"
-}
-
-// MakePosition returns position with the specified components.
-func MakePosition(file *string, line, col int32) Position { return Position{file, line, col} }
-
-// add returns the position at the end of s, assuming it starts at p.
-func (p Position) add(s string) Position {
- if n := strings.Count(s, "\n"); n > 0 {
- p.Line += int32(n)
- s = s[strings.LastIndex(s, "\n")+1:]
- p.Col = 1
- }
- p.Col += int32(utf8.RuneCountInString(s))
- return p
-}
-
-func (p Position) String() string {
- file := p.Filename()
- if p.Line > 0 {
- if p.Col > 0 {
- return fmt.Sprintf("%s:%d:%d", file, p.Line, p.Col)
- }
- return fmt.Sprintf("%s:%d", file, p.Line)
- }
- return file
-}
-
-func (p Position) isBefore(q Position) bool {
- if p.Line != q.Line {
- return p.Line < q.Line
- }
- return p.Col < q.Col
-}
-
-// An scanner represents a single input file being parsed.
-type scanner struct {
- rest []byte // rest of input (in REPL, a line of input)
- token []byte // token being scanned
- pos Position // current input position
- depth int // nesting of [ ] { } ( )
- indentstk []int // stack of indentation levels
- dents int // number of saved INDENT (>0) or OUTDENT (<0) tokens to return
- lineStart bool // after NEWLINE; convert spaces to indentation tokens
- keepComments bool // accumulate comments in slice
- lineComments []Comment // list of full line comments (if keepComments)
- suffixComments []Comment // list of suffix comments (if keepComments)
-
- readline func() ([]byte, error) // read next line of input (REPL only)
-}
-
-func newScanner(filename string, src interface{}, keepComments bool) (*scanner, error) {
- var firstLine, firstCol int32 = 1, 1
- if portion, ok := src.(FilePortion); ok {
- firstLine, firstCol = portion.FirstLine, portion.FirstCol
- }
- sc := &scanner{
- pos: MakePosition(&filename, firstLine, firstCol),
- indentstk: make([]int, 1, 10), // []int{0} + spare capacity
- lineStart: true,
- keepComments: keepComments,
- }
- sc.readline, _ = src.(func() ([]byte, error)) // ParseCompoundStmt (REPL) only
- if sc.readline == nil {
- data, err := readSource(filename, src)
- if err != nil {
- return nil, err
- }
- sc.rest = data
- }
- return sc, nil
-}
-
-func readSource(filename string, src interface{}) ([]byte, error) {
- switch src := src.(type) {
- case string:
- return []byte(src), nil
- case []byte:
- return src, nil
- case io.Reader:
- data, err := io.ReadAll(src)
- if err != nil {
- err = &os.PathError{Op: "read", Path: filename, Err: err}
- return nil, err
- }
- return data, nil
- case FilePortion:
- return src.Content, nil
- case nil:
- return os.ReadFile(filename)
- default:
- return nil, fmt.Errorf("invalid source: %T", src)
- }
-}
-
-// An Error describes the nature and position of a scanner or parser error.
-type Error struct {
- Pos Position
- Msg string
-}
-
-func (e Error) Error() string { return e.Pos.String() + ": " + e.Msg }
-
-// errorf is called to report an error.
-// errorf does not return: it panics.
-func (sc *scanner) error(pos Position, s string) {
- panic(Error{pos, s})
-}
-
-func (sc *scanner) errorf(pos Position, format string, args ...interface{}) {
- sc.error(pos, fmt.Sprintf(format, args...))
-}
-
-func (sc *scanner) recover(err *error) {
- // The scanner and parser panic both for routine errors like
- // syntax errors and for programmer bugs like array index
- // errors. Turn both into error returns. Catching bug panics
- // is especially important when processing many files.
- switch e := recover().(type) {
- case nil:
- // no panic
- case Error:
- *err = e
- default:
- *err = Error{sc.pos, fmt.Sprintf("internal error: %v", e)}
- if debug {
- log.Fatal(*err)
- }
- }
-}
-
-// eof reports whether the input has reached end of file.
-func (sc *scanner) eof() bool {
- return len(sc.rest) == 0 && !sc.readLine()
-}
-
-// readLine attempts to read another line of input.
-// Precondition: len(sc.rest)==0.
-func (sc *scanner) readLine() bool {
- if sc.readline != nil {
- var err error
- sc.rest, err = sc.readline()
- if err != nil {
- sc.errorf(sc.pos, "%v", err) // EOF or ErrInterrupt
- }
- return len(sc.rest) > 0
- }
- return false
-}
-
-// peekRune returns the next rune in the input without consuming it.
-// Newlines in Unix, DOS, or Mac format are treated as one rune, '\n'.
-func (sc *scanner) peekRune() rune {
- // TODO(adonovan): opt: measure and perhaps inline eof.
- if sc.eof() {
- return 0
- }
-
- // fast path: ASCII
- if b := sc.rest[0]; b < utf8.RuneSelf {
- if b == '\r' {
- return '\n'
- }
- return rune(b)
- }
-
- r, _ := utf8.DecodeRune(sc.rest)
- return r
-}
-
-// readRune consumes and returns the next rune in the input.
-// Newlines in Unix, DOS, or Mac format are treated as one rune, '\n'.
-func (sc *scanner) readRune() rune {
- // eof() has been inlined here, both to avoid a call
- // and to establish len(rest)>0 to avoid a bounds check.
- if len(sc.rest) == 0 {
- if !sc.readLine() {
- sc.error(sc.pos, "internal scanner error: readRune at EOF")
- }
- // Redundant, but eliminates the bounds-check below.
- if len(sc.rest) == 0 {
- return 0
- }
- }
-
- // fast path: ASCII
- if b := sc.rest[0]; b < utf8.RuneSelf {
- r := rune(b)
- sc.rest = sc.rest[1:]
- if r == '\r' {
- if len(sc.rest) > 0 && sc.rest[0] == '\n' {
- sc.rest = sc.rest[1:]
- }
- r = '\n'
- }
- if r == '\n' {
- sc.pos.Line++
- sc.pos.Col = 1
- } else {
- sc.pos.Col++
- }
- return r
- }
-
- r, size := utf8.DecodeRune(sc.rest)
- sc.rest = sc.rest[size:]
- sc.pos.Col++
- return r
-}
-
-// tokenValue records the position and value associated with each token.
-type tokenValue struct {
- raw string // raw text of token
- int int64 // decoded int
- bigInt *big.Int // decoded integers > int64
- float float64 // decoded float
- string string // decoded string or bytes
- pos Position // start position of token
-}
-
-// startToken marks the beginning of the next input token.
-// It must be followed by a call to endToken once the token has
-// been consumed using readRune.
-func (sc *scanner) startToken(val *tokenValue) {
- sc.token = sc.rest
- val.raw = ""
- val.pos = sc.pos
-}
-
-// endToken marks the end of an input token.
-// It records the actual token string in val.raw if the caller
-// has not done that already.
-func (sc *scanner) endToken(val *tokenValue) {
- if val.raw == "" {
- val.raw = string(sc.token[:len(sc.token)-len(sc.rest)])
- }
-}
-
-// nextToken is called by the parser to obtain the next input token.
-// It returns the token value and sets val to the data associated with
-// the token.
-//
-// For all our input tokens, the associated data is val.pos (the
-// position where the token begins), val.raw (the input string
-// corresponding to the token). For string and int tokens, the string
-// and int fields additionally contain the token's interpreted value.
-func (sc *scanner) nextToken(val *tokenValue) Token {
-
- // The following distribution of tokens guides case ordering:
- //
- // COMMA 27 %
- // STRING 23 %
- // IDENT 15 %
- // EQL 11 %
- // LBRACK 5.5 %
- // RBRACK 5.5 %
- // NEWLINE 3 %
- // LPAREN 2.9 %
- // RPAREN 2.9 %
- // INT 2 %
- // others < 1 %
- //
- // Although NEWLINE tokens are infrequent, and lineStart is
- // usually (~97%) false on entry, skipped newlines account for
- // about 50% of all iterations of the 'start' loop.
-
-start:
- var c rune
-
- // Deal with leading spaces and indentation.
- blank := false
- savedLineStart := sc.lineStart
- if sc.lineStart {
- sc.lineStart = false
- col := 0
- for {
- c = sc.peekRune()
- if c == ' ' {
- col++
- sc.readRune()
- } else if c == '\t' {
- const tab = 8
- col += int(tab - (sc.pos.Col-1)%tab)
- sc.readRune()
- } else {
- break
- }
- }
-
- // The third clause matches EOF.
- if c == '#' || c == '\n' || c == 0 {
- blank = true
- }
-
- // Compute indentation level for non-blank lines not
- // inside an expression. This is not the common case.
- if !blank && sc.depth == 0 {
- cur := sc.indentstk[len(sc.indentstk)-1]
- if col > cur {
- // indent
- sc.dents++
- sc.indentstk = append(sc.indentstk, col)
- } else if col < cur {
- // outdent(s)
- for len(sc.indentstk) > 0 && col < sc.indentstk[len(sc.indentstk)-1] {
- sc.dents--
- sc.indentstk = sc.indentstk[:len(sc.indentstk)-1] // pop
- }
- if col != sc.indentstk[len(sc.indentstk)-1] {
- sc.error(sc.pos, "unindent does not match any outer indentation level")
- }
- }
- }
- }
-
- // Return saved indentation tokens.
- if sc.dents != 0 {
- sc.startToken(val)
- sc.endToken(val)
- if sc.dents < 0 {
- sc.dents++
- return OUTDENT
- } else {
- sc.dents--
- return INDENT
- }
- }
-
- // start of line proper
- c = sc.peekRune()
-
- // Skip spaces.
- for c == ' ' || c == '\t' {
- sc.readRune()
- c = sc.peekRune()
- }
-
- // comment
- if c == '#' {
- if sc.keepComments {
- sc.startToken(val)
- }
- // Consume up to newline (included).
- for c != 0 && c != '\n' {
- sc.readRune()
- c = sc.peekRune()
- }
- if sc.keepComments {
- sc.endToken(val)
- if blank {
- sc.lineComments = append(sc.lineComments, Comment{val.pos, val.raw})
- } else {
- sc.suffixComments = append(sc.suffixComments, Comment{val.pos, val.raw})
- }
- }
- }
-
- // newline
- if c == '\n' {
- sc.lineStart = true
-
- // Ignore newlines within expressions (common case).
- if sc.depth > 0 {
- sc.readRune()
- goto start
- }
-
- // Ignore blank lines, except in the REPL,
- // where they emit OUTDENTs and NEWLINE.
- if blank {
- if sc.readline == nil {
- sc.readRune()
- goto start
- } else if len(sc.indentstk) > 1 {
- sc.dents = 1 - len(sc.indentstk)
- sc.indentstk = sc.indentstk[:1]
- goto start
- }
- }
-
- // At top-level (not in an expression).
- sc.startToken(val)
- sc.readRune()
- val.raw = "\n"
- return NEWLINE
- }
-
- // end of file
- if c == 0 {
- // Emit OUTDENTs for unfinished indentation,
- // preceded by a NEWLINE if we haven't just emitted one.
- if len(sc.indentstk) > 1 {
- if savedLineStart {
- sc.dents = 1 - len(sc.indentstk)
- sc.indentstk = sc.indentstk[:1]
- goto start
- } else {
- sc.lineStart = true
- sc.startToken(val)
- val.raw = "\n"
- return NEWLINE
- }
- }
-
- sc.startToken(val)
- sc.endToken(val)
- return EOF
- }
-
- // line continuation
- if c == '\\' {
- sc.readRune()
- if sc.peekRune() != '\n' {
- sc.errorf(sc.pos, "stray backslash in program")
- }
- sc.readRune()
- goto start
- }
-
- // start of the next token
- sc.startToken(val)
-
- // comma (common case)
- if c == ',' {
- sc.readRune()
- sc.endToken(val)
- return COMMA
- }
-
- // string literal
- if c == '"' || c == '\'' {
- return sc.scanString(val, c)
- }
-
- // identifier or keyword
- if isIdentStart(c) {
- if (c == 'r' || c == 'b') && len(sc.rest) > 1 && (sc.rest[1] == '"' || sc.rest[1] == '\'') {
- // r"..."
- // b"..."
- sc.readRune()
- c = sc.peekRune()
- return sc.scanString(val, c)
- } else if c == 'r' && len(sc.rest) > 2 && sc.rest[1] == 'b' && (sc.rest[2] == '"' || sc.rest[2] == '\'') {
- // rb"..."
- sc.readRune()
- sc.readRune()
- c = sc.peekRune()
- return sc.scanString(val, c)
- }
-
- for isIdent(c) {
- sc.readRune()
- c = sc.peekRune()
- }
- sc.endToken(val)
- if k, ok := keywordToken[val.raw]; ok {
- return k
- }
-
- return IDENT
- }
-
- // brackets
- switch c {
- case '[', '(', '{':
- sc.depth++
- sc.readRune()
- sc.endToken(val)
- switch c {
- case '[':
- return LBRACK
- case '(':
- return LPAREN
- case '{':
- return LBRACE
- }
- panic("unreachable")
-
- case ']', ')', '}':
- if sc.depth == 0 {
- sc.errorf(sc.pos, "unexpected %q", c)
- } else {
- sc.depth--
- }
- sc.readRune()
- sc.endToken(val)
- switch c {
- case ']':
- return RBRACK
- case ')':
- return RPAREN
- case '}':
- return RBRACE
- }
- panic("unreachable")
- }
-
- // int or float literal, or period
- if isdigit(c) || c == '.' {
- return sc.scanNumber(val, c)
- }
-
- // other punctuation
- defer sc.endToken(val)
- switch c {
- case '=', '<', '>', '!', '+', '-', '%', '/', '&', '|', '^': // possibly followed by '='
- start := sc.pos
- sc.readRune()
- if sc.peekRune() == '=' {
- sc.readRune()
- switch c {
- case '<':
- return LE
- case '>':
- return GE
- case '=':
- return EQL
- case '!':
- return NEQ
- case '+':
- return PLUS_EQ
- case '-':
- return MINUS_EQ
- case '/':
- return SLASH_EQ
- case '%':
- return PERCENT_EQ
- case '&':
- return AMP_EQ
- case '|':
- return PIPE_EQ
- case '^':
- return CIRCUMFLEX_EQ
- }
- }
- switch c {
- case '=':
- return EQ
- case '<':
- if sc.peekRune() == '<' {
- sc.readRune()
- if sc.peekRune() == '=' {
- sc.readRune()
- return LTLT_EQ
- } else {
- return LTLT
- }
- }
- return LT
- case '>':
- if sc.peekRune() == '>' {
- sc.readRune()
- if sc.peekRune() == '=' {
- sc.readRune()
- return GTGT_EQ
- } else {
- return GTGT
- }
- }
- return GT
- case '!':
- sc.error(start, "unexpected input character '!'")
- case '+':
- return PLUS
- case '-':
- return MINUS
- case '/':
- if sc.peekRune() == '/' {
- sc.readRune()
- if sc.peekRune() == '=' {
- sc.readRune()
- return SLASHSLASH_EQ
- } else {
- return SLASHSLASH
- }
- }
- return SLASH
- case '%':
- return PERCENT
- case '&':
- return AMP
- case '|':
- return PIPE
- case '^':
- return CIRCUMFLEX
- }
- panic("unreachable")
-
- case ':', ';', '~': // single-char tokens (except comma)
- sc.readRune()
- switch c {
- case ':':
- return COLON
- case ';':
- return SEMI
- case '~':
- return TILDE
- }
- panic("unreachable")
-
- case '*': // possibly followed by '*' or '='
- sc.readRune()
- switch sc.peekRune() {
- case '*':
- sc.readRune()
- return STARSTAR
- case '=':
- sc.readRune()
- return STAR_EQ
- }
- return STAR
- }
-
- sc.errorf(sc.pos, "unexpected input character %#q", c)
- panic("unreachable")
-}
-
-func (sc *scanner) scanString(val *tokenValue, quote rune) Token {
- start := sc.pos
- triple := len(sc.rest) >= 3 && sc.rest[0] == byte(quote) && sc.rest[1] == byte(quote) && sc.rest[2] == byte(quote)
- sc.readRune()
-
- // String literals may contain escaped or unescaped newlines,
- // causing them to span multiple lines (gulps) of REPL input;
- // they are the only such token. Thus we cannot call endToken,
- // as it assumes sc.rest is unchanged since startToken.
- // Instead, buffer the token here.
- // TODO(adonovan): opt: buffer only if we encounter a newline.
- raw := new(strings.Builder)
-
- // Copy the prefix, e.g. r' or " (see startToken).
- raw.Write(sc.token[:len(sc.token)-len(sc.rest)])
-
- if !triple {
- // single-quoted string literal
- for {
- if sc.eof() {
- sc.error(val.pos, "unexpected EOF in string")
- }
- c := sc.readRune()
- raw.WriteRune(c)
- if c == quote {
- break
- }
- if c == '\n' {
- sc.error(val.pos, "unexpected newline in string")
- }
- if c == '\\' {
- if sc.eof() {
- sc.error(val.pos, "unexpected EOF in string")
- }
- c = sc.readRune()
- raw.WriteRune(c)
- }
- }
- } else {
- // triple-quoted string literal
- sc.readRune()
- raw.WriteRune(quote)
- sc.readRune()
- raw.WriteRune(quote)
-
- quoteCount := 0
- for {
- if sc.eof() {
- sc.error(val.pos, "unexpected EOF in string")
- }
- c := sc.readRune()
- raw.WriteRune(c)
- if c == quote {
- quoteCount++
- if quoteCount == 3 {
- break
- }
- } else {
- quoteCount = 0
- }
- if c == '\\' {
- if sc.eof() {
- sc.error(val.pos, "unexpected EOF in string")
- }
- c = sc.readRune()
- raw.WriteRune(c)
- }
- }
- }
- val.raw = raw.String()
-
- s, _, isByte, err := unquote(val.raw)
- if err != nil {
- sc.error(start, err.Error())
- }
- val.string = s
- if isByte {
- return BYTES
- } else {
- return STRING
- }
-}
-
-func (sc *scanner) scanNumber(val *tokenValue, c rune) Token {
- // https://github.com/google/starlark-go/blob/master/doc/spec.md#lexical-elements
- //
- // Python features not supported:
- // - integer literals of >64 bits of precision
- // - 123L or 123l long suffix
- // - traditional octal: 0755
- // https://docs.python.org/2/reference/lexical_analysis.html#integer-and-long-integer-literals
-
- start := sc.pos
- fraction, exponent := false, false
-
- if c == '.' {
- // dot or start of fraction
- sc.readRune()
- c = sc.peekRune()
- if !isdigit(c) {
- sc.endToken(val)
- return DOT
- }
- fraction = true
- } else if c == '0' {
- // hex, octal, binary or float
- sc.readRune()
- c = sc.peekRune()
-
- if c == '.' {
- fraction = true
- } else if c == 'x' || c == 'X' {
- // hex
- sc.readRune()
- c = sc.peekRune()
- if !isxdigit(c) {
- sc.error(start, "invalid hex literal")
- }
- for isxdigit(c) {
- sc.readRune()
- c = sc.peekRune()
- }
- } else if c == 'o' || c == 'O' {
- // octal
- sc.readRune()
- c = sc.peekRune()
- if !isodigit(c) {
- sc.error(sc.pos, "invalid octal literal")
- }
- for isodigit(c) {
- sc.readRune()
- c = sc.peekRune()
- }
- } else if c == 'b' || c == 'B' {
- // binary
- sc.readRune()
- c = sc.peekRune()
- if !isbdigit(c) {
- sc.error(sc.pos, "invalid binary literal")
- }
- for isbdigit(c) {
- sc.readRune()
- c = sc.peekRune()
- }
- } else {
- // float (or obsolete octal "0755")
- allzeros, octal := true, true
- for isdigit(c) {
- if c != '0' {
- allzeros = false
- }
- if c > '7' {
- octal = false
- }
- sc.readRune()
- c = sc.peekRune()
- }
- if c == '.' {
- fraction = true
- } else if c == 'e' || c == 'E' {
- exponent = true
- } else if octal && !allzeros {
- sc.endToken(val)
- sc.errorf(sc.pos, "obsolete form of octal literal; use 0o%s", val.raw[1:])
- }
- }
- } else {
- // decimal
- for isdigit(c) {
- sc.readRune()
- c = sc.peekRune()
- }
-
- if c == '.' {
- fraction = true
- } else if c == 'e' || c == 'E' {
- exponent = true
- }
- }
-
- if fraction {
- sc.readRune() // consume '.'
- c = sc.peekRune()
- for isdigit(c) {
- sc.readRune()
- c = sc.peekRune()
- }
-
- if c == 'e' || c == 'E' {
- exponent = true
- }
- }
-
- if exponent {
- sc.readRune() // consume [eE]
- c = sc.peekRune()
- if c == '+' || c == '-' {
- sc.readRune()
- c = sc.peekRune()
- if !isdigit(c) {
- sc.error(sc.pos, "invalid float literal")
- }
- }
- for isdigit(c) {
- sc.readRune()
- c = sc.peekRune()
- }
- }
-
- sc.endToken(val)
- if fraction || exponent {
- var err error
- val.float, err = strconv.ParseFloat(val.raw, 64)
- if err != nil {
- sc.error(sc.pos, "invalid float literal")
- }
- return FLOAT
- } else {
- var err error
- s := val.raw
- val.bigInt = nil
- if len(s) > 2 && s[0] == '0' && (s[1] == 'o' || s[1] == 'O') {
- val.int, err = strconv.ParseInt(s[2:], 8, 64)
- } else if len(s) > 2 && s[0] == '0' && (s[1] == 'b' || s[1] == 'B') {
- val.int, err = strconv.ParseInt(s[2:], 2, 64)
- } else {
- val.int, err = strconv.ParseInt(s, 0, 64)
- if err != nil {
- num := new(big.Int)
- var ok bool
- val.bigInt, ok = num.SetString(s, 0)
- if ok {
- err = nil
- }
- }
- }
- if err != nil {
- sc.error(start, "invalid int literal")
- }
- return INT
- }
-}
-
-// isIdent reports whether c is an identifier rune.
-func isIdent(c rune) bool {
- return isdigit(c) || isIdentStart(c)
-}
-
-func isIdentStart(c rune) bool {
- return 'a' <= c && c <= 'z' ||
- 'A' <= c && c <= 'Z' ||
- c == '_' ||
- unicode.IsLetter(c)
-}
-
-func isdigit(c rune) bool { return '0' <= c && c <= '9' }
-func isodigit(c rune) bool { return '0' <= c && c <= '7' }
-func isxdigit(c rune) bool { return isdigit(c) || 'A' <= c && c <= 'F' || 'a' <= c && c <= 'f' }
-func isbdigit(c rune) bool { return '0' == c || c == '1' }
-
-// keywordToken records the special tokens for
-// strings that should not be treated as ordinary identifiers.
-var keywordToken = map[string]Token{
- "and": AND,
- "break": BREAK,
- "continue": CONTINUE,
- "def": DEF,
- "elif": ELIF,
- "else": ELSE,
- "for": FOR,
- "if": IF,
- "in": IN,
- "lambda": LAMBDA,
- "load": LOAD,
- "not": NOT,
- "or": OR,
- "pass": PASS,
- "return": RETURN,
- "while": WHILE,
-
- // reserved words:
- "as": ILLEGAL,
- // "assert": ILLEGAL, // heavily used by our tests
- "async": ILLEGAL,
- "await": ILLEGAL,
- "class": ILLEGAL,
- "del": ILLEGAL,
- "except": ILLEGAL,
- "finally": ILLEGAL,
- "from": ILLEGAL,
- "global": ILLEGAL,
- "import": ILLEGAL,
- "is": ILLEGAL,
- "nonlocal": ILLEGAL,
- "raise": ILLEGAL,
- "try": ILLEGAL,
- "with": ILLEGAL,
- "yield": ILLEGAL,
-}
diff --git a/vendor/go.starlark.net/syntax/syntax.go b/vendor/go.starlark.net/syntax/syntax.go
deleted file mode 100644
index 5bfbcec3..00000000
--- a/vendor/go.starlark.net/syntax/syntax.go
+++ /dev/null
@@ -1,529 +0,0 @@
-// Copyright 2017 The Bazel Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-// Package syntax provides a Starlark parser and abstract syntax tree.
-package syntax // import "go.starlark.net/syntax"
-
-// A Node is a node in a Starlark syntax tree.
-type Node interface {
- // Span returns the start and end position of the expression.
- Span() (start, end Position)
-
- // Comments returns the comments associated with this node.
- // It returns nil if RetainComments was not specified during parsing,
- // or if AllocComments was not called.
- Comments() *Comments
-
- // AllocComments allocates a new Comments node if there was none.
- // This makes possible to add new comments using Comments() method.
- AllocComments()
-}
-
-// A Comment represents a single # comment.
-type Comment struct {
- Start Position
- Text string // without trailing newline
-}
-
-// Comments collects the comments associated with an expression.
-type Comments struct {
- Before []Comment // whole-line comments before this expression
- Suffix []Comment // end-of-line comments after this expression (up to 1)
-
- // For top-level expressions only, After lists whole-line
- // comments following the expression.
- After []Comment
-}
-
-// A commentsRef is a possibly-nil reference to a set of comments.
-// A commentsRef is embedded in each type of syntax node,
-// and provides its Comments and AllocComments methods.
-type commentsRef struct{ ref *Comments }
-
-// Comments returns the comments associated with a syntax node,
-// or nil if AllocComments has not yet been called.
-func (cr commentsRef) Comments() *Comments { return cr.ref }
-
-// AllocComments enables comments to be associated with a syntax node.
-func (cr *commentsRef) AllocComments() {
- if cr.ref == nil {
- cr.ref = new(Comments)
- }
-}
-
-// Start returns the start position of the expression.
-func Start(n Node) Position {
- start, _ := n.Span()
- return start
-}
-
-// End returns the end position of the expression.
-func End(n Node) Position {
- _, end := n.Span()
- return end
-}
-
-// A File represents a Starlark file.
-type File struct {
- commentsRef
- Path string
- Stmts []Stmt
-
- Module interface{} // a *resolve.Module, set by resolver
- Options *FileOptions
-}
-
-func (x *File) Span() (start, end Position) {
- if len(x.Stmts) == 0 {
- return
- }
- start, _ = x.Stmts[0].Span()
- _, end = x.Stmts[len(x.Stmts)-1].Span()
- return start, end
-}
-
-// A Stmt is a Starlark statement.
-type Stmt interface {
- Node
- stmt()
-}
-
-func (*AssignStmt) stmt() {}
-func (*BranchStmt) stmt() {}
-func (*DefStmt) stmt() {}
-func (*ExprStmt) stmt() {}
-func (*ForStmt) stmt() {}
-func (*WhileStmt) stmt() {}
-func (*IfStmt) stmt() {}
-func (*LoadStmt) stmt() {}
-func (*ReturnStmt) stmt() {}
-
-// An AssignStmt represents an assignment:
-//
-// x = 0
-// x, y = y, x
-// x += 1
-type AssignStmt struct {
- commentsRef
- OpPos Position
- Op Token // = EQ | {PLUS,MINUS,STAR,PERCENT}_EQ
- LHS Expr
- RHS Expr
-}
-
-func (x *AssignStmt) Span() (start, end Position) {
- start, _ = x.LHS.Span()
- _, end = x.RHS.Span()
- return
-}
-
-// A DefStmt represents a function definition.
-type DefStmt struct {
- commentsRef
- Def Position
- Name *Ident
- Lparen Position
- Params []Expr // param = ident | ident=expr | * | *ident | **ident
- Rparen Position
- Body []Stmt
-
- Function interface{} // a *resolve.Function, set by resolver
-}
-
-func (x *DefStmt) Span() (start, end Position) {
- _, end = x.Body[len(x.Body)-1].Span()
- return x.Def, end
-}
-
-// An ExprStmt is an expression evaluated for side effects.
-type ExprStmt struct {
- commentsRef
- X Expr
-}
-
-func (x *ExprStmt) Span() (start, end Position) {
- return x.X.Span()
-}
-
-// An IfStmt is a conditional: If Cond: True; else: False.
-// 'elseif' is desugared into a chain of IfStmts.
-type IfStmt struct {
- commentsRef
- If Position // IF or ELIF
- Cond Expr
- True []Stmt
- ElsePos Position // ELSE or ELIF
- False []Stmt // optional
-}
-
-func (x *IfStmt) Span() (start, end Position) {
- body := x.False
- if body == nil {
- body = x.True
- }
- _, end = body[len(body)-1].Span()
- return x.If, end
-}
-
-// A LoadStmt loads another module and binds names from it:
-// load(Module, "x", y="foo").
-//
-// The AST is slightly unfaithful to the concrete syntax here because
-// Starlark's load statement, so that it can be implemented in Python,
-// binds some names (like y above) with an identifier and some (like x)
-// without. For consistency we create fake identifiers for all the
-// strings.
-type LoadStmt struct {
- commentsRef
- Load Position
- Module *Literal // a string
- From []*Ident // name defined in loading module
- To []*Ident // name in loaded module
- Rparen Position
-}
-
-func (x *LoadStmt) Span() (start, end Position) {
- return x.Load, x.Rparen
-}
-
-// ModuleName returns the name of the module loaded by this statement.
-func (x *LoadStmt) ModuleName() string { return x.Module.Value.(string) }
-
-// A BranchStmt changes the flow of control: break, continue, pass.
-type BranchStmt struct {
- commentsRef
- Token Token // = BREAK | CONTINUE | PASS
- TokenPos Position
-}
-
-func (x *BranchStmt) Span() (start, end Position) {
- return x.TokenPos, x.TokenPos.add(x.Token.String())
-}
-
-// A ReturnStmt returns from a function.
-type ReturnStmt struct {
- commentsRef
- Return Position
- Result Expr // may be nil
-}
-
-func (x *ReturnStmt) Span() (start, end Position) {
- if x.Result == nil {
- return x.Return, x.Return.add("return")
- }
- _, end = x.Result.Span()
- return x.Return, end
-}
-
-// An Expr is a Starlark expression.
-type Expr interface {
- Node
- expr()
-}
-
-func (*BinaryExpr) expr() {}
-func (*CallExpr) expr() {}
-func (*Comprehension) expr() {}
-func (*CondExpr) expr() {}
-func (*DictEntry) expr() {}
-func (*DictExpr) expr() {}
-func (*DotExpr) expr() {}
-func (*Ident) expr() {}
-func (*IndexExpr) expr() {}
-func (*LambdaExpr) expr() {}
-func (*ListExpr) expr() {}
-func (*Literal) expr() {}
-func (*ParenExpr) expr() {}
-func (*SliceExpr) expr() {}
-func (*TupleExpr) expr() {}
-func (*UnaryExpr) expr() {}
-
-// An Ident represents an identifier.
-type Ident struct {
- commentsRef
- NamePos Position
- Name string
-
- Binding interface{} // a *resolver.Binding, set by resolver
-}
-
-func (x *Ident) Span() (start, end Position) {
- return x.NamePos, x.NamePos.add(x.Name)
-}
-
-// A Literal represents a literal string or number.
-type Literal struct {
- commentsRef
- Token Token // = STRING | BYTES | INT | FLOAT
- TokenPos Position
- Raw string // uninterpreted text
- Value interface{} // = string | int64 | *big.Int | float64
-}
-
-func (x *Literal) Span() (start, end Position) {
- return x.TokenPos, x.TokenPos.add(x.Raw)
-}
-
-// A ParenExpr represents a parenthesized expression: (X).
-type ParenExpr struct {
- commentsRef
- Lparen Position
- X Expr
- Rparen Position
-}
-
-func (x *ParenExpr) Span() (start, end Position) {
- return x.Lparen, x.Rparen.add(")")
-}
-
-// A CallExpr represents a function call expression: Fn(Args).
-type CallExpr struct {
- commentsRef
- Fn Expr
- Lparen Position
- Args []Expr // arg = expr | ident=expr | *expr | **expr
- Rparen Position
-}
-
-func (x *CallExpr) Span() (start, end Position) {
- start, _ = x.Fn.Span()
- return start, x.Rparen.add(")")
-}
-
-// A DotExpr represents a field or method selector: X.Name.
-type DotExpr struct {
- commentsRef
- X Expr
- Dot Position
- NamePos Position
- Name *Ident
-}
-
-func (x *DotExpr) Span() (start, end Position) {
- start, _ = x.X.Span()
- _, end = x.Name.Span()
- return
-}
-
-// A Comprehension represents a list or dict comprehension:
-// [Body for ... if ...] or {Body for ... if ...}
-type Comprehension struct {
- commentsRef
- Curly bool // {x:y for ...} or {x for ...}, not [x for ...]
- Lbrack Position
- Body Expr
- Clauses []Node // = *ForClause | *IfClause
- Rbrack Position
-}
-
-func (x *Comprehension) Span() (start, end Position) {
- return x.Lbrack, x.Rbrack.add("]")
-}
-
-// A ForStmt represents a loop: for Vars in X: Body.
-type ForStmt struct {
- commentsRef
- For Position
- Vars Expr // name, or tuple of names
- X Expr
- Body []Stmt
-}
-
-func (x *ForStmt) Span() (start, end Position) {
- _, end = x.Body[len(x.Body)-1].Span()
- return x.For, end
-}
-
-// A WhileStmt represents a while loop: while X: Body.
-type WhileStmt struct {
- commentsRef
- While Position
- Cond Expr
- Body []Stmt
-}
-
-func (x *WhileStmt) Span() (start, end Position) {
- _, end = x.Body[len(x.Body)-1].Span()
- return x.While, end
-}
-
-// A ForClause represents a for clause in a list comprehension: for Vars in X.
-type ForClause struct {
- commentsRef
- For Position
- Vars Expr // name, or tuple of names
- In Position
- X Expr
-}
-
-func (x *ForClause) Span() (start, end Position) {
- _, end = x.X.Span()
- return x.For, end
-}
-
-// An IfClause represents an if clause in a list comprehension: if Cond.
-type IfClause struct {
- commentsRef
- If Position
- Cond Expr
-}
-
-func (x *IfClause) Span() (start, end Position) {
- _, end = x.Cond.Span()
- return x.If, end
-}
-
-// A DictExpr represents a dictionary literal: { List }.
-type DictExpr struct {
- commentsRef
- Lbrace Position
- List []Expr // all *DictEntrys
- Rbrace Position
-}
-
-func (x *DictExpr) Span() (start, end Position) {
- return x.Lbrace, x.Rbrace.add("}")
-}
-
-// A DictEntry represents a dictionary entry: Key: Value.
-// Used only within a DictExpr.
-type DictEntry struct {
- commentsRef
- Key Expr
- Colon Position
- Value Expr
-}
-
-func (x *DictEntry) Span() (start, end Position) {
- start, _ = x.Key.Span()
- _, end = x.Value.Span()
- return start, end
-}
-
-// A LambdaExpr represents an inline function abstraction.
-type LambdaExpr struct {
- commentsRef
- Lambda Position
- Params []Expr // param = ident | ident=expr | * | *ident | **ident
- Body Expr
-
- Function interface{} // a *resolve.Function, set by resolver
-}
-
-func (x *LambdaExpr) Span() (start, end Position) {
- _, end = x.Body.Span()
- return x.Lambda, end
-}
-
-// A ListExpr represents a list literal: [ List ].
-type ListExpr struct {
- commentsRef
- Lbrack Position
- List []Expr
- Rbrack Position
-}
-
-func (x *ListExpr) Span() (start, end Position) {
- return x.Lbrack, x.Rbrack.add("]")
-}
-
-// CondExpr represents the conditional: X if COND else ELSE.
-type CondExpr struct {
- commentsRef
- If Position
- Cond Expr
- True Expr
- ElsePos Position
- False Expr
-}
-
-func (x *CondExpr) Span() (start, end Position) {
- start, _ = x.True.Span()
- _, end = x.False.Span()
- return start, end
-}
-
-// A TupleExpr represents a tuple literal: (List).
-type TupleExpr struct {
- commentsRef
- Lparen Position // optional (e.g. in x, y = 0, 1), but required if List is empty
- List []Expr
- Rparen Position
-}
-
-func (x *TupleExpr) Span() (start, end Position) {
- if x.Lparen.IsValid() {
- return x.Lparen, x.Rparen
- } else {
- return Start(x.List[0]), End(x.List[len(x.List)-1])
- }
-}
-
-// A UnaryExpr represents a unary expression: Op X.
-//
-// As a special case, UnaryOp{Op:Star} may also represent
-// the star parameter in def f(*args) or def f(*, x).
-type UnaryExpr struct {
- commentsRef
- OpPos Position
- Op Token
- X Expr // may be nil if Op==STAR
-}
-
-func (x *UnaryExpr) Span() (start, end Position) {
- if x.X != nil {
- _, end = x.X.Span()
- } else {
- end = x.OpPos.add("*")
- }
- return x.OpPos, end
-}
-
-// A BinaryExpr represents a binary expression: X Op Y.
-//
-// As a special case, BinaryExpr{Op:EQ} may also
-// represent a named argument in a call f(k=v)
-// or a named parameter in a function declaration
-// def f(param=default).
-type BinaryExpr struct {
- commentsRef
- X Expr
- OpPos Position
- Op Token
- Y Expr
-}
-
-func (x *BinaryExpr) Span() (start, end Position) {
- start, _ = x.X.Span()
- _, end = x.Y.Span()
- return start, end
-}
-
-// A SliceExpr represents a slice or substring expression: X[Lo:Hi:Step].
-type SliceExpr struct {
- commentsRef
- X Expr
- Lbrack Position
- Lo, Hi, Step Expr // all optional
- Rbrack Position
-}
-
-func (x *SliceExpr) Span() (start, end Position) {
- start, _ = x.X.Span()
- return start, x.Rbrack
-}
-
-// An IndexExpr represents an index expression: X[Y].
-type IndexExpr struct {
- commentsRef
- X Expr
- Lbrack Position
- Y Expr
- Rbrack Position
-}
-
-func (x *IndexExpr) Span() (start, end Position) {
- start, _ = x.X.Span()
- return start, x.Rbrack
-}
diff --git a/vendor/go.starlark.net/syntax/walk.go b/vendor/go.starlark.net/syntax/walk.go
deleted file mode 100644
index 5e6c805c..00000000
--- a/vendor/go.starlark.net/syntax/walk.go
+++ /dev/null
@@ -1,161 +0,0 @@
-// Copyright 2017 The Bazel Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package syntax
-
-// Walk traverses a syntax tree in depth-first order.
-// It starts by calling f(n); n must not be nil.
-// If f returns true, Walk calls itself
-// recursively for each non-nil child of n.
-// Walk then calls f(nil).
-func Walk(n Node, f func(Node) bool) {
- if n == nil {
- panic("nil")
- }
- if !f(n) {
- return
- }
-
- // TODO(adonovan): opt: order cases using profile data.
- switch n := n.(type) {
- case *File:
- walkStmts(n.Stmts, f)
-
- case *ExprStmt:
- Walk(n.X, f)
-
- case *BranchStmt:
- // no-op
-
- case *IfStmt:
- Walk(n.Cond, f)
- walkStmts(n.True, f)
- walkStmts(n.False, f)
-
- case *AssignStmt:
- Walk(n.LHS, f)
- Walk(n.RHS, f)
-
- case *DefStmt:
- Walk(n.Name, f)
- for _, param := range n.Params {
- Walk(param, f)
- }
- walkStmts(n.Body, f)
-
- case *ForStmt:
- Walk(n.Vars, f)
- Walk(n.X, f)
- walkStmts(n.Body, f)
-
- case *ReturnStmt:
- if n.Result != nil {
- Walk(n.Result, f)
- }
-
- case *LoadStmt:
- Walk(n.Module, f)
- for _, from := range n.From {
- Walk(from, f)
- }
- for _, to := range n.To {
- Walk(to, f)
- }
-
- case *Ident, *Literal:
- // no-op
-
- case *ListExpr:
- for _, x := range n.List {
- Walk(x, f)
- }
-
- case *ParenExpr:
- Walk(n.X, f)
-
- case *CondExpr:
- Walk(n.Cond, f)
- Walk(n.True, f)
- Walk(n.False, f)
-
- case *IndexExpr:
- Walk(n.X, f)
- Walk(n.Y, f)
-
- case *DictEntry:
- Walk(n.Key, f)
- Walk(n.Value, f)
-
- case *SliceExpr:
- Walk(n.X, f)
- if n.Lo != nil {
- Walk(n.Lo, f)
- }
- if n.Hi != nil {
- Walk(n.Hi, f)
- }
- if n.Step != nil {
- Walk(n.Step, f)
- }
-
- case *Comprehension:
- Walk(n.Body, f)
- for _, clause := range n.Clauses {
- Walk(clause, f)
- }
-
- case *IfClause:
- Walk(n.Cond, f)
-
- case *ForClause:
- Walk(n.Vars, f)
- Walk(n.X, f)
-
- case *TupleExpr:
- for _, x := range n.List {
- Walk(x, f)
- }
-
- case *DictExpr:
- for _, entry := range n.List {
- Walk(entry, f)
- }
-
- case *UnaryExpr:
- if n.X != nil {
- Walk(n.X, f)
- }
-
- case *BinaryExpr:
- Walk(n.X, f)
- Walk(n.Y, f)
-
- case *DotExpr:
- Walk(n.X, f)
- Walk(n.Name, f)
-
- case *CallExpr:
- Walk(n.Fn, f)
- for _, arg := range n.Args {
- Walk(arg, f)
- }
-
- case *LambdaExpr:
- for _, param := range n.Params {
- Walk(param, f)
- }
- Walk(n.Body, f)
-
- default:
- panic(n)
- }
-
- f(nil)
-}
-
-func walkStmts(stmts []Stmt, f func(Node) bool) {
- for _, stmt := range stmts {
- Walk(stmt, f)
- }
-}
diff --git a/vendor/go.uber.org/zap/.golangci.yml b/vendor/go.uber.org/zap/.golangci.yml
index fbc6df79..2346df13 100644
--- a/vendor/go.uber.org/zap/.golangci.yml
+++ b/vendor/go.uber.org/zap/.golangci.yml
@@ -17,7 +17,7 @@ linters:
- unused
# Our own extras:
- - gofmt
+ - gofumpt
- nolintlint # lints nolint directives
- revive
diff --git a/vendor/go.uber.org/zap/.readme.tmpl b/vendor/go.uber.org/zap/.readme.tmpl
index 92aa65d6..4fea3027 100644
--- a/vendor/go.uber.org/zap/.readme.tmpl
+++ b/vendor/go.uber.org/zap/.readme.tmpl
@@ -1,7 +1,15 @@
# :zap: zap [![GoDoc][doc-img]][doc] [![Build Status][ci-img]][ci] [![Coverage Status][cov-img]][cov]
+
+
Blazing fast, structured, leveled logging in Go.
+![Zap logo](assets/logo.png)
+
+[![GoDoc][doc-img]][doc] [![Build Status][ci-img]][ci] [![Coverage Status][cov-img]][cov]
+
+
+
## Installation
`go get -u go.uber.org/zap`
@@ -92,7 +100,7 @@ standard.
-Released under the [MIT License](LICENSE.txt).
+Released under the [MIT License](LICENSE).
In particular, keep in mind that we may be
benchmarking against slightly older versions of other packages. Versions are
diff --git a/vendor/go.uber.org/zap/CHANGELOG.md b/vendor/go.uber.org/zap/CHANGELOG.md
index 11b46597..6d6cd5f4 100644
--- a/vendor/go.uber.org/zap/CHANGELOG.md
+++ b/vendor/go.uber.org/zap/CHANGELOG.md
@@ -3,14 +3,30 @@ All notable changes to this project will be documented in this file.
This project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
+## 1.27.0 (20 Feb 2024)
+Enhancements:
+* [#1378][]: Add `WithLazy` method for `SugaredLogger`.
+* [#1399][]: zaptest: Add `NewTestingWriter` for customizing TestingWriter with more flexibility than `NewLogger`.
+* [#1406][]: Add `Log`, `Logw`, `Logln` methods for `SugaredLogger`.
+* [#1416][]: Add `WithPanicHook` option for testing panic logs.
+
+Thanks to @defval, @dimmo, @arxeiss, and @MKrupauskas for their contributions to this release.
+
+[#1378]: https://github.com/uber-go/zap/pull/1378
+[#1399]: https://github.com/uber-go/zap/pull/1399
+[#1406]: https://github.com/uber-go/zap/pull/1406
+[#1416]: https://github.com/uber-go/zap/pull/1416
+
## 1.26.0 (14 Sep 2023)
Enhancements:
+* [#1297][]: Add Dict as a Field.
* [#1319][]: Add `WithLazy` method to `Logger` which lazily evaluates the structured
context.
* [#1350][]: String encoding is much (~50%) faster now.
-Thanks to @jquirke, @cdvr1993 for their contributions to this release.
+Thanks to @hhk7734, @jquirke, and @cdvr1993 for their contributions to this release.
+[#1297]: https://github.com/uber-go/zap/pull/1297
[#1319]: https://github.com/uber-go/zap/pull/1319
[#1350]: https://github.com/uber-go/zap/pull/1350
@@ -25,7 +41,7 @@ Enhancements:
* [#1273][]: Add `Name` to `Logger` which returns the Logger's name if one is set.
* [#1281][]: Add `zap/exp/expfield` package which contains helper methods
`Str` and `Strs` for constructing String-like zap.Fields.
-* [#1310][]: Reduce stack size on `Any`.
+* [#1310][]: Reduce stack size on `Any`.
Thanks to @knight42, @dzakaammar, @bcspragu, and @rexywork for their contributions
to this release.
@@ -352,7 +368,7 @@ to this release.
[#675]: https://github.com/uber-go/zap/pull/675
[#704]: https://github.com/uber-go/zap/pull/704
-## v1.9.1 (06 Aug 2018)
+## 1.9.1 (06 Aug 2018)
Bugfixes:
@@ -360,7 +376,7 @@ Bugfixes:
[#614]: https://github.com/uber-go/zap/pull/614
-## v1.9.0 (19 Jul 2018)
+## 1.9.0 (19 Jul 2018)
Enhancements:
* [#602][]: Reduce number of allocations when logging with reflection.
@@ -373,7 +389,7 @@ Thanks to @nfarah86, @AlekSi, @JeanMertz, @philippgille, @etsangsplk, and
[#572]: https://github.com/uber-go/zap/pull/572
[#606]: https://github.com/uber-go/zap/pull/606
-## v1.8.0 (13 Apr 2018)
+## 1.8.0 (13 Apr 2018)
Enhancements:
* [#508][]: Make log level configurable when redirecting the standard
@@ -391,14 +407,14 @@ Thanks to @DiSiqueira and @djui for their contributions to this release.
[#577]: https://github.com/uber-go/zap/pull/577
[#574]: https://github.com/uber-go/zap/pull/574
-## v1.7.1 (25 Sep 2017)
+## 1.7.1 (25 Sep 2017)
Bugfixes:
* [#504][]: Store strings when using AddByteString with the map encoder.
[#504]: https://github.com/uber-go/zap/pull/504
-## v1.7.0 (21 Sep 2017)
+## 1.7.0 (21 Sep 2017)
Enhancements:
@@ -407,7 +423,7 @@ Enhancements:
[#487]: https://github.com/uber-go/zap/pull/487
-## v1.6.0 (30 Aug 2017)
+## 1.6.0 (30 Aug 2017)
Enhancements:
@@ -418,7 +434,7 @@ Enhancements:
[#490]: https://github.com/uber-go/zap/pull/490
[#491]: https://github.com/uber-go/zap/pull/491
-## v1.5.0 (22 Jul 2017)
+## 1.5.0 (22 Jul 2017)
Enhancements:
@@ -436,7 +452,7 @@ Thanks to @richard-tunein and @pavius for their contributions to this release.
[#460]: https://github.com/uber-go/zap/pull/460
[#470]: https://github.com/uber-go/zap/pull/470
-## v1.4.1 (08 Jun 2017)
+## 1.4.1 (08 Jun 2017)
This release fixes two bugs.
@@ -448,7 +464,7 @@ Bugfixes:
[#435]: https://github.com/uber-go/zap/pull/435
[#444]: https://github.com/uber-go/zap/pull/444
-## v1.4.0 (12 May 2017)
+## 1.4.0 (12 May 2017)
This release adds a few small features and is fully backward-compatible.
@@ -464,7 +480,7 @@ Enhancements:
[#425]: https://github.com/uber-go/zap/pull/425
[#431]: https://github.com/uber-go/zap/pull/431
-## v1.3.0 (25 Apr 2017)
+## 1.3.0 (25 Apr 2017)
This release adds an enhancement to zap's testing helpers as well as the
ability to marshal an AtomicLevel. It is fully backward-compatible.
@@ -478,7 +494,7 @@ Enhancements:
[#415]: https://github.com/uber-go/zap/pull/415
[#416]: https://github.com/uber-go/zap/pull/416
-## v1.2.0 (13 Apr 2017)
+## 1.2.0 (13 Apr 2017)
This release adds a gRPC compatibility wrapper. It is fully backward-compatible.
@@ -489,7 +505,7 @@ Enhancements:
[#402]: https://github.com/uber-go/zap/pull/402
-## v1.1.0 (31 Mar 2017)
+## 1.1.0 (31 Mar 2017)
This release fixes two bugs and adds some enhancements to zap's testing helpers.
It is fully backward-compatible.
@@ -510,7 +526,7 @@ Thanks to @moitias for contributing to this release.
[#396]: https://github.com/uber-go/zap/pull/396
[#386]: https://github.com/uber-go/zap/pull/386
-## v1.0.0 (14 Mar 2017)
+## 1.0.0 (14 Mar 2017)
This is zap's first stable release. All exported APIs are now final, and no
further breaking changes will be made in the 1.x release series. Anyone using a
@@ -569,7 +585,7 @@ contributions to this release.
[#365]: https://github.com/uber-go/zap/pull/365
[#372]: https://github.com/uber-go/zap/pull/372
-## v1.0.0-rc.3 (7 Mar 2017)
+## 1.0.0-rc.3 (7 Mar 2017)
This is the third release candidate for zap's stable release. There are no
breaking changes.
@@ -595,7 +611,7 @@ Thanks to @ansel1 and @suyash for their contributions to this release.
[#353]: https://github.com/uber-go/zap/pull/353
[#311]: https://github.com/uber-go/zap/pull/311
-## v1.0.0-rc.2 (21 Feb 2017)
+## 1.0.0-rc.2 (21 Feb 2017)
This is the second release candidate for zap's stable release. It includes two
breaking changes.
@@ -641,7 +657,7 @@ Thanks to @skipor and @chapsuk for their contributions to this release.
[#326]: https://github.com/uber-go/zap/pull/326
[#300]: https://github.com/uber-go/zap/pull/300
-## v1.0.0-rc.1 (14 Feb 2017)
+## 1.0.0-rc.1 (14 Feb 2017)
This is the first release candidate for zap's stable release. There are multiple
breaking changes and improvements from the pre-release version. Most notably:
@@ -661,7 +677,7 @@ breaking changes and improvements from the pre-release version. Most notably:
* Sampling is more accurate, and doesn't depend on the standard library's shared
timer heap.
-## v0.1.0-beta.1 (6 Feb 2017)
+## 0.1.0-beta.1 (6 Feb 2017)
This is a minor version, tagged to allow users to pin to the pre-1.0 APIs and
upgrade at their leisure. Since this is the first tagged release, there are no
diff --git a/vendor/go.uber.org/zap/LICENSE.txt b/vendor/go.uber.org/zap/LICENSE
similarity index 100%
rename from vendor/go.uber.org/zap/LICENSE.txt
rename to vendor/go.uber.org/zap/LICENSE
diff --git a/vendor/go.uber.org/zap/README.md b/vendor/go.uber.org/zap/README.md
index 9de08927..a17035cb 100644
--- a/vendor/go.uber.org/zap/README.md
+++ b/vendor/go.uber.org/zap/README.md
@@ -1,7 +1,16 @@
-# :zap: zap [![GoDoc][doc-img]][doc] [![Build Status][ci-img]][ci] [![Coverage Status][cov-img]][cov]
+# :zap: zap
+
+
+
Blazing fast, structured, leveled logging in Go.
+![Zap logo](assets/logo.png)
+
+[![GoDoc][doc-img]][doc] [![Build Status][ci-img]][ci] [![Coverage Status][cov-img]][cov]
+
+
+
## Installation
`go get -u go.uber.org/zap`
@@ -66,41 +75,44 @@ Log a message and 10 fields:
| Package | Time | Time % to zap | Objects Allocated |
| :------ | :--: | :-----------: | :---------------: |
-| :zap: zap | 1744 ns/op | +0% | 5 allocs/op
-| :zap: zap (sugared) | 2483 ns/op | +42% | 10 allocs/op
-| zerolog | 918 ns/op | -47% | 1 allocs/op
-| go-kit | 5590 ns/op | +221% | 57 allocs/op
-| slog | 5640 ns/op | +223% | 40 allocs/op
-| apex/log | 21184 ns/op | +1115% | 63 allocs/op
-| logrus | 24338 ns/op | +1296% | 79 allocs/op
-| log15 | 26054 ns/op | +1394% | 74 allocs/op
+| :zap: zap | 656 ns/op | +0% | 5 allocs/op
+| :zap: zap (sugared) | 935 ns/op | +43% | 10 allocs/op
+| zerolog | 380 ns/op | -42% | 1 allocs/op
+| go-kit | 2249 ns/op | +243% | 57 allocs/op
+| slog (LogAttrs) | 2479 ns/op | +278% | 40 allocs/op
+| slog | 2481 ns/op | +278% | 42 allocs/op
+| apex/log | 9591 ns/op | +1362% | 63 allocs/op
+| log15 | 11393 ns/op | +1637% | 75 allocs/op
+| logrus | 11654 ns/op | +1677% | 79 allocs/op
Log a message with a logger that already has 10 fields of context:
| Package | Time | Time % to zap | Objects Allocated |
| :------ | :--: | :-----------: | :---------------: |
-| :zap: zap | 193 ns/op | +0% | 0 allocs/op
-| :zap: zap (sugared) | 227 ns/op | +18% | 1 allocs/op
-| zerolog | 81 ns/op | -58% | 0 allocs/op
-| slog | 322 ns/op | +67% | 0 allocs/op
-| go-kit | 5377 ns/op | +2686% | 56 allocs/op
-| apex/log | 19518 ns/op | +10013% | 53 allocs/op
-| log15 | 19812 ns/op | +10165% | 70 allocs/op
-| logrus | 21997 ns/op | +11297% | 68 allocs/op
+| :zap: zap | 67 ns/op | +0% | 0 allocs/op
+| :zap: zap (sugared) | 84 ns/op | +25% | 1 allocs/op
+| zerolog | 35 ns/op | -48% | 0 allocs/op
+| slog | 193 ns/op | +188% | 0 allocs/op
+| slog (LogAttrs) | 200 ns/op | +199% | 0 allocs/op
+| go-kit | 2460 ns/op | +3572% | 56 allocs/op
+| log15 | 9038 ns/op | +13390% | 70 allocs/op
+| apex/log | 9068 ns/op | +13434% | 53 allocs/op
+| logrus | 10521 ns/op | +15603% | 68 allocs/op
Log a static string, without any context or `printf`-style templating:
| Package | Time | Time % to zap | Objects Allocated |
| :------ | :--: | :-----------: | :---------------: |
-| :zap: zap | 165 ns/op | +0% | 0 allocs/op
-| :zap: zap (sugared) | 212 ns/op | +28% | 1 allocs/op
-| zerolog | 95 ns/op | -42% | 0 allocs/op
-| slog | 296 ns/op | +79% | 0 allocs/op
-| go-kit | 415 ns/op | +152% | 9 allocs/op
-| standard library | 422 ns/op | +156% | 2 allocs/op
-| apex/log | 1601 ns/op | +870% | 5 allocs/op
-| logrus | 3017 ns/op | +1728% | 23 allocs/op
-| log15 | 3469 ns/op | +2002% | 20 allocs/op
+| :zap: zap | 63 ns/op | +0% | 0 allocs/op
+| :zap: zap (sugared) | 81 ns/op | +29% | 1 allocs/op
+| zerolog | 32 ns/op | -49% | 0 allocs/op
+| standard library | 124 ns/op | +97% | 1 allocs/op
+| slog | 196 ns/op | +211% | 0 allocs/op
+| slog (LogAttrs) | 200 ns/op | +217% | 0 allocs/op
+| go-kit | 213 ns/op | +238% | 9 allocs/op
+| apex/log | 771 ns/op | +1124% | 5 allocs/op
+| logrus | 1439 ns/op | +2184% | 23 allocs/op
+| log15 | 2069 ns/op | +3184% | 20 allocs/op
## Development Status: Stable
@@ -120,7 +132,7 @@ standard.
-Released under the [MIT License](LICENSE.txt).
+Released under the [MIT License](LICENSE).
In particular, keep in mind that we may be
benchmarking against slightly older versions of other packages. Versions are
diff --git a/vendor/go.uber.org/zap/buffer/buffer.go b/vendor/go.uber.org/zap/buffer/buffer.go
index 27fb5cd5..0b8540c2 100644
--- a/vendor/go.uber.org/zap/buffer/buffer.go
+++ b/vendor/go.uber.org/zap/buffer/buffer.go
@@ -42,7 +42,7 @@ func (b *Buffer) AppendByte(v byte) {
b.bs = append(b.bs, v)
}
-// AppendBytes writes a single byte to the Buffer.
+// AppendBytes writes the given slice of bytes to the Buffer.
func (b *Buffer) AppendBytes(v []byte) {
b.bs = append(b.bs, v...)
}
diff --git a/vendor/go.uber.org/zap/field.go b/vendor/go.uber.org/zap/field.go
index c8dd3358..6743930b 100644
--- a/vendor/go.uber.org/zap/field.go
+++ b/vendor/go.uber.org/zap/field.go
@@ -460,6 +460,8 @@ func (d dictObject) MarshalLogObject(enc zapcore.ObjectEncoder) error {
// - https://github.com/uber-go/zap/pull/1304
// - https://github.com/uber-go/zap/pull/1305
// - https://github.com/uber-go/zap/pull/1308
+//
+// See https://github.com/golang/go/issues/62077 for upstream issue.
type anyFieldC[T any] func(string, T) Field
func (f anyFieldC[T]) Any(key string, val any) Field {
diff --git a/vendor/go.uber.org/zap/logger.go b/vendor/go.uber.org/zap/logger.go
index 6205fe48..c4d30032 100644
--- a/vendor/go.uber.org/zap/logger.go
+++ b/vendor/go.uber.org/zap/logger.go
@@ -43,6 +43,7 @@ type Logger struct {
development bool
addCaller bool
+ onPanic zapcore.CheckWriteHook // default is WriteThenPanic
onFatal zapcore.CheckWriteHook // default is WriteThenFatal
name string
@@ -345,27 +346,12 @@ func (log *Logger) check(lvl zapcore.Level, msg string) *zapcore.CheckedEntry {
// Set up any required terminal behavior.
switch ent.Level {
case zapcore.PanicLevel:
- ce = ce.After(ent, zapcore.WriteThenPanic)
+ ce = ce.After(ent, terminalHookOverride(zapcore.WriteThenPanic, log.onPanic))
case zapcore.FatalLevel:
- onFatal := log.onFatal
- // nil or WriteThenNoop will lead to continued execution after
- // a Fatal log entry, which is unexpected. For example,
- //
- // f, err := os.Open(..)
- // if err != nil {
- // log.Fatal("cannot open", zap.Error(err))
- // }
- // fmt.Println(f.Name())
- //
- // The f.Name() will panic if we continue execution after the
- // log.Fatal.
- if onFatal == nil || onFatal == zapcore.WriteThenNoop {
- onFatal = zapcore.WriteThenFatal
- }
- ce = ce.After(ent, onFatal)
+ ce = ce.After(ent, terminalHookOverride(zapcore.WriteThenFatal, log.onFatal))
case zapcore.DPanicLevel:
if log.development {
- ce = ce.After(ent, zapcore.WriteThenPanic)
+ ce = ce.After(ent, terminalHookOverride(zapcore.WriteThenPanic, log.onPanic))
}
}
@@ -430,3 +416,20 @@ func (log *Logger) check(lvl zapcore.Level, msg string) *zapcore.CheckedEntry {
return ce
}
+
+func terminalHookOverride(defaultHook, override zapcore.CheckWriteHook) zapcore.CheckWriteHook {
+ // A nil or WriteThenNoop hook will lead to continued execution after
+ // a Panic or Fatal log entry, which is unexpected. For example,
+ //
+ // f, err := os.Open(..)
+ // if err != nil {
+ // log.Fatal("cannot open", zap.Error(err))
+ // }
+ // fmt.Println(f.Name())
+ //
+ // The f.Name() will panic if we continue execution after the log.Fatal.
+ if override == nil || override == zapcore.WriteThenNoop {
+ return defaultHook
+ }
+ return override
+}
diff --git a/vendor/go.uber.org/zap/options.go b/vendor/go.uber.org/zap/options.go
index c4f3bca3..43d357ac 100644
--- a/vendor/go.uber.org/zap/options.go
+++ b/vendor/go.uber.org/zap/options.go
@@ -132,6 +132,21 @@ func IncreaseLevel(lvl zapcore.LevelEnabler) Option {
})
}
+// WithPanicHook sets a CheckWriteHook to run on Panic/DPanic logs.
+// Zap will call this hook after writing a log statement with a Panic/DPanic level.
+//
+// For example, the following builds a logger that will exit the current
+// goroutine after writing a Panic/DPanic log message, but it will not start a panic.
+//
+// zap.New(core, zap.WithPanicHook(zapcore.WriteThenGoexit))
+//
+// This is useful for testing Panic/DPanic log output.
+func WithPanicHook(hook zapcore.CheckWriteHook) Option {
+ return optionFunc(func(log *Logger) {
+ log.onPanic = hook
+ })
+}
+
// OnFatal sets the action to take on fatal logs.
//
// Deprecated: Use [WithFatalHook] instead.
diff --git a/vendor/go.uber.org/zap/sugar.go b/vendor/go.uber.org/zap/sugar.go
index 00ac5fe3..8904cd08 100644
--- a/vendor/go.uber.org/zap/sugar.go
+++ b/vendor/go.uber.org/zap/sugar.go
@@ -115,6 +115,21 @@ func (s *SugaredLogger) With(args ...interface{}) *SugaredLogger {
return &SugaredLogger{base: s.base.With(s.sweetenFields(args)...)}
}
+// WithLazy adds a variadic number of fields to the logging context lazily.
+// The fields are evaluated only if the logger is further chained with [With]
+// or is written to with any of the log level methods.
+// Until that occurs, the logger may retain references to objects inside the fields,
+// and logging will reflect the state of an object at the time of logging,
+// not the time of WithLazy().
+//
+// Similar to [With], fields added to the child don't affect the parent,
+// and vice versa. Also, the keys in key-value pairs should be strings. In development,
+// passing a non-string key panics, while in production it logs an error and skips the pair.
+// Passing an orphaned key has the same behavior.
+func (s *SugaredLogger) WithLazy(args ...interface{}) *SugaredLogger {
+ return &SugaredLogger{base: s.base.WithLazy(s.sweetenFields(args)...)}
+}
+
// Level reports the minimum enabled level for this logger.
//
// For NopLoggers, this is [zapcore.InvalidLevel].
@@ -122,6 +137,12 @@ func (s *SugaredLogger) Level() zapcore.Level {
return zapcore.LevelOf(s.base.core)
}
+// Log logs the provided arguments at provided level.
+// Spaces are added between arguments when neither is a string.
+func (s *SugaredLogger) Log(lvl zapcore.Level, args ...interface{}) {
+ s.log(lvl, "", args, nil)
+}
+
// Debug logs the provided arguments at [DebugLevel].
// Spaces are added between arguments when neither is a string.
func (s *SugaredLogger) Debug(args ...interface{}) {
@@ -165,6 +186,12 @@ func (s *SugaredLogger) Fatal(args ...interface{}) {
s.log(FatalLevel, "", args, nil)
}
+// Logf formats the message according to the format specifier
+// and logs it at provided level.
+func (s *SugaredLogger) Logf(lvl zapcore.Level, template string, args ...interface{}) {
+ s.log(lvl, template, args, nil)
+}
+
// Debugf formats the message according to the format specifier
// and logs it at [DebugLevel].
func (s *SugaredLogger) Debugf(template string, args ...interface{}) {
@@ -208,6 +235,12 @@ func (s *SugaredLogger) Fatalf(template string, args ...interface{}) {
s.log(FatalLevel, template, args, nil)
}
+// Logw logs a message with some additional context. The variadic key-value
+// pairs are treated as they are in With.
+func (s *SugaredLogger) Logw(lvl zapcore.Level, msg string, keysAndValues ...interface{}) {
+ s.log(lvl, msg, nil, keysAndValues)
+}
+
// Debugw logs a message with some additional context. The variadic key-value
// pairs are treated as they are in With.
//
@@ -255,6 +288,12 @@ func (s *SugaredLogger) Fatalw(msg string, keysAndValues ...interface{}) {
s.log(FatalLevel, msg, nil, keysAndValues)
}
+// Logln logs a message at provided level.
+// Spaces are always added between arguments.
+func (s *SugaredLogger) Logln(lvl zapcore.Level, args ...interface{}) {
+ s.logln(lvl, args, nil)
+}
+
// Debugln logs a message at [DebugLevel].
// Spaces are always added between arguments.
func (s *SugaredLogger) Debugln(args ...interface{}) {
diff --git a/vendor/go.uber.org/zap/zapcore/console_encoder.go b/vendor/go.uber.org/zap/zapcore/console_encoder.go
index 8ca0bfaf..cc2b4e07 100644
--- a/vendor/go.uber.org/zap/zapcore/console_encoder.go
+++ b/vendor/go.uber.org/zap/zapcore/console_encoder.go
@@ -77,7 +77,7 @@ func (c consoleEncoder) EncodeEntry(ent Entry, fields []Field) (*buffer.Buffer,
// If this ever becomes a performance bottleneck, we can implement
// ArrayEncoder for our plain-text format.
arr := getSliceEncoder()
- if c.TimeKey != "" && c.EncodeTime != nil {
+ if c.TimeKey != "" && c.EncodeTime != nil && !ent.Time.IsZero() {
c.EncodeTime(ent.Time, arr)
}
if c.LevelKey != "" && c.EncodeLevel != nil {
diff --git a/vendor/go.uber.org/zap/zapcore/encoder.go b/vendor/go.uber.org/zap/zapcore/encoder.go
index 5769ff3e..04462541 100644
--- a/vendor/go.uber.org/zap/zapcore/encoder.go
+++ b/vendor/go.uber.org/zap/zapcore/encoder.go
@@ -37,6 +37,9 @@ const DefaultLineEnding = "\n"
const OmitKey = ""
// A LevelEncoder serializes a Level to a primitive type.
+//
+// This function must make exactly one call
+// to a PrimitiveArrayEncoder's Append* method.
type LevelEncoder func(Level, PrimitiveArrayEncoder)
// LowercaseLevelEncoder serializes a Level to a lowercase string. For example,
@@ -90,6 +93,9 @@ func (e *LevelEncoder) UnmarshalText(text []byte) error {
}
// A TimeEncoder serializes a time.Time to a primitive type.
+//
+// This function must make exactly one call
+// to a PrimitiveArrayEncoder's Append* method.
type TimeEncoder func(time.Time, PrimitiveArrayEncoder)
// EpochTimeEncoder serializes a time.Time to a floating-point number of seconds
@@ -219,6 +225,9 @@ func (e *TimeEncoder) UnmarshalJSON(data []byte) error {
}
// A DurationEncoder serializes a time.Duration to a primitive type.
+//
+// This function must make exactly one call
+// to a PrimitiveArrayEncoder's Append* method.
type DurationEncoder func(time.Duration, PrimitiveArrayEncoder)
// SecondsDurationEncoder serializes a time.Duration to a floating-point number of seconds elapsed.
@@ -262,6 +271,9 @@ func (e *DurationEncoder) UnmarshalText(text []byte) error {
}
// A CallerEncoder serializes an EntryCaller to a primitive type.
+//
+// This function must make exactly one call
+// to a PrimitiveArrayEncoder's Append* method.
type CallerEncoder func(EntryCaller, PrimitiveArrayEncoder)
// FullCallerEncoder serializes a caller in /full/path/to/package/file:line
@@ -292,6 +304,9 @@ func (e *CallerEncoder) UnmarshalText(text []byte) error {
// A NameEncoder serializes a period-separated logger name to a primitive
// type.
+//
+// This function must make exactly one call
+// to a PrimitiveArrayEncoder's Append* method.
type NameEncoder func(string, PrimitiveArrayEncoder)
// FullNameEncoder serializes the logger name as-is.
diff --git a/vendor/go.uber.org/zap/zapcore/field.go b/vendor/go.uber.org/zap/zapcore/field.go
index 95bdb0a1..308c9781 100644
--- a/vendor/go.uber.org/zap/zapcore/field.go
+++ b/vendor/go.uber.org/zap/zapcore/field.go
@@ -47,7 +47,7 @@ const (
ByteStringType
// Complex128Type indicates that the field carries a complex128.
Complex128Type
- // Complex64Type indicates that the field carries a complex128.
+ // Complex64Type indicates that the field carries a complex64.
Complex64Type
// DurationType indicates that the field carries a time.Duration.
DurationType
diff --git a/vendor/go.uber.org/zap/zapcore/json_encoder.go b/vendor/go.uber.org/zap/zapcore/json_encoder.go
index c8ab8697..9685169b 100644
--- a/vendor/go.uber.org/zap/zapcore/json_encoder.go
+++ b/vendor/go.uber.org/zap/zapcore/json_encoder.go
@@ -372,7 +372,7 @@ func (enc *jsonEncoder) EncodeEntry(ent Entry, fields []Field) (*buffer.Buffer,
final.AppendString(ent.Level.String())
}
}
- if final.TimeKey != "" {
+ if final.TimeKey != "" && !ent.Time.IsZero() {
final.AddTime(final.TimeKey, ent.Time)
}
if ent.LoggerName != "" && final.NameKey != "" {
diff --git a/vendor/golang.org/x/mod/LICENSE b/vendor/golang.org/x/mod/LICENSE
deleted file mode 100644
index 2a7cf70d..00000000
--- a/vendor/golang.org/x/mod/LICENSE
+++ /dev/null
@@ -1,27 +0,0 @@
-Copyright 2009 The Go Authors.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are
-met:
-
- * Redistributions of source code must retain the above copyright
-notice, this list of conditions and the following disclaimer.
- * Redistributions in binary form must reproduce the above
-copyright notice, this list of conditions and the following disclaimer
-in the documentation and/or other materials provided with the
-distribution.
- * Neither the name of Google LLC nor the names of its
-contributors may be used to endorse or promote products derived from
-this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
diff --git a/vendor/golang.org/x/mod/PATENTS b/vendor/golang.org/x/mod/PATENTS
deleted file mode 100644
index 73309904..00000000
--- a/vendor/golang.org/x/mod/PATENTS
+++ /dev/null
@@ -1,22 +0,0 @@
-Additional IP Rights Grant (Patents)
-
-"This implementation" means the copyrightable works distributed by
-Google as part of the Go project.
-
-Google hereby grants to You a perpetual, worldwide, non-exclusive,
-no-charge, royalty-free, irrevocable (except as stated in this section)
-patent license to make, have made, use, offer to sell, sell, import,
-transfer and otherwise run, modify and propagate the contents of this
-implementation of Go, where such license applies only to those patent
-claims, both currently owned or controlled by Google and acquired in
-the future, licensable by Google that are necessarily infringed by this
-implementation of Go. This grant does not include claims that would be
-infringed only as a consequence of further modification of this
-implementation. If you or your agent or exclusive licensee institute or
-order or agree to the institution of patent litigation against any
-entity (including a cross-claim or counterclaim in a lawsuit) alleging
-that this implementation of Go or any code incorporated within this
-implementation of Go constitutes direct or contributory patent
-infringement, or inducement of patent infringement, then any patent
-rights granted to you under this License for this implementation of Go
-shall terminate as of the date such litigation is filed.
diff --git a/vendor/golang.org/x/mod/semver/semver.go b/vendor/golang.org/x/mod/semver/semver.go
deleted file mode 100644
index 9a2dfd33..00000000
--- a/vendor/golang.org/x/mod/semver/semver.go
+++ /dev/null
@@ -1,401 +0,0 @@
-// Copyright 2018 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-// Package semver implements comparison of semantic version strings.
-// In this package, semantic version strings must begin with a leading "v",
-// as in "v1.0.0".
-//
-// The general form of a semantic version string accepted by this package is
-//
-// vMAJOR[.MINOR[.PATCH[-PRERELEASE][+BUILD]]]
-//
-// where square brackets indicate optional parts of the syntax;
-// MAJOR, MINOR, and PATCH are decimal integers without extra leading zeros;
-// PRERELEASE and BUILD are each a series of non-empty dot-separated identifiers
-// using only alphanumeric characters and hyphens; and
-// all-numeric PRERELEASE identifiers must not have leading zeros.
-//
-// This package follows Semantic Versioning 2.0.0 (see semver.org)
-// with two exceptions. First, it requires the "v" prefix. Second, it recognizes
-// vMAJOR and vMAJOR.MINOR (with no prerelease or build suffixes)
-// as shorthands for vMAJOR.0.0 and vMAJOR.MINOR.0.
-package semver
-
-import "sort"
-
-// parsed returns the parsed form of a semantic version string.
-type parsed struct {
- major string
- minor string
- patch string
- short string
- prerelease string
- build string
-}
-
-// IsValid reports whether v is a valid semantic version string.
-func IsValid(v string) bool {
- _, ok := parse(v)
- return ok
-}
-
-// Canonical returns the canonical formatting of the semantic version v.
-// It fills in any missing .MINOR or .PATCH and discards build metadata.
-// Two semantic versions compare equal only if their canonical formattings
-// are identical strings.
-// The canonical invalid semantic version is the empty string.
-func Canonical(v string) string {
- p, ok := parse(v)
- if !ok {
- return ""
- }
- if p.build != "" {
- return v[:len(v)-len(p.build)]
- }
- if p.short != "" {
- return v + p.short
- }
- return v
-}
-
-// Major returns the major version prefix of the semantic version v.
-// For example, Major("v2.1.0") == "v2".
-// If v is an invalid semantic version string, Major returns the empty string.
-func Major(v string) string {
- pv, ok := parse(v)
- if !ok {
- return ""
- }
- return v[:1+len(pv.major)]
-}
-
-// MajorMinor returns the major.minor version prefix of the semantic version v.
-// For example, MajorMinor("v2.1.0") == "v2.1".
-// If v is an invalid semantic version string, MajorMinor returns the empty string.
-func MajorMinor(v string) string {
- pv, ok := parse(v)
- if !ok {
- return ""
- }
- i := 1 + len(pv.major)
- if j := i + 1 + len(pv.minor); j <= len(v) && v[i] == '.' && v[i+1:j] == pv.minor {
- return v[:j]
- }
- return v[:i] + "." + pv.minor
-}
-
-// Prerelease returns the prerelease suffix of the semantic version v.
-// For example, Prerelease("v2.1.0-pre+meta") == "-pre".
-// If v is an invalid semantic version string, Prerelease returns the empty string.
-func Prerelease(v string) string {
- pv, ok := parse(v)
- if !ok {
- return ""
- }
- return pv.prerelease
-}
-
-// Build returns the build suffix of the semantic version v.
-// For example, Build("v2.1.0+meta") == "+meta".
-// If v is an invalid semantic version string, Build returns the empty string.
-func Build(v string) string {
- pv, ok := parse(v)
- if !ok {
- return ""
- }
- return pv.build
-}
-
-// Compare returns an integer comparing two versions according to
-// semantic version precedence.
-// The result will be 0 if v == w, -1 if v < w, or +1 if v > w.
-//
-// An invalid semantic version string is considered less than a valid one.
-// All invalid semantic version strings compare equal to each other.
-func Compare(v, w string) int {
- pv, ok1 := parse(v)
- pw, ok2 := parse(w)
- if !ok1 && !ok2 {
- return 0
- }
- if !ok1 {
- return -1
- }
- if !ok2 {
- return +1
- }
- if c := compareInt(pv.major, pw.major); c != 0 {
- return c
- }
- if c := compareInt(pv.minor, pw.minor); c != 0 {
- return c
- }
- if c := compareInt(pv.patch, pw.patch); c != 0 {
- return c
- }
- return comparePrerelease(pv.prerelease, pw.prerelease)
-}
-
-// Max canonicalizes its arguments and then returns the version string
-// that compares greater.
-//
-// Deprecated: use [Compare] instead. In most cases, returning a canonicalized
-// version is not expected or desired.
-func Max(v, w string) string {
- v = Canonical(v)
- w = Canonical(w)
- if Compare(v, w) > 0 {
- return v
- }
- return w
-}
-
-// ByVersion implements [sort.Interface] for sorting semantic version strings.
-type ByVersion []string
-
-func (vs ByVersion) Len() int { return len(vs) }
-func (vs ByVersion) Swap(i, j int) { vs[i], vs[j] = vs[j], vs[i] }
-func (vs ByVersion) Less(i, j int) bool {
- cmp := Compare(vs[i], vs[j])
- if cmp != 0 {
- return cmp < 0
- }
- return vs[i] < vs[j]
-}
-
-// Sort sorts a list of semantic version strings using [ByVersion].
-func Sort(list []string) {
- sort.Sort(ByVersion(list))
-}
-
-func parse(v string) (p parsed, ok bool) {
- if v == "" || v[0] != 'v' {
- return
- }
- p.major, v, ok = parseInt(v[1:])
- if !ok {
- return
- }
- if v == "" {
- p.minor = "0"
- p.patch = "0"
- p.short = ".0.0"
- return
- }
- if v[0] != '.' {
- ok = false
- return
- }
- p.minor, v, ok = parseInt(v[1:])
- if !ok {
- return
- }
- if v == "" {
- p.patch = "0"
- p.short = ".0"
- return
- }
- if v[0] != '.' {
- ok = false
- return
- }
- p.patch, v, ok = parseInt(v[1:])
- if !ok {
- return
- }
- if len(v) > 0 && v[0] == '-' {
- p.prerelease, v, ok = parsePrerelease(v)
- if !ok {
- return
- }
- }
- if len(v) > 0 && v[0] == '+' {
- p.build, v, ok = parseBuild(v)
- if !ok {
- return
- }
- }
- if v != "" {
- ok = false
- return
- }
- ok = true
- return
-}
-
-func parseInt(v string) (t, rest string, ok bool) {
- if v == "" {
- return
- }
- if v[0] < '0' || '9' < v[0] {
- return
- }
- i := 1
- for i < len(v) && '0' <= v[i] && v[i] <= '9' {
- i++
- }
- if v[0] == '0' && i != 1 {
- return
- }
- return v[:i], v[i:], true
-}
-
-func parsePrerelease(v string) (t, rest string, ok bool) {
- // "A pre-release version MAY be denoted by appending a hyphen and
- // a series of dot separated identifiers immediately following the patch version.
- // Identifiers MUST comprise only ASCII alphanumerics and hyphen [0-9A-Za-z-].
- // Identifiers MUST NOT be empty. Numeric identifiers MUST NOT include leading zeroes."
- if v == "" || v[0] != '-' {
- return
- }
- i := 1
- start := 1
- for i < len(v) && v[i] != '+' {
- if !isIdentChar(v[i]) && v[i] != '.' {
- return
- }
- if v[i] == '.' {
- if start == i || isBadNum(v[start:i]) {
- return
- }
- start = i + 1
- }
- i++
- }
- if start == i || isBadNum(v[start:i]) {
- return
- }
- return v[:i], v[i:], true
-}
-
-func parseBuild(v string) (t, rest string, ok bool) {
- if v == "" || v[0] != '+' {
- return
- }
- i := 1
- start := 1
- for i < len(v) {
- if !isIdentChar(v[i]) && v[i] != '.' {
- return
- }
- if v[i] == '.' {
- if start == i {
- return
- }
- start = i + 1
- }
- i++
- }
- if start == i {
- return
- }
- return v[:i], v[i:], true
-}
-
-func isIdentChar(c byte) bool {
- return 'A' <= c && c <= 'Z' || 'a' <= c && c <= 'z' || '0' <= c && c <= '9' || c == '-'
-}
-
-func isBadNum(v string) bool {
- i := 0
- for i < len(v) && '0' <= v[i] && v[i] <= '9' {
- i++
- }
- return i == len(v) && i > 1 && v[0] == '0'
-}
-
-func isNum(v string) bool {
- i := 0
- for i < len(v) && '0' <= v[i] && v[i] <= '9' {
- i++
- }
- return i == len(v)
-}
-
-func compareInt(x, y string) int {
- if x == y {
- return 0
- }
- if len(x) < len(y) {
- return -1
- }
- if len(x) > len(y) {
- return +1
- }
- if x < y {
- return -1
- } else {
- return +1
- }
-}
-
-func comparePrerelease(x, y string) int {
- // "When major, minor, and patch are equal, a pre-release version has
- // lower precedence than a normal version.
- // Example: 1.0.0-alpha < 1.0.0.
- // Precedence for two pre-release versions with the same major, minor,
- // and patch version MUST be determined by comparing each dot separated
- // identifier from left to right until a difference is found as follows:
- // identifiers consisting of only digits are compared numerically and
- // identifiers with letters or hyphens are compared lexically in ASCII
- // sort order. Numeric identifiers always have lower precedence than
- // non-numeric identifiers. A larger set of pre-release fields has a
- // higher precedence than a smaller set, if all of the preceding
- // identifiers are equal.
- // Example: 1.0.0-alpha < 1.0.0-alpha.1 < 1.0.0-alpha.beta <
- // 1.0.0-beta < 1.0.0-beta.2 < 1.0.0-beta.11 < 1.0.0-rc.1 < 1.0.0."
- if x == y {
- return 0
- }
- if x == "" {
- return +1
- }
- if y == "" {
- return -1
- }
- for x != "" && y != "" {
- x = x[1:] // skip - or .
- y = y[1:] // skip - or .
- var dx, dy string
- dx, x = nextIdent(x)
- dy, y = nextIdent(y)
- if dx != dy {
- ix := isNum(dx)
- iy := isNum(dy)
- if ix != iy {
- if ix {
- return -1
- } else {
- return +1
- }
- }
- if ix {
- if len(dx) < len(dy) {
- return -1
- }
- if len(dx) > len(dy) {
- return +1
- }
- }
- if dx < dy {
- return -1
- } else {
- return +1
- }
- }
- }
- if x == "" {
- return -1
- } else {
- return +1
- }
-}
-
-func nextIdent(x string) (dx, rest string) {
- i := 0
- for i < len(x) && x[i] != '.' {
- i++
- }
- return x[:i], x[i:]
-}
diff --git a/vendor/golang.org/x/tools/cmd/stringer/stringer.go b/vendor/golang.org/x/tools/cmd/stringer/stringer.go
deleted file mode 100644
index 94eaee84..00000000
--- a/vendor/golang.org/x/tools/cmd/stringer/stringer.go
+++ /dev/null
@@ -1,739 +0,0 @@
-// Copyright 2014 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-// Stringer is a tool to automate the creation of methods that satisfy the fmt.Stringer
-// interface. Given the name of a (signed or unsigned) integer type T that has constants
-// defined, stringer will create a new self-contained Go source file implementing
-//
-// func (t T) String() string
-//
-// The file is created in the same package and directory as the package that defines T.
-// It has helpful defaults designed for use with go generate.
-//
-// Stringer works best with constants that are consecutive values such as created using iota,
-// but creates good code regardless. In the future it might also provide custom support for
-// constant sets that are bit patterns.
-//
-// For example, given this snippet,
-//
-// package painkiller
-//
-// type Pill int
-//
-// const (
-// Placebo Pill = iota
-// Aspirin
-// Ibuprofen
-// Paracetamol
-// Acetaminophen = Paracetamol
-// )
-//
-// running this command
-//
-// stringer -type=Pill
-//
-// in the same directory will create the file pill_string.go, in package painkiller,
-// containing a definition of
-//
-// func (Pill) String() string
-//
-// That method will translate the value of a Pill constant to the string representation
-// of the respective constant name, so that the call fmt.Print(painkiller.Aspirin) will
-// print the string "Aspirin".
-//
-// Typically this process would be run using go generate, like this:
-//
-// //go:generate stringer -type=Pill
-//
-// If multiple constants have the same value, the lexically first matching name will
-// be used (in the example, Acetaminophen will print as "Paracetamol").
-//
-// With no arguments, it processes the package in the current directory.
-// Otherwise, the arguments must name a single directory holding a Go package
-// or a set of Go source files that represent a single Go package.
-//
-// The -type flag accepts a comma-separated list of types so a single run can
-// generate methods for multiple types. The default output file is t_string.go,
-// where t is the lower-cased name of the first type listed. It can be overridden
-// with the -output flag.
-//
-// Types can also be declared in tests, in which case type declarations in the
-// non-test package or its test variant are preferred over types defined in the
-// package with suffix "_test".
-// The default output file for type declarations in tests is t_string_test.go with t picked as above.
-//
-// The -linecomment flag tells stringer to generate the text of any line comment, trimmed
-// of leading spaces, instead of the constant name. For instance, if the constants above had a
-// Pill prefix, one could write
-//
-// PillAspirin // Aspirin
-//
-// to suppress it in the output.
-
-//go:debug gotypesalias=0
-
-package main // import "golang.org/x/tools/cmd/stringer"
-
-import (
- "bytes"
- "flag"
- "fmt"
- "go/ast"
- "go/constant"
- "go/format"
- "go/token"
- "go/types"
- "log"
- "os"
- "path/filepath"
- "sort"
- "strings"
-
- "golang.org/x/tools/go/packages"
-)
-
-var (
- typeNames = flag.String("type", "", "comma-separated list of type names; must be set")
- output = flag.String("output", "", "output file name; default srcdir/_string.go")
- trimprefix = flag.String("trimprefix", "", "trim the `prefix` from the generated constant names")
- linecomment = flag.Bool("linecomment", false, "use line comment text as printed text when present")
- buildTags = flag.String("tags", "", "comma-separated list of build tags to apply")
-)
-
-// Usage is a replacement usage function for the flags package.
-func Usage() {
- fmt.Fprintf(os.Stderr, "Usage of stringer:\n")
- fmt.Fprintf(os.Stderr, "\tstringer [flags] -type T [directory]\n")
- fmt.Fprintf(os.Stderr, "\tstringer [flags] -type T files... # Must be a single package\n")
- fmt.Fprintf(os.Stderr, "For more information, see:\n")
- fmt.Fprintf(os.Stderr, "\thttps://pkg.go.dev/golang.org/x/tools/cmd/stringer\n")
- fmt.Fprintf(os.Stderr, "Flags:\n")
- flag.PrintDefaults()
-}
-
-func main() {
- log.SetFlags(0)
- log.SetPrefix("stringer: ")
- flag.Usage = Usage
- flag.Parse()
- if len(*typeNames) == 0 {
- flag.Usage()
- os.Exit(2)
- }
- types := strings.Split(*typeNames, ",")
- var tags []string
- if len(*buildTags) > 0 {
- tags = strings.Split(*buildTags, ",")
- }
-
- // We accept either one directory or a list of files. Which do we have?
- args := flag.Args()
- if len(args) == 0 {
- // Default: process whole package in current directory.
- args = []string{"."}
- }
-
- // Parse the package once.
- var dir string
- // TODO(suzmue): accept other patterns for packages (directories, list of files, import paths, etc).
- if len(args) == 1 && isDirectory(args[0]) {
- dir = args[0]
- } else {
- if len(tags) != 0 {
- log.Fatal("-tags option applies only to directories, not when files are specified")
- }
- dir = filepath.Dir(args[0])
- }
-
- // For each type, generate code in the first package where the type is declared.
- // The order of packages is as follows:
- // package x
- // package x compiled for tests
- // package x_test
- //
- // Each package pass could result in a separate generated file.
- // These files must have the same package and test/not-test nature as the types
- // from which they were generated.
- //
- // Types will be excluded when generated, to avoid repetitions.
- pkgs := loadPackages(args, tags, *trimprefix, *linecomment, nil /* logf */)
- sort.Slice(pkgs, func(i, j int) bool {
- // Put x_test packages last.
- iTest := strings.HasSuffix(pkgs[i].name, "_test")
- jTest := strings.HasSuffix(pkgs[j].name, "_test")
- if iTest != jTest {
- return !iTest
- }
-
- return len(pkgs[i].files) < len(pkgs[j].files)
- })
- for _, pkg := range pkgs {
- g := Generator{
- pkg: pkg,
- }
-
- // Print the header and package clause.
- g.Printf("// Code generated by \"stringer %s\"; DO NOT EDIT.\n", strings.Join(os.Args[1:], " "))
- g.Printf("\n")
- g.Printf("package %s", g.pkg.name)
- g.Printf("\n")
- g.Printf("import \"strconv\"\n") // Used by all methods.
-
- // Run generate for types that can be found. Keep the rest for the remainingTypes iteration.
- var foundTypes, remainingTypes []string
- for _, typeName := range types {
- values := findValues(typeName, pkg)
- if len(values) > 0 {
- g.generate(typeName, values)
- foundTypes = append(foundTypes, typeName)
- } else {
- remainingTypes = append(remainingTypes, typeName)
- }
- }
- if len(foundTypes) == 0 {
- // This package didn't have any of the relevant types, skip writing a file.
- continue
- }
- if len(remainingTypes) > 0 && output != nil && *output != "" {
- log.Fatalf("cannot write to single file (-output=%q) when matching types are found in multiple packages", *output)
- }
- types = remainingTypes
-
- // Format the output.
- src := g.format()
-
- // Write to file.
- outputName := *output
- if outputName == "" {
- // Type names will be unique across packages since only the first
- // match is picked.
- // So there won't be collisions between a package compiled for tests
- // and the separate package of tests (package foo_test).
- outputName = filepath.Join(dir, baseName(pkg, foundTypes[0]))
- }
- err := os.WriteFile(outputName, src, 0644)
- if err != nil {
- log.Fatalf("writing output: %s", err)
- }
- }
-
- if len(types) > 0 {
- log.Fatalf("no values defined for types: %s", strings.Join(types, ","))
- }
-}
-
-// baseName that will put the generated code together with pkg.
-func baseName(pkg *Package, typename string) string {
- suffix := "string.go"
- if pkg.hasTestFiles {
- suffix = "string_test.go"
- }
- return fmt.Sprintf("%s_%s", strings.ToLower(typename), suffix)
-}
-
-// isDirectory reports whether the named file is a directory.
-func isDirectory(name string) bool {
- info, err := os.Stat(name)
- if err != nil {
- log.Fatal(err)
- }
- return info.IsDir()
-}
-
-// Generator holds the state of the analysis. Primarily used to buffer
-// the output for format.Source.
-type Generator struct {
- buf bytes.Buffer // Accumulated output.
- pkg *Package // Package we are scanning.
-
- logf func(format string, args ...interface{}) // test logging hook; nil when not testing
-}
-
-func (g *Generator) Printf(format string, args ...interface{}) {
- fmt.Fprintf(&g.buf, format, args...)
-}
-
-// File holds a single parsed file and associated data.
-type File struct {
- pkg *Package // Package to which this file belongs.
- file *ast.File // Parsed AST.
- // These fields are reset for each type being generated.
- typeName string // Name of the constant type.
- values []Value // Accumulator for constant values of that type.
-
- trimPrefix string
- lineComment bool
-}
-
-type Package struct {
- name string
- defs map[*ast.Ident]types.Object
- files []*File
- hasTestFiles bool
-}
-
-// loadPackages analyzes the single package constructed from the patterns and tags.
-// loadPackages exits if there is an error.
-//
-// Returns all variants (such as tests) of the package.
-//
-// logf is a test logging hook. It can be nil when not testing.
-func loadPackages(
- patterns, tags []string,
- trimPrefix string, lineComment bool,
- logf func(format string, args ...interface{}),
-) []*Package {
- cfg := &packages.Config{
- Mode: packages.NeedName | packages.NeedTypes | packages.NeedTypesInfo | packages.NeedSyntax | packages.NeedFiles,
- // Tests are included, let the caller decide how to fold them in.
- Tests: true,
- BuildFlags: []string{fmt.Sprintf("-tags=%s", strings.Join(tags, " "))},
- Logf: logf,
- }
- pkgs, err := packages.Load(cfg, patterns...)
- if err != nil {
- log.Fatal(err)
- }
- if len(pkgs) == 0 {
- log.Fatalf("error: no packages matching %v", strings.Join(patterns, " "))
- }
-
- out := make([]*Package, len(pkgs))
- for i, pkg := range pkgs {
- p := &Package{
- name: pkg.Name,
- defs: pkg.TypesInfo.Defs,
- files: make([]*File, len(pkg.Syntax)),
- }
-
- for j, file := range pkg.Syntax {
- p.files[j] = &File{
- file: file,
- pkg: p,
-
- trimPrefix: trimPrefix,
- lineComment: lineComment,
- }
- }
-
- // Keep track of test files, since we might want to generated
- // code that ends up in that kind of package.
- // Can be replaced once https://go.dev/issue/38445 lands.
- for _, f := range pkg.GoFiles {
- if strings.HasSuffix(f, "_test.go") {
- p.hasTestFiles = true
- break
- }
- }
-
- out[i] = p
- }
- return out
-}
-
-func findValues(typeName string, pkg *Package) []Value {
- values := make([]Value, 0, 100)
- for _, file := range pkg.files {
- // Set the state for this run of the walker.
- file.typeName = typeName
- file.values = nil
- if file.file != nil {
- ast.Inspect(file.file, file.genDecl)
- values = append(values, file.values...)
- }
- }
- return values
-}
-
-// generate produces the String method for the named type.
-func (g *Generator) generate(typeName string, values []Value) {
- // Generate code that will fail if the constants change value.
- g.Printf("func _() {\n")
- g.Printf("\t// An \"invalid array index\" compiler error signifies that the constant values have changed.\n")
- g.Printf("\t// Re-run the stringer command to generate them again.\n")
- g.Printf("\tvar x [1]struct{}\n")
- for _, v := range values {
- g.Printf("\t_ = x[%s - %s]\n", v.originalName, v.str)
- }
- g.Printf("}\n")
- runs := splitIntoRuns(values)
- // The decision of which pattern to use depends on the number of
- // runs in the numbers. If there's only one, it's easy. For more than
- // one, there's a tradeoff between complexity and size of the data
- // and code vs. the simplicity of a map. A map takes more space,
- // but so does the code. The decision here (crossover at 10) is
- // arbitrary, but considers that for large numbers of runs the cost
- // of the linear scan in the switch might become important, and
- // rather than use yet another algorithm such as binary search,
- // we punt and use a map. In any case, the likelihood of a map
- // being necessary for any realistic example other than bitmasks
- // is very low. And bitmasks probably deserve their own analysis,
- // to be done some other day.
- switch {
- case len(runs) == 1:
- g.buildOneRun(runs, typeName)
- case len(runs) <= 10:
- g.buildMultipleRuns(runs, typeName)
- default:
- g.buildMap(runs, typeName)
- }
-}
-
-// splitIntoRuns breaks the values into runs of contiguous sequences.
-// For example, given 1,2,3,5,6,7 it returns {1,2,3},{5,6,7}.
-// The input slice is known to be non-empty.
-func splitIntoRuns(values []Value) [][]Value {
- // We use stable sort so the lexically first name is chosen for equal elements.
- sort.Stable(byValue(values))
- // Remove duplicates. Stable sort has put the one we want to print first,
- // so use that one. The String method won't care about which named constant
- // was the argument, so the first name for the given value is the only one to keep.
- // We need to do this because identical values would cause the switch or map
- // to fail to compile.
- j := 1
- for i := 1; i < len(values); i++ {
- if values[i].value != values[i-1].value {
- values[j] = values[i]
- j++
- }
- }
- values = values[:j]
- runs := make([][]Value, 0, 10)
- for len(values) > 0 {
- // One contiguous sequence per outer loop.
- i := 1
- for i < len(values) && values[i].value == values[i-1].value+1 {
- i++
- }
- runs = append(runs, values[:i])
- values = values[i:]
- }
- return runs
-}
-
-// format returns the gofmt-ed contents of the Generator's buffer.
-func (g *Generator) format() []byte {
- src, err := format.Source(g.buf.Bytes())
- if err != nil {
- // Should never happen, but can arise when developing this code.
- // The user can compile the output to see the error.
- log.Printf("warning: internal error: invalid Go generated: %s", err)
- log.Printf("warning: compile the package to analyze the error")
- return g.buf.Bytes()
- }
- return src
-}
-
-// Value represents a declared constant.
-type Value struct {
- originalName string // The name of the constant.
- name string // The name with trimmed prefix.
- // The value is stored as a bit pattern alone. The boolean tells us
- // whether to interpret it as an int64 or a uint64; the only place
- // this matters is when sorting.
- // Much of the time the str field is all we need; it is printed
- // by Value.String.
- value uint64 // Will be converted to int64 when needed.
- signed bool // Whether the constant is a signed type.
- str string // The string representation given by the "go/constant" package.
-}
-
-func (v *Value) String() string {
- return v.str
-}
-
-// byValue lets us sort the constants into increasing order.
-// We take care in the Less method to sort in signed or unsigned order,
-// as appropriate.
-type byValue []Value
-
-func (b byValue) Len() int { return len(b) }
-func (b byValue) Swap(i, j int) { b[i], b[j] = b[j], b[i] }
-func (b byValue) Less(i, j int) bool {
- if b[i].signed {
- return int64(b[i].value) < int64(b[j].value)
- }
- return b[i].value < b[j].value
-}
-
-// genDecl processes one declaration clause.
-func (f *File) genDecl(node ast.Node) bool {
- decl, ok := node.(*ast.GenDecl)
- if !ok || decl.Tok != token.CONST {
- // We only care about const declarations.
- return true
- }
- // The name of the type of the constants we are declaring.
- // Can change if this is a multi-element declaration.
- typ := ""
- // Loop over the elements of the declaration. Each element is a ValueSpec:
- // a list of names possibly followed by a type, possibly followed by values.
- // If the type and value are both missing, we carry down the type (and value,
- // but the "go/types" package takes care of that).
- for _, spec := range decl.Specs {
- vspec := spec.(*ast.ValueSpec) // Guaranteed to succeed as this is CONST.
- if vspec.Type == nil && len(vspec.Values) > 0 {
- // "X = 1". With no type but a value. If the constant is untyped,
- // skip this vspec and reset the remembered type.
- typ = ""
-
- // If this is a simple type conversion, remember the type.
- // We don't mind if this is actually a call; a qualified call won't
- // be matched (that will be SelectorExpr, not Ident), and only unusual
- // situations will result in a function call that appears to be
- // a type conversion.
- ce, ok := vspec.Values[0].(*ast.CallExpr)
- if !ok {
- continue
- }
- id, ok := ce.Fun.(*ast.Ident)
- if !ok {
- continue
- }
- typ = id.Name
- }
- if vspec.Type != nil {
- // "X T". We have a type. Remember it.
- ident, ok := vspec.Type.(*ast.Ident)
- if !ok {
- continue
- }
- typ = ident.Name
- }
- if typ != f.typeName {
- // This is not the type we're looking for.
- continue
- }
- // We now have a list of names (from one line of source code) all being
- // declared with the desired type.
- // Grab their names and actual values and store them in f.values.
- for _, name := range vspec.Names {
- if name.Name == "_" {
- continue
- }
- // This dance lets the type checker find the values for us. It's a
- // bit tricky: look up the object declared by the name, find its
- // types.Const, and extract its value.
- obj, ok := f.pkg.defs[name]
- if !ok {
- log.Fatalf("no value for constant %s", name)
- }
- info := obj.Type().Underlying().(*types.Basic).Info()
- if info&types.IsInteger == 0 {
- log.Fatalf("can't handle non-integer constant type %s", typ)
- }
- value := obj.(*types.Const).Val() // Guaranteed to succeed as this is CONST.
- if value.Kind() != constant.Int {
- log.Fatalf("can't happen: constant is not an integer %s", name)
- }
- i64, isInt := constant.Int64Val(value)
- u64, isUint := constant.Uint64Val(value)
- if !isInt && !isUint {
- log.Fatalf("internal error: value of %s is not an integer: %s", name, value.String())
- }
- if !isInt {
- u64 = uint64(i64)
- }
- v := Value{
- originalName: name.Name,
- value: u64,
- signed: info&types.IsUnsigned == 0,
- str: value.String(),
- }
- if c := vspec.Comment; f.lineComment && c != nil && len(c.List) == 1 {
- v.name = strings.TrimSpace(c.Text())
- } else {
- v.name = strings.TrimPrefix(v.originalName, f.trimPrefix)
- }
- f.values = append(f.values, v)
- }
- }
- return false
-}
-
-// Helpers
-
-// usize returns the number of bits of the smallest unsigned integer
-// type that will hold n. Used to create the smallest possible slice of
-// integers to use as indexes into the concatenated strings.
-func usize(n int) int {
- switch {
- case n < 1<<8:
- return 8
- case n < 1<<16:
- return 16
- default:
- // 2^32 is enough constants for anyone.
- return 32
- }
-}
-
-// declareIndexAndNameVars declares the index slices and concatenated names
-// strings representing the runs of values.
-func (g *Generator) declareIndexAndNameVars(runs [][]Value, typeName string) {
- var indexes, names []string
- for i, run := range runs {
- index, name := g.createIndexAndNameDecl(run, typeName, fmt.Sprintf("_%d", i))
- if len(run) != 1 {
- indexes = append(indexes, index)
- }
- names = append(names, name)
- }
- g.Printf("const (\n")
- for _, name := range names {
- g.Printf("\t%s\n", name)
- }
- g.Printf(")\n\n")
-
- if len(indexes) > 0 {
- g.Printf("var (")
- for _, index := range indexes {
- g.Printf("\t%s\n", index)
- }
- g.Printf(")\n\n")
- }
-}
-
-// declareIndexAndNameVar is the single-run version of declareIndexAndNameVars
-func (g *Generator) declareIndexAndNameVar(run []Value, typeName string) {
- index, name := g.createIndexAndNameDecl(run, typeName, "")
- g.Printf("const %s\n", name)
- g.Printf("var %s\n", index)
-}
-
-// createIndexAndNameDecl returns the pair of declarations for the run. The caller will add "const" and "var".
-func (g *Generator) createIndexAndNameDecl(run []Value, typeName string, suffix string) (string, string) {
- b := new(bytes.Buffer)
- indexes := make([]int, len(run))
- for i := range run {
- b.WriteString(run[i].name)
- indexes[i] = b.Len()
- }
- nameConst := fmt.Sprintf("_%s_name%s = %q", typeName, suffix, b.String())
- nameLen := b.Len()
- b.Reset()
- fmt.Fprintf(b, "_%s_index%s = [...]uint%d{0, ", typeName, suffix, usize(nameLen))
- for i, v := range indexes {
- if i > 0 {
- fmt.Fprintf(b, ", ")
- }
- fmt.Fprintf(b, "%d", v)
- }
- fmt.Fprintf(b, "}")
- return b.String(), nameConst
-}
-
-// declareNameVars declares the concatenated names string representing all the values in the runs.
-func (g *Generator) declareNameVars(runs [][]Value, typeName string, suffix string) {
- g.Printf("const _%s_name%s = \"", typeName, suffix)
- for _, run := range runs {
- for i := range run {
- g.Printf("%s", run[i].name)
- }
- }
- g.Printf("\"\n")
-}
-
-// buildOneRun generates the variables and String method for a single run of contiguous values.
-func (g *Generator) buildOneRun(runs [][]Value, typeName string) {
- values := runs[0]
- g.Printf("\n")
- g.declareIndexAndNameVar(values, typeName)
- // The generated code is simple enough to write as a Printf format.
- lessThanZero := ""
- if values[0].signed {
- lessThanZero = "i < 0 || "
- }
- if values[0].value == 0 { // Signed or unsigned, 0 is still 0.
- g.Printf(stringOneRun, typeName, usize(len(values)), lessThanZero)
- } else {
- g.Printf(stringOneRunWithOffset, typeName, values[0].String(), usize(len(values)), lessThanZero)
- }
-}
-
-// Arguments to format are:
-//
-// [1]: type name
-// [2]: size of index element (8 for uint8 etc.)
-// [3]: less than zero check (for signed types)
-const stringOneRun = `func (i %[1]s) String() string {
- if %[3]si >= %[1]s(len(_%[1]s_index)-1) {
- return "%[1]s(" + strconv.FormatInt(int64(i), 10) + ")"
- }
- return _%[1]s_name[_%[1]s_index[i]:_%[1]s_index[i+1]]
-}
-`
-
-// Arguments to format are:
-// [1]: type name
-// [2]: lowest defined value for type, as a string
-// [3]: size of index element (8 for uint8 etc.)
-// [4]: less than zero check (for signed types)
-/*
- */
-const stringOneRunWithOffset = `func (i %[1]s) String() string {
- i -= %[2]s
- if %[4]si >= %[1]s(len(_%[1]s_index)-1) {
- return "%[1]s(" + strconv.FormatInt(int64(i + %[2]s), 10) + ")"
- }
- return _%[1]s_name[_%[1]s_index[i] : _%[1]s_index[i+1]]
-}
-`
-
-// buildMultipleRuns generates the variables and String method for multiple runs of contiguous values.
-// For this pattern, a single Printf format won't do.
-func (g *Generator) buildMultipleRuns(runs [][]Value, typeName string) {
- g.Printf("\n")
- g.declareIndexAndNameVars(runs, typeName)
- g.Printf("func (i %s) String() string {\n", typeName)
- g.Printf("\tswitch {\n")
- for i, values := range runs {
- if len(values) == 1 {
- g.Printf("\tcase i == %s:\n", &values[0])
- g.Printf("\t\treturn _%s_name_%d\n", typeName, i)
- continue
- }
- if values[0].value == 0 && !values[0].signed {
- // For an unsigned lower bound of 0, "0 <= i" would be redundant.
- g.Printf("\tcase i <= %s:\n", &values[len(values)-1])
- } else {
- g.Printf("\tcase %s <= i && i <= %s:\n", &values[0], &values[len(values)-1])
- }
- if values[0].value != 0 {
- g.Printf("\t\ti -= %s\n", &values[0])
- }
- g.Printf("\t\treturn _%s_name_%d[_%s_index_%d[i]:_%s_index_%d[i+1]]\n",
- typeName, i, typeName, i, typeName, i)
- }
- g.Printf("\tdefault:\n")
- g.Printf("\t\treturn \"%s(\" + strconv.FormatInt(int64(i), 10) + \")\"\n", typeName)
- g.Printf("\t}\n")
- g.Printf("}\n")
-}
-
-// buildMap handles the case where the space is so sparse a map is a reasonable fallback.
-// It's a rare situation but has simple code.
-func (g *Generator) buildMap(runs [][]Value, typeName string) {
- g.Printf("\n")
- g.declareNameVars(runs, typeName, "")
- g.Printf("\nvar _%s_map = map[%s]string{\n", typeName, typeName)
- n := 0
- for _, values := range runs {
- for _, value := range values {
- g.Printf("\t%s: _%s_name[%d:%d],\n", &value, typeName, n, n+len(value.name))
- n += len(value.name)
- }
- }
- g.Printf("}\n\n")
- g.Printf(stringMap, typeName)
-}
-
-// Argument to format is the type name.
-const stringMap = `func (i %[1]s) String() string {
- if str, ok := _%[1]s_map[i]; ok {
- return str
- }
- return "%[1]s(" + strconv.FormatInt(int64(i), 10) + ")"
-}
-`
diff --git a/vendor/golang.org/x/tools/go/gcexportdata/gcexportdata.go b/vendor/golang.org/x/tools/go/gcexportdata/gcexportdata.go
deleted file mode 100644
index 137cc8df..00000000
--- a/vendor/golang.org/x/tools/go/gcexportdata/gcexportdata.go
+++ /dev/null
@@ -1,186 +0,0 @@
-// Copyright 2016 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-// Package gcexportdata provides functions for locating, reading, and
-// writing export data files containing type information produced by the
-// gc compiler. This package supports go1.7 export data format and all
-// later versions.
-//
-// Although it might seem convenient for this package to live alongside
-// go/types in the standard library, this would cause version skew
-// problems for developer tools that use it, since they must be able to
-// consume the outputs of the gc compiler both before and after a Go
-// update such as from Go 1.7 to Go 1.8. Because this package lives in
-// golang.org/x/tools, sites can update their version of this repo some
-// time before the Go 1.8 release and rebuild and redeploy their
-// developer tools, which will then be able to consume both Go 1.7 and
-// Go 1.8 export data files, so they will work before and after the
-// Go update. (See discussion at https://golang.org/issue/15651.)
-package gcexportdata // import "golang.org/x/tools/go/gcexportdata"
-
-import (
- "bufio"
- "bytes"
- "encoding/json"
- "fmt"
- "go/token"
- "go/types"
- "io"
- "os/exec"
-
- "golang.org/x/tools/internal/gcimporter"
-)
-
-// Find returns the name of an object (.o) or archive (.a) file
-// containing type information for the specified import path,
-// using the go command.
-// If no file was found, an empty filename is returned.
-//
-// A relative srcDir is interpreted relative to the current working directory.
-//
-// Find also returns the package's resolved (canonical) import path,
-// reflecting the effects of srcDir and vendoring on importPath.
-//
-// Deprecated: Use the higher-level API in golang.org/x/tools/go/packages,
-// which is more efficient.
-func Find(importPath, srcDir string) (filename, path string) {
- cmd := exec.Command("go", "list", "-json", "-export", "--", importPath)
- cmd.Dir = srcDir
- out, err := cmd.Output()
- if err != nil {
- return "", ""
- }
- var data struct {
- ImportPath string
- Export string
- }
- json.Unmarshal(out, &data)
- return data.Export, data.ImportPath
-}
-
-// NewReader returns a reader for the export data section of an object
-// (.o) or archive (.a) file read from r. The new reader may provide
-// additional trailing data beyond the end of the export data.
-func NewReader(r io.Reader) (io.Reader, error) {
- buf := bufio.NewReader(r)
- _, size, err := gcimporter.FindExportData(buf)
- if err != nil {
- return nil, err
- }
-
- if size >= 0 {
- // We were given an archive and found the __.PKGDEF in it.
- // This tells us the size of the export data, and we don't
- // need to return the entire file.
- return &io.LimitedReader{
- R: buf,
- N: size,
- }, nil
- } else {
- // We were given an object file. As such, we don't know how large
- // the export data is and must return the entire file.
- return buf, nil
- }
-}
-
-// readAll works the same way as io.ReadAll, but avoids allocations and copies
-// by preallocating a byte slice of the necessary size if the size is known up
-// front. This is always possible when the input is an archive. In that case,
-// NewReader will return the known size using an io.LimitedReader.
-func readAll(r io.Reader) ([]byte, error) {
- if lr, ok := r.(*io.LimitedReader); ok {
- data := make([]byte, lr.N)
- _, err := io.ReadFull(lr, data)
- return data, err
- }
- return io.ReadAll(r)
-}
-
-// Read reads export data from in, decodes it, and returns type
-// information for the package.
-//
-// The package path (effectively its linker symbol prefix) is
-// specified by path, since unlike the package name, this information
-// may not be recorded in the export data.
-//
-// File position information is added to fset.
-//
-// Read may inspect and add to the imports map to ensure that references
-// within the export data to other packages are consistent. The caller
-// must ensure that imports[path] does not exist, or exists but is
-// incomplete (see types.Package.Complete), and Read inserts the
-// resulting package into this map entry.
-//
-// On return, the state of the reader is undefined.
-func Read(in io.Reader, fset *token.FileSet, imports map[string]*types.Package, path string) (*types.Package, error) {
- data, err := readAll(in)
- if err != nil {
- return nil, fmt.Errorf("reading export data for %q: %v", path, err)
- }
-
- if bytes.HasPrefix(data, []byte("!")) {
- return nil, fmt.Errorf("can't read export data for %q directly from an archive file (call gcexportdata.NewReader first to extract export data)", path)
- }
-
- // The indexed export format starts with an 'i'; the older
- // binary export format starts with a 'c', 'd', or 'v'
- // (from "version"). Select appropriate importer.
- if len(data) > 0 {
- switch data[0] {
- case 'v', 'c', 'd': // binary, till go1.10
- return nil, fmt.Errorf("binary (%c) import format is no longer supported", data[0])
-
- case 'i': // indexed, till go1.19
- _, pkg, err := gcimporter.IImportData(fset, imports, data[1:], path)
- return pkg, err
-
- case 'u': // unified, from go1.20
- _, pkg, err := gcimporter.UImportData(fset, imports, data[1:], path)
- return pkg, err
-
- default:
- l := len(data)
- if l > 10 {
- l = 10
- }
- return nil, fmt.Errorf("unexpected export data with prefix %q for path %s", string(data[:l]), path)
- }
- }
- return nil, fmt.Errorf("empty export data for %s", path)
-}
-
-// Write writes encoded type information for the specified package to out.
-// The FileSet provides file position information for named objects.
-func Write(out io.Writer, fset *token.FileSet, pkg *types.Package) error {
- if _, err := io.WriteString(out, "i"); err != nil {
- return err
- }
- return gcimporter.IExportData(out, fset, pkg)
-}
-
-// ReadBundle reads an export bundle from in, decodes it, and returns type
-// information for the packages.
-// File position information is added to fset.
-//
-// ReadBundle may inspect and add to the imports map to ensure that references
-// within the export bundle to other packages are consistent.
-//
-// On return, the state of the reader is undefined.
-//
-// Experimental: This API is experimental and may change in the future.
-func ReadBundle(in io.Reader, fset *token.FileSet, imports map[string]*types.Package) ([]*types.Package, error) {
- data, err := readAll(in)
- if err != nil {
- return nil, fmt.Errorf("reading export bundle: %v", err)
- }
- return gcimporter.IImportBundle(fset, imports, data)
-}
-
-// WriteBundle writes encoded type information for the specified packages to out.
-// The FileSet provides file position information for named objects.
-//
-// Experimental: This API is experimental and may change in the future.
-func WriteBundle(out io.Writer, fset *token.FileSet, pkgs []*types.Package) error {
- return gcimporter.IExportBundle(out, fset, pkgs)
-}
diff --git a/vendor/golang.org/x/tools/go/gcexportdata/importer.go b/vendor/golang.org/x/tools/go/gcexportdata/importer.go
deleted file mode 100644
index 37a7247e..00000000
--- a/vendor/golang.org/x/tools/go/gcexportdata/importer.go
+++ /dev/null
@@ -1,75 +0,0 @@
-// Copyright 2016 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package gcexportdata
-
-import (
- "fmt"
- "go/token"
- "go/types"
- "os"
-)
-
-// NewImporter returns a new instance of the types.Importer interface
-// that reads type information from export data files written by gc.
-// The Importer also satisfies types.ImporterFrom.
-//
-// Export data files are located using "go build" workspace conventions
-// and the build.Default context.
-//
-// Use this importer instead of go/importer.For("gc", ...) to avoid the
-// version-skew problems described in the documentation of this package,
-// or to control the FileSet or access the imports map populated during
-// package loading.
-//
-// Deprecated: Use the higher-level API in golang.org/x/tools/go/packages,
-// which is more efficient.
-func NewImporter(fset *token.FileSet, imports map[string]*types.Package) types.ImporterFrom {
- return importer{fset, imports}
-}
-
-type importer struct {
- fset *token.FileSet
- imports map[string]*types.Package
-}
-
-func (imp importer) Import(importPath string) (*types.Package, error) {
- return imp.ImportFrom(importPath, "", 0)
-}
-
-func (imp importer) ImportFrom(importPath, srcDir string, mode types.ImportMode) (_ *types.Package, err error) {
- filename, path := Find(importPath, srcDir)
- if filename == "" {
- if importPath == "unsafe" {
- // Even for unsafe, call Find first in case
- // the package was vendored.
- return types.Unsafe, nil
- }
- return nil, fmt.Errorf("can't find import: %s", importPath)
- }
-
- if pkg, ok := imp.imports[path]; ok && pkg.Complete() {
- return pkg, nil // cache hit
- }
-
- // open file
- f, err := os.Open(filename)
- if err != nil {
- return nil, err
- }
- defer func() {
- f.Close()
- if err != nil {
- // add file name to error
- err = fmt.Errorf("reading export data: %s: %v", filename, err)
- }
- }()
-
- r, err := NewReader(f)
- if err != nil {
- return nil, err
- }
-
- return Read(r, imp.fset, imp.imports, path)
-}
diff --git a/vendor/golang.org/x/tools/go/packages/doc.go b/vendor/golang.org/x/tools/go/packages/doc.go
deleted file mode 100644
index f1931d10..00000000
--- a/vendor/golang.org/x/tools/go/packages/doc.go
+++ /dev/null
@@ -1,251 +0,0 @@
-// Copyright 2018 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-/*
-Package packages loads Go packages for inspection and analysis.
-
-The [Load] function takes as input a list of patterns and returns a
-list of [Package] values describing individual packages matched by those
-patterns.
-A [Config] specifies configuration options, the most important of which is
-the [LoadMode], which controls the amount of detail in the loaded packages.
-
-Load passes most patterns directly to the underlying build tool.
-The default build tool is the go command.
-Its supported patterns are described at
-https://pkg.go.dev/cmd/go#hdr-Package_lists_and_patterns.
-Other build systems may be supported by providing a "driver";
-see [The driver protocol].
-
-All patterns with the prefix "query=", where query is a
-non-empty string of letters from [a-z], are reserved and may be
-interpreted as query operators.
-
-Two query operators are currently supported: "file" and "pattern".
-
-The query "file=path/to/file.go" matches the package or packages enclosing
-the Go source file path/to/file.go. For example "file=~/go/src/fmt/print.go"
-might return the packages "fmt" and "fmt [fmt.test]".
-
-The query "pattern=string" causes "string" to be passed directly to
-the underlying build tool. In most cases this is unnecessary,
-but an application can use Load("pattern=" + x) as an escaping mechanism
-to ensure that x is not interpreted as a query operator if it contains '='.
-
-All other query operators are reserved for future use and currently
-cause Load to report an error.
-
-The Package struct provides basic information about the package, including
-
- - ID, a unique identifier for the package in the returned set;
- - GoFiles, the names of the package's Go source files;
- - Imports, a map from source import strings to the Packages they name;
- - Types, the type information for the package's exported symbols;
- - Syntax, the parsed syntax trees for the package's source code; and
- - TypesInfo, the result of a complete type-check of the package syntax trees.
-
-(See the documentation for type Package for the complete list of fields
-and more detailed descriptions.)
-
-For example,
-
- Load(nil, "bytes", "unicode...")
-
-returns four Package structs describing the standard library packages
-bytes, unicode, unicode/utf16, and unicode/utf8. Note that one pattern
-can match multiple packages and that a package might be matched by
-multiple patterns: in general it is not possible to determine which
-packages correspond to which patterns.
-
-Note that the list returned by Load contains only the packages matched
-by the patterns. Their dependencies can be found by walking the import
-graph using the Imports fields.
-
-The Load function can be configured by passing a pointer to a Config as
-the first argument. A nil Config is equivalent to the zero Config, which
-causes Load to run in [LoadFiles] mode, collecting minimal information.
-See the documentation for type Config for details.
-
-As noted earlier, the Config.Mode controls the amount of detail
-reported about the loaded packages. See the documentation for type LoadMode
-for details.
-
-Most tools should pass their command-line arguments (after any flags)
-uninterpreted to Load, so that it can interpret them
-according to the conventions of the underlying build system.
-
-See the Example function for typical usage.
-
-# The driver protocol
-
-Load may be used to load Go packages even in Go projects that use
-alternative build systems, by installing an appropriate "driver"
-program for the build system and specifying its location in the
-GOPACKAGESDRIVER environment variable.
-For example,
-https://github.com/bazelbuild/rules_go/wiki/Editor-and-tool-integration
-explains how to use the driver for Bazel.
-
-The driver program is responsible for interpreting patterns in its
-preferred notation and reporting information about the packages that
-those patterns identify. Drivers must also support the special "file="
-and "pattern=" patterns described above.
-
-The patterns are provided as positional command-line arguments. A
-JSON-encoded [DriverRequest] message providing additional information
-is written to the driver's standard input. The driver must write a
-JSON-encoded [DriverResponse] message to its standard output. (This
-message differs from the JSON schema produced by 'go list'.)
-
-The value of the PWD environment variable seen by the driver process
-is the preferred name of its working directory. (The working directory
-may have other aliases due to symbolic links; see the comment on the
-Dir field of [exec.Cmd] for related information.)
-When the driver process emits in its response the name of a file
-that is a descendant of this directory, it must use an absolute path
-that has the value of PWD as a prefix, to ensure that the returned
-filenames satisfy the original query.
-*/
-package packages // import "golang.org/x/tools/go/packages"
-
-/*
-
-Motivation and design considerations
-
-The new package's design solves problems addressed by two existing
-packages: go/build, which locates and describes packages, and
-golang.org/x/tools/go/loader, which loads, parses and type-checks them.
-The go/build.Package structure encodes too much of the 'go build' way
-of organizing projects, leaving us in need of a data type that describes a
-package of Go source code independent of the underlying build system.
-We wanted something that works equally well with go build and vgo, and
-also other build systems such as Bazel and Blaze, making it possible to
-construct analysis tools that work in all these environments.
-Tools such as errcheck and staticcheck were essentially unavailable to
-the Go community at Google, and some of Google's internal tools for Go
-are unavailable externally.
-This new package provides a uniform way to obtain package metadata by
-querying each of these build systems, optionally supporting their
-preferred command-line notations for packages, so that tools integrate
-neatly with users' build environments. The Metadata query function
-executes an external query tool appropriate to the current workspace.
-
-Loading packages always returns the complete import graph "all the way down",
-even if all you want is information about a single package, because the query
-mechanisms of all the build systems we currently support ({go,vgo} list, and
-blaze/bazel aspect-based query) cannot provide detailed information
-about one package without visiting all its dependencies too, so there is
-no additional asymptotic cost to providing transitive information.
-(This property might not be true of a hypothetical 5th build system.)
-
-In calls to TypeCheck, all initial packages, and any package that
-transitively depends on one of them, must be loaded from source.
-Consider A->B->C->D->E: if A,C are initial, A,B,C must be loaded from
-source; D may be loaded from export data, and E may not be loaded at all
-(though it's possible that D's export data mentions it, so a
-types.Package may be created for it and exposed.)
-
-The old loader had a feature to suppress type-checking of function
-bodies on a per-package basis, primarily intended to reduce the work of
-obtaining type information for imported packages. Now that imports are
-satisfied by export data, the optimization no longer seems necessary.
-
-Despite some early attempts, the old loader did not exploit export data,
-instead always using the equivalent of WholeProgram mode. This was due
-to the complexity of mixing source and export data packages (now
-resolved by the upward traversal mentioned above), and because export data
-files were nearly always missing or stale. Now that 'go build' supports
-caching, all the underlying build systems can guarantee to produce
-export data in a reasonable (amortized) time.
-
-Test "main" packages synthesized by the build system are now reported as
-first-class packages, avoiding the need for clients (such as go/ssa) to
-reinvent this generation logic.
-
-One way in which go/packages is simpler than the old loader is in its
-treatment of in-package tests. In-package tests are packages that
-consist of all the files of the library under test, plus the test files.
-The old loader constructed in-package tests by a two-phase process of
-mutation called "augmentation": first it would construct and type check
-all the ordinary library packages and type-check the packages that
-depend on them; then it would add more (test) files to the package and
-type-check again. This two-phase approach had four major problems:
-1) in processing the tests, the loader modified the library package,
- leaving no way for a client application to see both the test
- package and the library package; one would mutate into the other.
-2) because test files can declare additional methods on types defined in
- the library portion of the package, the dispatch of method calls in
- the library portion was affected by the presence of the test files.
- This should have been a clue that the packages were logically
- different.
-3) this model of "augmentation" assumed at most one in-package test
- per library package, which is true of projects using 'go build',
- but not other build systems.
-4) because of the two-phase nature of test processing, all packages that
- import the library package had to be processed before augmentation,
- forcing a "one-shot" API and preventing the client from calling Load
- in several times in sequence as is now possible in WholeProgram mode.
- (TypeCheck mode has a similar one-shot restriction for a different reason.)
-
-Early drafts of this package supported "multi-shot" operation.
-Although it allowed clients to make a sequence of calls (or concurrent
-calls) to Load, building up the graph of Packages incrementally,
-it was of marginal value: it complicated the API
-(since it allowed some options to vary across calls but not others),
-it complicated the implementation,
-it cannot be made to work in Types mode, as explained above,
-and it was less efficient than making one combined call (when this is possible).
-Among the clients we have inspected, none made multiple calls to load
-but could not be easily and satisfactorily modified to make only a single call.
-However, applications changes may be required.
-For example, the ssadump command loads the user-specified packages
-and in addition the runtime package. It is tempting to simply append
-"runtime" to the user-provided list, but that does not work if the user
-specified an ad-hoc package such as [a.go b.go].
-Instead, ssadump no longer requests the runtime package,
-but seeks it among the dependencies of the user-specified packages,
-and emits an error if it is not found.
-
-Questions & Tasks
-
-- Add GOARCH/GOOS?
- They are not portable concepts, but could be made portable.
- Our goal has been to allow users to express themselves using the conventions
- of the underlying build system: if the build system honors GOARCH
- during a build and during a metadata query, then so should
- applications built atop that query mechanism.
- Conversely, if the target architecture of the build is determined by
- command-line flags, the application can pass the relevant
- flags through to the build system using a command such as:
- myapp -query_flag="--cpu=amd64" -query_flag="--os=darwin"
- However, this approach is low-level, unwieldy, and non-portable.
- GOOS and GOARCH seem important enough to warrant a dedicated option.
-
-- How should we handle partial failures such as a mixture of good and
- malformed patterns, existing and non-existent packages, successful and
- failed builds, import failures, import cycles, and so on, in a call to
- Load?
-
-- Support bazel, blaze, and go1.10 list, not just go1.11 list.
-
-- Handle (and test) various partial success cases, e.g.
- a mixture of good packages and:
- invalid patterns
- nonexistent packages
- empty packages
- packages with malformed package or import declarations
- unreadable files
- import cycles
- other parse errors
- type errors
- Make sure we record errors at the correct place in the graph.
-
-- Missing packages among initial arguments are not reported.
- Return bogus packages for them, like golist does.
-
-- "undeclared name" errors (for example) are reported out of source file
- order. I suspect this is due to the breadth-first resolution now used
- by go/types. Is that a bug? Discuss with gri.
-
-*/
diff --git a/vendor/golang.org/x/tools/go/packages/external.go b/vendor/golang.org/x/tools/go/packages/external.go
deleted file mode 100644
index 8f7afcb5..00000000
--- a/vendor/golang.org/x/tools/go/packages/external.go
+++ /dev/null
@@ -1,156 +0,0 @@
-// Copyright 2018 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package packages
-
-// This file defines the protocol that enables an external "driver"
-// tool to supply package metadata in place of 'go list'.
-
-import (
- "bytes"
- "encoding/json"
- "fmt"
- "os"
- "os/exec"
- "strings"
-)
-
-// DriverRequest defines the schema of a request for package metadata
-// from an external driver program. The JSON-encoded DriverRequest
-// message is provided to the driver program's standard input. The
-// query patterns are provided as command-line arguments.
-//
-// See the package documentation for an overview.
-type DriverRequest struct {
- Mode LoadMode `json:"mode"`
-
- // Env specifies the environment the underlying build system should be run in.
- Env []string `json:"env"`
-
- // BuildFlags are flags that should be passed to the underlying build system.
- BuildFlags []string `json:"build_flags"`
-
- // Tests specifies whether the patterns should also return test packages.
- Tests bool `json:"tests"`
-
- // Overlay maps file paths (relative to the driver's working directory)
- // to the contents of overlay files (see Config.Overlay).
- Overlay map[string][]byte `json:"overlay"`
-}
-
-// DriverResponse defines the schema of a response from an external
-// driver program, providing the results of a query for package
-// metadata. The driver program must write a JSON-encoded
-// DriverResponse message to its standard output.
-//
-// See the package documentation for an overview.
-type DriverResponse struct {
- // NotHandled is returned if the request can't be handled by the current
- // driver. If an external driver returns a response with NotHandled, the
- // rest of the DriverResponse is ignored, and go/packages will fallback
- // to the next driver. If go/packages is extended in the future to support
- // lists of multiple drivers, go/packages will fall back to the next driver.
- NotHandled bool
-
- // Compiler and Arch are the arguments pass of types.SizesFor
- // to get a types.Sizes to use when type checking.
- Compiler string
- Arch string
-
- // Roots is the set of package IDs that make up the root packages.
- // We have to encode this separately because when we encode a single package
- // we cannot know if it is one of the roots as that requires knowledge of the
- // graph it is part of.
- Roots []string `json:",omitempty"`
-
- // Packages is the full set of packages in the graph.
- // The packages are not connected into a graph.
- // The Imports if populated will be stubs that only have their ID set.
- // Imports will be connected and then type and syntax information added in a
- // later pass (see refine).
- Packages []*Package
-
- // GoVersion is the minor version number used by the driver
- // (e.g. the go command on the PATH) when selecting .go files.
- // Zero means unknown.
- GoVersion int
-}
-
-// driver is the type for functions that query the build system for the
-// packages named by the patterns.
-type driver func(cfg *Config, patterns ...string) (*DriverResponse, error)
-
-// findExternalDriver returns the file path of a tool that supplies
-// the build system package structure, or "" if not found.
-// If GOPACKAGESDRIVER is set in the environment findExternalTool returns its
-// value, otherwise it searches for a binary named gopackagesdriver on the PATH.
-func findExternalDriver(cfg *Config) driver {
- const toolPrefix = "GOPACKAGESDRIVER="
- tool := ""
- for _, env := range cfg.Env {
- if val := strings.TrimPrefix(env, toolPrefix); val != env {
- tool = val
- }
- }
- if tool != "" && tool == "off" {
- return nil
- }
- if tool == "" {
- var err error
- tool, err = exec.LookPath("gopackagesdriver")
- if err != nil {
- return nil
- }
- }
- return func(cfg *Config, words ...string) (*DriverResponse, error) {
- req, err := json.Marshal(DriverRequest{
- Mode: cfg.Mode,
- Env: cfg.Env,
- BuildFlags: cfg.BuildFlags,
- Tests: cfg.Tests,
- Overlay: cfg.Overlay,
- })
- if err != nil {
- return nil, fmt.Errorf("failed to encode message to driver tool: %v", err)
- }
-
- buf := new(bytes.Buffer)
- stderr := new(bytes.Buffer)
- cmd := exec.CommandContext(cfg.Context, tool, words...)
- cmd.Dir = cfg.Dir
- // The cwd gets resolved to the real path. On Darwin, where
- // /tmp is a symlink, this breaks anything that expects the
- // working directory to keep the original path, including the
- // go command when dealing with modules.
- //
- // os.Getwd stdlib has a special feature where if the
- // cwd and the PWD are the same node then it trusts
- // the PWD, so by setting it in the env for the child
- // process we fix up all the paths returned by the go
- // command.
- //
- // (See similar trick in Invocation.run in ../../internal/gocommand/invoke.go)
- cmd.Env = append(slicesClip(cfg.Env), "PWD="+cfg.Dir)
- cmd.Stdin = bytes.NewReader(req)
- cmd.Stdout = buf
- cmd.Stderr = stderr
-
- if err := cmd.Run(); err != nil {
- return nil, fmt.Errorf("%v: %v: %s", tool, err, cmd.Stderr)
- }
- if len(stderr.Bytes()) != 0 && os.Getenv("GOPACKAGESPRINTDRIVERERRORS") != "" {
- fmt.Fprintf(os.Stderr, "%s stderr: <<%s>>\n", cmdDebugStr(cmd), stderr)
- }
-
- var response DriverResponse
- if err := json.Unmarshal(buf.Bytes(), &response); err != nil {
- return nil, err
- }
- return &response, nil
- }
-}
-
-// slicesClip removes unused capacity from the slice, returning s[:len(s):len(s)].
-// TODO(adonovan): use go1.21 slices.Clip.
-func slicesClip[S ~[]E, E any](s S) S { return s[:len(s):len(s)] }
diff --git a/vendor/golang.org/x/tools/go/packages/golist.go b/vendor/golang.org/x/tools/go/packages/golist.go
deleted file mode 100644
index 1a3a5b44..00000000
--- a/vendor/golang.org/x/tools/go/packages/golist.go
+++ /dev/null
@@ -1,1066 +0,0 @@
-// Copyright 2018 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package packages
-
-import (
- "bytes"
- "context"
- "encoding/json"
- "fmt"
- "log"
- "os"
- "os/exec"
- "path"
- "path/filepath"
- "reflect"
- "sort"
- "strconv"
- "strings"
- "sync"
- "unicode"
-
- "golang.org/x/tools/internal/gocommand"
- "golang.org/x/tools/internal/packagesinternal"
-)
-
-// debug controls verbose logging.
-var debug, _ = strconv.ParseBool(os.Getenv("GOPACKAGESDEBUG"))
-
-// A goTooOldError reports that the go command
-// found by exec.LookPath is too old to use the new go list behavior.
-type goTooOldError struct {
- error
-}
-
-// responseDeduper wraps a DriverResponse, deduplicating its contents.
-type responseDeduper struct {
- seenRoots map[string]bool
- seenPackages map[string]*Package
- dr *DriverResponse
-}
-
-func newDeduper() *responseDeduper {
- return &responseDeduper{
- dr: &DriverResponse{},
- seenRoots: map[string]bool{},
- seenPackages: map[string]*Package{},
- }
-}
-
-// addAll fills in r with a DriverResponse.
-func (r *responseDeduper) addAll(dr *DriverResponse) {
- for _, pkg := range dr.Packages {
- r.addPackage(pkg)
- }
- for _, root := range dr.Roots {
- r.addRoot(root)
- }
- r.dr.GoVersion = dr.GoVersion
-}
-
-func (r *responseDeduper) addPackage(p *Package) {
- if r.seenPackages[p.ID] != nil {
- return
- }
- r.seenPackages[p.ID] = p
- r.dr.Packages = append(r.dr.Packages, p)
-}
-
-func (r *responseDeduper) addRoot(id string) {
- if r.seenRoots[id] {
- return
- }
- r.seenRoots[id] = true
- r.dr.Roots = append(r.dr.Roots, id)
-}
-
-type golistState struct {
- cfg *Config
- ctx context.Context
-
- envOnce sync.Once
- goEnvError error
- goEnv map[string]string
-
- rootsOnce sync.Once
- rootDirsError error
- rootDirs map[string]string
-
- goVersionOnce sync.Once
- goVersionError error
- goVersion int // The X in Go 1.X.
-
- // vendorDirs caches the (non)existence of vendor directories.
- vendorDirs map[string]bool
-}
-
-// getEnv returns Go environment variables. Only specific variables are
-// populated -- computing all of them is slow.
-func (state *golistState) getEnv() (map[string]string, error) {
- state.envOnce.Do(func() {
- var b *bytes.Buffer
- b, state.goEnvError = state.invokeGo("env", "-json", "GOMOD", "GOPATH")
- if state.goEnvError != nil {
- return
- }
-
- state.goEnv = make(map[string]string)
- decoder := json.NewDecoder(b)
- if state.goEnvError = decoder.Decode(&state.goEnv); state.goEnvError != nil {
- return
- }
- })
- return state.goEnv, state.goEnvError
-}
-
-// mustGetEnv is a convenience function that can be used if getEnv has already succeeded.
-func (state *golistState) mustGetEnv() map[string]string {
- env, err := state.getEnv()
- if err != nil {
- panic(fmt.Sprintf("mustGetEnv: %v", err))
- }
- return env
-}
-
-// goListDriver uses the go list command to interpret the patterns and produce
-// the build system package structure.
-// See driver for more details.
-func goListDriver(cfg *Config, patterns ...string) (_ *DriverResponse, err error) {
- // Make sure that any asynchronous go commands are killed when we return.
- parentCtx := cfg.Context
- if parentCtx == nil {
- parentCtx = context.Background()
- }
- ctx, cancel := context.WithCancel(parentCtx)
- defer cancel()
-
- response := newDeduper()
-
- state := &golistState{
- cfg: cfg,
- ctx: ctx,
- vendorDirs: map[string]bool{},
- }
-
- // Fill in response.Sizes asynchronously if necessary.
- if cfg.Mode&NeedTypesSizes != 0 || cfg.Mode&NeedTypes != 0 {
- errCh := make(chan error)
- go func() {
- compiler, arch, err := getSizesForArgs(ctx, state.cfgInvocation(), cfg.gocmdRunner)
- response.dr.Compiler = compiler
- response.dr.Arch = arch
- errCh <- err
- }()
- defer func() {
- if sizesErr := <-errCh; sizesErr != nil {
- err = sizesErr
- }
- }()
- }
-
- // Determine files requested in contains patterns
- var containFiles []string
- restPatterns := make([]string, 0, len(patterns))
- // Extract file= and other [querytype]= patterns. Report an error if querytype
- // doesn't exist.
-extractQueries:
- for _, pattern := range patterns {
- eqidx := strings.Index(pattern, "=")
- if eqidx < 0 {
- restPatterns = append(restPatterns, pattern)
- } else {
- query, value := pattern[:eqidx], pattern[eqidx+len("="):]
- switch query {
- case "file":
- containFiles = append(containFiles, value)
- case "pattern":
- restPatterns = append(restPatterns, value)
- case "": // not a reserved query
- restPatterns = append(restPatterns, pattern)
- default:
- for _, rune := range query {
- if rune < 'a' || rune > 'z' { // not a reserved query
- restPatterns = append(restPatterns, pattern)
- continue extractQueries
- }
- }
- // Reject all other patterns containing "="
- return nil, fmt.Errorf("invalid query type %q in query pattern %q", query, pattern)
- }
- }
- }
-
- // See if we have any patterns to pass through to go list. Zero initial
- // patterns also requires a go list call, since it's the equivalent of
- // ".".
- if len(restPatterns) > 0 || len(patterns) == 0 {
- dr, err := state.createDriverResponse(restPatterns...)
- if err != nil {
- return nil, err
- }
- response.addAll(dr)
- }
-
- if len(containFiles) != 0 {
- if err := state.runContainsQueries(response, containFiles); err != nil {
- return nil, err
- }
- }
-
- // (We may yet return an error due to defer.)
- return response.dr, nil
-}
-
-func (state *golistState) runContainsQueries(response *responseDeduper, queries []string) error {
- for _, query := range queries {
- // TODO(matloob): Do only one query per directory.
- fdir := filepath.Dir(query)
- // Pass absolute path of directory to go list so that it knows to treat it as a directory,
- // not a package path.
- pattern, err := filepath.Abs(fdir)
- if err != nil {
- return fmt.Errorf("could not determine absolute path of file= query path %q: %v", query, err)
- }
- dirResponse, err := state.createDriverResponse(pattern)
-
- // If there was an error loading the package, or no packages are returned,
- // or the package is returned with errors, try to load the file as an
- // ad-hoc package.
- // Usually the error will appear in a returned package, but may not if we're
- // in module mode and the ad-hoc is located outside a module.
- if err != nil || len(dirResponse.Packages) == 0 || len(dirResponse.Packages) == 1 && len(dirResponse.Packages[0].GoFiles) == 0 &&
- len(dirResponse.Packages[0].Errors) == 1 {
- var queryErr error
- if dirResponse, queryErr = state.adhocPackage(pattern, query); queryErr != nil {
- return err // return the original error
- }
- }
- isRoot := make(map[string]bool, len(dirResponse.Roots))
- for _, root := range dirResponse.Roots {
- isRoot[root] = true
- }
- for _, pkg := range dirResponse.Packages {
- // Add any new packages to the main set
- // We don't bother to filter packages that will be dropped by the changes of roots,
- // that will happen anyway during graph construction outside this function.
- // Over-reporting packages is not a problem.
- response.addPackage(pkg)
- // if the package was not a root one, it cannot have the file
- if !isRoot[pkg.ID] {
- continue
- }
- for _, pkgFile := range pkg.GoFiles {
- if filepath.Base(query) == filepath.Base(pkgFile) {
- response.addRoot(pkg.ID)
- break
- }
- }
- }
- }
- return nil
-}
-
-// adhocPackage attempts to load or construct an ad-hoc package for a given
-// query, if the original call to the driver produced inadequate results.
-func (state *golistState) adhocPackage(pattern, query string) (*DriverResponse, error) {
- response, err := state.createDriverResponse(query)
- if err != nil {
- return nil, err
- }
- // If we get nothing back from `go list`,
- // try to make this file into its own ad-hoc package.
- // TODO(rstambler): Should this check against the original response?
- if len(response.Packages) == 0 {
- response.Packages = append(response.Packages, &Package{
- ID: "command-line-arguments",
- PkgPath: query,
- GoFiles: []string{query},
- CompiledGoFiles: []string{query},
- Imports: make(map[string]*Package),
- })
- response.Roots = append(response.Roots, "command-line-arguments")
- }
- // Handle special cases.
- if len(response.Packages) == 1 {
- // golang/go#33482: If this is a file= query for ad-hoc packages where
- // the file only exists on an overlay, and exists outside of a module,
- // add the file to the package and remove the errors.
- if response.Packages[0].ID == "command-line-arguments" ||
- filepath.ToSlash(response.Packages[0].PkgPath) == filepath.ToSlash(query) {
- if len(response.Packages[0].GoFiles) == 0 {
- filename := filepath.Join(pattern, filepath.Base(query)) // avoid recomputing abspath
- // TODO(matloob): check if the file is outside of a root dir?
- for path := range state.cfg.Overlay {
- if path == filename {
- response.Packages[0].Errors = nil
- response.Packages[0].GoFiles = []string{path}
- response.Packages[0].CompiledGoFiles = []string{path}
- }
- }
- }
- }
- }
- return response, nil
-}
-
-// Fields must match go list;
-// see $GOROOT/src/cmd/go/internal/load/pkg.go.
-type jsonPackage struct {
- ImportPath string
- Dir string
- Name string
- Export string
- GoFiles []string
- CompiledGoFiles []string
- IgnoredGoFiles []string
- IgnoredOtherFiles []string
- EmbedPatterns []string
- EmbedFiles []string
- CFiles []string
- CgoFiles []string
- CXXFiles []string
- MFiles []string
- HFiles []string
- FFiles []string
- SFiles []string
- SwigFiles []string
- SwigCXXFiles []string
- SysoFiles []string
- Imports []string
- ImportMap map[string]string
- Deps []string
- Module *Module
- TestGoFiles []string
- TestImports []string
- XTestGoFiles []string
- XTestImports []string
- ForTest string // q in a "p [q.test]" package, else ""
- DepOnly bool
-
- Error *packagesinternal.PackageError
- DepsErrors []*packagesinternal.PackageError
-}
-
-type jsonPackageError struct {
- ImportStack []string
- Pos string
- Err string
-}
-
-func otherFiles(p *jsonPackage) [][]string {
- return [][]string{p.CFiles, p.CXXFiles, p.MFiles, p.HFiles, p.FFiles, p.SFiles, p.SwigFiles, p.SwigCXXFiles, p.SysoFiles}
-}
-
-// createDriverResponse uses the "go list" command to expand the pattern
-// words and return a response for the specified packages.
-func (state *golistState) createDriverResponse(words ...string) (*DriverResponse, error) {
- // go list uses the following identifiers in ImportPath and Imports:
- //
- // "p" -- importable package or main (command)
- // "q.test" -- q's test executable
- // "p [q.test]" -- variant of p as built for q's test executable
- // "q_test [q.test]" -- q's external test package
- //
- // The packages p that are built differently for a test q.test
- // are q itself, plus any helpers used by the external test q_test,
- // typically including "testing" and all its dependencies.
-
- // Run "go list" for complete
- // information on the specified packages.
- goVersion, err := state.getGoVersion()
- if err != nil {
- return nil, err
- }
- buf, err := state.invokeGo("list", golistargs(state.cfg, words, goVersion)...)
- if err != nil {
- return nil, err
- }
-
- seen := make(map[string]*jsonPackage)
- pkgs := make(map[string]*Package)
- additionalErrors := make(map[string][]Error)
- // Decode the JSON and convert it to Package form.
- response := &DriverResponse{
- GoVersion: goVersion,
- }
- for dec := json.NewDecoder(buf); dec.More(); {
- p := new(jsonPackage)
- if err := dec.Decode(p); err != nil {
- return nil, fmt.Errorf("JSON decoding failed: %v", err)
- }
-
- if p.ImportPath == "" {
- // The documentation for go list says that “[e]rroneous packages will have
- // a non-empty ImportPath”. If for some reason it comes back empty, we
- // prefer to error out rather than silently discarding data or handing
- // back a package without any way to refer to it.
- if p.Error != nil {
- return nil, Error{
- Pos: p.Error.Pos,
- Msg: p.Error.Err,
- }
- }
- return nil, fmt.Errorf("package missing import path: %+v", p)
- }
-
- // Work around https://golang.org/issue/33157:
- // go list -e, when given an absolute path, will find the package contained at
- // that directory. But when no package exists there, it will return a fake package
- // with an error and the ImportPath set to the absolute path provided to go list.
- // Try to convert that absolute path to what its package path would be if it's
- // contained in a known module or GOPATH entry. This will allow the package to be
- // properly "reclaimed" when overlays are processed.
- if filepath.IsAbs(p.ImportPath) && p.Error != nil {
- pkgPath, ok, err := state.getPkgPath(p.ImportPath)
- if err != nil {
- return nil, err
- }
- if ok {
- p.ImportPath = pkgPath
- }
- }
-
- if old, found := seen[p.ImportPath]; found {
- // If one version of the package has an error, and the other doesn't, assume
- // that this is a case where go list is reporting a fake dependency variant
- // of the imported package: When a package tries to invalidly import another
- // package, go list emits a variant of the imported package (with the same
- // import path, but with an error on it, and the package will have a
- // DepError set on it). An example of when this can happen is for imports of
- // main packages: main packages can not be imported, but they may be
- // separately matched and listed by another pattern.
- // See golang.org/issue/36188 for more details.
-
- // The plan is that eventually, hopefully in Go 1.15, the error will be
- // reported on the importing package rather than the duplicate "fake"
- // version of the imported package. Once all supported versions of Go
- // have the new behavior this logic can be deleted.
- // TODO(matloob): delete the workaround logic once all supported versions of
- // Go return the errors on the proper package.
-
- // There should be exactly one version of a package that doesn't have an
- // error.
- if old.Error == nil && p.Error == nil {
- if !reflect.DeepEqual(p, old) {
- return nil, fmt.Errorf("internal error: go list gives conflicting information for package %v", p.ImportPath)
- }
- continue
- }
-
- // Determine if this package's error needs to be bubbled up.
- // This is a hack, and we expect for go list to eventually set the error
- // on the package.
- if old.Error != nil {
- var errkind string
- if strings.Contains(old.Error.Err, "not an importable package") {
- errkind = "not an importable package"
- } else if strings.Contains(old.Error.Err, "use of internal package") && strings.Contains(old.Error.Err, "not allowed") {
- errkind = "use of internal package not allowed"
- }
- if errkind != "" {
- if len(old.Error.ImportStack) < 1 {
- return nil, fmt.Errorf(`internal error: go list gave a %q error with empty import stack`, errkind)
- }
- importingPkg := old.Error.ImportStack[len(old.Error.ImportStack)-1]
- if importingPkg == old.ImportPath {
- // Using an older version of Go which put this package itself on top of import
- // stack, instead of the importer. Look for importer in second from top
- // position.
- if len(old.Error.ImportStack) < 2 {
- return nil, fmt.Errorf(`internal error: go list gave a %q error with an import stack without importing package`, errkind)
- }
- importingPkg = old.Error.ImportStack[len(old.Error.ImportStack)-2]
- }
- additionalErrors[importingPkg] = append(additionalErrors[importingPkg], Error{
- Pos: old.Error.Pos,
- Msg: old.Error.Err,
- Kind: ListError,
- })
- }
- }
-
- // Make sure that if there's a version of the package without an error,
- // that's the one reported to the user.
- if old.Error == nil {
- continue
- }
-
- // This package will replace the old one at the end of the loop.
- }
- seen[p.ImportPath] = p
-
- pkg := &Package{
- Name: p.Name,
- ID: p.ImportPath,
- GoFiles: absJoin(p.Dir, p.GoFiles, p.CgoFiles),
- CompiledGoFiles: absJoin(p.Dir, p.CompiledGoFiles),
- OtherFiles: absJoin(p.Dir, otherFiles(p)...),
- EmbedFiles: absJoin(p.Dir, p.EmbedFiles),
- EmbedPatterns: absJoin(p.Dir, p.EmbedPatterns),
- IgnoredFiles: absJoin(p.Dir, p.IgnoredGoFiles, p.IgnoredOtherFiles),
- forTest: p.ForTest,
- depsErrors: p.DepsErrors,
- Module: p.Module,
- }
-
- if (state.cfg.Mode&typecheckCgo) != 0 && len(p.CgoFiles) != 0 {
- if len(p.CompiledGoFiles) > len(p.GoFiles) {
- // We need the cgo definitions, which are in the first
- // CompiledGoFile after the non-cgo ones. This is a hack but there
- // isn't currently a better way to find it. We also need the pure
- // Go files and unprocessed cgo files, all of which are already
- // in pkg.GoFiles.
- cgoTypes := p.CompiledGoFiles[len(p.GoFiles)]
- pkg.CompiledGoFiles = append([]string{cgoTypes}, pkg.GoFiles...)
- } else {
- // golang/go#38990: go list silently fails to do cgo processing
- pkg.CompiledGoFiles = nil
- pkg.Errors = append(pkg.Errors, Error{
- Msg: "go list failed to return CompiledGoFiles. This may indicate failure to perform cgo processing; try building at the command line. See https://golang.org/issue/38990.",
- Kind: ListError,
- })
- }
- }
-
- // Work around https://golang.org/issue/28749:
- // cmd/go puts assembly, C, and C++ files in CompiledGoFiles.
- // Remove files from CompiledGoFiles that are non-go files
- // (or are not files that look like they are from the cache).
- if len(pkg.CompiledGoFiles) > 0 {
- out := pkg.CompiledGoFiles[:0]
- for _, f := range pkg.CompiledGoFiles {
- if ext := filepath.Ext(f); ext != ".go" && ext != "" { // ext == "" means the file is from the cache, so probably cgo-processed file
- continue
- }
- out = append(out, f)
- }
- pkg.CompiledGoFiles = out
- }
-
- // Extract the PkgPath from the package's ID.
- if i := strings.IndexByte(pkg.ID, ' '); i >= 0 {
- pkg.PkgPath = pkg.ID[:i]
- } else {
- pkg.PkgPath = pkg.ID
- }
-
- if pkg.PkgPath == "unsafe" {
- pkg.CompiledGoFiles = nil // ignore fake unsafe.go file (#59929)
- } else if len(pkg.CompiledGoFiles) == 0 {
- // Work around for pre-go.1.11 versions of go list.
- // TODO(matloob): they should be handled by the fallback.
- // Can we delete this?
- pkg.CompiledGoFiles = pkg.GoFiles
- }
-
- // Assume go list emits only absolute paths for Dir.
- if p.Dir != "" && !filepath.IsAbs(p.Dir) {
- log.Fatalf("internal error: go list returned non-absolute Package.Dir: %s", p.Dir)
- }
-
- if p.Export != "" && !filepath.IsAbs(p.Export) {
- pkg.ExportFile = filepath.Join(p.Dir, p.Export)
- } else {
- pkg.ExportFile = p.Export
- }
-
- // imports
- //
- // Imports contains the IDs of all imported packages.
- // ImportsMap records (path, ID) only where they differ.
- ids := make(map[string]bool)
- for _, id := range p.Imports {
- ids[id] = true
- }
- pkg.Imports = make(map[string]*Package)
- for path, id := range p.ImportMap {
- pkg.Imports[path] = &Package{ID: id} // non-identity import
- delete(ids, id)
- }
- for id := range ids {
- if id == "C" {
- continue
- }
-
- pkg.Imports[id] = &Package{ID: id} // identity import
- }
- if !p.DepOnly {
- response.Roots = append(response.Roots, pkg.ID)
- }
-
- // Temporary work-around for golang/go#39986. Parse filenames out of
- // error messages. This happens if there are unrecoverable syntax
- // errors in the source, so we can't match on a specific error message.
- //
- // TODO(rfindley): remove this heuristic, in favor of considering
- // InvalidGoFiles from the list driver.
- if err := p.Error; err != nil && state.shouldAddFilenameFromError(p) {
- addFilenameFromPos := func(pos string) bool {
- split := strings.Split(pos, ":")
- if len(split) < 1 {
- return false
- }
- filename := strings.TrimSpace(split[0])
- if filename == "" {
- return false
- }
- if !filepath.IsAbs(filename) {
- filename = filepath.Join(state.cfg.Dir, filename)
- }
- info, _ := os.Stat(filename)
- if info == nil {
- return false
- }
- pkg.CompiledGoFiles = append(pkg.CompiledGoFiles, filename)
- pkg.GoFiles = append(pkg.GoFiles, filename)
- return true
- }
- found := addFilenameFromPos(err.Pos)
- // In some cases, go list only reports the error position in the
- // error text, not the error position. One such case is when the
- // file's package name is a keyword (see golang.org/issue/39763).
- if !found {
- addFilenameFromPos(err.Err)
- }
- }
-
- if p.Error != nil {
- msg := strings.TrimSpace(p.Error.Err) // Trim to work around golang.org/issue/32363.
- // Address golang.org/issue/35964 by appending import stack to error message.
- if msg == "import cycle not allowed" && len(p.Error.ImportStack) != 0 {
- msg += fmt.Sprintf(": import stack: %v", p.Error.ImportStack)
- }
- pkg.Errors = append(pkg.Errors, Error{
- Pos: p.Error.Pos,
- Msg: msg,
- Kind: ListError,
- })
- }
-
- pkgs[pkg.ID] = pkg
- }
-
- for id, errs := range additionalErrors {
- if p, ok := pkgs[id]; ok {
- p.Errors = append(p.Errors, errs...)
- }
- }
- for _, pkg := range pkgs {
- response.Packages = append(response.Packages, pkg)
- }
- sort.Slice(response.Packages, func(i, j int) bool { return response.Packages[i].ID < response.Packages[j].ID })
-
- return response, nil
-}
-
-func (state *golistState) shouldAddFilenameFromError(p *jsonPackage) bool {
- if len(p.GoFiles) > 0 || len(p.CompiledGoFiles) > 0 {
- return false
- }
-
- goV, err := state.getGoVersion()
- if err != nil {
- return false
- }
-
- // On Go 1.14 and earlier, only add filenames from errors if the import stack is empty.
- // The import stack behaves differently for these versions than newer Go versions.
- if goV < 15 {
- return len(p.Error.ImportStack) == 0
- }
-
- // On Go 1.15 and later, only parse filenames out of error if there's no import stack,
- // or the current package is at the top of the import stack. This is not guaranteed
- // to work perfectly, but should avoid some cases where files in errors don't belong to this
- // package.
- return len(p.Error.ImportStack) == 0 || p.Error.ImportStack[len(p.Error.ImportStack)-1] == p.ImportPath
-}
-
-// getGoVersion returns the effective minor version of the go command.
-func (state *golistState) getGoVersion() (int, error) {
- state.goVersionOnce.Do(func() {
- state.goVersion, state.goVersionError = gocommand.GoVersion(state.ctx, state.cfgInvocation(), state.cfg.gocmdRunner)
- })
- return state.goVersion, state.goVersionError
-}
-
-// getPkgPath finds the package path of a directory if it's relative to a root
-// directory.
-func (state *golistState) getPkgPath(dir string) (string, bool, error) {
- absDir, err := filepath.Abs(dir)
- if err != nil {
- return "", false, err
- }
- roots, err := state.determineRootDirs()
- if err != nil {
- return "", false, err
- }
-
- for rdir, rpath := range roots {
- // Make sure that the directory is in the module,
- // to avoid creating a path relative to another module.
- if !strings.HasPrefix(absDir, rdir) {
- continue
- }
- // TODO(matloob): This doesn't properly handle symlinks.
- r, err := filepath.Rel(rdir, dir)
- if err != nil {
- continue
- }
- if rpath != "" {
- // We choose only one root even though the directory even it can belong in multiple modules
- // or GOPATH entries. This is okay because we only need to work with absolute dirs when a
- // file is missing from disk, for instance when gopls calls go/packages in an overlay.
- // Once the file is saved, gopls, or the next invocation of the tool will get the correct
- // result straight from golist.
- // TODO(matloob): Implement module tiebreaking?
- return path.Join(rpath, filepath.ToSlash(r)), true, nil
- }
- return filepath.ToSlash(r), true, nil
- }
- return "", false, nil
-}
-
-// absJoin absolutizes and flattens the lists of files.
-func absJoin(dir string, fileses ...[]string) (res []string) {
- for _, files := range fileses {
- for _, file := range files {
- if !filepath.IsAbs(file) {
- file = filepath.Join(dir, file)
- }
- res = append(res, file)
- }
- }
- return res
-}
-
-func jsonFlag(cfg *Config, goVersion int) string {
- if goVersion < 19 {
- return "-json"
- }
- var fields []string
- added := make(map[string]bool)
- addFields := func(fs ...string) {
- for _, f := range fs {
- if !added[f] {
- added[f] = true
- fields = append(fields, f)
- }
- }
- }
- addFields("Name", "ImportPath", "Error") // These fields are always needed
- if cfg.Mode&NeedFiles != 0 || cfg.Mode&NeedTypes != 0 {
- addFields("Dir", "GoFiles", "IgnoredGoFiles", "IgnoredOtherFiles", "CFiles",
- "CgoFiles", "CXXFiles", "MFiles", "HFiles", "FFiles", "SFiles",
- "SwigFiles", "SwigCXXFiles", "SysoFiles")
- if cfg.Tests {
- addFields("TestGoFiles", "XTestGoFiles")
- }
- }
- if cfg.Mode&NeedTypes != 0 {
- // CompiledGoFiles seems to be required for the test case TestCgoNoSyntax,
- // even when -compiled isn't passed in.
- // TODO(#52435): Should we make the test ask for -compiled, or automatically
- // request CompiledGoFiles in certain circumstances?
- addFields("Dir", "CompiledGoFiles")
- }
- if cfg.Mode&NeedCompiledGoFiles != 0 {
- addFields("Dir", "CompiledGoFiles", "Export")
- }
- if cfg.Mode&NeedImports != 0 {
- // When imports are requested, DepOnly is used to distinguish between packages
- // explicitly requested and transitive imports of those packages.
- addFields("DepOnly", "Imports", "ImportMap")
- if cfg.Tests {
- addFields("TestImports", "XTestImports")
- }
- }
- if cfg.Mode&NeedDeps != 0 {
- addFields("DepOnly")
- }
- if usesExportData(cfg) {
- // Request Dir in the unlikely case Export is not absolute.
- addFields("Dir", "Export")
- }
- if cfg.Mode&needInternalForTest != 0 {
- addFields("ForTest")
- }
- if cfg.Mode&needInternalDepsErrors != 0 {
- addFields("DepsErrors")
- }
- if cfg.Mode&NeedModule != 0 {
- addFields("Module")
- }
- if cfg.Mode&NeedEmbedFiles != 0 {
- addFields("EmbedFiles")
- }
- if cfg.Mode&NeedEmbedPatterns != 0 {
- addFields("EmbedPatterns")
- }
- return "-json=" + strings.Join(fields, ",")
-}
-
-func golistargs(cfg *Config, words []string, goVersion int) []string {
- const findFlags = NeedImports | NeedTypes | NeedSyntax | NeedTypesInfo
- fullargs := []string{
- "-e", jsonFlag(cfg, goVersion),
- fmt.Sprintf("-compiled=%t", cfg.Mode&(NeedCompiledGoFiles|NeedSyntax|NeedTypes|NeedTypesInfo|NeedTypesSizes) != 0),
- fmt.Sprintf("-test=%t", cfg.Tests),
- fmt.Sprintf("-export=%t", usesExportData(cfg)),
- fmt.Sprintf("-deps=%t", cfg.Mode&NeedImports != 0),
- // go list doesn't let you pass -test and -find together,
- // probably because you'd just get the TestMain.
- fmt.Sprintf("-find=%t", !cfg.Tests && cfg.Mode&findFlags == 0 && !usesExportData(cfg)),
- }
-
- // golang/go#60456: with go1.21 and later, go list serves pgo variants, which
- // can be costly to compute and may result in redundant processing for the
- // caller. Disable these variants. If someone wants to add e.g. a NeedPGO
- // mode flag, that should be a separate proposal.
- if goVersion >= 21 {
- fullargs = append(fullargs, "-pgo=off")
- }
-
- fullargs = append(fullargs, cfg.BuildFlags...)
- fullargs = append(fullargs, "--")
- fullargs = append(fullargs, words...)
- return fullargs
-}
-
-// cfgInvocation returns an Invocation that reflects cfg's settings.
-func (state *golistState) cfgInvocation() gocommand.Invocation {
- cfg := state.cfg
- return gocommand.Invocation{
- BuildFlags: cfg.BuildFlags,
- ModFile: cfg.modFile,
- ModFlag: cfg.modFlag,
- CleanEnv: cfg.Env != nil,
- Env: cfg.Env,
- Logf: cfg.Logf,
- WorkingDir: cfg.Dir,
- Overlay: cfg.goListOverlayFile,
- }
-}
-
-// invokeGo returns the stdout of a go command invocation.
-func (state *golistState) invokeGo(verb string, args ...string) (*bytes.Buffer, error) {
- cfg := state.cfg
-
- inv := state.cfgInvocation()
- inv.Verb = verb
- inv.Args = args
- gocmdRunner := cfg.gocmdRunner
- if gocmdRunner == nil {
- gocmdRunner = &gocommand.Runner{}
- }
- stdout, stderr, friendlyErr, err := gocmdRunner.RunRaw(cfg.Context, inv)
- if err != nil {
- // Check for 'go' executable not being found.
- if ee, ok := err.(*exec.Error); ok && ee.Err == exec.ErrNotFound {
- return nil, fmt.Errorf("'go list' driver requires 'go', but %s", exec.ErrNotFound)
- }
-
- exitErr, ok := err.(*exec.ExitError)
- if !ok {
- // Catastrophic error:
- // - context cancellation
- return nil, fmt.Errorf("couldn't run 'go': %w", err)
- }
-
- // Old go version?
- if strings.Contains(stderr.String(), "flag provided but not defined") {
- return nil, goTooOldError{fmt.Errorf("unsupported version of go: %s: %s", exitErr, stderr)}
- }
-
- // Related to #24854
- if len(stderr.String()) > 0 && strings.Contains(stderr.String(), "unexpected directory layout") {
- return nil, friendlyErr
- }
-
- // Is there an error running the C compiler in cgo? This will be reported in the "Error" field
- // and should be suppressed by go list -e.
- //
- // This condition is not perfect yet because the error message can include other error messages than runtime/cgo.
- isPkgPathRune := func(r rune) bool {
- // From https://golang.org/ref/spec#Import_declarations:
- // Implementation restriction: A compiler may restrict ImportPaths to non-empty strings
- // using only characters belonging to Unicode's L, M, N, P, and S general categories
- // (the Graphic characters without spaces) and may also exclude the
- // characters !"#$%&'()*,:;<=>?[\]^`{|} and the Unicode replacement character U+FFFD.
- return unicode.IsOneOf([]*unicode.RangeTable{unicode.L, unicode.M, unicode.N, unicode.P, unicode.S}, r) &&
- !strings.ContainsRune("!\"#$%&'()*,:;<=>?[\\]^`{|}\uFFFD", r)
- }
- // golang/go#36770: Handle case where cmd/go prints module download messages before the error.
- msg := stderr.String()
- for strings.HasPrefix(msg, "go: downloading") {
- msg = msg[strings.IndexRune(msg, '\n')+1:]
- }
- if len(stderr.String()) > 0 && strings.HasPrefix(stderr.String(), "# ") {
- msg := msg[len("# "):]
- if strings.HasPrefix(strings.TrimLeftFunc(msg, isPkgPathRune), "\n") {
- return stdout, nil
- }
- // Treat pkg-config errors as a special case (golang.org/issue/36770).
- if strings.HasPrefix(msg, "pkg-config") {
- return stdout, nil
- }
- }
-
- // This error only appears in stderr. See golang.org/cl/166398 for a fix in go list to show
- // the error in the Err section of stdout in case -e option is provided.
- // This fix is provided for backwards compatibility.
- if len(stderr.String()) > 0 && strings.Contains(stderr.String(), "named files must be .go files") {
- output := fmt.Sprintf(`{"ImportPath": "command-line-arguments","Incomplete": true,"Error": {"Pos": "","Err": %q}}`,
- strings.Trim(stderr.String(), "\n"))
- return bytes.NewBufferString(output), nil
- }
-
- // Similar to the previous error, but currently lacks a fix in Go.
- if len(stderr.String()) > 0 && strings.Contains(stderr.String(), "named files must all be in one directory") {
- output := fmt.Sprintf(`{"ImportPath": "command-line-arguments","Incomplete": true,"Error": {"Pos": "","Err": %q}}`,
- strings.Trim(stderr.String(), "\n"))
- return bytes.NewBufferString(output), nil
- }
-
- // Backwards compatibility for Go 1.11 because 1.12 and 1.13 put the directory in the ImportPath.
- // If the package doesn't exist, put the absolute path of the directory into the error message,
- // as Go 1.13 list does.
- const noSuchDirectory = "no such directory"
- if len(stderr.String()) > 0 && strings.Contains(stderr.String(), noSuchDirectory) {
- errstr := stderr.String()
- abspath := strings.TrimSpace(errstr[strings.Index(errstr, noSuchDirectory)+len(noSuchDirectory):])
- output := fmt.Sprintf(`{"ImportPath": %q,"Incomplete": true,"Error": {"Pos": "","Err": %q}}`,
- abspath, strings.Trim(stderr.String(), "\n"))
- return bytes.NewBufferString(output), nil
- }
-
- // Workaround for #29280: go list -e has incorrect behavior when an ad-hoc package doesn't exist.
- // Note that the error message we look for in this case is different that the one looked for above.
- if len(stderr.String()) > 0 && strings.Contains(stderr.String(), "no such file or directory") {
- output := fmt.Sprintf(`{"ImportPath": "command-line-arguments","Incomplete": true,"Error": {"Pos": "","Err": %q}}`,
- strings.Trim(stderr.String(), "\n"))
- return bytes.NewBufferString(output), nil
- }
-
- // Workaround for #34273. go list -e with GO111MODULE=on has incorrect behavior when listing a
- // directory outside any module.
- if len(stderr.String()) > 0 && strings.Contains(stderr.String(), "outside available modules") {
- output := fmt.Sprintf(`{"ImportPath": %q,"Incomplete": true,"Error": {"Pos": "","Err": %q}}`,
- // TODO(matloob): command-line-arguments isn't correct here.
- "command-line-arguments", strings.Trim(stderr.String(), "\n"))
- return bytes.NewBufferString(output), nil
- }
-
- // Another variation of the previous error
- if len(stderr.String()) > 0 && strings.Contains(stderr.String(), "outside module root") {
- output := fmt.Sprintf(`{"ImportPath": %q,"Incomplete": true,"Error": {"Pos": "","Err": %q}}`,
- // TODO(matloob): command-line-arguments isn't correct here.
- "command-line-arguments", strings.Trim(stderr.String(), "\n"))
- return bytes.NewBufferString(output), nil
- }
-
- // Workaround for an instance of golang.org/issue/26755: go list -e will return a non-zero exit
- // status if there's a dependency on a package that doesn't exist. But it should return
- // a zero exit status and set an error on that package.
- if len(stderr.String()) > 0 && strings.Contains(stderr.String(), "no Go files in") {
- // Don't clobber stdout if `go list` actually returned something.
- if len(stdout.String()) > 0 {
- return stdout, nil
- }
- // try to extract package name from string
- stderrStr := stderr.String()
- var importPath string
- colon := strings.Index(stderrStr, ":")
- if colon > 0 && strings.HasPrefix(stderrStr, "go build ") {
- importPath = stderrStr[len("go build "):colon]
- }
- output := fmt.Sprintf(`{"ImportPath": %q,"Incomplete": true,"Error": {"Pos": "","Err": %q}}`,
- importPath, strings.Trim(stderrStr, "\n"))
- return bytes.NewBufferString(output), nil
- }
-
- // Export mode entails a build.
- // If that build fails, errors appear on stderr
- // (despite the -e flag) and the Export field is blank.
- // Do not fail in that case.
- // The same is true if an ad-hoc package given to go list doesn't exist.
- // TODO(matloob): Remove these once we can depend on go list to exit with a zero status with -e even when
- // packages don't exist or a build fails.
- if !usesExportData(cfg) && !containsGoFile(args) {
- return nil, friendlyErr
- }
- }
- return stdout, nil
-}
-
-func containsGoFile(s []string) bool {
- for _, f := range s {
- if strings.HasSuffix(f, ".go") {
- return true
- }
- }
- return false
-}
-
-func cmdDebugStr(cmd *exec.Cmd) string {
- env := make(map[string]string)
- for _, kv := range cmd.Env {
- split := strings.SplitN(kv, "=", 2)
- k, v := split[0], split[1]
- env[k] = v
- }
-
- var args []string
- for _, arg := range cmd.Args {
- quoted := strconv.Quote(arg)
- if quoted[1:len(quoted)-1] != arg || strings.Contains(arg, " ") {
- args = append(args, quoted)
- } else {
- args = append(args, arg)
- }
- }
- return fmt.Sprintf("GOROOT=%v GOPATH=%v GO111MODULE=%v GOPROXY=%v PWD=%v %v", env["GOROOT"], env["GOPATH"], env["GO111MODULE"], env["GOPROXY"], env["PWD"], strings.Join(args, " "))
-}
-
-// getSizesForArgs queries 'go list' for the appropriate
-// Compiler and GOARCH arguments to pass to [types.SizesFor].
-func getSizesForArgs(ctx context.Context, inv gocommand.Invocation, gocmdRunner *gocommand.Runner) (string, string, error) {
- inv.Verb = "list"
- inv.Args = []string{"-f", "{{context.GOARCH}} {{context.Compiler}}", "--", "unsafe"}
- stdout, stderr, friendlyErr, rawErr := gocmdRunner.RunRaw(ctx, inv)
- var goarch, compiler string
- if rawErr != nil {
- rawErrMsg := rawErr.Error()
- if strings.Contains(rawErrMsg, "cannot find main module") ||
- strings.Contains(rawErrMsg, "go.mod file not found") {
- // User's running outside of a module.
- // All bets are off. Get GOARCH and guess compiler is gc.
- // TODO(matloob): Is this a problem in practice?
- inv.Verb = "env"
- inv.Args = []string{"GOARCH"}
- envout, enverr := gocmdRunner.Run(ctx, inv)
- if enverr != nil {
- return "", "", enverr
- }
- goarch = strings.TrimSpace(envout.String())
- compiler = "gc"
- } else if friendlyErr != nil {
- return "", "", friendlyErr
- } else {
- // This should be unreachable, but be defensive
- // in case RunRaw's error results are inconsistent.
- return "", "", rawErr
- }
- } else {
- fields := strings.Fields(stdout.String())
- if len(fields) < 2 {
- return "", "", fmt.Errorf("could not parse GOARCH and Go compiler in format \" \":\nstdout: <<%s>>\nstderr: <<%s>>",
- stdout.String(), stderr.String())
- }
- goarch = fields[0]
- compiler = fields[1]
- }
- return compiler, goarch, nil
-}
diff --git a/vendor/golang.org/x/tools/go/packages/golist_overlay.go b/vendor/golang.org/x/tools/go/packages/golist_overlay.go
deleted file mode 100644
index d823c474..00000000
--- a/vendor/golang.org/x/tools/go/packages/golist_overlay.go
+++ /dev/null
@@ -1,83 +0,0 @@
-// Copyright 2018 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package packages
-
-import (
- "encoding/json"
- "path/filepath"
-
- "golang.org/x/tools/internal/gocommand"
-)
-
-// determineRootDirs returns a mapping from absolute directories that could
-// contain code to their corresponding import path prefixes.
-func (state *golistState) determineRootDirs() (map[string]string, error) {
- env, err := state.getEnv()
- if err != nil {
- return nil, err
- }
- if env["GOMOD"] != "" {
- state.rootsOnce.Do(func() {
- state.rootDirs, state.rootDirsError = state.determineRootDirsModules()
- })
- } else {
- state.rootsOnce.Do(func() {
- state.rootDirs, state.rootDirsError = state.determineRootDirsGOPATH()
- })
- }
- return state.rootDirs, state.rootDirsError
-}
-
-func (state *golistState) determineRootDirsModules() (map[string]string, error) {
- // List all of the modules--the first will be the directory for the main
- // module. Any replaced modules will also need to be treated as roots.
- // Editing files in the module cache isn't a great idea, so we don't
- // plan to ever support that.
- out, err := state.invokeGo("list", "-m", "-json", "all")
- if err != nil {
- // 'go list all' will fail if we're outside of a module and
- // GO111MODULE=on. Try falling back without 'all'.
- var innerErr error
- out, innerErr = state.invokeGo("list", "-m", "-json")
- if innerErr != nil {
- return nil, err
- }
- }
- roots := map[string]string{}
- modules := map[string]string{}
- var i int
- for dec := json.NewDecoder(out); dec.More(); {
- mod := new(gocommand.ModuleJSON)
- if err := dec.Decode(mod); err != nil {
- return nil, err
- }
- if mod.Dir != "" && mod.Path != "" {
- // This is a valid module; add it to the map.
- absDir, err := filepath.Abs(mod.Dir)
- if err != nil {
- return nil, err
- }
- modules[absDir] = mod.Path
- // The first result is the main module.
- if i == 0 || mod.Replace != nil && mod.Replace.Path != "" {
- roots[absDir] = mod.Path
- }
- }
- i++
- }
- return roots, nil
-}
-
-func (state *golistState) determineRootDirsGOPATH() (map[string]string, error) {
- m := map[string]string{}
- for _, dir := range filepath.SplitList(state.mustGetEnv()["GOPATH"]) {
- absDir, err := filepath.Abs(dir)
- if err != nil {
- return nil, err
- }
- m[filepath.Join(absDir, "src")] = ""
- }
- return m, nil
-}
diff --git a/vendor/golang.org/x/tools/go/packages/loadmode_string.go b/vendor/golang.org/x/tools/go/packages/loadmode_string.go
deleted file mode 100644
index 5fcad6ea..00000000
--- a/vendor/golang.org/x/tools/go/packages/loadmode_string.go
+++ /dev/null
@@ -1,54 +0,0 @@
-// Copyright 2019 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package packages
-
-import (
- "fmt"
- "strings"
-)
-
-var modes = [...]struct {
- mode LoadMode
- name string
-}{
- {NeedName, "NeedName"},
- {NeedFiles, "NeedFiles"},
- {NeedCompiledGoFiles, "NeedCompiledGoFiles"},
- {NeedImports, "NeedImports"},
- {NeedDeps, "NeedDeps"},
- {NeedExportFile, "NeedExportFile"},
- {NeedTypes, "NeedTypes"},
- {NeedSyntax, "NeedSyntax"},
- {NeedTypesInfo, "NeedTypesInfo"},
- {NeedTypesSizes, "NeedTypesSizes"},
- {NeedModule, "NeedModule"},
- {NeedEmbedFiles, "NeedEmbedFiles"},
- {NeedEmbedPatterns, "NeedEmbedPatterns"},
-}
-
-func (mode LoadMode) String() string {
- if mode == 0 {
- return "LoadMode(0)"
- }
- var out []string
- // named bits
- for _, item := range modes {
- if (mode & item.mode) != 0 {
- mode ^= item.mode
- out = append(out, item.name)
- }
- }
- // unnamed residue
- if mode != 0 {
- if out == nil {
- return fmt.Sprintf("LoadMode(%#x)", int(mode))
- }
- out = append(out, fmt.Sprintf("%#x", int(mode)))
- }
- if len(out) == 1 {
- return out[0]
- }
- return "(" + strings.Join(out, "|") + ")"
-}
diff --git a/vendor/golang.org/x/tools/go/packages/packages.go b/vendor/golang.org/x/tools/go/packages/packages.go
deleted file mode 100644
index f227f1ba..00000000
--- a/vendor/golang.org/x/tools/go/packages/packages.go
+++ /dev/null
@@ -1,1527 +0,0 @@
-// Copyright 2018 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package packages
-
-// See doc.go for package documentation and implementation notes.
-
-import (
- "context"
- "encoding/json"
- "errors"
- "fmt"
- "go/ast"
- "go/parser"
- "go/scanner"
- "go/token"
- "go/types"
- "io"
- "log"
- "os"
- "path/filepath"
- "runtime"
- "strings"
- "sync"
- "time"
-
- "golang.org/x/sync/errgroup"
-
- "golang.org/x/tools/go/gcexportdata"
- "golang.org/x/tools/internal/gocommand"
- "golang.org/x/tools/internal/packagesinternal"
- "golang.org/x/tools/internal/typesinternal"
- "golang.org/x/tools/internal/versions"
-)
-
-// A LoadMode controls the amount of detail to return when loading.
-// The bits below can be combined to specify which fields should be
-// filled in the result packages.
-//
-// The zero value is a special case, equivalent to combining
-// the NeedName, NeedFiles, and NeedCompiledGoFiles bits.
-//
-// ID and Errors (if present) will always be filled.
-// [Load] may return more information than requested.
-//
-// Unfortunately there are a number of open bugs related to
-// interactions among the LoadMode bits:
-// - https://github.com/golang/go/issues/56633
-// - https://github.com/golang/go/issues/56677
-// - https://github.com/golang/go/issues/58726
-// - https://github.com/golang/go/issues/63517
-type LoadMode int
-
-const (
- // NeedName adds Name and PkgPath.
- NeedName LoadMode = 1 << iota
-
- // NeedFiles adds GoFiles and OtherFiles.
- NeedFiles
-
- // NeedCompiledGoFiles adds CompiledGoFiles.
- NeedCompiledGoFiles
-
- // NeedImports adds Imports. If NeedDeps is not set, the Imports field will contain
- // "placeholder" Packages with only the ID set.
- NeedImports
-
- // NeedDeps adds the fields requested by the LoadMode in the packages in Imports.
- NeedDeps
-
- // NeedExportFile adds ExportFile.
- NeedExportFile
-
- // NeedTypes adds Types, Fset, and IllTyped.
- NeedTypes
-
- // NeedSyntax adds Syntax and Fset.
- NeedSyntax
-
- // NeedTypesInfo adds TypesInfo.
- NeedTypesInfo
-
- // NeedTypesSizes adds TypesSizes.
- NeedTypesSizes
-
- // needInternalDepsErrors adds the internal deps errors field for use by gopls.
- needInternalDepsErrors
-
- // needInternalForTest adds the internal forTest field.
- // Tests must also be set on the context for this field to be populated.
- needInternalForTest
-
- // typecheckCgo enables full support for type checking cgo. Requires Go 1.15+.
- // Modifies CompiledGoFiles and Types, and has no effect on its own.
- typecheckCgo
-
- // NeedModule adds Module.
- NeedModule
-
- // NeedEmbedFiles adds EmbedFiles.
- NeedEmbedFiles
-
- // NeedEmbedPatterns adds EmbedPatterns.
- NeedEmbedPatterns
-
- // Be sure to update loadmode_string.go when adding new items!
-)
-
-const (
- // LoadFiles loads the name and file names for the initial packages.
- //
- // Deprecated: LoadFiles exists for historical compatibility
- // and should not be used. Please directly specify the needed fields using the Need values.
- LoadFiles = NeedName | NeedFiles | NeedCompiledGoFiles
-
- // LoadImports loads the name, file names, and import mapping for the initial packages.
- //
- // Deprecated: LoadImports exists for historical compatibility
- // and should not be used. Please directly specify the needed fields using the Need values.
- LoadImports = LoadFiles | NeedImports
-
- // LoadTypes loads exported type information for the initial packages.
- //
- // Deprecated: LoadTypes exists for historical compatibility
- // and should not be used. Please directly specify the needed fields using the Need values.
- LoadTypes = LoadImports | NeedTypes | NeedTypesSizes
-
- // LoadSyntax loads typed syntax for the initial packages.
- //
- // Deprecated: LoadSyntax exists for historical compatibility
- // and should not be used. Please directly specify the needed fields using the Need values.
- LoadSyntax = LoadTypes | NeedSyntax | NeedTypesInfo
-
- // LoadAllSyntax loads typed syntax for the initial packages and all dependencies.
- //
- // Deprecated: LoadAllSyntax exists for historical compatibility
- // and should not be used. Please directly specify the needed fields using the Need values.
- LoadAllSyntax = LoadSyntax | NeedDeps
-
- // Deprecated: NeedExportsFile is a historical misspelling of NeedExportFile.
- NeedExportsFile = NeedExportFile
-)
-
-// A Config specifies details about how packages should be loaded.
-// The zero value is a valid configuration.
-//
-// Calls to Load do not modify this struct.
-//
-// TODO(adonovan): #67702: this is currently false: in fact,
-// calls to [Load] do not modify the public fields of this struct, but
-// may modify hidden fields, so concurrent calls to [Load] must not
-// use the same Config. But perhaps we should reestablish the
-// documented invariant.
-type Config struct {
- // Mode controls the level of information returned for each package.
- Mode LoadMode
-
- // Context specifies the context for the load operation.
- // Cancelling the context may cause [Load] to abort and
- // return an error.
- Context context.Context
-
- // Logf is the logger for the config.
- // If the user provides a logger, debug logging is enabled.
- // If the GOPACKAGESDEBUG environment variable is set to true,
- // but the logger is nil, default to log.Printf.
- Logf func(format string, args ...interface{})
-
- // Dir is the directory in which to run the build system's query tool
- // that provides information about the packages.
- // If Dir is empty, the tool is run in the current directory.
- Dir string
-
- // Env is the environment to use when invoking the build system's query tool.
- // If Env is nil, the current environment is used.
- // As in os/exec's Cmd, only the last value in the slice for
- // each environment key is used. To specify the setting of only
- // a few variables, append to the current environment, as in:
- //
- // opt.Env = append(os.Environ(), "GOOS=plan9", "GOARCH=386")
- //
- Env []string
-
- // gocmdRunner guards go command calls from concurrency errors.
- gocmdRunner *gocommand.Runner
-
- // BuildFlags is a list of command-line flags to be passed through to
- // the build system's query tool.
- BuildFlags []string
-
- // modFile will be used for -modfile in go command invocations.
- modFile string
-
- // modFlag will be used for -modfile in go command invocations.
- modFlag string
-
- // Fset provides source position information for syntax trees and types.
- // If Fset is nil, Load will use a new fileset, but preserve Fset's value.
- Fset *token.FileSet
-
- // ParseFile is called to read and parse each file
- // when preparing a package's type-checked syntax tree.
- // It must be safe to call ParseFile simultaneously from multiple goroutines.
- // If ParseFile is nil, the loader will uses parser.ParseFile.
- //
- // ParseFile should parse the source from src and use filename only for
- // recording position information.
- //
- // An application may supply a custom implementation of ParseFile
- // to change the effective file contents or the behavior of the parser,
- // or to modify the syntax tree. For example, selectively eliminating
- // unwanted function bodies can significantly accelerate type checking.
- ParseFile func(fset *token.FileSet, filename string, src []byte) (*ast.File, error)
-
- // If Tests is set, the loader includes not just the packages
- // matching a particular pattern but also any related test packages,
- // including test-only variants of the package and the test executable.
- //
- // For example, when using the go command, loading "fmt" with Tests=true
- // returns four packages, with IDs "fmt" (the standard package),
- // "fmt [fmt.test]" (the package as compiled for the test),
- // "fmt_test" (the test functions from source files in package fmt_test),
- // and "fmt.test" (the test binary).
- //
- // In build systems with explicit names for tests,
- // setting Tests may have no effect.
- Tests bool
-
- // Overlay is a mapping from absolute file paths to file contents.
- //
- // For each map entry, [Load] uses the alternative file
- // contents provided by the overlay mapping instead of reading
- // from the file system. This mechanism can be used to enable
- // editor-integrated tools to correctly analyze the contents
- // of modified but unsaved buffers, for example.
- //
- // The overlay mapping is passed to the build system's driver
- // (see "The driver protocol") so that it too can report
- // consistent package metadata about unsaved files. However,
- // drivers may vary in their level of support for overlays.
- Overlay map[string][]byte
-
- // goListOverlayFile is the JSON file that encodes the Overlay
- // mapping, used by 'go list -overlay=...'
- goListOverlayFile string
-}
-
-// Load loads and returns the Go packages named by the given patterns.
-//
-// The cfg parameter specifies loading options; nil behaves the same as an empty [Config].
-//
-// The [Config.Mode] field is a set of bits that determine what kinds
-// of information should be computed and returned. Modes that require
-// more information tend to be slower. See [LoadMode] for details
-// and important caveats. Its zero value is equivalent to
-// [NeedName] | [NeedFiles] | [NeedCompiledGoFiles].
-//
-// Each call to Load returns a new set of [Package] instances.
-// The Packages and their Imports form a directed acyclic graph.
-//
-// If the [NeedTypes] mode flag was set, each call to Load uses a new
-// [types.Importer], so [types.Object] and [types.Type] values from
-// different calls to Load must not be mixed as they will have
-// inconsistent notions of type identity.
-//
-// If any of the patterns was invalid as defined by the
-// underlying build system, Load returns an error.
-// It may return an empty list of packages without an error,
-// for instance for an empty expansion of a valid wildcard.
-// Errors associated with a particular package are recorded in the
-// corresponding Package's Errors list, and do not cause Load to
-// return an error. Clients may need to handle such errors before
-// proceeding with further analysis. The [PrintErrors] function is
-// provided for convenient display of all errors.
-func Load(cfg *Config, patterns ...string) ([]*Package, error) {
- ld := newLoader(cfg)
- response, external, err := defaultDriver(&ld.Config, patterns...)
- if err != nil {
- return nil, err
- }
-
- ld.sizes = types.SizesFor(response.Compiler, response.Arch)
- if ld.sizes == nil && ld.Config.Mode&(NeedTypes|NeedTypesSizes|NeedTypesInfo) != 0 {
- // Type size information is needed but unavailable.
- if external {
- // An external driver may fail to populate the Compiler/GOARCH fields,
- // especially since they are relatively new (see #63700).
- // Provide a sensible fallback in this case.
- ld.sizes = types.SizesFor("gc", runtime.GOARCH)
- if ld.sizes == nil { // gccgo-only arch
- ld.sizes = types.SizesFor("gc", "amd64")
- }
- } else {
- // Go list should never fail to deliver accurate size information.
- // Reject the whole Load since the error is the same for every package.
- return nil, fmt.Errorf("can't determine type sizes for compiler %q on GOARCH %q",
- response.Compiler, response.Arch)
- }
- }
-
- return ld.refine(response)
-}
-
-// defaultDriver is a driver that implements go/packages' fallback behavior.
-// It will try to request to an external driver, if one exists. If there's
-// no external driver, or the driver returns a response with NotHandled set,
-// defaultDriver will fall back to the go list driver.
-// The boolean result indicates that an external driver handled the request.
-func defaultDriver(cfg *Config, patterns ...string) (*DriverResponse, bool, error) {
- const (
- // windowsArgMax specifies the maximum command line length for
- // the Windows' CreateProcess function.
- windowsArgMax = 32767
- // maxEnvSize is a very rough estimation of the maximum environment
- // size of a user.
- maxEnvSize = 16384
- // safeArgMax specifies the maximum safe command line length to use
- // by the underlying driver excl. the environment. We choose the Windows'
- // ARG_MAX as the starting point because it's one of the lowest ARG_MAX
- // constants out of the different supported platforms,
- // e.g., https://www.in-ulm.de/~mascheck/various/argmax/#results.
- safeArgMax = windowsArgMax - maxEnvSize
- )
- chunks, err := splitIntoChunks(patterns, safeArgMax)
- if err != nil {
- return nil, false, err
- }
-
- if driver := findExternalDriver(cfg); driver != nil {
- response, err := callDriverOnChunks(driver, cfg, chunks)
- if err != nil {
- return nil, false, err
- } else if !response.NotHandled {
- return response, true, nil
- }
- // (fall through)
- }
-
- // go list fallback
- //
- // Write overlays once, as there are many calls
- // to 'go list' (one per chunk plus others too).
- overlay, cleanupOverlay, err := gocommand.WriteOverlays(cfg.Overlay)
- if err != nil {
- return nil, false, err
- }
- defer cleanupOverlay()
- cfg.goListOverlayFile = overlay
-
- response, err := callDriverOnChunks(goListDriver, cfg, chunks)
- if err != nil {
- return nil, false, err
- }
- return response, false, err
-}
-
-// splitIntoChunks chunks the slice so that the total number of characters
-// in a chunk is no longer than argMax.
-func splitIntoChunks(patterns []string, argMax int) ([][]string, error) {
- if argMax <= 0 {
- return nil, errors.New("failed to split patterns into chunks, negative safe argMax value")
- }
- var chunks [][]string
- charsInChunk := 0
- nextChunkStart := 0
- for i, v := range patterns {
- vChars := len(v)
- if vChars > argMax {
- // a single pattern is longer than the maximum safe ARG_MAX, hardly should happen
- return nil, errors.New("failed to split patterns into chunks, a pattern is too long")
- }
- charsInChunk += vChars + 1 // +1 is for a whitespace between patterns that has to be counted too
- if charsInChunk > argMax {
- chunks = append(chunks, patterns[nextChunkStart:i])
- nextChunkStart = i
- charsInChunk = vChars
- }
- }
- // add the last chunk
- if nextChunkStart < len(patterns) {
- chunks = append(chunks, patterns[nextChunkStart:])
- }
- return chunks, nil
-}
-
-func callDriverOnChunks(driver driver, cfg *Config, chunks [][]string) (*DriverResponse, error) {
- if len(chunks) == 0 {
- return driver(cfg)
- }
- responses := make([]*DriverResponse, len(chunks))
- errNotHandled := errors.New("driver returned NotHandled")
- var g errgroup.Group
- for i, chunk := range chunks {
- i := i
- chunk := chunk
- g.Go(func() (err error) {
- responses[i], err = driver(cfg, chunk...)
- if responses[i] != nil && responses[i].NotHandled {
- err = errNotHandled
- }
- return err
- })
- }
- if err := g.Wait(); err != nil {
- if errors.Is(err, errNotHandled) {
- return &DriverResponse{NotHandled: true}, nil
- }
- return nil, err
- }
- return mergeResponses(responses...), nil
-}
-
-func mergeResponses(responses ...*DriverResponse) *DriverResponse {
- if len(responses) == 0 {
- return nil
- }
- response := newDeduper()
- response.dr.NotHandled = false
- response.dr.Compiler = responses[0].Compiler
- response.dr.Arch = responses[0].Arch
- response.dr.GoVersion = responses[0].GoVersion
- for _, v := range responses {
- response.addAll(v)
- }
- return response.dr
-}
-
-// A Package describes a loaded Go package.
-//
-// It also defines part of the JSON schema of [DriverResponse].
-// See the package documentation for an overview.
-type Package struct {
- // ID is a unique identifier for a package,
- // in a syntax provided by the underlying build system.
- //
- // Because the syntax varies based on the build system,
- // clients should treat IDs as opaque and not attempt to
- // interpret them.
- ID string
-
- // Name is the package name as it appears in the package source code.
- Name string
-
- // PkgPath is the package path as used by the go/types package.
- PkgPath string
-
- // Errors contains any errors encountered querying the metadata
- // of the package, or while parsing or type-checking its files.
- Errors []Error
-
- // TypeErrors contains the subset of errors produced during type checking.
- TypeErrors []types.Error
-
- // GoFiles lists the absolute file paths of the package's Go source files.
- // It may include files that should not be compiled, for example because
- // they contain non-matching build tags, are documentary pseudo-files such as
- // unsafe/unsafe.go or builtin/builtin.go, or are subject to cgo preprocessing.
- GoFiles []string
-
- // CompiledGoFiles lists the absolute file paths of the package's source
- // files that are suitable for type checking.
- // This may differ from GoFiles if files are processed before compilation.
- CompiledGoFiles []string
-
- // OtherFiles lists the absolute file paths of the package's non-Go source files,
- // including assembly, C, C++, Fortran, Objective-C, SWIG, and so on.
- OtherFiles []string
-
- // EmbedFiles lists the absolute file paths of the package's files
- // embedded with go:embed.
- EmbedFiles []string
-
- // EmbedPatterns lists the absolute file patterns of the package's
- // files embedded with go:embed.
- EmbedPatterns []string
-
- // IgnoredFiles lists source files that are not part of the package
- // using the current build configuration but that might be part of
- // the package using other build configurations.
- IgnoredFiles []string
-
- // ExportFile is the absolute path to a file containing type
- // information for the package as provided by the build system.
- ExportFile string
-
- // Imports maps import paths appearing in the package's Go source files
- // to corresponding loaded Packages.
- Imports map[string]*Package
-
- // Module is the module information for the package if it exists.
- //
- // Note: it may be missing for std and cmd; see Go issue #65816.
- Module *Module
-
- // -- The following fields are not part of the driver JSON schema. --
-
- // Types provides type information for the package.
- // The NeedTypes LoadMode bit sets this field for packages matching the
- // patterns; type information for dependencies may be missing or incomplete,
- // unless NeedDeps and NeedImports are also set.
- //
- // Each call to [Load] returns a consistent set of type
- // symbols, as defined by the comment at [types.Identical].
- // Avoid mixing type information from two or more calls to [Load].
- Types *types.Package `json:"-"`
-
- // Fset provides position information for Types, TypesInfo, and Syntax.
- // It is set only when Types is set.
- Fset *token.FileSet `json:"-"`
-
- // IllTyped indicates whether the package or any dependency contains errors.
- // It is set only when Types is set.
- IllTyped bool `json:"-"`
-
- // Syntax is the package's syntax trees, for the files listed in CompiledGoFiles.
- //
- // The NeedSyntax LoadMode bit populates this field for packages matching the patterns.
- // If NeedDeps and NeedImports are also set, this field will also be populated
- // for dependencies.
- //
- // Syntax is kept in the same order as CompiledGoFiles, with the caveat that nils are
- // removed. If parsing returned nil, Syntax may be shorter than CompiledGoFiles.
- Syntax []*ast.File `json:"-"`
-
- // TypesInfo provides type information about the package's syntax trees.
- // It is set only when Syntax is set.
- TypesInfo *types.Info `json:"-"`
-
- // TypesSizes provides the effective size function for types in TypesInfo.
- TypesSizes types.Sizes `json:"-"`
-
- // -- internal --
-
- // forTest is the package under test, if any.
- forTest string
-
- // depsErrors is the DepsErrors field from the go list response, if any.
- depsErrors []*packagesinternal.PackageError
-}
-
-// Module provides module information for a package.
-//
-// It also defines part of the JSON schema of [DriverResponse].
-// See the package documentation for an overview.
-type Module struct {
- Path string // module path
- Version string // module version
- Replace *Module // replaced by this module
- Time *time.Time // time version was created
- Main bool // is this the main module?
- Indirect bool // is this module only an indirect dependency of main module?
- Dir string // directory holding files for this module, if any
- GoMod string // path to go.mod file used when loading this module, if any
- GoVersion string // go version used in module
- Error *ModuleError // error loading module
-}
-
-// ModuleError holds errors loading a module.
-type ModuleError struct {
- Err string // the error itself
-}
-
-func init() {
- packagesinternal.GetForTest = func(p interface{}) string {
- return p.(*Package).forTest
- }
- packagesinternal.GetDepsErrors = func(p interface{}) []*packagesinternal.PackageError {
- return p.(*Package).depsErrors
- }
- packagesinternal.SetModFile = func(config interface{}, value string) {
- config.(*Config).modFile = value
- }
- packagesinternal.SetModFlag = func(config interface{}, value string) {
- config.(*Config).modFlag = value
- }
- packagesinternal.TypecheckCgo = int(typecheckCgo)
- packagesinternal.DepsErrors = int(needInternalDepsErrors)
- packagesinternal.ForTest = int(needInternalForTest)
-}
-
-// An Error describes a problem with a package's metadata, syntax, or types.
-type Error struct {
- Pos string // "file:line:col" or "file:line" or "" or "-"
- Msg string
- Kind ErrorKind
-}
-
-// ErrorKind describes the source of the error, allowing the user to
-// differentiate between errors generated by the driver, the parser, or the
-// type-checker.
-type ErrorKind int
-
-const (
- UnknownError ErrorKind = iota
- ListError
- ParseError
- TypeError
-)
-
-func (err Error) Error() string {
- pos := err.Pos
- if pos == "" {
- pos = "-" // like token.Position{}.String()
- }
- return pos + ": " + err.Msg
-}
-
-// flatPackage is the JSON form of Package
-// It drops all the type and syntax fields, and transforms the Imports
-//
-// TODO(adonovan): identify this struct with Package, effectively
-// publishing the JSON protocol.
-type flatPackage struct {
- ID string
- Name string `json:",omitempty"`
- PkgPath string `json:",omitempty"`
- Errors []Error `json:",omitempty"`
- GoFiles []string `json:",omitempty"`
- CompiledGoFiles []string `json:",omitempty"`
- OtherFiles []string `json:",omitempty"`
- EmbedFiles []string `json:",omitempty"`
- EmbedPatterns []string `json:",omitempty"`
- IgnoredFiles []string `json:",omitempty"`
- ExportFile string `json:",omitempty"`
- Imports map[string]string `json:",omitempty"`
-}
-
-// MarshalJSON returns the Package in its JSON form.
-// For the most part, the structure fields are written out unmodified, and
-// the type and syntax fields are skipped.
-// The imports are written out as just a map of path to package id.
-// The errors are written using a custom type that tries to preserve the
-// structure of error types we know about.
-//
-// This method exists to enable support for additional build systems. It is
-// not intended for use by clients of the API and we may change the format.
-func (p *Package) MarshalJSON() ([]byte, error) {
- flat := &flatPackage{
- ID: p.ID,
- Name: p.Name,
- PkgPath: p.PkgPath,
- Errors: p.Errors,
- GoFiles: p.GoFiles,
- CompiledGoFiles: p.CompiledGoFiles,
- OtherFiles: p.OtherFiles,
- EmbedFiles: p.EmbedFiles,
- EmbedPatterns: p.EmbedPatterns,
- IgnoredFiles: p.IgnoredFiles,
- ExportFile: p.ExportFile,
- }
- if len(p.Imports) > 0 {
- flat.Imports = make(map[string]string, len(p.Imports))
- for path, ipkg := range p.Imports {
- flat.Imports[path] = ipkg.ID
- }
- }
- return json.Marshal(flat)
-}
-
-// UnmarshalJSON reads in a Package from its JSON format.
-// See MarshalJSON for details about the format accepted.
-func (p *Package) UnmarshalJSON(b []byte) error {
- flat := &flatPackage{}
- if err := json.Unmarshal(b, &flat); err != nil {
- return err
- }
- *p = Package{
- ID: flat.ID,
- Name: flat.Name,
- PkgPath: flat.PkgPath,
- Errors: flat.Errors,
- GoFiles: flat.GoFiles,
- CompiledGoFiles: flat.CompiledGoFiles,
- OtherFiles: flat.OtherFiles,
- EmbedFiles: flat.EmbedFiles,
- EmbedPatterns: flat.EmbedPatterns,
- IgnoredFiles: flat.IgnoredFiles,
- ExportFile: flat.ExportFile,
- }
- if len(flat.Imports) > 0 {
- p.Imports = make(map[string]*Package, len(flat.Imports))
- for path, id := range flat.Imports {
- p.Imports[path] = &Package{ID: id}
- }
- }
- return nil
-}
-
-func (p *Package) String() string { return p.ID }
-
-// loaderPackage augments Package with state used during the loading phase
-type loaderPackage struct {
- *Package
- importErrors map[string]error // maps each bad import to its error
- loadOnce sync.Once
- color uint8 // for cycle detection
- needsrc bool // load from source (Mode >= LoadTypes)
- needtypes bool // type information is either requested or depended on
- initial bool // package was matched by a pattern
- goVersion int // minor version number of go command on PATH
-}
-
-// loader holds the working state of a single call to load.
-type loader struct {
- pkgs map[string]*loaderPackage
- Config
- sizes types.Sizes // non-nil if needed by mode
- parseCache map[string]*parseValue
- parseCacheMu sync.Mutex
- exportMu sync.Mutex // enforces mutual exclusion of exportdata operations
-
- // Config.Mode contains the implied mode (see impliedLoadMode).
- // Implied mode contains all the fields we need the data for.
- // In requestedMode there are the actually requested fields.
- // We'll zero them out before returning packages to the user.
- // This makes it easier for us to get the conditions where
- // we need certain modes right.
- requestedMode LoadMode
-}
-
-type parseValue struct {
- f *ast.File
- err error
- ready chan struct{}
-}
-
-func newLoader(cfg *Config) *loader {
- ld := &loader{
- parseCache: map[string]*parseValue{},
- }
- if cfg != nil {
- ld.Config = *cfg
- // If the user has provided a logger, use it.
- ld.Config.Logf = cfg.Logf
- }
- if ld.Config.Logf == nil {
- // If the GOPACKAGESDEBUG environment variable is set to true,
- // but the user has not provided a logger, default to log.Printf.
- if debug {
- ld.Config.Logf = log.Printf
- } else {
- ld.Config.Logf = func(format string, args ...interface{}) {}
- }
- }
- if ld.Config.Mode == 0 {
- ld.Config.Mode = NeedName | NeedFiles | NeedCompiledGoFiles // Preserve zero behavior of Mode for backwards compatibility.
- }
- if ld.Config.Env == nil {
- ld.Config.Env = os.Environ()
- }
- if ld.Config.gocmdRunner == nil {
- ld.Config.gocmdRunner = &gocommand.Runner{}
- }
- if ld.Context == nil {
- ld.Context = context.Background()
- }
- if ld.Dir == "" {
- if dir, err := os.Getwd(); err == nil {
- ld.Dir = dir
- }
- }
-
- // Save the actually requested fields. We'll zero them out before returning packages to the user.
- ld.requestedMode = ld.Mode
- ld.Mode = impliedLoadMode(ld.Mode)
-
- if ld.Mode&NeedTypes != 0 || ld.Mode&NeedSyntax != 0 {
- if ld.Fset == nil {
- ld.Fset = token.NewFileSet()
- }
-
- // ParseFile is required even in LoadTypes mode
- // because we load source if export data is missing.
- if ld.ParseFile == nil {
- ld.ParseFile = func(fset *token.FileSet, filename string, src []byte) (*ast.File, error) {
- // We implicitly promise to keep doing ast.Object resolution. :(
- const mode = parser.AllErrors | parser.ParseComments
- return parser.ParseFile(fset, filename, src, mode)
- }
- }
- }
-
- return ld
-}
-
-// refine connects the supplied packages into a graph and then adds type
-// and syntax information as requested by the LoadMode.
-func (ld *loader) refine(response *DriverResponse) ([]*Package, error) {
- roots := response.Roots
- rootMap := make(map[string]int, len(roots))
- for i, root := range roots {
- rootMap[root] = i
- }
- ld.pkgs = make(map[string]*loaderPackage)
- // first pass, fixup and build the map and roots
- var initial = make([]*loaderPackage, len(roots))
- for _, pkg := range response.Packages {
- rootIndex := -1
- if i, found := rootMap[pkg.ID]; found {
- rootIndex = i
- }
-
- // Overlays can invalidate export data.
- // TODO(matloob): make this check fine-grained based on dependencies on overlaid files
- exportDataInvalid := len(ld.Overlay) > 0 || pkg.ExportFile == "" && pkg.PkgPath != "unsafe"
- // This package needs type information if the caller requested types and the package is
- // either a root, or it's a non-root and the user requested dependencies ...
- needtypes := (ld.Mode&NeedTypes|NeedTypesInfo != 0 && (rootIndex >= 0 || ld.Mode&NeedDeps != 0))
- // This package needs source if the call requested source (or types info, which implies source)
- // and the package is either a root, or itas a non- root and the user requested dependencies...
- needsrc := ((ld.Mode&(NeedSyntax|NeedTypesInfo) != 0 && (rootIndex >= 0 || ld.Mode&NeedDeps != 0)) ||
- // ... or if we need types and the exportData is invalid. We fall back to (incompletely)
- // typechecking packages from source if they fail to compile.
- (ld.Mode&(NeedTypes|NeedTypesInfo) != 0 && exportDataInvalid)) && pkg.PkgPath != "unsafe"
- lpkg := &loaderPackage{
- Package: pkg,
- needtypes: needtypes,
- needsrc: needsrc,
- goVersion: response.GoVersion,
- }
- ld.pkgs[lpkg.ID] = lpkg
- if rootIndex >= 0 {
- initial[rootIndex] = lpkg
- lpkg.initial = true
- }
- }
- for i, root := range roots {
- if initial[i] == nil {
- return nil, fmt.Errorf("root package %v is missing", root)
- }
- }
-
- if ld.Mode&NeedImports != 0 {
- // Materialize the import graph.
-
- const (
- white = 0 // new
- grey = 1 // in progress
- black = 2 // complete
- )
-
- // visit traverses the import graph, depth-first,
- // and materializes the graph as Packages.Imports.
- //
- // Valid imports are saved in the Packages.Import map.
- // Invalid imports (cycles and missing nodes) are saved in the importErrors map.
- // Thus, even in the presence of both kinds of errors,
- // the Import graph remains a DAG.
- //
- // visit returns whether the package needs src or has a transitive
- // dependency on a package that does. These are the only packages
- // for which we load source code.
- var stack []*loaderPackage
- var visit func(lpkg *loaderPackage) bool
- visit = func(lpkg *loaderPackage) bool {
- switch lpkg.color {
- case black:
- return lpkg.needsrc
- case grey:
- panic("internal error: grey node")
- }
- lpkg.color = grey
- stack = append(stack, lpkg) // push
- stubs := lpkg.Imports // the structure form has only stubs with the ID in the Imports
- lpkg.Imports = make(map[string]*Package, len(stubs))
- for importPath, ipkg := range stubs {
- var importErr error
- imp := ld.pkgs[ipkg.ID]
- if imp == nil {
- // (includes package "C" when DisableCgo)
- importErr = fmt.Errorf("missing package: %q", ipkg.ID)
- } else if imp.color == grey {
- importErr = fmt.Errorf("import cycle: %s", stack)
- }
- if importErr != nil {
- if lpkg.importErrors == nil {
- lpkg.importErrors = make(map[string]error)
- }
- lpkg.importErrors[importPath] = importErr
- continue
- }
-
- if visit(imp) {
- lpkg.needsrc = true
- }
- lpkg.Imports[importPath] = imp.Package
- }
-
- // Complete type information is required for the
- // immediate dependencies of each source package.
- if lpkg.needsrc && ld.Mode&NeedTypes != 0 {
- for _, ipkg := range lpkg.Imports {
- ld.pkgs[ipkg.ID].needtypes = true
- }
- }
-
- // NeedTypeSizes causes TypeSizes to be set even
- // on packages for which types aren't needed.
- if ld.Mode&NeedTypesSizes != 0 {
- lpkg.TypesSizes = ld.sizes
- }
- stack = stack[:len(stack)-1] // pop
- lpkg.color = black
-
- return lpkg.needsrc
- }
-
- // For each initial package, create its import DAG.
- for _, lpkg := range initial {
- visit(lpkg)
- }
-
- } else {
- // !NeedImports: drop the stub (ID-only) import packages
- // that we are not even going to try to resolve.
- for _, lpkg := range initial {
- lpkg.Imports = nil
- }
- }
-
- // Load type data and syntax if needed, starting at
- // the initial packages (roots of the import DAG).
- if ld.Mode&NeedTypes != 0 || ld.Mode&NeedSyntax != 0 {
- var wg sync.WaitGroup
- for _, lpkg := range initial {
- wg.Add(1)
- go func(lpkg *loaderPackage) {
- ld.loadRecursive(lpkg)
- wg.Done()
- }(lpkg)
- }
- wg.Wait()
- }
-
- // If the context is done, return its error and
- // throw out [likely] incomplete packages.
- if err := ld.Context.Err(); err != nil {
- return nil, err
- }
-
- result := make([]*Package, len(initial))
- for i, lpkg := range initial {
- result[i] = lpkg.Package
- }
- for i := range ld.pkgs {
- // Clear all unrequested fields,
- // to catch programs that use more than they request.
- if ld.requestedMode&NeedName == 0 {
- ld.pkgs[i].Name = ""
- ld.pkgs[i].PkgPath = ""
- }
- if ld.requestedMode&NeedFiles == 0 {
- ld.pkgs[i].GoFiles = nil
- ld.pkgs[i].OtherFiles = nil
- ld.pkgs[i].IgnoredFiles = nil
- }
- if ld.requestedMode&NeedEmbedFiles == 0 {
- ld.pkgs[i].EmbedFiles = nil
- }
- if ld.requestedMode&NeedEmbedPatterns == 0 {
- ld.pkgs[i].EmbedPatterns = nil
- }
- if ld.requestedMode&NeedCompiledGoFiles == 0 {
- ld.pkgs[i].CompiledGoFiles = nil
- }
- if ld.requestedMode&NeedImports == 0 {
- ld.pkgs[i].Imports = nil
- }
- if ld.requestedMode&NeedExportFile == 0 {
- ld.pkgs[i].ExportFile = ""
- }
- if ld.requestedMode&NeedTypes == 0 {
- ld.pkgs[i].Types = nil
- ld.pkgs[i].IllTyped = false
- }
- if ld.requestedMode&NeedSyntax == 0 {
- ld.pkgs[i].Syntax = nil
- }
- if ld.requestedMode&NeedTypes == 0 && ld.requestedMode&NeedSyntax == 0 {
- ld.pkgs[i].Fset = nil
- }
- if ld.requestedMode&NeedTypesInfo == 0 {
- ld.pkgs[i].TypesInfo = nil
- }
- if ld.requestedMode&NeedTypesSizes == 0 {
- ld.pkgs[i].TypesSizes = nil
- }
- if ld.requestedMode&NeedModule == 0 {
- ld.pkgs[i].Module = nil
- }
- }
-
- return result, nil
-}
-
-// loadRecursive loads the specified package and its dependencies,
-// recursively, in parallel, in topological order.
-// It is atomic and idempotent.
-// Precondition: ld.Mode&NeedTypes.
-func (ld *loader) loadRecursive(lpkg *loaderPackage) {
- lpkg.loadOnce.Do(func() {
- // Load the direct dependencies, in parallel.
- var wg sync.WaitGroup
- for _, ipkg := range lpkg.Imports {
- imp := ld.pkgs[ipkg.ID]
- wg.Add(1)
- go func(imp *loaderPackage) {
- ld.loadRecursive(imp)
- wg.Done()
- }(imp)
- }
- wg.Wait()
- ld.loadPackage(lpkg)
- })
-}
-
-// loadPackage loads the specified package.
-// It must be called only once per Package,
-// after immediate dependencies are loaded.
-// Precondition: ld.Mode & NeedTypes.
-func (ld *loader) loadPackage(lpkg *loaderPackage) {
- if lpkg.PkgPath == "unsafe" {
- // Fill in the blanks to avoid surprises.
- lpkg.Types = types.Unsafe
- lpkg.Fset = ld.Fset
- lpkg.Syntax = []*ast.File{}
- lpkg.TypesInfo = new(types.Info)
- lpkg.TypesSizes = ld.sizes
- return
- }
-
- // Call NewPackage directly with explicit name.
- // This avoids skew between golist and go/types when the files'
- // package declarations are inconsistent.
- lpkg.Types = types.NewPackage(lpkg.PkgPath, lpkg.Name)
- lpkg.Fset = ld.Fset
-
- // Start shutting down if the context is done and do not load
- // source or export data files.
- // Packages that import this one will have ld.Context.Err() != nil.
- // ld.Context.Err() will be returned later by refine.
- if ld.Context.Err() != nil {
- return
- }
-
- // Subtle: we populate all Types fields with an empty Package
- // before loading export data so that export data processing
- // never has to create a types.Package for an indirect dependency,
- // which would then require that such created packages be explicitly
- // inserted back into the Import graph as a final step after export data loading.
- // (Hence this return is after the Types assignment.)
- // The Diamond test exercises this case.
- if !lpkg.needtypes && !lpkg.needsrc {
- return
- }
- if !lpkg.needsrc {
- if err := ld.loadFromExportData(lpkg); err != nil {
- lpkg.Errors = append(lpkg.Errors, Error{
- Pos: "-",
- Msg: err.Error(),
- Kind: UnknownError, // e.g. can't find/open/parse export data
- })
- }
- return // not a source package, don't get syntax trees
- }
-
- appendError := func(err error) {
- // Convert various error types into the one true Error.
- var errs []Error
- switch err := err.(type) {
- case Error:
- // from driver
- errs = append(errs, err)
-
- case *os.PathError:
- // from parser
- errs = append(errs, Error{
- Pos: err.Path + ":1",
- Msg: err.Err.Error(),
- Kind: ParseError,
- })
-
- case scanner.ErrorList:
- // from parser
- for _, err := range err {
- errs = append(errs, Error{
- Pos: err.Pos.String(),
- Msg: err.Msg,
- Kind: ParseError,
- })
- }
-
- case types.Error:
- // from type checker
- lpkg.TypeErrors = append(lpkg.TypeErrors, err)
- errs = append(errs, Error{
- Pos: err.Fset.Position(err.Pos).String(),
- Msg: err.Msg,
- Kind: TypeError,
- })
-
- default:
- // unexpected impoverished error from parser?
- errs = append(errs, Error{
- Pos: "-",
- Msg: err.Error(),
- Kind: UnknownError,
- })
-
- // If you see this error message, please file a bug.
- log.Printf("internal error: error %q (%T) without position", err, err)
- }
-
- lpkg.Errors = append(lpkg.Errors, errs...)
- }
-
- // If the go command on the PATH is newer than the runtime,
- // then the go/{scanner,ast,parser,types} packages from the
- // standard library may be unable to process the files
- // selected by go list.
- //
- // There is currently no way to downgrade the effective
- // version of the go command (see issue 52078), so we proceed
- // with the newer go command but, in case of parse or type
- // errors, we emit an additional diagnostic.
- //
- // See:
- // - golang.org/issue/52078 (flag to set release tags)
- // - golang.org/issue/50825 (gopls legacy version support)
- // - golang.org/issue/55883 (go/packages confusing error)
- //
- // Should we assert a hard minimum of (currently) go1.16 here?
- var runtimeVersion int
- if _, err := fmt.Sscanf(runtime.Version(), "go1.%d", &runtimeVersion); err == nil && runtimeVersion < lpkg.goVersion {
- defer func() {
- if len(lpkg.Errors) > 0 {
- appendError(Error{
- Pos: "-",
- Msg: fmt.Sprintf("This application uses version go1.%d of the source-processing packages but runs version go1.%d of 'go list'. It may fail to process source files that rely on newer language features. If so, rebuild the application using a newer version of Go.", runtimeVersion, lpkg.goVersion),
- Kind: UnknownError,
- })
- }
- }()
- }
-
- if ld.Config.Mode&NeedTypes != 0 && len(lpkg.CompiledGoFiles) == 0 && lpkg.ExportFile != "" {
- // The config requested loading sources and types, but sources are missing.
- // Add an error to the package and fall back to loading from export data.
- appendError(Error{"-", fmt.Sprintf("sources missing for package %s", lpkg.ID), ParseError})
- _ = ld.loadFromExportData(lpkg) // ignore any secondary errors
-
- return // can't get syntax trees for this package
- }
-
- files, errs := ld.parseFiles(lpkg.CompiledGoFiles)
- for _, err := range errs {
- appendError(err)
- }
-
- lpkg.Syntax = files
- if ld.Config.Mode&NeedTypes == 0 {
- return
- }
-
- // Start shutting down if the context is done and do not type check.
- // Packages that import this one will have ld.Context.Err() != nil.
- // ld.Context.Err() will be returned later by refine.
- if ld.Context.Err() != nil {
- return
- }
-
- lpkg.TypesInfo = &types.Info{
- Types: make(map[ast.Expr]types.TypeAndValue),
- Defs: make(map[*ast.Ident]types.Object),
- Uses: make(map[*ast.Ident]types.Object),
- Implicits: make(map[ast.Node]types.Object),
- Instances: make(map[*ast.Ident]types.Instance),
- Scopes: make(map[ast.Node]*types.Scope),
- Selections: make(map[*ast.SelectorExpr]*types.Selection),
- }
- versions.InitFileVersions(lpkg.TypesInfo)
- lpkg.TypesSizes = ld.sizes
-
- importer := importerFunc(func(path string) (*types.Package, error) {
- if path == "unsafe" {
- return types.Unsafe, nil
- }
-
- // The imports map is keyed by import path.
- ipkg := lpkg.Imports[path]
- if ipkg == nil {
- if err := lpkg.importErrors[path]; err != nil {
- return nil, err
- }
- // There was skew between the metadata and the
- // import declarations, likely due to an edit
- // race, or because the ParseFile feature was
- // used to supply alternative file contents.
- return nil, fmt.Errorf("no metadata for %s", path)
- }
-
- if ipkg.Types != nil && ipkg.Types.Complete() {
- return ipkg.Types, nil
- }
- log.Fatalf("internal error: package %q without types was imported from %q", path, lpkg)
- panic("unreachable")
- })
-
- // type-check
- tc := &types.Config{
- Importer: importer,
-
- // Type-check bodies of functions only in initial packages.
- // Example: for import graph A->B->C and initial packages {A,C},
- // we can ignore function bodies in B.
- IgnoreFuncBodies: ld.Mode&NeedDeps == 0 && !lpkg.initial,
-
- Error: appendError,
- Sizes: ld.sizes, // may be nil
- }
- if lpkg.Module != nil && lpkg.Module.GoVersion != "" {
- tc.GoVersion = "go" + lpkg.Module.GoVersion
- }
- if (ld.Mode & typecheckCgo) != 0 {
- if !typesinternal.SetUsesCgo(tc) {
- appendError(Error{
- Msg: "typecheckCgo requires Go 1.15+",
- Kind: ListError,
- })
- return
- }
- }
-
- typErr := types.NewChecker(tc, ld.Fset, lpkg.Types, lpkg.TypesInfo).Files(lpkg.Syntax)
- lpkg.importErrors = nil // no longer needed
-
- // In go/types go1.21 and go1.22, Checker.Files failed fast with a
- // a "too new" error, without calling tc.Error and without
- // proceeding to type-check the package (#66525).
- // We rely on the runtimeVersion error to give the suggested remedy.
- if typErr != nil && len(lpkg.Errors) == 0 && len(lpkg.Syntax) > 0 {
- if msg := typErr.Error(); strings.HasPrefix(msg, "package requires newer Go version") {
- appendError(types.Error{
- Fset: ld.Fset,
- Pos: lpkg.Syntax[0].Package,
- Msg: msg,
- })
- }
- }
-
- // If !Cgo, the type-checker uses FakeImportC mode, so
- // it doesn't invoke the importer for import "C",
- // nor report an error for the import,
- // or for any undefined C.f reference.
- // We must detect this explicitly and correctly
- // mark the package as IllTyped (by reporting an error).
- // TODO(adonovan): if these errors are annoying,
- // we could just set IllTyped quietly.
- if tc.FakeImportC {
- outer:
- for _, f := range lpkg.Syntax {
- for _, imp := range f.Imports {
- if imp.Path.Value == `"C"` {
- err := types.Error{Fset: ld.Fset, Pos: imp.Pos(), Msg: `import "C" ignored`}
- appendError(err)
- break outer
- }
- }
- }
- }
-
- // If types.Checker.Files had an error that was unreported,
- // make sure to report the unknown error so the package is illTyped.
- if typErr != nil && len(lpkg.Errors) == 0 {
- appendError(typErr)
- }
-
- // Record accumulated errors.
- illTyped := len(lpkg.Errors) > 0
- if !illTyped {
- for _, imp := range lpkg.Imports {
- if imp.IllTyped {
- illTyped = true
- break
- }
- }
- }
- lpkg.IllTyped = illTyped
-}
-
-// An importFunc is an implementation of the single-method
-// types.Importer interface based on a function value.
-type importerFunc func(path string) (*types.Package, error)
-
-func (f importerFunc) Import(path string) (*types.Package, error) { return f(path) }
-
-// We use a counting semaphore to limit
-// the number of parallel I/O calls per process.
-var ioLimit = make(chan bool, 20)
-
-func (ld *loader) parseFile(filename string) (*ast.File, error) {
- ld.parseCacheMu.Lock()
- v, ok := ld.parseCache[filename]
- if ok {
- // cache hit
- ld.parseCacheMu.Unlock()
- <-v.ready
- } else {
- // cache miss
- v = &parseValue{ready: make(chan struct{})}
- ld.parseCache[filename] = v
- ld.parseCacheMu.Unlock()
-
- var src []byte
- for f, contents := range ld.Config.Overlay {
- if sameFile(f, filename) {
- src = contents
- }
- }
- var err error
- if src == nil {
- ioLimit <- true // wait
- src, err = os.ReadFile(filename)
- <-ioLimit // signal
- }
- if err != nil {
- v.err = err
- } else {
- v.f, v.err = ld.ParseFile(ld.Fset, filename, src)
- }
-
- close(v.ready)
- }
- return v.f, v.err
-}
-
-// parseFiles reads and parses the Go source files and returns the ASTs
-// of the ones that could be at least partially parsed, along with a
-// list of I/O and parse errors encountered.
-//
-// Because files are scanned in parallel, the token.Pos
-// positions of the resulting ast.Files are not ordered.
-func (ld *loader) parseFiles(filenames []string) ([]*ast.File, []error) {
- var wg sync.WaitGroup
- n := len(filenames)
- parsed := make([]*ast.File, n)
- errors := make([]error, n)
- for i, file := range filenames {
- wg.Add(1)
- go func(i int, filename string) {
- parsed[i], errors[i] = ld.parseFile(filename)
- wg.Done()
- }(i, file)
- }
- wg.Wait()
-
- // Eliminate nils, preserving order.
- var o int
- for _, f := range parsed {
- if f != nil {
- parsed[o] = f
- o++
- }
- }
- parsed = parsed[:o]
-
- o = 0
- for _, err := range errors {
- if err != nil {
- errors[o] = err
- o++
- }
- }
- errors = errors[:o]
-
- return parsed, errors
-}
-
-// sameFile returns true if x and y have the same basename and denote
-// the same file.
-func sameFile(x, y string) bool {
- if x == y {
- // It could be the case that y doesn't exist.
- // For instance, it may be an overlay file that
- // hasn't been written to disk. To handle that case
- // let x == y through. (We added the exact absolute path
- // string to the CompiledGoFiles list, so the unwritten
- // overlay case implies x==y.)
- return true
- }
- if strings.EqualFold(filepath.Base(x), filepath.Base(y)) { // (optimisation)
- if xi, err := os.Stat(x); err == nil {
- if yi, err := os.Stat(y); err == nil {
- return os.SameFile(xi, yi)
- }
- }
- }
- return false
-}
-
-// loadFromExportData ensures that type information is present for the specified
-// package, loading it from an export data file on the first request.
-// On success it sets lpkg.Types to a new Package.
-func (ld *loader) loadFromExportData(lpkg *loaderPackage) error {
- if lpkg.PkgPath == "" {
- log.Fatalf("internal error: Package %s has no PkgPath", lpkg)
- }
-
- // Because gcexportdata.Read has the potential to create or
- // modify the types.Package for each node in the transitive
- // closure of dependencies of lpkg, all exportdata operations
- // must be sequential. (Finer-grained locking would require
- // changes to the gcexportdata API.)
- //
- // The exportMu lock guards the lpkg.Types field and the
- // types.Package it points to, for each loaderPackage in the graph.
- //
- // Not all accesses to Package.Pkg need to be protected by exportMu:
- // graph ordering ensures that direct dependencies of source
- // packages are fully loaded before the importer reads their Pkg field.
- ld.exportMu.Lock()
- defer ld.exportMu.Unlock()
-
- if tpkg := lpkg.Types; tpkg != nil && tpkg.Complete() {
- return nil // cache hit
- }
-
- lpkg.IllTyped = true // fail safe
-
- if lpkg.ExportFile == "" {
- // Errors while building export data will have been printed to stderr.
- return fmt.Errorf("no export data file")
- }
- f, err := os.Open(lpkg.ExportFile)
- if err != nil {
- return err
- }
- defer f.Close()
-
- // Read gc export data.
- //
- // We don't currently support gccgo export data because all
- // underlying workspaces use the gc toolchain. (Even build
- // systems that support gccgo don't use it for workspace
- // queries.)
- r, err := gcexportdata.NewReader(f)
- if err != nil {
- return fmt.Errorf("reading %s: %v", lpkg.ExportFile, err)
- }
-
- // Build the view.
- //
- // The gcexportdata machinery has no concept of package ID.
- // It identifies packages by their PkgPath, which although not
- // globally unique is unique within the scope of one invocation
- // of the linker, type-checker, or gcexportdata.
- //
- // So, we must build a PkgPath-keyed view of the global
- // (conceptually ID-keyed) cache of packages and pass it to
- // gcexportdata. The view must contain every existing
- // package that might possibly be mentioned by the
- // current package---its transitive closure.
- //
- // In loadPackage, we unconditionally create a types.Package for
- // each dependency so that export data loading does not
- // create new ones.
- //
- // TODO(adonovan): it would be simpler and more efficient
- // if the export data machinery invoked a callback to
- // get-or-create a package instead of a map.
- //
- view := make(map[string]*types.Package) // view seen by gcexportdata
- seen := make(map[*loaderPackage]bool) // all visited packages
- var visit func(pkgs map[string]*Package)
- visit = func(pkgs map[string]*Package) {
- for _, p := range pkgs {
- lpkg := ld.pkgs[p.ID]
- if !seen[lpkg] {
- seen[lpkg] = true
- view[lpkg.PkgPath] = lpkg.Types
- visit(lpkg.Imports)
- }
- }
- }
- visit(lpkg.Imports)
-
- viewLen := len(view) + 1 // adding the self package
- // Parse the export data.
- // (May modify incomplete packages in view but not create new ones.)
- tpkg, err := gcexportdata.Read(r, ld.Fset, view, lpkg.PkgPath)
- if err != nil {
- return fmt.Errorf("reading %s: %v", lpkg.ExportFile, err)
- }
- if _, ok := view["go.shape"]; ok {
- // Account for the pseudopackage "go.shape" that gets
- // created by generic code.
- viewLen++
- }
- if viewLen != len(view) {
- log.Panicf("golang.org/x/tools/go/packages: unexpected new packages during load of %s", lpkg.PkgPath)
- }
-
- lpkg.Types = tpkg
- lpkg.IllTyped = false
- return nil
-}
-
-// impliedLoadMode returns loadMode with its dependencies.
-func impliedLoadMode(loadMode LoadMode) LoadMode {
- if loadMode&(NeedDeps|NeedTypes|NeedTypesInfo) != 0 {
- // All these things require knowing the import graph.
- loadMode |= NeedImports
- }
- if loadMode&NeedTypes != 0 {
- // Types require the GoVersion from Module.
- loadMode |= NeedModule
- }
-
- return loadMode
-}
-
-func usesExportData(cfg *Config) bool {
- return cfg.Mode&NeedExportFile != 0 || cfg.Mode&NeedTypes != 0 && cfg.Mode&NeedDeps == 0
-}
-
-var _ interface{} = io.Discard // assert build toolchain is go1.16 or later
diff --git a/vendor/golang.org/x/tools/go/packages/visit.go b/vendor/golang.org/x/tools/go/packages/visit.go
deleted file mode 100644
index df14ffd9..00000000
--- a/vendor/golang.org/x/tools/go/packages/visit.go
+++ /dev/null
@@ -1,68 +0,0 @@
-// Copyright 2018 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package packages
-
-import (
- "fmt"
- "os"
- "sort"
-)
-
-// Visit visits all the packages in the import graph whose roots are
-// pkgs, calling the optional pre function the first time each package
-// is encountered (preorder), and the optional post function after a
-// package's dependencies have been visited (postorder).
-// The boolean result of pre(pkg) determines whether
-// the imports of package pkg are visited.
-func Visit(pkgs []*Package, pre func(*Package) bool, post func(*Package)) {
- seen := make(map[*Package]bool)
- var visit func(*Package)
- visit = func(pkg *Package) {
- if !seen[pkg] {
- seen[pkg] = true
-
- if pre == nil || pre(pkg) {
- paths := make([]string, 0, len(pkg.Imports))
- for path := range pkg.Imports {
- paths = append(paths, path)
- }
- sort.Strings(paths) // Imports is a map, this makes visit stable
- for _, path := range paths {
- visit(pkg.Imports[path])
- }
- }
-
- if post != nil {
- post(pkg)
- }
- }
- }
- for _, pkg := range pkgs {
- visit(pkg)
- }
-}
-
-// PrintErrors prints to os.Stderr the accumulated errors of all
-// packages in the import graph rooted at pkgs, dependencies first.
-// PrintErrors returns the number of errors printed.
-func PrintErrors(pkgs []*Package) int {
- var n int
- errModules := make(map[*Module]bool)
- Visit(pkgs, nil, func(pkg *Package) {
- for _, err := range pkg.Errors {
- fmt.Fprintln(os.Stderr, err)
- n++
- }
-
- // Print pkg.Module.Error once if present.
- mod := pkg.Module
- if mod != nil && mod.Error != nil && !errModules[mod] {
- errModules[mod] = true
- fmt.Fprintln(os.Stderr, mod.Error.Err)
- n++
- }
- })
- return n
-}
diff --git a/vendor/golang.org/x/tools/go/types/objectpath/objectpath.go b/vendor/golang.org/x/tools/go/types/objectpath/objectpath.go
deleted file mode 100644
index a70b727f..00000000
--- a/vendor/golang.org/x/tools/go/types/objectpath/objectpath.go
+++ /dev/null
@@ -1,788 +0,0 @@
-// Copyright 2018 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-// Package objectpath defines a naming scheme for types.Objects
-// (that is, named entities in Go programs) relative to their enclosing
-// package.
-//
-// Type-checker objects are canonical, so they are usually identified by
-// their address in memory (a pointer), but a pointer has meaning only
-// within one address space. By contrast, objectpath names allow the
-// identity of an object to be sent from one program to another,
-// establishing a correspondence between types.Object variables that are
-// distinct but logically equivalent.
-//
-// A single object may have multiple paths. In this example,
-//
-// type A struct{ X int }
-// type B A
-//
-// the field X has two paths due to its membership of both A and B.
-// The For(obj) function always returns one of these paths, arbitrarily
-// but consistently.
-package objectpath
-
-import (
- "fmt"
- "go/types"
- "strconv"
- "strings"
-
- "golang.org/x/tools/internal/aliases"
- "golang.org/x/tools/internal/typesinternal"
-)
-
-// TODO(adonovan): think about generic aliases.
-
-// A Path is an opaque name that identifies a types.Object
-// relative to its package. Conceptually, the name consists of a
-// sequence of destructuring operations applied to the package scope
-// to obtain the original object.
-// The name does not include the package itself.
-type Path string
-
-// Encoding
-//
-// An object path is a textual and (with training) human-readable encoding
-// of a sequence of destructuring operators, starting from a types.Package.
-// The sequences represent a path through the package/object/type graph.
-// We classify these operators by their type:
-//
-// PO package->object Package.Scope.Lookup
-// OT object->type Object.Type
-// TT type->type Type.{Elem,Key,{,{,Recv}Type}Params,Results,Underlying,Rhs} [EKPRUTrCa]
-// TO type->object Type.{At,Field,Method,Obj} [AFMO]
-//
-// All valid paths start with a package and end at an object
-// and thus may be defined by the regular language:
-//
-// objectpath = PO (OT TT* TO)*
-//
-// The concrete encoding follows directly:
-// - The only PO operator is Package.Scope.Lookup, which requires an identifier.
-// - The only OT operator is Object.Type,
-// which we encode as '.' because dot cannot appear in an identifier.
-// - The TT operators are encoded as [EKPRUTrCa];
-// two of these ({,Recv}TypeParams) require an integer operand,
-// which is encoded as a string of decimal digits.
-// - The TO operators are encoded as [AFMO];
-// three of these (At,Field,Method) require an integer operand,
-// which is encoded as a string of decimal digits.
-// These indices are stable across different representations
-// of the same package, even source and export data.
-// The indices used are implementation specific and may not correspond to
-// the argument to the go/types function.
-//
-// In the example below,
-//
-// package p
-//
-// type T interface {
-// f() (a string, b struct{ X int })
-// }
-//
-// field X has the path "T.UM0.RA1.F0",
-// representing the following sequence of operations:
-//
-// p.Lookup("T") T
-// .Type().Underlying().Method(0). f
-// .Type().Results().At(1) b
-// .Type().Field(0) X
-//
-// The encoding is not maximally compact---every R or P is
-// followed by an A, for example---but this simplifies the
-// encoder and decoder.
-const (
- // object->type operators
- opType = '.' // .Type() (Object)
-
- // type->type operators
- opElem = 'E' // .Elem() (Pointer, Slice, Array, Chan, Map)
- opKey = 'K' // .Key() (Map)
- opParams = 'P' // .Params() (Signature)
- opResults = 'R' // .Results() (Signature)
- opUnderlying = 'U' // .Underlying() (Named)
- opTypeParam = 'T' // .TypeParams.At(i) (Named, Signature)
- opRecvTypeParam = 'r' // .RecvTypeParams.At(i) (Signature)
- opConstraint = 'C' // .Constraint() (TypeParam)
- opRhs = 'a' // .Rhs() (Alias)
-
- // type->object operators
- opAt = 'A' // .At(i) (Tuple)
- opField = 'F' // .Field(i) (Struct)
- opMethod = 'M' // .Method(i) (Named or Interface; not Struct: "promoted" names are ignored)
- opObj = 'O' // .Obj() (Named, TypeParam)
-)
-
-// For is equivalent to new(Encoder).For(obj).
-//
-// It may be more efficient to reuse a single Encoder across several calls.
-func For(obj types.Object) (Path, error) {
- return new(Encoder).For(obj)
-}
-
-// An Encoder amortizes the cost of encoding the paths of multiple objects.
-// The zero value of an Encoder is ready to use.
-type Encoder struct {
- scopeMemo map[*types.Scope][]types.Object // memoization of scopeObjects
-}
-
-// For returns the path to an object relative to its package,
-// or an error if the object is not accessible from the package's Scope.
-//
-// The For function guarantees to return a path only for the following objects:
-// - package-level types
-// - exported package-level non-types
-// - methods
-// - parameter and result variables
-// - struct fields
-// These objects are sufficient to define the API of their package.
-// The objects described by a package's export data are drawn from this set.
-//
-// The set of objects accessible from a package's Scope depends on
-// whether the package was produced by type-checking syntax, or
-// reading export data; the latter may have a smaller Scope since
-// export data trims objects that are not reachable from an exported
-// declaration. For example, the For function will return a path for
-// an exported method of an unexported type that is not reachable
-// from any public declaration; this path will cause the Object
-// function to fail if called on a package loaded from export data.
-// TODO(adonovan): is this a bug or feature? Should this package
-// compute accessibility in the same way?
-//
-// For does not return a path for predeclared names, imported package
-// names, local names, and unexported package-level names (except
-// types).
-//
-// Example: given this definition,
-//
-// package p
-//
-// type T interface {
-// f() (a string, b struct{ X int })
-// }
-//
-// For(X) would return a path that denotes the following sequence of operations:
-//
-// p.Scope().Lookup("T") (TypeName T)
-// .Type().Underlying().Method(0). (method Func f)
-// .Type().Results().At(1) (field Var b)
-// .Type().Field(0) (field Var X)
-//
-// where p is the package (*types.Package) to which X belongs.
-func (enc *Encoder) For(obj types.Object) (Path, error) {
- pkg := obj.Pkg()
-
- // This table lists the cases of interest.
- //
- // Object Action
- // ------ ------
- // nil reject
- // builtin reject
- // pkgname reject
- // label reject
- // var
- // package-level accept
- // func param/result accept
- // local reject
- // struct field accept
- // const
- // package-level accept
- // local reject
- // func
- // package-level accept
- // init functions reject
- // concrete method accept
- // interface method accept
- // type
- // package-level accept
- // local reject
- //
- // The only accessible package-level objects are members of pkg itself.
- //
- // The cases are handled in four steps:
- //
- // 1. reject nil and builtin
- // 2. accept package-level objects
- // 3. reject obviously invalid objects
- // 4. search the API for the path to the param/result/field/method.
-
- // 1. reference to nil or builtin?
- if pkg == nil {
- return "", fmt.Errorf("predeclared %s has no path", obj)
- }
- scope := pkg.Scope()
-
- // 2. package-level object?
- if scope.Lookup(obj.Name()) == obj {
- // Only exported objects (and non-exported types) have a path.
- // Non-exported types may be referenced by other objects.
- if _, ok := obj.(*types.TypeName); !ok && !obj.Exported() {
- return "", fmt.Errorf("no path for non-exported %v", obj)
- }
- return Path(obj.Name()), nil
- }
-
- // 3. Not a package-level object.
- // Reject obviously non-viable cases.
- switch obj := obj.(type) {
- case *types.TypeName:
- if _, ok := types.Unalias(obj.Type()).(*types.TypeParam); !ok {
- // With the exception of type parameters, only package-level type names
- // have a path.
- return "", fmt.Errorf("no path for %v", obj)
- }
- case *types.Const, // Only package-level constants have a path.
- *types.Label, // Labels are function-local.
- *types.PkgName: // PkgNames are file-local.
- return "", fmt.Errorf("no path for %v", obj)
-
- case *types.Var:
- // Could be:
- // - a field (obj.IsField())
- // - a func parameter or result
- // - a local var.
- // Sadly there is no way to distinguish
- // a param/result from a local
- // so we must proceed to the find.
-
- case *types.Func:
- // A func, if not package-level, must be a method.
- if recv := obj.Type().(*types.Signature).Recv(); recv == nil {
- return "", fmt.Errorf("func is not a method: %v", obj)
- }
-
- if path, ok := enc.concreteMethod(obj); ok {
- // Fast path for concrete methods that avoids looping over scope.
- return path, nil
- }
-
- default:
- panic(obj)
- }
-
- // 4. Search the API for the path to the var (field/param/result) or method.
-
- // First inspect package-level named types.
- // In the presence of path aliases, these give
- // the best paths because non-types may
- // refer to types, but not the reverse.
- empty := make([]byte, 0, 48) // initial space
- objs := enc.scopeObjects(scope)
- for _, o := range objs {
- tname, ok := o.(*types.TypeName)
- if !ok {
- continue // handle non-types in second pass
- }
-
- path := append(empty, o.Name()...)
- path = append(path, opType)
-
- T := o.Type()
- if alias, ok := T.(*types.Alias); ok {
- if r := findTypeParam(obj, aliases.TypeParams(alias), path, opTypeParam, nil); r != nil {
- return Path(r), nil
- }
- if r := find(obj, aliases.Rhs(alias), append(path, opRhs), nil); r != nil {
- return Path(r), nil
- }
-
- } else if tname.IsAlias() {
- // legacy alias
- if r := find(obj, T, path, nil); r != nil {
- return Path(r), nil
- }
-
- } else if named, ok := T.(*types.Named); ok {
- // defined (named) type
- if r := findTypeParam(obj, named.TypeParams(), path, opTypeParam, nil); r != nil {
- return Path(r), nil
- }
- if r := find(obj, named.Underlying(), append(path, opUnderlying), nil); r != nil {
- return Path(r), nil
- }
- }
- }
-
- // Then inspect everything else:
- // non-types, and declared methods of defined types.
- for _, o := range objs {
- path := append(empty, o.Name()...)
- if _, ok := o.(*types.TypeName); !ok {
- if o.Exported() {
- // exported non-type (const, var, func)
- if r := find(obj, o.Type(), append(path, opType), nil); r != nil {
- return Path(r), nil
- }
- }
- continue
- }
-
- // Inspect declared methods of defined types.
- if T, ok := types.Unalias(o.Type()).(*types.Named); ok {
- path = append(path, opType)
- // The method index here is always with respect
- // to the underlying go/types data structures,
- // which ultimately derives from source order
- // and must be preserved by export data.
- for i := 0; i < T.NumMethods(); i++ {
- m := T.Method(i)
- path2 := appendOpArg(path, opMethod, i)
- if m == obj {
- return Path(path2), nil // found declared method
- }
- if r := find(obj, m.Type(), append(path2, opType), nil); r != nil {
- return Path(r), nil
- }
- }
- }
- }
-
- return "", fmt.Errorf("can't find path for %v in %s", obj, pkg.Path())
-}
-
-func appendOpArg(path []byte, op byte, arg int) []byte {
- path = append(path, op)
- path = strconv.AppendInt(path, int64(arg), 10)
- return path
-}
-
-// concreteMethod returns the path for meth, which must have a non-nil receiver.
-// The second return value indicates success and may be false if the method is
-// an interface method or if it is an instantiated method.
-//
-// This function is just an optimization that avoids the general scope walking
-// approach. You are expected to fall back to the general approach if this
-// function fails.
-func (enc *Encoder) concreteMethod(meth *types.Func) (Path, bool) {
- // Concrete methods can only be declared on package-scoped named types. For
- // that reason we can skip the expensive walk over the package scope: the
- // path will always be package -> named type -> method. We can trivially get
- // the type name from the receiver, and only have to look over the type's
- // methods to find the method index.
- //
- // Methods on generic types require special consideration, however. Consider
- // the following package:
- //
- // L1: type S[T any] struct{}
- // L2: func (recv S[A]) Foo() { recv.Bar() }
- // L3: func (recv S[B]) Bar() { }
- // L4: type Alias = S[int]
- // L5: func _[T any]() { var s S[int]; s.Foo() }
- //
- // The receivers of methods on generic types are instantiations. L2 and L3
- // instantiate S with the type-parameters A and B, which are scoped to the
- // respective methods. L4 and L5 each instantiate S with int. Each of these
- // instantiations has its own method set, full of methods (and thus objects)
- // with receivers whose types are the respective instantiations. In other
- // words, we have
- //
- // S[A].Foo, S[A].Bar
- // S[B].Foo, S[B].Bar
- // S[int].Foo, S[int].Bar
- //
- // We may thus be trying to produce object paths for any of these objects.
- //
- // S[A].Foo and S[B].Bar are the origin methods, and their paths are S.Foo
- // and S.Bar, which are the paths that this function naturally produces.
- //
- // S[A].Bar, S[B].Foo, and both methods on S[int] are instantiations that
- // don't correspond to the origin methods. For S[int], this is significant.
- // The most precise object path for S[int].Foo, for example, is Alias.Foo,
- // not S.Foo. Our function, however, would produce S.Foo, which would
- // resolve to a different object.
- //
- // For S[A].Bar and S[B].Foo it could be argued that S.Bar and S.Foo are
- // still the correct paths, since only the origin methods have meaningful
- // paths. But this is likely only true for trivial cases and has edge cases.
- // Since this function is only an optimization, we err on the side of giving
- // up, deferring to the slower but definitely correct algorithm. Most users
- // of objectpath will only be giving us origin methods, anyway, as referring
- // to instantiated methods is usually not useful.
-
- if meth.Origin() != meth {
- return "", false
- }
-
- _, named := typesinternal.ReceiverNamed(meth.Type().(*types.Signature).Recv())
- if named == nil {
- return "", false
- }
-
- if types.IsInterface(named) {
- // Named interfaces don't have to be package-scoped
- //
- // TODO(dominikh): opt: if scope.Lookup(name) == named, then we can apply this optimization to interface
- // methods, too, I think.
- return "", false
- }
-
- // Preallocate space for the name, opType, opMethod, and some digits.
- name := named.Obj().Name()
- path := make([]byte, 0, len(name)+8)
- path = append(path, name...)
- path = append(path, opType)
-
- // Method indices are w.r.t. the go/types data structures,
- // ultimately deriving from source order,
- // which is preserved by export data.
- for i := 0; i < named.NumMethods(); i++ {
- if named.Method(i) == meth {
- path = appendOpArg(path, opMethod, i)
- return Path(path), true
- }
- }
-
- // Due to golang/go#59944, go/types fails to associate the receiver with
- // certain methods on cgo types.
- //
- // TODO(rfindley): replace this panic once golang/go#59944 is fixed in all Go
- // versions gopls supports.
- return "", false
- // panic(fmt.Sprintf("couldn't find method %s on type %s; methods: %#v", meth, named, enc.namedMethods(named)))
-}
-
-// find finds obj within type T, returning the path to it, or nil if not found.
-//
-// The seen map is used to short circuit cycles through type parameters. If
-// nil, it will be allocated as necessary.
-func find(obj types.Object, T types.Type, path []byte, seen map[*types.TypeName]bool) []byte {
- switch T := T.(type) {
- case *types.Alias:
- return find(obj, types.Unalias(T), path, seen)
- case *types.Basic, *types.Named:
- // Named types belonging to pkg were handled already,
- // so T must belong to another package. No path.
- return nil
- case *types.Pointer:
- return find(obj, T.Elem(), append(path, opElem), seen)
- case *types.Slice:
- return find(obj, T.Elem(), append(path, opElem), seen)
- case *types.Array:
- return find(obj, T.Elem(), append(path, opElem), seen)
- case *types.Chan:
- return find(obj, T.Elem(), append(path, opElem), seen)
- case *types.Map:
- if r := find(obj, T.Key(), append(path, opKey), seen); r != nil {
- return r
- }
- return find(obj, T.Elem(), append(path, opElem), seen)
- case *types.Signature:
- if r := findTypeParam(obj, T.RecvTypeParams(), path, opRecvTypeParam, nil); r != nil {
- return r
- }
- if r := findTypeParam(obj, T.TypeParams(), path, opTypeParam, seen); r != nil {
- return r
- }
- if r := find(obj, T.Params(), append(path, opParams), seen); r != nil {
- return r
- }
- return find(obj, T.Results(), append(path, opResults), seen)
- case *types.Struct:
- for i := 0; i < T.NumFields(); i++ {
- fld := T.Field(i)
- path2 := appendOpArg(path, opField, i)
- if fld == obj {
- return path2 // found field var
- }
- if r := find(obj, fld.Type(), append(path2, opType), seen); r != nil {
- return r
- }
- }
- return nil
- case *types.Tuple:
- for i := 0; i < T.Len(); i++ {
- v := T.At(i)
- path2 := appendOpArg(path, opAt, i)
- if v == obj {
- return path2 // found param/result var
- }
- if r := find(obj, v.Type(), append(path2, opType), seen); r != nil {
- return r
- }
- }
- return nil
- case *types.Interface:
- for i := 0; i < T.NumMethods(); i++ {
- m := T.Method(i)
- path2 := appendOpArg(path, opMethod, i)
- if m == obj {
- return path2 // found interface method
- }
- if r := find(obj, m.Type(), append(path2, opType), seen); r != nil {
- return r
- }
- }
- return nil
- case *types.TypeParam:
- name := T.Obj()
- if name == obj {
- return append(path, opObj)
- }
- if seen[name] {
- return nil
- }
- if seen == nil {
- seen = make(map[*types.TypeName]bool)
- }
- seen[name] = true
- if r := find(obj, T.Constraint(), append(path, opConstraint), seen); r != nil {
- return r
- }
- return nil
- }
- panic(T)
-}
-
-func findTypeParam(obj types.Object, list *types.TypeParamList, path []byte, op byte, seen map[*types.TypeName]bool) []byte {
- for i := 0; i < list.Len(); i++ {
- tparam := list.At(i)
- path2 := appendOpArg(path, op, i)
- if r := find(obj, tparam, path2, seen); r != nil {
- return r
- }
- }
- return nil
-}
-
-// Object returns the object denoted by path p within the package pkg.
-func Object(pkg *types.Package, p Path) (types.Object, error) {
- pathstr := string(p)
- if pathstr == "" {
- return nil, fmt.Errorf("empty path")
- }
-
- var pkgobj, suffix string
- if dot := strings.IndexByte(pathstr, opType); dot < 0 {
- pkgobj = pathstr
- } else {
- pkgobj = pathstr[:dot]
- suffix = pathstr[dot:] // suffix starts with "."
- }
-
- obj := pkg.Scope().Lookup(pkgobj)
- if obj == nil {
- return nil, fmt.Errorf("package %s does not contain %q", pkg.Path(), pkgobj)
- }
-
- // abstraction of *types.{Pointer,Slice,Array,Chan,Map}
- type hasElem interface {
- Elem() types.Type
- }
- // abstraction of *types.{Named,Signature}
- type hasTypeParams interface {
- TypeParams() *types.TypeParamList
- }
- // abstraction of *types.{Named,TypeParam}
- type hasObj interface {
- Obj() *types.TypeName
- }
-
- // The loop state is the pair (t, obj),
- // exactly one of which is non-nil, initially obj.
- // All suffixes start with '.' (the only object->type operation),
- // followed by optional type->type operations,
- // then a type->object operation.
- // The cycle then repeats.
- var t types.Type
- for suffix != "" {
- code := suffix[0]
- suffix = suffix[1:]
-
- // Codes [AFMTr] have an integer operand.
- var index int
- switch code {
- case opAt, opField, opMethod, opTypeParam, opRecvTypeParam:
- rest := strings.TrimLeft(suffix, "0123456789")
- numerals := suffix[:len(suffix)-len(rest)]
- suffix = rest
- i, err := strconv.Atoi(numerals)
- if err != nil {
- return nil, fmt.Errorf("invalid path: bad numeric operand %q for code %q", numerals, code)
- }
- index = int(i)
- case opObj:
- // no operand
- default:
- // The suffix must end with a type->object operation.
- if suffix == "" {
- return nil, fmt.Errorf("invalid path: ends with %q, want [AFMO]", code)
- }
- }
-
- if code == opType {
- if t != nil {
- return nil, fmt.Errorf("invalid path: unexpected %q in type context", opType)
- }
- t = obj.Type()
- obj = nil
- continue
- }
-
- if t == nil {
- return nil, fmt.Errorf("invalid path: code %q in object context", code)
- }
-
- // Inv: t != nil, obj == nil
-
- t = types.Unalias(t)
- switch code {
- case opElem:
- hasElem, ok := t.(hasElem) // Pointer, Slice, Array, Chan, Map
- if !ok {
- return nil, fmt.Errorf("cannot apply %q to %s (got %T, want pointer, slice, array, chan or map)", code, t, t)
- }
- t = hasElem.Elem()
-
- case opKey:
- mapType, ok := t.(*types.Map)
- if !ok {
- return nil, fmt.Errorf("cannot apply %q to %s (got %T, want map)", code, t, t)
- }
- t = mapType.Key()
-
- case opParams:
- sig, ok := t.(*types.Signature)
- if !ok {
- return nil, fmt.Errorf("cannot apply %q to %s (got %T, want signature)", code, t, t)
- }
- t = sig.Params()
-
- case opResults:
- sig, ok := t.(*types.Signature)
- if !ok {
- return nil, fmt.Errorf("cannot apply %q to %s (got %T, want signature)", code, t, t)
- }
- t = sig.Results()
-
- case opUnderlying:
- named, ok := t.(*types.Named)
- if !ok {
- return nil, fmt.Errorf("cannot apply %q to %s (got %T, want named)", code, t, t)
- }
- t = named.Underlying()
-
- case opRhs:
- if alias, ok := t.(*types.Alias); ok {
- t = aliases.Rhs(alias)
- } else if false && aliases.Enabled() {
- // The Enabled check is too expensive, so for now we
- // simply assume that aliases are not enabled.
- // TODO(adonovan): replace with "if true {" when go1.24 is assured.
- return nil, fmt.Errorf("cannot apply %q to %s (got %T, want alias)", code, t, t)
- }
-
- case opTypeParam:
- hasTypeParams, ok := t.(hasTypeParams) // Named, Signature
- if !ok {
- return nil, fmt.Errorf("cannot apply %q to %s (got %T, want named or signature)", code, t, t)
- }
- tparams := hasTypeParams.TypeParams()
- if n := tparams.Len(); index >= n {
- return nil, fmt.Errorf("tuple index %d out of range [0-%d)", index, n)
- }
- t = tparams.At(index)
-
- case opRecvTypeParam:
- sig, ok := t.(*types.Signature) // Signature
- if !ok {
- return nil, fmt.Errorf("cannot apply %q to %s (got %T, want signature)", code, t, t)
- }
- rtparams := sig.RecvTypeParams()
- if n := rtparams.Len(); index >= n {
- return nil, fmt.Errorf("tuple index %d out of range [0-%d)", index, n)
- }
- t = rtparams.At(index)
-
- case opConstraint:
- tparam, ok := t.(*types.TypeParam)
- if !ok {
- return nil, fmt.Errorf("cannot apply %q to %s (got %T, want type parameter)", code, t, t)
- }
- t = tparam.Constraint()
-
- case opAt:
- tuple, ok := t.(*types.Tuple)
- if !ok {
- return nil, fmt.Errorf("cannot apply %q to %s (got %T, want tuple)", code, t, t)
- }
- if n := tuple.Len(); index >= n {
- return nil, fmt.Errorf("tuple index %d out of range [0-%d)", index, n)
- }
- obj = tuple.At(index)
- t = nil
-
- case opField:
- structType, ok := t.(*types.Struct)
- if !ok {
- return nil, fmt.Errorf("cannot apply %q to %s (got %T, want struct)", code, t, t)
- }
- if n := structType.NumFields(); index >= n {
- return nil, fmt.Errorf("field index %d out of range [0-%d)", index, n)
- }
- obj = structType.Field(index)
- t = nil
-
- case opMethod:
- switch t := t.(type) {
- case *types.Interface:
- if index >= t.NumMethods() {
- return nil, fmt.Errorf("method index %d out of range [0-%d)", index, t.NumMethods())
- }
- obj = t.Method(index) // Id-ordered
-
- case *types.Named:
- if index >= t.NumMethods() {
- return nil, fmt.Errorf("method index %d out of range [0-%d)", index, t.NumMethods())
- }
- obj = t.Method(index)
-
- default:
- return nil, fmt.Errorf("cannot apply %q to %s (got %T, want interface or named)", code, t, t)
- }
- t = nil
-
- case opObj:
- hasObj, ok := t.(hasObj)
- if !ok {
- return nil, fmt.Errorf("cannot apply %q to %s (got %T, want named or type param)", code, t, t)
- }
- obj = hasObj.Obj()
- t = nil
-
- default:
- return nil, fmt.Errorf("invalid path: unknown code %q", code)
- }
- }
-
- if obj == nil {
- panic(p) // path does not end in an object-valued operator
- }
-
- if obj.Pkg() != pkg {
- return nil, fmt.Errorf("path denotes %s, which belongs to a different package", obj)
- }
-
- return obj, nil // success
-}
-
-// scopeObjects is a memoization of scope objects.
-// Callers must not modify the result.
-func (enc *Encoder) scopeObjects(scope *types.Scope) []types.Object {
- m := enc.scopeMemo
- if m == nil {
- m = make(map[*types.Scope][]types.Object)
- enc.scopeMemo = m
- }
- objs, ok := m[scope]
- if !ok {
- names := scope.Names() // allocates and sorts
- objs = make([]types.Object, len(names))
- for i, name := range names {
- objs[i] = scope.Lookup(name)
- }
- m[scope] = objs
- }
- return objs
-}
diff --git a/vendor/golang.org/x/tools/go/types/typeutil/callee.go b/vendor/golang.org/x/tools/go/types/typeutil/callee.go
deleted file mode 100644
index 75438035..00000000
--- a/vendor/golang.org/x/tools/go/types/typeutil/callee.go
+++ /dev/null
@@ -1,68 +0,0 @@
-// Copyright 2018 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package typeutil
-
-import (
- "go/ast"
- "go/types"
-
- "golang.org/x/tools/internal/typeparams"
-)
-
-// Callee returns the named target of a function call, if any:
-// a function, method, builtin, or variable.
-//
-// Functions and methods may potentially have type parameters.
-func Callee(info *types.Info, call *ast.CallExpr) types.Object {
- fun := ast.Unparen(call.Fun)
-
- // Look through type instantiation if necessary.
- isInstance := false
- switch fun.(type) {
- case *ast.IndexExpr, *ast.IndexListExpr:
- // When extracting the callee from an *IndexExpr, we need to check that
- // it is a *types.Func and not a *types.Var.
- // Example: Don't match a slice m within the expression `m[0]()`.
- isInstance = true
- fun, _, _, _ = typeparams.UnpackIndexExpr(fun)
- }
-
- var obj types.Object
- switch fun := fun.(type) {
- case *ast.Ident:
- obj = info.Uses[fun] // type, var, builtin, or declared func
- case *ast.SelectorExpr:
- if sel, ok := info.Selections[fun]; ok {
- obj = sel.Obj() // method or field
- } else {
- obj = info.Uses[fun.Sel] // qualified identifier?
- }
- }
- if _, ok := obj.(*types.TypeName); ok {
- return nil // T(x) is a conversion, not a call
- }
- // A Func is required to match instantiations.
- if _, ok := obj.(*types.Func); isInstance && !ok {
- return nil // Was not a Func.
- }
- return obj
-}
-
-// StaticCallee returns the target (function or method) of a static function
-// call, if any. It returns nil for calls to builtins.
-//
-// Note: for calls of instantiated functions and methods, StaticCallee returns
-// the corresponding generic function or method on the generic type.
-func StaticCallee(info *types.Info, call *ast.CallExpr) *types.Func {
- if f, ok := Callee(info, call).(*types.Func); ok && !interfaceMethod(f) {
- return f
- }
- return nil
-}
-
-func interfaceMethod(f *types.Func) bool {
- recv := f.Type().(*types.Signature).Recv()
- return recv != nil && types.IsInterface(recv.Type())
-}
diff --git a/vendor/golang.org/x/tools/go/types/typeutil/imports.go b/vendor/golang.org/x/tools/go/types/typeutil/imports.go
deleted file mode 100644
index b81ce0c3..00000000
--- a/vendor/golang.org/x/tools/go/types/typeutil/imports.go
+++ /dev/null
@@ -1,30 +0,0 @@
-// Copyright 2014 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package typeutil
-
-import "go/types"
-
-// Dependencies returns all dependencies of the specified packages.
-//
-// Dependent packages appear in topological order: if package P imports
-// package Q, Q appears earlier than P in the result.
-// The algorithm follows import statements in the order they
-// appear in the source code, so the result is a total order.
-func Dependencies(pkgs ...*types.Package) []*types.Package {
- var result []*types.Package
- seen := make(map[*types.Package]bool)
- var visit func(pkgs []*types.Package)
- visit = func(pkgs []*types.Package) {
- for _, p := range pkgs {
- if !seen[p] {
- seen[p] = true
- visit(p.Imports())
- result = append(result, p)
- }
- }
- }
- visit(pkgs)
- return result
-}
diff --git a/vendor/golang.org/x/tools/go/types/typeutil/map.go b/vendor/golang.org/x/tools/go/types/typeutil/map.go
deleted file mode 100644
index 8d824f71..00000000
--- a/vendor/golang.org/x/tools/go/types/typeutil/map.go
+++ /dev/null
@@ -1,517 +0,0 @@
-// Copyright 2014 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-// Package typeutil defines various utilities for types, such as Map,
-// a mapping from types.Type to any values.
-package typeutil // import "golang.org/x/tools/go/types/typeutil"
-
-import (
- "bytes"
- "fmt"
- "go/types"
- "reflect"
-
- "golang.org/x/tools/internal/typeparams"
-)
-
-// Map is a hash-table-based mapping from types (types.Type) to
-// arbitrary any values. The concrete types that implement
-// the Type interface are pointers. Since they are not canonicalized,
-// == cannot be used to check for equivalence, and thus we cannot
-// simply use a Go map.
-//
-// Just as with map[K]V, a nil *Map is a valid empty map.
-//
-// Not thread-safe.
-type Map struct {
- hasher Hasher // shared by many Maps
- table map[uint32][]entry // maps hash to bucket; entry.key==nil means unused
- length int // number of map entries
-}
-
-// entry is an entry (key/value association) in a hash bucket.
-type entry struct {
- key types.Type
- value any
-}
-
-// SetHasher sets the hasher used by Map.
-//
-// All Hashers are functionally equivalent but contain internal state
-// used to cache the results of hashing previously seen types.
-//
-// A single Hasher created by MakeHasher() may be shared among many
-// Maps. This is recommended if the instances have many keys in
-// common, as it will amortize the cost of hash computation.
-//
-// A Hasher may grow without bound as new types are seen. Even when a
-// type is deleted from the map, the Hasher never shrinks, since other
-// types in the map may reference the deleted type indirectly.
-//
-// Hashers are not thread-safe, and read-only operations such as
-// Map.Lookup require updates to the hasher, so a full Mutex lock (not a
-// read-lock) is require around all Map operations if a shared
-// hasher is accessed from multiple threads.
-//
-// If SetHasher is not called, the Map will create a private hasher at
-// the first call to Insert.
-func (m *Map) SetHasher(hasher Hasher) {
- m.hasher = hasher
-}
-
-// Delete removes the entry with the given key, if any.
-// It returns true if the entry was found.
-func (m *Map) Delete(key types.Type) bool {
- if m != nil && m.table != nil {
- hash := m.hasher.Hash(key)
- bucket := m.table[hash]
- for i, e := range bucket {
- if e.key != nil && types.Identical(key, e.key) {
- // We can't compact the bucket as it
- // would disturb iterators.
- bucket[i] = entry{}
- m.length--
- return true
- }
- }
- }
- return false
-}
-
-// At returns the map entry for the given key.
-// The result is nil if the entry is not present.
-func (m *Map) At(key types.Type) any {
- if m != nil && m.table != nil {
- for _, e := range m.table[m.hasher.Hash(key)] {
- if e.key != nil && types.Identical(key, e.key) {
- return e.value
- }
- }
- }
- return nil
-}
-
-// Set sets the map entry for key to val,
-// and returns the previous entry, if any.
-func (m *Map) Set(key types.Type, value any) (prev any) {
- if m.table != nil {
- hash := m.hasher.Hash(key)
- bucket := m.table[hash]
- var hole *entry
- for i, e := range bucket {
- if e.key == nil {
- hole = &bucket[i]
- } else if types.Identical(key, e.key) {
- prev = e.value
- bucket[i].value = value
- return
- }
- }
-
- if hole != nil {
- *hole = entry{key, value} // overwrite deleted entry
- } else {
- m.table[hash] = append(bucket, entry{key, value})
- }
- } else {
- if m.hasher.memo == nil {
- m.hasher = MakeHasher()
- }
- hash := m.hasher.Hash(key)
- m.table = map[uint32][]entry{hash: {entry{key, value}}}
- }
-
- m.length++
- return
-}
-
-// Len returns the number of map entries.
-func (m *Map) Len() int {
- if m != nil {
- return m.length
- }
- return 0
-}
-
-// Iterate calls function f on each entry in the map in unspecified order.
-//
-// If f should mutate the map, Iterate provides the same guarantees as
-// Go maps: if f deletes a map entry that Iterate has not yet reached,
-// f will not be invoked for it, but if f inserts a map entry that
-// Iterate has not yet reached, whether or not f will be invoked for
-// it is unspecified.
-func (m *Map) Iterate(f func(key types.Type, value any)) {
- if m != nil {
- for _, bucket := range m.table {
- for _, e := range bucket {
- if e.key != nil {
- f(e.key, e.value)
- }
- }
- }
- }
-}
-
-// Keys returns a new slice containing the set of map keys.
-// The order is unspecified.
-func (m *Map) Keys() []types.Type {
- keys := make([]types.Type, 0, m.Len())
- m.Iterate(func(key types.Type, _ any) {
- keys = append(keys, key)
- })
- return keys
-}
-
-func (m *Map) toString(values bool) string {
- if m == nil {
- return "{}"
- }
- var buf bytes.Buffer
- fmt.Fprint(&buf, "{")
- sep := ""
- m.Iterate(func(key types.Type, value any) {
- fmt.Fprint(&buf, sep)
- sep = ", "
- fmt.Fprint(&buf, key)
- if values {
- fmt.Fprintf(&buf, ": %q", value)
- }
- })
- fmt.Fprint(&buf, "}")
- return buf.String()
-}
-
-// String returns a string representation of the map's entries.
-// Values are printed using fmt.Sprintf("%v", v).
-// Order is unspecified.
-func (m *Map) String() string {
- return m.toString(true)
-}
-
-// KeysString returns a string representation of the map's key set.
-// Order is unspecified.
-func (m *Map) KeysString() string {
- return m.toString(false)
-}
-
-////////////////////////////////////////////////////////////////////////
-// Hasher
-
-// A Hasher maps each type to its hash value.
-// For efficiency, a hasher uses memoization; thus its memory
-// footprint grows monotonically over time.
-// Hashers are not thread-safe.
-// Hashers have reference semantics.
-// Call MakeHasher to create a Hasher.
-type Hasher struct {
- memo map[types.Type]uint32
-
- // ptrMap records pointer identity.
- ptrMap map[any]uint32
-
- // sigTParams holds type parameters from the signature being hashed.
- // Signatures are considered identical modulo renaming of type parameters, so
- // within the scope of a signature type the identity of the signature's type
- // parameters is just their index.
- //
- // Since the language does not currently support referring to uninstantiated
- // generic types or functions, and instantiated signatures do not have type
- // parameter lists, we should never encounter a second non-empty type
- // parameter list when hashing a generic signature.
- sigTParams *types.TypeParamList
-}
-
-// MakeHasher returns a new Hasher instance.
-func MakeHasher() Hasher {
- return Hasher{
- memo: make(map[types.Type]uint32),
- ptrMap: make(map[any]uint32),
- sigTParams: nil,
- }
-}
-
-// Hash computes a hash value for the given type t such that
-// Identical(t, t') => Hash(t) == Hash(t').
-func (h Hasher) Hash(t types.Type) uint32 {
- hash, ok := h.memo[t]
- if !ok {
- hash = h.hashFor(t)
- h.memo[t] = hash
- }
- return hash
-}
-
-// hashString computes the Fowler–Noll–Vo hash of s.
-func hashString(s string) uint32 {
- var h uint32
- for i := 0; i < len(s); i++ {
- h ^= uint32(s[i])
- h *= 16777619
- }
- return h
-}
-
-// hashFor computes the hash of t.
-func (h Hasher) hashFor(t types.Type) uint32 {
- // See Identical for rationale.
- switch t := t.(type) {
- case *types.Basic:
- return uint32(t.Kind())
-
- case *types.Alias:
- return h.Hash(types.Unalias(t))
-
- case *types.Array:
- return 9043 + 2*uint32(t.Len()) + 3*h.Hash(t.Elem())
-
- case *types.Slice:
- return 9049 + 2*h.Hash(t.Elem())
-
- case *types.Struct:
- var hash uint32 = 9059
- for i, n := 0, t.NumFields(); i < n; i++ {
- f := t.Field(i)
- if f.Anonymous() {
- hash += 8861
- }
- hash += hashString(t.Tag(i))
- hash += hashString(f.Name()) // (ignore f.Pkg)
- hash += h.Hash(f.Type())
- }
- return hash
-
- case *types.Pointer:
- return 9067 + 2*h.Hash(t.Elem())
-
- case *types.Signature:
- var hash uint32 = 9091
- if t.Variadic() {
- hash *= 8863
- }
-
- // Use a separate hasher for types inside of the signature, where type
- // parameter identity is modified to be (index, constraint). We must use a
- // new memo for this hasher as type identity may be affected by this
- // masking. For example, in func[T any](*T), the identity of *T depends on
- // whether we are mapping the argument in isolation, or recursively as part
- // of hashing the signature.
- //
- // We should never encounter a generic signature while hashing another
- // generic signature, but defensively set sigTParams only if h.mask is
- // unset.
- tparams := t.TypeParams()
- if h.sigTParams == nil && tparams.Len() != 0 {
- h = Hasher{
- // There may be something more efficient than discarding the existing
- // memo, but it would require detecting whether types are 'tainted' by
- // references to type parameters.
- memo: make(map[types.Type]uint32),
- // Re-using ptrMap ensures that pointer identity is preserved in this
- // hasher.
- ptrMap: h.ptrMap,
- sigTParams: tparams,
- }
- }
-
- for i := 0; i < tparams.Len(); i++ {
- tparam := tparams.At(i)
- hash += 7 * h.Hash(tparam.Constraint())
- }
-
- return hash + 3*h.hashTuple(t.Params()) + 5*h.hashTuple(t.Results())
-
- case *types.Union:
- return h.hashUnion(t)
-
- case *types.Interface:
- // Interfaces are identical if they have the same set of methods, with
- // identical names and types, and they have the same set of type
- // restrictions. See go/types.identical for more details.
- var hash uint32 = 9103
-
- // Hash methods.
- for i, n := 0, t.NumMethods(); i < n; i++ {
- // Method order is not significant.
- // Ignore m.Pkg().
- m := t.Method(i)
- // Use shallow hash on method signature to
- // avoid anonymous interface cycles.
- hash += 3*hashString(m.Name()) + 5*h.shallowHash(m.Type())
- }
-
- // Hash type restrictions.
- terms, err := typeparams.InterfaceTermSet(t)
- // if err != nil t has invalid type restrictions.
- if err == nil {
- hash += h.hashTermSet(terms)
- }
-
- return hash
-
- case *types.Map:
- return 9109 + 2*h.Hash(t.Key()) + 3*h.Hash(t.Elem())
-
- case *types.Chan:
- return 9127 + 2*uint32(t.Dir()) + 3*h.Hash(t.Elem())
-
- case *types.Named:
- hash := h.hashPtr(t.Obj())
- targs := t.TypeArgs()
- for i := 0; i < targs.Len(); i++ {
- targ := targs.At(i)
- hash += 2 * h.Hash(targ)
- }
- return hash
-
- case *types.TypeParam:
- return h.hashTypeParam(t)
-
- case *types.Tuple:
- return h.hashTuple(t)
- }
-
- panic(fmt.Sprintf("%T: %v", t, t))
-}
-
-func (h Hasher) hashTuple(tuple *types.Tuple) uint32 {
- // See go/types.identicalTypes for rationale.
- n := tuple.Len()
- hash := 9137 + 2*uint32(n)
- for i := 0; i < n; i++ {
- hash += 3 * h.Hash(tuple.At(i).Type())
- }
- return hash
-}
-
-func (h Hasher) hashUnion(t *types.Union) uint32 {
- // Hash type restrictions.
- terms, err := typeparams.UnionTermSet(t)
- // if err != nil t has invalid type restrictions. Fall back on a non-zero
- // hash.
- if err != nil {
- return 9151
- }
- return h.hashTermSet(terms)
-}
-
-func (h Hasher) hashTermSet(terms []*types.Term) uint32 {
- hash := 9157 + 2*uint32(len(terms))
- for _, term := range terms {
- // term order is not significant.
- termHash := h.Hash(term.Type())
- if term.Tilde() {
- termHash *= 9161
- }
- hash += 3 * termHash
- }
- return hash
-}
-
-// hashTypeParam returns a hash of the type parameter t, with a hash value
-// depending on whether t is contained in h.sigTParams.
-//
-// If h.sigTParams is set and contains t, then we are in the process of hashing
-// a signature, and the hash value of t must depend only on t's index and
-// constraint: signatures are considered identical modulo type parameter
-// renaming. To avoid infinite recursion, we only hash the type parameter
-// index, and rely on types.Identical to handle signatures where constraints
-// are not identical.
-//
-// Otherwise the hash of t depends only on t's pointer identity.
-func (h Hasher) hashTypeParam(t *types.TypeParam) uint32 {
- if h.sigTParams != nil {
- i := t.Index()
- if i >= 0 && i < h.sigTParams.Len() && t == h.sigTParams.At(i) {
- return 9173 + 3*uint32(i)
- }
- }
- return h.hashPtr(t.Obj())
-}
-
-// hashPtr hashes the pointer identity of ptr. It uses h.ptrMap to ensure that
-// pointers values are not dependent on the GC.
-func (h Hasher) hashPtr(ptr any) uint32 {
- if hash, ok := h.ptrMap[ptr]; ok {
- return hash
- }
- hash := uint32(reflect.ValueOf(ptr).Pointer())
- h.ptrMap[ptr] = hash
- return hash
-}
-
-// shallowHash computes a hash of t without looking at any of its
-// element Types, to avoid potential anonymous cycles in the types of
-// interface methods.
-//
-// When an unnamed non-empty interface type appears anywhere among the
-// arguments or results of an interface method, there is a potential
-// for endless recursion. Consider:
-//
-// type X interface { m() []*interface { X } }
-//
-// The problem is that the Methods of the interface in m's result type
-// include m itself; there is no mention of the named type X that
-// might help us break the cycle.
-// (See comment in go/types.identical, case *Interface, for more.)
-func (h Hasher) shallowHash(t types.Type) uint32 {
- // t is the type of an interface method (Signature),
- // its params or results (Tuples), or their immediate
- // elements (mostly Slice, Pointer, Basic, Named),
- // so there's no need to optimize anything else.
- switch t := t.(type) {
- case *types.Alias:
- return h.shallowHash(types.Unalias(t))
-
- case *types.Signature:
- var hash uint32 = 604171
- if t.Variadic() {
- hash *= 971767
- }
- // The Signature/Tuple recursion is always finite
- // and invariably shallow.
- return hash + 1062599*h.shallowHash(t.Params()) + 1282529*h.shallowHash(t.Results())
-
- case *types.Tuple:
- n := t.Len()
- hash := 9137 + 2*uint32(n)
- for i := 0; i < n; i++ {
- hash += 53471161 * h.shallowHash(t.At(i).Type())
- }
- return hash
-
- case *types.Basic:
- return 45212177 * uint32(t.Kind())
-
- case *types.Array:
- return 1524181 + 2*uint32(t.Len())
-
- case *types.Slice:
- return 2690201
-
- case *types.Struct:
- return 3326489
-
- case *types.Pointer:
- return 4393139
-
- case *types.Union:
- return 562448657
-
- case *types.Interface:
- return 2124679 // no recursion here
-
- case *types.Map:
- return 9109
-
- case *types.Chan:
- return 9127
-
- case *types.Named:
- return h.hashPtr(t.Obj())
-
- case *types.TypeParam:
- return h.hashPtr(t.Obj())
- }
- panic(fmt.Sprintf("shallowHash: %T: %v", t, t))
-}
diff --git a/vendor/golang.org/x/tools/go/types/typeutil/methodsetcache.go b/vendor/golang.org/x/tools/go/types/typeutil/methodsetcache.go
deleted file mode 100644
index f7666028..00000000
--- a/vendor/golang.org/x/tools/go/types/typeutil/methodsetcache.go
+++ /dev/null
@@ -1,71 +0,0 @@
-// Copyright 2014 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-// This file implements a cache of method sets.
-
-package typeutil
-
-import (
- "go/types"
- "sync"
-)
-
-// A MethodSetCache records the method set of each type T for which
-// MethodSet(T) is called so that repeat queries are fast.
-// The zero value is a ready-to-use cache instance.
-type MethodSetCache struct {
- mu sync.Mutex
- named map[*types.Named]struct{ value, pointer *types.MethodSet } // method sets for named N and *N
- others map[types.Type]*types.MethodSet // all other types
-}
-
-// MethodSet returns the method set of type T. It is thread-safe.
-//
-// If cache is nil, this function is equivalent to types.NewMethodSet(T).
-// Utility functions can thus expose an optional *MethodSetCache
-// parameter to clients that care about performance.
-func (cache *MethodSetCache) MethodSet(T types.Type) *types.MethodSet {
- if cache == nil {
- return types.NewMethodSet(T)
- }
- cache.mu.Lock()
- defer cache.mu.Unlock()
-
- switch T := types.Unalias(T).(type) {
- case *types.Named:
- return cache.lookupNamed(T).value
-
- case *types.Pointer:
- if N, ok := types.Unalias(T.Elem()).(*types.Named); ok {
- return cache.lookupNamed(N).pointer
- }
- }
-
- // all other types
- // (The map uses pointer equivalence, not type identity.)
- mset := cache.others[T]
- if mset == nil {
- mset = types.NewMethodSet(T)
- if cache.others == nil {
- cache.others = make(map[types.Type]*types.MethodSet)
- }
- cache.others[T] = mset
- }
- return mset
-}
-
-func (cache *MethodSetCache) lookupNamed(named *types.Named) struct{ value, pointer *types.MethodSet } {
- if cache.named == nil {
- cache.named = make(map[*types.Named]struct{ value, pointer *types.MethodSet })
- }
- // Avoid recomputing mset(*T) for each distinct Pointer
- // instance whose underlying type is a named type.
- msets, ok := cache.named[named]
- if !ok {
- msets.value = types.NewMethodSet(named)
- msets.pointer = types.NewMethodSet(types.NewPointer(named))
- cache.named[named] = msets
- }
- return msets
-}
diff --git a/vendor/golang.org/x/tools/go/types/typeutil/ui.go b/vendor/golang.org/x/tools/go/types/typeutil/ui.go
deleted file mode 100644
index 9dda6a25..00000000
--- a/vendor/golang.org/x/tools/go/types/typeutil/ui.go
+++ /dev/null
@@ -1,53 +0,0 @@
-// Copyright 2014 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package typeutil
-
-// This file defines utilities for user interfaces that display types.
-
-import (
- "go/types"
-)
-
-// IntuitiveMethodSet returns the intuitive method set of a type T,
-// which is the set of methods you can call on an addressable value of
-// that type.
-//
-// The result always contains MethodSet(T), and is exactly MethodSet(T)
-// for interface types and for pointer-to-concrete types.
-// For all other concrete types T, the result additionally
-// contains each method belonging to *T if there is no identically
-// named method on T itself.
-//
-// This corresponds to user intuition about method sets;
-// this function is intended only for user interfaces.
-//
-// The order of the result is as for types.MethodSet(T).
-func IntuitiveMethodSet(T types.Type, msets *MethodSetCache) []*types.Selection {
- isPointerToConcrete := func(T types.Type) bool {
- ptr, ok := types.Unalias(T).(*types.Pointer)
- return ok && !types.IsInterface(ptr.Elem())
- }
-
- var result []*types.Selection
- mset := msets.MethodSet(T)
- if types.IsInterface(T) || isPointerToConcrete(T) {
- for i, n := 0, mset.Len(); i < n; i++ {
- result = append(result, mset.At(i))
- }
- } else {
- // T is some other concrete type.
- // Report methods of T and *T, preferring those of T.
- pmset := msets.MethodSet(types.NewPointer(T))
- for i, n := 0, pmset.Len(); i < n; i++ {
- meth := pmset.At(i)
- if m := mset.Lookup(meth.Obj().Pkg(), meth.Obj().Name()); m != nil {
- meth = m
- }
- result = append(result, meth)
- }
-
- }
- return result
-}
diff --git a/vendor/golang.org/x/tools/internal/aliases/aliases.go b/vendor/golang.org/x/tools/internal/aliases/aliases.go
deleted file mode 100644
index b9425f5a..00000000
--- a/vendor/golang.org/x/tools/internal/aliases/aliases.go
+++ /dev/null
@@ -1,38 +0,0 @@
-// Copyright 2024 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package aliases
-
-import (
- "go/token"
- "go/types"
-)
-
-// Package aliases defines backward compatible shims
-// for the types.Alias type representation added in 1.22.
-// This defines placeholders for x/tools until 1.26.
-
-// NewAlias creates a new TypeName in Package pkg that
-// is an alias for the type rhs.
-//
-// The enabled parameter determines whether the resulting [TypeName]'s
-// type is an [types.Alias]. Its value must be the result of a call to
-// [Enabled], which computes the effective value of
-// GODEBUG=gotypesalias=... by invoking the type checker. The Enabled
-// function is expensive and should be called once per task (e.g.
-// package import), not once per call to NewAlias.
-//
-// Precondition: enabled || len(tparams)==0.
-// If materialized aliases are disabled, there must not be any type parameters.
-func NewAlias(enabled bool, pos token.Pos, pkg *types.Package, name string, rhs types.Type, tparams []*types.TypeParam) *types.TypeName {
- if enabled {
- tname := types.NewTypeName(pos, pkg, name, nil)
- SetTypeParams(types.NewAlias(tname, rhs), tparams)
- return tname
- }
- if len(tparams) > 0 {
- panic("cannot create an alias with type parameters when gotypesalias is not enabled")
- }
- return types.NewTypeName(pos, pkg, name, rhs)
-}
diff --git a/vendor/golang.org/x/tools/internal/aliases/aliases_go122.go b/vendor/golang.org/x/tools/internal/aliases/aliases_go122.go
deleted file mode 100644
index 7716a333..00000000
--- a/vendor/golang.org/x/tools/internal/aliases/aliases_go122.go
+++ /dev/null
@@ -1,80 +0,0 @@
-// Copyright 2024 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package aliases
-
-import (
- "go/ast"
- "go/parser"
- "go/token"
- "go/types"
-)
-
-// Rhs returns the type on the right-hand side of the alias declaration.
-func Rhs(alias *types.Alias) types.Type {
- if alias, ok := any(alias).(interface{ Rhs() types.Type }); ok {
- return alias.Rhs() // go1.23+
- }
-
- // go1.22's Alias didn't have the Rhs method,
- // so Unalias is the best we can do.
- return types.Unalias(alias)
-}
-
-// TypeParams returns the type parameter list of the alias.
-func TypeParams(alias *types.Alias) *types.TypeParamList {
- if alias, ok := any(alias).(interface{ TypeParams() *types.TypeParamList }); ok {
- return alias.TypeParams() // go1.23+
- }
- return nil
-}
-
-// SetTypeParams sets the type parameters of the alias type.
-func SetTypeParams(alias *types.Alias, tparams []*types.TypeParam) {
- if alias, ok := any(alias).(interface {
- SetTypeParams(tparams []*types.TypeParam)
- }); ok {
- alias.SetTypeParams(tparams) // go1.23+
- } else if len(tparams) > 0 {
- panic("cannot set type parameters of an Alias type in go1.22")
- }
-}
-
-// TypeArgs returns the type arguments used to instantiate the Alias type.
-func TypeArgs(alias *types.Alias) *types.TypeList {
- if alias, ok := any(alias).(interface{ TypeArgs() *types.TypeList }); ok {
- return alias.TypeArgs() // go1.23+
- }
- return nil // empty (go1.22)
-}
-
-// Origin returns the generic Alias type of which alias is an instance.
-// If alias is not an instance of a generic alias, Origin returns alias.
-func Origin(alias *types.Alias) *types.Alias {
- if alias, ok := any(alias).(interface{ Origin() *types.Alias }); ok {
- return alias.Origin() // go1.23+
- }
- return alias // not an instance of a generic alias (go1.22)
-}
-
-// Enabled reports whether [NewAlias] should create [types.Alias] types.
-//
-// This function is expensive! Call it sparingly.
-func Enabled() bool {
- // The only reliable way to compute the answer is to invoke go/types.
- // We don't parse the GODEBUG environment variable, because
- // (a) it's tricky to do so in a manner that is consistent
- // with the godebug package; in particular, a simple
- // substring check is not good enough. The value is a
- // rightmost-wins list of options. But more importantly:
- // (b) it is impossible to detect changes to the effective
- // setting caused by os.Setenv("GODEBUG"), as happens in
- // many tests. Therefore any attempt to cache the result
- // is just incorrect.
- fset := token.NewFileSet()
- f, _ := parser.ParseFile(fset, "a.go", "package p; type A = int", parser.SkipObjectResolution)
- pkg, _ := new(types.Config).Check("p", fset, []*ast.File{f}, nil)
- _, enabled := pkg.Scope().Lookup("A").Type().(*types.Alias)
- return enabled
-}
diff --git a/vendor/golang.org/x/tools/internal/event/core/event.go b/vendor/golang.org/x/tools/internal/event/core/event.go
deleted file mode 100644
index a6cf0e64..00000000
--- a/vendor/golang.org/x/tools/internal/event/core/event.go
+++ /dev/null
@@ -1,85 +0,0 @@
-// Copyright 2019 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-// Package core provides support for event based telemetry.
-package core
-
-import (
- "fmt"
- "time"
-
- "golang.org/x/tools/internal/event/label"
-)
-
-// Event holds the information about an event of note that occurred.
-type Event struct {
- at time.Time
-
- // As events are often on the stack, storing the first few labels directly
- // in the event can avoid an allocation at all for the very common cases of
- // simple events.
- // The length needs to be large enough to cope with the majority of events
- // but no so large as to cause undue stack pressure.
- // A log message with two values will use 3 labels (one for each value and
- // one for the message itself).
-
- static [3]label.Label // inline storage for the first few labels
- dynamic []label.Label // dynamically sized storage for remaining labels
-}
-
-// eventLabelMap implements label.Map for a the labels of an Event.
-type eventLabelMap struct {
- event Event
-}
-
-func (ev Event) At() time.Time { return ev.at }
-
-func (ev Event) Format(f fmt.State, r rune) {
- if !ev.at.IsZero() {
- fmt.Fprint(f, ev.at.Format("2006/01/02 15:04:05 "))
- }
- for index := 0; ev.Valid(index); index++ {
- if l := ev.Label(index); l.Valid() {
- fmt.Fprintf(f, "\n\t%v", l)
- }
- }
-}
-
-func (ev Event) Valid(index int) bool {
- return index >= 0 && index < len(ev.static)+len(ev.dynamic)
-}
-
-func (ev Event) Label(index int) label.Label {
- if index < len(ev.static) {
- return ev.static[index]
- }
- return ev.dynamic[index-len(ev.static)]
-}
-
-func (ev Event) Find(key label.Key) label.Label {
- for _, l := range ev.static {
- if l.Key() == key {
- return l
- }
- }
- for _, l := range ev.dynamic {
- if l.Key() == key {
- return l
- }
- }
- return label.Label{}
-}
-
-func MakeEvent(static [3]label.Label, labels []label.Label) Event {
- return Event{
- static: static,
- dynamic: labels,
- }
-}
-
-// CloneEvent event returns a copy of the event with the time adjusted to at.
-func CloneEvent(ev Event, at time.Time) Event {
- ev.at = at
- return ev
-}
diff --git a/vendor/golang.org/x/tools/internal/event/core/export.go b/vendor/golang.org/x/tools/internal/event/core/export.go
deleted file mode 100644
index 05f3a9a5..00000000
--- a/vendor/golang.org/x/tools/internal/event/core/export.go
+++ /dev/null
@@ -1,70 +0,0 @@
-// Copyright 2019 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package core
-
-import (
- "context"
- "sync/atomic"
- "time"
- "unsafe"
-
- "golang.org/x/tools/internal/event/label"
-)
-
-// Exporter is a function that handles events.
-// It may return a modified context and event.
-type Exporter func(context.Context, Event, label.Map) context.Context
-
-var (
- exporter unsafe.Pointer
-)
-
-// SetExporter sets the global exporter function that handles all events.
-// The exporter is called synchronously from the event call site, so it should
-// return quickly so as not to hold up user code.
-func SetExporter(e Exporter) {
- p := unsafe.Pointer(&e)
- if e == nil {
- // &e is always valid, and so p is always valid, but for the early abort
- // of ProcessEvent to be efficient it needs to make the nil check on the
- // pointer without having to dereference it, so we make the nil function
- // also a nil pointer
- p = nil
- }
- atomic.StorePointer(&exporter, p)
-}
-
-// deliver is called to deliver an event to the supplied exporter.
-// it will fill in the time.
-func deliver(ctx context.Context, exporter Exporter, ev Event) context.Context {
- // add the current time to the event
- ev.at = time.Now()
- // hand the event off to the current exporter
- return exporter(ctx, ev, ev)
-}
-
-// Export is called to deliver an event to the global exporter if set.
-func Export(ctx context.Context, ev Event) context.Context {
- // get the global exporter and abort early if there is not one
- exporterPtr := (*Exporter)(atomic.LoadPointer(&exporter))
- if exporterPtr == nil {
- return ctx
- }
- return deliver(ctx, *exporterPtr, ev)
-}
-
-// ExportPair is called to deliver a start event to the supplied exporter.
-// It also returns a function that will deliver the end event to the same
-// exporter.
-// It will fill in the time.
-func ExportPair(ctx context.Context, begin, end Event) (context.Context, func()) {
- // get the global exporter and abort early if there is not one
- exporterPtr := (*Exporter)(atomic.LoadPointer(&exporter))
- if exporterPtr == nil {
- return ctx, func() {}
- }
- ctx = deliver(ctx, *exporterPtr, begin)
- return ctx, func() { deliver(ctx, *exporterPtr, end) }
-}
diff --git a/vendor/golang.org/x/tools/internal/event/core/fast.go b/vendor/golang.org/x/tools/internal/event/core/fast.go
deleted file mode 100644
index 06c1d461..00000000
--- a/vendor/golang.org/x/tools/internal/event/core/fast.go
+++ /dev/null
@@ -1,77 +0,0 @@
-// Copyright 2019 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package core
-
-import (
- "context"
-
- "golang.org/x/tools/internal/event/keys"
- "golang.org/x/tools/internal/event/label"
-)
-
-// Log1 takes a message and one label delivers a log event to the exporter.
-// It is a customized version of Print that is faster and does no allocation.
-func Log1(ctx context.Context, message string, t1 label.Label) {
- Export(ctx, MakeEvent([3]label.Label{
- keys.Msg.Of(message),
- t1,
- }, nil))
-}
-
-// Log2 takes a message and two labels and delivers a log event to the exporter.
-// It is a customized version of Print that is faster and does no allocation.
-func Log2(ctx context.Context, message string, t1 label.Label, t2 label.Label) {
- Export(ctx, MakeEvent([3]label.Label{
- keys.Msg.Of(message),
- t1,
- t2,
- }, nil))
-}
-
-// Metric1 sends a label event to the exporter with the supplied labels.
-func Metric1(ctx context.Context, t1 label.Label) context.Context {
- return Export(ctx, MakeEvent([3]label.Label{
- keys.Metric.New(),
- t1,
- }, nil))
-}
-
-// Metric2 sends a label event to the exporter with the supplied labels.
-func Metric2(ctx context.Context, t1, t2 label.Label) context.Context {
- return Export(ctx, MakeEvent([3]label.Label{
- keys.Metric.New(),
- t1,
- t2,
- }, nil))
-}
-
-// Start1 sends a span start event with the supplied label list to the exporter.
-// It also returns a function that will end the span, which should normally be
-// deferred.
-func Start1(ctx context.Context, name string, t1 label.Label) (context.Context, func()) {
- return ExportPair(ctx,
- MakeEvent([3]label.Label{
- keys.Start.Of(name),
- t1,
- }, nil),
- MakeEvent([3]label.Label{
- keys.End.New(),
- }, nil))
-}
-
-// Start2 sends a span start event with the supplied label list to the exporter.
-// It also returns a function that will end the span, which should normally be
-// deferred.
-func Start2(ctx context.Context, name string, t1, t2 label.Label) (context.Context, func()) {
- return ExportPair(ctx,
- MakeEvent([3]label.Label{
- keys.Start.Of(name),
- t1,
- t2,
- }, nil),
- MakeEvent([3]label.Label{
- keys.End.New(),
- }, nil))
-}
diff --git a/vendor/golang.org/x/tools/internal/event/doc.go b/vendor/golang.org/x/tools/internal/event/doc.go
deleted file mode 100644
index 5dc6e6ba..00000000
--- a/vendor/golang.org/x/tools/internal/event/doc.go
+++ /dev/null
@@ -1,7 +0,0 @@
-// Copyright 2019 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-// Package event provides a set of packages that cover the main
-// concepts of telemetry in an implementation agnostic way.
-package event
diff --git a/vendor/golang.org/x/tools/internal/event/event.go b/vendor/golang.org/x/tools/internal/event/event.go
deleted file mode 100644
index 4d55e577..00000000
--- a/vendor/golang.org/x/tools/internal/event/event.go
+++ /dev/null
@@ -1,127 +0,0 @@
-// Copyright 2019 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package event
-
-import (
- "context"
-
- "golang.org/x/tools/internal/event/core"
- "golang.org/x/tools/internal/event/keys"
- "golang.org/x/tools/internal/event/label"
-)
-
-// Exporter is a function that handles events.
-// It may return a modified context and event.
-type Exporter func(context.Context, core.Event, label.Map) context.Context
-
-// SetExporter sets the global exporter function that handles all events.
-// The exporter is called synchronously from the event call site, so it should
-// return quickly so as not to hold up user code.
-func SetExporter(e Exporter) {
- core.SetExporter(core.Exporter(e))
-}
-
-// Log takes a message and a label list and combines them into a single event
-// before delivering them to the exporter.
-func Log(ctx context.Context, message string, labels ...label.Label) {
- core.Export(ctx, core.MakeEvent([3]label.Label{
- keys.Msg.Of(message),
- }, labels))
-}
-
-// IsLog returns true if the event was built by the Log function.
-// It is intended to be used in exporters to identify the semantics of the
-// event when deciding what to do with it.
-func IsLog(ev core.Event) bool {
- return ev.Label(0).Key() == keys.Msg
-}
-
-// Error takes a message and a label list and combines them into a single event
-// before delivering them to the exporter. It captures the error in the
-// delivered event.
-func Error(ctx context.Context, message string, err error, labels ...label.Label) {
- core.Export(ctx, core.MakeEvent([3]label.Label{
- keys.Msg.Of(message),
- keys.Err.Of(err),
- }, labels))
-}
-
-// IsError returns true if the event was built by the Error function.
-// It is intended to be used in exporters to identify the semantics of the
-// event when deciding what to do with it.
-func IsError(ev core.Event) bool {
- return ev.Label(0).Key() == keys.Msg &&
- ev.Label(1).Key() == keys.Err
-}
-
-// Metric sends a label event to the exporter with the supplied labels.
-func Metric(ctx context.Context, labels ...label.Label) {
- core.Export(ctx, core.MakeEvent([3]label.Label{
- keys.Metric.New(),
- }, labels))
-}
-
-// IsMetric returns true if the event was built by the Metric function.
-// It is intended to be used in exporters to identify the semantics of the
-// event when deciding what to do with it.
-func IsMetric(ev core.Event) bool {
- return ev.Label(0).Key() == keys.Metric
-}
-
-// Label sends a label event to the exporter with the supplied labels.
-func Label(ctx context.Context, labels ...label.Label) context.Context {
- return core.Export(ctx, core.MakeEvent([3]label.Label{
- keys.Label.New(),
- }, labels))
-}
-
-// IsLabel returns true if the event was built by the Label function.
-// It is intended to be used in exporters to identify the semantics of the
-// event when deciding what to do with it.
-func IsLabel(ev core.Event) bool {
- return ev.Label(0).Key() == keys.Label
-}
-
-// Start sends a span start event with the supplied label list to the exporter.
-// It also returns a function that will end the span, which should normally be
-// deferred.
-func Start(ctx context.Context, name string, labels ...label.Label) (context.Context, func()) {
- return core.ExportPair(ctx,
- core.MakeEvent([3]label.Label{
- keys.Start.Of(name),
- }, labels),
- core.MakeEvent([3]label.Label{
- keys.End.New(),
- }, nil))
-}
-
-// IsStart returns true if the event was built by the Start function.
-// It is intended to be used in exporters to identify the semantics of the
-// event when deciding what to do with it.
-func IsStart(ev core.Event) bool {
- return ev.Label(0).Key() == keys.Start
-}
-
-// IsEnd returns true if the event was built by the End function.
-// It is intended to be used in exporters to identify the semantics of the
-// event when deciding what to do with it.
-func IsEnd(ev core.Event) bool {
- return ev.Label(0).Key() == keys.End
-}
-
-// Detach returns a context without an associated span.
-// This allows the creation of spans that are not children of the current span.
-func Detach(ctx context.Context) context.Context {
- return core.Export(ctx, core.MakeEvent([3]label.Label{
- keys.Detach.New(),
- }, nil))
-}
-
-// IsDetach returns true if the event was built by the Detach function.
-// It is intended to be used in exporters to identify the semantics of the
-// event when deciding what to do with it.
-func IsDetach(ev core.Event) bool {
- return ev.Label(0).Key() == keys.Detach
-}
diff --git a/vendor/golang.org/x/tools/internal/event/keys/keys.go b/vendor/golang.org/x/tools/internal/event/keys/keys.go
deleted file mode 100644
index a02206e3..00000000
--- a/vendor/golang.org/x/tools/internal/event/keys/keys.go
+++ /dev/null
@@ -1,564 +0,0 @@
-// Copyright 2019 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package keys
-
-import (
- "fmt"
- "io"
- "math"
- "strconv"
-
- "golang.org/x/tools/internal/event/label"
-)
-
-// Value represents a key for untyped values.
-type Value struct {
- name string
- description string
-}
-
-// New creates a new Key for untyped values.
-func New(name, description string) *Value {
- return &Value{name: name, description: description}
-}
-
-func (k *Value) Name() string { return k.name }
-func (k *Value) Description() string { return k.description }
-
-func (k *Value) Format(w io.Writer, buf []byte, l label.Label) {
- fmt.Fprint(w, k.From(l))
-}
-
-// Get can be used to get a label for the key from a label.Map.
-func (k *Value) Get(lm label.Map) interface{} {
- if t := lm.Find(k); t.Valid() {
- return k.From(t)
- }
- return nil
-}
-
-// From can be used to get a value from a Label.
-func (k *Value) From(t label.Label) interface{} { return t.UnpackValue() }
-
-// Of creates a new Label with this key and the supplied value.
-func (k *Value) Of(value interface{}) label.Label { return label.OfValue(k, value) }
-
-// Tag represents a key for tagging labels that have no value.
-// These are used when the existence of the label is the entire information it
-// carries, such as marking events to be of a specific kind, or from a specific
-// package.
-type Tag struct {
- name string
- description string
-}
-
-// NewTag creates a new Key for tagging labels.
-func NewTag(name, description string) *Tag {
- return &Tag{name: name, description: description}
-}
-
-func (k *Tag) Name() string { return k.name }
-func (k *Tag) Description() string { return k.description }
-
-func (k *Tag) Format(w io.Writer, buf []byte, l label.Label) {}
-
-// New creates a new Label with this key.
-func (k *Tag) New() label.Label { return label.OfValue(k, nil) }
-
-// Int represents a key
-type Int struct {
- name string
- description string
-}
-
-// NewInt creates a new Key for int values.
-func NewInt(name, description string) *Int {
- return &Int{name: name, description: description}
-}
-
-func (k *Int) Name() string { return k.name }
-func (k *Int) Description() string { return k.description }
-
-func (k *Int) Format(w io.Writer, buf []byte, l label.Label) {
- w.Write(strconv.AppendInt(buf, int64(k.From(l)), 10))
-}
-
-// Of creates a new Label with this key and the supplied value.
-func (k *Int) Of(v int) label.Label { return label.Of64(k, uint64(v)) }
-
-// Get can be used to get a label for the key from a label.Map.
-func (k *Int) Get(lm label.Map) int {
- if t := lm.Find(k); t.Valid() {
- return k.From(t)
- }
- return 0
-}
-
-// From can be used to get a value from a Label.
-func (k *Int) From(t label.Label) int { return int(t.Unpack64()) }
-
-// Int8 represents a key
-type Int8 struct {
- name string
- description string
-}
-
-// NewInt8 creates a new Key for int8 values.
-func NewInt8(name, description string) *Int8 {
- return &Int8{name: name, description: description}
-}
-
-func (k *Int8) Name() string { return k.name }
-func (k *Int8) Description() string { return k.description }
-
-func (k *Int8) Format(w io.Writer, buf []byte, l label.Label) {
- w.Write(strconv.AppendInt(buf, int64(k.From(l)), 10))
-}
-
-// Of creates a new Label with this key and the supplied value.
-func (k *Int8) Of(v int8) label.Label { return label.Of64(k, uint64(v)) }
-
-// Get can be used to get a label for the key from a label.Map.
-func (k *Int8) Get(lm label.Map) int8 {
- if t := lm.Find(k); t.Valid() {
- return k.From(t)
- }
- return 0
-}
-
-// From can be used to get a value from a Label.
-func (k *Int8) From(t label.Label) int8 { return int8(t.Unpack64()) }
-
-// Int16 represents a key
-type Int16 struct {
- name string
- description string
-}
-
-// NewInt16 creates a new Key for int16 values.
-func NewInt16(name, description string) *Int16 {
- return &Int16{name: name, description: description}
-}
-
-func (k *Int16) Name() string { return k.name }
-func (k *Int16) Description() string { return k.description }
-
-func (k *Int16) Format(w io.Writer, buf []byte, l label.Label) {
- w.Write(strconv.AppendInt(buf, int64(k.From(l)), 10))
-}
-
-// Of creates a new Label with this key and the supplied value.
-func (k *Int16) Of(v int16) label.Label { return label.Of64(k, uint64(v)) }
-
-// Get can be used to get a label for the key from a label.Map.
-func (k *Int16) Get(lm label.Map) int16 {
- if t := lm.Find(k); t.Valid() {
- return k.From(t)
- }
- return 0
-}
-
-// From can be used to get a value from a Label.
-func (k *Int16) From(t label.Label) int16 { return int16(t.Unpack64()) }
-
-// Int32 represents a key
-type Int32 struct {
- name string
- description string
-}
-
-// NewInt32 creates a new Key for int32 values.
-func NewInt32(name, description string) *Int32 {
- return &Int32{name: name, description: description}
-}
-
-func (k *Int32) Name() string { return k.name }
-func (k *Int32) Description() string { return k.description }
-
-func (k *Int32) Format(w io.Writer, buf []byte, l label.Label) {
- w.Write(strconv.AppendInt(buf, int64(k.From(l)), 10))
-}
-
-// Of creates a new Label with this key and the supplied value.
-func (k *Int32) Of(v int32) label.Label { return label.Of64(k, uint64(v)) }
-
-// Get can be used to get a label for the key from a label.Map.
-func (k *Int32) Get(lm label.Map) int32 {
- if t := lm.Find(k); t.Valid() {
- return k.From(t)
- }
- return 0
-}
-
-// From can be used to get a value from a Label.
-func (k *Int32) From(t label.Label) int32 { return int32(t.Unpack64()) }
-
-// Int64 represents a key
-type Int64 struct {
- name string
- description string
-}
-
-// NewInt64 creates a new Key for int64 values.
-func NewInt64(name, description string) *Int64 {
- return &Int64{name: name, description: description}
-}
-
-func (k *Int64) Name() string { return k.name }
-func (k *Int64) Description() string { return k.description }
-
-func (k *Int64) Format(w io.Writer, buf []byte, l label.Label) {
- w.Write(strconv.AppendInt(buf, k.From(l), 10))
-}
-
-// Of creates a new Label with this key and the supplied value.
-func (k *Int64) Of(v int64) label.Label { return label.Of64(k, uint64(v)) }
-
-// Get can be used to get a label for the key from a label.Map.
-func (k *Int64) Get(lm label.Map) int64 {
- if t := lm.Find(k); t.Valid() {
- return k.From(t)
- }
- return 0
-}
-
-// From can be used to get a value from a Label.
-func (k *Int64) From(t label.Label) int64 { return int64(t.Unpack64()) }
-
-// UInt represents a key
-type UInt struct {
- name string
- description string
-}
-
-// NewUInt creates a new Key for uint values.
-func NewUInt(name, description string) *UInt {
- return &UInt{name: name, description: description}
-}
-
-func (k *UInt) Name() string { return k.name }
-func (k *UInt) Description() string { return k.description }
-
-func (k *UInt) Format(w io.Writer, buf []byte, l label.Label) {
- w.Write(strconv.AppendUint(buf, uint64(k.From(l)), 10))
-}
-
-// Of creates a new Label with this key and the supplied value.
-func (k *UInt) Of(v uint) label.Label { return label.Of64(k, uint64(v)) }
-
-// Get can be used to get a label for the key from a label.Map.
-func (k *UInt) Get(lm label.Map) uint {
- if t := lm.Find(k); t.Valid() {
- return k.From(t)
- }
- return 0
-}
-
-// From can be used to get a value from a Label.
-func (k *UInt) From(t label.Label) uint { return uint(t.Unpack64()) }
-
-// UInt8 represents a key
-type UInt8 struct {
- name string
- description string
-}
-
-// NewUInt8 creates a new Key for uint8 values.
-func NewUInt8(name, description string) *UInt8 {
- return &UInt8{name: name, description: description}
-}
-
-func (k *UInt8) Name() string { return k.name }
-func (k *UInt8) Description() string { return k.description }
-
-func (k *UInt8) Format(w io.Writer, buf []byte, l label.Label) {
- w.Write(strconv.AppendUint(buf, uint64(k.From(l)), 10))
-}
-
-// Of creates a new Label with this key and the supplied value.
-func (k *UInt8) Of(v uint8) label.Label { return label.Of64(k, uint64(v)) }
-
-// Get can be used to get a label for the key from a label.Map.
-func (k *UInt8) Get(lm label.Map) uint8 {
- if t := lm.Find(k); t.Valid() {
- return k.From(t)
- }
- return 0
-}
-
-// From can be used to get a value from a Label.
-func (k *UInt8) From(t label.Label) uint8 { return uint8(t.Unpack64()) }
-
-// UInt16 represents a key
-type UInt16 struct {
- name string
- description string
-}
-
-// NewUInt16 creates a new Key for uint16 values.
-func NewUInt16(name, description string) *UInt16 {
- return &UInt16{name: name, description: description}
-}
-
-func (k *UInt16) Name() string { return k.name }
-func (k *UInt16) Description() string { return k.description }
-
-func (k *UInt16) Format(w io.Writer, buf []byte, l label.Label) {
- w.Write(strconv.AppendUint(buf, uint64(k.From(l)), 10))
-}
-
-// Of creates a new Label with this key and the supplied value.
-func (k *UInt16) Of(v uint16) label.Label { return label.Of64(k, uint64(v)) }
-
-// Get can be used to get a label for the key from a label.Map.
-func (k *UInt16) Get(lm label.Map) uint16 {
- if t := lm.Find(k); t.Valid() {
- return k.From(t)
- }
- return 0
-}
-
-// From can be used to get a value from a Label.
-func (k *UInt16) From(t label.Label) uint16 { return uint16(t.Unpack64()) }
-
-// UInt32 represents a key
-type UInt32 struct {
- name string
- description string
-}
-
-// NewUInt32 creates a new Key for uint32 values.
-func NewUInt32(name, description string) *UInt32 {
- return &UInt32{name: name, description: description}
-}
-
-func (k *UInt32) Name() string { return k.name }
-func (k *UInt32) Description() string { return k.description }
-
-func (k *UInt32) Format(w io.Writer, buf []byte, l label.Label) {
- w.Write(strconv.AppendUint(buf, uint64(k.From(l)), 10))
-}
-
-// Of creates a new Label with this key and the supplied value.
-func (k *UInt32) Of(v uint32) label.Label { return label.Of64(k, uint64(v)) }
-
-// Get can be used to get a label for the key from a label.Map.
-func (k *UInt32) Get(lm label.Map) uint32 {
- if t := lm.Find(k); t.Valid() {
- return k.From(t)
- }
- return 0
-}
-
-// From can be used to get a value from a Label.
-func (k *UInt32) From(t label.Label) uint32 { return uint32(t.Unpack64()) }
-
-// UInt64 represents a key
-type UInt64 struct {
- name string
- description string
-}
-
-// NewUInt64 creates a new Key for uint64 values.
-func NewUInt64(name, description string) *UInt64 {
- return &UInt64{name: name, description: description}
-}
-
-func (k *UInt64) Name() string { return k.name }
-func (k *UInt64) Description() string { return k.description }
-
-func (k *UInt64) Format(w io.Writer, buf []byte, l label.Label) {
- w.Write(strconv.AppendUint(buf, k.From(l), 10))
-}
-
-// Of creates a new Label with this key and the supplied value.
-func (k *UInt64) Of(v uint64) label.Label { return label.Of64(k, v) }
-
-// Get can be used to get a label for the key from a label.Map.
-func (k *UInt64) Get(lm label.Map) uint64 {
- if t := lm.Find(k); t.Valid() {
- return k.From(t)
- }
- return 0
-}
-
-// From can be used to get a value from a Label.
-func (k *UInt64) From(t label.Label) uint64 { return t.Unpack64() }
-
-// Float32 represents a key
-type Float32 struct {
- name string
- description string
-}
-
-// NewFloat32 creates a new Key for float32 values.
-func NewFloat32(name, description string) *Float32 {
- return &Float32{name: name, description: description}
-}
-
-func (k *Float32) Name() string { return k.name }
-func (k *Float32) Description() string { return k.description }
-
-func (k *Float32) Format(w io.Writer, buf []byte, l label.Label) {
- w.Write(strconv.AppendFloat(buf, float64(k.From(l)), 'E', -1, 32))
-}
-
-// Of creates a new Label with this key and the supplied value.
-func (k *Float32) Of(v float32) label.Label {
- return label.Of64(k, uint64(math.Float32bits(v)))
-}
-
-// Get can be used to get a label for the key from a label.Map.
-func (k *Float32) Get(lm label.Map) float32 {
- if t := lm.Find(k); t.Valid() {
- return k.From(t)
- }
- return 0
-}
-
-// From can be used to get a value from a Label.
-func (k *Float32) From(t label.Label) float32 {
- return math.Float32frombits(uint32(t.Unpack64()))
-}
-
-// Float64 represents a key
-type Float64 struct {
- name string
- description string
-}
-
-// NewFloat64 creates a new Key for int64 values.
-func NewFloat64(name, description string) *Float64 {
- return &Float64{name: name, description: description}
-}
-
-func (k *Float64) Name() string { return k.name }
-func (k *Float64) Description() string { return k.description }
-
-func (k *Float64) Format(w io.Writer, buf []byte, l label.Label) {
- w.Write(strconv.AppendFloat(buf, k.From(l), 'E', -1, 64))
-}
-
-// Of creates a new Label with this key and the supplied value.
-func (k *Float64) Of(v float64) label.Label {
- return label.Of64(k, math.Float64bits(v))
-}
-
-// Get can be used to get a label for the key from a label.Map.
-func (k *Float64) Get(lm label.Map) float64 {
- if t := lm.Find(k); t.Valid() {
- return k.From(t)
- }
- return 0
-}
-
-// From can be used to get a value from a Label.
-func (k *Float64) From(t label.Label) float64 {
- return math.Float64frombits(t.Unpack64())
-}
-
-// String represents a key
-type String struct {
- name string
- description string
-}
-
-// NewString creates a new Key for int64 values.
-func NewString(name, description string) *String {
- return &String{name: name, description: description}
-}
-
-func (k *String) Name() string { return k.name }
-func (k *String) Description() string { return k.description }
-
-func (k *String) Format(w io.Writer, buf []byte, l label.Label) {
- w.Write(strconv.AppendQuote(buf, k.From(l)))
-}
-
-// Of creates a new Label with this key and the supplied value.
-func (k *String) Of(v string) label.Label { return label.OfString(k, v) }
-
-// Get can be used to get a label for the key from a label.Map.
-func (k *String) Get(lm label.Map) string {
- if t := lm.Find(k); t.Valid() {
- return k.From(t)
- }
- return ""
-}
-
-// From can be used to get a value from a Label.
-func (k *String) From(t label.Label) string { return t.UnpackString() }
-
-// Boolean represents a key
-type Boolean struct {
- name string
- description string
-}
-
-// NewBoolean creates a new Key for bool values.
-func NewBoolean(name, description string) *Boolean {
- return &Boolean{name: name, description: description}
-}
-
-func (k *Boolean) Name() string { return k.name }
-func (k *Boolean) Description() string { return k.description }
-
-func (k *Boolean) Format(w io.Writer, buf []byte, l label.Label) {
- w.Write(strconv.AppendBool(buf, k.From(l)))
-}
-
-// Of creates a new Label with this key and the supplied value.
-func (k *Boolean) Of(v bool) label.Label {
- if v {
- return label.Of64(k, 1)
- }
- return label.Of64(k, 0)
-}
-
-// Get can be used to get a label for the key from a label.Map.
-func (k *Boolean) Get(lm label.Map) bool {
- if t := lm.Find(k); t.Valid() {
- return k.From(t)
- }
- return false
-}
-
-// From can be used to get a value from a Label.
-func (k *Boolean) From(t label.Label) bool { return t.Unpack64() > 0 }
-
-// Error represents a key
-type Error struct {
- name string
- description string
-}
-
-// NewError creates a new Key for int64 values.
-func NewError(name, description string) *Error {
- return &Error{name: name, description: description}
-}
-
-func (k *Error) Name() string { return k.name }
-func (k *Error) Description() string { return k.description }
-
-func (k *Error) Format(w io.Writer, buf []byte, l label.Label) {
- io.WriteString(w, k.From(l).Error())
-}
-
-// Of creates a new Label with this key and the supplied value.
-func (k *Error) Of(v error) label.Label { return label.OfValue(k, v) }
-
-// Get can be used to get a label for the key from a label.Map.
-func (k *Error) Get(lm label.Map) error {
- if t := lm.Find(k); t.Valid() {
- return k.From(t)
- }
- return nil
-}
-
-// From can be used to get a value from a Label.
-func (k *Error) From(t label.Label) error {
- err, _ := t.UnpackValue().(error)
- return err
-}
diff --git a/vendor/golang.org/x/tools/internal/event/keys/standard.go b/vendor/golang.org/x/tools/internal/event/keys/standard.go
deleted file mode 100644
index 7e958665..00000000
--- a/vendor/golang.org/x/tools/internal/event/keys/standard.go
+++ /dev/null
@@ -1,22 +0,0 @@
-// Copyright 2020 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package keys
-
-var (
- // Msg is a key used to add message strings to label lists.
- Msg = NewString("message", "a readable message")
- // Label is a key used to indicate an event adds labels to the context.
- Label = NewTag("label", "a label context marker")
- // Start is used for things like traces that have a name.
- Start = NewString("start", "span start")
- // Metric is a key used to indicate an event records metrics.
- End = NewTag("end", "a span end marker")
- // Metric is a key used to indicate an event records metrics.
- Detach = NewTag("detach", "a span detach marker")
- // Err is a key used to add error values to label lists.
- Err = NewError("error", "an error that occurred")
- // Metric is a key used to indicate an event records metrics.
- Metric = NewTag("metric", "a metric event marker")
-)
diff --git a/vendor/golang.org/x/tools/internal/event/keys/util.go b/vendor/golang.org/x/tools/internal/event/keys/util.go
deleted file mode 100644
index c0e8e731..00000000
--- a/vendor/golang.org/x/tools/internal/event/keys/util.go
+++ /dev/null
@@ -1,21 +0,0 @@
-// Copyright 2023 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package keys
-
-import (
- "sort"
- "strings"
-)
-
-// Join returns a canonical join of the keys in S:
-// a sorted comma-separated string list.
-func Join[S ~[]T, T ~string](s S) string {
- strs := make([]string, 0, len(s))
- for _, v := range s {
- strs = append(strs, string(v))
- }
- sort.Strings(strs)
- return strings.Join(strs, ",")
-}
diff --git a/vendor/golang.org/x/tools/internal/event/label/label.go b/vendor/golang.org/x/tools/internal/event/label/label.go
deleted file mode 100644
index 0f526e1f..00000000
--- a/vendor/golang.org/x/tools/internal/event/label/label.go
+++ /dev/null
@@ -1,215 +0,0 @@
-// Copyright 2019 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package label
-
-import (
- "fmt"
- "io"
- "reflect"
- "unsafe"
-)
-
-// Key is used as the identity of a Label.
-// Keys are intended to be compared by pointer only, the name should be unique
-// for communicating with external systems, but it is not required or enforced.
-type Key interface {
- // Name returns the key name.
- Name() string
- // Description returns a string that can be used to describe the value.
- Description() string
-
- // Format is used in formatting to append the value of the label to the
- // supplied buffer.
- // The formatter may use the supplied buf as a scratch area to avoid
- // allocations.
- Format(w io.Writer, buf []byte, l Label)
-}
-
-// Label holds a key and value pair.
-// It is normally used when passing around lists of labels.
-type Label struct {
- key Key
- packed uint64
- untyped interface{}
-}
-
-// Map is the interface to a collection of Labels indexed by key.
-type Map interface {
- // Find returns the label that matches the supplied key.
- Find(key Key) Label
-}
-
-// List is the interface to something that provides an iterable
-// list of labels.
-// Iteration should start from 0 and continue until Valid returns false.
-type List interface {
- // Valid returns true if the index is within range for the list.
- // It does not imply the label at that index will itself be valid.
- Valid(index int) bool
- // Label returns the label at the given index.
- Label(index int) Label
-}
-
-// list implements LabelList for a list of Labels.
-type list struct {
- labels []Label
-}
-
-// filter wraps a LabelList filtering out specific labels.
-type filter struct {
- keys []Key
- underlying List
-}
-
-// listMap implements LabelMap for a simple list of labels.
-type listMap struct {
- labels []Label
-}
-
-// mapChain implements LabelMap for a list of underlying LabelMap.
-type mapChain struct {
- maps []Map
-}
-
-// OfValue creates a new label from the key and value.
-// This method is for implementing new key types, label creation should
-// normally be done with the Of method of the key.
-func OfValue(k Key, value interface{}) Label { return Label{key: k, untyped: value} }
-
-// UnpackValue assumes the label was built using LabelOfValue and returns the value
-// that was passed to that constructor.
-// This method is for implementing new key types, for type safety normal
-// access should be done with the From method of the key.
-func (t Label) UnpackValue() interface{} { return t.untyped }
-
-// Of64 creates a new label from a key and a uint64. This is often
-// used for non uint64 values that can be packed into a uint64.
-// This method is for implementing new key types, label creation should
-// normally be done with the Of method of the key.
-func Of64(k Key, v uint64) Label { return Label{key: k, packed: v} }
-
-// Unpack64 assumes the label was built using LabelOf64 and returns the value that
-// was passed to that constructor.
-// This method is for implementing new key types, for type safety normal
-// access should be done with the From method of the key.
-func (t Label) Unpack64() uint64 { return t.packed }
-
-type stringptr unsafe.Pointer
-
-// OfString creates a new label from a key and a string.
-// This method is for implementing new key types, label creation should
-// normally be done with the Of method of the key.
-func OfString(k Key, v string) Label {
- hdr := (*reflect.StringHeader)(unsafe.Pointer(&v))
- return Label{
- key: k,
- packed: uint64(hdr.Len),
- untyped: stringptr(hdr.Data),
- }
-}
-
-// UnpackString assumes the label was built using LabelOfString and returns the
-// value that was passed to that constructor.
-// This method is for implementing new key types, for type safety normal
-// access should be done with the From method of the key.
-func (t Label) UnpackString() string {
- var v string
- hdr := (*reflect.StringHeader)(unsafe.Pointer(&v))
- hdr.Data = uintptr(t.untyped.(stringptr))
- hdr.Len = int(t.packed)
- return v
-}
-
-// Valid returns true if the Label is a valid one (it has a key).
-func (t Label) Valid() bool { return t.key != nil }
-
-// Key returns the key of this Label.
-func (t Label) Key() Key { return t.key }
-
-// Format is used for debug printing of labels.
-func (t Label) Format(f fmt.State, r rune) {
- if !t.Valid() {
- io.WriteString(f, `nil`)
- return
- }
- io.WriteString(f, t.Key().Name())
- io.WriteString(f, "=")
- var buf [128]byte
- t.Key().Format(f, buf[:0], t)
-}
-
-func (l *list) Valid(index int) bool {
- return index >= 0 && index < len(l.labels)
-}
-
-func (l *list) Label(index int) Label {
- return l.labels[index]
-}
-
-func (f *filter) Valid(index int) bool {
- return f.underlying.Valid(index)
-}
-
-func (f *filter) Label(index int) Label {
- l := f.underlying.Label(index)
- for _, f := range f.keys {
- if l.Key() == f {
- return Label{}
- }
- }
- return l
-}
-
-func (lm listMap) Find(key Key) Label {
- for _, l := range lm.labels {
- if l.Key() == key {
- return l
- }
- }
- return Label{}
-}
-
-func (c mapChain) Find(key Key) Label {
- for _, src := range c.maps {
- l := src.Find(key)
- if l.Valid() {
- return l
- }
- }
- return Label{}
-}
-
-var emptyList = &list{}
-
-func NewList(labels ...Label) List {
- if len(labels) == 0 {
- return emptyList
- }
- return &list{labels: labels}
-}
-
-func Filter(l List, keys ...Key) List {
- if len(keys) == 0 {
- return l
- }
- return &filter{keys: keys, underlying: l}
-}
-
-func NewMap(labels ...Label) Map {
- return listMap{labels: labels}
-}
-
-func MergeMaps(srcs ...Map) Map {
- var nonNil []Map
- for _, src := range srcs {
- if src != nil {
- nonNil = append(nonNil, src)
- }
- }
- if len(nonNil) == 1 {
- return nonNil[0]
- }
- return mapChain{maps: nonNil}
-}
diff --git a/vendor/golang.org/x/tools/internal/gcimporter/bimport.go b/vendor/golang.org/x/tools/internal/gcimporter/bimport.go
deleted file mode 100644
index d79a605e..00000000
--- a/vendor/golang.org/x/tools/internal/gcimporter/bimport.go
+++ /dev/null
@@ -1,89 +0,0 @@
-// Copyright 2015 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-// This file contains the remaining vestiges of
-// $GOROOT/src/go/internal/gcimporter/bimport.go.
-
-package gcimporter
-
-import (
- "fmt"
- "go/token"
- "go/types"
- "sync"
-)
-
-func errorf(format string, args ...interface{}) {
- panic(fmt.Sprintf(format, args...))
-}
-
-const deltaNewFile = -64 // see cmd/compile/internal/gc/bexport.go
-
-// Synthesize a token.Pos
-type fakeFileSet struct {
- fset *token.FileSet
- files map[string]*fileInfo
-}
-
-type fileInfo struct {
- file *token.File
- lastline int
-}
-
-const maxlines = 64 * 1024
-
-func (s *fakeFileSet) pos(file string, line, column int) token.Pos {
- // TODO(mdempsky): Make use of column.
-
- // Since we don't know the set of needed file positions, we reserve maxlines
- // positions per file. We delay calling token.File.SetLines until all
- // positions have been calculated (by way of fakeFileSet.setLines), so that
- // we can avoid setting unnecessary lines. See also golang/go#46586.
- f := s.files[file]
- if f == nil {
- f = &fileInfo{file: s.fset.AddFile(file, -1, maxlines)}
- s.files[file] = f
- }
- if line > maxlines {
- line = 1
- }
- if line > f.lastline {
- f.lastline = line
- }
-
- // Return a fake position assuming that f.file consists only of newlines.
- return token.Pos(f.file.Base() + line - 1)
-}
-
-func (s *fakeFileSet) setLines() {
- fakeLinesOnce.Do(func() {
- fakeLines = make([]int, maxlines)
- for i := range fakeLines {
- fakeLines[i] = i
- }
- })
- for _, f := range s.files {
- f.file.SetLines(fakeLines[:f.lastline])
- }
-}
-
-var (
- fakeLines []int
- fakeLinesOnce sync.Once
-)
-
-func chanDir(d int) types.ChanDir {
- // tag values must match the constants in cmd/compile/internal/gc/go.go
- switch d {
- case 1 /* Crecv */ :
- return types.RecvOnly
- case 2 /* Csend */ :
- return types.SendOnly
- case 3 /* Cboth */ :
- return types.SendRecv
- default:
- errorf("unexpected channel dir %d", d)
- return 0
- }
-}
diff --git a/vendor/golang.org/x/tools/internal/gcimporter/exportdata.go b/vendor/golang.org/x/tools/internal/gcimporter/exportdata.go
deleted file mode 100644
index f6437feb..00000000
--- a/vendor/golang.org/x/tools/internal/gcimporter/exportdata.go
+++ /dev/null
@@ -1,99 +0,0 @@
-// Copyright 2011 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-// This file is a copy of $GOROOT/src/go/internal/gcimporter/exportdata.go.
-
-// This file implements FindExportData.
-
-package gcimporter
-
-import (
- "bufio"
- "fmt"
- "io"
- "strconv"
- "strings"
-)
-
-func readGopackHeader(r *bufio.Reader) (name string, size int64, err error) {
- // See $GOROOT/include/ar.h.
- hdr := make([]byte, 16+12+6+6+8+10+2)
- _, err = io.ReadFull(r, hdr)
- if err != nil {
- return
- }
- // leave for debugging
- if false {
- fmt.Printf("header: %s", hdr)
- }
- s := strings.TrimSpace(string(hdr[16+12+6+6+8:][:10]))
- length, err := strconv.Atoi(s)
- size = int64(length)
- if err != nil || hdr[len(hdr)-2] != '`' || hdr[len(hdr)-1] != '\n' {
- err = fmt.Errorf("invalid archive header")
- return
- }
- name = strings.TrimSpace(string(hdr[:16]))
- return
-}
-
-// FindExportData positions the reader r at the beginning of the
-// export data section of an underlying GC-created object/archive
-// file by reading from it. The reader must be positioned at the
-// start of the file before calling this function. The hdr result
-// is the string before the export data, either "$$" or "$$B".
-// The size result is the length of the export data in bytes, or -1 if not known.
-func FindExportData(r *bufio.Reader) (hdr string, size int64, err error) {
- // Read first line to make sure this is an object file.
- line, err := r.ReadSlice('\n')
- if err != nil {
- err = fmt.Errorf("can't find export data (%v)", err)
- return
- }
-
- if string(line) == "!\n" {
- // Archive file. Scan to __.PKGDEF.
- var name string
- if name, size, err = readGopackHeader(r); err != nil {
- return
- }
-
- // First entry should be __.PKGDEF.
- if name != "__.PKGDEF" {
- err = fmt.Errorf("go archive is missing __.PKGDEF")
- return
- }
-
- // Read first line of __.PKGDEF data, so that line
- // is once again the first line of the input.
- if line, err = r.ReadSlice('\n'); err != nil {
- err = fmt.Errorf("can't find export data (%v)", err)
- return
- }
- size -= int64(len(line))
- }
-
- // Now at __.PKGDEF in archive or still at beginning of file.
- // Either way, line should begin with "go object ".
- if !strings.HasPrefix(string(line), "go object ") {
- err = fmt.Errorf("not a Go object file")
- return
- }
-
- // Skip over object header to export data.
- // Begins after first line starting with $$.
- for line[0] != '$' {
- if line, err = r.ReadSlice('\n'); err != nil {
- err = fmt.Errorf("can't find export data (%v)", err)
- return
- }
- size -= int64(len(line))
- }
- hdr = string(line)
- if size < 0 {
- size = -1
- }
-
- return
-}
diff --git a/vendor/golang.org/x/tools/internal/gcimporter/gcimporter.go b/vendor/golang.org/x/tools/internal/gcimporter/gcimporter.go
deleted file mode 100644
index e6c5d51f..00000000
--- a/vendor/golang.org/x/tools/internal/gcimporter/gcimporter.go
+++ /dev/null
@@ -1,271 +0,0 @@
-// Copyright 2011 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-// This file is a reduced copy of $GOROOT/src/go/internal/gcimporter/gcimporter.go.
-
-// Package gcimporter provides various functions for reading
-// gc-generated object files that can be used to implement the
-// Importer interface defined by the Go 1.5 standard library package.
-//
-// The encoding is deterministic: if the encoder is applied twice to
-// the same types.Package data structure, both encodings are equal.
-// This property may be important to avoid spurious changes in
-// applications such as build systems.
-//
-// However, the encoder is not necessarily idempotent. Importing an
-// exported package may yield a types.Package that, while it
-// represents the same set of Go types as the original, may differ in
-// the details of its internal representation. Because of these
-// differences, re-encoding the imported package may yield a
-// different, but equally valid, encoding of the package.
-package gcimporter // import "golang.org/x/tools/internal/gcimporter"
-
-import (
- "bufio"
- "bytes"
- "fmt"
- "go/build"
- "go/token"
- "go/types"
- "io"
- "os"
- "os/exec"
- "path/filepath"
- "strings"
- "sync"
-)
-
-const (
- // Enable debug during development: it adds some additional checks, and
- // prevents errors from being recovered.
- debug = false
-
- // If trace is set, debugging output is printed to std out.
- trace = false
-)
-
-var exportMap sync.Map // package dir → func() (string, bool)
-
-// lookupGorootExport returns the location of the export data
-// (normally found in the build cache, but located in GOROOT/pkg
-// in prior Go releases) for the package located in pkgDir.
-//
-// (We use the package's directory instead of its import path
-// mainly to simplify handling of the packages in src/vendor
-// and cmd/vendor.)
-func lookupGorootExport(pkgDir string) (string, bool) {
- f, ok := exportMap.Load(pkgDir)
- if !ok {
- var (
- listOnce sync.Once
- exportPath string
- )
- f, _ = exportMap.LoadOrStore(pkgDir, func() (string, bool) {
- listOnce.Do(func() {
- cmd := exec.Command("go", "list", "-export", "-f", "{{.Export}}", pkgDir)
- cmd.Dir = build.Default.GOROOT
- var output []byte
- output, err := cmd.Output()
- if err != nil {
- return
- }
-
- exports := strings.Split(string(bytes.TrimSpace(output)), "\n")
- if len(exports) != 1 {
- return
- }
-
- exportPath = exports[0]
- })
-
- return exportPath, exportPath != ""
- })
- }
-
- return f.(func() (string, bool))()
-}
-
-var pkgExts = [...]string{".a", ".o"}
-
-// FindPkg returns the filename and unique package id for an import
-// path based on package information provided by build.Import (using
-// the build.Default build.Context). A relative srcDir is interpreted
-// relative to the current working directory.
-// If no file was found, an empty filename is returned.
-func FindPkg(path, srcDir string) (filename, id string) {
- if path == "" {
- return
- }
-
- var noext string
- switch {
- default:
- // "x" -> "$GOPATH/pkg/$GOOS_$GOARCH/x.ext", "x"
- // Don't require the source files to be present.
- if abs, err := filepath.Abs(srcDir); err == nil { // see issue 14282
- srcDir = abs
- }
- bp, _ := build.Import(path, srcDir, build.FindOnly|build.AllowBinary)
- if bp.PkgObj == "" {
- var ok bool
- if bp.Goroot && bp.Dir != "" {
- filename, ok = lookupGorootExport(bp.Dir)
- }
- if !ok {
- id = path // make sure we have an id to print in error message
- return
- }
- } else {
- noext = strings.TrimSuffix(bp.PkgObj, ".a")
- id = bp.ImportPath
- }
-
- case build.IsLocalImport(path):
- // "./x" -> "/this/directory/x.ext", "/this/directory/x"
- noext = filepath.Join(srcDir, path)
- id = noext
-
- case filepath.IsAbs(path):
- // for completeness only - go/build.Import
- // does not support absolute imports
- // "/x" -> "/x.ext", "/x"
- noext = path
- id = path
- }
-
- if false { // for debugging
- if path != id {
- fmt.Printf("%s -> %s\n", path, id)
- }
- }
-
- if filename != "" {
- if f, err := os.Stat(filename); err == nil && !f.IsDir() {
- return
- }
- }
-
- // try extensions
- for _, ext := range pkgExts {
- filename = noext + ext
- if f, err := os.Stat(filename); err == nil && !f.IsDir() {
- return
- }
- }
-
- filename = "" // not found
- return
-}
-
-// Import imports a gc-generated package given its import path and srcDir, adds
-// the corresponding package object to the packages map, and returns the object.
-// The packages map must contain all packages already imported.
-func Import(packages map[string]*types.Package, path, srcDir string, lookup func(path string) (io.ReadCloser, error)) (pkg *types.Package, err error) {
- var rc io.ReadCloser
- var filename, id string
- if lookup != nil {
- // With custom lookup specified, assume that caller has
- // converted path to a canonical import path for use in the map.
- if path == "unsafe" {
- return types.Unsafe, nil
- }
- id = path
-
- // No need to re-import if the package was imported completely before.
- if pkg = packages[id]; pkg != nil && pkg.Complete() {
- return
- }
- f, err := lookup(path)
- if err != nil {
- return nil, err
- }
- rc = f
- } else {
- filename, id = FindPkg(path, srcDir)
- if filename == "" {
- if path == "unsafe" {
- return types.Unsafe, nil
- }
- return nil, fmt.Errorf("can't find import: %q", id)
- }
-
- // no need to re-import if the package was imported completely before
- if pkg = packages[id]; pkg != nil && pkg.Complete() {
- return
- }
-
- // open file
- f, err := os.Open(filename)
- if err != nil {
- return nil, err
- }
- defer func() {
- if err != nil {
- // add file name to error
- err = fmt.Errorf("%s: %v", filename, err)
- }
- }()
- rc = f
- }
- defer rc.Close()
-
- var hdr string
- var size int64
- buf := bufio.NewReader(rc)
- if hdr, size, err = FindExportData(buf); err != nil {
- return
- }
-
- switch hdr {
- case "$$B\n":
- var data []byte
- data, err = io.ReadAll(buf)
- if err != nil {
- break
- }
-
- // TODO(gri): allow clients of go/importer to provide a FileSet.
- // Or, define a new standard go/types/gcexportdata package.
- fset := token.NewFileSet()
-
- // Select appropriate importer.
- if len(data) > 0 {
- switch data[0] {
- case 'v', 'c', 'd':
- // binary: emitted by cmd/compile till go1.10; obsolete.
- return nil, fmt.Errorf("binary (%c) import format is no longer supported", data[0])
-
- case 'i':
- // indexed: emitted by cmd/compile till go1.19;
- // now used only for serializing go/types.
- // See https://github.com/golang/go/issues/69491.
- _, pkg, err := IImportData(fset, packages, data[1:], id)
- return pkg, err
-
- case 'u':
- // unified: emitted by cmd/compile since go1.20.
- _, pkg, err := UImportData(fset, packages, data[1:size], id)
- return pkg, err
-
- default:
- l := len(data)
- if l > 10 {
- l = 10
- }
- return nil, fmt.Errorf("unexpected export data with prefix %q for path %s", string(data[:l]), id)
- }
- }
-
- default:
- err = fmt.Errorf("unknown export data header: %q", hdr)
- }
-
- return
-}
-
-type byPath []*types.Package
-
-func (a byPath) Len() int { return len(a) }
-func (a byPath) Swap(i, j int) { a[i], a[j] = a[j], a[i] }
-func (a byPath) Less(i, j int) bool { return a[i].Path() < a[j].Path() }
diff --git a/vendor/golang.org/x/tools/internal/gcimporter/iexport.go b/vendor/golang.org/x/tools/internal/gcimporter/iexport.go
deleted file mode 100644
index 1e19fbed..00000000
--- a/vendor/golang.org/x/tools/internal/gcimporter/iexport.go
+++ /dev/null
@@ -1,1568 +0,0 @@
-// Copyright 2019 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-// Indexed package export.
-//
-// The indexed export data format is an evolution of the previous
-// binary export data format. Its chief contribution is introducing an
-// index table, which allows efficient random access of individual
-// declarations and inline function bodies. In turn, this allows
-// avoiding unnecessary work for compilation units that import large
-// packages.
-//
-//
-// The top-level data format is structured as:
-//
-// Header struct {
-// Tag byte // 'i'
-// Version uvarint
-// StringSize uvarint
-// DataSize uvarint
-// }
-//
-// Strings [StringSize]byte
-// Data [DataSize]byte
-//
-// MainIndex []struct{
-// PkgPath stringOff
-// PkgName stringOff
-// PkgHeight uvarint
-//
-// Decls []struct{
-// Name stringOff
-// Offset declOff
-// }
-// }
-//
-// Fingerprint [8]byte
-//
-// uvarint means a uint64 written out using uvarint encoding.
-//
-// []T means a uvarint followed by that many T objects. In other
-// words:
-//
-// Len uvarint
-// Elems [Len]T
-//
-// stringOff means a uvarint that indicates an offset within the
-// Strings section. At that offset is another uvarint, followed by
-// that many bytes, which form the string value.
-//
-// declOff means a uvarint that indicates an offset within the Data
-// section where the associated declaration can be found.
-//
-//
-// There are five kinds of declarations, distinguished by their first
-// byte:
-//
-// type Var struct {
-// Tag byte // 'V'
-// Pos Pos
-// Type typeOff
-// }
-//
-// type Func struct {
-// Tag byte // 'F' or 'G'
-// Pos Pos
-// TypeParams []typeOff // only present if Tag == 'G'
-// Signature Signature
-// }
-//
-// type Const struct {
-// Tag byte // 'C'
-// Pos Pos
-// Value Value
-// }
-//
-// type Type struct {
-// Tag byte // 'T' or 'U'
-// Pos Pos
-// TypeParams []typeOff // only present if Tag == 'U'
-// Underlying typeOff
-//
-// Methods []struct{ // omitted if Underlying is an interface type
-// Pos Pos
-// Name stringOff
-// Recv Param
-// Signature Signature
-// }
-// }
-//
-// type Alias struct {
-// Tag byte // 'A' or 'B'
-// Pos Pos
-// TypeParams []typeOff // only present if Tag == 'B'
-// Type typeOff
-// }
-//
-// // "Automatic" declaration of each typeparam
-// type TypeParam struct {
-// Tag byte // 'P'
-// Pos Pos
-// Implicit bool
-// Constraint typeOff
-// }
-//
-// typeOff means a uvarint that either indicates a predeclared type,
-// or an offset into the Data section. If the uvarint is less than
-// predeclReserved, then it indicates the index into the predeclared
-// types list (see predeclared in bexport.go for order). Otherwise,
-// subtracting predeclReserved yields the offset of a type descriptor.
-//
-// Value means a type, kind, and type-specific value. See
-// (*exportWriter).value for details.
-//
-//
-// There are twelve kinds of type descriptors, distinguished by an itag:
-//
-// type DefinedType struct {
-// Tag itag // definedType
-// Name stringOff
-// PkgPath stringOff
-// }
-//
-// type PointerType struct {
-// Tag itag // pointerType
-// Elem typeOff
-// }
-//
-// type SliceType struct {
-// Tag itag // sliceType
-// Elem typeOff
-// }
-//
-// type ArrayType struct {
-// Tag itag // arrayType
-// Len uint64
-// Elem typeOff
-// }
-//
-// type ChanType struct {
-// Tag itag // chanType
-// Dir uint64 // 1 RecvOnly; 2 SendOnly; 3 SendRecv
-// Elem typeOff
-// }
-//
-// type MapType struct {
-// Tag itag // mapType
-// Key typeOff
-// Elem typeOff
-// }
-//
-// type FuncType struct {
-// Tag itag // signatureType
-// PkgPath stringOff
-// Signature Signature
-// }
-//
-// type StructType struct {
-// Tag itag // structType
-// PkgPath stringOff
-// Fields []struct {
-// Pos Pos
-// Name stringOff
-// Type typeOff
-// Embedded bool
-// Note stringOff
-// }
-// }
-//
-// type InterfaceType struct {
-// Tag itag // interfaceType
-// PkgPath stringOff
-// Embeddeds []struct {
-// Pos Pos
-// Type typeOff
-// }
-// Methods []struct {
-// Pos Pos
-// Name stringOff
-// Signature Signature
-// }
-// }
-//
-// // Reference to a type param declaration
-// type TypeParamType struct {
-// Tag itag // typeParamType
-// Name stringOff
-// PkgPath stringOff
-// }
-//
-// // Instantiation of a generic type (like List[T2] or List[int])
-// type InstanceType struct {
-// Tag itag // instanceType
-// Pos pos
-// TypeArgs []typeOff
-// BaseType typeOff
-// }
-//
-// type UnionType struct {
-// Tag itag // interfaceType
-// Terms []struct {
-// tilde bool
-// Type typeOff
-// }
-// }
-//
-//
-//
-// type Signature struct {
-// Params []Param
-// Results []Param
-// Variadic bool // omitted if Results is empty
-// }
-//
-// type Param struct {
-// Pos Pos
-// Name stringOff
-// Type typOff
-// }
-//
-//
-// Pos encodes a file:line:column triple, incorporating a simple delta
-// encoding scheme within a data object. See exportWriter.pos for
-// details.
-
-package gcimporter
-
-import (
- "bytes"
- "encoding/binary"
- "fmt"
- "go/constant"
- "go/token"
- "go/types"
- "io"
- "math/big"
- "reflect"
- "sort"
- "strconv"
- "strings"
-
- "golang.org/x/tools/go/types/objectpath"
- "golang.org/x/tools/internal/aliases"
-)
-
-// IExportShallow encodes "shallow" export data for the specified package.
-//
-// No promises are made about the encoding other than that it can be decoded by
-// the same version of IIExportShallow. If you plan to save export data in the
-// file system, be sure to include a cryptographic digest of the executable in
-// the key to avoid version skew.
-//
-// If the provided reportf func is non-nil, it will be used for reporting bugs
-// encountered during export.
-// TODO(rfindley): remove reportf when we are confident enough in the new
-// objectpath encoding.
-func IExportShallow(fset *token.FileSet, pkg *types.Package, reportf ReportFunc) ([]byte, error) {
- // In principle this operation can only fail if out.Write fails,
- // but that's impossible for bytes.Buffer---and as a matter of
- // fact iexportCommon doesn't even check for I/O errors.
- // TODO(adonovan): handle I/O errors properly.
- // TODO(adonovan): use byte slices throughout, avoiding copying.
- const bundle, shallow = false, true
- var out bytes.Buffer
- err := iexportCommon(&out, fset, bundle, shallow, iexportVersion, []*types.Package{pkg})
- return out.Bytes(), err
-}
-
-// IImportShallow decodes "shallow" types.Package data encoded by
-// IExportShallow in the same executable. This function cannot import data from
-// cmd/compile or gcexportdata.Write.
-//
-// The importer calls getPackages to obtain package symbols for all
-// packages mentioned in the export data, including the one being
-// decoded.
-//
-// If the provided reportf func is non-nil, it will be used for reporting bugs
-// encountered during import.
-// TODO(rfindley): remove reportf when we are confident enough in the new
-// objectpath encoding.
-func IImportShallow(fset *token.FileSet, getPackages GetPackagesFunc, data []byte, path string, reportf ReportFunc) (*types.Package, error) {
- const bundle = false
- const shallow = true
- pkgs, err := iimportCommon(fset, getPackages, data, bundle, path, shallow, reportf)
- if err != nil {
- return nil, err
- }
- return pkgs[0], nil
-}
-
-// ReportFunc is the type of a function used to report formatted bugs.
-type ReportFunc = func(string, ...interface{})
-
-// Current bundled export format version. Increase with each format change.
-// 0: initial implementation
-const bundleVersion = 0
-
-// IExportData writes indexed export data for pkg to out.
-//
-// If no file set is provided, position info will be missing.
-// The package path of the top-level package will not be recorded,
-// so that calls to IImportData can override with a provided package path.
-func IExportData(out io.Writer, fset *token.FileSet, pkg *types.Package) error {
- const bundle, shallow = false, false
- return iexportCommon(out, fset, bundle, shallow, iexportVersion, []*types.Package{pkg})
-}
-
-// IExportBundle writes an indexed export bundle for pkgs to out.
-func IExportBundle(out io.Writer, fset *token.FileSet, pkgs []*types.Package) error {
- const bundle, shallow = true, false
- return iexportCommon(out, fset, bundle, shallow, iexportVersion, pkgs)
-}
-
-func iexportCommon(out io.Writer, fset *token.FileSet, bundle, shallow bool, version int, pkgs []*types.Package) (err error) {
- if !debug {
- defer func() {
- if e := recover(); e != nil {
- if ierr, ok := e.(internalError); ok {
- err = ierr
- return
- }
- // Not an internal error; panic again.
- panic(e)
- }
- }()
- }
-
- p := iexporter{
- fset: fset,
- version: version,
- shallow: shallow,
- allPkgs: map[*types.Package]bool{},
- stringIndex: map[string]uint64{},
- declIndex: map[types.Object]uint64{},
- tparamNames: map[types.Object]string{},
- typIndex: map[types.Type]uint64{},
- }
- if !bundle {
- p.localpkg = pkgs[0]
- }
-
- for i, pt := range predeclared() {
- p.typIndex[pt] = uint64(i)
- }
- if len(p.typIndex) > predeclReserved {
- panic(internalErrorf("too many predeclared types: %d > %d", len(p.typIndex), predeclReserved))
- }
-
- // Initialize work queue with exported declarations.
- for _, pkg := range pkgs {
- scope := pkg.Scope()
- for _, name := range scope.Names() {
- if token.IsExported(name) {
- p.pushDecl(scope.Lookup(name))
- }
- }
-
- if bundle {
- // Ensure pkg and its imports are included in the index.
- p.allPkgs[pkg] = true
- for _, imp := range pkg.Imports() {
- p.allPkgs[imp] = true
- }
- }
- }
-
- // Loop until no more work.
- for !p.declTodo.empty() {
- p.doDecl(p.declTodo.popHead())
- }
-
- // Produce index of offset of each file record in files.
- var files intWriter
- var fileOffset []uint64 // fileOffset[i] is offset in files of file encoded as i
- if p.shallow {
- fileOffset = make([]uint64, len(p.fileInfos))
- for i, info := range p.fileInfos {
- fileOffset[i] = uint64(files.Len())
- p.encodeFile(&files, info.file, info.needed)
- }
- }
-
- // Append indices to data0 section.
- dataLen := uint64(p.data0.Len())
- w := p.newWriter()
- w.writeIndex(p.declIndex)
-
- if bundle {
- w.uint64(uint64(len(pkgs)))
- for _, pkg := range pkgs {
- w.pkg(pkg)
- imps := pkg.Imports()
- w.uint64(uint64(len(imps)))
- for _, imp := range imps {
- w.pkg(imp)
- }
- }
- }
- w.flush()
-
- // Assemble header.
- var hdr intWriter
- if bundle {
- hdr.uint64(bundleVersion)
- }
- hdr.uint64(uint64(p.version))
- hdr.uint64(uint64(p.strings.Len()))
- if p.shallow {
- hdr.uint64(uint64(files.Len()))
- hdr.uint64(uint64(len(fileOffset)))
- for _, offset := range fileOffset {
- hdr.uint64(offset)
- }
- }
- hdr.uint64(dataLen)
-
- // Flush output.
- io.Copy(out, &hdr)
- io.Copy(out, &p.strings)
- if p.shallow {
- io.Copy(out, &files)
- }
- io.Copy(out, &p.data0)
-
- return nil
-}
-
-// encodeFile writes to w a representation of the file sufficient to
-// faithfully restore position information about all needed offsets.
-// Mutates the needed array.
-func (p *iexporter) encodeFile(w *intWriter, file *token.File, needed []uint64) {
- _ = needed[0] // precondition: needed is non-empty
-
- w.uint64(p.stringOff(file.Name()))
-
- size := uint64(file.Size())
- w.uint64(size)
-
- // Sort the set of needed offsets. Duplicates are harmless.
- sort.Slice(needed, func(i, j int) bool { return needed[i] < needed[j] })
-
- lines := file.Lines() // byte offset of each line start
- w.uint64(uint64(len(lines)))
-
- // Rather than record the entire array of line start offsets,
- // we save only a sparse list of (index, offset) pairs for
- // the start of each line that contains a needed position.
- var sparse [][2]int // (index, offset) pairs
-outer:
- for i, lineStart := range lines {
- lineEnd := size
- if i < len(lines)-1 {
- lineEnd = uint64(lines[i+1])
- }
- // Does this line contains a needed offset?
- if needed[0] < lineEnd {
- sparse = append(sparse, [2]int{i, lineStart})
- for needed[0] < lineEnd {
- needed = needed[1:]
- if len(needed) == 0 {
- break outer
- }
- }
- }
- }
-
- // Delta-encode the columns.
- w.uint64(uint64(len(sparse)))
- var prev [2]int
- for _, pair := range sparse {
- w.uint64(uint64(pair[0] - prev[0]))
- w.uint64(uint64(pair[1] - prev[1]))
- prev = pair
- }
-}
-
-// writeIndex writes out an object index. mainIndex indicates whether
-// we're writing out the main index, which is also read by
-// non-compiler tools and includes a complete package description
-// (i.e., name and height).
-func (w *exportWriter) writeIndex(index map[types.Object]uint64) {
- type pkgObj struct {
- obj types.Object
- name string // qualified name; differs from obj.Name for type params
- }
- // Build a map from packages to objects from that package.
- pkgObjs := map[*types.Package][]pkgObj{}
-
- // For the main index, make sure to include every package that
- // we reference, even if we're not exporting (or reexporting)
- // any symbols from it.
- if w.p.localpkg != nil {
- pkgObjs[w.p.localpkg] = nil
- }
- for pkg := range w.p.allPkgs {
- pkgObjs[pkg] = nil
- }
-
- for obj := range index {
- name := w.p.exportName(obj)
- pkgObjs[obj.Pkg()] = append(pkgObjs[obj.Pkg()], pkgObj{obj, name})
- }
-
- var pkgs []*types.Package
- for pkg, objs := range pkgObjs {
- pkgs = append(pkgs, pkg)
-
- sort.Slice(objs, func(i, j int) bool {
- return objs[i].name < objs[j].name
- })
- }
-
- sort.Slice(pkgs, func(i, j int) bool {
- return w.exportPath(pkgs[i]) < w.exportPath(pkgs[j])
- })
-
- w.uint64(uint64(len(pkgs)))
- for _, pkg := range pkgs {
- w.string(w.exportPath(pkg))
- w.string(pkg.Name())
- w.uint64(uint64(0)) // package height is not needed for go/types
-
- objs := pkgObjs[pkg]
- w.uint64(uint64(len(objs)))
- for _, obj := range objs {
- w.string(obj.name)
- w.uint64(index[obj.obj])
- }
- }
-}
-
-// exportName returns the 'exported' name of an object. It differs from
-// obj.Name() only for type parameters (see tparamExportName for details).
-func (p *iexporter) exportName(obj types.Object) (res string) {
- if name := p.tparamNames[obj]; name != "" {
- return name
- }
- return obj.Name()
-}
-
-type iexporter struct {
- fset *token.FileSet
- out *bytes.Buffer
- version int
-
- shallow bool // don't put types from other packages in the index
- objEncoder *objectpath.Encoder // encodes objects from other packages in shallow mode; lazily allocated
- localpkg *types.Package // (nil in bundle mode)
-
- // allPkgs tracks all packages that have been referenced by
- // the export data, so we can ensure to include them in the
- // main index.
- allPkgs map[*types.Package]bool
-
- declTodo objQueue
-
- strings intWriter
- stringIndex map[string]uint64
-
- // In shallow mode, object positions are encoded as (file, offset).
- // Each file is recorded as a line-number table.
- // Only the lines of needed positions are saved faithfully.
- fileInfo map[*token.File]uint64 // value is index in fileInfos
- fileInfos []*filePositions
-
- data0 intWriter
- declIndex map[types.Object]uint64
- tparamNames map[types.Object]string // typeparam->exported name
- typIndex map[types.Type]uint64
-
- indent int // for tracing support
-}
-
-type filePositions struct {
- file *token.File
- needed []uint64 // unordered list of needed file offsets
-}
-
-func (p *iexporter) trace(format string, args ...interface{}) {
- if !trace {
- // Call sites should also be guarded, but having this check here allows
- // easily enabling/disabling debug trace statements.
- return
- }
- fmt.Printf(strings.Repeat("..", p.indent)+format+"\n", args...)
-}
-
-// objectpathEncoder returns the lazily allocated objectpath.Encoder to use
-// when encoding objects in other packages during shallow export.
-//
-// Using a shared Encoder amortizes some of cost of objectpath search.
-func (p *iexporter) objectpathEncoder() *objectpath.Encoder {
- if p.objEncoder == nil {
- p.objEncoder = new(objectpath.Encoder)
- }
- return p.objEncoder
-}
-
-// stringOff returns the offset of s within the string section.
-// If not already present, it's added to the end.
-func (p *iexporter) stringOff(s string) uint64 {
- off, ok := p.stringIndex[s]
- if !ok {
- off = uint64(p.strings.Len())
- p.stringIndex[s] = off
-
- p.strings.uint64(uint64(len(s)))
- p.strings.WriteString(s)
- }
- return off
-}
-
-// fileIndexAndOffset returns the index of the token.File and the byte offset of pos within it.
-func (p *iexporter) fileIndexAndOffset(file *token.File, pos token.Pos) (uint64, uint64) {
- index, ok := p.fileInfo[file]
- if !ok {
- index = uint64(len(p.fileInfo))
- p.fileInfos = append(p.fileInfos, &filePositions{file: file})
- if p.fileInfo == nil {
- p.fileInfo = make(map[*token.File]uint64)
- }
- p.fileInfo[file] = index
- }
- // Record each needed offset.
- info := p.fileInfos[index]
- offset := uint64(file.Offset(pos))
- info.needed = append(info.needed, offset)
-
- return index, offset
-}
-
-// pushDecl adds n to the declaration work queue, if not already present.
-func (p *iexporter) pushDecl(obj types.Object) {
- // Package unsafe is known to the compiler and predeclared.
- // Caller should not ask us to do export it.
- if obj.Pkg() == types.Unsafe {
- panic("cannot export package unsafe")
- }
-
- // Shallow export data: don't index decls from other packages.
- if p.shallow && obj.Pkg() != p.localpkg {
- return
- }
-
- if _, ok := p.declIndex[obj]; ok {
- return
- }
-
- p.declIndex[obj] = ^uint64(0) // mark obj present in work queue
- p.declTodo.pushTail(obj)
-}
-
-// exportWriter handles writing out individual data section chunks.
-type exportWriter struct {
- p *iexporter
-
- data intWriter
- prevFile string
- prevLine int64
- prevColumn int64
-}
-
-func (w *exportWriter) exportPath(pkg *types.Package) string {
- if pkg == w.p.localpkg {
- return ""
- }
- return pkg.Path()
-}
-
-func (p *iexporter) doDecl(obj types.Object) {
- if trace {
- p.trace("exporting decl %v (%T)", obj, obj)
- p.indent++
- defer func() {
- p.indent--
- p.trace("=> %s", obj)
- }()
- }
- w := p.newWriter()
-
- switch obj := obj.(type) {
- case *types.Var:
- w.tag(varTag)
- w.pos(obj.Pos())
- w.typ(obj.Type(), obj.Pkg())
-
- case *types.Func:
- sig, _ := obj.Type().(*types.Signature)
- if sig.Recv() != nil {
- // We shouldn't see methods in the package scope,
- // but the type checker may repair "func () F() {}"
- // to "func (Invalid) F()" and then treat it like "func F()",
- // so allow that. See golang/go#57729.
- if sig.Recv().Type() != types.Typ[types.Invalid] {
- panic(internalErrorf("unexpected method: %v", sig))
- }
- }
-
- // Function.
- if sig.TypeParams().Len() == 0 {
- w.tag(funcTag)
- } else {
- w.tag(genericFuncTag)
- }
- w.pos(obj.Pos())
- // The tparam list of the function type is the declaration of the type
- // params. So, write out the type params right now. Then those type params
- // will be referenced via their type offset (via typOff) in all other
- // places in the signature and function where they are used.
- //
- // While importing the type parameters, tparamList computes and records
- // their export name, so that it can be later used when writing the index.
- if tparams := sig.TypeParams(); tparams.Len() > 0 {
- w.tparamList(obj.Name(), tparams, obj.Pkg())
- }
- w.signature(sig)
-
- case *types.Const:
- w.tag(constTag)
- w.pos(obj.Pos())
- w.value(obj.Type(), obj.Val())
-
- case *types.TypeName:
- t := obj.Type()
-
- if tparam, ok := types.Unalias(t).(*types.TypeParam); ok {
- w.tag(typeParamTag)
- w.pos(obj.Pos())
- constraint := tparam.Constraint()
- if p.version >= iexportVersionGo1_18 {
- implicit := false
- if iface, _ := types.Unalias(constraint).(*types.Interface); iface != nil {
- implicit = iface.IsImplicit()
- }
- w.bool(implicit)
- }
- w.typ(constraint, obj.Pkg())
- break
- }
-
- if obj.IsAlias() {
- alias, materialized := t.(*types.Alias) // may fail when aliases are not enabled
-
- var tparams *types.TypeParamList
- if materialized {
- tparams = aliases.TypeParams(alias)
- }
- if tparams.Len() == 0 {
- w.tag(aliasTag)
- } else {
- w.tag(genericAliasTag)
- }
- w.pos(obj.Pos())
- if tparams.Len() > 0 {
- w.tparamList(obj.Name(), tparams, obj.Pkg())
- }
- if materialized {
- // Preserve materialized aliases,
- // even of non-exported types.
- t = aliases.Rhs(alias)
- }
- w.typ(t, obj.Pkg())
- break
- }
-
- // Defined type.
- named, ok := t.(*types.Named)
- if !ok {
- panic(internalErrorf("%s is not a defined type", t))
- }
-
- if named.TypeParams().Len() == 0 {
- w.tag(typeTag)
- } else {
- w.tag(genericTypeTag)
- }
- w.pos(obj.Pos())
-
- if named.TypeParams().Len() > 0 {
- // While importing the type parameters, tparamList computes and records
- // their export name, so that it can be later used when writing the index.
- w.tparamList(obj.Name(), named.TypeParams(), obj.Pkg())
- }
-
- underlying := named.Underlying()
- w.typ(underlying, obj.Pkg())
-
- if types.IsInterface(t) {
- break
- }
-
- n := named.NumMethods()
- w.uint64(uint64(n))
- for i := 0; i < n; i++ {
- m := named.Method(i)
- w.pos(m.Pos())
- w.string(m.Name())
- sig, _ := m.Type().(*types.Signature)
-
- // Receiver type parameters are type arguments of the receiver type, so
- // their name must be qualified before exporting recv.
- if rparams := sig.RecvTypeParams(); rparams.Len() > 0 {
- prefix := obj.Name() + "." + m.Name()
- for i := 0; i < rparams.Len(); i++ {
- rparam := rparams.At(i)
- name := tparamExportName(prefix, rparam)
- w.p.tparamNames[rparam.Obj()] = name
- }
- }
- w.param(sig.Recv())
- w.signature(sig)
- }
-
- default:
- panic(internalErrorf("unexpected object: %v", obj))
- }
-
- p.declIndex[obj] = w.flush()
-}
-
-func (w *exportWriter) tag(tag byte) {
- w.data.WriteByte(tag)
-}
-
-func (w *exportWriter) pos(pos token.Pos) {
- if w.p.shallow {
- w.posV2(pos)
- } else if w.p.version >= iexportVersionPosCol {
- w.posV1(pos)
- } else {
- w.posV0(pos)
- }
-}
-
-// posV2 encoding (used only in shallow mode) records positions as
-// (file, offset), where file is the index in the token.File table
-// (which records the file name and newline offsets) and offset is a
-// byte offset. It effectively ignores //line directives.
-func (w *exportWriter) posV2(pos token.Pos) {
- if pos == token.NoPos {
- w.uint64(0)
- return
- }
- file := w.p.fset.File(pos) // fset must be non-nil
- index, offset := w.p.fileIndexAndOffset(file, pos)
- w.uint64(1 + index)
- w.uint64(offset)
-}
-
-func (w *exportWriter) posV1(pos token.Pos) {
- if w.p.fset == nil {
- w.int64(0)
- return
- }
-
- p := w.p.fset.Position(pos)
- file := p.Filename
- line := int64(p.Line)
- column := int64(p.Column)
-
- deltaColumn := (column - w.prevColumn) << 1
- deltaLine := (line - w.prevLine) << 1
-
- if file != w.prevFile {
- deltaLine |= 1
- }
- if deltaLine != 0 {
- deltaColumn |= 1
- }
-
- w.int64(deltaColumn)
- if deltaColumn&1 != 0 {
- w.int64(deltaLine)
- if deltaLine&1 != 0 {
- w.string(file)
- }
- }
-
- w.prevFile = file
- w.prevLine = line
- w.prevColumn = column
-}
-
-func (w *exportWriter) posV0(pos token.Pos) {
- if w.p.fset == nil {
- w.int64(0)
- return
- }
-
- p := w.p.fset.Position(pos)
- file := p.Filename
- line := int64(p.Line)
-
- // When file is the same as the last position (common case),
- // we can save a few bytes by delta encoding just the line
- // number.
- //
- // Note: Because data objects may be read out of order (or not
- // at all), we can only apply delta encoding within a single
- // object. This is handled implicitly by tracking prevFile and
- // prevLine as fields of exportWriter.
-
- if file == w.prevFile {
- delta := line - w.prevLine
- w.int64(delta)
- if delta == deltaNewFile {
- w.int64(-1)
- }
- } else {
- w.int64(deltaNewFile)
- w.int64(line) // line >= 0
- w.string(file)
- w.prevFile = file
- }
- w.prevLine = line
-}
-
-func (w *exportWriter) pkg(pkg *types.Package) {
- // Ensure any referenced packages are declared in the main index.
- w.p.allPkgs[pkg] = true
-
- w.string(w.exportPath(pkg))
-}
-
-func (w *exportWriter) qualifiedType(obj *types.TypeName) {
- name := w.p.exportName(obj)
-
- // Ensure any referenced declarations are written out too.
- w.p.pushDecl(obj)
- w.string(name)
- w.pkg(obj.Pkg())
-}
-
-// TODO(rfindley): what does 'pkg' even mean here? It would be better to pass
-// it in explicitly into signatures and structs that may use it for
-// constructing fields.
-func (w *exportWriter) typ(t types.Type, pkg *types.Package) {
- w.data.uint64(w.p.typOff(t, pkg))
-}
-
-func (p *iexporter) newWriter() *exportWriter {
- return &exportWriter{p: p}
-}
-
-func (w *exportWriter) flush() uint64 {
- off := uint64(w.p.data0.Len())
- io.Copy(&w.p.data0, &w.data)
- return off
-}
-
-func (p *iexporter) typOff(t types.Type, pkg *types.Package) uint64 {
- off, ok := p.typIndex[t]
- if !ok {
- w := p.newWriter()
- w.doTyp(t, pkg)
- off = predeclReserved + w.flush()
- p.typIndex[t] = off
- }
- return off
-}
-
-func (w *exportWriter) startType(k itag) {
- w.data.uint64(uint64(k))
-}
-
-func (w *exportWriter) doTyp(t types.Type, pkg *types.Package) {
- if trace {
- w.p.trace("exporting type %s (%T)", t, t)
- w.p.indent++
- defer func() {
- w.p.indent--
- w.p.trace("=> %s", t)
- }()
- }
- switch t := t.(type) {
- case *types.Alias:
- if targs := aliases.TypeArgs(t); targs.Len() > 0 {
- w.startType(instanceType)
- w.pos(t.Obj().Pos())
- w.typeList(targs, pkg)
- w.typ(aliases.Origin(t), pkg)
- return
- }
- w.startType(aliasType)
- w.qualifiedType(t.Obj())
-
- case *types.Named:
- if targs := t.TypeArgs(); targs.Len() > 0 {
- w.startType(instanceType)
- // TODO(rfindley): investigate if this position is correct, and if it
- // matters.
- w.pos(t.Obj().Pos())
- w.typeList(targs, pkg)
- w.typ(t.Origin(), pkg)
- return
- }
- w.startType(definedType)
- w.qualifiedType(t.Obj())
-
- case *types.TypeParam:
- w.startType(typeParamType)
- w.qualifiedType(t.Obj())
-
- case *types.Pointer:
- w.startType(pointerType)
- w.typ(t.Elem(), pkg)
-
- case *types.Slice:
- w.startType(sliceType)
- w.typ(t.Elem(), pkg)
-
- case *types.Array:
- w.startType(arrayType)
- w.uint64(uint64(t.Len()))
- w.typ(t.Elem(), pkg)
-
- case *types.Chan:
- w.startType(chanType)
- // 1 RecvOnly; 2 SendOnly; 3 SendRecv
- var dir uint64
- switch t.Dir() {
- case types.RecvOnly:
- dir = 1
- case types.SendOnly:
- dir = 2
- case types.SendRecv:
- dir = 3
- }
- w.uint64(dir)
- w.typ(t.Elem(), pkg)
-
- case *types.Map:
- w.startType(mapType)
- w.typ(t.Key(), pkg)
- w.typ(t.Elem(), pkg)
-
- case *types.Signature:
- w.startType(signatureType)
- w.pkg(pkg)
- w.signature(t)
-
- case *types.Struct:
- w.startType(structType)
- n := t.NumFields()
- // Even for struct{} we must emit some qualifying package, because that's
- // what the compiler does, and thus that's what the importer expects.
- fieldPkg := pkg
- if n > 0 {
- fieldPkg = t.Field(0).Pkg()
- }
- if fieldPkg == nil {
- // TODO(rfindley): improve this very hacky logic.
- //
- // The importer expects a package to be set for all struct types, even
- // those with no fields. A better encoding might be to set NumFields
- // before pkg. setPkg panics with a nil package, which may be possible
- // to reach with invalid packages (and perhaps valid packages, too?), so
- // (arbitrarily) set the localpkg if available.
- //
- // Alternatively, we may be able to simply guarantee that pkg != nil, by
- // reconsidering the encoding of constant values.
- if w.p.shallow {
- fieldPkg = w.p.localpkg
- } else {
- panic(internalErrorf("no package to set for empty struct"))
- }
- }
- w.pkg(fieldPkg)
- w.uint64(uint64(n))
-
- for i := 0; i < n; i++ {
- f := t.Field(i)
- if w.p.shallow {
- w.objectPath(f)
- }
- w.pos(f.Pos())
- w.string(f.Name()) // unexported fields implicitly qualified by prior setPkg
- w.typ(f.Type(), fieldPkg)
- w.bool(f.Anonymous())
- w.string(t.Tag(i)) // note (or tag)
- }
-
- case *types.Interface:
- w.startType(interfaceType)
- w.pkg(pkg)
-
- n := t.NumEmbeddeds()
- w.uint64(uint64(n))
- for i := 0; i < n; i++ {
- ft := t.EmbeddedType(i)
- tPkg := pkg
- if named, _ := types.Unalias(ft).(*types.Named); named != nil {
- w.pos(named.Obj().Pos())
- } else {
- w.pos(token.NoPos)
- }
- w.typ(ft, tPkg)
- }
-
- // See comment for struct fields. In shallow mode we change the encoding
- // for interface methods that are promoted from other packages.
-
- n = t.NumExplicitMethods()
- w.uint64(uint64(n))
- for i := 0; i < n; i++ {
- m := t.ExplicitMethod(i)
- if w.p.shallow {
- w.objectPath(m)
- }
- w.pos(m.Pos())
- w.string(m.Name())
- sig, _ := m.Type().(*types.Signature)
- w.signature(sig)
- }
-
- case *types.Union:
- w.startType(unionType)
- nt := t.Len()
- w.uint64(uint64(nt))
- for i := 0; i < nt; i++ {
- term := t.Term(i)
- w.bool(term.Tilde())
- w.typ(term.Type(), pkg)
- }
-
- default:
- panic(internalErrorf("unexpected type: %v, %v", t, reflect.TypeOf(t)))
- }
-}
-
-// objectPath writes the package and objectPath to use to look up obj in a
-// different package, when encoding in "shallow" mode.
-//
-// When doing a shallow import, the importer creates only the local package,
-// and requests package symbols for dependencies from the client.
-// However, certain types defined in the local package may hold objects defined
-// (perhaps deeply) within another package.
-//
-// For example, consider the following:
-//
-// package a
-// func F() chan * map[string] struct { X int }
-//
-// package b
-// import "a"
-// var B = a.F()
-//
-// In this example, the type of b.B holds fields defined in package a.
-// In order to have the correct canonical objects for the field defined in the
-// type of B, they are encoded as objectPaths and later looked up in the
-// importer. The same problem applies to interface methods.
-func (w *exportWriter) objectPath(obj types.Object) {
- if obj.Pkg() == nil || obj.Pkg() == w.p.localpkg {
- // obj.Pkg() may be nil for the builtin error.Error.
- // In this case, or if obj is declared in the local package, no need to
- // encode.
- w.string("")
- return
- }
- objectPath, err := w.p.objectpathEncoder().For(obj)
- if err != nil {
- // Fall back to the empty string, which will cause the importer to create a
- // new object, which matches earlier behavior. Creating a new object is
- // sufficient for many purposes (such as type checking), but causes certain
- // references algorithms to fail (golang/go#60819). However, we didn't
- // notice this problem during months of gopls@v0.12.0 testing.
- //
- // TODO(golang/go#61674): this workaround is insufficient, as in the case
- // where the field forwarded from an instantiated type that may not appear
- // in the export data of the original package:
- //
- // // package a
- // type A[P any] struct{ F P }
- //
- // // package b
- // type B a.A[int]
- //
- // We need to update references algorithms not to depend on this
- // de-duplication, at which point we may want to simply remove the
- // workaround here.
- w.string("")
- return
- }
- w.string(string(objectPath))
- w.pkg(obj.Pkg())
-}
-
-func (w *exportWriter) signature(sig *types.Signature) {
- w.paramList(sig.Params())
- w.paramList(sig.Results())
- if sig.Params().Len() > 0 {
- w.bool(sig.Variadic())
- }
-}
-
-func (w *exportWriter) typeList(ts *types.TypeList, pkg *types.Package) {
- w.uint64(uint64(ts.Len()))
- for i := 0; i < ts.Len(); i++ {
- w.typ(ts.At(i), pkg)
- }
-}
-
-func (w *exportWriter) tparamList(prefix string, list *types.TypeParamList, pkg *types.Package) {
- ll := uint64(list.Len())
- w.uint64(ll)
- for i := 0; i < list.Len(); i++ {
- tparam := list.At(i)
- // Set the type parameter exportName before exporting its type.
- exportName := tparamExportName(prefix, tparam)
- w.p.tparamNames[tparam.Obj()] = exportName
- w.typ(list.At(i), pkg)
- }
-}
-
-const blankMarker = "$"
-
-// tparamExportName returns the 'exported' name of a type parameter, which
-// differs from its actual object name: it is prefixed with a qualifier, and
-// blank type parameter names are disambiguated by their index in the type
-// parameter list.
-func tparamExportName(prefix string, tparam *types.TypeParam) string {
- assert(prefix != "")
- name := tparam.Obj().Name()
- if name == "_" {
- name = blankMarker + strconv.Itoa(tparam.Index())
- }
- return prefix + "." + name
-}
-
-// tparamName returns the real name of a type parameter, after stripping its
-// qualifying prefix and reverting blank-name encoding. See tparamExportName
-// for details.
-func tparamName(exportName string) string {
- // Remove the "path" from the type param name that makes it unique.
- ix := strings.LastIndex(exportName, ".")
- if ix < 0 {
- errorf("malformed type parameter export name %s: missing prefix", exportName)
- }
- name := exportName[ix+1:]
- if strings.HasPrefix(name, blankMarker) {
- return "_"
- }
- return name
-}
-
-func (w *exportWriter) paramList(tup *types.Tuple) {
- n := tup.Len()
- w.uint64(uint64(n))
- for i := 0; i < n; i++ {
- w.param(tup.At(i))
- }
-}
-
-func (w *exportWriter) param(obj types.Object) {
- w.pos(obj.Pos())
- w.localIdent(obj)
- w.typ(obj.Type(), obj.Pkg())
-}
-
-func (w *exportWriter) value(typ types.Type, v constant.Value) {
- w.typ(typ, nil)
- if w.p.version >= iexportVersionGo1_18 {
- w.int64(int64(v.Kind()))
- }
-
- if v.Kind() == constant.Unknown {
- // golang/go#60605: treat unknown constant values as if they have invalid type
- //
- // This loses some fidelity over the package type-checked from source, but that
- // is acceptable.
- //
- // TODO(rfindley): we should switch on the recorded constant kind rather
- // than the constant type
- return
- }
-
- switch b := typ.Underlying().(*types.Basic); b.Info() & types.IsConstType {
- case types.IsBoolean:
- w.bool(constant.BoolVal(v))
- case types.IsInteger:
- var i big.Int
- if i64, exact := constant.Int64Val(v); exact {
- i.SetInt64(i64)
- } else if ui64, exact := constant.Uint64Val(v); exact {
- i.SetUint64(ui64)
- } else {
- i.SetString(v.ExactString(), 10)
- }
- w.mpint(&i, typ)
- case types.IsFloat:
- f := constantToFloat(v)
- w.mpfloat(f, typ)
- case types.IsComplex:
- w.mpfloat(constantToFloat(constant.Real(v)), typ)
- w.mpfloat(constantToFloat(constant.Imag(v)), typ)
- case types.IsString:
- w.string(constant.StringVal(v))
- default:
- if b.Kind() == types.Invalid {
- // package contains type errors
- break
- }
- panic(internalErrorf("unexpected type %v (%v)", typ, typ.Underlying()))
- }
-}
-
-// constantToFloat converts a constant.Value with kind constant.Float to a
-// big.Float.
-func constantToFloat(x constant.Value) *big.Float {
- x = constant.ToFloat(x)
- // Use the same floating-point precision (512) as cmd/compile
- // (see Mpprec in cmd/compile/internal/gc/mpfloat.go).
- const mpprec = 512
- var f big.Float
- f.SetPrec(mpprec)
- if v, exact := constant.Float64Val(x); exact {
- // float64
- f.SetFloat64(v)
- } else if num, denom := constant.Num(x), constant.Denom(x); num.Kind() == constant.Int {
- // TODO(gri): add big.Rat accessor to constant.Value.
- n := valueToRat(num)
- d := valueToRat(denom)
- f.SetRat(n.Quo(n, d))
- } else {
- // Value too large to represent as a fraction => inaccessible.
- // TODO(gri): add big.Float accessor to constant.Value.
- _, ok := f.SetString(x.ExactString())
- assert(ok)
- }
- return &f
-}
-
-func valueToRat(x constant.Value) *big.Rat {
- // Convert little-endian to big-endian.
- // I can't believe this is necessary.
- bytes := constant.Bytes(x)
- for i := 0; i < len(bytes)/2; i++ {
- bytes[i], bytes[len(bytes)-1-i] = bytes[len(bytes)-1-i], bytes[i]
- }
- return new(big.Rat).SetInt(new(big.Int).SetBytes(bytes))
-}
-
-// mpint exports a multi-precision integer.
-//
-// For unsigned types, small values are written out as a single
-// byte. Larger values are written out as a length-prefixed big-endian
-// byte string, where the length prefix is encoded as its complement.
-// For example, bytes 0, 1, and 2 directly represent the integer
-// values 0, 1, and 2; while bytes 255, 254, and 253 indicate a 1-,
-// 2-, and 3-byte big-endian string follow.
-//
-// Encoding for signed types use the same general approach as for
-// unsigned types, except small values use zig-zag encoding and the
-// bottom bit of length prefix byte for large values is reserved as a
-// sign bit.
-//
-// The exact boundary between small and large encodings varies
-// according to the maximum number of bytes needed to encode a value
-// of type typ. As a special case, 8-bit types are always encoded as a
-// single byte.
-//
-// TODO(mdempsky): Is this level of complexity really worthwhile?
-func (w *exportWriter) mpint(x *big.Int, typ types.Type) {
- basic, ok := typ.Underlying().(*types.Basic)
- if !ok {
- panic(internalErrorf("unexpected type %v (%T)", typ.Underlying(), typ.Underlying()))
- }
-
- signed, maxBytes := intSize(basic)
-
- negative := x.Sign() < 0
- if !signed && negative {
- panic(internalErrorf("negative unsigned integer; type %v, value %v", typ, x))
- }
-
- b := x.Bytes()
- if len(b) > 0 && b[0] == 0 {
- panic(internalErrorf("leading zeros"))
- }
- if uint(len(b)) > maxBytes {
- panic(internalErrorf("bad mpint length: %d > %d (type %v, value %v)", len(b), maxBytes, typ, x))
- }
-
- maxSmall := 256 - maxBytes
- if signed {
- maxSmall = 256 - 2*maxBytes
- }
- if maxBytes == 1 {
- maxSmall = 256
- }
-
- // Check if x can use small value encoding.
- if len(b) <= 1 {
- var ux uint
- if len(b) == 1 {
- ux = uint(b[0])
- }
- if signed {
- ux <<= 1
- if negative {
- ux--
- }
- }
- if ux < maxSmall {
- w.data.WriteByte(byte(ux))
- return
- }
- }
-
- n := 256 - uint(len(b))
- if signed {
- n = 256 - 2*uint(len(b))
- if negative {
- n |= 1
- }
- }
- if n < maxSmall || n >= 256 {
- panic(internalErrorf("encoding mistake: %d, %v, %v => %d", len(b), signed, negative, n))
- }
-
- w.data.WriteByte(byte(n))
- w.data.Write(b)
-}
-
-// mpfloat exports a multi-precision floating point number.
-//
-// The number's value is decomposed into mantissa × 2**exponent, where
-// mantissa is an integer. The value is written out as mantissa (as a
-// multi-precision integer) and then the exponent, except exponent is
-// omitted if mantissa is zero.
-func (w *exportWriter) mpfloat(f *big.Float, typ types.Type) {
- if f.IsInf() {
- panic("infinite constant")
- }
-
- // Break into f = mant × 2**exp, with 0.5 <= mant < 1.
- var mant big.Float
- exp := int64(f.MantExp(&mant))
-
- // Scale so that mant is an integer.
- prec := mant.MinPrec()
- mant.SetMantExp(&mant, int(prec))
- exp -= int64(prec)
-
- manti, acc := mant.Int(nil)
- if acc != big.Exact {
- panic(internalErrorf("mantissa scaling failed for %f (%s)", f, acc))
- }
- w.mpint(manti, typ)
- if manti.Sign() != 0 {
- w.int64(exp)
- }
-}
-
-func (w *exportWriter) bool(b bool) bool {
- var x uint64
- if b {
- x = 1
- }
- w.uint64(x)
- return b
-}
-
-func (w *exportWriter) int64(x int64) { w.data.int64(x) }
-func (w *exportWriter) uint64(x uint64) { w.data.uint64(x) }
-func (w *exportWriter) string(s string) { w.uint64(w.p.stringOff(s)) }
-
-func (w *exportWriter) localIdent(obj types.Object) {
- // Anonymous parameters.
- if obj == nil {
- w.string("")
- return
- }
-
- name := obj.Name()
- if name == "_" {
- w.string("_")
- return
- }
-
- w.string(name)
-}
-
-type intWriter struct {
- bytes.Buffer
-}
-
-func (w *intWriter) int64(x int64) {
- var buf [binary.MaxVarintLen64]byte
- n := binary.PutVarint(buf[:], x)
- w.Write(buf[:n])
-}
-
-func (w *intWriter) uint64(x uint64) {
- var buf [binary.MaxVarintLen64]byte
- n := binary.PutUvarint(buf[:], x)
- w.Write(buf[:n])
-}
-
-func assert(cond bool) {
- if !cond {
- panic("internal error: assertion failed")
- }
-}
-
-// The below is copied from go/src/cmd/compile/internal/gc/syntax.go.
-
-// objQueue is a FIFO queue of types.Object. The zero value of objQueue is
-// a ready-to-use empty queue.
-type objQueue struct {
- ring []types.Object
- head, tail int
-}
-
-// empty returns true if q contains no Nodes.
-func (q *objQueue) empty() bool {
- return q.head == q.tail
-}
-
-// pushTail appends n to the tail of the queue.
-func (q *objQueue) pushTail(obj types.Object) {
- if len(q.ring) == 0 {
- q.ring = make([]types.Object, 16)
- } else if q.head+len(q.ring) == q.tail {
- // Grow the ring.
- nring := make([]types.Object, len(q.ring)*2)
- // Copy the old elements.
- part := q.ring[q.head%len(q.ring):]
- if q.tail-q.head <= len(part) {
- part = part[:q.tail-q.head]
- copy(nring, part)
- } else {
- pos := copy(nring, part)
- copy(nring[pos:], q.ring[:q.tail%len(q.ring)])
- }
- q.ring, q.head, q.tail = nring, 0, q.tail-q.head
- }
-
- q.ring[q.tail%len(q.ring)] = obj
- q.tail++
-}
-
-// popHead pops a node from the head of the queue. It panics if q is empty.
-func (q *objQueue) popHead() types.Object {
- if q.empty() {
- panic("dequeue empty")
- }
- obj := q.ring[q.head%len(q.ring)]
- q.head++
- return obj
-}
-
-// internalError represents an error generated inside this package.
-type internalError string
-
-func (e internalError) Error() string { return "gcimporter: " + string(e) }
-
-// TODO(adonovan): make this call panic, so that it's symmetric with errorf.
-// Otherwise it's easy to forget to do anything with the error.
-//
-// TODO(adonovan): also, consider switching the names "errorf" and
-// "internalErrorf" as the former is used for bugs, whose cause is
-// internal inconsistency, whereas the latter is used for ordinary
-// situations like bad input, whose cause is external.
-func internalErrorf(format string, args ...interface{}) error {
- return internalError(fmt.Sprintf(format, args...))
-}
diff --git a/vendor/golang.org/x/tools/internal/gcimporter/iimport.go b/vendor/golang.org/x/tools/internal/gcimporter/iimport.go
deleted file mode 100644
index 21908a15..00000000
--- a/vendor/golang.org/x/tools/internal/gcimporter/iimport.go
+++ /dev/null
@@ -1,1101 +0,0 @@
-// Copyright 2018 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-// Indexed package import.
-// See iexport.go for the export data format.
-
-// This file is a copy of $GOROOT/src/go/internal/gcimporter/iimport.go.
-
-package gcimporter
-
-import (
- "bytes"
- "encoding/binary"
- "fmt"
- "go/constant"
- "go/token"
- "go/types"
- "io"
- "math/big"
- "sort"
- "strings"
-
- "golang.org/x/tools/go/types/objectpath"
- "golang.org/x/tools/internal/aliases"
- "golang.org/x/tools/internal/typesinternal"
-)
-
-type intReader struct {
- *bytes.Reader
- path string
-}
-
-func (r *intReader) int64() int64 {
- i, err := binary.ReadVarint(r.Reader)
- if err != nil {
- errorf("import %q: read varint error: %v", r.path, err)
- }
- return i
-}
-
-func (r *intReader) uint64() uint64 {
- i, err := binary.ReadUvarint(r.Reader)
- if err != nil {
- errorf("import %q: read varint error: %v", r.path, err)
- }
- return i
-}
-
-// Keep this in sync with constants in iexport.go.
-const (
- iexportVersionGo1_11 = 0
- iexportVersionPosCol = 1
- iexportVersionGo1_18 = 2
- iexportVersionGenerics = 2
- iexportVersion = iexportVersionGenerics
-
- iexportVersionCurrent = 2
-)
-
-type ident struct {
- pkg *types.Package
- name string
-}
-
-const predeclReserved = 32
-
-type itag uint64
-
-const (
- // Types
- definedType itag = iota
- pointerType
- sliceType
- arrayType
- chanType
- mapType
- signatureType
- structType
- interfaceType
- typeParamType
- instanceType
- unionType
- aliasType
-)
-
-// Object tags
-const (
- varTag = 'V'
- funcTag = 'F'
- genericFuncTag = 'G'
- constTag = 'C'
- aliasTag = 'A'
- genericAliasTag = 'B'
- typeParamTag = 'P'
- typeTag = 'T'
- genericTypeTag = 'U'
-)
-
-// IImportData imports a package from the serialized package data
-// and returns 0 and a reference to the package.
-// If the export data version is not recognized or the format is otherwise
-// compromised, an error is returned.
-func IImportData(fset *token.FileSet, imports map[string]*types.Package, data []byte, path string) (int, *types.Package, error) {
- pkgs, err := iimportCommon(fset, GetPackagesFromMap(imports), data, false, path, false, nil)
- if err != nil {
- return 0, nil, err
- }
- return 0, pkgs[0], nil
-}
-
-// IImportBundle imports a set of packages from the serialized package bundle.
-func IImportBundle(fset *token.FileSet, imports map[string]*types.Package, data []byte) ([]*types.Package, error) {
- return iimportCommon(fset, GetPackagesFromMap(imports), data, true, "", false, nil)
-}
-
-// A GetPackagesFunc function obtains the non-nil symbols for a set of
-// packages, creating and recursively importing them as needed. An
-// implementation should store each package symbol is in the Pkg
-// field of the items array.
-//
-// Any error causes importing to fail. This can be used to quickly read
-// the import manifest of an export data file without fully decoding it.
-type GetPackagesFunc = func(items []GetPackagesItem) error
-
-// A GetPackagesItem is a request from the importer for the package
-// symbol of the specified name and path.
-type GetPackagesItem struct {
- Name, Path string
- Pkg *types.Package // to be filled in by GetPackagesFunc call
-
- // private importer state
- pathOffset uint64
- nameIndex map[string]uint64
-}
-
-// GetPackagesFromMap returns a GetPackagesFunc that retrieves
-// packages from the given map of package path to package.
-//
-// The returned function may mutate m: each requested package that is not
-// found is created with types.NewPackage and inserted into m.
-func GetPackagesFromMap(m map[string]*types.Package) GetPackagesFunc {
- return func(items []GetPackagesItem) error {
- for i, item := range items {
- pkg, ok := m[item.Path]
- if !ok {
- pkg = types.NewPackage(item.Path, item.Name)
- m[item.Path] = pkg
- }
- items[i].Pkg = pkg
- }
- return nil
- }
-}
-
-func iimportCommon(fset *token.FileSet, getPackages GetPackagesFunc, data []byte, bundle bool, path string, shallow bool, reportf ReportFunc) (pkgs []*types.Package, err error) {
- const currentVersion = iexportVersionCurrent
- version := int64(-1)
- if !debug {
- defer func() {
- if e := recover(); e != nil {
- if bundle {
- err = fmt.Errorf("%v", e)
- } else if version > currentVersion {
- err = fmt.Errorf("cannot import %q (%v), export data is newer version - update tool", path, e)
- } else {
- err = fmt.Errorf("internal error while importing %q (%v); please report an issue", path, e)
- }
- }
- }()
- }
-
- r := &intReader{bytes.NewReader(data), path}
-
- if bundle {
- if v := r.uint64(); v != bundleVersion {
- errorf("unknown bundle format version %d", v)
- }
- }
-
- version = int64(r.uint64())
- switch version {
- case iexportVersionGo1_18, iexportVersionPosCol, iexportVersionGo1_11:
- default:
- if version > iexportVersionGo1_18 {
- errorf("unstable iexport format version %d, just rebuild compiler and std library", version)
- } else {
- errorf("unknown iexport format version %d", version)
- }
- }
-
- sLen := int64(r.uint64())
- var fLen int64
- var fileOffset []uint64
- if shallow {
- // Shallow mode uses a different position encoding.
- fLen = int64(r.uint64())
- fileOffset = make([]uint64, r.uint64())
- for i := range fileOffset {
- fileOffset[i] = r.uint64()
- }
- }
- dLen := int64(r.uint64())
-
- whence, _ := r.Seek(0, io.SeekCurrent)
- stringData := data[whence : whence+sLen]
- fileData := data[whence+sLen : whence+sLen+fLen]
- declData := data[whence+sLen+fLen : whence+sLen+fLen+dLen]
- r.Seek(sLen+fLen+dLen, io.SeekCurrent)
-
- p := iimporter{
- version: int(version),
- ipath: path,
- aliases: aliases.Enabled(),
- shallow: shallow,
- reportf: reportf,
-
- stringData: stringData,
- stringCache: make(map[uint64]string),
- fileOffset: fileOffset,
- fileData: fileData,
- fileCache: make([]*token.File, len(fileOffset)),
- pkgCache: make(map[uint64]*types.Package),
-
- declData: declData,
- pkgIndex: make(map[*types.Package]map[string]uint64),
- typCache: make(map[uint64]types.Type),
- // Separate map for typeparams, keyed by their package and unique
- // name.
- tparamIndex: make(map[ident]types.Type),
-
- fake: fakeFileSet{
- fset: fset,
- files: make(map[string]*fileInfo),
- },
- }
- defer p.fake.setLines() // set lines for files in fset
-
- for i, pt := range predeclared() {
- p.typCache[uint64(i)] = pt
- }
-
- // Gather the relevant packages from the manifest.
- items := make([]GetPackagesItem, r.uint64())
- uniquePkgPaths := make(map[string]bool)
- for i := range items {
- pkgPathOff := r.uint64()
- pkgPath := p.stringAt(pkgPathOff)
- pkgName := p.stringAt(r.uint64())
- _ = r.uint64() // package height; unused by go/types
-
- if pkgPath == "" {
- pkgPath = path
- }
- items[i].Name = pkgName
- items[i].Path = pkgPath
- items[i].pathOffset = pkgPathOff
-
- // Read index for package.
- nameIndex := make(map[string]uint64)
- nSyms := r.uint64()
- // In shallow mode, only the current package (i=0) has an index.
- assert(!(shallow && i > 0 && nSyms != 0))
- for ; nSyms > 0; nSyms-- {
- name := p.stringAt(r.uint64())
- nameIndex[name] = r.uint64()
- }
-
- items[i].nameIndex = nameIndex
-
- uniquePkgPaths[pkgPath] = true
- }
- // Debugging #63822; hypothesis: there are duplicate PkgPaths.
- if len(uniquePkgPaths) != len(items) {
- reportf("found duplicate PkgPaths while reading export data manifest: %v", items)
- }
-
- // Request packages all at once from the client,
- // enabling a parallel implementation.
- if err := getPackages(items); err != nil {
- return nil, err // don't wrap this error
- }
-
- // Check the results and complete the index.
- pkgList := make([]*types.Package, len(items))
- for i, item := range items {
- pkg := item.Pkg
- if pkg == nil {
- errorf("internal error: getPackages returned nil package for %q", item.Path)
- } else if pkg.Path() != item.Path {
- errorf("internal error: getPackages returned wrong path %q, want %q", pkg.Path(), item.Path)
- } else if pkg.Name() != item.Name {
- errorf("internal error: getPackages returned wrong name %s for package %q, want %s", pkg.Name(), item.Path, item.Name)
- }
- p.pkgCache[item.pathOffset] = pkg
- p.pkgIndex[pkg] = item.nameIndex
- pkgList[i] = pkg
- }
-
- if bundle {
- pkgs = make([]*types.Package, r.uint64())
- for i := range pkgs {
- pkg := p.pkgAt(r.uint64())
- imps := make([]*types.Package, r.uint64())
- for j := range imps {
- imps[j] = p.pkgAt(r.uint64())
- }
- pkg.SetImports(imps)
- pkgs[i] = pkg
- }
- } else {
- if len(pkgList) == 0 {
- errorf("no packages found for %s", path)
- panic("unreachable")
- }
- pkgs = pkgList[:1]
-
- // record all referenced packages as imports
- list := append(([]*types.Package)(nil), pkgList[1:]...)
- sort.Sort(byPath(list))
- pkgs[0].SetImports(list)
- }
-
- for _, pkg := range pkgs {
- if pkg.Complete() {
- continue
- }
-
- names := make([]string, 0, len(p.pkgIndex[pkg]))
- for name := range p.pkgIndex[pkg] {
- names = append(names, name)
- }
- sort.Strings(names)
- for _, name := range names {
- p.doDecl(pkg, name)
- }
-
- // package was imported completely and without errors
- pkg.MarkComplete()
- }
-
- // SetConstraint can't be called if the constraint type is not yet complete.
- // When type params are created in the typeParamTag case of (*importReader).obj(),
- // the associated constraint type may not be complete due to recursion.
- // Therefore, we defer calling SetConstraint there, and call it here instead
- // after all types are complete.
- for _, d := range p.later {
- d.t.SetConstraint(d.constraint)
- }
-
- for _, typ := range p.interfaceList {
- typ.Complete()
- }
-
- // Workaround for golang/go#61561. See the doc for instanceList for details.
- for _, typ := range p.instanceList {
- if iface, _ := typ.Underlying().(*types.Interface); iface != nil {
- iface.Complete()
- }
- }
-
- return pkgs, nil
-}
-
-type setConstraintArgs struct {
- t *types.TypeParam
- constraint types.Type
-}
-
-type iimporter struct {
- version int
- ipath string
-
- aliases bool
- shallow bool
- reportf ReportFunc // if non-nil, used to report bugs
-
- stringData []byte
- stringCache map[uint64]string
- fileOffset []uint64 // fileOffset[i] is offset in fileData for info about file encoded as i
- fileData []byte
- fileCache []*token.File // memoized decoding of file encoded as i
- pkgCache map[uint64]*types.Package
-
- declData []byte
- pkgIndex map[*types.Package]map[string]uint64
- typCache map[uint64]types.Type
- tparamIndex map[ident]types.Type
-
- fake fakeFileSet
- interfaceList []*types.Interface
-
- // Workaround for the go/types bug golang/go#61561: instances produced during
- // instantiation may contain incomplete interfaces. Here we only complete the
- // underlying type of the instance, which is the most common case but doesn't
- // handle parameterized interface literals defined deeper in the type.
- instanceList []types.Type // instances for later completion (see golang/go#61561)
-
- // Arguments for calls to SetConstraint that are deferred due to recursive types
- later []setConstraintArgs
-
- indent int // for tracing support
-}
-
-func (p *iimporter) trace(format string, args ...interface{}) {
- if !trace {
- // Call sites should also be guarded, but having this check here allows
- // easily enabling/disabling debug trace statements.
- return
- }
- fmt.Printf(strings.Repeat("..", p.indent)+format+"\n", args...)
-}
-
-func (p *iimporter) doDecl(pkg *types.Package, name string) {
- if debug {
- p.trace("import decl %s", name)
- p.indent++
- defer func() {
- p.indent--
- p.trace("=> %s", name)
- }()
- }
- // See if we've already imported this declaration.
- if obj := pkg.Scope().Lookup(name); obj != nil {
- return
- }
-
- off, ok := p.pkgIndex[pkg][name]
- if !ok {
- // In deep mode, the index should be complete. In shallow
- // mode, we should have already recursively loaded necessary
- // dependencies so the above Lookup succeeds.
- errorf("%v.%v not in index", pkg, name)
- }
-
- r := &importReader{p: p, currPkg: pkg}
- r.declReader.Reset(p.declData[off:])
-
- r.obj(name)
-}
-
-func (p *iimporter) stringAt(off uint64) string {
- if s, ok := p.stringCache[off]; ok {
- return s
- }
-
- slen, n := binary.Uvarint(p.stringData[off:])
- if n <= 0 {
- errorf("varint failed")
- }
- spos := off + uint64(n)
- s := string(p.stringData[spos : spos+slen])
- p.stringCache[off] = s
- return s
-}
-
-func (p *iimporter) fileAt(index uint64) *token.File {
- file := p.fileCache[index]
- if file == nil {
- off := p.fileOffset[index]
- file = p.decodeFile(intReader{bytes.NewReader(p.fileData[off:]), p.ipath})
- p.fileCache[index] = file
- }
- return file
-}
-
-func (p *iimporter) decodeFile(rd intReader) *token.File {
- filename := p.stringAt(rd.uint64())
- size := int(rd.uint64())
- file := p.fake.fset.AddFile(filename, -1, size)
-
- // SetLines requires a nondecreasing sequence.
- // Because it is common for clients to derive the interval
- // [start, start+len(name)] from a start position, and we
- // want to ensure that the end offset is on the same line,
- // we fill in the gaps of the sparse encoding with values
- // that strictly increase by the largest possible amount.
- // This allows us to avoid having to record the actual end
- // offset of each needed line.
-
- lines := make([]int, int(rd.uint64()))
- var index, offset int
- for i, n := 0, int(rd.uint64()); i < n; i++ {
- index += int(rd.uint64())
- offset += int(rd.uint64())
- lines[index] = offset
-
- // Ensure monotonicity between points.
- for j := index - 1; j > 0 && lines[j] == 0; j-- {
- lines[j] = lines[j+1] - 1
- }
- }
-
- // Ensure monotonicity after last point.
- for j := len(lines) - 1; j > 0 && lines[j] == 0; j-- {
- size--
- lines[j] = size
- }
-
- if !file.SetLines(lines) {
- errorf("SetLines failed: %d", lines) // can't happen
- }
- return file
-}
-
-func (p *iimporter) pkgAt(off uint64) *types.Package {
- if pkg, ok := p.pkgCache[off]; ok {
- return pkg
- }
- path := p.stringAt(off)
- errorf("missing package %q in %q", path, p.ipath)
- return nil
-}
-
-func (p *iimporter) typAt(off uint64, base *types.Named) types.Type {
- if t, ok := p.typCache[off]; ok && canReuse(base, t) {
- return t
- }
-
- if off < predeclReserved {
- errorf("predeclared type missing from cache: %v", off)
- }
-
- r := &importReader{p: p}
- r.declReader.Reset(p.declData[off-predeclReserved:])
- t := r.doType(base)
-
- if canReuse(base, t) {
- p.typCache[off] = t
- }
- return t
-}
-
-// canReuse reports whether the type rhs on the RHS of the declaration for def
-// may be re-used.
-//
-// Specifically, if def is non-nil and rhs is an interface type with methods, it
-// may not be re-used because we have a convention of setting the receiver type
-// for interface methods to def.
-func canReuse(def *types.Named, rhs types.Type) bool {
- if def == nil {
- return true
- }
- iface, _ := types.Unalias(rhs).(*types.Interface)
- if iface == nil {
- return true
- }
- // Don't use iface.Empty() here as iface may not be complete.
- return iface.NumEmbeddeds() == 0 && iface.NumExplicitMethods() == 0
-}
-
-type importReader struct {
- p *iimporter
- declReader bytes.Reader
- currPkg *types.Package
- prevFile string
- prevLine int64
- prevColumn int64
-}
-
-func (r *importReader) obj(name string) {
- tag := r.byte()
- pos := r.pos()
-
- switch tag {
- case aliasTag, genericAliasTag:
- var tparams []*types.TypeParam
- if tag == genericAliasTag {
- tparams = r.tparamList()
- }
- typ := r.typ()
- obj := aliases.NewAlias(r.p.aliases, pos, r.currPkg, name, typ, tparams)
- r.declare(obj)
-
- case constTag:
- typ, val := r.value()
-
- r.declare(types.NewConst(pos, r.currPkg, name, typ, val))
-
- case funcTag, genericFuncTag:
- var tparams []*types.TypeParam
- if tag == genericFuncTag {
- tparams = r.tparamList()
- }
- sig := r.signature(nil, nil, tparams)
- r.declare(types.NewFunc(pos, r.currPkg, name, sig))
-
- case typeTag, genericTypeTag:
- // Types can be recursive. We need to setup a stub
- // declaration before recursing.
- obj := types.NewTypeName(pos, r.currPkg, name, nil)
- named := types.NewNamed(obj, nil, nil)
- // Declare obj before calling r.tparamList, so the new type name is recognized
- // if used in the constraint of one of its own typeparams (see #48280).
- r.declare(obj)
- if tag == genericTypeTag {
- tparams := r.tparamList()
- named.SetTypeParams(tparams)
- }
-
- underlying := r.p.typAt(r.uint64(), named).Underlying()
- named.SetUnderlying(underlying)
-
- if !isInterface(underlying) {
- for n := r.uint64(); n > 0; n-- {
- mpos := r.pos()
- mname := r.ident()
- recv := r.param()
-
- // If the receiver has any targs, set those as the
- // rparams of the method (since those are the
- // typeparams being used in the method sig/body).
- _, recvNamed := typesinternal.ReceiverNamed(recv)
- targs := recvNamed.TypeArgs()
- var rparams []*types.TypeParam
- if targs.Len() > 0 {
- rparams = make([]*types.TypeParam, targs.Len())
- for i := range rparams {
- rparams[i] = types.Unalias(targs.At(i)).(*types.TypeParam)
- }
- }
- msig := r.signature(recv, rparams, nil)
-
- named.AddMethod(types.NewFunc(mpos, r.currPkg, mname, msig))
- }
- }
-
- case typeParamTag:
- // We need to "declare" a typeparam in order to have a name that
- // can be referenced recursively (if needed) in the type param's
- // bound.
- if r.p.version < iexportVersionGenerics {
- errorf("unexpected type param type")
- }
- name0 := tparamName(name)
- tn := types.NewTypeName(pos, r.currPkg, name0, nil)
- t := types.NewTypeParam(tn, nil)
-
- // To handle recursive references to the typeparam within its
- // bound, save the partial type in tparamIndex before reading the bounds.
- id := ident{r.currPkg, name}
- r.p.tparamIndex[id] = t
- var implicit bool
- if r.p.version >= iexportVersionGo1_18 {
- implicit = r.bool()
- }
- constraint := r.typ()
- if implicit {
- iface, _ := types.Unalias(constraint).(*types.Interface)
- if iface == nil {
- errorf("non-interface constraint marked implicit")
- }
- iface.MarkImplicit()
- }
- // The constraint type may not be complete, if we
- // are in the middle of a type recursion involving type
- // constraints. So, we defer SetConstraint until we have
- // completely set up all types in ImportData.
- r.p.later = append(r.p.later, setConstraintArgs{t: t, constraint: constraint})
-
- case varTag:
- typ := r.typ()
-
- r.declare(types.NewVar(pos, r.currPkg, name, typ))
-
- default:
- errorf("unexpected tag: %v", tag)
- }
-}
-
-func (r *importReader) declare(obj types.Object) {
- obj.Pkg().Scope().Insert(obj)
-}
-
-func (r *importReader) value() (typ types.Type, val constant.Value) {
- typ = r.typ()
- if r.p.version >= iexportVersionGo1_18 {
- // TODO: add support for using the kind.
- _ = constant.Kind(r.int64())
- }
-
- switch b := typ.Underlying().(*types.Basic); b.Info() & types.IsConstType {
- case types.IsBoolean:
- val = constant.MakeBool(r.bool())
-
- case types.IsString:
- val = constant.MakeString(r.string())
-
- case types.IsInteger:
- var x big.Int
- r.mpint(&x, b)
- val = constant.Make(&x)
-
- case types.IsFloat:
- val = r.mpfloat(b)
-
- case types.IsComplex:
- re := r.mpfloat(b)
- im := r.mpfloat(b)
- val = constant.BinaryOp(re, token.ADD, constant.MakeImag(im))
-
- default:
- if b.Kind() == types.Invalid {
- val = constant.MakeUnknown()
- return
- }
- errorf("unexpected type %v", typ) // panics
- panic("unreachable")
- }
-
- return
-}
-
-func intSize(b *types.Basic) (signed bool, maxBytes uint) {
- if (b.Info() & types.IsUntyped) != 0 {
- return true, 64
- }
-
- switch b.Kind() {
- case types.Float32, types.Complex64:
- return true, 3
- case types.Float64, types.Complex128:
- return true, 7
- }
-
- signed = (b.Info() & types.IsUnsigned) == 0
- switch b.Kind() {
- case types.Int8, types.Uint8:
- maxBytes = 1
- case types.Int16, types.Uint16:
- maxBytes = 2
- case types.Int32, types.Uint32:
- maxBytes = 4
- default:
- maxBytes = 8
- }
-
- return
-}
-
-func (r *importReader) mpint(x *big.Int, typ *types.Basic) {
- signed, maxBytes := intSize(typ)
-
- maxSmall := 256 - maxBytes
- if signed {
- maxSmall = 256 - 2*maxBytes
- }
- if maxBytes == 1 {
- maxSmall = 256
- }
-
- n, _ := r.declReader.ReadByte()
- if uint(n) < maxSmall {
- v := int64(n)
- if signed {
- v >>= 1
- if n&1 != 0 {
- v = ^v
- }
- }
- x.SetInt64(v)
- return
- }
-
- v := -n
- if signed {
- v = -(n &^ 1) >> 1
- }
- if v < 1 || uint(v) > maxBytes {
- errorf("weird decoding: %v, %v => %v", n, signed, v)
- }
- b := make([]byte, v)
- io.ReadFull(&r.declReader, b)
- x.SetBytes(b)
- if signed && n&1 != 0 {
- x.Neg(x)
- }
-}
-
-func (r *importReader) mpfloat(typ *types.Basic) constant.Value {
- var mant big.Int
- r.mpint(&mant, typ)
- var f big.Float
- f.SetInt(&mant)
- if f.Sign() != 0 {
- f.SetMantExp(&f, int(r.int64()))
- }
- return constant.Make(&f)
-}
-
-func (r *importReader) ident() string {
- return r.string()
-}
-
-func (r *importReader) qualifiedIdent() (*types.Package, string) {
- name := r.string()
- pkg := r.pkg()
- return pkg, name
-}
-
-func (r *importReader) pos() token.Pos {
- if r.p.shallow {
- // precise offsets are encoded only in shallow mode
- return r.posv2()
- }
- if r.p.version >= iexportVersionPosCol {
- r.posv1()
- } else {
- r.posv0()
- }
-
- if r.prevFile == "" && r.prevLine == 0 && r.prevColumn == 0 {
- return token.NoPos
- }
- return r.p.fake.pos(r.prevFile, int(r.prevLine), int(r.prevColumn))
-}
-
-func (r *importReader) posv0() {
- delta := r.int64()
- if delta != deltaNewFile {
- r.prevLine += delta
- } else if l := r.int64(); l == -1 {
- r.prevLine += deltaNewFile
- } else {
- r.prevFile = r.string()
- r.prevLine = l
- }
-}
-
-func (r *importReader) posv1() {
- delta := r.int64()
- r.prevColumn += delta >> 1
- if delta&1 != 0 {
- delta = r.int64()
- r.prevLine += delta >> 1
- if delta&1 != 0 {
- r.prevFile = r.string()
- }
- }
-}
-
-func (r *importReader) posv2() token.Pos {
- file := r.uint64()
- if file == 0 {
- return token.NoPos
- }
- tf := r.p.fileAt(file - 1)
- return tf.Pos(int(r.uint64()))
-}
-
-func (r *importReader) typ() types.Type {
- return r.p.typAt(r.uint64(), nil)
-}
-
-func isInterface(t types.Type) bool {
- _, ok := types.Unalias(t).(*types.Interface)
- return ok
-}
-
-func (r *importReader) pkg() *types.Package { return r.p.pkgAt(r.uint64()) }
-func (r *importReader) string() string { return r.p.stringAt(r.uint64()) }
-
-func (r *importReader) doType(base *types.Named) (res types.Type) {
- k := r.kind()
- if debug {
- r.p.trace("importing type %d (base: %v)", k, base)
- r.p.indent++
- defer func() {
- r.p.indent--
- r.p.trace("=> %s", res)
- }()
- }
- switch k {
- default:
- errorf("unexpected kind tag in %q: %v", r.p.ipath, k)
- return nil
-
- case aliasType, definedType:
- pkg, name := r.qualifiedIdent()
- r.p.doDecl(pkg, name)
- return pkg.Scope().Lookup(name).(*types.TypeName).Type()
- case pointerType:
- return types.NewPointer(r.typ())
- case sliceType:
- return types.NewSlice(r.typ())
- case arrayType:
- n := r.uint64()
- return types.NewArray(r.typ(), int64(n))
- case chanType:
- dir := chanDir(int(r.uint64()))
- return types.NewChan(dir, r.typ())
- case mapType:
- return types.NewMap(r.typ(), r.typ())
- case signatureType:
- r.currPkg = r.pkg()
- return r.signature(nil, nil, nil)
-
- case structType:
- r.currPkg = r.pkg()
-
- fields := make([]*types.Var, r.uint64())
- tags := make([]string, len(fields))
- for i := range fields {
- var field *types.Var
- if r.p.shallow {
- field, _ = r.objectPathObject().(*types.Var)
- }
-
- fpos := r.pos()
- fname := r.ident()
- ftyp := r.typ()
- emb := r.bool()
- tag := r.string()
-
- // Either this is not a shallow import, the field is local, or the
- // encoded objectPath failed to produce an object (a bug).
- //
- // Even in this last, buggy case, fall back on creating a new field. As
- // discussed in iexport.go, this is not correct, but mostly works and is
- // preferable to failing (for now at least).
- if field == nil {
- field = types.NewField(fpos, r.currPkg, fname, ftyp, emb)
- }
-
- fields[i] = field
- tags[i] = tag
- }
- return types.NewStruct(fields, tags)
-
- case interfaceType:
- r.currPkg = r.pkg()
-
- embeddeds := make([]types.Type, r.uint64())
- for i := range embeddeds {
- _ = r.pos()
- embeddeds[i] = r.typ()
- }
-
- methods := make([]*types.Func, r.uint64())
- for i := range methods {
- var method *types.Func
- if r.p.shallow {
- method, _ = r.objectPathObject().(*types.Func)
- }
-
- mpos := r.pos()
- mname := r.ident()
-
- // TODO(mdempsky): Matches bimport.go, but I
- // don't agree with this.
- var recv *types.Var
- if base != nil {
- recv = types.NewVar(token.NoPos, r.currPkg, "", base)
- }
- msig := r.signature(recv, nil, nil)
-
- if method == nil {
- method = types.NewFunc(mpos, r.currPkg, mname, msig)
- }
- methods[i] = method
- }
-
- typ := types.NewInterfaceType(methods, embeddeds)
- r.p.interfaceList = append(r.p.interfaceList, typ)
- return typ
-
- case typeParamType:
- if r.p.version < iexportVersionGenerics {
- errorf("unexpected type param type")
- }
- pkg, name := r.qualifiedIdent()
- id := ident{pkg, name}
- if t, ok := r.p.tparamIndex[id]; ok {
- // We're already in the process of importing this typeparam.
- return t
- }
- // Otherwise, import the definition of the typeparam now.
- r.p.doDecl(pkg, name)
- return r.p.tparamIndex[id]
-
- case instanceType:
- if r.p.version < iexportVersionGenerics {
- errorf("unexpected instantiation type")
- }
- // pos does not matter for instances: they are positioned on the original
- // type.
- _ = r.pos()
- len := r.uint64()
- targs := make([]types.Type, len)
- for i := range targs {
- targs[i] = r.typ()
- }
- baseType := r.typ()
- // The imported instantiated type doesn't include any methods, so
- // we must always use the methods of the base (orig) type.
- // TODO provide a non-nil *Environment
- t, _ := types.Instantiate(nil, baseType, targs, false)
-
- // Workaround for golang/go#61561. See the doc for instanceList for details.
- r.p.instanceList = append(r.p.instanceList, t)
- return t
-
- case unionType:
- if r.p.version < iexportVersionGenerics {
- errorf("unexpected instantiation type")
- }
- terms := make([]*types.Term, r.uint64())
- for i := range terms {
- terms[i] = types.NewTerm(r.bool(), r.typ())
- }
- return types.NewUnion(terms)
- }
-}
-
-func (r *importReader) kind() itag {
- return itag(r.uint64())
-}
-
-// objectPathObject is the inverse of exportWriter.objectPath.
-//
-// In shallow mode, certain fields and methods may need to be looked up in an
-// imported package. See the doc for exportWriter.objectPath for a full
-// explanation.
-func (r *importReader) objectPathObject() types.Object {
- objPath := objectpath.Path(r.string())
- if objPath == "" {
- return nil
- }
- pkg := r.pkg()
- obj, err := objectpath.Object(pkg, objPath)
- if err != nil {
- if r.p.reportf != nil {
- r.p.reportf("failed to find object for objectPath %q: %v", objPath, err)
- }
- }
- return obj
-}
-
-func (r *importReader) signature(recv *types.Var, rparams []*types.TypeParam, tparams []*types.TypeParam) *types.Signature {
- params := r.paramList()
- results := r.paramList()
- variadic := params.Len() > 0 && r.bool()
- return types.NewSignatureType(recv, rparams, tparams, params, results, variadic)
-}
-
-func (r *importReader) tparamList() []*types.TypeParam {
- n := r.uint64()
- if n == 0 {
- return nil
- }
- xs := make([]*types.TypeParam, n)
- for i := range xs {
- // Note: the standard library importer is tolerant of nil types here,
- // though would panic in SetTypeParams.
- xs[i] = types.Unalias(r.typ()).(*types.TypeParam)
- }
- return xs
-}
-
-func (r *importReader) paramList() *types.Tuple {
- xs := make([]*types.Var, r.uint64())
- for i := range xs {
- xs[i] = r.param()
- }
- return types.NewTuple(xs...)
-}
-
-func (r *importReader) param() *types.Var {
- pos := r.pos()
- name := r.ident()
- typ := r.typ()
- return types.NewParam(pos, r.currPkg, name, typ)
-}
-
-func (r *importReader) bool() bool {
- return r.uint64() != 0
-}
-
-func (r *importReader) int64() int64 {
- n, err := binary.ReadVarint(&r.declReader)
- if err != nil {
- errorf("readVarint: %v", err)
- }
- return n
-}
-
-func (r *importReader) uint64() uint64 {
- n, err := binary.ReadUvarint(&r.declReader)
- if err != nil {
- errorf("readUvarint: %v", err)
- }
- return n
-}
-
-func (r *importReader) byte() byte {
- x, err := r.declReader.ReadByte()
- if err != nil {
- errorf("declReader.ReadByte: %v", err)
- }
- return x
-}
diff --git a/vendor/golang.org/x/tools/internal/gcimporter/predeclared.go b/vendor/golang.org/x/tools/internal/gcimporter/predeclared.go
deleted file mode 100644
index 907c8557..00000000
--- a/vendor/golang.org/x/tools/internal/gcimporter/predeclared.go
+++ /dev/null
@@ -1,91 +0,0 @@
-// Copyright 2024 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package gcimporter
-
-import (
- "go/types"
- "sync"
-)
-
-// predecl is a cache for the predeclared types in types.Universe.
-//
-// Cache a distinct result based on the runtime value of any.
-// The pointer value of the any type varies based on GODEBUG settings.
-var predeclMu sync.Mutex
-var predecl map[types.Type][]types.Type
-
-func predeclared() []types.Type {
- anyt := types.Universe.Lookup("any").Type()
-
- predeclMu.Lock()
- defer predeclMu.Unlock()
-
- if pre, ok := predecl[anyt]; ok {
- return pre
- }
-
- if predecl == nil {
- predecl = make(map[types.Type][]types.Type)
- }
-
- decls := []types.Type{ // basic types
- types.Typ[types.Bool],
- types.Typ[types.Int],
- types.Typ[types.Int8],
- types.Typ[types.Int16],
- types.Typ[types.Int32],
- types.Typ[types.Int64],
- types.Typ[types.Uint],
- types.Typ[types.Uint8],
- types.Typ[types.Uint16],
- types.Typ[types.Uint32],
- types.Typ[types.Uint64],
- types.Typ[types.Uintptr],
- types.Typ[types.Float32],
- types.Typ[types.Float64],
- types.Typ[types.Complex64],
- types.Typ[types.Complex128],
- types.Typ[types.String],
-
- // basic type aliases
- types.Universe.Lookup("byte").Type(),
- types.Universe.Lookup("rune").Type(),
-
- // error
- types.Universe.Lookup("error").Type(),
-
- // untyped types
- types.Typ[types.UntypedBool],
- types.Typ[types.UntypedInt],
- types.Typ[types.UntypedRune],
- types.Typ[types.UntypedFloat],
- types.Typ[types.UntypedComplex],
- types.Typ[types.UntypedString],
- types.Typ[types.UntypedNil],
-
- // package unsafe
- types.Typ[types.UnsafePointer],
-
- // invalid type
- types.Typ[types.Invalid], // only appears in packages with errors
-
- // used internally by gc; never used by this package or in .a files
- anyType{},
-
- // comparable
- types.Universe.Lookup("comparable").Type(),
-
- // any
- anyt,
- }
-
- predecl[anyt] = decls
- return decls
-}
-
-type anyType struct{}
-
-func (t anyType) Underlying() types.Type { return t }
-func (t anyType) String() string { return "any" }
diff --git a/vendor/golang.org/x/tools/internal/gcimporter/ureader_yes.go b/vendor/golang.org/x/tools/internal/gcimporter/ureader_yes.go
deleted file mode 100644
index 1db40861..00000000
--- a/vendor/golang.org/x/tools/internal/gcimporter/ureader_yes.go
+++ /dev/null
@@ -1,754 +0,0 @@
-// Copyright 2021 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-// Derived from go/internal/gcimporter/ureader.go
-
-package gcimporter
-
-import (
- "fmt"
- "go/token"
- "go/types"
- "sort"
- "strings"
-
- "golang.org/x/tools/internal/aliases"
- "golang.org/x/tools/internal/pkgbits"
-)
-
-// A pkgReader holds the shared state for reading a unified IR package
-// description.
-type pkgReader struct {
- pkgbits.PkgDecoder
-
- fake fakeFileSet
-
- ctxt *types.Context
- imports map[string]*types.Package // previously imported packages, indexed by path
- aliases bool // create types.Alias nodes
-
- // lazily initialized arrays corresponding to the unified IR
- // PosBase, Pkg, and Type sections, respectively.
- posBases []string // position bases (i.e., file names)
- pkgs []*types.Package
- typs []types.Type
-
- // laterFns holds functions that need to be invoked at the end of
- // import reading.
- laterFns []func()
- // laterFors is used in case of 'type A B' to ensure that B is processed before A.
- laterFors map[types.Type]int
-
- // ifaces holds a list of constructed Interfaces, which need to have
- // Complete called after importing is done.
- ifaces []*types.Interface
-}
-
-// later adds a function to be invoked at the end of import reading.
-func (pr *pkgReader) later(fn func()) {
- pr.laterFns = append(pr.laterFns, fn)
-}
-
-// See cmd/compile/internal/noder.derivedInfo.
-type derivedInfo struct {
- idx pkgbits.Index
-}
-
-// See cmd/compile/internal/noder.typeInfo.
-type typeInfo struct {
- idx pkgbits.Index
- derived bool
-}
-
-func UImportData(fset *token.FileSet, imports map[string]*types.Package, data []byte, path string) (_ int, pkg *types.Package, err error) {
- if !debug {
- defer func() {
- if x := recover(); x != nil {
- err = fmt.Errorf("internal error in importing %q (%v); please report an issue", path, x)
- }
- }()
- }
-
- s := string(data)
- s = s[:strings.LastIndex(s, "\n$$\n")]
- input := pkgbits.NewPkgDecoder(path, s)
- pkg = readUnifiedPackage(fset, nil, imports, input)
- return
-}
-
-// laterFor adds a function to be invoked at the end of import reading, and records the type that function is finishing.
-func (pr *pkgReader) laterFor(t types.Type, fn func()) {
- if pr.laterFors == nil {
- pr.laterFors = make(map[types.Type]int)
- }
- pr.laterFors[t] = len(pr.laterFns)
- pr.laterFns = append(pr.laterFns, fn)
-}
-
-// readUnifiedPackage reads a package description from the given
-// unified IR export data decoder.
-func readUnifiedPackage(fset *token.FileSet, ctxt *types.Context, imports map[string]*types.Package, input pkgbits.PkgDecoder) *types.Package {
- pr := pkgReader{
- PkgDecoder: input,
-
- fake: fakeFileSet{
- fset: fset,
- files: make(map[string]*fileInfo),
- },
-
- ctxt: ctxt,
- imports: imports,
- aliases: aliases.Enabled(),
-
- posBases: make([]string, input.NumElems(pkgbits.RelocPosBase)),
- pkgs: make([]*types.Package, input.NumElems(pkgbits.RelocPkg)),
- typs: make([]types.Type, input.NumElems(pkgbits.RelocType)),
- }
- defer pr.fake.setLines()
-
- r := pr.newReader(pkgbits.RelocMeta, pkgbits.PublicRootIdx, pkgbits.SyncPublic)
- pkg := r.pkg()
- if r.Version().Has(pkgbits.HasInit) {
- r.Bool()
- }
-
- for i, n := 0, r.Len(); i < n; i++ {
- // As if r.obj(), but avoiding the Scope.Lookup call,
- // to avoid eager loading of imports.
- r.Sync(pkgbits.SyncObject)
- if r.Version().Has(pkgbits.DerivedFuncInstance) {
- assert(!r.Bool())
- }
- r.p.objIdx(r.Reloc(pkgbits.RelocObj))
- assert(r.Len() == 0)
- }
-
- r.Sync(pkgbits.SyncEOF)
-
- for _, fn := range pr.laterFns {
- fn()
- }
-
- for _, iface := range pr.ifaces {
- iface.Complete()
- }
-
- // Imports() of pkg are all of the transitive packages that were loaded.
- var imps []*types.Package
- for _, imp := range pr.pkgs {
- if imp != nil && imp != pkg {
- imps = append(imps, imp)
- }
- }
- sort.Sort(byPath(imps))
- pkg.SetImports(imps)
-
- pkg.MarkComplete()
- return pkg
-}
-
-// A reader holds the state for reading a single unified IR element
-// within a package.
-type reader struct {
- pkgbits.Decoder
-
- p *pkgReader
-
- dict *readerDict
-}
-
-// A readerDict holds the state for type parameters that parameterize
-// the current unified IR element.
-type readerDict struct {
- // bounds is a slice of typeInfos corresponding to the underlying
- // bounds of the element's type parameters.
- bounds []typeInfo
-
- // tparams is a slice of the constructed TypeParams for the element.
- tparams []*types.TypeParam
-
- // derived is a slice of types derived from tparams, which may be
- // instantiated while reading the current element.
- derived []derivedInfo
- derivedTypes []types.Type // lazily instantiated from derived
-}
-
-func (pr *pkgReader) newReader(k pkgbits.RelocKind, idx pkgbits.Index, marker pkgbits.SyncMarker) *reader {
- return &reader{
- Decoder: pr.NewDecoder(k, idx, marker),
- p: pr,
- }
-}
-
-func (pr *pkgReader) tempReader(k pkgbits.RelocKind, idx pkgbits.Index, marker pkgbits.SyncMarker) *reader {
- return &reader{
- Decoder: pr.TempDecoder(k, idx, marker),
- p: pr,
- }
-}
-
-func (pr *pkgReader) retireReader(r *reader) {
- pr.RetireDecoder(&r.Decoder)
-}
-
-// @@@ Positions
-
-func (r *reader) pos() token.Pos {
- r.Sync(pkgbits.SyncPos)
- if !r.Bool() {
- return token.NoPos
- }
-
- // TODO(mdempsky): Delta encoding.
- posBase := r.posBase()
- line := r.Uint()
- col := r.Uint()
- return r.p.fake.pos(posBase, int(line), int(col))
-}
-
-func (r *reader) posBase() string {
- return r.p.posBaseIdx(r.Reloc(pkgbits.RelocPosBase))
-}
-
-func (pr *pkgReader) posBaseIdx(idx pkgbits.Index) string {
- if b := pr.posBases[idx]; b != "" {
- return b
- }
-
- var filename string
- {
- r := pr.tempReader(pkgbits.RelocPosBase, idx, pkgbits.SyncPosBase)
-
- // Within types2, position bases have a lot more details (e.g.,
- // keeping track of where //line directives appeared exactly).
- //
- // For go/types, we just track the file name.
-
- filename = r.String()
-
- if r.Bool() { // file base
- // Was: "b = token.NewTrimmedFileBase(filename, true)"
- } else { // line base
- pos := r.pos()
- line := r.Uint()
- col := r.Uint()
-
- // Was: "b = token.NewLineBase(pos, filename, true, line, col)"
- _, _, _ = pos, line, col
- }
- pr.retireReader(r)
- }
- b := filename
- pr.posBases[idx] = b
- return b
-}
-
-// @@@ Packages
-
-func (r *reader) pkg() *types.Package {
- r.Sync(pkgbits.SyncPkg)
- return r.p.pkgIdx(r.Reloc(pkgbits.RelocPkg))
-}
-
-func (pr *pkgReader) pkgIdx(idx pkgbits.Index) *types.Package {
- // TODO(mdempsky): Consider using some non-nil pointer to indicate
- // the universe scope, so we don't need to keep re-reading it.
- if pkg := pr.pkgs[idx]; pkg != nil {
- return pkg
- }
-
- pkg := pr.newReader(pkgbits.RelocPkg, idx, pkgbits.SyncPkgDef).doPkg()
- pr.pkgs[idx] = pkg
- return pkg
-}
-
-func (r *reader) doPkg() *types.Package {
- path := r.String()
- switch path {
- case "":
- path = r.p.PkgPath()
- case "builtin":
- return nil // universe
- case "unsafe":
- return types.Unsafe
- }
-
- if pkg := r.p.imports[path]; pkg != nil {
- return pkg
- }
-
- name := r.String()
-
- pkg := types.NewPackage(path, name)
- r.p.imports[path] = pkg
-
- return pkg
-}
-
-// @@@ Types
-
-func (r *reader) typ() types.Type {
- return r.p.typIdx(r.typInfo(), r.dict)
-}
-
-func (r *reader) typInfo() typeInfo {
- r.Sync(pkgbits.SyncType)
- if r.Bool() {
- return typeInfo{idx: pkgbits.Index(r.Len()), derived: true}
- }
- return typeInfo{idx: r.Reloc(pkgbits.RelocType), derived: false}
-}
-
-func (pr *pkgReader) typIdx(info typeInfo, dict *readerDict) types.Type {
- idx := info.idx
- var where *types.Type
- if info.derived {
- where = &dict.derivedTypes[idx]
- idx = dict.derived[idx].idx
- } else {
- where = &pr.typs[idx]
- }
-
- if typ := *where; typ != nil {
- return typ
- }
-
- var typ types.Type
- {
- r := pr.tempReader(pkgbits.RelocType, idx, pkgbits.SyncTypeIdx)
- r.dict = dict
-
- typ = r.doTyp()
- assert(typ != nil)
- pr.retireReader(r)
- }
- // See comment in pkgReader.typIdx explaining how this happens.
- if prev := *where; prev != nil {
- return prev
- }
-
- *where = typ
- return typ
-}
-
-func (r *reader) doTyp() (res types.Type) {
- switch tag := pkgbits.CodeType(r.Code(pkgbits.SyncType)); tag {
- default:
- errorf("unhandled type tag: %v", tag)
- panic("unreachable")
-
- case pkgbits.TypeBasic:
- return types.Typ[r.Len()]
-
- case pkgbits.TypeNamed:
- obj, targs := r.obj()
- name := obj.(*types.TypeName)
- if len(targs) != 0 {
- t, _ := types.Instantiate(r.p.ctxt, name.Type(), targs, false)
- return t
- }
- return name.Type()
-
- case pkgbits.TypeTypeParam:
- return r.dict.tparams[r.Len()]
-
- case pkgbits.TypeArray:
- len := int64(r.Uint64())
- return types.NewArray(r.typ(), len)
- case pkgbits.TypeChan:
- dir := types.ChanDir(r.Len())
- return types.NewChan(dir, r.typ())
- case pkgbits.TypeMap:
- return types.NewMap(r.typ(), r.typ())
- case pkgbits.TypePointer:
- return types.NewPointer(r.typ())
- case pkgbits.TypeSignature:
- return r.signature(nil, nil, nil)
- case pkgbits.TypeSlice:
- return types.NewSlice(r.typ())
- case pkgbits.TypeStruct:
- return r.structType()
- case pkgbits.TypeInterface:
- return r.interfaceType()
- case pkgbits.TypeUnion:
- return r.unionType()
- }
-}
-
-func (r *reader) structType() *types.Struct {
- fields := make([]*types.Var, r.Len())
- var tags []string
- for i := range fields {
- pos := r.pos()
- pkg, name := r.selector()
- ftyp := r.typ()
- tag := r.String()
- embedded := r.Bool()
-
- fields[i] = types.NewField(pos, pkg, name, ftyp, embedded)
- if tag != "" {
- for len(tags) < i {
- tags = append(tags, "")
- }
- tags = append(tags, tag)
- }
- }
- return types.NewStruct(fields, tags)
-}
-
-func (r *reader) unionType() *types.Union {
- terms := make([]*types.Term, r.Len())
- for i := range terms {
- terms[i] = types.NewTerm(r.Bool(), r.typ())
- }
- return types.NewUnion(terms)
-}
-
-func (r *reader) interfaceType() *types.Interface {
- methods := make([]*types.Func, r.Len())
- embeddeds := make([]types.Type, r.Len())
- implicit := len(methods) == 0 && len(embeddeds) == 1 && r.Bool()
-
- for i := range methods {
- pos := r.pos()
- pkg, name := r.selector()
- mtyp := r.signature(nil, nil, nil)
- methods[i] = types.NewFunc(pos, pkg, name, mtyp)
- }
-
- for i := range embeddeds {
- embeddeds[i] = r.typ()
- }
-
- iface := types.NewInterfaceType(methods, embeddeds)
- if implicit {
- iface.MarkImplicit()
- }
-
- // We need to call iface.Complete(), but if there are any embedded
- // defined types, then we may not have set their underlying
- // interface type yet. So we need to defer calling Complete until
- // after we've called SetUnderlying everywhere.
- //
- // TODO(mdempsky): After CL 424876 lands, it should be safe to call
- // iface.Complete() immediately.
- r.p.ifaces = append(r.p.ifaces, iface)
-
- return iface
-}
-
-func (r *reader) signature(recv *types.Var, rtparams, tparams []*types.TypeParam) *types.Signature {
- r.Sync(pkgbits.SyncSignature)
-
- params := r.params()
- results := r.params()
- variadic := r.Bool()
-
- return types.NewSignatureType(recv, rtparams, tparams, params, results, variadic)
-}
-
-func (r *reader) params() *types.Tuple {
- r.Sync(pkgbits.SyncParams)
-
- params := make([]*types.Var, r.Len())
- for i := range params {
- params[i] = r.param()
- }
-
- return types.NewTuple(params...)
-}
-
-func (r *reader) param() *types.Var {
- r.Sync(pkgbits.SyncParam)
-
- pos := r.pos()
- pkg, name := r.localIdent()
- typ := r.typ()
-
- return types.NewParam(pos, pkg, name, typ)
-}
-
-// @@@ Objects
-
-func (r *reader) obj() (types.Object, []types.Type) {
- r.Sync(pkgbits.SyncObject)
-
- if r.Version().Has(pkgbits.DerivedFuncInstance) {
- assert(!r.Bool())
- }
-
- pkg, name := r.p.objIdx(r.Reloc(pkgbits.RelocObj))
- obj := pkgScope(pkg).Lookup(name)
-
- targs := make([]types.Type, r.Len())
- for i := range targs {
- targs[i] = r.typ()
- }
-
- return obj, targs
-}
-
-func (pr *pkgReader) objIdx(idx pkgbits.Index) (*types.Package, string) {
-
- var objPkg *types.Package
- var objName string
- var tag pkgbits.CodeObj
- {
- rname := pr.tempReader(pkgbits.RelocName, idx, pkgbits.SyncObject1)
-
- objPkg, objName = rname.qualifiedIdent()
- assert(objName != "")
-
- tag = pkgbits.CodeObj(rname.Code(pkgbits.SyncCodeObj))
- pr.retireReader(rname)
- }
-
- if tag == pkgbits.ObjStub {
- assert(objPkg == nil || objPkg == types.Unsafe)
- return objPkg, objName
- }
-
- // Ignore local types promoted to global scope (#55110).
- if _, suffix := splitVargenSuffix(objName); suffix != "" {
- return objPkg, objName
- }
-
- if objPkg.Scope().Lookup(objName) == nil {
- dict := pr.objDictIdx(idx)
-
- r := pr.newReader(pkgbits.RelocObj, idx, pkgbits.SyncObject1)
- r.dict = dict
-
- declare := func(obj types.Object) {
- objPkg.Scope().Insert(obj)
- }
-
- switch tag {
- default:
- panic("weird")
-
- case pkgbits.ObjAlias:
- pos := r.pos()
- var tparams []*types.TypeParam
- if r.Version().Has(pkgbits.AliasTypeParamNames) {
- tparams = r.typeParamNames()
- }
- typ := r.typ()
- declare(aliases.NewAlias(r.p.aliases, pos, objPkg, objName, typ, tparams))
-
- case pkgbits.ObjConst:
- pos := r.pos()
- typ := r.typ()
- val := r.Value()
- declare(types.NewConst(pos, objPkg, objName, typ, val))
-
- case pkgbits.ObjFunc:
- pos := r.pos()
- tparams := r.typeParamNames()
- sig := r.signature(nil, nil, tparams)
- declare(types.NewFunc(pos, objPkg, objName, sig))
-
- case pkgbits.ObjType:
- pos := r.pos()
-
- obj := types.NewTypeName(pos, objPkg, objName, nil)
- named := types.NewNamed(obj, nil, nil)
- declare(obj)
-
- named.SetTypeParams(r.typeParamNames())
-
- setUnderlying := func(underlying types.Type) {
- // If the underlying type is an interface, we need to
- // duplicate its methods so we can replace the receiver
- // parameter's type (#49906).
- if iface, ok := types.Unalias(underlying).(*types.Interface); ok && iface.NumExplicitMethods() != 0 {
- methods := make([]*types.Func, iface.NumExplicitMethods())
- for i := range methods {
- fn := iface.ExplicitMethod(i)
- sig := fn.Type().(*types.Signature)
-
- recv := types.NewVar(fn.Pos(), fn.Pkg(), "", named)
- methods[i] = types.NewFunc(fn.Pos(), fn.Pkg(), fn.Name(), types.NewSignature(recv, sig.Params(), sig.Results(), sig.Variadic()))
- }
-
- embeds := make([]types.Type, iface.NumEmbeddeds())
- for i := range embeds {
- embeds[i] = iface.EmbeddedType(i)
- }
-
- newIface := types.NewInterfaceType(methods, embeds)
- r.p.ifaces = append(r.p.ifaces, newIface)
- underlying = newIface
- }
-
- named.SetUnderlying(underlying)
- }
-
- // Since go.dev/cl/455279, we can assume rhs.Underlying() will
- // always be non-nil. However, to temporarily support users of
- // older snapshot releases, we continue to fallback to the old
- // behavior for now.
- //
- // TODO(mdempsky): Remove fallback code and simplify after
- // allowing time for snapshot users to upgrade.
- rhs := r.typ()
- if underlying := rhs.Underlying(); underlying != nil {
- setUnderlying(underlying)
- } else {
- pk := r.p
- pk.laterFor(named, func() {
- // First be sure that the rhs is initialized, if it needs to be initialized.
- delete(pk.laterFors, named) // prevent cycles
- if i, ok := pk.laterFors[rhs]; ok {
- f := pk.laterFns[i]
- pk.laterFns[i] = func() {} // function is running now, so replace it with a no-op
- f() // initialize RHS
- }
- setUnderlying(rhs.Underlying())
- })
- }
-
- for i, n := 0, r.Len(); i < n; i++ {
- named.AddMethod(r.method())
- }
-
- case pkgbits.ObjVar:
- pos := r.pos()
- typ := r.typ()
- declare(types.NewVar(pos, objPkg, objName, typ))
- }
- }
-
- return objPkg, objName
-}
-
-func (pr *pkgReader) objDictIdx(idx pkgbits.Index) *readerDict {
-
- var dict readerDict
-
- {
- r := pr.tempReader(pkgbits.RelocObjDict, idx, pkgbits.SyncObject1)
- if implicits := r.Len(); implicits != 0 {
- errorf("unexpected object with %v implicit type parameter(s)", implicits)
- }
-
- dict.bounds = make([]typeInfo, r.Len())
- for i := range dict.bounds {
- dict.bounds[i] = r.typInfo()
- }
-
- dict.derived = make([]derivedInfo, r.Len())
- dict.derivedTypes = make([]types.Type, len(dict.derived))
- for i := range dict.derived {
- dict.derived[i] = derivedInfo{idx: r.Reloc(pkgbits.RelocType)}
- if r.Version().Has(pkgbits.DerivedInfoNeeded) {
- assert(!r.Bool())
- }
- }
-
- pr.retireReader(r)
- }
- // function references follow, but reader doesn't need those
-
- return &dict
-}
-
-func (r *reader) typeParamNames() []*types.TypeParam {
- r.Sync(pkgbits.SyncTypeParamNames)
-
- // Note: This code assumes it only processes objects without
- // implement type parameters. This is currently fine, because
- // reader is only used to read in exported declarations, which are
- // always package scoped.
-
- if len(r.dict.bounds) == 0 {
- return nil
- }
-
- // Careful: Type parameter lists may have cycles. To allow for this,
- // we construct the type parameter list in two passes: first we
- // create all the TypeNames and TypeParams, then we construct and
- // set the bound type.
-
- r.dict.tparams = make([]*types.TypeParam, len(r.dict.bounds))
- for i := range r.dict.bounds {
- pos := r.pos()
- pkg, name := r.localIdent()
-
- tname := types.NewTypeName(pos, pkg, name, nil)
- r.dict.tparams[i] = types.NewTypeParam(tname, nil)
- }
-
- typs := make([]types.Type, len(r.dict.bounds))
- for i, bound := range r.dict.bounds {
- typs[i] = r.p.typIdx(bound, r.dict)
- }
-
- // TODO(mdempsky): This is subtle, elaborate further.
- //
- // We have to save tparams outside of the closure, because
- // typeParamNames() can be called multiple times with the same
- // dictionary instance.
- //
- // Also, this needs to happen later to make sure SetUnderlying has
- // been called.
- //
- // TODO(mdempsky): Is it safe to have a single "later" slice or do
- // we need to have multiple passes? See comments on CL 386002 and
- // go.dev/issue/52104.
- tparams := r.dict.tparams
- r.p.later(func() {
- for i, typ := range typs {
- tparams[i].SetConstraint(typ)
- }
- })
-
- return r.dict.tparams
-}
-
-func (r *reader) method() *types.Func {
- r.Sync(pkgbits.SyncMethod)
- pos := r.pos()
- pkg, name := r.selector()
-
- rparams := r.typeParamNames()
- sig := r.signature(r.param(), rparams, nil)
-
- _ = r.pos() // TODO(mdempsky): Remove; this is a hacker for linker.go.
- return types.NewFunc(pos, pkg, name, sig)
-}
-
-func (r *reader) qualifiedIdent() (*types.Package, string) { return r.ident(pkgbits.SyncSym) }
-func (r *reader) localIdent() (*types.Package, string) { return r.ident(pkgbits.SyncLocalIdent) }
-func (r *reader) selector() (*types.Package, string) { return r.ident(pkgbits.SyncSelector) }
-
-func (r *reader) ident(marker pkgbits.SyncMarker) (*types.Package, string) {
- r.Sync(marker)
- return r.pkg(), r.String()
-}
-
-// pkgScope returns pkg.Scope().
-// If pkg is nil, it returns types.Universe instead.
-//
-// TODO(mdempsky): Remove after x/tools can depend on Go 1.19.
-func pkgScope(pkg *types.Package) *types.Scope {
- if pkg != nil {
- return pkg.Scope()
- }
- return types.Universe
-}
-
-// See cmd/compile/internal/types.SplitVargenSuffix.
-func splitVargenSuffix(name string) (base, suffix string) {
- i := len(name)
- for i > 0 && name[i-1] >= '0' && name[i-1] <= '9' {
- i--
- }
- const dot = "·"
- if i >= len(dot) && name[i-len(dot):i] == dot {
- i -= len(dot)
- return name[:i], name[i:]
- }
- return name, ""
-}
diff --git a/vendor/golang.org/x/tools/internal/gocommand/invoke.go b/vendor/golang.org/x/tools/internal/gocommand/invoke.go
deleted file mode 100644
index e333efc8..00000000
--- a/vendor/golang.org/x/tools/internal/gocommand/invoke.go
+++ /dev/null
@@ -1,551 +0,0 @@
-// Copyright 2020 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-// Package gocommand is a helper for calling the go command.
-package gocommand
-
-import (
- "bytes"
- "context"
- "encoding/json"
- "errors"
- "fmt"
- "io"
- "log"
- "os"
- "os/exec"
- "path/filepath"
- "regexp"
- "runtime"
- "strconv"
- "strings"
- "sync"
- "time"
-
- "golang.org/x/tools/internal/event"
- "golang.org/x/tools/internal/event/keys"
- "golang.org/x/tools/internal/event/label"
-)
-
-// An Runner will run go command invocations and serialize
-// them if it sees a concurrency error.
-type Runner struct {
- // once guards the runner initialization.
- once sync.Once
-
- // inFlight tracks available workers.
- inFlight chan struct{}
-
- // serialized guards the ability to run a go command serially,
- // to avoid deadlocks when claiming workers.
- serialized chan struct{}
-}
-
-const maxInFlight = 10
-
-func (runner *Runner) initialize() {
- runner.once.Do(func() {
- runner.inFlight = make(chan struct{}, maxInFlight)
- runner.serialized = make(chan struct{}, 1)
- })
-}
-
-// 1.13: go: updates to go.mod needed, but contents have changed
-// 1.14: go: updating go.mod: existing contents have changed since last read
-var modConcurrencyError = regexp.MustCompile(`go:.*go.mod.*contents have changed`)
-
-// event keys for go command invocations
-var (
- verb = keys.NewString("verb", "go command verb")
- directory = keys.NewString("directory", "")
-)
-
-func invLabels(inv Invocation) []label.Label {
- return []label.Label{verb.Of(inv.Verb), directory.Of(inv.WorkingDir)}
-}
-
-// Run is a convenience wrapper around RunRaw.
-// It returns only stdout and a "friendly" error.
-func (runner *Runner) Run(ctx context.Context, inv Invocation) (*bytes.Buffer, error) {
- ctx, done := event.Start(ctx, "gocommand.Runner.Run", invLabels(inv)...)
- defer done()
-
- stdout, _, friendly, _ := runner.RunRaw(ctx, inv)
- return stdout, friendly
-}
-
-// RunPiped runs the invocation serially, always waiting for any concurrent
-// invocations to complete first.
-func (runner *Runner) RunPiped(ctx context.Context, inv Invocation, stdout, stderr io.Writer) error {
- ctx, done := event.Start(ctx, "gocommand.Runner.RunPiped", invLabels(inv)...)
- defer done()
-
- _, err := runner.runPiped(ctx, inv, stdout, stderr)
- return err
-}
-
-// RunRaw runs the invocation, serializing requests only if they fight over
-// go.mod changes.
-// Postcondition: both error results have same nilness.
-func (runner *Runner) RunRaw(ctx context.Context, inv Invocation) (*bytes.Buffer, *bytes.Buffer, error, error) {
- ctx, done := event.Start(ctx, "gocommand.Runner.RunRaw", invLabels(inv)...)
- defer done()
- // Make sure the runner is always initialized.
- runner.initialize()
-
- // First, try to run the go command concurrently.
- stdout, stderr, friendlyErr, err := runner.runConcurrent(ctx, inv)
-
- // If we encounter a load concurrency error, we need to retry serially.
- if friendlyErr != nil && modConcurrencyError.MatchString(friendlyErr.Error()) {
- event.Error(ctx, "Load concurrency error, will retry serially", err)
-
- // Run serially by calling runPiped.
- stdout.Reset()
- stderr.Reset()
- friendlyErr, err = runner.runPiped(ctx, inv, stdout, stderr)
- }
-
- return stdout, stderr, friendlyErr, err
-}
-
-// Postcondition: both error results have same nilness.
-func (runner *Runner) runConcurrent(ctx context.Context, inv Invocation) (*bytes.Buffer, *bytes.Buffer, error, error) {
- // Wait for 1 worker to become available.
- select {
- case <-ctx.Done():
- return nil, nil, ctx.Err(), ctx.Err()
- case runner.inFlight <- struct{}{}:
- defer func() { <-runner.inFlight }()
- }
-
- stdout, stderr := &bytes.Buffer{}, &bytes.Buffer{}
- friendlyErr, err := inv.runWithFriendlyError(ctx, stdout, stderr)
- return stdout, stderr, friendlyErr, err
-}
-
-// Postcondition: both error results have same nilness.
-func (runner *Runner) runPiped(ctx context.Context, inv Invocation, stdout, stderr io.Writer) (error, error) {
- // Make sure the runner is always initialized.
- runner.initialize()
-
- // Acquire the serialization lock. This avoids deadlocks between two
- // runPiped commands.
- select {
- case <-ctx.Done():
- return ctx.Err(), ctx.Err()
- case runner.serialized <- struct{}{}:
- defer func() { <-runner.serialized }()
- }
-
- // Wait for all in-progress go commands to return before proceeding,
- // to avoid load concurrency errors.
- for i := 0; i < maxInFlight; i++ {
- select {
- case <-ctx.Done():
- return ctx.Err(), ctx.Err()
- case runner.inFlight <- struct{}{}:
- // Make sure we always "return" any workers we took.
- defer func() { <-runner.inFlight }()
- }
- }
-
- return inv.runWithFriendlyError(ctx, stdout, stderr)
-}
-
-// An Invocation represents a call to the go command.
-type Invocation struct {
- Verb string
- Args []string
- BuildFlags []string
-
- // If ModFlag is set, the go command is invoked with -mod=ModFlag.
- // TODO(rfindley): remove, in favor of Args.
- ModFlag string
-
- // If ModFile is set, the go command is invoked with -modfile=ModFile.
- // TODO(rfindley): remove, in favor of Args.
- ModFile string
-
- // Overlay is the name of the JSON overlay file that describes
- // unsaved editor buffers; see [WriteOverlays].
- // If set, the go command is invoked with -overlay=Overlay.
- // TODO(rfindley): remove, in favor of Args.
- Overlay string
-
- // If CleanEnv is set, the invocation will run only with the environment
- // in Env, not starting with os.Environ.
- CleanEnv bool
- Env []string
- WorkingDir string
- Logf func(format string, args ...interface{})
-}
-
-// Postcondition: both error results have same nilness.
-func (i *Invocation) runWithFriendlyError(ctx context.Context, stdout, stderr io.Writer) (friendlyError error, rawError error) {
- rawError = i.run(ctx, stdout, stderr)
- if rawError != nil {
- friendlyError = rawError
- // Check for 'go' executable not being found.
- if ee, ok := rawError.(*exec.Error); ok && ee.Err == exec.ErrNotFound {
- friendlyError = fmt.Errorf("go command required, not found: %v", ee)
- }
- if ctx.Err() != nil {
- friendlyError = ctx.Err()
- }
- friendlyError = fmt.Errorf("err: %v: stderr: %s", friendlyError, stderr)
- }
- return
-}
-
-// logf logs if i.Logf is non-nil.
-func (i *Invocation) logf(format string, args ...any) {
- if i.Logf != nil {
- i.Logf(format, args...)
- }
-}
-
-func (i *Invocation) run(ctx context.Context, stdout, stderr io.Writer) error {
- goArgs := []string{i.Verb}
-
- appendModFile := func() {
- if i.ModFile != "" {
- goArgs = append(goArgs, "-modfile="+i.ModFile)
- }
- }
- appendModFlag := func() {
- if i.ModFlag != "" {
- goArgs = append(goArgs, "-mod="+i.ModFlag)
- }
- }
- appendOverlayFlag := func() {
- if i.Overlay != "" {
- goArgs = append(goArgs, "-overlay="+i.Overlay)
- }
- }
-
- switch i.Verb {
- case "env", "version":
- goArgs = append(goArgs, i.Args...)
- case "mod":
- // mod needs the sub-verb before flags.
- goArgs = append(goArgs, i.Args[0])
- appendModFile()
- goArgs = append(goArgs, i.Args[1:]...)
- case "get":
- goArgs = append(goArgs, i.BuildFlags...)
- appendModFile()
- goArgs = append(goArgs, i.Args...)
-
- default: // notably list and build.
- goArgs = append(goArgs, i.BuildFlags...)
- appendModFile()
- appendModFlag()
- appendOverlayFlag()
- goArgs = append(goArgs, i.Args...)
- }
- cmd := exec.Command("go", goArgs...)
- cmd.Stdout = stdout
- cmd.Stderr = stderr
-
- // https://go.dev/issue/59541: don't wait forever copying stderr
- // after the command has exited.
- // After CL 484741 we copy stdout manually, so we we'll stop reading that as
- // soon as ctx is done. However, we also don't want to wait around forever
- // for stderr. Give a much-longer-than-reasonable delay and then assume that
- // something has wedged in the kernel or runtime.
- cmd.WaitDelay = 30 * time.Second
-
- // The cwd gets resolved to the real path. On Darwin, where
- // /tmp is a symlink, this breaks anything that expects the
- // working directory to keep the original path, including the
- // go command when dealing with modules.
- //
- // os.Getwd has a special feature where if the cwd and the PWD
- // are the same node then it trusts the PWD, so by setting it
- // in the env for the child process we fix up all the paths
- // returned by the go command.
- if !i.CleanEnv {
- cmd.Env = os.Environ()
- }
- cmd.Env = append(cmd.Env, i.Env...)
- if i.WorkingDir != "" {
- cmd.Env = append(cmd.Env, "PWD="+i.WorkingDir)
- cmd.Dir = i.WorkingDir
- }
-
- debugStr := cmdDebugStr(cmd)
- i.logf("starting %v", debugStr)
- start := time.Now()
- defer func() {
- i.logf("%s for %v", time.Since(start), debugStr)
- }()
-
- return runCmdContext(ctx, cmd)
-}
-
-// DebugHangingGoCommands may be set by tests to enable additional
-// instrumentation (including panics) for debugging hanging Go commands.
-//
-// See golang/go#54461 for details.
-var DebugHangingGoCommands = false
-
-// runCmdContext is like exec.CommandContext except it sends os.Interrupt
-// before os.Kill.
-func runCmdContext(ctx context.Context, cmd *exec.Cmd) (err error) {
- // If cmd.Stdout is not an *os.File, the exec package will create a pipe and
- // copy it to the Writer in a goroutine until the process has finished and
- // either the pipe reaches EOF or command's WaitDelay expires.
- //
- // However, the output from 'go list' can be quite large, and we don't want to
- // keep reading (and allocating buffers) if we've already decided we don't
- // care about the output. We don't want to wait for the process to finish, and
- // we don't wait to wait for the WaitDelay to expire either.
- //
- // Instead, if cmd.Stdout requires a copying goroutine we explicitly replace
- // it with a pipe (which is an *os.File), which we can close in order to stop
- // copying output as soon as we realize we don't care about it.
- var stdoutW *os.File
- if cmd.Stdout != nil {
- if _, ok := cmd.Stdout.(*os.File); !ok {
- var stdoutR *os.File
- stdoutR, stdoutW, err = os.Pipe()
- if err != nil {
- return err
- }
- prevStdout := cmd.Stdout
- cmd.Stdout = stdoutW
-
- stdoutErr := make(chan error, 1)
- go func() {
- _, err := io.Copy(prevStdout, stdoutR)
- if err != nil {
- err = fmt.Errorf("copying stdout: %w", err)
- }
- stdoutErr <- err
- }()
- defer func() {
- // We started a goroutine to copy a stdout pipe.
- // Wait for it to finish, or terminate it if need be.
- var err2 error
- select {
- case err2 = <-stdoutErr:
- stdoutR.Close()
- case <-ctx.Done():
- stdoutR.Close()
- // Per https://pkg.go.dev/os#File.Close, the call to stdoutR.Close
- // should cause the Read call in io.Copy to unblock and return
- // immediately, but we still need to receive from stdoutErr to confirm
- // that it has happened.
- <-stdoutErr
- err2 = ctx.Err()
- }
- if err == nil {
- err = err2
- }
- }()
-
- // Per https://pkg.go.dev/os/exec#Cmd, “If Stdout and Stderr are the
- // same writer, and have a type that can be compared with ==, at most
- // one goroutine at a time will call Write.”
- //
- // Since we're starting a goroutine that writes to cmd.Stdout, we must
- // also update cmd.Stderr so that it still holds.
- func() {
- defer func() { recover() }()
- if cmd.Stderr == prevStdout {
- cmd.Stderr = cmd.Stdout
- }
- }()
- }
- }
-
- startTime := time.Now()
- err = cmd.Start()
- if stdoutW != nil {
- // The child process has inherited the pipe file,
- // so close the copy held in this process.
- stdoutW.Close()
- stdoutW = nil
- }
- if err != nil {
- return err
- }
-
- resChan := make(chan error, 1)
- go func() {
- resChan <- cmd.Wait()
- }()
-
- // If we're interested in debugging hanging Go commands, stop waiting after a
- // minute and panic with interesting information.
- debug := DebugHangingGoCommands
- if debug {
- timer := time.NewTimer(1 * time.Minute)
- defer timer.Stop()
- select {
- case err := <-resChan:
- return err
- case <-timer.C:
- HandleHangingGoCommand(startTime, cmd)
- case <-ctx.Done():
- }
- } else {
- select {
- case err := <-resChan:
- return err
- case <-ctx.Done():
- }
- }
-
- // Cancelled. Interrupt and see if it ends voluntarily.
- if err := cmd.Process.Signal(os.Interrupt); err == nil {
- // (We used to wait only 1s but this proved
- // fragile on loaded builder machines.)
- timer := time.NewTimer(5 * time.Second)
- defer timer.Stop()
- select {
- case err := <-resChan:
- return err
- case <-timer.C:
- }
- }
-
- // Didn't shut down in response to interrupt. Kill it hard.
- // TODO(rfindley): per advice from bcmills@, it may be better to send SIGQUIT
- // on certain platforms, such as unix.
- if err := cmd.Process.Kill(); err != nil && !errors.Is(err, os.ErrProcessDone) && debug {
- log.Printf("error killing the Go command: %v", err)
- }
-
- return <-resChan
-}
-
-func HandleHangingGoCommand(start time.Time, cmd *exec.Cmd) {
- switch runtime.GOOS {
- case "linux", "darwin", "freebsd", "netbsd":
- fmt.Fprintln(os.Stderr, `DETECTED A HANGING GO COMMAND
-
-The gopls test runner has detected a hanging go command. In order to debug
-this, the output of ps and lsof/fstat is printed below.
-
-See golang/go#54461 for more details.`)
-
- fmt.Fprintln(os.Stderr, "\nps axo ppid,pid,command:")
- fmt.Fprintln(os.Stderr, "-------------------------")
- psCmd := exec.Command("ps", "axo", "ppid,pid,command")
- psCmd.Stdout = os.Stderr
- psCmd.Stderr = os.Stderr
- if err := psCmd.Run(); err != nil {
- panic(fmt.Sprintf("running ps: %v", err))
- }
-
- listFiles := "lsof"
- if runtime.GOOS == "freebsd" || runtime.GOOS == "netbsd" {
- listFiles = "fstat"
- }
-
- fmt.Fprintln(os.Stderr, "\n"+listFiles+":")
- fmt.Fprintln(os.Stderr, "-----")
- listFilesCmd := exec.Command(listFiles)
- listFilesCmd.Stdout = os.Stderr
- listFilesCmd.Stderr = os.Stderr
- if err := listFilesCmd.Run(); err != nil {
- panic(fmt.Sprintf("running %s: %v", listFiles, err))
- }
- }
- panic(fmt.Sprintf("detected hanging go command (golang/go#54461); waited %s\n\tcommand:%s\n\tpid:%d", time.Since(start), cmd, cmd.Process.Pid))
-}
-
-func cmdDebugStr(cmd *exec.Cmd) string {
- env := make(map[string]string)
- for _, kv := range cmd.Env {
- split := strings.SplitN(kv, "=", 2)
- if len(split) == 2 {
- k, v := split[0], split[1]
- env[k] = v
- }
- }
-
- var args []string
- for _, arg := range cmd.Args {
- quoted := strconv.Quote(arg)
- if quoted[1:len(quoted)-1] != arg || strings.Contains(arg, " ") {
- args = append(args, quoted)
- } else {
- args = append(args, arg)
- }
- }
- return fmt.Sprintf("GOROOT=%v GOPATH=%v GO111MODULE=%v GOPROXY=%v PWD=%v %v", env["GOROOT"], env["GOPATH"], env["GO111MODULE"], env["GOPROXY"], env["PWD"], strings.Join(args, " "))
-}
-
-// WriteOverlays writes each value in the overlay (see the Overlay
-// field of go/packages.Config) to a temporary file and returns the name
-// of a JSON file describing the mapping that is suitable for the "go
-// list -overlay" flag.
-//
-// On success, the caller must call the cleanup function exactly once
-// when the files are no longer needed.
-func WriteOverlays(overlay map[string][]byte) (filename string, cleanup func(), err error) {
- // Do nothing if there are no overlays in the config.
- if len(overlay) == 0 {
- return "", func() {}, nil
- }
-
- dir, err := os.MkdirTemp("", "gocommand-*")
- if err != nil {
- return "", nil, err
- }
-
- // The caller must clean up this directory,
- // unless this function returns an error.
- // (The cleanup operand of each return
- // statement below is ignored.)
- defer func() {
- cleanup = func() {
- os.RemoveAll(dir)
- }
- if err != nil {
- cleanup()
- cleanup = nil
- }
- }()
-
- // Write each map entry to a temporary file.
- overlays := make(map[string]string)
- for k, v := range overlay {
- // Use a unique basename for each file (001-foo.go),
- // to avoid creating nested directories.
- base := fmt.Sprintf("%d-%s", 1+len(overlays), filepath.Base(k))
- filename := filepath.Join(dir, base)
- err := os.WriteFile(filename, v, 0666)
- if err != nil {
- return "", nil, err
- }
- overlays[k] = filename
- }
-
- // Write the JSON overlay file that maps logical file names to temp files.
- //
- // OverlayJSON is the format overlay files are expected to be in.
- // The Replace map maps from overlaid paths to replacement paths:
- // the Go command will forward all reads trying to open
- // each overlaid path to its replacement path, or consider the overlaid
- // path not to exist if the replacement path is empty.
- //
- // From golang/go#39958.
- type OverlayJSON struct {
- Replace map[string]string `json:"replace,omitempty"`
- }
- b, err := json.Marshal(OverlayJSON{Replace: overlays})
- if err != nil {
- return "", nil, err
- }
- filename = filepath.Join(dir, "overlay.json")
- if err := os.WriteFile(filename, b, 0666); err != nil {
- return "", nil, err
- }
-
- return filename, nil, nil
-}
diff --git a/vendor/golang.org/x/tools/internal/gocommand/vendor.go b/vendor/golang.org/x/tools/internal/gocommand/vendor.go
deleted file mode 100644
index e38d1fb4..00000000
--- a/vendor/golang.org/x/tools/internal/gocommand/vendor.go
+++ /dev/null
@@ -1,163 +0,0 @@
-// Copyright 2020 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package gocommand
-
-import (
- "bytes"
- "context"
- "fmt"
- "os"
- "path/filepath"
- "regexp"
- "strings"
- "time"
-
- "golang.org/x/mod/semver"
-)
-
-// ModuleJSON holds information about a module.
-type ModuleJSON struct {
- Path string // module path
- Version string // module version
- Versions []string // available module versions (with -versions)
- Replace *ModuleJSON // replaced by this module
- Time *time.Time // time version was created
- Update *ModuleJSON // available update, if any (with -u)
- Main bool // is this the main module?
- Indirect bool // is this module only an indirect dependency of main module?
- Dir string // directory holding files for this module, if any
- GoMod string // path to go.mod file used when loading this module, if any
- GoVersion string // go version used in module
-}
-
-var modFlagRegexp = regexp.MustCompile(`-mod[ =](\w+)`)
-
-// VendorEnabled reports whether vendoring is enabled. It takes a *Runner to execute Go commands
-// with the supplied context.Context and Invocation. The Invocation can contain pre-defined fields,
-// of which only Verb and Args are modified to run the appropriate Go command.
-// Inspired by setDefaultBuildMod in modload/init.go
-func VendorEnabled(ctx context.Context, inv Invocation, r *Runner) (bool, *ModuleJSON, error) {
- mainMod, go114, err := getMainModuleAnd114(ctx, inv, r)
- if err != nil {
- return false, nil, err
- }
-
- // We check the GOFLAGS to see if there is anything overridden or not.
- inv.Verb = "env"
- inv.Args = []string{"GOFLAGS"}
- stdout, err := r.Run(ctx, inv)
- if err != nil {
- return false, nil, err
- }
- goflags := string(bytes.TrimSpace(stdout.Bytes()))
- matches := modFlagRegexp.FindStringSubmatch(goflags)
- var modFlag string
- if len(matches) != 0 {
- modFlag = matches[1]
- }
- // Don't override an explicit '-mod=' argument.
- if modFlag == "vendor" {
- return true, mainMod, nil
- } else if modFlag != "" {
- return false, nil, nil
- }
- if mainMod == nil || !go114 {
- return false, nil, nil
- }
- // Check 1.14's automatic vendor mode.
- if fi, err := os.Stat(filepath.Join(mainMod.Dir, "vendor")); err == nil && fi.IsDir() {
- if mainMod.GoVersion != "" && semver.Compare("v"+mainMod.GoVersion, "v1.14") >= 0 {
- // The Go version is at least 1.14, and a vendor directory exists.
- // Set -mod=vendor by default.
- return true, mainMod, nil
- }
- }
- return false, nil, nil
-}
-
-// getMainModuleAnd114 gets one of the main modules' information and whether the
-// go command in use is 1.14+. This is the information needed to figure out
-// if vendoring should be enabled.
-func getMainModuleAnd114(ctx context.Context, inv Invocation, r *Runner) (*ModuleJSON, bool, error) {
- const format = `{{.Path}}
-{{.Dir}}
-{{.GoMod}}
-{{.GoVersion}}
-{{range context.ReleaseTags}}{{if eq . "go1.14"}}{{.}}{{end}}{{end}}
-`
- inv.Verb = "list"
- inv.Args = []string{"-m", "-f", format}
- stdout, err := r.Run(ctx, inv)
- if err != nil {
- return nil, false, err
- }
-
- lines := strings.Split(stdout.String(), "\n")
- if len(lines) < 5 {
- return nil, false, fmt.Errorf("unexpected stdout: %q", stdout.String())
- }
- mod := &ModuleJSON{
- Path: lines[0],
- Dir: lines[1],
- GoMod: lines[2],
- GoVersion: lines[3],
- Main: true,
- }
- return mod, lines[4] == "go1.14", nil
-}
-
-// WorkspaceVendorEnabled reports whether workspace vendoring is enabled. It takes a *Runner to execute Go commands
-// with the supplied context.Context and Invocation. The Invocation can contain pre-defined fields,
-// of which only Verb and Args are modified to run the appropriate Go command.
-// Inspired by setDefaultBuildMod in modload/init.go
-func WorkspaceVendorEnabled(ctx context.Context, inv Invocation, r *Runner) (bool, []*ModuleJSON, error) {
- inv.Verb = "env"
- inv.Args = []string{"GOWORK"}
- stdout, err := r.Run(ctx, inv)
- if err != nil {
- return false, nil, err
- }
- goWork := string(bytes.TrimSpace(stdout.Bytes()))
- if fi, err := os.Stat(filepath.Join(filepath.Dir(goWork), "vendor")); err == nil && fi.IsDir() {
- mainMods, err := getWorkspaceMainModules(ctx, inv, r)
- if err != nil {
- return false, nil, err
- }
- return true, mainMods, nil
- }
- return false, nil, nil
-}
-
-// getWorkspaceMainModules gets the main modules' information.
-// This is the information needed to figure out if vendoring should be enabled.
-func getWorkspaceMainModules(ctx context.Context, inv Invocation, r *Runner) ([]*ModuleJSON, error) {
- const format = `{{.Path}}
-{{.Dir}}
-{{.GoMod}}
-{{.GoVersion}}
-`
- inv.Verb = "list"
- inv.Args = []string{"-m", "-f", format}
- stdout, err := r.Run(ctx, inv)
- if err != nil {
- return nil, err
- }
-
- lines := strings.Split(strings.TrimSuffix(stdout.String(), "\n"), "\n")
- if len(lines) < 4 {
- return nil, fmt.Errorf("unexpected stdout: %q", stdout.String())
- }
- mods := make([]*ModuleJSON, 0, len(lines)/4)
- for i := 0; i < len(lines); i += 4 {
- mods = append(mods, &ModuleJSON{
- Path: lines[i],
- Dir: lines[i+1],
- GoMod: lines[i+2],
- GoVersion: lines[i+3],
- Main: true,
- })
- }
- return mods, nil
-}
diff --git a/vendor/golang.org/x/tools/internal/gocommand/version.go b/vendor/golang.org/x/tools/internal/gocommand/version.go
deleted file mode 100644
index 446c5846..00000000
--- a/vendor/golang.org/x/tools/internal/gocommand/version.go
+++ /dev/null
@@ -1,71 +0,0 @@
-// Copyright 2020 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package gocommand
-
-import (
- "context"
- "fmt"
- "regexp"
- "strings"
-)
-
-// GoVersion reports the minor version number of the highest release
-// tag built into the go command on the PATH.
-//
-// Note that this may be higher than the version of the go tool used
-// to build this application, and thus the versions of the standard
-// go/{scanner,parser,ast,types} packages that are linked into it.
-// In that case, callers should either downgrade to the version of
-// go used to build the application, or report an error that the
-// application is too old to use the go command on the PATH.
-func GoVersion(ctx context.Context, inv Invocation, r *Runner) (int, error) {
- inv.Verb = "list"
- inv.Args = []string{"-e", "-f", `{{context.ReleaseTags}}`, `--`, `unsafe`}
- inv.BuildFlags = nil // This is not a build command.
- inv.ModFlag = ""
- inv.ModFile = ""
- inv.Env = append(inv.Env[:len(inv.Env):len(inv.Env)], "GO111MODULE=off")
-
- stdoutBytes, err := r.Run(ctx, inv)
- if err != nil {
- return 0, err
- }
- stdout := stdoutBytes.String()
- if len(stdout) < 3 {
- return 0, fmt.Errorf("bad ReleaseTags output: %q", stdout)
- }
- // Split up "[go1.1 go1.15]" and return highest go1.X value.
- tags := strings.Fields(stdout[1 : len(stdout)-2])
- for i := len(tags) - 1; i >= 0; i-- {
- var version int
- if _, err := fmt.Sscanf(tags[i], "go1.%d", &version); err != nil {
- continue
- }
- return version, nil
- }
- return 0, fmt.Errorf("no parseable ReleaseTags in %v", tags)
-}
-
-// GoVersionOutput returns the complete output of the go version command.
-func GoVersionOutput(ctx context.Context, inv Invocation, r *Runner) (string, error) {
- inv.Verb = "version"
- goVersion, err := r.Run(ctx, inv)
- if err != nil {
- return "", err
- }
- return goVersion.String(), nil
-}
-
-// ParseGoVersionOutput extracts the Go version string
-// from the output of the "go version" command.
-// Given an unrecognized form, it returns an empty string.
-func ParseGoVersionOutput(data string) string {
- re := regexp.MustCompile(`^go version (go\S+|devel \S+)`)
- m := re.FindStringSubmatch(data)
- if len(m) != 2 {
- return "" // unrecognized version
- }
- return m[1]
-}
diff --git a/vendor/golang.org/x/tools/internal/packagesinternal/packages.go b/vendor/golang.org/x/tools/internal/packagesinternal/packages.go
deleted file mode 100644
index 44719de1..00000000
--- a/vendor/golang.org/x/tools/internal/packagesinternal/packages.go
+++ /dev/null
@@ -1,22 +0,0 @@
-// Copyright 2020 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-// Package packagesinternal exposes internal-only fields from go/packages.
-package packagesinternal
-
-var GetForTest = func(p interface{}) string { return "" }
-var GetDepsErrors = func(p interface{}) []*PackageError { return nil }
-
-type PackageError struct {
- ImportStack []string // shortest path from package named on command line to this one
- Pos string // position of error (if present, file:line:col)
- Err string // the error itself
-}
-
-var TypecheckCgo int
-var DepsErrors int // must be set as a LoadMode to call GetDepsErrors
-var ForTest int // must be set as a LoadMode to call GetForTest
-
-var SetModFlag = func(config interface{}, value string) {}
-var SetModFile = func(config interface{}, value string) {}
diff --git a/vendor/golang.org/x/tools/internal/pkgbits/codes.go b/vendor/golang.org/x/tools/internal/pkgbits/codes.go
deleted file mode 100644
index f0cabde9..00000000
--- a/vendor/golang.org/x/tools/internal/pkgbits/codes.go
+++ /dev/null
@@ -1,77 +0,0 @@
-// Copyright 2021 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package pkgbits
-
-// A Code is an enum value that can be encoded into bitstreams.
-//
-// Code types are preferable for enum types, because they allow
-// Decoder to detect desyncs.
-type Code interface {
- // Marker returns the SyncMarker for the Code's dynamic type.
- Marker() SyncMarker
-
- // Value returns the Code's ordinal value.
- Value() int
-}
-
-// A CodeVal distinguishes among go/constant.Value encodings.
-type CodeVal int
-
-func (c CodeVal) Marker() SyncMarker { return SyncVal }
-func (c CodeVal) Value() int { return int(c) }
-
-// Note: These values are public and cannot be changed without
-// updating the go/types importers.
-
-const (
- ValBool CodeVal = iota
- ValString
- ValInt64
- ValBigInt
- ValBigRat
- ValBigFloat
-)
-
-// A CodeType distinguishes among go/types.Type encodings.
-type CodeType int
-
-func (c CodeType) Marker() SyncMarker { return SyncType }
-func (c CodeType) Value() int { return int(c) }
-
-// Note: These values are public and cannot be changed without
-// updating the go/types importers.
-
-const (
- TypeBasic CodeType = iota
- TypeNamed
- TypePointer
- TypeSlice
- TypeArray
- TypeChan
- TypeMap
- TypeSignature
- TypeStruct
- TypeInterface
- TypeUnion
- TypeTypeParam
-)
-
-// A CodeObj distinguishes among go/types.Object encodings.
-type CodeObj int
-
-func (c CodeObj) Marker() SyncMarker { return SyncCodeObj }
-func (c CodeObj) Value() int { return int(c) }
-
-// Note: These values are public and cannot be changed without
-// updating the go/types importers.
-
-const (
- ObjAlias CodeObj = iota
- ObjConst
- ObjType
- ObjFunc
- ObjVar
- ObjStub
-)
diff --git a/vendor/golang.org/x/tools/internal/pkgbits/decoder.go b/vendor/golang.org/x/tools/internal/pkgbits/decoder.go
deleted file mode 100644
index f6cb37c5..00000000
--- a/vendor/golang.org/x/tools/internal/pkgbits/decoder.go
+++ /dev/null
@@ -1,519 +0,0 @@
-// Copyright 2021 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package pkgbits
-
-import (
- "encoding/binary"
- "errors"
- "fmt"
- "go/constant"
- "go/token"
- "io"
- "math/big"
- "os"
- "runtime"
- "strings"
-)
-
-// A PkgDecoder provides methods for decoding a package's Unified IR
-// export data.
-type PkgDecoder struct {
- // version is the file format version.
- version Version
-
- // sync indicates whether the file uses sync markers.
- sync bool
-
- // pkgPath is the package path for the package to be decoded.
- //
- // TODO(mdempsky): Remove; unneeded since CL 391014.
- pkgPath string
-
- // elemData is the full data payload of the encoded package.
- // Elements are densely and contiguously packed together.
- //
- // The last 8 bytes of elemData are the package fingerprint.
- elemData string
-
- // elemEnds stores the byte-offset end positions of element
- // bitstreams within elemData.
- //
- // For example, element I's bitstream data starts at elemEnds[I-1]
- // (or 0, if I==0) and ends at elemEnds[I].
- //
- // Note: elemEnds is indexed by absolute indices, not
- // section-relative indices.
- elemEnds []uint32
-
- // elemEndsEnds stores the index-offset end positions of relocation
- // sections within elemEnds.
- //
- // For example, section K's end positions start at elemEndsEnds[K-1]
- // (or 0, if K==0) and end at elemEndsEnds[K].
- elemEndsEnds [numRelocs]uint32
-
- scratchRelocEnt []RelocEnt
-}
-
-// PkgPath returns the package path for the package
-//
-// TODO(mdempsky): Remove; unneeded since CL 391014.
-func (pr *PkgDecoder) PkgPath() string { return pr.pkgPath }
-
-// SyncMarkers reports whether pr uses sync markers.
-func (pr *PkgDecoder) SyncMarkers() bool { return pr.sync }
-
-// NewPkgDecoder returns a PkgDecoder initialized to read the Unified
-// IR export data from input. pkgPath is the package path for the
-// compilation unit that produced the export data.
-func NewPkgDecoder(pkgPath, input string) PkgDecoder {
- pr := PkgDecoder{
- pkgPath: pkgPath,
- }
-
- // TODO(mdempsky): Implement direct indexing of input string to
- // avoid copying the position information.
-
- r := strings.NewReader(input)
-
- var ver uint32
- assert(binary.Read(r, binary.LittleEndian, &ver) == nil)
- pr.version = Version(ver)
-
- if pr.version >= numVersions {
- panic(fmt.Errorf("cannot decode %q, export data version %d is greater than maximum supported version %d", pkgPath, pr.version, numVersions-1))
- }
-
- if pr.version.Has(Flags) {
- var flags uint32
- assert(binary.Read(r, binary.LittleEndian, &flags) == nil)
- pr.sync = flags&flagSyncMarkers != 0
- }
-
- assert(binary.Read(r, binary.LittleEndian, pr.elemEndsEnds[:]) == nil)
-
- pr.elemEnds = make([]uint32, pr.elemEndsEnds[len(pr.elemEndsEnds)-1])
- assert(binary.Read(r, binary.LittleEndian, pr.elemEnds[:]) == nil)
-
- pos, err := r.Seek(0, io.SeekCurrent)
- assert(err == nil)
-
- pr.elemData = input[pos:]
-
- const fingerprintSize = 8
- assert(len(pr.elemData)-fingerprintSize == int(pr.elemEnds[len(pr.elemEnds)-1]))
-
- return pr
-}
-
-// NumElems returns the number of elements in section k.
-func (pr *PkgDecoder) NumElems(k RelocKind) int {
- count := int(pr.elemEndsEnds[k])
- if k > 0 {
- count -= int(pr.elemEndsEnds[k-1])
- }
- return count
-}
-
-// TotalElems returns the total number of elements across all sections.
-func (pr *PkgDecoder) TotalElems() int {
- return len(pr.elemEnds)
-}
-
-// Fingerprint returns the package fingerprint.
-func (pr *PkgDecoder) Fingerprint() [8]byte {
- var fp [8]byte
- copy(fp[:], pr.elemData[len(pr.elemData)-8:])
- return fp
-}
-
-// AbsIdx returns the absolute index for the given (section, index)
-// pair.
-func (pr *PkgDecoder) AbsIdx(k RelocKind, idx Index) int {
- absIdx := int(idx)
- if k > 0 {
- absIdx += int(pr.elemEndsEnds[k-1])
- }
- if absIdx >= int(pr.elemEndsEnds[k]) {
- panicf("%v:%v is out of bounds; %v", k, idx, pr.elemEndsEnds)
- }
- return absIdx
-}
-
-// DataIdx returns the raw element bitstream for the given (section,
-// index) pair.
-func (pr *PkgDecoder) DataIdx(k RelocKind, idx Index) string {
- absIdx := pr.AbsIdx(k, idx)
-
- var start uint32
- if absIdx > 0 {
- start = pr.elemEnds[absIdx-1]
- }
- end := pr.elemEnds[absIdx]
-
- return pr.elemData[start:end]
-}
-
-// StringIdx returns the string value for the given string index.
-func (pr *PkgDecoder) StringIdx(idx Index) string {
- return pr.DataIdx(RelocString, idx)
-}
-
-// NewDecoder returns a Decoder for the given (section, index) pair,
-// and decodes the given SyncMarker from the element bitstream.
-func (pr *PkgDecoder) NewDecoder(k RelocKind, idx Index, marker SyncMarker) Decoder {
- r := pr.NewDecoderRaw(k, idx)
- r.Sync(marker)
- return r
-}
-
-// TempDecoder returns a Decoder for the given (section, index) pair,
-// and decodes the given SyncMarker from the element bitstream.
-// If possible the Decoder should be RetireDecoder'd when it is no longer
-// needed, this will avoid heap allocations.
-func (pr *PkgDecoder) TempDecoder(k RelocKind, idx Index, marker SyncMarker) Decoder {
- r := pr.TempDecoderRaw(k, idx)
- r.Sync(marker)
- return r
-}
-
-func (pr *PkgDecoder) RetireDecoder(d *Decoder) {
- pr.scratchRelocEnt = d.Relocs
- d.Relocs = nil
-}
-
-// NewDecoderRaw returns a Decoder for the given (section, index) pair.
-//
-// Most callers should use NewDecoder instead.
-func (pr *PkgDecoder) NewDecoderRaw(k RelocKind, idx Index) Decoder {
- r := Decoder{
- common: pr,
- k: k,
- Idx: idx,
- }
-
- r.Data.Reset(pr.DataIdx(k, idx))
- r.Sync(SyncRelocs)
- r.Relocs = make([]RelocEnt, r.Len())
- for i := range r.Relocs {
- r.Sync(SyncReloc)
- r.Relocs[i] = RelocEnt{RelocKind(r.Len()), Index(r.Len())}
- }
-
- return r
-}
-
-func (pr *PkgDecoder) TempDecoderRaw(k RelocKind, idx Index) Decoder {
- r := Decoder{
- common: pr,
- k: k,
- Idx: idx,
- }
-
- r.Data.Reset(pr.DataIdx(k, idx))
- r.Sync(SyncRelocs)
- l := r.Len()
- if cap(pr.scratchRelocEnt) >= l {
- r.Relocs = pr.scratchRelocEnt[:l]
- pr.scratchRelocEnt = nil
- } else {
- r.Relocs = make([]RelocEnt, l)
- }
- for i := range r.Relocs {
- r.Sync(SyncReloc)
- r.Relocs[i] = RelocEnt{RelocKind(r.Len()), Index(r.Len())}
- }
-
- return r
-}
-
-// A Decoder provides methods for decoding an individual element's
-// bitstream data.
-type Decoder struct {
- common *PkgDecoder
-
- Relocs []RelocEnt
- Data strings.Reader
-
- k RelocKind
- Idx Index
-}
-
-func (r *Decoder) checkErr(err error) {
- if err != nil {
- panicf("unexpected decoding error: %w", err)
- }
-}
-
-func (r *Decoder) rawUvarint() uint64 {
- x, err := readUvarint(&r.Data)
- r.checkErr(err)
- return x
-}
-
-// readUvarint is a type-specialized copy of encoding/binary.ReadUvarint.
-// This avoids the interface conversion and thus has better escape properties,
-// which flows up the stack.
-func readUvarint(r *strings.Reader) (uint64, error) {
- var x uint64
- var s uint
- for i := 0; i < binary.MaxVarintLen64; i++ {
- b, err := r.ReadByte()
- if err != nil {
- if i > 0 && err == io.EOF {
- err = io.ErrUnexpectedEOF
- }
- return x, err
- }
- if b < 0x80 {
- if i == binary.MaxVarintLen64-1 && b > 1 {
- return x, overflow
- }
- return x | uint64(b)<> 1)
- if ux&1 != 0 {
- x = ^x
- }
- return x
-}
-
-func (r *Decoder) rawReloc(k RelocKind, idx int) Index {
- e := r.Relocs[idx]
- assert(e.Kind == k)
- return e.Idx
-}
-
-// Sync decodes a sync marker from the element bitstream and asserts
-// that it matches the expected marker.
-//
-// If r.common.sync is false, then Sync is a no-op.
-func (r *Decoder) Sync(mWant SyncMarker) {
- if !r.common.sync {
- return
- }
-
- pos, _ := r.Data.Seek(0, io.SeekCurrent)
- mHave := SyncMarker(r.rawUvarint())
- writerPCs := make([]int, r.rawUvarint())
- for i := range writerPCs {
- writerPCs[i] = int(r.rawUvarint())
- }
-
- if mHave == mWant {
- return
- }
-
- // There's some tension here between printing:
- //
- // (1) full file paths that tools can recognize (e.g., so emacs
- // hyperlinks the "file:line" text for easy navigation), or
- //
- // (2) short file paths that are easier for humans to read (e.g., by
- // omitting redundant or irrelevant details, so it's easier to
- // focus on the useful bits that remain).
- //
- // The current formatting favors the former, as it seems more
- // helpful in practice. But perhaps the formatting could be improved
- // to better address both concerns. For example, use relative file
- // paths if they would be shorter, or rewrite file paths to contain
- // "$GOROOT" (like objabi.AbsFile does) if tools can be taught how
- // to reliably expand that again.
-
- fmt.Printf("export data desync: package %q, section %v, index %v, offset %v\n", r.common.pkgPath, r.k, r.Idx, pos)
-
- fmt.Printf("\nfound %v, written at:\n", mHave)
- if len(writerPCs) == 0 {
- fmt.Printf("\t[stack trace unavailable; recompile package %q with -d=syncframes]\n", r.common.pkgPath)
- }
- for _, pc := range writerPCs {
- fmt.Printf("\t%s\n", r.common.StringIdx(r.rawReloc(RelocString, pc)))
- }
-
- fmt.Printf("\nexpected %v, reading at:\n", mWant)
- var readerPCs [32]uintptr // TODO(mdempsky): Dynamically size?
- n := runtime.Callers(2, readerPCs[:])
- for _, pc := range fmtFrames(readerPCs[:n]...) {
- fmt.Printf("\t%s\n", pc)
- }
-
- // We already printed a stack trace for the reader, so now we can
- // simply exit. Printing a second one with panic or base.Fatalf
- // would just be noise.
- os.Exit(1)
-}
-
-// Bool decodes and returns a bool value from the element bitstream.
-func (r *Decoder) Bool() bool {
- r.Sync(SyncBool)
- x, err := r.Data.ReadByte()
- r.checkErr(err)
- assert(x < 2)
- return x != 0
-}
-
-// Int64 decodes and returns an int64 value from the element bitstream.
-func (r *Decoder) Int64() int64 {
- r.Sync(SyncInt64)
- return r.rawVarint()
-}
-
-// Uint64 decodes and returns a uint64 value from the element bitstream.
-func (r *Decoder) Uint64() uint64 {
- r.Sync(SyncUint64)
- return r.rawUvarint()
-}
-
-// Len decodes and returns a non-negative int value from the element bitstream.
-func (r *Decoder) Len() int { x := r.Uint64(); v := int(x); assert(uint64(v) == x); return v }
-
-// Int decodes and returns an int value from the element bitstream.
-func (r *Decoder) Int() int { x := r.Int64(); v := int(x); assert(int64(v) == x); return v }
-
-// Uint decodes and returns a uint value from the element bitstream.
-func (r *Decoder) Uint() uint { x := r.Uint64(); v := uint(x); assert(uint64(v) == x); return v }
-
-// Code decodes a Code value from the element bitstream and returns
-// its ordinal value. It's the caller's responsibility to convert the
-// result to an appropriate Code type.
-//
-// TODO(mdempsky): Ideally this method would have signature "Code[T
-// Code] T" instead, but we don't allow generic methods and the
-// compiler can't depend on generics yet anyway.
-func (r *Decoder) Code(mark SyncMarker) int {
- r.Sync(mark)
- return r.Len()
-}
-
-// Reloc decodes a relocation of expected section k from the element
-// bitstream and returns an index to the referenced element.
-func (r *Decoder) Reloc(k RelocKind) Index {
- r.Sync(SyncUseReloc)
- return r.rawReloc(k, r.Len())
-}
-
-// String decodes and returns a string value from the element
-// bitstream.
-func (r *Decoder) String() string {
- r.Sync(SyncString)
- return r.common.StringIdx(r.Reloc(RelocString))
-}
-
-// Strings decodes and returns a variable-length slice of strings from
-// the element bitstream.
-func (r *Decoder) Strings() []string {
- res := make([]string, r.Len())
- for i := range res {
- res[i] = r.String()
- }
- return res
-}
-
-// Value decodes and returns a constant.Value from the element
-// bitstream.
-func (r *Decoder) Value() constant.Value {
- r.Sync(SyncValue)
- isComplex := r.Bool()
- val := r.scalar()
- if isComplex {
- val = constant.BinaryOp(val, token.ADD, constant.MakeImag(r.scalar()))
- }
- return val
-}
-
-func (r *Decoder) scalar() constant.Value {
- switch tag := CodeVal(r.Code(SyncVal)); tag {
- default:
- panic(fmt.Errorf("unexpected scalar tag: %v", tag))
-
- case ValBool:
- return constant.MakeBool(r.Bool())
- case ValString:
- return constant.MakeString(r.String())
- case ValInt64:
- return constant.MakeInt64(r.Int64())
- case ValBigInt:
- return constant.Make(r.bigInt())
- case ValBigRat:
- num := r.bigInt()
- denom := r.bigInt()
- return constant.Make(new(big.Rat).SetFrac(num, denom))
- case ValBigFloat:
- return constant.Make(r.bigFloat())
- }
-}
-
-func (r *Decoder) bigInt() *big.Int {
- v := new(big.Int).SetBytes([]byte(r.String()))
- if r.Bool() {
- v.Neg(v)
- }
- return v
-}
-
-func (r *Decoder) bigFloat() *big.Float {
- v := new(big.Float).SetPrec(512)
- assert(v.UnmarshalText([]byte(r.String())) == nil)
- return v
-}
-
-// @@@ Helpers
-
-// TODO(mdempsky): These should probably be removed. I think they're a
-// smell that the export data format is not yet quite right.
-
-// PeekPkgPath returns the package path for the specified package
-// index.
-func (pr *PkgDecoder) PeekPkgPath(idx Index) string {
- var path string
- {
- r := pr.TempDecoder(RelocPkg, idx, SyncPkgDef)
- path = r.String()
- pr.RetireDecoder(&r)
- }
- if path == "" {
- path = pr.pkgPath
- }
- return path
-}
-
-// PeekObj returns the package path, object name, and CodeObj for the
-// specified object index.
-func (pr *PkgDecoder) PeekObj(idx Index) (string, string, CodeObj) {
- var ridx Index
- var name string
- var rcode int
- {
- r := pr.TempDecoder(RelocName, idx, SyncObject1)
- r.Sync(SyncSym)
- r.Sync(SyncPkg)
- ridx = r.Reloc(RelocPkg)
- name = r.String()
- rcode = r.Code(SyncCodeObj)
- pr.RetireDecoder(&r)
- }
-
- path := pr.PeekPkgPath(ridx)
- assert(name != "")
-
- tag := CodeObj(rcode)
-
- return path, name, tag
-}
-
-// Version reports the version of the bitstream.
-func (w *Decoder) Version() Version { return w.common.version }
diff --git a/vendor/golang.org/x/tools/internal/pkgbits/doc.go b/vendor/golang.org/x/tools/internal/pkgbits/doc.go
deleted file mode 100644
index c8a2796b..00000000
--- a/vendor/golang.org/x/tools/internal/pkgbits/doc.go
+++ /dev/null
@@ -1,32 +0,0 @@
-// Copyright 2022 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-// Package pkgbits implements low-level coding abstractions for
-// Unified IR's export data format.
-//
-// At a low-level, a package is a collection of bitstream elements.
-// Each element has a "kind" and a dense, non-negative index.
-// Elements can be randomly accessed given their kind and index.
-//
-// Individual elements are sequences of variable-length values (e.g.,
-// integers, booleans, strings, go/constant values, cross-references
-// to other elements). Package pkgbits provides APIs for encoding and
-// decoding these low-level values, but the details of mapping
-// higher-level Go constructs into elements is left to higher-level
-// abstractions.
-//
-// Elements may cross-reference each other with "relocations." For
-// example, an element representing a pointer type has a relocation
-// referring to the element type.
-//
-// Go constructs may be composed as a constellation of multiple
-// elements. For example, a declared function may have one element to
-// describe the object (e.g., its name, type, position), and a
-// separate element to describe its function body. This allows readers
-// some flexibility in efficiently seeking or re-reading data (e.g.,
-// inlining requires re-reading the function body for each inlined
-// call, without needing to re-read the object-level details).
-//
-// This is a copy of internal/pkgbits in the Go implementation.
-package pkgbits
diff --git a/vendor/golang.org/x/tools/internal/pkgbits/encoder.go b/vendor/golang.org/x/tools/internal/pkgbits/encoder.go
deleted file mode 100644
index c17a1239..00000000
--- a/vendor/golang.org/x/tools/internal/pkgbits/encoder.go
+++ /dev/null
@@ -1,392 +0,0 @@
-// Copyright 2021 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package pkgbits
-
-import (
- "bytes"
- "crypto/md5"
- "encoding/binary"
- "go/constant"
- "io"
- "math/big"
- "runtime"
- "strings"
-)
-
-// A PkgEncoder provides methods for encoding a package's Unified IR
-// export data.
-type PkgEncoder struct {
- // version of the bitstream.
- version Version
-
- // elems holds the bitstream for previously encoded elements.
- elems [numRelocs][]string
-
- // stringsIdx maps previously encoded strings to their index within
- // the RelocString section, to allow deduplication. That is,
- // elems[RelocString][stringsIdx[s]] == s (if present).
- stringsIdx map[string]Index
-
- // syncFrames is the number of frames to write at each sync
- // marker. A negative value means sync markers are omitted.
- syncFrames int
-}
-
-// SyncMarkers reports whether pw uses sync markers.
-func (pw *PkgEncoder) SyncMarkers() bool { return pw.syncFrames >= 0 }
-
-// NewPkgEncoder returns an initialized PkgEncoder.
-//
-// syncFrames is the number of caller frames that should be serialized
-// at Sync points. Serializing additional frames results in larger
-// export data files, but can help diagnosing desync errors in
-// higher-level Unified IR reader/writer code. If syncFrames is
-// negative, then sync markers are omitted entirely.
-func NewPkgEncoder(version Version, syncFrames int) PkgEncoder {
- return PkgEncoder{
- version: version,
- stringsIdx: make(map[string]Index),
- syncFrames: syncFrames,
- }
-}
-
-// DumpTo writes the package's encoded data to out0 and returns the
-// package fingerprint.
-func (pw *PkgEncoder) DumpTo(out0 io.Writer) (fingerprint [8]byte) {
- h := md5.New()
- out := io.MultiWriter(out0, h)
-
- writeUint32 := func(x uint32) {
- assert(binary.Write(out, binary.LittleEndian, x) == nil)
- }
-
- writeUint32(uint32(pw.version))
-
- if pw.version.Has(Flags) {
- var flags uint32
- if pw.SyncMarkers() {
- flags |= flagSyncMarkers
- }
- writeUint32(flags)
- }
-
- // Write elemEndsEnds.
- var sum uint32
- for _, elems := range &pw.elems {
- sum += uint32(len(elems))
- writeUint32(sum)
- }
-
- // Write elemEnds.
- sum = 0
- for _, elems := range &pw.elems {
- for _, elem := range elems {
- sum += uint32(len(elem))
- writeUint32(sum)
- }
- }
-
- // Write elemData.
- for _, elems := range &pw.elems {
- for _, elem := range elems {
- _, err := io.WriteString(out, elem)
- assert(err == nil)
- }
- }
-
- // Write fingerprint.
- copy(fingerprint[:], h.Sum(nil))
- _, err := out0.Write(fingerprint[:])
- assert(err == nil)
-
- return
-}
-
-// StringIdx adds a string value to the strings section, if not
-// already present, and returns its index.
-func (pw *PkgEncoder) StringIdx(s string) Index {
- if idx, ok := pw.stringsIdx[s]; ok {
- assert(pw.elems[RelocString][idx] == s)
- return idx
- }
-
- idx := Index(len(pw.elems[RelocString]))
- pw.elems[RelocString] = append(pw.elems[RelocString], s)
- pw.stringsIdx[s] = idx
- return idx
-}
-
-// NewEncoder returns an Encoder for a new element within the given
-// section, and encodes the given SyncMarker as the start of the
-// element bitstream.
-func (pw *PkgEncoder) NewEncoder(k RelocKind, marker SyncMarker) Encoder {
- e := pw.NewEncoderRaw(k)
- e.Sync(marker)
- return e
-}
-
-// NewEncoderRaw returns an Encoder for a new element within the given
-// section.
-//
-// Most callers should use NewEncoder instead.
-func (pw *PkgEncoder) NewEncoderRaw(k RelocKind) Encoder {
- idx := Index(len(pw.elems[k]))
- pw.elems[k] = append(pw.elems[k], "") // placeholder
-
- return Encoder{
- p: pw,
- k: k,
- Idx: idx,
- }
-}
-
-// An Encoder provides methods for encoding an individual element's
-// bitstream data.
-type Encoder struct {
- p *PkgEncoder
-
- Relocs []RelocEnt
- RelocMap map[RelocEnt]uint32
- Data bytes.Buffer // accumulated element bitstream data
-
- encodingRelocHeader bool
-
- k RelocKind
- Idx Index // index within relocation section
-}
-
-// Flush finalizes the element's bitstream and returns its Index.
-func (w *Encoder) Flush() Index {
- var sb strings.Builder
-
- // Backup the data so we write the relocations at the front.
- var tmp bytes.Buffer
- io.Copy(&tmp, &w.Data)
-
- // TODO(mdempsky): Consider writing these out separately so they're
- // easier to strip, along with function bodies, so that we can prune
- // down to just the data that's relevant to go/types.
- if w.encodingRelocHeader {
- panic("encodingRelocHeader already true; recursive flush?")
- }
- w.encodingRelocHeader = true
- w.Sync(SyncRelocs)
- w.Len(len(w.Relocs))
- for _, rEnt := range w.Relocs {
- w.Sync(SyncReloc)
- w.Len(int(rEnt.Kind))
- w.Len(int(rEnt.Idx))
- }
-
- io.Copy(&sb, &w.Data)
- io.Copy(&sb, &tmp)
- w.p.elems[w.k][w.Idx] = sb.String()
-
- return w.Idx
-}
-
-func (w *Encoder) checkErr(err error) {
- if err != nil {
- panicf("unexpected encoding error: %v", err)
- }
-}
-
-func (w *Encoder) rawUvarint(x uint64) {
- var buf [binary.MaxVarintLen64]byte
- n := binary.PutUvarint(buf[:], x)
- _, err := w.Data.Write(buf[:n])
- w.checkErr(err)
-}
-
-func (w *Encoder) rawVarint(x int64) {
- // Zig-zag encode.
- ux := uint64(x) << 1
- if x < 0 {
- ux = ^ux
- }
-
- w.rawUvarint(ux)
-}
-
-func (w *Encoder) rawReloc(r RelocKind, idx Index) int {
- e := RelocEnt{r, idx}
- if w.RelocMap != nil {
- if i, ok := w.RelocMap[e]; ok {
- return int(i)
- }
- } else {
- w.RelocMap = make(map[RelocEnt]uint32)
- }
-
- i := len(w.Relocs)
- w.RelocMap[e] = uint32(i)
- w.Relocs = append(w.Relocs, e)
- return i
-}
-
-func (w *Encoder) Sync(m SyncMarker) {
- if !w.p.SyncMarkers() {
- return
- }
-
- // Writing out stack frame string references requires working
- // relocations, but writing out the relocations themselves involves
- // sync markers. To prevent infinite recursion, we simply trim the
- // stack frame for sync markers within the relocation header.
- var frames []string
- if !w.encodingRelocHeader && w.p.syncFrames > 0 {
- pcs := make([]uintptr, w.p.syncFrames)
- n := runtime.Callers(2, pcs)
- frames = fmtFrames(pcs[:n]...)
- }
-
- // TODO(mdempsky): Save space by writing out stack frames as a
- // linked list so we can share common stack frames.
- w.rawUvarint(uint64(m))
- w.rawUvarint(uint64(len(frames)))
- for _, frame := range frames {
- w.rawUvarint(uint64(w.rawReloc(RelocString, w.p.StringIdx(frame))))
- }
-}
-
-// Bool encodes and writes a bool value into the element bitstream,
-// and then returns the bool value.
-//
-// For simple, 2-alternative encodings, the idiomatic way to call Bool
-// is something like:
-//
-// if w.Bool(x != 0) {
-// // alternative #1
-// } else {
-// // alternative #2
-// }
-//
-// For multi-alternative encodings, use Code instead.
-func (w *Encoder) Bool(b bool) bool {
- w.Sync(SyncBool)
- var x byte
- if b {
- x = 1
- }
- err := w.Data.WriteByte(x)
- w.checkErr(err)
- return b
-}
-
-// Int64 encodes and writes an int64 value into the element bitstream.
-func (w *Encoder) Int64(x int64) {
- w.Sync(SyncInt64)
- w.rawVarint(x)
-}
-
-// Uint64 encodes and writes a uint64 value into the element bitstream.
-func (w *Encoder) Uint64(x uint64) {
- w.Sync(SyncUint64)
- w.rawUvarint(x)
-}
-
-// Len encodes and writes a non-negative int value into the element bitstream.
-func (w *Encoder) Len(x int) { assert(x >= 0); w.Uint64(uint64(x)) }
-
-// Int encodes and writes an int value into the element bitstream.
-func (w *Encoder) Int(x int) { w.Int64(int64(x)) }
-
-// Uint encodes and writes a uint value into the element bitstream.
-func (w *Encoder) Uint(x uint) { w.Uint64(uint64(x)) }
-
-// Reloc encodes and writes a relocation for the given (section,
-// index) pair into the element bitstream.
-//
-// Note: Only the index is formally written into the element
-// bitstream, so bitstream decoders must know from context which
-// section an encoded relocation refers to.
-func (w *Encoder) Reloc(r RelocKind, idx Index) {
- w.Sync(SyncUseReloc)
- w.Len(w.rawReloc(r, idx))
-}
-
-// Code encodes and writes a Code value into the element bitstream.
-func (w *Encoder) Code(c Code) {
- w.Sync(c.Marker())
- w.Len(c.Value())
-}
-
-// String encodes and writes a string value into the element
-// bitstream.
-//
-// Internally, strings are deduplicated by adding them to the strings
-// section (if not already present), and then writing a relocation
-// into the element bitstream.
-func (w *Encoder) String(s string) {
- w.StringRef(w.p.StringIdx(s))
-}
-
-// StringRef writes a reference to the given index, which must be a
-// previously encoded string value.
-func (w *Encoder) StringRef(idx Index) {
- w.Sync(SyncString)
- w.Reloc(RelocString, idx)
-}
-
-// Strings encodes and writes a variable-length slice of strings into
-// the element bitstream.
-func (w *Encoder) Strings(ss []string) {
- w.Len(len(ss))
- for _, s := range ss {
- w.String(s)
- }
-}
-
-// Value encodes and writes a constant.Value into the element
-// bitstream.
-func (w *Encoder) Value(val constant.Value) {
- w.Sync(SyncValue)
- if w.Bool(val.Kind() == constant.Complex) {
- w.scalar(constant.Real(val))
- w.scalar(constant.Imag(val))
- } else {
- w.scalar(val)
- }
-}
-
-func (w *Encoder) scalar(val constant.Value) {
- switch v := constant.Val(val).(type) {
- default:
- panicf("unhandled %v (%v)", val, val.Kind())
- case bool:
- w.Code(ValBool)
- w.Bool(v)
- case string:
- w.Code(ValString)
- w.String(v)
- case int64:
- w.Code(ValInt64)
- w.Int64(v)
- case *big.Int:
- w.Code(ValBigInt)
- w.bigInt(v)
- case *big.Rat:
- w.Code(ValBigRat)
- w.bigInt(v.Num())
- w.bigInt(v.Denom())
- case *big.Float:
- w.Code(ValBigFloat)
- w.bigFloat(v)
- }
-}
-
-func (w *Encoder) bigInt(v *big.Int) {
- b := v.Bytes()
- w.String(string(b)) // TODO: More efficient encoding.
- w.Bool(v.Sign() < 0)
-}
-
-func (w *Encoder) bigFloat(v *big.Float) {
- b := v.Append(nil, 'p', -1)
- w.String(string(b)) // TODO: More efficient encoding.
-}
-
-// Version reports the version of the bitstream.
-func (w *Encoder) Version() Version { return w.p.version }
diff --git a/vendor/golang.org/x/tools/internal/pkgbits/flags.go b/vendor/golang.org/x/tools/internal/pkgbits/flags.go
deleted file mode 100644
index 65422274..00000000
--- a/vendor/golang.org/x/tools/internal/pkgbits/flags.go
+++ /dev/null
@@ -1,9 +0,0 @@
-// Copyright 2022 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package pkgbits
-
-const (
- flagSyncMarkers = 1 << iota // file format contains sync markers
-)
diff --git a/vendor/golang.org/x/tools/internal/pkgbits/reloc.go b/vendor/golang.org/x/tools/internal/pkgbits/reloc.go
deleted file mode 100644
index fcdfb97c..00000000
--- a/vendor/golang.org/x/tools/internal/pkgbits/reloc.go
+++ /dev/null
@@ -1,42 +0,0 @@
-// Copyright 2021 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package pkgbits
-
-// A RelocKind indicates a particular section within a unified IR export.
-type RelocKind int32
-
-// An Index represents a bitstream element index within a particular
-// section.
-type Index int32
-
-// A relocEnt (relocation entry) is an entry in an element's local
-// reference table.
-//
-// TODO(mdempsky): Rename this too.
-type RelocEnt struct {
- Kind RelocKind
- Idx Index
-}
-
-// Reserved indices within the meta relocation section.
-const (
- PublicRootIdx Index = 0
- PrivateRootIdx Index = 1
-)
-
-const (
- RelocString RelocKind = iota
- RelocMeta
- RelocPosBase
- RelocPkg
- RelocName
- RelocType
- RelocObj
- RelocObjExt
- RelocObjDict
- RelocBody
-
- numRelocs = iota
-)
diff --git a/vendor/golang.org/x/tools/internal/pkgbits/support.go b/vendor/golang.org/x/tools/internal/pkgbits/support.go
deleted file mode 100644
index 50534a29..00000000
--- a/vendor/golang.org/x/tools/internal/pkgbits/support.go
+++ /dev/null
@@ -1,17 +0,0 @@
-// Copyright 2022 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package pkgbits
-
-import "fmt"
-
-func assert(b bool) {
- if !b {
- panic("assertion failed")
- }
-}
-
-func panicf(format string, args ...any) {
- panic(fmt.Errorf(format, args...))
-}
diff --git a/vendor/golang.org/x/tools/internal/pkgbits/sync.go b/vendor/golang.org/x/tools/internal/pkgbits/sync.go
deleted file mode 100644
index 1520b73a..00000000
--- a/vendor/golang.org/x/tools/internal/pkgbits/sync.go
+++ /dev/null
@@ -1,136 +0,0 @@
-// Copyright 2021 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package pkgbits
-
-import (
- "fmt"
- "runtime"
- "strings"
-)
-
-// fmtFrames formats a backtrace for reporting reader/writer desyncs.
-func fmtFrames(pcs ...uintptr) []string {
- res := make([]string, 0, len(pcs))
- walkFrames(pcs, func(file string, line int, name string, offset uintptr) {
- // Trim package from function name. It's just redundant noise.
- name = strings.TrimPrefix(name, "cmd/compile/internal/noder.")
-
- res = append(res, fmt.Sprintf("%s:%v: %s +0x%v", file, line, name, offset))
- })
- return res
-}
-
-type frameVisitor func(file string, line int, name string, offset uintptr)
-
-// walkFrames calls visit for each call frame represented by pcs.
-//
-// pcs should be a slice of PCs, as returned by runtime.Callers.
-func walkFrames(pcs []uintptr, visit frameVisitor) {
- if len(pcs) == 0 {
- return
- }
-
- frames := runtime.CallersFrames(pcs)
- for {
- frame, more := frames.Next()
- visit(frame.File, frame.Line, frame.Function, frame.PC-frame.Entry)
- if !more {
- return
- }
- }
-}
-
-// SyncMarker is an enum type that represents markers that may be
-// written to export data to ensure the reader and writer stay
-// synchronized.
-type SyncMarker int
-
-//go:generate stringer -type=SyncMarker -trimprefix=Sync
-
-const (
- _ SyncMarker = iota
-
- // Public markers (known to go/types importers).
-
- // Low-level coding markers.
- SyncEOF
- SyncBool
- SyncInt64
- SyncUint64
- SyncString
- SyncValue
- SyncVal
- SyncRelocs
- SyncReloc
- SyncUseReloc
-
- // Higher-level object and type markers.
- SyncPublic
- SyncPos
- SyncPosBase
- SyncObject
- SyncObject1
- SyncPkg
- SyncPkgDef
- SyncMethod
- SyncType
- SyncTypeIdx
- SyncTypeParamNames
- SyncSignature
- SyncParams
- SyncParam
- SyncCodeObj
- SyncSym
- SyncLocalIdent
- SyncSelector
-
- // Private markers (only known to cmd/compile).
- SyncPrivate
-
- SyncFuncExt
- SyncVarExt
- SyncTypeExt
- SyncPragma
-
- SyncExprList
- SyncExprs
- SyncExpr
- SyncExprType
- SyncAssign
- SyncOp
- SyncFuncLit
- SyncCompLit
-
- SyncDecl
- SyncFuncBody
- SyncOpenScope
- SyncCloseScope
- SyncCloseAnotherScope
- SyncDeclNames
- SyncDeclName
-
- SyncStmts
- SyncBlockStmt
- SyncIfStmt
- SyncForStmt
- SyncSwitchStmt
- SyncRangeStmt
- SyncCaseClause
- SyncCommClause
- SyncSelectStmt
- SyncDecls
- SyncLabeledStmt
- SyncUseObjLocal
- SyncAddLocal
- SyncLinkname
- SyncStmt1
- SyncStmtsEnd
- SyncLabel
- SyncOptLabel
-
- SyncMultiExpr
- SyncRType
- SyncConvRTTI
-)
diff --git a/vendor/golang.org/x/tools/internal/pkgbits/syncmarker_string.go b/vendor/golang.org/x/tools/internal/pkgbits/syncmarker_string.go
deleted file mode 100644
index 582ad56d..00000000
--- a/vendor/golang.org/x/tools/internal/pkgbits/syncmarker_string.go
+++ /dev/null
@@ -1,92 +0,0 @@
-// Code generated by "stringer -type=SyncMarker -trimprefix=Sync"; DO NOT EDIT.
-
-package pkgbits
-
-import "strconv"
-
-func _() {
- // An "invalid array index" compiler error signifies that the constant values have changed.
- // Re-run the stringer command to generate them again.
- var x [1]struct{}
- _ = x[SyncEOF-1]
- _ = x[SyncBool-2]
- _ = x[SyncInt64-3]
- _ = x[SyncUint64-4]
- _ = x[SyncString-5]
- _ = x[SyncValue-6]
- _ = x[SyncVal-7]
- _ = x[SyncRelocs-8]
- _ = x[SyncReloc-9]
- _ = x[SyncUseReloc-10]
- _ = x[SyncPublic-11]
- _ = x[SyncPos-12]
- _ = x[SyncPosBase-13]
- _ = x[SyncObject-14]
- _ = x[SyncObject1-15]
- _ = x[SyncPkg-16]
- _ = x[SyncPkgDef-17]
- _ = x[SyncMethod-18]
- _ = x[SyncType-19]
- _ = x[SyncTypeIdx-20]
- _ = x[SyncTypeParamNames-21]
- _ = x[SyncSignature-22]
- _ = x[SyncParams-23]
- _ = x[SyncParam-24]
- _ = x[SyncCodeObj-25]
- _ = x[SyncSym-26]
- _ = x[SyncLocalIdent-27]
- _ = x[SyncSelector-28]
- _ = x[SyncPrivate-29]
- _ = x[SyncFuncExt-30]
- _ = x[SyncVarExt-31]
- _ = x[SyncTypeExt-32]
- _ = x[SyncPragma-33]
- _ = x[SyncExprList-34]
- _ = x[SyncExprs-35]
- _ = x[SyncExpr-36]
- _ = x[SyncExprType-37]
- _ = x[SyncAssign-38]
- _ = x[SyncOp-39]
- _ = x[SyncFuncLit-40]
- _ = x[SyncCompLit-41]
- _ = x[SyncDecl-42]
- _ = x[SyncFuncBody-43]
- _ = x[SyncOpenScope-44]
- _ = x[SyncCloseScope-45]
- _ = x[SyncCloseAnotherScope-46]
- _ = x[SyncDeclNames-47]
- _ = x[SyncDeclName-48]
- _ = x[SyncStmts-49]
- _ = x[SyncBlockStmt-50]
- _ = x[SyncIfStmt-51]
- _ = x[SyncForStmt-52]
- _ = x[SyncSwitchStmt-53]
- _ = x[SyncRangeStmt-54]
- _ = x[SyncCaseClause-55]
- _ = x[SyncCommClause-56]
- _ = x[SyncSelectStmt-57]
- _ = x[SyncDecls-58]
- _ = x[SyncLabeledStmt-59]
- _ = x[SyncUseObjLocal-60]
- _ = x[SyncAddLocal-61]
- _ = x[SyncLinkname-62]
- _ = x[SyncStmt1-63]
- _ = x[SyncStmtsEnd-64]
- _ = x[SyncLabel-65]
- _ = x[SyncOptLabel-66]
- _ = x[SyncMultiExpr-67]
- _ = x[SyncRType-68]
- _ = x[SyncConvRTTI-69]
-}
-
-const _SyncMarker_name = "EOFBoolInt64Uint64StringValueValRelocsRelocUseRelocPublicPosPosBaseObjectObject1PkgPkgDefMethodTypeTypeIdxTypeParamNamesSignatureParamsParamCodeObjSymLocalIdentSelectorPrivateFuncExtVarExtTypeExtPragmaExprListExprsExprExprTypeAssignOpFuncLitCompLitDeclFuncBodyOpenScopeCloseScopeCloseAnotherScopeDeclNamesDeclNameStmtsBlockStmtIfStmtForStmtSwitchStmtRangeStmtCaseClauseCommClauseSelectStmtDeclsLabeledStmtUseObjLocalAddLocalLinknameStmt1StmtsEndLabelOptLabelMultiExprRTypeConvRTTI"
-
-var _SyncMarker_index = [...]uint16{0, 3, 7, 12, 18, 24, 29, 32, 38, 43, 51, 57, 60, 67, 73, 80, 83, 89, 95, 99, 106, 120, 129, 135, 140, 147, 150, 160, 168, 175, 182, 188, 195, 201, 209, 214, 218, 226, 232, 234, 241, 248, 252, 260, 269, 279, 296, 305, 313, 318, 327, 333, 340, 350, 359, 369, 379, 389, 394, 405, 416, 424, 432, 437, 445, 450, 458, 467, 472, 480}
-
-func (i SyncMarker) String() string {
- i -= 1
- if i < 0 || i >= SyncMarker(len(_SyncMarker_index)-1) {
- return "SyncMarker(" + strconv.FormatInt(int64(i+1), 10) + ")"
- }
- return _SyncMarker_name[_SyncMarker_index[i]:_SyncMarker_index[i+1]]
-}
diff --git a/vendor/golang.org/x/tools/internal/pkgbits/version.go b/vendor/golang.org/x/tools/internal/pkgbits/version.go
deleted file mode 100644
index 53af9df2..00000000
--- a/vendor/golang.org/x/tools/internal/pkgbits/version.go
+++ /dev/null
@@ -1,85 +0,0 @@
-// Copyright 2024 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package pkgbits
-
-// Version indicates a version of a unified IR bitstream.
-// Each Version indicates the addition, removal, or change of
-// new data in the bitstream.
-//
-// These are serialized to disk and the interpretation remains fixed.
-type Version uint32
-
-const (
- // V0: initial prototype.
- //
- // All data that is not assigned a Field is in version V0
- // and has not been deprecated.
- V0 Version = iota
-
- // V1: adds the Flags uint32 word
- V1
-
- // V2: removes unused legacy fields and supports type parameters for aliases.
- // - remove the legacy "has init" bool from the public root
- // - remove obj's "derived func instance" bool
- // - add a TypeParamNames field to ObjAlias
- // - remove derived info "needed" bool
- V2
-
- numVersions = iota
-)
-
-// Field denotes a unit of data in the serialized unified IR bitstream.
-// It is conceptually a like field in a structure.
-//
-// We only really need Fields when the data may or may not be present
-// in a stream based on the Version of the bitstream.
-//
-// Unlike much of pkgbits, Fields are not serialized and
-// can change values as needed.
-type Field int
-
-const (
- // Flags in a uint32 in the header of a bitstream
- // that is used to indicate whether optional features are enabled.
- Flags Field = iota
-
- // Deprecated: HasInit was a bool indicating whether a package
- // has any init functions.
- HasInit
-
- // Deprecated: DerivedFuncInstance was a bool indicating
- // whether an object was a function instance.
- DerivedFuncInstance
-
- // ObjAlias has a list of TypeParamNames.
- AliasTypeParamNames
-
- // Deprecated: DerivedInfoNeeded was a bool indicating
- // whether a type was a derived type.
- DerivedInfoNeeded
-
- numFields = iota
-)
-
-// introduced is the version a field was added.
-var introduced = [numFields]Version{
- Flags: V1,
- AliasTypeParamNames: V2,
-}
-
-// removed is the version a field was removed in or 0 for fields
-// that have not yet been deprecated.
-// (So removed[f]-1 is the last version it is included in.)
-var removed = [numFields]Version{
- HasInit: V2,
- DerivedFuncInstance: V2,
- DerivedInfoNeeded: V2,
-}
-
-// Has reports whether field f is present in a bitstream at version v.
-func (v Version) Has(f Field) bool {
- return introduced[f] <= v && (v < removed[f] || removed[f] == V0)
-}
diff --git a/vendor/golang.org/x/tools/internal/stdlib/manifest.go b/vendor/golang.org/x/tools/internal/stdlib/manifest.go
deleted file mode 100644
index cdaac9ab..00000000
--- a/vendor/golang.org/x/tools/internal/stdlib/manifest.go
+++ /dev/null
@@ -1,17431 +0,0 @@
-// Copyright 2024 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-// Code generated by generate.go. DO NOT EDIT.
-
-package stdlib
-
-var PackageSymbols = map[string][]Symbol{
- "archive/tar": {
- {"(*Header).FileInfo", Method, 1},
- {"(*Reader).Next", Method, 0},
- {"(*Reader).Read", Method, 0},
- {"(*Writer).AddFS", Method, 22},
- {"(*Writer).Close", Method, 0},
- {"(*Writer).Flush", Method, 0},
- {"(*Writer).Write", Method, 0},
- {"(*Writer).WriteHeader", Method, 0},
- {"(Format).String", Method, 10},
- {"ErrFieldTooLong", Var, 0},
- {"ErrHeader", Var, 0},
- {"ErrInsecurePath", Var, 20},
- {"ErrWriteAfterClose", Var, 0},
- {"ErrWriteTooLong", Var, 0},
- {"FileInfoHeader", Func, 1},
- {"FileInfoNames", Type, 23},
- {"Format", Type, 10},
- {"FormatGNU", Const, 10},
- {"FormatPAX", Const, 10},
- {"FormatUSTAR", Const, 10},
- {"FormatUnknown", Const, 10},
- {"Header", Type, 0},
- {"Header.AccessTime", Field, 0},
- {"Header.ChangeTime", Field, 0},
- {"Header.Devmajor", Field, 0},
- {"Header.Devminor", Field, 0},
- {"Header.Format", Field, 10},
- {"Header.Gid", Field, 0},
- {"Header.Gname", Field, 0},
- {"Header.Linkname", Field, 0},
- {"Header.ModTime", Field, 0},
- {"Header.Mode", Field, 0},
- {"Header.Name", Field, 0},
- {"Header.PAXRecords", Field, 10},
- {"Header.Size", Field, 0},
- {"Header.Typeflag", Field, 0},
- {"Header.Uid", Field, 0},
- {"Header.Uname", Field, 0},
- {"Header.Xattrs", Field, 3},
- {"NewReader", Func, 0},
- {"NewWriter", Func, 0},
- {"Reader", Type, 0},
- {"TypeBlock", Const, 0},
- {"TypeChar", Const, 0},
- {"TypeCont", Const, 0},
- {"TypeDir", Const, 0},
- {"TypeFifo", Const, 0},
- {"TypeGNULongLink", Const, 1},
- {"TypeGNULongName", Const, 1},
- {"TypeGNUSparse", Const, 3},
- {"TypeLink", Const, 0},
- {"TypeReg", Const, 0},
- {"TypeRegA", Const, 0},
- {"TypeSymlink", Const, 0},
- {"TypeXGlobalHeader", Const, 0},
- {"TypeXHeader", Const, 0},
- {"Writer", Type, 0},
- },
- "archive/zip": {
- {"(*File).DataOffset", Method, 2},
- {"(*File).FileInfo", Method, 0},
- {"(*File).ModTime", Method, 0},
- {"(*File).Mode", Method, 0},
- {"(*File).Open", Method, 0},
- {"(*File).OpenRaw", Method, 17},
- {"(*File).SetModTime", Method, 0},
- {"(*File).SetMode", Method, 0},
- {"(*FileHeader).FileInfo", Method, 0},
- {"(*FileHeader).ModTime", Method, 0},
- {"(*FileHeader).Mode", Method, 0},
- {"(*FileHeader).SetModTime", Method, 0},
- {"(*FileHeader).SetMode", Method, 0},
- {"(*ReadCloser).Close", Method, 0},
- {"(*ReadCloser).Open", Method, 16},
- {"(*ReadCloser).RegisterDecompressor", Method, 6},
- {"(*Reader).Open", Method, 16},
- {"(*Reader).RegisterDecompressor", Method, 6},
- {"(*Writer).AddFS", Method, 22},
- {"(*Writer).Close", Method, 0},
- {"(*Writer).Copy", Method, 17},
- {"(*Writer).Create", Method, 0},
- {"(*Writer).CreateHeader", Method, 0},
- {"(*Writer).CreateRaw", Method, 17},
- {"(*Writer).Flush", Method, 4},
- {"(*Writer).RegisterCompressor", Method, 6},
- {"(*Writer).SetComment", Method, 10},
- {"(*Writer).SetOffset", Method, 5},
- {"Compressor", Type, 2},
- {"Decompressor", Type, 2},
- {"Deflate", Const, 0},
- {"ErrAlgorithm", Var, 0},
- {"ErrChecksum", Var, 0},
- {"ErrFormat", Var, 0},
- {"ErrInsecurePath", Var, 20},
- {"File", Type, 0},
- {"File.FileHeader", Field, 0},
- {"FileHeader", Type, 0},
- {"FileHeader.CRC32", Field, 0},
- {"FileHeader.Comment", Field, 0},
- {"FileHeader.CompressedSize", Field, 0},
- {"FileHeader.CompressedSize64", Field, 1},
- {"FileHeader.CreatorVersion", Field, 0},
- {"FileHeader.ExternalAttrs", Field, 0},
- {"FileHeader.Extra", Field, 0},
- {"FileHeader.Flags", Field, 0},
- {"FileHeader.Method", Field, 0},
- {"FileHeader.Modified", Field, 10},
- {"FileHeader.ModifiedDate", Field, 0},
- {"FileHeader.ModifiedTime", Field, 0},
- {"FileHeader.Name", Field, 0},
- {"FileHeader.NonUTF8", Field, 10},
- {"FileHeader.ReaderVersion", Field, 0},
- {"FileHeader.UncompressedSize", Field, 0},
- {"FileHeader.UncompressedSize64", Field, 1},
- {"FileInfoHeader", Func, 0},
- {"NewReader", Func, 0},
- {"NewWriter", Func, 0},
- {"OpenReader", Func, 0},
- {"ReadCloser", Type, 0},
- {"ReadCloser.Reader", Field, 0},
- {"Reader", Type, 0},
- {"Reader.Comment", Field, 0},
- {"Reader.File", Field, 0},
- {"RegisterCompressor", Func, 2},
- {"RegisterDecompressor", Func, 2},
- {"Store", Const, 0},
- {"Writer", Type, 0},
- },
- "bufio": {
- {"(*Reader).Buffered", Method, 0},
- {"(*Reader).Discard", Method, 5},
- {"(*Reader).Peek", Method, 0},
- {"(*Reader).Read", Method, 0},
- {"(*Reader).ReadByte", Method, 0},
- {"(*Reader).ReadBytes", Method, 0},
- {"(*Reader).ReadLine", Method, 0},
- {"(*Reader).ReadRune", Method, 0},
- {"(*Reader).ReadSlice", Method, 0},
- {"(*Reader).ReadString", Method, 0},
- {"(*Reader).Reset", Method, 2},
- {"(*Reader).Size", Method, 10},
- {"(*Reader).UnreadByte", Method, 0},
- {"(*Reader).UnreadRune", Method, 0},
- {"(*Reader).WriteTo", Method, 1},
- {"(*Scanner).Buffer", Method, 6},
- {"(*Scanner).Bytes", Method, 1},
- {"(*Scanner).Err", Method, 1},
- {"(*Scanner).Scan", Method, 1},
- {"(*Scanner).Split", Method, 1},
- {"(*Scanner).Text", Method, 1},
- {"(*Writer).Available", Method, 0},
- {"(*Writer).AvailableBuffer", Method, 18},
- {"(*Writer).Buffered", Method, 0},
- {"(*Writer).Flush", Method, 0},
- {"(*Writer).ReadFrom", Method, 1},
- {"(*Writer).Reset", Method, 2},
- {"(*Writer).Size", Method, 10},
- {"(*Writer).Write", Method, 0},
- {"(*Writer).WriteByte", Method, 0},
- {"(*Writer).WriteRune", Method, 0},
- {"(*Writer).WriteString", Method, 0},
- {"(ReadWriter).Available", Method, 0},
- {"(ReadWriter).AvailableBuffer", Method, 18},
- {"(ReadWriter).Discard", Method, 5},
- {"(ReadWriter).Flush", Method, 0},
- {"(ReadWriter).Peek", Method, 0},
- {"(ReadWriter).Read", Method, 0},
- {"(ReadWriter).ReadByte", Method, 0},
- {"(ReadWriter).ReadBytes", Method, 0},
- {"(ReadWriter).ReadFrom", Method, 1},
- {"(ReadWriter).ReadLine", Method, 0},
- {"(ReadWriter).ReadRune", Method, 0},
- {"(ReadWriter).ReadSlice", Method, 0},
- {"(ReadWriter).ReadString", Method, 0},
- {"(ReadWriter).UnreadByte", Method, 0},
- {"(ReadWriter).UnreadRune", Method, 0},
- {"(ReadWriter).Write", Method, 0},
- {"(ReadWriter).WriteByte", Method, 0},
- {"(ReadWriter).WriteRune", Method, 0},
- {"(ReadWriter).WriteString", Method, 0},
- {"(ReadWriter).WriteTo", Method, 1},
- {"ErrAdvanceTooFar", Var, 1},
- {"ErrBadReadCount", Var, 15},
- {"ErrBufferFull", Var, 0},
- {"ErrFinalToken", Var, 6},
- {"ErrInvalidUnreadByte", Var, 0},
- {"ErrInvalidUnreadRune", Var, 0},
- {"ErrNegativeAdvance", Var, 1},
- {"ErrNegativeCount", Var, 0},
- {"ErrTooLong", Var, 1},
- {"MaxScanTokenSize", Const, 1},
- {"NewReadWriter", Func, 0},
- {"NewReader", Func, 0},
- {"NewReaderSize", Func, 0},
- {"NewScanner", Func, 1},
- {"NewWriter", Func, 0},
- {"NewWriterSize", Func, 0},
- {"ReadWriter", Type, 0},
- {"ReadWriter.Reader", Field, 0},
- {"ReadWriter.Writer", Field, 0},
- {"Reader", Type, 0},
- {"ScanBytes", Func, 1},
- {"ScanLines", Func, 1},
- {"ScanRunes", Func, 1},
- {"ScanWords", Func, 1},
- {"Scanner", Type, 1},
- {"SplitFunc", Type, 1},
- {"Writer", Type, 0},
- },
- "bytes": {
- {"(*Buffer).Available", Method, 21},
- {"(*Buffer).AvailableBuffer", Method, 21},
- {"(*Buffer).Bytes", Method, 0},
- {"(*Buffer).Cap", Method, 5},
- {"(*Buffer).Grow", Method, 1},
- {"(*Buffer).Len", Method, 0},
- {"(*Buffer).Next", Method, 0},
- {"(*Buffer).Read", Method, 0},
- {"(*Buffer).ReadByte", Method, 0},
- {"(*Buffer).ReadBytes", Method, 0},
- {"(*Buffer).ReadFrom", Method, 0},
- {"(*Buffer).ReadRune", Method, 0},
- {"(*Buffer).ReadString", Method, 0},
- {"(*Buffer).Reset", Method, 0},
- {"(*Buffer).String", Method, 0},
- {"(*Buffer).Truncate", Method, 0},
- {"(*Buffer).UnreadByte", Method, 0},
- {"(*Buffer).UnreadRune", Method, 0},
- {"(*Buffer).Write", Method, 0},
- {"(*Buffer).WriteByte", Method, 0},
- {"(*Buffer).WriteRune", Method, 0},
- {"(*Buffer).WriteString", Method, 0},
- {"(*Buffer).WriteTo", Method, 0},
- {"(*Reader).Len", Method, 0},
- {"(*Reader).Read", Method, 0},
- {"(*Reader).ReadAt", Method, 0},
- {"(*Reader).ReadByte", Method, 0},
- {"(*Reader).ReadRune", Method, 0},
- {"(*Reader).Reset", Method, 7},
- {"(*Reader).Seek", Method, 0},
- {"(*Reader).Size", Method, 5},
- {"(*Reader).UnreadByte", Method, 0},
- {"(*Reader).UnreadRune", Method, 0},
- {"(*Reader).WriteTo", Method, 1},
- {"Buffer", Type, 0},
- {"Clone", Func, 20},
- {"Compare", Func, 0},
- {"Contains", Func, 0},
- {"ContainsAny", Func, 7},
- {"ContainsFunc", Func, 21},
- {"ContainsRune", Func, 7},
- {"Count", Func, 0},
- {"Cut", Func, 18},
- {"CutPrefix", Func, 20},
- {"CutSuffix", Func, 20},
- {"Equal", Func, 0},
- {"EqualFold", Func, 0},
- {"ErrTooLarge", Var, 0},
- {"Fields", Func, 0},
- {"FieldsFunc", Func, 0},
- {"HasPrefix", Func, 0},
- {"HasSuffix", Func, 0},
- {"Index", Func, 0},
- {"IndexAny", Func, 0},
- {"IndexByte", Func, 0},
- {"IndexFunc", Func, 0},
- {"IndexRune", Func, 0},
- {"Join", Func, 0},
- {"LastIndex", Func, 0},
- {"LastIndexAny", Func, 0},
- {"LastIndexByte", Func, 5},
- {"LastIndexFunc", Func, 0},
- {"Map", Func, 0},
- {"MinRead", Const, 0},
- {"NewBuffer", Func, 0},
- {"NewBufferString", Func, 0},
- {"NewReader", Func, 0},
- {"Reader", Type, 0},
- {"Repeat", Func, 0},
- {"Replace", Func, 0},
- {"ReplaceAll", Func, 12},
- {"Runes", Func, 0},
- {"Split", Func, 0},
- {"SplitAfter", Func, 0},
- {"SplitAfterN", Func, 0},
- {"SplitN", Func, 0},
- {"Title", Func, 0},
- {"ToLower", Func, 0},
- {"ToLowerSpecial", Func, 0},
- {"ToTitle", Func, 0},
- {"ToTitleSpecial", Func, 0},
- {"ToUpper", Func, 0},
- {"ToUpperSpecial", Func, 0},
- {"ToValidUTF8", Func, 13},
- {"Trim", Func, 0},
- {"TrimFunc", Func, 0},
- {"TrimLeft", Func, 0},
- {"TrimLeftFunc", Func, 0},
- {"TrimPrefix", Func, 1},
- {"TrimRight", Func, 0},
- {"TrimRightFunc", Func, 0},
- {"TrimSpace", Func, 0},
- {"TrimSuffix", Func, 1},
- },
- "cmp": {
- {"Compare", Func, 21},
- {"Less", Func, 21},
- {"Or", Func, 22},
- {"Ordered", Type, 21},
- },
- "compress/bzip2": {
- {"(StructuralError).Error", Method, 0},
- {"NewReader", Func, 0},
- {"StructuralError", Type, 0},
- },
- "compress/flate": {
- {"(*ReadError).Error", Method, 0},
- {"(*WriteError).Error", Method, 0},
- {"(*Writer).Close", Method, 0},
- {"(*Writer).Flush", Method, 0},
- {"(*Writer).Reset", Method, 2},
- {"(*Writer).Write", Method, 0},
- {"(CorruptInputError).Error", Method, 0},
- {"(InternalError).Error", Method, 0},
- {"BestCompression", Const, 0},
- {"BestSpeed", Const, 0},
- {"CorruptInputError", Type, 0},
- {"DefaultCompression", Const, 0},
- {"HuffmanOnly", Const, 7},
- {"InternalError", Type, 0},
- {"NewReader", Func, 0},
- {"NewReaderDict", Func, 0},
- {"NewWriter", Func, 0},
- {"NewWriterDict", Func, 0},
- {"NoCompression", Const, 0},
- {"ReadError", Type, 0},
- {"ReadError.Err", Field, 0},
- {"ReadError.Offset", Field, 0},
- {"Reader", Type, 0},
- {"Resetter", Type, 4},
- {"WriteError", Type, 0},
- {"WriteError.Err", Field, 0},
- {"WriteError.Offset", Field, 0},
- {"Writer", Type, 0},
- },
- "compress/gzip": {
- {"(*Reader).Close", Method, 0},
- {"(*Reader).Multistream", Method, 4},
- {"(*Reader).Read", Method, 0},
- {"(*Reader).Reset", Method, 3},
- {"(*Writer).Close", Method, 0},
- {"(*Writer).Flush", Method, 1},
- {"(*Writer).Reset", Method, 2},
- {"(*Writer).Write", Method, 0},
- {"BestCompression", Const, 0},
- {"BestSpeed", Const, 0},
- {"DefaultCompression", Const, 0},
- {"ErrChecksum", Var, 0},
- {"ErrHeader", Var, 0},
- {"Header", Type, 0},
- {"Header.Comment", Field, 0},
- {"Header.Extra", Field, 0},
- {"Header.ModTime", Field, 0},
- {"Header.Name", Field, 0},
- {"Header.OS", Field, 0},
- {"HuffmanOnly", Const, 8},
- {"NewReader", Func, 0},
- {"NewWriter", Func, 0},
- {"NewWriterLevel", Func, 0},
- {"NoCompression", Const, 0},
- {"Reader", Type, 0},
- {"Reader.Header", Field, 0},
- {"Writer", Type, 0},
- {"Writer.Header", Field, 0},
- },
- "compress/lzw": {
- {"(*Reader).Close", Method, 17},
- {"(*Reader).Read", Method, 17},
- {"(*Reader).Reset", Method, 17},
- {"(*Writer).Close", Method, 17},
- {"(*Writer).Reset", Method, 17},
- {"(*Writer).Write", Method, 17},
- {"LSB", Const, 0},
- {"MSB", Const, 0},
- {"NewReader", Func, 0},
- {"NewWriter", Func, 0},
- {"Order", Type, 0},
- {"Reader", Type, 17},
- {"Writer", Type, 17},
- },
- "compress/zlib": {
- {"(*Writer).Close", Method, 0},
- {"(*Writer).Flush", Method, 0},
- {"(*Writer).Reset", Method, 2},
- {"(*Writer).Write", Method, 0},
- {"BestCompression", Const, 0},
- {"BestSpeed", Const, 0},
- {"DefaultCompression", Const, 0},
- {"ErrChecksum", Var, 0},
- {"ErrDictionary", Var, 0},
- {"ErrHeader", Var, 0},
- {"HuffmanOnly", Const, 8},
- {"NewReader", Func, 0},
- {"NewReaderDict", Func, 0},
- {"NewWriter", Func, 0},
- {"NewWriterLevel", Func, 0},
- {"NewWriterLevelDict", Func, 0},
- {"NoCompression", Const, 0},
- {"Resetter", Type, 4},
- {"Writer", Type, 0},
- },
- "container/heap": {
- {"Fix", Func, 2},
- {"Init", Func, 0},
- {"Interface", Type, 0},
- {"Pop", Func, 0},
- {"Push", Func, 0},
- {"Remove", Func, 0},
- },
- "container/list": {
- {"(*Element).Next", Method, 0},
- {"(*Element).Prev", Method, 0},
- {"(*List).Back", Method, 0},
- {"(*List).Front", Method, 0},
- {"(*List).Init", Method, 0},
- {"(*List).InsertAfter", Method, 0},
- {"(*List).InsertBefore", Method, 0},
- {"(*List).Len", Method, 0},
- {"(*List).MoveAfter", Method, 2},
- {"(*List).MoveBefore", Method, 2},
- {"(*List).MoveToBack", Method, 0},
- {"(*List).MoveToFront", Method, 0},
- {"(*List).PushBack", Method, 0},
- {"(*List).PushBackList", Method, 0},
- {"(*List).PushFront", Method, 0},
- {"(*List).PushFrontList", Method, 0},
- {"(*List).Remove", Method, 0},
- {"Element", Type, 0},
- {"Element.Value", Field, 0},
- {"List", Type, 0},
- {"New", Func, 0},
- },
- "container/ring": {
- {"(*Ring).Do", Method, 0},
- {"(*Ring).Len", Method, 0},
- {"(*Ring).Link", Method, 0},
- {"(*Ring).Move", Method, 0},
- {"(*Ring).Next", Method, 0},
- {"(*Ring).Prev", Method, 0},
- {"(*Ring).Unlink", Method, 0},
- {"New", Func, 0},
- {"Ring", Type, 0},
- {"Ring.Value", Field, 0},
- },
- "context": {
- {"AfterFunc", Func, 21},
- {"Background", Func, 7},
- {"CancelCauseFunc", Type, 20},
- {"CancelFunc", Type, 7},
- {"Canceled", Var, 7},
- {"Cause", Func, 20},
- {"Context", Type, 7},
- {"DeadlineExceeded", Var, 7},
- {"TODO", Func, 7},
- {"WithCancel", Func, 7},
- {"WithCancelCause", Func, 20},
- {"WithDeadline", Func, 7},
- {"WithDeadlineCause", Func, 21},
- {"WithTimeout", Func, 7},
- {"WithTimeoutCause", Func, 21},
- {"WithValue", Func, 7},
- {"WithoutCancel", Func, 21},
- },
- "crypto": {
- {"(Hash).Available", Method, 0},
- {"(Hash).HashFunc", Method, 4},
- {"(Hash).New", Method, 0},
- {"(Hash).Size", Method, 0},
- {"(Hash).String", Method, 15},
- {"BLAKE2b_256", Const, 9},
- {"BLAKE2b_384", Const, 9},
- {"BLAKE2b_512", Const, 9},
- {"BLAKE2s_256", Const, 9},
- {"Decrypter", Type, 5},
- {"DecrypterOpts", Type, 5},
- {"Hash", Type, 0},
- {"MD4", Const, 0},
- {"MD5", Const, 0},
- {"MD5SHA1", Const, 0},
- {"PrivateKey", Type, 0},
- {"PublicKey", Type, 2},
- {"RIPEMD160", Const, 0},
- {"RegisterHash", Func, 0},
- {"SHA1", Const, 0},
- {"SHA224", Const, 0},
- {"SHA256", Const, 0},
- {"SHA384", Const, 0},
- {"SHA3_224", Const, 4},
- {"SHA3_256", Const, 4},
- {"SHA3_384", Const, 4},
- {"SHA3_512", Const, 4},
- {"SHA512", Const, 0},
- {"SHA512_224", Const, 5},
- {"SHA512_256", Const, 5},
- {"Signer", Type, 4},
- {"SignerOpts", Type, 4},
- },
- "crypto/aes": {
- {"(KeySizeError).Error", Method, 0},
- {"BlockSize", Const, 0},
- {"KeySizeError", Type, 0},
- {"NewCipher", Func, 0},
- },
- "crypto/cipher": {
- {"(StreamReader).Read", Method, 0},
- {"(StreamWriter).Close", Method, 0},
- {"(StreamWriter).Write", Method, 0},
- {"AEAD", Type, 2},
- {"Block", Type, 0},
- {"BlockMode", Type, 0},
- {"NewCBCDecrypter", Func, 0},
- {"NewCBCEncrypter", Func, 0},
- {"NewCFBDecrypter", Func, 0},
- {"NewCFBEncrypter", Func, 0},
- {"NewCTR", Func, 0},
- {"NewGCM", Func, 2},
- {"NewGCMWithNonceSize", Func, 5},
- {"NewGCMWithTagSize", Func, 11},
- {"NewOFB", Func, 0},
- {"Stream", Type, 0},
- {"StreamReader", Type, 0},
- {"StreamReader.R", Field, 0},
- {"StreamReader.S", Field, 0},
- {"StreamWriter", Type, 0},
- {"StreamWriter.Err", Field, 0},
- {"StreamWriter.S", Field, 0},
- {"StreamWriter.W", Field, 0},
- },
- "crypto/des": {
- {"(KeySizeError).Error", Method, 0},
- {"BlockSize", Const, 0},
- {"KeySizeError", Type, 0},
- {"NewCipher", Func, 0},
- {"NewTripleDESCipher", Func, 0},
- },
- "crypto/dsa": {
- {"ErrInvalidPublicKey", Var, 0},
- {"GenerateKey", Func, 0},
- {"GenerateParameters", Func, 0},
- {"L1024N160", Const, 0},
- {"L2048N224", Const, 0},
- {"L2048N256", Const, 0},
- {"L3072N256", Const, 0},
- {"ParameterSizes", Type, 0},
- {"Parameters", Type, 0},
- {"Parameters.G", Field, 0},
- {"Parameters.P", Field, 0},
- {"Parameters.Q", Field, 0},
- {"PrivateKey", Type, 0},
- {"PrivateKey.PublicKey", Field, 0},
- {"PrivateKey.X", Field, 0},
- {"PublicKey", Type, 0},
- {"PublicKey.Parameters", Field, 0},
- {"PublicKey.Y", Field, 0},
- {"Sign", Func, 0},
- {"Verify", Func, 0},
- },
- "crypto/ecdh": {
- {"(*PrivateKey).Bytes", Method, 20},
- {"(*PrivateKey).Curve", Method, 20},
- {"(*PrivateKey).ECDH", Method, 20},
- {"(*PrivateKey).Equal", Method, 20},
- {"(*PrivateKey).Public", Method, 20},
- {"(*PrivateKey).PublicKey", Method, 20},
- {"(*PublicKey).Bytes", Method, 20},
- {"(*PublicKey).Curve", Method, 20},
- {"(*PublicKey).Equal", Method, 20},
- {"Curve", Type, 20},
- {"P256", Func, 20},
- {"P384", Func, 20},
- {"P521", Func, 20},
- {"PrivateKey", Type, 20},
- {"PublicKey", Type, 20},
- {"X25519", Func, 20},
- },
- "crypto/ecdsa": {
- {"(*PrivateKey).ECDH", Method, 20},
- {"(*PrivateKey).Equal", Method, 15},
- {"(*PrivateKey).Public", Method, 4},
- {"(*PrivateKey).Sign", Method, 4},
- {"(*PublicKey).ECDH", Method, 20},
- {"(*PublicKey).Equal", Method, 15},
- {"(PrivateKey).Add", Method, 0},
- {"(PrivateKey).Double", Method, 0},
- {"(PrivateKey).IsOnCurve", Method, 0},
- {"(PrivateKey).Params", Method, 0},
- {"(PrivateKey).ScalarBaseMult", Method, 0},
- {"(PrivateKey).ScalarMult", Method, 0},
- {"(PublicKey).Add", Method, 0},
- {"(PublicKey).Double", Method, 0},
- {"(PublicKey).IsOnCurve", Method, 0},
- {"(PublicKey).Params", Method, 0},
- {"(PublicKey).ScalarBaseMult", Method, 0},
- {"(PublicKey).ScalarMult", Method, 0},
- {"GenerateKey", Func, 0},
- {"PrivateKey", Type, 0},
- {"PrivateKey.D", Field, 0},
- {"PrivateKey.PublicKey", Field, 0},
- {"PublicKey", Type, 0},
- {"PublicKey.Curve", Field, 0},
- {"PublicKey.X", Field, 0},
- {"PublicKey.Y", Field, 0},
- {"Sign", Func, 0},
- {"SignASN1", Func, 15},
- {"Verify", Func, 0},
- {"VerifyASN1", Func, 15},
- },
- "crypto/ed25519": {
- {"(*Options).HashFunc", Method, 20},
- {"(PrivateKey).Equal", Method, 15},
- {"(PrivateKey).Public", Method, 13},
- {"(PrivateKey).Seed", Method, 13},
- {"(PrivateKey).Sign", Method, 13},
- {"(PublicKey).Equal", Method, 15},
- {"GenerateKey", Func, 13},
- {"NewKeyFromSeed", Func, 13},
- {"Options", Type, 20},
- {"Options.Context", Field, 20},
- {"Options.Hash", Field, 20},
- {"PrivateKey", Type, 13},
- {"PrivateKeySize", Const, 13},
- {"PublicKey", Type, 13},
- {"PublicKeySize", Const, 13},
- {"SeedSize", Const, 13},
- {"Sign", Func, 13},
- {"SignatureSize", Const, 13},
- {"Verify", Func, 13},
- {"VerifyWithOptions", Func, 20},
- },
- "crypto/elliptic": {
- {"(*CurveParams).Add", Method, 0},
- {"(*CurveParams).Double", Method, 0},
- {"(*CurveParams).IsOnCurve", Method, 0},
- {"(*CurveParams).Params", Method, 0},
- {"(*CurveParams).ScalarBaseMult", Method, 0},
- {"(*CurveParams).ScalarMult", Method, 0},
- {"Curve", Type, 0},
- {"CurveParams", Type, 0},
- {"CurveParams.B", Field, 0},
- {"CurveParams.BitSize", Field, 0},
- {"CurveParams.Gx", Field, 0},
- {"CurveParams.Gy", Field, 0},
- {"CurveParams.N", Field, 0},
- {"CurveParams.Name", Field, 5},
- {"CurveParams.P", Field, 0},
- {"GenerateKey", Func, 0},
- {"Marshal", Func, 0},
- {"MarshalCompressed", Func, 15},
- {"P224", Func, 0},
- {"P256", Func, 0},
- {"P384", Func, 0},
- {"P521", Func, 0},
- {"Unmarshal", Func, 0},
- {"UnmarshalCompressed", Func, 15},
- },
- "crypto/hmac": {
- {"Equal", Func, 1},
- {"New", Func, 0},
- },
- "crypto/md5": {
- {"BlockSize", Const, 0},
- {"New", Func, 0},
- {"Size", Const, 0},
- {"Sum", Func, 2},
- },
- "crypto/rand": {
- {"Int", Func, 0},
- {"Prime", Func, 0},
- {"Read", Func, 0},
- {"Reader", Var, 0},
- },
- "crypto/rc4": {
- {"(*Cipher).Reset", Method, 0},
- {"(*Cipher).XORKeyStream", Method, 0},
- {"(KeySizeError).Error", Method, 0},
- {"Cipher", Type, 0},
- {"KeySizeError", Type, 0},
- {"NewCipher", Func, 0},
- },
- "crypto/rsa": {
- {"(*PSSOptions).HashFunc", Method, 4},
- {"(*PrivateKey).Decrypt", Method, 5},
- {"(*PrivateKey).Equal", Method, 15},
- {"(*PrivateKey).Precompute", Method, 0},
- {"(*PrivateKey).Public", Method, 4},
- {"(*PrivateKey).Sign", Method, 4},
- {"(*PrivateKey).Size", Method, 11},
- {"(*PrivateKey).Validate", Method, 0},
- {"(*PublicKey).Equal", Method, 15},
- {"(*PublicKey).Size", Method, 11},
- {"CRTValue", Type, 0},
- {"CRTValue.Coeff", Field, 0},
- {"CRTValue.Exp", Field, 0},
- {"CRTValue.R", Field, 0},
- {"DecryptOAEP", Func, 0},
- {"DecryptPKCS1v15", Func, 0},
- {"DecryptPKCS1v15SessionKey", Func, 0},
- {"EncryptOAEP", Func, 0},
- {"EncryptPKCS1v15", Func, 0},
- {"ErrDecryption", Var, 0},
- {"ErrMessageTooLong", Var, 0},
- {"ErrVerification", Var, 0},
- {"GenerateKey", Func, 0},
- {"GenerateMultiPrimeKey", Func, 0},
- {"OAEPOptions", Type, 5},
- {"OAEPOptions.Hash", Field, 5},
- {"OAEPOptions.Label", Field, 5},
- {"OAEPOptions.MGFHash", Field, 20},
- {"PKCS1v15DecryptOptions", Type, 5},
- {"PKCS1v15DecryptOptions.SessionKeyLen", Field, 5},
- {"PSSOptions", Type, 2},
- {"PSSOptions.Hash", Field, 4},
- {"PSSOptions.SaltLength", Field, 2},
- {"PSSSaltLengthAuto", Const, 2},
- {"PSSSaltLengthEqualsHash", Const, 2},
- {"PrecomputedValues", Type, 0},
- {"PrecomputedValues.CRTValues", Field, 0},
- {"PrecomputedValues.Dp", Field, 0},
- {"PrecomputedValues.Dq", Field, 0},
- {"PrecomputedValues.Qinv", Field, 0},
- {"PrivateKey", Type, 0},
- {"PrivateKey.D", Field, 0},
- {"PrivateKey.Precomputed", Field, 0},
- {"PrivateKey.Primes", Field, 0},
- {"PrivateKey.PublicKey", Field, 0},
- {"PublicKey", Type, 0},
- {"PublicKey.E", Field, 0},
- {"PublicKey.N", Field, 0},
- {"SignPKCS1v15", Func, 0},
- {"SignPSS", Func, 2},
- {"VerifyPKCS1v15", Func, 0},
- {"VerifyPSS", Func, 2},
- },
- "crypto/sha1": {
- {"BlockSize", Const, 0},
- {"New", Func, 0},
- {"Size", Const, 0},
- {"Sum", Func, 2},
- },
- "crypto/sha256": {
- {"BlockSize", Const, 0},
- {"New", Func, 0},
- {"New224", Func, 0},
- {"Size", Const, 0},
- {"Size224", Const, 0},
- {"Sum224", Func, 2},
- {"Sum256", Func, 2},
- },
- "crypto/sha512": {
- {"BlockSize", Const, 0},
- {"New", Func, 0},
- {"New384", Func, 0},
- {"New512_224", Func, 5},
- {"New512_256", Func, 5},
- {"Size", Const, 0},
- {"Size224", Const, 5},
- {"Size256", Const, 5},
- {"Size384", Const, 0},
- {"Sum384", Func, 2},
- {"Sum512", Func, 2},
- {"Sum512_224", Func, 5},
- {"Sum512_256", Func, 5},
- },
- "crypto/subtle": {
- {"ConstantTimeByteEq", Func, 0},
- {"ConstantTimeCompare", Func, 0},
- {"ConstantTimeCopy", Func, 0},
- {"ConstantTimeEq", Func, 0},
- {"ConstantTimeLessOrEq", Func, 2},
- {"ConstantTimeSelect", Func, 0},
- {"XORBytes", Func, 20},
- },
- "crypto/tls": {
- {"(*CertificateRequestInfo).Context", Method, 17},
- {"(*CertificateRequestInfo).SupportsCertificate", Method, 14},
- {"(*CertificateVerificationError).Error", Method, 20},
- {"(*CertificateVerificationError).Unwrap", Method, 20},
- {"(*ClientHelloInfo).Context", Method, 17},
- {"(*ClientHelloInfo).SupportsCertificate", Method, 14},
- {"(*ClientSessionState).ResumptionState", Method, 21},
- {"(*Config).BuildNameToCertificate", Method, 0},
- {"(*Config).Clone", Method, 8},
- {"(*Config).DecryptTicket", Method, 21},
- {"(*Config).EncryptTicket", Method, 21},
- {"(*Config).SetSessionTicketKeys", Method, 5},
- {"(*Conn).Close", Method, 0},
- {"(*Conn).CloseWrite", Method, 8},
- {"(*Conn).ConnectionState", Method, 0},
- {"(*Conn).Handshake", Method, 0},
- {"(*Conn).HandshakeContext", Method, 17},
- {"(*Conn).LocalAddr", Method, 0},
- {"(*Conn).NetConn", Method, 18},
- {"(*Conn).OCSPResponse", Method, 0},
- {"(*Conn).Read", Method, 0},
- {"(*Conn).RemoteAddr", Method, 0},
- {"(*Conn).SetDeadline", Method, 0},
- {"(*Conn).SetReadDeadline", Method, 0},
- {"(*Conn).SetWriteDeadline", Method, 0},
- {"(*Conn).VerifyHostname", Method, 0},
- {"(*Conn).Write", Method, 0},
- {"(*ConnectionState).ExportKeyingMaterial", Method, 11},
- {"(*Dialer).Dial", Method, 15},
- {"(*Dialer).DialContext", Method, 15},
- {"(*ECHRejectionError).Error", Method, 23},
- {"(*QUICConn).Close", Method, 21},
- {"(*QUICConn).ConnectionState", Method, 21},
- {"(*QUICConn).HandleData", Method, 21},
- {"(*QUICConn).NextEvent", Method, 21},
- {"(*QUICConn).SendSessionTicket", Method, 21},
- {"(*QUICConn).SetTransportParameters", Method, 21},
- {"(*QUICConn).Start", Method, 21},
- {"(*QUICConn).StoreSession", Method, 23},
- {"(*SessionState).Bytes", Method, 21},
- {"(AlertError).Error", Method, 21},
- {"(ClientAuthType).String", Method, 15},
- {"(CurveID).String", Method, 15},
- {"(QUICEncryptionLevel).String", Method, 21},
- {"(RecordHeaderError).Error", Method, 6},
- {"(SignatureScheme).String", Method, 15},
- {"AlertError", Type, 21},
- {"Certificate", Type, 0},
- {"Certificate.Certificate", Field, 0},
- {"Certificate.Leaf", Field, 0},
- {"Certificate.OCSPStaple", Field, 0},
- {"Certificate.PrivateKey", Field, 0},
- {"Certificate.SignedCertificateTimestamps", Field, 5},
- {"Certificate.SupportedSignatureAlgorithms", Field, 14},
- {"CertificateRequestInfo", Type, 8},
- {"CertificateRequestInfo.AcceptableCAs", Field, 8},
- {"CertificateRequestInfo.SignatureSchemes", Field, 8},
- {"CertificateRequestInfo.Version", Field, 14},
- {"CertificateVerificationError", Type, 20},
- {"CertificateVerificationError.Err", Field, 20},
- {"CertificateVerificationError.UnverifiedCertificates", Field, 20},
- {"CipherSuite", Type, 14},
- {"CipherSuite.ID", Field, 14},
- {"CipherSuite.Insecure", Field, 14},
- {"CipherSuite.Name", Field, 14},
- {"CipherSuite.SupportedVersions", Field, 14},
- {"CipherSuiteName", Func, 14},
- {"CipherSuites", Func, 14},
- {"Client", Func, 0},
- {"ClientAuthType", Type, 0},
- {"ClientHelloInfo", Type, 4},
- {"ClientHelloInfo.CipherSuites", Field, 4},
- {"ClientHelloInfo.Conn", Field, 8},
- {"ClientHelloInfo.ServerName", Field, 4},
- {"ClientHelloInfo.SignatureSchemes", Field, 8},
- {"ClientHelloInfo.SupportedCurves", Field, 4},
- {"ClientHelloInfo.SupportedPoints", Field, 4},
- {"ClientHelloInfo.SupportedProtos", Field, 8},
- {"ClientHelloInfo.SupportedVersions", Field, 8},
- {"ClientSessionCache", Type, 3},
- {"ClientSessionState", Type, 3},
- {"Config", Type, 0},
- {"Config.Certificates", Field, 0},
- {"Config.CipherSuites", Field, 0},
- {"Config.ClientAuth", Field, 0},
- {"Config.ClientCAs", Field, 0},
- {"Config.ClientSessionCache", Field, 3},
- {"Config.CurvePreferences", Field, 3},
- {"Config.DynamicRecordSizingDisabled", Field, 7},
- {"Config.EncryptedClientHelloConfigList", Field, 23},
- {"Config.EncryptedClientHelloRejectionVerify", Field, 23},
- {"Config.GetCertificate", Field, 4},
- {"Config.GetClientCertificate", Field, 8},
- {"Config.GetConfigForClient", Field, 8},
- {"Config.InsecureSkipVerify", Field, 0},
- {"Config.KeyLogWriter", Field, 8},
- {"Config.MaxVersion", Field, 2},
- {"Config.MinVersion", Field, 2},
- {"Config.NameToCertificate", Field, 0},
- {"Config.NextProtos", Field, 0},
- {"Config.PreferServerCipherSuites", Field, 1},
- {"Config.Rand", Field, 0},
- {"Config.Renegotiation", Field, 7},
- {"Config.RootCAs", Field, 0},
- {"Config.ServerName", Field, 0},
- {"Config.SessionTicketKey", Field, 1},
- {"Config.SessionTicketsDisabled", Field, 1},
- {"Config.Time", Field, 0},
- {"Config.UnwrapSession", Field, 21},
- {"Config.VerifyConnection", Field, 15},
- {"Config.VerifyPeerCertificate", Field, 8},
- {"Config.WrapSession", Field, 21},
- {"Conn", Type, 0},
- {"ConnectionState", Type, 0},
- {"ConnectionState.CipherSuite", Field, 0},
- {"ConnectionState.DidResume", Field, 1},
- {"ConnectionState.ECHAccepted", Field, 23},
- {"ConnectionState.HandshakeComplete", Field, 0},
- {"ConnectionState.NegotiatedProtocol", Field, 0},
- {"ConnectionState.NegotiatedProtocolIsMutual", Field, 0},
- {"ConnectionState.OCSPResponse", Field, 5},
- {"ConnectionState.PeerCertificates", Field, 0},
- {"ConnectionState.ServerName", Field, 0},
- {"ConnectionState.SignedCertificateTimestamps", Field, 5},
- {"ConnectionState.TLSUnique", Field, 4},
- {"ConnectionState.VerifiedChains", Field, 0},
- {"ConnectionState.Version", Field, 3},
- {"CurveID", Type, 3},
- {"CurveP256", Const, 3},
- {"CurveP384", Const, 3},
- {"CurveP521", Const, 3},
- {"Dial", Func, 0},
- {"DialWithDialer", Func, 3},
- {"Dialer", Type, 15},
- {"Dialer.Config", Field, 15},
- {"Dialer.NetDialer", Field, 15},
- {"ECDSAWithP256AndSHA256", Const, 8},
- {"ECDSAWithP384AndSHA384", Const, 8},
- {"ECDSAWithP521AndSHA512", Const, 8},
- {"ECDSAWithSHA1", Const, 10},
- {"ECHRejectionError", Type, 23},
- {"ECHRejectionError.RetryConfigList", Field, 23},
- {"Ed25519", Const, 13},
- {"InsecureCipherSuites", Func, 14},
- {"Listen", Func, 0},
- {"LoadX509KeyPair", Func, 0},
- {"NewLRUClientSessionCache", Func, 3},
- {"NewListener", Func, 0},
- {"NewResumptionState", Func, 21},
- {"NoClientCert", Const, 0},
- {"PKCS1WithSHA1", Const, 8},
- {"PKCS1WithSHA256", Const, 8},
- {"PKCS1WithSHA384", Const, 8},
- {"PKCS1WithSHA512", Const, 8},
- {"PSSWithSHA256", Const, 8},
- {"PSSWithSHA384", Const, 8},
- {"PSSWithSHA512", Const, 8},
- {"ParseSessionState", Func, 21},
- {"QUICClient", Func, 21},
- {"QUICConfig", Type, 21},
- {"QUICConfig.EnableSessionEvents", Field, 23},
- {"QUICConfig.TLSConfig", Field, 21},
- {"QUICConn", Type, 21},
- {"QUICEncryptionLevel", Type, 21},
- {"QUICEncryptionLevelApplication", Const, 21},
- {"QUICEncryptionLevelEarly", Const, 21},
- {"QUICEncryptionLevelHandshake", Const, 21},
- {"QUICEncryptionLevelInitial", Const, 21},
- {"QUICEvent", Type, 21},
- {"QUICEvent.Data", Field, 21},
- {"QUICEvent.Kind", Field, 21},
- {"QUICEvent.Level", Field, 21},
- {"QUICEvent.SessionState", Field, 23},
- {"QUICEvent.Suite", Field, 21},
- {"QUICEventKind", Type, 21},
- {"QUICHandshakeDone", Const, 21},
- {"QUICNoEvent", Const, 21},
- {"QUICRejectedEarlyData", Const, 21},
- {"QUICResumeSession", Const, 23},
- {"QUICServer", Func, 21},
- {"QUICSessionTicketOptions", Type, 21},
- {"QUICSessionTicketOptions.EarlyData", Field, 21},
- {"QUICSessionTicketOptions.Extra", Field, 23},
- {"QUICSetReadSecret", Const, 21},
- {"QUICSetWriteSecret", Const, 21},
- {"QUICStoreSession", Const, 23},
- {"QUICTransportParameters", Const, 21},
- {"QUICTransportParametersRequired", Const, 21},
- {"QUICWriteData", Const, 21},
- {"RecordHeaderError", Type, 6},
- {"RecordHeaderError.Conn", Field, 12},
- {"RecordHeaderError.Msg", Field, 6},
- {"RecordHeaderError.RecordHeader", Field, 6},
- {"RenegotiateFreelyAsClient", Const, 7},
- {"RenegotiateNever", Const, 7},
- {"RenegotiateOnceAsClient", Const, 7},
- {"RenegotiationSupport", Type, 7},
- {"RequestClientCert", Const, 0},
- {"RequireAndVerifyClientCert", Const, 0},
- {"RequireAnyClientCert", Const, 0},
- {"Server", Func, 0},
- {"SessionState", Type, 21},
- {"SessionState.EarlyData", Field, 21},
- {"SessionState.Extra", Field, 21},
- {"SignatureScheme", Type, 8},
- {"TLS_AES_128_GCM_SHA256", Const, 12},
- {"TLS_AES_256_GCM_SHA384", Const, 12},
- {"TLS_CHACHA20_POLY1305_SHA256", Const, 12},
- {"TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA", Const, 2},
- {"TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256", Const, 8},
- {"TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256", Const, 2},
- {"TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA", Const, 2},
- {"TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384", Const, 5},
- {"TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305", Const, 8},
- {"TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256", Const, 14},
- {"TLS_ECDHE_ECDSA_WITH_RC4_128_SHA", Const, 2},
- {"TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA", Const, 0},
- {"TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA", Const, 0},
- {"TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256", Const, 8},
- {"TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256", Const, 2},
- {"TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA", Const, 1},
- {"TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384", Const, 5},
- {"TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305", Const, 8},
- {"TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256", Const, 14},
- {"TLS_ECDHE_RSA_WITH_RC4_128_SHA", Const, 0},
- {"TLS_FALLBACK_SCSV", Const, 4},
- {"TLS_RSA_WITH_3DES_EDE_CBC_SHA", Const, 0},
- {"TLS_RSA_WITH_AES_128_CBC_SHA", Const, 0},
- {"TLS_RSA_WITH_AES_128_CBC_SHA256", Const, 8},
- {"TLS_RSA_WITH_AES_128_GCM_SHA256", Const, 6},
- {"TLS_RSA_WITH_AES_256_CBC_SHA", Const, 1},
- {"TLS_RSA_WITH_AES_256_GCM_SHA384", Const, 6},
- {"TLS_RSA_WITH_RC4_128_SHA", Const, 0},
- {"VerifyClientCertIfGiven", Const, 0},
- {"VersionName", Func, 21},
- {"VersionSSL30", Const, 2},
- {"VersionTLS10", Const, 2},
- {"VersionTLS11", Const, 2},
- {"VersionTLS12", Const, 2},
- {"VersionTLS13", Const, 12},
- {"X25519", Const, 8},
- {"X509KeyPair", Func, 0},
- },
- "crypto/x509": {
- {"(*CertPool).AddCert", Method, 0},
- {"(*CertPool).AddCertWithConstraint", Method, 22},
- {"(*CertPool).AppendCertsFromPEM", Method, 0},
- {"(*CertPool).Clone", Method, 19},
- {"(*CertPool).Equal", Method, 19},
- {"(*CertPool).Subjects", Method, 0},
- {"(*Certificate).CheckCRLSignature", Method, 0},
- {"(*Certificate).CheckSignature", Method, 0},
- {"(*Certificate).CheckSignatureFrom", Method, 0},
- {"(*Certificate).CreateCRL", Method, 0},
- {"(*Certificate).Equal", Method, 0},
- {"(*Certificate).Verify", Method, 0},
- {"(*Certificate).VerifyHostname", Method, 0},
- {"(*CertificateRequest).CheckSignature", Method, 5},
- {"(*OID).UnmarshalBinary", Method, 23},
- {"(*OID).UnmarshalText", Method, 23},
- {"(*RevocationList).CheckSignatureFrom", Method, 19},
- {"(CertificateInvalidError).Error", Method, 0},
- {"(ConstraintViolationError).Error", Method, 0},
- {"(HostnameError).Error", Method, 0},
- {"(InsecureAlgorithmError).Error", Method, 6},
- {"(OID).Equal", Method, 22},
- {"(OID).EqualASN1OID", Method, 22},
- {"(OID).MarshalBinary", Method, 23},
- {"(OID).MarshalText", Method, 23},
- {"(OID).String", Method, 22},
- {"(PublicKeyAlgorithm).String", Method, 10},
- {"(SignatureAlgorithm).String", Method, 6},
- {"(SystemRootsError).Error", Method, 1},
- {"(SystemRootsError).Unwrap", Method, 16},
- {"(UnhandledCriticalExtension).Error", Method, 0},
- {"(UnknownAuthorityError).Error", Method, 0},
- {"CANotAuthorizedForExtKeyUsage", Const, 10},
- {"CANotAuthorizedForThisName", Const, 0},
- {"CertPool", Type, 0},
- {"Certificate", Type, 0},
- {"Certificate.AuthorityKeyId", Field, 0},
- {"Certificate.BasicConstraintsValid", Field, 0},
- {"Certificate.CRLDistributionPoints", Field, 2},
- {"Certificate.DNSNames", Field, 0},
- {"Certificate.EmailAddresses", Field, 0},
- {"Certificate.ExcludedDNSDomains", Field, 9},
- {"Certificate.ExcludedEmailAddresses", Field, 10},
- {"Certificate.ExcludedIPRanges", Field, 10},
- {"Certificate.ExcludedURIDomains", Field, 10},
- {"Certificate.ExtKeyUsage", Field, 0},
- {"Certificate.Extensions", Field, 2},
- {"Certificate.ExtraExtensions", Field, 2},
- {"Certificate.IPAddresses", Field, 1},
- {"Certificate.IsCA", Field, 0},
- {"Certificate.Issuer", Field, 0},
- {"Certificate.IssuingCertificateURL", Field, 2},
- {"Certificate.KeyUsage", Field, 0},
- {"Certificate.MaxPathLen", Field, 0},
- {"Certificate.MaxPathLenZero", Field, 4},
- {"Certificate.NotAfter", Field, 0},
- {"Certificate.NotBefore", Field, 0},
- {"Certificate.OCSPServer", Field, 2},
- {"Certificate.PermittedDNSDomains", Field, 0},
- {"Certificate.PermittedDNSDomainsCritical", Field, 0},
- {"Certificate.PermittedEmailAddresses", Field, 10},
- {"Certificate.PermittedIPRanges", Field, 10},
- {"Certificate.PermittedURIDomains", Field, 10},
- {"Certificate.Policies", Field, 22},
- {"Certificate.PolicyIdentifiers", Field, 0},
- {"Certificate.PublicKey", Field, 0},
- {"Certificate.PublicKeyAlgorithm", Field, 0},
- {"Certificate.Raw", Field, 0},
- {"Certificate.RawIssuer", Field, 0},
- {"Certificate.RawSubject", Field, 0},
- {"Certificate.RawSubjectPublicKeyInfo", Field, 0},
- {"Certificate.RawTBSCertificate", Field, 0},
- {"Certificate.SerialNumber", Field, 0},
- {"Certificate.Signature", Field, 0},
- {"Certificate.SignatureAlgorithm", Field, 0},
- {"Certificate.Subject", Field, 0},
- {"Certificate.SubjectKeyId", Field, 0},
- {"Certificate.URIs", Field, 10},
- {"Certificate.UnhandledCriticalExtensions", Field, 5},
- {"Certificate.UnknownExtKeyUsage", Field, 0},
- {"Certificate.Version", Field, 0},
- {"CertificateInvalidError", Type, 0},
- {"CertificateInvalidError.Cert", Field, 0},
- {"CertificateInvalidError.Detail", Field, 10},
- {"CertificateInvalidError.Reason", Field, 0},
- {"CertificateRequest", Type, 3},
- {"CertificateRequest.Attributes", Field, 3},
- {"CertificateRequest.DNSNames", Field, 3},
- {"CertificateRequest.EmailAddresses", Field, 3},
- {"CertificateRequest.Extensions", Field, 3},
- {"CertificateRequest.ExtraExtensions", Field, 3},
- {"CertificateRequest.IPAddresses", Field, 3},
- {"CertificateRequest.PublicKey", Field, 3},
- {"CertificateRequest.PublicKeyAlgorithm", Field, 3},
- {"CertificateRequest.Raw", Field, 3},
- {"CertificateRequest.RawSubject", Field, 3},
- {"CertificateRequest.RawSubjectPublicKeyInfo", Field, 3},
- {"CertificateRequest.RawTBSCertificateRequest", Field, 3},
- {"CertificateRequest.Signature", Field, 3},
- {"CertificateRequest.SignatureAlgorithm", Field, 3},
- {"CertificateRequest.Subject", Field, 3},
- {"CertificateRequest.URIs", Field, 10},
- {"CertificateRequest.Version", Field, 3},
- {"ConstraintViolationError", Type, 0},
- {"CreateCertificate", Func, 0},
- {"CreateCertificateRequest", Func, 3},
- {"CreateRevocationList", Func, 15},
- {"DSA", Const, 0},
- {"DSAWithSHA1", Const, 0},
- {"DSAWithSHA256", Const, 0},
- {"DecryptPEMBlock", Func, 1},
- {"ECDSA", Const, 1},
- {"ECDSAWithSHA1", Const, 1},
- {"ECDSAWithSHA256", Const, 1},
- {"ECDSAWithSHA384", Const, 1},
- {"ECDSAWithSHA512", Const, 1},
- {"Ed25519", Const, 13},
- {"EncryptPEMBlock", Func, 1},
- {"ErrUnsupportedAlgorithm", Var, 0},
- {"Expired", Const, 0},
- {"ExtKeyUsage", Type, 0},
- {"ExtKeyUsageAny", Const, 0},
- {"ExtKeyUsageClientAuth", Const, 0},
- {"ExtKeyUsageCodeSigning", Const, 0},
- {"ExtKeyUsageEmailProtection", Const, 0},
- {"ExtKeyUsageIPSECEndSystem", Const, 1},
- {"ExtKeyUsageIPSECTunnel", Const, 1},
- {"ExtKeyUsageIPSECUser", Const, 1},
- {"ExtKeyUsageMicrosoftCommercialCodeSigning", Const, 10},
- {"ExtKeyUsageMicrosoftKernelCodeSigning", Const, 10},
- {"ExtKeyUsageMicrosoftServerGatedCrypto", Const, 1},
- {"ExtKeyUsageNetscapeServerGatedCrypto", Const, 1},
- {"ExtKeyUsageOCSPSigning", Const, 0},
- {"ExtKeyUsageServerAuth", Const, 0},
- {"ExtKeyUsageTimeStamping", Const, 0},
- {"HostnameError", Type, 0},
- {"HostnameError.Certificate", Field, 0},
- {"HostnameError.Host", Field, 0},
- {"IncompatibleUsage", Const, 1},
- {"IncorrectPasswordError", Var, 1},
- {"InsecureAlgorithmError", Type, 6},
- {"InvalidReason", Type, 0},
- {"IsEncryptedPEMBlock", Func, 1},
- {"KeyUsage", Type, 0},
- {"KeyUsageCRLSign", Const, 0},
- {"KeyUsageCertSign", Const, 0},
- {"KeyUsageContentCommitment", Const, 0},
- {"KeyUsageDataEncipherment", Const, 0},
- {"KeyUsageDecipherOnly", Const, 0},
- {"KeyUsageDigitalSignature", Const, 0},
- {"KeyUsageEncipherOnly", Const, 0},
- {"KeyUsageKeyAgreement", Const, 0},
- {"KeyUsageKeyEncipherment", Const, 0},
- {"MD2WithRSA", Const, 0},
- {"MD5WithRSA", Const, 0},
- {"MarshalECPrivateKey", Func, 2},
- {"MarshalPKCS1PrivateKey", Func, 0},
- {"MarshalPKCS1PublicKey", Func, 10},
- {"MarshalPKCS8PrivateKey", Func, 10},
- {"MarshalPKIXPublicKey", Func, 0},
- {"NameConstraintsWithoutSANs", Const, 10},
- {"NameMismatch", Const, 8},
- {"NewCertPool", Func, 0},
- {"NotAuthorizedToSign", Const, 0},
- {"OID", Type, 22},
- {"OIDFromInts", Func, 22},
- {"PEMCipher", Type, 1},
- {"PEMCipher3DES", Const, 1},
- {"PEMCipherAES128", Const, 1},
- {"PEMCipherAES192", Const, 1},
- {"PEMCipherAES256", Const, 1},
- {"PEMCipherDES", Const, 1},
- {"ParseCRL", Func, 0},
- {"ParseCertificate", Func, 0},
- {"ParseCertificateRequest", Func, 3},
- {"ParseCertificates", Func, 0},
- {"ParseDERCRL", Func, 0},
- {"ParseECPrivateKey", Func, 1},
- {"ParseOID", Func, 23},
- {"ParsePKCS1PrivateKey", Func, 0},
- {"ParsePKCS1PublicKey", Func, 10},
- {"ParsePKCS8PrivateKey", Func, 0},
- {"ParsePKIXPublicKey", Func, 0},
- {"ParseRevocationList", Func, 19},
- {"PublicKeyAlgorithm", Type, 0},
- {"PureEd25519", Const, 13},
- {"RSA", Const, 0},
- {"RevocationList", Type, 15},
- {"RevocationList.AuthorityKeyId", Field, 19},
- {"RevocationList.Extensions", Field, 19},
- {"RevocationList.ExtraExtensions", Field, 15},
- {"RevocationList.Issuer", Field, 19},
- {"RevocationList.NextUpdate", Field, 15},
- {"RevocationList.Number", Field, 15},
- {"RevocationList.Raw", Field, 19},
- {"RevocationList.RawIssuer", Field, 19},
- {"RevocationList.RawTBSRevocationList", Field, 19},
- {"RevocationList.RevokedCertificateEntries", Field, 21},
- {"RevocationList.RevokedCertificates", Field, 15},
- {"RevocationList.Signature", Field, 19},
- {"RevocationList.SignatureAlgorithm", Field, 15},
- {"RevocationList.ThisUpdate", Field, 15},
- {"RevocationListEntry", Type, 21},
- {"RevocationListEntry.Extensions", Field, 21},
- {"RevocationListEntry.ExtraExtensions", Field, 21},
- {"RevocationListEntry.Raw", Field, 21},
- {"RevocationListEntry.ReasonCode", Field, 21},
- {"RevocationListEntry.RevocationTime", Field, 21},
- {"RevocationListEntry.SerialNumber", Field, 21},
- {"SHA1WithRSA", Const, 0},
- {"SHA256WithRSA", Const, 0},
- {"SHA256WithRSAPSS", Const, 8},
- {"SHA384WithRSA", Const, 0},
- {"SHA384WithRSAPSS", Const, 8},
- {"SHA512WithRSA", Const, 0},
- {"SHA512WithRSAPSS", Const, 8},
- {"SetFallbackRoots", Func, 20},
- {"SignatureAlgorithm", Type, 0},
- {"SystemCertPool", Func, 7},
- {"SystemRootsError", Type, 1},
- {"SystemRootsError.Err", Field, 7},
- {"TooManyConstraints", Const, 10},
- {"TooManyIntermediates", Const, 0},
- {"UnconstrainedName", Const, 10},
- {"UnhandledCriticalExtension", Type, 0},
- {"UnknownAuthorityError", Type, 0},
- {"UnknownAuthorityError.Cert", Field, 8},
- {"UnknownPublicKeyAlgorithm", Const, 0},
- {"UnknownSignatureAlgorithm", Const, 0},
- {"VerifyOptions", Type, 0},
- {"VerifyOptions.CurrentTime", Field, 0},
- {"VerifyOptions.DNSName", Field, 0},
- {"VerifyOptions.Intermediates", Field, 0},
- {"VerifyOptions.KeyUsages", Field, 1},
- {"VerifyOptions.MaxConstraintComparisions", Field, 10},
- {"VerifyOptions.Roots", Field, 0},
- },
- "crypto/x509/pkix": {
- {"(*CertificateList).HasExpired", Method, 0},
- {"(*Name).FillFromRDNSequence", Method, 0},
- {"(Name).String", Method, 10},
- {"(Name).ToRDNSequence", Method, 0},
- {"(RDNSequence).String", Method, 10},
- {"AlgorithmIdentifier", Type, 0},
- {"AlgorithmIdentifier.Algorithm", Field, 0},
- {"AlgorithmIdentifier.Parameters", Field, 0},
- {"AttributeTypeAndValue", Type, 0},
- {"AttributeTypeAndValue.Type", Field, 0},
- {"AttributeTypeAndValue.Value", Field, 0},
- {"AttributeTypeAndValueSET", Type, 3},
- {"AttributeTypeAndValueSET.Type", Field, 3},
- {"AttributeTypeAndValueSET.Value", Field, 3},
- {"CertificateList", Type, 0},
- {"CertificateList.SignatureAlgorithm", Field, 0},
- {"CertificateList.SignatureValue", Field, 0},
- {"CertificateList.TBSCertList", Field, 0},
- {"Extension", Type, 0},
- {"Extension.Critical", Field, 0},
- {"Extension.Id", Field, 0},
- {"Extension.Value", Field, 0},
- {"Name", Type, 0},
- {"Name.CommonName", Field, 0},
- {"Name.Country", Field, 0},
- {"Name.ExtraNames", Field, 5},
- {"Name.Locality", Field, 0},
- {"Name.Names", Field, 0},
- {"Name.Organization", Field, 0},
- {"Name.OrganizationalUnit", Field, 0},
- {"Name.PostalCode", Field, 0},
- {"Name.Province", Field, 0},
- {"Name.SerialNumber", Field, 0},
- {"Name.StreetAddress", Field, 0},
- {"RDNSequence", Type, 0},
- {"RelativeDistinguishedNameSET", Type, 0},
- {"RevokedCertificate", Type, 0},
- {"RevokedCertificate.Extensions", Field, 0},
- {"RevokedCertificate.RevocationTime", Field, 0},
- {"RevokedCertificate.SerialNumber", Field, 0},
- {"TBSCertificateList", Type, 0},
- {"TBSCertificateList.Extensions", Field, 0},
- {"TBSCertificateList.Issuer", Field, 0},
- {"TBSCertificateList.NextUpdate", Field, 0},
- {"TBSCertificateList.Raw", Field, 0},
- {"TBSCertificateList.RevokedCertificates", Field, 0},
- {"TBSCertificateList.Signature", Field, 0},
- {"TBSCertificateList.ThisUpdate", Field, 0},
- {"TBSCertificateList.Version", Field, 0},
- },
- "database/sql": {
- {"(*ColumnType).DatabaseTypeName", Method, 8},
- {"(*ColumnType).DecimalSize", Method, 8},
- {"(*ColumnType).Length", Method, 8},
- {"(*ColumnType).Name", Method, 8},
- {"(*ColumnType).Nullable", Method, 8},
- {"(*ColumnType).ScanType", Method, 8},
- {"(*Conn).BeginTx", Method, 9},
- {"(*Conn).Close", Method, 9},
- {"(*Conn).ExecContext", Method, 9},
- {"(*Conn).PingContext", Method, 9},
- {"(*Conn).PrepareContext", Method, 9},
- {"(*Conn).QueryContext", Method, 9},
- {"(*Conn).QueryRowContext", Method, 9},
- {"(*Conn).Raw", Method, 13},
- {"(*DB).Begin", Method, 0},
- {"(*DB).BeginTx", Method, 8},
- {"(*DB).Close", Method, 0},
- {"(*DB).Conn", Method, 9},
- {"(*DB).Driver", Method, 0},
- {"(*DB).Exec", Method, 0},
- {"(*DB).ExecContext", Method, 8},
- {"(*DB).Ping", Method, 1},
- {"(*DB).PingContext", Method, 8},
- {"(*DB).Prepare", Method, 0},
- {"(*DB).PrepareContext", Method, 8},
- {"(*DB).Query", Method, 0},
- {"(*DB).QueryContext", Method, 8},
- {"(*DB).QueryRow", Method, 0},
- {"(*DB).QueryRowContext", Method, 8},
- {"(*DB).SetConnMaxIdleTime", Method, 15},
- {"(*DB).SetConnMaxLifetime", Method, 6},
- {"(*DB).SetMaxIdleConns", Method, 1},
- {"(*DB).SetMaxOpenConns", Method, 2},
- {"(*DB).Stats", Method, 5},
- {"(*Null).Scan", Method, 22},
- {"(*NullBool).Scan", Method, 0},
- {"(*NullByte).Scan", Method, 17},
- {"(*NullFloat64).Scan", Method, 0},
- {"(*NullInt16).Scan", Method, 17},
- {"(*NullInt32).Scan", Method, 13},
- {"(*NullInt64).Scan", Method, 0},
- {"(*NullString).Scan", Method, 0},
- {"(*NullTime).Scan", Method, 13},
- {"(*Row).Err", Method, 15},
- {"(*Row).Scan", Method, 0},
- {"(*Rows).Close", Method, 0},
- {"(*Rows).ColumnTypes", Method, 8},
- {"(*Rows).Columns", Method, 0},
- {"(*Rows).Err", Method, 0},
- {"(*Rows).Next", Method, 0},
- {"(*Rows).NextResultSet", Method, 8},
- {"(*Rows).Scan", Method, 0},
- {"(*Stmt).Close", Method, 0},
- {"(*Stmt).Exec", Method, 0},
- {"(*Stmt).ExecContext", Method, 8},
- {"(*Stmt).Query", Method, 0},
- {"(*Stmt).QueryContext", Method, 8},
- {"(*Stmt).QueryRow", Method, 0},
- {"(*Stmt).QueryRowContext", Method, 8},
- {"(*Tx).Commit", Method, 0},
- {"(*Tx).Exec", Method, 0},
- {"(*Tx).ExecContext", Method, 8},
- {"(*Tx).Prepare", Method, 0},
- {"(*Tx).PrepareContext", Method, 8},
- {"(*Tx).Query", Method, 0},
- {"(*Tx).QueryContext", Method, 8},
- {"(*Tx).QueryRow", Method, 0},
- {"(*Tx).QueryRowContext", Method, 8},
- {"(*Tx).Rollback", Method, 0},
- {"(*Tx).Stmt", Method, 0},
- {"(*Tx).StmtContext", Method, 8},
- {"(IsolationLevel).String", Method, 11},
- {"(Null).Value", Method, 22},
- {"(NullBool).Value", Method, 0},
- {"(NullByte).Value", Method, 17},
- {"(NullFloat64).Value", Method, 0},
- {"(NullInt16).Value", Method, 17},
- {"(NullInt32).Value", Method, 13},
- {"(NullInt64).Value", Method, 0},
- {"(NullString).Value", Method, 0},
- {"(NullTime).Value", Method, 13},
- {"ColumnType", Type, 8},
- {"Conn", Type, 9},
- {"DB", Type, 0},
- {"DBStats", Type, 5},
- {"DBStats.Idle", Field, 11},
- {"DBStats.InUse", Field, 11},
- {"DBStats.MaxIdleClosed", Field, 11},
- {"DBStats.MaxIdleTimeClosed", Field, 15},
- {"DBStats.MaxLifetimeClosed", Field, 11},
- {"DBStats.MaxOpenConnections", Field, 11},
- {"DBStats.OpenConnections", Field, 5},
- {"DBStats.WaitCount", Field, 11},
- {"DBStats.WaitDuration", Field, 11},
- {"Drivers", Func, 4},
- {"ErrConnDone", Var, 9},
- {"ErrNoRows", Var, 0},
- {"ErrTxDone", Var, 0},
- {"IsolationLevel", Type, 8},
- {"LevelDefault", Const, 8},
- {"LevelLinearizable", Const, 8},
- {"LevelReadCommitted", Const, 8},
- {"LevelReadUncommitted", Const, 8},
- {"LevelRepeatableRead", Const, 8},
- {"LevelSerializable", Const, 8},
- {"LevelSnapshot", Const, 8},
- {"LevelWriteCommitted", Const, 8},
- {"Named", Func, 8},
- {"NamedArg", Type, 8},
- {"NamedArg.Name", Field, 8},
- {"NamedArg.Value", Field, 8},
- {"Null", Type, 22},
- {"Null.V", Field, 22},
- {"Null.Valid", Field, 22},
- {"NullBool", Type, 0},
- {"NullBool.Bool", Field, 0},
- {"NullBool.Valid", Field, 0},
- {"NullByte", Type, 17},
- {"NullByte.Byte", Field, 17},
- {"NullByte.Valid", Field, 17},
- {"NullFloat64", Type, 0},
- {"NullFloat64.Float64", Field, 0},
- {"NullFloat64.Valid", Field, 0},
- {"NullInt16", Type, 17},
- {"NullInt16.Int16", Field, 17},
- {"NullInt16.Valid", Field, 17},
- {"NullInt32", Type, 13},
- {"NullInt32.Int32", Field, 13},
- {"NullInt32.Valid", Field, 13},
- {"NullInt64", Type, 0},
- {"NullInt64.Int64", Field, 0},
- {"NullInt64.Valid", Field, 0},
- {"NullString", Type, 0},
- {"NullString.String", Field, 0},
- {"NullString.Valid", Field, 0},
- {"NullTime", Type, 13},
- {"NullTime.Time", Field, 13},
- {"NullTime.Valid", Field, 13},
- {"Open", Func, 0},
- {"OpenDB", Func, 10},
- {"Out", Type, 9},
- {"Out.Dest", Field, 9},
- {"Out.In", Field, 9},
- {"RawBytes", Type, 0},
- {"Register", Func, 0},
- {"Result", Type, 0},
- {"Row", Type, 0},
- {"Rows", Type, 0},
- {"Scanner", Type, 0},
- {"Stmt", Type, 0},
- {"Tx", Type, 0},
- {"TxOptions", Type, 8},
- {"TxOptions.Isolation", Field, 8},
- {"TxOptions.ReadOnly", Field, 8},
- },
- "database/sql/driver": {
- {"(NotNull).ConvertValue", Method, 0},
- {"(Null).ConvertValue", Method, 0},
- {"(RowsAffected).LastInsertId", Method, 0},
- {"(RowsAffected).RowsAffected", Method, 0},
- {"Bool", Var, 0},
- {"ColumnConverter", Type, 0},
- {"Conn", Type, 0},
- {"ConnBeginTx", Type, 8},
- {"ConnPrepareContext", Type, 8},
- {"Connector", Type, 10},
- {"DefaultParameterConverter", Var, 0},
- {"Driver", Type, 0},
- {"DriverContext", Type, 10},
- {"ErrBadConn", Var, 0},
- {"ErrRemoveArgument", Var, 9},
- {"ErrSkip", Var, 0},
- {"Execer", Type, 0},
- {"ExecerContext", Type, 8},
- {"Int32", Var, 0},
- {"IsScanValue", Func, 0},
- {"IsValue", Func, 0},
- {"IsolationLevel", Type, 8},
- {"NamedValue", Type, 8},
- {"NamedValue.Name", Field, 8},
- {"NamedValue.Ordinal", Field, 8},
- {"NamedValue.Value", Field, 8},
- {"NamedValueChecker", Type, 9},
- {"NotNull", Type, 0},
- {"NotNull.Converter", Field, 0},
- {"Null", Type, 0},
- {"Null.Converter", Field, 0},
- {"Pinger", Type, 8},
- {"Queryer", Type, 1},
- {"QueryerContext", Type, 8},
- {"Result", Type, 0},
- {"ResultNoRows", Var, 0},
- {"Rows", Type, 0},
- {"RowsAffected", Type, 0},
- {"RowsColumnTypeDatabaseTypeName", Type, 8},
- {"RowsColumnTypeLength", Type, 8},
- {"RowsColumnTypeNullable", Type, 8},
- {"RowsColumnTypePrecisionScale", Type, 8},
- {"RowsColumnTypeScanType", Type, 8},
- {"RowsNextResultSet", Type, 8},
- {"SessionResetter", Type, 10},
- {"Stmt", Type, 0},
- {"StmtExecContext", Type, 8},
- {"StmtQueryContext", Type, 8},
- {"String", Var, 0},
- {"Tx", Type, 0},
- {"TxOptions", Type, 8},
- {"TxOptions.Isolation", Field, 8},
- {"TxOptions.ReadOnly", Field, 8},
- {"Validator", Type, 15},
- {"Value", Type, 0},
- {"ValueConverter", Type, 0},
- {"Valuer", Type, 0},
- },
- "debug/buildinfo": {
- {"BuildInfo", Type, 18},
- {"Read", Func, 18},
- {"ReadFile", Func, 18},
- },
- "debug/dwarf": {
- {"(*AddrType).Basic", Method, 0},
- {"(*AddrType).Common", Method, 0},
- {"(*AddrType).Size", Method, 0},
- {"(*AddrType).String", Method, 0},
- {"(*ArrayType).Common", Method, 0},
- {"(*ArrayType).Size", Method, 0},
- {"(*ArrayType).String", Method, 0},
- {"(*BasicType).Basic", Method, 0},
- {"(*BasicType).Common", Method, 0},
- {"(*BasicType).Size", Method, 0},
- {"(*BasicType).String", Method, 0},
- {"(*BoolType).Basic", Method, 0},
- {"(*BoolType).Common", Method, 0},
- {"(*BoolType).Size", Method, 0},
- {"(*BoolType).String", Method, 0},
- {"(*CharType).Basic", Method, 0},
- {"(*CharType).Common", Method, 0},
- {"(*CharType).Size", Method, 0},
- {"(*CharType).String", Method, 0},
- {"(*CommonType).Common", Method, 0},
- {"(*CommonType).Size", Method, 0},
- {"(*ComplexType).Basic", Method, 0},
- {"(*ComplexType).Common", Method, 0},
- {"(*ComplexType).Size", Method, 0},
- {"(*ComplexType).String", Method, 0},
- {"(*Data).AddSection", Method, 14},
- {"(*Data).AddTypes", Method, 3},
- {"(*Data).LineReader", Method, 5},
- {"(*Data).Ranges", Method, 7},
- {"(*Data).Reader", Method, 0},
- {"(*Data).Type", Method, 0},
- {"(*DotDotDotType).Common", Method, 0},
- {"(*DotDotDotType).Size", Method, 0},
- {"(*DotDotDotType).String", Method, 0},
- {"(*Entry).AttrField", Method, 5},
- {"(*Entry).Val", Method, 0},
- {"(*EnumType).Common", Method, 0},
- {"(*EnumType).Size", Method, 0},
- {"(*EnumType).String", Method, 0},
- {"(*FloatType).Basic", Method, 0},
- {"(*FloatType).Common", Method, 0},
- {"(*FloatType).Size", Method, 0},
- {"(*FloatType).String", Method, 0},
- {"(*FuncType).Common", Method, 0},
- {"(*FuncType).Size", Method, 0},
- {"(*FuncType).String", Method, 0},
- {"(*IntType).Basic", Method, 0},
- {"(*IntType).Common", Method, 0},
- {"(*IntType).Size", Method, 0},
- {"(*IntType).String", Method, 0},
- {"(*LineReader).Files", Method, 14},
- {"(*LineReader).Next", Method, 5},
- {"(*LineReader).Reset", Method, 5},
- {"(*LineReader).Seek", Method, 5},
- {"(*LineReader).SeekPC", Method, 5},
- {"(*LineReader).Tell", Method, 5},
- {"(*PtrType).Common", Method, 0},
- {"(*PtrType).Size", Method, 0},
- {"(*PtrType).String", Method, 0},
- {"(*QualType).Common", Method, 0},
- {"(*QualType).Size", Method, 0},
- {"(*QualType).String", Method, 0},
- {"(*Reader).AddressSize", Method, 5},
- {"(*Reader).ByteOrder", Method, 14},
- {"(*Reader).Next", Method, 0},
- {"(*Reader).Seek", Method, 0},
- {"(*Reader).SeekPC", Method, 7},
- {"(*Reader).SkipChildren", Method, 0},
- {"(*StructType).Common", Method, 0},
- {"(*StructType).Defn", Method, 0},
- {"(*StructType).Size", Method, 0},
- {"(*StructType).String", Method, 0},
- {"(*TypedefType).Common", Method, 0},
- {"(*TypedefType).Size", Method, 0},
- {"(*TypedefType).String", Method, 0},
- {"(*UcharType).Basic", Method, 0},
- {"(*UcharType).Common", Method, 0},
- {"(*UcharType).Size", Method, 0},
- {"(*UcharType).String", Method, 0},
- {"(*UintType).Basic", Method, 0},
- {"(*UintType).Common", Method, 0},
- {"(*UintType).Size", Method, 0},
- {"(*UintType).String", Method, 0},
- {"(*UnspecifiedType).Basic", Method, 4},
- {"(*UnspecifiedType).Common", Method, 4},
- {"(*UnspecifiedType).Size", Method, 4},
- {"(*UnspecifiedType).String", Method, 4},
- {"(*UnsupportedType).Common", Method, 13},
- {"(*UnsupportedType).Size", Method, 13},
- {"(*UnsupportedType).String", Method, 13},
- {"(*VoidType).Common", Method, 0},
- {"(*VoidType).Size", Method, 0},
- {"(*VoidType).String", Method, 0},
- {"(Attr).GoString", Method, 0},
- {"(Attr).String", Method, 0},
- {"(Class).GoString", Method, 5},
- {"(Class).String", Method, 5},
- {"(DecodeError).Error", Method, 0},
- {"(Tag).GoString", Method, 0},
- {"(Tag).String", Method, 0},
- {"AddrType", Type, 0},
- {"AddrType.BasicType", Field, 0},
- {"ArrayType", Type, 0},
- {"ArrayType.CommonType", Field, 0},
- {"ArrayType.Count", Field, 0},
- {"ArrayType.StrideBitSize", Field, 0},
- {"ArrayType.Type", Field, 0},
- {"Attr", Type, 0},
- {"AttrAbstractOrigin", Const, 0},
- {"AttrAccessibility", Const, 0},
- {"AttrAddrBase", Const, 14},
- {"AttrAddrClass", Const, 0},
- {"AttrAlignment", Const, 14},
- {"AttrAllocated", Const, 0},
- {"AttrArtificial", Const, 0},
- {"AttrAssociated", Const, 0},
- {"AttrBaseTypes", Const, 0},
- {"AttrBinaryScale", Const, 14},
- {"AttrBitOffset", Const, 0},
- {"AttrBitSize", Const, 0},
- {"AttrByteSize", Const, 0},
- {"AttrCallAllCalls", Const, 14},
- {"AttrCallAllSourceCalls", Const, 14},
- {"AttrCallAllTailCalls", Const, 14},
- {"AttrCallColumn", Const, 0},
- {"AttrCallDataLocation", Const, 14},
- {"AttrCallDataValue", Const, 14},
- {"AttrCallFile", Const, 0},
- {"AttrCallLine", Const, 0},
- {"AttrCallOrigin", Const, 14},
- {"AttrCallPC", Const, 14},
- {"AttrCallParameter", Const, 14},
- {"AttrCallReturnPC", Const, 14},
- {"AttrCallTailCall", Const, 14},
- {"AttrCallTarget", Const, 14},
- {"AttrCallTargetClobbered", Const, 14},
- {"AttrCallValue", Const, 14},
- {"AttrCalling", Const, 0},
- {"AttrCommonRef", Const, 0},
- {"AttrCompDir", Const, 0},
- {"AttrConstExpr", Const, 14},
- {"AttrConstValue", Const, 0},
- {"AttrContainingType", Const, 0},
- {"AttrCount", Const, 0},
- {"AttrDataBitOffset", Const, 14},
- {"AttrDataLocation", Const, 0},
- {"AttrDataMemberLoc", Const, 0},
- {"AttrDecimalScale", Const, 14},
- {"AttrDecimalSign", Const, 14},
- {"AttrDeclColumn", Const, 0},
- {"AttrDeclFile", Const, 0},
- {"AttrDeclLine", Const, 0},
- {"AttrDeclaration", Const, 0},
- {"AttrDefaultValue", Const, 0},
- {"AttrDefaulted", Const, 14},
- {"AttrDeleted", Const, 14},
- {"AttrDescription", Const, 0},
- {"AttrDigitCount", Const, 14},
- {"AttrDiscr", Const, 0},
- {"AttrDiscrList", Const, 0},
- {"AttrDiscrValue", Const, 0},
- {"AttrDwoName", Const, 14},
- {"AttrElemental", Const, 14},
- {"AttrEncoding", Const, 0},
- {"AttrEndianity", Const, 14},
- {"AttrEntrypc", Const, 0},
- {"AttrEnumClass", Const, 14},
- {"AttrExplicit", Const, 14},
- {"AttrExportSymbols", Const, 14},
- {"AttrExtension", Const, 0},
- {"AttrExternal", Const, 0},
- {"AttrFrameBase", Const, 0},
- {"AttrFriend", Const, 0},
- {"AttrHighpc", Const, 0},
- {"AttrIdentifierCase", Const, 0},
- {"AttrImport", Const, 0},
- {"AttrInline", Const, 0},
- {"AttrIsOptional", Const, 0},
- {"AttrLanguage", Const, 0},
- {"AttrLinkageName", Const, 14},
- {"AttrLocation", Const, 0},
- {"AttrLoclistsBase", Const, 14},
- {"AttrLowerBound", Const, 0},
- {"AttrLowpc", Const, 0},
- {"AttrMacroInfo", Const, 0},
- {"AttrMacros", Const, 14},
- {"AttrMainSubprogram", Const, 14},
- {"AttrMutable", Const, 14},
- {"AttrName", Const, 0},
- {"AttrNamelistItem", Const, 0},
- {"AttrNoreturn", Const, 14},
- {"AttrObjectPointer", Const, 14},
- {"AttrOrdering", Const, 0},
- {"AttrPictureString", Const, 14},
- {"AttrPriority", Const, 0},
- {"AttrProducer", Const, 0},
- {"AttrPrototyped", Const, 0},
- {"AttrPure", Const, 14},
- {"AttrRanges", Const, 0},
- {"AttrRank", Const, 14},
- {"AttrRecursive", Const, 14},
- {"AttrReference", Const, 14},
- {"AttrReturnAddr", Const, 0},
- {"AttrRnglistsBase", Const, 14},
- {"AttrRvalueReference", Const, 14},
- {"AttrSegment", Const, 0},
- {"AttrSibling", Const, 0},
- {"AttrSignature", Const, 14},
- {"AttrSmall", Const, 14},
- {"AttrSpecification", Const, 0},
- {"AttrStartScope", Const, 0},
- {"AttrStaticLink", Const, 0},
- {"AttrStmtList", Const, 0},
- {"AttrStrOffsetsBase", Const, 14},
- {"AttrStride", Const, 0},
- {"AttrStrideSize", Const, 0},
- {"AttrStringLength", Const, 0},
- {"AttrStringLengthBitSize", Const, 14},
- {"AttrStringLengthByteSize", Const, 14},
- {"AttrThreadsScaled", Const, 14},
- {"AttrTrampoline", Const, 0},
- {"AttrType", Const, 0},
- {"AttrUpperBound", Const, 0},
- {"AttrUseLocation", Const, 0},
- {"AttrUseUTF8", Const, 0},
- {"AttrVarParam", Const, 0},
- {"AttrVirtuality", Const, 0},
- {"AttrVisibility", Const, 0},
- {"AttrVtableElemLoc", Const, 0},
- {"BasicType", Type, 0},
- {"BasicType.BitOffset", Field, 0},
- {"BasicType.BitSize", Field, 0},
- {"BasicType.CommonType", Field, 0},
- {"BasicType.DataBitOffset", Field, 18},
- {"BoolType", Type, 0},
- {"BoolType.BasicType", Field, 0},
- {"CharType", Type, 0},
- {"CharType.BasicType", Field, 0},
- {"Class", Type, 5},
- {"ClassAddrPtr", Const, 14},
- {"ClassAddress", Const, 5},
- {"ClassBlock", Const, 5},
- {"ClassConstant", Const, 5},
- {"ClassExprLoc", Const, 5},
- {"ClassFlag", Const, 5},
- {"ClassLinePtr", Const, 5},
- {"ClassLocList", Const, 14},
- {"ClassLocListPtr", Const, 5},
- {"ClassMacPtr", Const, 5},
- {"ClassRangeListPtr", Const, 5},
- {"ClassReference", Const, 5},
- {"ClassReferenceAlt", Const, 5},
- {"ClassReferenceSig", Const, 5},
- {"ClassRngList", Const, 14},
- {"ClassRngListsPtr", Const, 14},
- {"ClassStrOffsetsPtr", Const, 14},
- {"ClassString", Const, 5},
- {"ClassStringAlt", Const, 5},
- {"ClassUnknown", Const, 6},
- {"CommonType", Type, 0},
- {"CommonType.ByteSize", Field, 0},
- {"CommonType.Name", Field, 0},
- {"ComplexType", Type, 0},
- {"ComplexType.BasicType", Field, 0},
- {"Data", Type, 0},
- {"DecodeError", Type, 0},
- {"DecodeError.Err", Field, 0},
- {"DecodeError.Name", Field, 0},
- {"DecodeError.Offset", Field, 0},
- {"DotDotDotType", Type, 0},
- {"DotDotDotType.CommonType", Field, 0},
- {"Entry", Type, 0},
- {"Entry.Children", Field, 0},
- {"Entry.Field", Field, 0},
- {"Entry.Offset", Field, 0},
- {"Entry.Tag", Field, 0},
- {"EnumType", Type, 0},
- {"EnumType.CommonType", Field, 0},
- {"EnumType.EnumName", Field, 0},
- {"EnumType.Val", Field, 0},
- {"EnumValue", Type, 0},
- {"EnumValue.Name", Field, 0},
- {"EnumValue.Val", Field, 0},
- {"ErrUnknownPC", Var, 5},
- {"Field", Type, 0},
- {"Field.Attr", Field, 0},
- {"Field.Class", Field, 5},
- {"Field.Val", Field, 0},
- {"FloatType", Type, 0},
- {"FloatType.BasicType", Field, 0},
- {"FuncType", Type, 0},
- {"FuncType.CommonType", Field, 0},
- {"FuncType.ParamType", Field, 0},
- {"FuncType.ReturnType", Field, 0},
- {"IntType", Type, 0},
- {"IntType.BasicType", Field, 0},
- {"LineEntry", Type, 5},
- {"LineEntry.Address", Field, 5},
- {"LineEntry.BasicBlock", Field, 5},
- {"LineEntry.Column", Field, 5},
- {"LineEntry.Discriminator", Field, 5},
- {"LineEntry.EndSequence", Field, 5},
- {"LineEntry.EpilogueBegin", Field, 5},
- {"LineEntry.File", Field, 5},
- {"LineEntry.ISA", Field, 5},
- {"LineEntry.IsStmt", Field, 5},
- {"LineEntry.Line", Field, 5},
- {"LineEntry.OpIndex", Field, 5},
- {"LineEntry.PrologueEnd", Field, 5},
- {"LineFile", Type, 5},
- {"LineFile.Length", Field, 5},
- {"LineFile.Mtime", Field, 5},
- {"LineFile.Name", Field, 5},
- {"LineReader", Type, 5},
- {"LineReaderPos", Type, 5},
- {"New", Func, 0},
- {"Offset", Type, 0},
- {"PtrType", Type, 0},
- {"PtrType.CommonType", Field, 0},
- {"PtrType.Type", Field, 0},
- {"QualType", Type, 0},
- {"QualType.CommonType", Field, 0},
- {"QualType.Qual", Field, 0},
- {"QualType.Type", Field, 0},
- {"Reader", Type, 0},
- {"StructField", Type, 0},
- {"StructField.BitOffset", Field, 0},
- {"StructField.BitSize", Field, 0},
- {"StructField.ByteOffset", Field, 0},
- {"StructField.ByteSize", Field, 0},
- {"StructField.DataBitOffset", Field, 18},
- {"StructField.Name", Field, 0},
- {"StructField.Type", Field, 0},
- {"StructType", Type, 0},
- {"StructType.CommonType", Field, 0},
- {"StructType.Field", Field, 0},
- {"StructType.Incomplete", Field, 0},
- {"StructType.Kind", Field, 0},
- {"StructType.StructName", Field, 0},
- {"Tag", Type, 0},
- {"TagAccessDeclaration", Const, 0},
- {"TagArrayType", Const, 0},
- {"TagAtomicType", Const, 14},
- {"TagBaseType", Const, 0},
- {"TagCallSite", Const, 14},
- {"TagCallSiteParameter", Const, 14},
- {"TagCatchDwarfBlock", Const, 0},
- {"TagClassType", Const, 0},
- {"TagCoarrayType", Const, 14},
- {"TagCommonDwarfBlock", Const, 0},
- {"TagCommonInclusion", Const, 0},
- {"TagCompileUnit", Const, 0},
- {"TagCondition", Const, 3},
- {"TagConstType", Const, 0},
- {"TagConstant", Const, 0},
- {"TagDwarfProcedure", Const, 0},
- {"TagDynamicType", Const, 14},
- {"TagEntryPoint", Const, 0},
- {"TagEnumerationType", Const, 0},
- {"TagEnumerator", Const, 0},
- {"TagFileType", Const, 0},
- {"TagFormalParameter", Const, 0},
- {"TagFriend", Const, 0},
- {"TagGenericSubrange", Const, 14},
- {"TagImmutableType", Const, 14},
- {"TagImportedDeclaration", Const, 0},
- {"TagImportedModule", Const, 0},
- {"TagImportedUnit", Const, 0},
- {"TagInheritance", Const, 0},
- {"TagInlinedSubroutine", Const, 0},
- {"TagInterfaceType", Const, 0},
- {"TagLabel", Const, 0},
- {"TagLexDwarfBlock", Const, 0},
- {"TagMember", Const, 0},
- {"TagModule", Const, 0},
- {"TagMutableType", Const, 0},
- {"TagNamelist", Const, 0},
- {"TagNamelistItem", Const, 0},
- {"TagNamespace", Const, 0},
- {"TagPackedType", Const, 0},
- {"TagPartialUnit", Const, 0},
- {"TagPointerType", Const, 0},
- {"TagPtrToMemberType", Const, 0},
- {"TagReferenceType", Const, 0},
- {"TagRestrictType", Const, 0},
- {"TagRvalueReferenceType", Const, 3},
- {"TagSetType", Const, 0},
- {"TagSharedType", Const, 3},
- {"TagSkeletonUnit", Const, 14},
- {"TagStringType", Const, 0},
- {"TagStructType", Const, 0},
- {"TagSubprogram", Const, 0},
- {"TagSubrangeType", Const, 0},
- {"TagSubroutineType", Const, 0},
- {"TagTemplateAlias", Const, 3},
- {"TagTemplateTypeParameter", Const, 0},
- {"TagTemplateValueParameter", Const, 0},
- {"TagThrownType", Const, 0},
- {"TagTryDwarfBlock", Const, 0},
- {"TagTypeUnit", Const, 3},
- {"TagTypedef", Const, 0},
- {"TagUnionType", Const, 0},
- {"TagUnspecifiedParameters", Const, 0},
- {"TagUnspecifiedType", Const, 0},
- {"TagVariable", Const, 0},
- {"TagVariant", Const, 0},
- {"TagVariantPart", Const, 0},
- {"TagVolatileType", Const, 0},
- {"TagWithStmt", Const, 0},
- {"Type", Type, 0},
- {"TypedefType", Type, 0},
- {"TypedefType.CommonType", Field, 0},
- {"TypedefType.Type", Field, 0},
- {"UcharType", Type, 0},
- {"UcharType.BasicType", Field, 0},
- {"UintType", Type, 0},
- {"UintType.BasicType", Field, 0},
- {"UnspecifiedType", Type, 4},
- {"UnspecifiedType.BasicType", Field, 4},
- {"UnsupportedType", Type, 13},
- {"UnsupportedType.CommonType", Field, 13},
- {"UnsupportedType.Tag", Field, 13},
- {"VoidType", Type, 0},
- {"VoidType.CommonType", Field, 0},
- },
- "debug/elf": {
- {"(*File).Close", Method, 0},
- {"(*File).DWARF", Method, 0},
- {"(*File).DynString", Method, 1},
- {"(*File).DynValue", Method, 21},
- {"(*File).DynamicSymbols", Method, 4},
- {"(*File).ImportedLibraries", Method, 0},
- {"(*File).ImportedSymbols", Method, 0},
- {"(*File).Section", Method, 0},
- {"(*File).SectionByType", Method, 0},
- {"(*File).Symbols", Method, 0},
- {"(*FormatError).Error", Method, 0},
- {"(*Prog).Open", Method, 0},
- {"(*Section).Data", Method, 0},
- {"(*Section).Open", Method, 0},
- {"(Class).GoString", Method, 0},
- {"(Class).String", Method, 0},
- {"(CompressionType).GoString", Method, 6},
- {"(CompressionType).String", Method, 6},
- {"(Data).GoString", Method, 0},
- {"(Data).String", Method, 0},
- {"(DynFlag).GoString", Method, 0},
- {"(DynFlag).String", Method, 0},
- {"(DynFlag1).GoString", Method, 21},
- {"(DynFlag1).String", Method, 21},
- {"(DynTag).GoString", Method, 0},
- {"(DynTag).String", Method, 0},
- {"(Machine).GoString", Method, 0},
- {"(Machine).String", Method, 0},
- {"(NType).GoString", Method, 0},
- {"(NType).String", Method, 0},
- {"(OSABI).GoString", Method, 0},
- {"(OSABI).String", Method, 0},
- {"(Prog).ReadAt", Method, 0},
- {"(ProgFlag).GoString", Method, 0},
- {"(ProgFlag).String", Method, 0},
- {"(ProgType).GoString", Method, 0},
- {"(ProgType).String", Method, 0},
- {"(R_386).GoString", Method, 0},
- {"(R_386).String", Method, 0},
- {"(R_390).GoString", Method, 7},
- {"(R_390).String", Method, 7},
- {"(R_AARCH64).GoString", Method, 4},
- {"(R_AARCH64).String", Method, 4},
- {"(R_ALPHA).GoString", Method, 0},
- {"(R_ALPHA).String", Method, 0},
- {"(R_ARM).GoString", Method, 0},
- {"(R_ARM).String", Method, 0},
- {"(R_LARCH).GoString", Method, 19},
- {"(R_LARCH).String", Method, 19},
- {"(R_MIPS).GoString", Method, 6},
- {"(R_MIPS).String", Method, 6},
- {"(R_PPC).GoString", Method, 0},
- {"(R_PPC).String", Method, 0},
- {"(R_PPC64).GoString", Method, 5},
- {"(R_PPC64).String", Method, 5},
- {"(R_RISCV).GoString", Method, 11},
- {"(R_RISCV).String", Method, 11},
- {"(R_SPARC).GoString", Method, 0},
- {"(R_SPARC).String", Method, 0},
- {"(R_X86_64).GoString", Method, 0},
- {"(R_X86_64).String", Method, 0},
- {"(Section).ReadAt", Method, 0},
- {"(SectionFlag).GoString", Method, 0},
- {"(SectionFlag).String", Method, 0},
- {"(SectionIndex).GoString", Method, 0},
- {"(SectionIndex).String", Method, 0},
- {"(SectionType).GoString", Method, 0},
- {"(SectionType).String", Method, 0},
- {"(SymBind).GoString", Method, 0},
- {"(SymBind).String", Method, 0},
- {"(SymType).GoString", Method, 0},
- {"(SymType).String", Method, 0},
- {"(SymVis).GoString", Method, 0},
- {"(SymVis).String", Method, 0},
- {"(Type).GoString", Method, 0},
- {"(Type).String", Method, 0},
- {"(Version).GoString", Method, 0},
- {"(Version).String", Method, 0},
- {"ARM_MAGIC_TRAMP_NUMBER", Const, 0},
- {"COMPRESS_HIOS", Const, 6},
- {"COMPRESS_HIPROC", Const, 6},
- {"COMPRESS_LOOS", Const, 6},
- {"COMPRESS_LOPROC", Const, 6},
- {"COMPRESS_ZLIB", Const, 6},
- {"COMPRESS_ZSTD", Const, 21},
- {"Chdr32", Type, 6},
- {"Chdr32.Addralign", Field, 6},
- {"Chdr32.Size", Field, 6},
- {"Chdr32.Type", Field, 6},
- {"Chdr64", Type, 6},
- {"Chdr64.Addralign", Field, 6},
- {"Chdr64.Size", Field, 6},
- {"Chdr64.Type", Field, 6},
- {"Class", Type, 0},
- {"CompressionType", Type, 6},
- {"DF_1_CONFALT", Const, 21},
- {"DF_1_DIRECT", Const, 21},
- {"DF_1_DISPRELDNE", Const, 21},
- {"DF_1_DISPRELPND", Const, 21},
- {"DF_1_EDITED", Const, 21},
- {"DF_1_ENDFILTEE", Const, 21},
- {"DF_1_GLOBAL", Const, 21},
- {"DF_1_GLOBAUDIT", Const, 21},
- {"DF_1_GROUP", Const, 21},
- {"DF_1_IGNMULDEF", Const, 21},
- {"DF_1_INITFIRST", Const, 21},
- {"DF_1_INTERPOSE", Const, 21},
- {"DF_1_KMOD", Const, 21},
- {"DF_1_LOADFLTR", Const, 21},
- {"DF_1_NOCOMMON", Const, 21},
- {"DF_1_NODEFLIB", Const, 21},
- {"DF_1_NODELETE", Const, 21},
- {"DF_1_NODIRECT", Const, 21},
- {"DF_1_NODUMP", Const, 21},
- {"DF_1_NOHDR", Const, 21},
- {"DF_1_NOKSYMS", Const, 21},
- {"DF_1_NOOPEN", Const, 21},
- {"DF_1_NORELOC", Const, 21},
- {"DF_1_NOW", Const, 21},
- {"DF_1_ORIGIN", Const, 21},
- {"DF_1_PIE", Const, 21},
- {"DF_1_SINGLETON", Const, 21},
- {"DF_1_STUB", Const, 21},
- {"DF_1_SYMINTPOSE", Const, 21},
- {"DF_1_TRANS", Const, 21},
- {"DF_1_WEAKFILTER", Const, 21},
- {"DF_BIND_NOW", Const, 0},
- {"DF_ORIGIN", Const, 0},
- {"DF_STATIC_TLS", Const, 0},
- {"DF_SYMBOLIC", Const, 0},
- {"DF_TEXTREL", Const, 0},
- {"DT_ADDRRNGHI", Const, 16},
- {"DT_ADDRRNGLO", Const, 16},
- {"DT_AUDIT", Const, 16},
- {"DT_AUXILIARY", Const, 16},
- {"DT_BIND_NOW", Const, 0},
- {"DT_CHECKSUM", Const, 16},
- {"DT_CONFIG", Const, 16},
- {"DT_DEBUG", Const, 0},
- {"DT_DEPAUDIT", Const, 16},
- {"DT_ENCODING", Const, 0},
- {"DT_FEATURE", Const, 16},
- {"DT_FILTER", Const, 16},
- {"DT_FINI", Const, 0},
- {"DT_FINI_ARRAY", Const, 0},
- {"DT_FINI_ARRAYSZ", Const, 0},
- {"DT_FLAGS", Const, 0},
- {"DT_FLAGS_1", Const, 16},
- {"DT_GNU_CONFLICT", Const, 16},
- {"DT_GNU_CONFLICTSZ", Const, 16},
- {"DT_GNU_HASH", Const, 16},
- {"DT_GNU_LIBLIST", Const, 16},
- {"DT_GNU_LIBLISTSZ", Const, 16},
- {"DT_GNU_PRELINKED", Const, 16},
- {"DT_HASH", Const, 0},
- {"DT_HIOS", Const, 0},
- {"DT_HIPROC", Const, 0},
- {"DT_INIT", Const, 0},
- {"DT_INIT_ARRAY", Const, 0},
- {"DT_INIT_ARRAYSZ", Const, 0},
- {"DT_JMPREL", Const, 0},
- {"DT_LOOS", Const, 0},
- {"DT_LOPROC", Const, 0},
- {"DT_MIPS_AUX_DYNAMIC", Const, 16},
- {"DT_MIPS_BASE_ADDRESS", Const, 16},
- {"DT_MIPS_COMPACT_SIZE", Const, 16},
- {"DT_MIPS_CONFLICT", Const, 16},
- {"DT_MIPS_CONFLICTNO", Const, 16},
- {"DT_MIPS_CXX_FLAGS", Const, 16},
- {"DT_MIPS_DELTA_CLASS", Const, 16},
- {"DT_MIPS_DELTA_CLASSSYM", Const, 16},
- {"DT_MIPS_DELTA_CLASSSYM_NO", Const, 16},
- {"DT_MIPS_DELTA_CLASS_NO", Const, 16},
- {"DT_MIPS_DELTA_INSTANCE", Const, 16},
- {"DT_MIPS_DELTA_INSTANCE_NO", Const, 16},
- {"DT_MIPS_DELTA_RELOC", Const, 16},
- {"DT_MIPS_DELTA_RELOC_NO", Const, 16},
- {"DT_MIPS_DELTA_SYM", Const, 16},
- {"DT_MIPS_DELTA_SYM_NO", Const, 16},
- {"DT_MIPS_DYNSTR_ALIGN", Const, 16},
- {"DT_MIPS_FLAGS", Const, 16},
- {"DT_MIPS_GOTSYM", Const, 16},
- {"DT_MIPS_GP_VALUE", Const, 16},
- {"DT_MIPS_HIDDEN_GOTIDX", Const, 16},
- {"DT_MIPS_HIPAGENO", Const, 16},
- {"DT_MIPS_ICHECKSUM", Const, 16},
- {"DT_MIPS_INTERFACE", Const, 16},
- {"DT_MIPS_INTERFACE_SIZE", Const, 16},
- {"DT_MIPS_IVERSION", Const, 16},
- {"DT_MIPS_LIBLIST", Const, 16},
- {"DT_MIPS_LIBLISTNO", Const, 16},
- {"DT_MIPS_LOCALPAGE_GOTIDX", Const, 16},
- {"DT_MIPS_LOCAL_GOTIDX", Const, 16},
- {"DT_MIPS_LOCAL_GOTNO", Const, 16},
- {"DT_MIPS_MSYM", Const, 16},
- {"DT_MIPS_OPTIONS", Const, 16},
- {"DT_MIPS_PERF_SUFFIX", Const, 16},
- {"DT_MIPS_PIXIE_INIT", Const, 16},
- {"DT_MIPS_PLTGOT", Const, 16},
- {"DT_MIPS_PROTECTED_GOTIDX", Const, 16},
- {"DT_MIPS_RLD_MAP", Const, 16},
- {"DT_MIPS_RLD_MAP_REL", Const, 16},
- {"DT_MIPS_RLD_TEXT_RESOLVE_ADDR", Const, 16},
- {"DT_MIPS_RLD_VERSION", Const, 16},
- {"DT_MIPS_RWPLT", Const, 16},
- {"DT_MIPS_SYMBOL_LIB", Const, 16},
- {"DT_MIPS_SYMTABNO", Const, 16},
- {"DT_MIPS_TIME_STAMP", Const, 16},
- {"DT_MIPS_UNREFEXTNO", Const, 16},
- {"DT_MOVEENT", Const, 16},
- {"DT_MOVESZ", Const, 16},
- {"DT_MOVETAB", Const, 16},
- {"DT_NEEDED", Const, 0},
- {"DT_NULL", Const, 0},
- {"DT_PLTGOT", Const, 0},
- {"DT_PLTPAD", Const, 16},
- {"DT_PLTPADSZ", Const, 16},
- {"DT_PLTREL", Const, 0},
- {"DT_PLTRELSZ", Const, 0},
- {"DT_POSFLAG_1", Const, 16},
- {"DT_PPC64_GLINK", Const, 16},
- {"DT_PPC64_OPD", Const, 16},
- {"DT_PPC64_OPDSZ", Const, 16},
- {"DT_PPC64_OPT", Const, 16},
- {"DT_PPC_GOT", Const, 16},
- {"DT_PPC_OPT", Const, 16},
- {"DT_PREINIT_ARRAY", Const, 0},
- {"DT_PREINIT_ARRAYSZ", Const, 0},
- {"DT_REL", Const, 0},
- {"DT_RELA", Const, 0},
- {"DT_RELACOUNT", Const, 16},
- {"DT_RELAENT", Const, 0},
- {"DT_RELASZ", Const, 0},
- {"DT_RELCOUNT", Const, 16},
- {"DT_RELENT", Const, 0},
- {"DT_RELSZ", Const, 0},
- {"DT_RPATH", Const, 0},
- {"DT_RUNPATH", Const, 0},
- {"DT_SONAME", Const, 0},
- {"DT_SPARC_REGISTER", Const, 16},
- {"DT_STRSZ", Const, 0},
- {"DT_STRTAB", Const, 0},
- {"DT_SYMBOLIC", Const, 0},
- {"DT_SYMENT", Const, 0},
- {"DT_SYMINENT", Const, 16},
- {"DT_SYMINFO", Const, 16},
- {"DT_SYMINSZ", Const, 16},
- {"DT_SYMTAB", Const, 0},
- {"DT_SYMTAB_SHNDX", Const, 16},
- {"DT_TEXTREL", Const, 0},
- {"DT_TLSDESC_GOT", Const, 16},
- {"DT_TLSDESC_PLT", Const, 16},
- {"DT_USED", Const, 16},
- {"DT_VALRNGHI", Const, 16},
- {"DT_VALRNGLO", Const, 16},
- {"DT_VERDEF", Const, 16},
- {"DT_VERDEFNUM", Const, 16},
- {"DT_VERNEED", Const, 0},
- {"DT_VERNEEDNUM", Const, 0},
- {"DT_VERSYM", Const, 0},
- {"Data", Type, 0},
- {"Dyn32", Type, 0},
- {"Dyn32.Tag", Field, 0},
- {"Dyn32.Val", Field, 0},
- {"Dyn64", Type, 0},
- {"Dyn64.Tag", Field, 0},
- {"Dyn64.Val", Field, 0},
- {"DynFlag", Type, 0},
- {"DynFlag1", Type, 21},
- {"DynTag", Type, 0},
- {"EI_ABIVERSION", Const, 0},
- {"EI_CLASS", Const, 0},
- {"EI_DATA", Const, 0},
- {"EI_NIDENT", Const, 0},
- {"EI_OSABI", Const, 0},
- {"EI_PAD", Const, 0},
- {"EI_VERSION", Const, 0},
- {"ELFCLASS32", Const, 0},
- {"ELFCLASS64", Const, 0},
- {"ELFCLASSNONE", Const, 0},
- {"ELFDATA2LSB", Const, 0},
- {"ELFDATA2MSB", Const, 0},
- {"ELFDATANONE", Const, 0},
- {"ELFMAG", Const, 0},
- {"ELFOSABI_86OPEN", Const, 0},
- {"ELFOSABI_AIX", Const, 0},
- {"ELFOSABI_ARM", Const, 0},
- {"ELFOSABI_AROS", Const, 11},
- {"ELFOSABI_CLOUDABI", Const, 11},
- {"ELFOSABI_FENIXOS", Const, 11},
- {"ELFOSABI_FREEBSD", Const, 0},
- {"ELFOSABI_HPUX", Const, 0},
- {"ELFOSABI_HURD", Const, 0},
- {"ELFOSABI_IRIX", Const, 0},
- {"ELFOSABI_LINUX", Const, 0},
- {"ELFOSABI_MODESTO", Const, 0},
- {"ELFOSABI_NETBSD", Const, 0},
- {"ELFOSABI_NONE", Const, 0},
- {"ELFOSABI_NSK", Const, 0},
- {"ELFOSABI_OPENBSD", Const, 0},
- {"ELFOSABI_OPENVMS", Const, 0},
- {"ELFOSABI_SOLARIS", Const, 0},
- {"ELFOSABI_STANDALONE", Const, 0},
- {"ELFOSABI_TRU64", Const, 0},
- {"EM_386", Const, 0},
- {"EM_486", Const, 0},
- {"EM_56800EX", Const, 11},
- {"EM_68HC05", Const, 11},
- {"EM_68HC08", Const, 11},
- {"EM_68HC11", Const, 11},
- {"EM_68HC12", Const, 0},
- {"EM_68HC16", Const, 11},
- {"EM_68K", Const, 0},
- {"EM_78KOR", Const, 11},
- {"EM_8051", Const, 11},
- {"EM_860", Const, 0},
- {"EM_88K", Const, 0},
- {"EM_960", Const, 0},
- {"EM_AARCH64", Const, 4},
- {"EM_ALPHA", Const, 0},
- {"EM_ALPHA_STD", Const, 0},
- {"EM_ALTERA_NIOS2", Const, 11},
- {"EM_AMDGPU", Const, 11},
- {"EM_ARC", Const, 0},
- {"EM_ARCA", Const, 11},
- {"EM_ARC_COMPACT", Const, 11},
- {"EM_ARC_COMPACT2", Const, 11},
- {"EM_ARM", Const, 0},
- {"EM_AVR", Const, 11},
- {"EM_AVR32", Const, 11},
- {"EM_BA1", Const, 11},
- {"EM_BA2", Const, 11},
- {"EM_BLACKFIN", Const, 11},
- {"EM_BPF", Const, 11},
- {"EM_C166", Const, 11},
- {"EM_CDP", Const, 11},
- {"EM_CE", Const, 11},
- {"EM_CLOUDSHIELD", Const, 11},
- {"EM_COGE", Const, 11},
- {"EM_COLDFIRE", Const, 0},
- {"EM_COOL", Const, 11},
- {"EM_COREA_1ST", Const, 11},
- {"EM_COREA_2ND", Const, 11},
- {"EM_CR", Const, 11},
- {"EM_CR16", Const, 11},
- {"EM_CRAYNV2", Const, 11},
- {"EM_CRIS", Const, 11},
- {"EM_CRX", Const, 11},
- {"EM_CSR_KALIMBA", Const, 11},
- {"EM_CUDA", Const, 11},
- {"EM_CYPRESS_M8C", Const, 11},
- {"EM_D10V", Const, 11},
- {"EM_D30V", Const, 11},
- {"EM_DSP24", Const, 11},
- {"EM_DSPIC30F", Const, 11},
- {"EM_DXP", Const, 11},
- {"EM_ECOG1", Const, 11},
- {"EM_ECOG16", Const, 11},
- {"EM_ECOG1X", Const, 11},
- {"EM_ECOG2", Const, 11},
- {"EM_ETPU", Const, 11},
- {"EM_EXCESS", Const, 11},
- {"EM_F2MC16", Const, 11},
- {"EM_FIREPATH", Const, 11},
- {"EM_FR20", Const, 0},
- {"EM_FR30", Const, 11},
- {"EM_FT32", Const, 11},
- {"EM_FX66", Const, 11},
- {"EM_H8S", Const, 0},
- {"EM_H8_300", Const, 0},
- {"EM_H8_300H", Const, 0},
- {"EM_H8_500", Const, 0},
- {"EM_HUANY", Const, 11},
- {"EM_IA_64", Const, 0},
- {"EM_INTEL205", Const, 11},
- {"EM_INTEL206", Const, 11},
- {"EM_INTEL207", Const, 11},
- {"EM_INTEL208", Const, 11},
- {"EM_INTEL209", Const, 11},
- {"EM_IP2K", Const, 11},
- {"EM_JAVELIN", Const, 11},
- {"EM_K10M", Const, 11},
- {"EM_KM32", Const, 11},
- {"EM_KMX16", Const, 11},
- {"EM_KMX32", Const, 11},
- {"EM_KMX8", Const, 11},
- {"EM_KVARC", Const, 11},
- {"EM_L10M", Const, 11},
- {"EM_LANAI", Const, 11},
- {"EM_LATTICEMICO32", Const, 11},
- {"EM_LOONGARCH", Const, 19},
- {"EM_M16C", Const, 11},
- {"EM_M32", Const, 0},
- {"EM_M32C", Const, 11},
- {"EM_M32R", Const, 11},
- {"EM_MANIK", Const, 11},
- {"EM_MAX", Const, 11},
- {"EM_MAXQ30", Const, 11},
- {"EM_MCHP_PIC", Const, 11},
- {"EM_MCST_ELBRUS", Const, 11},
- {"EM_ME16", Const, 0},
- {"EM_METAG", Const, 11},
- {"EM_MICROBLAZE", Const, 11},
- {"EM_MIPS", Const, 0},
- {"EM_MIPS_RS3_LE", Const, 0},
- {"EM_MIPS_RS4_BE", Const, 0},
- {"EM_MIPS_X", Const, 0},
- {"EM_MMA", Const, 0},
- {"EM_MMDSP_PLUS", Const, 11},
- {"EM_MMIX", Const, 11},
- {"EM_MN10200", Const, 11},
- {"EM_MN10300", Const, 11},
- {"EM_MOXIE", Const, 11},
- {"EM_MSP430", Const, 11},
- {"EM_NCPU", Const, 0},
- {"EM_NDR1", Const, 0},
- {"EM_NDS32", Const, 11},
- {"EM_NONE", Const, 0},
- {"EM_NORC", Const, 11},
- {"EM_NS32K", Const, 11},
- {"EM_OPEN8", Const, 11},
- {"EM_OPENRISC", Const, 11},
- {"EM_PARISC", Const, 0},
- {"EM_PCP", Const, 0},
- {"EM_PDP10", Const, 11},
- {"EM_PDP11", Const, 11},
- {"EM_PDSP", Const, 11},
- {"EM_PJ", Const, 11},
- {"EM_PPC", Const, 0},
- {"EM_PPC64", Const, 0},
- {"EM_PRISM", Const, 11},
- {"EM_QDSP6", Const, 11},
- {"EM_R32C", Const, 11},
- {"EM_RCE", Const, 0},
- {"EM_RH32", Const, 0},
- {"EM_RISCV", Const, 11},
- {"EM_RL78", Const, 11},
- {"EM_RS08", Const, 11},
- {"EM_RX", Const, 11},
- {"EM_S370", Const, 0},
- {"EM_S390", Const, 0},
- {"EM_SCORE7", Const, 11},
- {"EM_SEP", Const, 11},
- {"EM_SE_C17", Const, 11},
- {"EM_SE_C33", Const, 11},
- {"EM_SH", Const, 0},
- {"EM_SHARC", Const, 11},
- {"EM_SLE9X", Const, 11},
- {"EM_SNP1K", Const, 11},
- {"EM_SPARC", Const, 0},
- {"EM_SPARC32PLUS", Const, 0},
- {"EM_SPARCV9", Const, 0},
- {"EM_ST100", Const, 0},
- {"EM_ST19", Const, 11},
- {"EM_ST200", Const, 11},
- {"EM_ST7", Const, 11},
- {"EM_ST9PLUS", Const, 11},
- {"EM_STARCORE", Const, 0},
- {"EM_STM8", Const, 11},
- {"EM_STXP7X", Const, 11},
- {"EM_SVX", Const, 11},
- {"EM_TILE64", Const, 11},
- {"EM_TILEGX", Const, 11},
- {"EM_TILEPRO", Const, 11},
- {"EM_TINYJ", Const, 0},
- {"EM_TI_ARP32", Const, 11},
- {"EM_TI_C2000", Const, 11},
- {"EM_TI_C5500", Const, 11},
- {"EM_TI_C6000", Const, 11},
- {"EM_TI_PRU", Const, 11},
- {"EM_TMM_GPP", Const, 11},
- {"EM_TPC", Const, 11},
- {"EM_TRICORE", Const, 0},
- {"EM_TRIMEDIA", Const, 11},
- {"EM_TSK3000", Const, 11},
- {"EM_UNICORE", Const, 11},
- {"EM_V800", Const, 0},
- {"EM_V850", Const, 11},
- {"EM_VAX", Const, 11},
- {"EM_VIDEOCORE", Const, 11},
- {"EM_VIDEOCORE3", Const, 11},
- {"EM_VIDEOCORE5", Const, 11},
- {"EM_VISIUM", Const, 11},
- {"EM_VPP500", Const, 0},
- {"EM_X86_64", Const, 0},
- {"EM_XCORE", Const, 11},
- {"EM_XGATE", Const, 11},
- {"EM_XIMO16", Const, 11},
- {"EM_XTENSA", Const, 11},
- {"EM_Z80", Const, 11},
- {"EM_ZSP", Const, 11},
- {"ET_CORE", Const, 0},
- {"ET_DYN", Const, 0},
- {"ET_EXEC", Const, 0},
- {"ET_HIOS", Const, 0},
- {"ET_HIPROC", Const, 0},
- {"ET_LOOS", Const, 0},
- {"ET_LOPROC", Const, 0},
- {"ET_NONE", Const, 0},
- {"ET_REL", Const, 0},
- {"EV_CURRENT", Const, 0},
- {"EV_NONE", Const, 0},
- {"ErrNoSymbols", Var, 4},
- {"File", Type, 0},
- {"File.FileHeader", Field, 0},
- {"File.Progs", Field, 0},
- {"File.Sections", Field, 0},
- {"FileHeader", Type, 0},
- {"FileHeader.ABIVersion", Field, 0},
- {"FileHeader.ByteOrder", Field, 0},
- {"FileHeader.Class", Field, 0},
- {"FileHeader.Data", Field, 0},
- {"FileHeader.Entry", Field, 1},
- {"FileHeader.Machine", Field, 0},
- {"FileHeader.OSABI", Field, 0},
- {"FileHeader.Type", Field, 0},
- {"FileHeader.Version", Field, 0},
- {"FormatError", Type, 0},
- {"Header32", Type, 0},
- {"Header32.Ehsize", Field, 0},
- {"Header32.Entry", Field, 0},
- {"Header32.Flags", Field, 0},
- {"Header32.Ident", Field, 0},
- {"Header32.Machine", Field, 0},
- {"Header32.Phentsize", Field, 0},
- {"Header32.Phnum", Field, 0},
- {"Header32.Phoff", Field, 0},
- {"Header32.Shentsize", Field, 0},
- {"Header32.Shnum", Field, 0},
- {"Header32.Shoff", Field, 0},
- {"Header32.Shstrndx", Field, 0},
- {"Header32.Type", Field, 0},
- {"Header32.Version", Field, 0},
- {"Header64", Type, 0},
- {"Header64.Ehsize", Field, 0},
- {"Header64.Entry", Field, 0},
- {"Header64.Flags", Field, 0},
- {"Header64.Ident", Field, 0},
- {"Header64.Machine", Field, 0},
- {"Header64.Phentsize", Field, 0},
- {"Header64.Phnum", Field, 0},
- {"Header64.Phoff", Field, 0},
- {"Header64.Shentsize", Field, 0},
- {"Header64.Shnum", Field, 0},
- {"Header64.Shoff", Field, 0},
- {"Header64.Shstrndx", Field, 0},
- {"Header64.Type", Field, 0},
- {"Header64.Version", Field, 0},
- {"ImportedSymbol", Type, 0},
- {"ImportedSymbol.Library", Field, 0},
- {"ImportedSymbol.Name", Field, 0},
- {"ImportedSymbol.Version", Field, 0},
- {"Machine", Type, 0},
- {"NT_FPREGSET", Const, 0},
- {"NT_PRPSINFO", Const, 0},
- {"NT_PRSTATUS", Const, 0},
- {"NType", Type, 0},
- {"NewFile", Func, 0},
- {"OSABI", Type, 0},
- {"Open", Func, 0},
- {"PF_MASKOS", Const, 0},
- {"PF_MASKPROC", Const, 0},
- {"PF_R", Const, 0},
- {"PF_W", Const, 0},
- {"PF_X", Const, 0},
- {"PT_AARCH64_ARCHEXT", Const, 16},
- {"PT_AARCH64_UNWIND", Const, 16},
- {"PT_ARM_ARCHEXT", Const, 16},
- {"PT_ARM_EXIDX", Const, 16},
- {"PT_DYNAMIC", Const, 0},
- {"PT_GNU_EH_FRAME", Const, 16},
- {"PT_GNU_MBIND_HI", Const, 16},
- {"PT_GNU_MBIND_LO", Const, 16},
- {"PT_GNU_PROPERTY", Const, 16},
- {"PT_GNU_RELRO", Const, 16},
- {"PT_GNU_STACK", Const, 16},
- {"PT_HIOS", Const, 0},
- {"PT_HIPROC", Const, 0},
- {"PT_INTERP", Const, 0},
- {"PT_LOAD", Const, 0},
- {"PT_LOOS", Const, 0},
- {"PT_LOPROC", Const, 0},
- {"PT_MIPS_ABIFLAGS", Const, 16},
- {"PT_MIPS_OPTIONS", Const, 16},
- {"PT_MIPS_REGINFO", Const, 16},
- {"PT_MIPS_RTPROC", Const, 16},
- {"PT_NOTE", Const, 0},
- {"PT_NULL", Const, 0},
- {"PT_OPENBSD_BOOTDATA", Const, 16},
- {"PT_OPENBSD_NOBTCFI", Const, 23},
- {"PT_OPENBSD_RANDOMIZE", Const, 16},
- {"PT_OPENBSD_WXNEEDED", Const, 16},
- {"PT_PAX_FLAGS", Const, 16},
- {"PT_PHDR", Const, 0},
- {"PT_S390_PGSTE", Const, 16},
- {"PT_SHLIB", Const, 0},
- {"PT_SUNWSTACK", Const, 16},
- {"PT_SUNW_EH_FRAME", Const, 16},
- {"PT_TLS", Const, 0},
- {"Prog", Type, 0},
- {"Prog.ProgHeader", Field, 0},
- {"Prog.ReaderAt", Field, 0},
- {"Prog32", Type, 0},
- {"Prog32.Align", Field, 0},
- {"Prog32.Filesz", Field, 0},
- {"Prog32.Flags", Field, 0},
- {"Prog32.Memsz", Field, 0},
- {"Prog32.Off", Field, 0},
- {"Prog32.Paddr", Field, 0},
- {"Prog32.Type", Field, 0},
- {"Prog32.Vaddr", Field, 0},
- {"Prog64", Type, 0},
- {"Prog64.Align", Field, 0},
- {"Prog64.Filesz", Field, 0},
- {"Prog64.Flags", Field, 0},
- {"Prog64.Memsz", Field, 0},
- {"Prog64.Off", Field, 0},
- {"Prog64.Paddr", Field, 0},
- {"Prog64.Type", Field, 0},
- {"Prog64.Vaddr", Field, 0},
- {"ProgFlag", Type, 0},
- {"ProgHeader", Type, 0},
- {"ProgHeader.Align", Field, 0},
- {"ProgHeader.Filesz", Field, 0},
- {"ProgHeader.Flags", Field, 0},
- {"ProgHeader.Memsz", Field, 0},
- {"ProgHeader.Off", Field, 0},
- {"ProgHeader.Paddr", Field, 0},
- {"ProgHeader.Type", Field, 0},
- {"ProgHeader.Vaddr", Field, 0},
- {"ProgType", Type, 0},
- {"R_386", Type, 0},
- {"R_386_16", Const, 10},
- {"R_386_32", Const, 0},
- {"R_386_32PLT", Const, 10},
- {"R_386_8", Const, 10},
- {"R_386_COPY", Const, 0},
- {"R_386_GLOB_DAT", Const, 0},
- {"R_386_GOT32", Const, 0},
- {"R_386_GOT32X", Const, 10},
- {"R_386_GOTOFF", Const, 0},
- {"R_386_GOTPC", Const, 0},
- {"R_386_IRELATIVE", Const, 10},
- {"R_386_JMP_SLOT", Const, 0},
- {"R_386_NONE", Const, 0},
- {"R_386_PC16", Const, 10},
- {"R_386_PC32", Const, 0},
- {"R_386_PC8", Const, 10},
- {"R_386_PLT32", Const, 0},
- {"R_386_RELATIVE", Const, 0},
- {"R_386_SIZE32", Const, 10},
- {"R_386_TLS_DESC", Const, 10},
- {"R_386_TLS_DESC_CALL", Const, 10},
- {"R_386_TLS_DTPMOD32", Const, 0},
- {"R_386_TLS_DTPOFF32", Const, 0},
- {"R_386_TLS_GD", Const, 0},
- {"R_386_TLS_GD_32", Const, 0},
- {"R_386_TLS_GD_CALL", Const, 0},
- {"R_386_TLS_GD_POP", Const, 0},
- {"R_386_TLS_GD_PUSH", Const, 0},
- {"R_386_TLS_GOTDESC", Const, 10},
- {"R_386_TLS_GOTIE", Const, 0},
- {"R_386_TLS_IE", Const, 0},
- {"R_386_TLS_IE_32", Const, 0},
- {"R_386_TLS_LDM", Const, 0},
- {"R_386_TLS_LDM_32", Const, 0},
- {"R_386_TLS_LDM_CALL", Const, 0},
- {"R_386_TLS_LDM_POP", Const, 0},
- {"R_386_TLS_LDM_PUSH", Const, 0},
- {"R_386_TLS_LDO_32", Const, 0},
- {"R_386_TLS_LE", Const, 0},
- {"R_386_TLS_LE_32", Const, 0},
- {"R_386_TLS_TPOFF", Const, 0},
- {"R_386_TLS_TPOFF32", Const, 0},
- {"R_390", Type, 7},
- {"R_390_12", Const, 7},
- {"R_390_16", Const, 7},
- {"R_390_20", Const, 7},
- {"R_390_32", Const, 7},
- {"R_390_64", Const, 7},
- {"R_390_8", Const, 7},
- {"R_390_COPY", Const, 7},
- {"R_390_GLOB_DAT", Const, 7},
- {"R_390_GOT12", Const, 7},
- {"R_390_GOT16", Const, 7},
- {"R_390_GOT20", Const, 7},
- {"R_390_GOT32", Const, 7},
- {"R_390_GOT64", Const, 7},
- {"R_390_GOTENT", Const, 7},
- {"R_390_GOTOFF", Const, 7},
- {"R_390_GOTOFF16", Const, 7},
- {"R_390_GOTOFF64", Const, 7},
- {"R_390_GOTPC", Const, 7},
- {"R_390_GOTPCDBL", Const, 7},
- {"R_390_GOTPLT12", Const, 7},
- {"R_390_GOTPLT16", Const, 7},
- {"R_390_GOTPLT20", Const, 7},
- {"R_390_GOTPLT32", Const, 7},
- {"R_390_GOTPLT64", Const, 7},
- {"R_390_GOTPLTENT", Const, 7},
- {"R_390_GOTPLTOFF16", Const, 7},
- {"R_390_GOTPLTOFF32", Const, 7},
- {"R_390_GOTPLTOFF64", Const, 7},
- {"R_390_JMP_SLOT", Const, 7},
- {"R_390_NONE", Const, 7},
- {"R_390_PC16", Const, 7},
- {"R_390_PC16DBL", Const, 7},
- {"R_390_PC32", Const, 7},
- {"R_390_PC32DBL", Const, 7},
- {"R_390_PC64", Const, 7},
- {"R_390_PLT16DBL", Const, 7},
- {"R_390_PLT32", Const, 7},
- {"R_390_PLT32DBL", Const, 7},
- {"R_390_PLT64", Const, 7},
- {"R_390_RELATIVE", Const, 7},
- {"R_390_TLS_DTPMOD", Const, 7},
- {"R_390_TLS_DTPOFF", Const, 7},
- {"R_390_TLS_GD32", Const, 7},
- {"R_390_TLS_GD64", Const, 7},
- {"R_390_TLS_GDCALL", Const, 7},
- {"R_390_TLS_GOTIE12", Const, 7},
- {"R_390_TLS_GOTIE20", Const, 7},
- {"R_390_TLS_GOTIE32", Const, 7},
- {"R_390_TLS_GOTIE64", Const, 7},
- {"R_390_TLS_IE32", Const, 7},
- {"R_390_TLS_IE64", Const, 7},
- {"R_390_TLS_IEENT", Const, 7},
- {"R_390_TLS_LDCALL", Const, 7},
- {"R_390_TLS_LDM32", Const, 7},
- {"R_390_TLS_LDM64", Const, 7},
- {"R_390_TLS_LDO32", Const, 7},
- {"R_390_TLS_LDO64", Const, 7},
- {"R_390_TLS_LE32", Const, 7},
- {"R_390_TLS_LE64", Const, 7},
- {"R_390_TLS_LOAD", Const, 7},
- {"R_390_TLS_TPOFF", Const, 7},
- {"R_AARCH64", Type, 4},
- {"R_AARCH64_ABS16", Const, 4},
- {"R_AARCH64_ABS32", Const, 4},
- {"R_AARCH64_ABS64", Const, 4},
- {"R_AARCH64_ADD_ABS_LO12_NC", Const, 4},
- {"R_AARCH64_ADR_GOT_PAGE", Const, 4},
- {"R_AARCH64_ADR_PREL_LO21", Const, 4},
- {"R_AARCH64_ADR_PREL_PG_HI21", Const, 4},
- {"R_AARCH64_ADR_PREL_PG_HI21_NC", Const, 4},
- {"R_AARCH64_CALL26", Const, 4},
- {"R_AARCH64_CONDBR19", Const, 4},
- {"R_AARCH64_COPY", Const, 4},
- {"R_AARCH64_GLOB_DAT", Const, 4},
- {"R_AARCH64_GOT_LD_PREL19", Const, 4},
- {"R_AARCH64_IRELATIVE", Const, 4},
- {"R_AARCH64_JUMP26", Const, 4},
- {"R_AARCH64_JUMP_SLOT", Const, 4},
- {"R_AARCH64_LD64_GOTOFF_LO15", Const, 10},
- {"R_AARCH64_LD64_GOTPAGE_LO15", Const, 10},
- {"R_AARCH64_LD64_GOT_LO12_NC", Const, 4},
- {"R_AARCH64_LDST128_ABS_LO12_NC", Const, 4},
- {"R_AARCH64_LDST16_ABS_LO12_NC", Const, 4},
- {"R_AARCH64_LDST32_ABS_LO12_NC", Const, 4},
- {"R_AARCH64_LDST64_ABS_LO12_NC", Const, 4},
- {"R_AARCH64_LDST8_ABS_LO12_NC", Const, 4},
- {"R_AARCH64_LD_PREL_LO19", Const, 4},
- {"R_AARCH64_MOVW_SABS_G0", Const, 4},
- {"R_AARCH64_MOVW_SABS_G1", Const, 4},
- {"R_AARCH64_MOVW_SABS_G2", Const, 4},
- {"R_AARCH64_MOVW_UABS_G0", Const, 4},
- {"R_AARCH64_MOVW_UABS_G0_NC", Const, 4},
- {"R_AARCH64_MOVW_UABS_G1", Const, 4},
- {"R_AARCH64_MOVW_UABS_G1_NC", Const, 4},
- {"R_AARCH64_MOVW_UABS_G2", Const, 4},
- {"R_AARCH64_MOVW_UABS_G2_NC", Const, 4},
- {"R_AARCH64_MOVW_UABS_G3", Const, 4},
- {"R_AARCH64_NONE", Const, 4},
- {"R_AARCH64_NULL", Const, 4},
- {"R_AARCH64_P32_ABS16", Const, 4},
- {"R_AARCH64_P32_ABS32", Const, 4},
- {"R_AARCH64_P32_ADD_ABS_LO12_NC", Const, 4},
- {"R_AARCH64_P32_ADR_GOT_PAGE", Const, 4},
- {"R_AARCH64_P32_ADR_PREL_LO21", Const, 4},
- {"R_AARCH64_P32_ADR_PREL_PG_HI21", Const, 4},
- {"R_AARCH64_P32_CALL26", Const, 4},
- {"R_AARCH64_P32_CONDBR19", Const, 4},
- {"R_AARCH64_P32_COPY", Const, 4},
- {"R_AARCH64_P32_GLOB_DAT", Const, 4},
- {"R_AARCH64_P32_GOT_LD_PREL19", Const, 4},
- {"R_AARCH64_P32_IRELATIVE", Const, 4},
- {"R_AARCH64_P32_JUMP26", Const, 4},
- {"R_AARCH64_P32_JUMP_SLOT", Const, 4},
- {"R_AARCH64_P32_LD32_GOT_LO12_NC", Const, 4},
- {"R_AARCH64_P32_LDST128_ABS_LO12_NC", Const, 4},
- {"R_AARCH64_P32_LDST16_ABS_LO12_NC", Const, 4},
- {"R_AARCH64_P32_LDST32_ABS_LO12_NC", Const, 4},
- {"R_AARCH64_P32_LDST64_ABS_LO12_NC", Const, 4},
- {"R_AARCH64_P32_LDST8_ABS_LO12_NC", Const, 4},
- {"R_AARCH64_P32_LD_PREL_LO19", Const, 4},
- {"R_AARCH64_P32_MOVW_SABS_G0", Const, 4},
- {"R_AARCH64_P32_MOVW_UABS_G0", Const, 4},
- {"R_AARCH64_P32_MOVW_UABS_G0_NC", Const, 4},
- {"R_AARCH64_P32_MOVW_UABS_G1", Const, 4},
- {"R_AARCH64_P32_PREL16", Const, 4},
- {"R_AARCH64_P32_PREL32", Const, 4},
- {"R_AARCH64_P32_RELATIVE", Const, 4},
- {"R_AARCH64_P32_TLSDESC", Const, 4},
- {"R_AARCH64_P32_TLSDESC_ADD_LO12_NC", Const, 4},
- {"R_AARCH64_P32_TLSDESC_ADR_PAGE21", Const, 4},
- {"R_AARCH64_P32_TLSDESC_ADR_PREL21", Const, 4},
- {"R_AARCH64_P32_TLSDESC_CALL", Const, 4},
- {"R_AARCH64_P32_TLSDESC_LD32_LO12_NC", Const, 4},
- {"R_AARCH64_P32_TLSDESC_LD_PREL19", Const, 4},
- {"R_AARCH64_P32_TLSGD_ADD_LO12_NC", Const, 4},
- {"R_AARCH64_P32_TLSGD_ADR_PAGE21", Const, 4},
- {"R_AARCH64_P32_TLSIE_ADR_GOTTPREL_PAGE21", Const, 4},
- {"R_AARCH64_P32_TLSIE_LD32_GOTTPREL_LO12_NC", Const, 4},
- {"R_AARCH64_P32_TLSIE_LD_GOTTPREL_PREL19", Const, 4},
- {"R_AARCH64_P32_TLSLE_ADD_TPREL_HI12", Const, 4},
- {"R_AARCH64_P32_TLSLE_ADD_TPREL_LO12", Const, 4},
- {"R_AARCH64_P32_TLSLE_ADD_TPREL_LO12_NC", Const, 4},
- {"R_AARCH64_P32_TLSLE_MOVW_TPREL_G0", Const, 4},
- {"R_AARCH64_P32_TLSLE_MOVW_TPREL_G0_NC", Const, 4},
- {"R_AARCH64_P32_TLSLE_MOVW_TPREL_G1", Const, 4},
- {"R_AARCH64_P32_TLS_DTPMOD", Const, 4},
- {"R_AARCH64_P32_TLS_DTPREL", Const, 4},
- {"R_AARCH64_P32_TLS_TPREL", Const, 4},
- {"R_AARCH64_P32_TSTBR14", Const, 4},
- {"R_AARCH64_PREL16", Const, 4},
- {"R_AARCH64_PREL32", Const, 4},
- {"R_AARCH64_PREL64", Const, 4},
- {"R_AARCH64_RELATIVE", Const, 4},
- {"R_AARCH64_TLSDESC", Const, 4},
- {"R_AARCH64_TLSDESC_ADD", Const, 4},
- {"R_AARCH64_TLSDESC_ADD_LO12_NC", Const, 4},
- {"R_AARCH64_TLSDESC_ADR_PAGE21", Const, 4},
- {"R_AARCH64_TLSDESC_ADR_PREL21", Const, 4},
- {"R_AARCH64_TLSDESC_CALL", Const, 4},
- {"R_AARCH64_TLSDESC_LD64_LO12_NC", Const, 4},
- {"R_AARCH64_TLSDESC_LDR", Const, 4},
- {"R_AARCH64_TLSDESC_LD_PREL19", Const, 4},
- {"R_AARCH64_TLSDESC_OFF_G0_NC", Const, 4},
- {"R_AARCH64_TLSDESC_OFF_G1", Const, 4},
- {"R_AARCH64_TLSGD_ADD_LO12_NC", Const, 4},
- {"R_AARCH64_TLSGD_ADR_PAGE21", Const, 4},
- {"R_AARCH64_TLSGD_ADR_PREL21", Const, 10},
- {"R_AARCH64_TLSGD_MOVW_G0_NC", Const, 10},
- {"R_AARCH64_TLSGD_MOVW_G1", Const, 10},
- {"R_AARCH64_TLSIE_ADR_GOTTPREL_PAGE21", Const, 4},
- {"R_AARCH64_TLSIE_LD64_GOTTPREL_LO12_NC", Const, 4},
- {"R_AARCH64_TLSIE_LD_GOTTPREL_PREL19", Const, 4},
- {"R_AARCH64_TLSIE_MOVW_GOTTPREL_G0_NC", Const, 4},
- {"R_AARCH64_TLSIE_MOVW_GOTTPREL_G1", Const, 4},
- {"R_AARCH64_TLSLD_ADR_PAGE21", Const, 10},
- {"R_AARCH64_TLSLD_ADR_PREL21", Const, 10},
- {"R_AARCH64_TLSLD_LDST128_DTPREL_LO12", Const, 10},
- {"R_AARCH64_TLSLD_LDST128_DTPREL_LO12_NC", Const, 10},
- {"R_AARCH64_TLSLE_ADD_TPREL_HI12", Const, 4},
- {"R_AARCH64_TLSLE_ADD_TPREL_LO12", Const, 4},
- {"R_AARCH64_TLSLE_ADD_TPREL_LO12_NC", Const, 4},
- {"R_AARCH64_TLSLE_LDST128_TPREL_LO12", Const, 10},
- {"R_AARCH64_TLSLE_LDST128_TPREL_LO12_NC", Const, 10},
- {"R_AARCH64_TLSLE_MOVW_TPREL_G0", Const, 4},
- {"R_AARCH64_TLSLE_MOVW_TPREL_G0_NC", Const, 4},
- {"R_AARCH64_TLSLE_MOVW_TPREL_G1", Const, 4},
- {"R_AARCH64_TLSLE_MOVW_TPREL_G1_NC", Const, 4},
- {"R_AARCH64_TLSLE_MOVW_TPREL_G2", Const, 4},
- {"R_AARCH64_TLS_DTPMOD64", Const, 4},
- {"R_AARCH64_TLS_DTPREL64", Const, 4},
- {"R_AARCH64_TLS_TPREL64", Const, 4},
- {"R_AARCH64_TSTBR14", Const, 4},
- {"R_ALPHA", Type, 0},
- {"R_ALPHA_BRADDR", Const, 0},
- {"R_ALPHA_COPY", Const, 0},
- {"R_ALPHA_GLOB_DAT", Const, 0},
- {"R_ALPHA_GPDISP", Const, 0},
- {"R_ALPHA_GPREL32", Const, 0},
- {"R_ALPHA_GPRELHIGH", Const, 0},
- {"R_ALPHA_GPRELLOW", Const, 0},
- {"R_ALPHA_GPVALUE", Const, 0},
- {"R_ALPHA_HINT", Const, 0},
- {"R_ALPHA_IMMED_BR_HI32", Const, 0},
- {"R_ALPHA_IMMED_GP_16", Const, 0},
- {"R_ALPHA_IMMED_GP_HI32", Const, 0},
- {"R_ALPHA_IMMED_LO32", Const, 0},
- {"R_ALPHA_IMMED_SCN_HI32", Const, 0},
- {"R_ALPHA_JMP_SLOT", Const, 0},
- {"R_ALPHA_LITERAL", Const, 0},
- {"R_ALPHA_LITUSE", Const, 0},
- {"R_ALPHA_NONE", Const, 0},
- {"R_ALPHA_OP_PRSHIFT", Const, 0},
- {"R_ALPHA_OP_PSUB", Const, 0},
- {"R_ALPHA_OP_PUSH", Const, 0},
- {"R_ALPHA_OP_STORE", Const, 0},
- {"R_ALPHA_REFLONG", Const, 0},
- {"R_ALPHA_REFQUAD", Const, 0},
- {"R_ALPHA_RELATIVE", Const, 0},
- {"R_ALPHA_SREL16", Const, 0},
- {"R_ALPHA_SREL32", Const, 0},
- {"R_ALPHA_SREL64", Const, 0},
- {"R_ARM", Type, 0},
- {"R_ARM_ABS12", Const, 0},
- {"R_ARM_ABS16", Const, 0},
- {"R_ARM_ABS32", Const, 0},
- {"R_ARM_ABS32_NOI", Const, 10},
- {"R_ARM_ABS8", Const, 0},
- {"R_ARM_ALU_PCREL_15_8", Const, 10},
- {"R_ARM_ALU_PCREL_23_15", Const, 10},
- {"R_ARM_ALU_PCREL_7_0", Const, 10},
- {"R_ARM_ALU_PC_G0", Const, 10},
- {"R_ARM_ALU_PC_G0_NC", Const, 10},
- {"R_ARM_ALU_PC_G1", Const, 10},
- {"R_ARM_ALU_PC_G1_NC", Const, 10},
- {"R_ARM_ALU_PC_G2", Const, 10},
- {"R_ARM_ALU_SBREL_19_12_NC", Const, 10},
- {"R_ARM_ALU_SBREL_27_20_CK", Const, 10},
- {"R_ARM_ALU_SB_G0", Const, 10},
- {"R_ARM_ALU_SB_G0_NC", Const, 10},
- {"R_ARM_ALU_SB_G1", Const, 10},
- {"R_ARM_ALU_SB_G1_NC", Const, 10},
- {"R_ARM_ALU_SB_G2", Const, 10},
- {"R_ARM_AMP_VCALL9", Const, 0},
- {"R_ARM_BASE_ABS", Const, 10},
- {"R_ARM_CALL", Const, 10},
- {"R_ARM_COPY", Const, 0},
- {"R_ARM_GLOB_DAT", Const, 0},
- {"R_ARM_GNU_VTENTRY", Const, 0},
- {"R_ARM_GNU_VTINHERIT", Const, 0},
- {"R_ARM_GOT32", Const, 0},
- {"R_ARM_GOTOFF", Const, 0},
- {"R_ARM_GOTOFF12", Const, 10},
- {"R_ARM_GOTPC", Const, 0},
- {"R_ARM_GOTRELAX", Const, 10},
- {"R_ARM_GOT_ABS", Const, 10},
- {"R_ARM_GOT_BREL12", Const, 10},
- {"R_ARM_GOT_PREL", Const, 10},
- {"R_ARM_IRELATIVE", Const, 10},
- {"R_ARM_JUMP24", Const, 10},
- {"R_ARM_JUMP_SLOT", Const, 0},
- {"R_ARM_LDC_PC_G0", Const, 10},
- {"R_ARM_LDC_PC_G1", Const, 10},
- {"R_ARM_LDC_PC_G2", Const, 10},
- {"R_ARM_LDC_SB_G0", Const, 10},
- {"R_ARM_LDC_SB_G1", Const, 10},
- {"R_ARM_LDC_SB_G2", Const, 10},
- {"R_ARM_LDRS_PC_G0", Const, 10},
- {"R_ARM_LDRS_PC_G1", Const, 10},
- {"R_ARM_LDRS_PC_G2", Const, 10},
- {"R_ARM_LDRS_SB_G0", Const, 10},
- {"R_ARM_LDRS_SB_G1", Const, 10},
- {"R_ARM_LDRS_SB_G2", Const, 10},
- {"R_ARM_LDR_PC_G1", Const, 10},
- {"R_ARM_LDR_PC_G2", Const, 10},
- {"R_ARM_LDR_SBREL_11_10_NC", Const, 10},
- {"R_ARM_LDR_SB_G0", Const, 10},
- {"R_ARM_LDR_SB_G1", Const, 10},
- {"R_ARM_LDR_SB_G2", Const, 10},
- {"R_ARM_ME_TOO", Const, 10},
- {"R_ARM_MOVT_ABS", Const, 10},
- {"R_ARM_MOVT_BREL", Const, 10},
- {"R_ARM_MOVT_PREL", Const, 10},
- {"R_ARM_MOVW_ABS_NC", Const, 10},
- {"R_ARM_MOVW_BREL", Const, 10},
- {"R_ARM_MOVW_BREL_NC", Const, 10},
- {"R_ARM_MOVW_PREL_NC", Const, 10},
- {"R_ARM_NONE", Const, 0},
- {"R_ARM_PC13", Const, 0},
- {"R_ARM_PC24", Const, 0},
- {"R_ARM_PLT32", Const, 0},
- {"R_ARM_PLT32_ABS", Const, 10},
- {"R_ARM_PREL31", Const, 10},
- {"R_ARM_PRIVATE_0", Const, 10},
- {"R_ARM_PRIVATE_1", Const, 10},
- {"R_ARM_PRIVATE_10", Const, 10},
- {"R_ARM_PRIVATE_11", Const, 10},
- {"R_ARM_PRIVATE_12", Const, 10},
- {"R_ARM_PRIVATE_13", Const, 10},
- {"R_ARM_PRIVATE_14", Const, 10},
- {"R_ARM_PRIVATE_15", Const, 10},
- {"R_ARM_PRIVATE_2", Const, 10},
- {"R_ARM_PRIVATE_3", Const, 10},
- {"R_ARM_PRIVATE_4", Const, 10},
- {"R_ARM_PRIVATE_5", Const, 10},
- {"R_ARM_PRIVATE_6", Const, 10},
- {"R_ARM_PRIVATE_7", Const, 10},
- {"R_ARM_PRIVATE_8", Const, 10},
- {"R_ARM_PRIVATE_9", Const, 10},
- {"R_ARM_RABS32", Const, 0},
- {"R_ARM_RBASE", Const, 0},
- {"R_ARM_REL32", Const, 0},
- {"R_ARM_REL32_NOI", Const, 10},
- {"R_ARM_RELATIVE", Const, 0},
- {"R_ARM_RPC24", Const, 0},
- {"R_ARM_RREL32", Const, 0},
- {"R_ARM_RSBREL32", Const, 0},
- {"R_ARM_RXPC25", Const, 10},
- {"R_ARM_SBREL31", Const, 10},
- {"R_ARM_SBREL32", Const, 0},
- {"R_ARM_SWI24", Const, 0},
- {"R_ARM_TARGET1", Const, 10},
- {"R_ARM_TARGET2", Const, 10},
- {"R_ARM_THM_ABS5", Const, 0},
- {"R_ARM_THM_ALU_ABS_G0_NC", Const, 10},
- {"R_ARM_THM_ALU_ABS_G1_NC", Const, 10},
- {"R_ARM_THM_ALU_ABS_G2_NC", Const, 10},
- {"R_ARM_THM_ALU_ABS_G3", Const, 10},
- {"R_ARM_THM_ALU_PREL_11_0", Const, 10},
- {"R_ARM_THM_GOT_BREL12", Const, 10},
- {"R_ARM_THM_JUMP11", Const, 10},
- {"R_ARM_THM_JUMP19", Const, 10},
- {"R_ARM_THM_JUMP24", Const, 10},
- {"R_ARM_THM_JUMP6", Const, 10},
- {"R_ARM_THM_JUMP8", Const, 10},
- {"R_ARM_THM_MOVT_ABS", Const, 10},
- {"R_ARM_THM_MOVT_BREL", Const, 10},
- {"R_ARM_THM_MOVT_PREL", Const, 10},
- {"R_ARM_THM_MOVW_ABS_NC", Const, 10},
- {"R_ARM_THM_MOVW_BREL", Const, 10},
- {"R_ARM_THM_MOVW_BREL_NC", Const, 10},
- {"R_ARM_THM_MOVW_PREL_NC", Const, 10},
- {"R_ARM_THM_PC12", Const, 10},
- {"R_ARM_THM_PC22", Const, 0},
- {"R_ARM_THM_PC8", Const, 0},
- {"R_ARM_THM_RPC22", Const, 0},
- {"R_ARM_THM_SWI8", Const, 0},
- {"R_ARM_THM_TLS_CALL", Const, 10},
- {"R_ARM_THM_TLS_DESCSEQ16", Const, 10},
- {"R_ARM_THM_TLS_DESCSEQ32", Const, 10},
- {"R_ARM_THM_XPC22", Const, 0},
- {"R_ARM_TLS_CALL", Const, 10},
- {"R_ARM_TLS_DESCSEQ", Const, 10},
- {"R_ARM_TLS_DTPMOD32", Const, 10},
- {"R_ARM_TLS_DTPOFF32", Const, 10},
- {"R_ARM_TLS_GD32", Const, 10},
- {"R_ARM_TLS_GOTDESC", Const, 10},
- {"R_ARM_TLS_IE12GP", Const, 10},
- {"R_ARM_TLS_IE32", Const, 10},
- {"R_ARM_TLS_LDM32", Const, 10},
- {"R_ARM_TLS_LDO12", Const, 10},
- {"R_ARM_TLS_LDO32", Const, 10},
- {"R_ARM_TLS_LE12", Const, 10},
- {"R_ARM_TLS_LE32", Const, 10},
- {"R_ARM_TLS_TPOFF32", Const, 10},
- {"R_ARM_V4BX", Const, 10},
- {"R_ARM_XPC25", Const, 0},
- {"R_INFO", Func, 0},
- {"R_INFO32", Func, 0},
- {"R_LARCH", Type, 19},
- {"R_LARCH_32", Const, 19},
- {"R_LARCH_32_PCREL", Const, 20},
- {"R_LARCH_64", Const, 19},
- {"R_LARCH_64_PCREL", Const, 22},
- {"R_LARCH_ABS64_HI12", Const, 20},
- {"R_LARCH_ABS64_LO20", Const, 20},
- {"R_LARCH_ABS_HI20", Const, 20},
- {"R_LARCH_ABS_LO12", Const, 20},
- {"R_LARCH_ADD16", Const, 19},
- {"R_LARCH_ADD24", Const, 19},
- {"R_LARCH_ADD32", Const, 19},
- {"R_LARCH_ADD6", Const, 22},
- {"R_LARCH_ADD64", Const, 19},
- {"R_LARCH_ADD8", Const, 19},
- {"R_LARCH_ADD_ULEB128", Const, 22},
- {"R_LARCH_ALIGN", Const, 22},
- {"R_LARCH_B16", Const, 20},
- {"R_LARCH_B21", Const, 20},
- {"R_LARCH_B26", Const, 20},
- {"R_LARCH_CFA", Const, 22},
- {"R_LARCH_COPY", Const, 19},
- {"R_LARCH_DELETE", Const, 22},
- {"R_LARCH_GNU_VTENTRY", Const, 20},
- {"R_LARCH_GNU_VTINHERIT", Const, 20},
- {"R_LARCH_GOT64_HI12", Const, 20},
- {"R_LARCH_GOT64_LO20", Const, 20},
- {"R_LARCH_GOT64_PC_HI12", Const, 20},
- {"R_LARCH_GOT64_PC_LO20", Const, 20},
- {"R_LARCH_GOT_HI20", Const, 20},
- {"R_LARCH_GOT_LO12", Const, 20},
- {"R_LARCH_GOT_PC_HI20", Const, 20},
- {"R_LARCH_GOT_PC_LO12", Const, 20},
- {"R_LARCH_IRELATIVE", Const, 19},
- {"R_LARCH_JUMP_SLOT", Const, 19},
- {"R_LARCH_MARK_LA", Const, 19},
- {"R_LARCH_MARK_PCREL", Const, 19},
- {"R_LARCH_NONE", Const, 19},
- {"R_LARCH_PCALA64_HI12", Const, 20},
- {"R_LARCH_PCALA64_LO20", Const, 20},
- {"R_LARCH_PCALA_HI20", Const, 20},
- {"R_LARCH_PCALA_LO12", Const, 20},
- {"R_LARCH_PCREL20_S2", Const, 22},
- {"R_LARCH_RELATIVE", Const, 19},
- {"R_LARCH_RELAX", Const, 20},
- {"R_LARCH_SOP_ADD", Const, 19},
- {"R_LARCH_SOP_AND", Const, 19},
- {"R_LARCH_SOP_ASSERT", Const, 19},
- {"R_LARCH_SOP_IF_ELSE", Const, 19},
- {"R_LARCH_SOP_NOT", Const, 19},
- {"R_LARCH_SOP_POP_32_S_0_10_10_16_S2", Const, 19},
- {"R_LARCH_SOP_POP_32_S_0_5_10_16_S2", Const, 19},
- {"R_LARCH_SOP_POP_32_S_10_12", Const, 19},
- {"R_LARCH_SOP_POP_32_S_10_16", Const, 19},
- {"R_LARCH_SOP_POP_32_S_10_16_S2", Const, 19},
- {"R_LARCH_SOP_POP_32_S_10_5", Const, 19},
- {"R_LARCH_SOP_POP_32_S_5_20", Const, 19},
- {"R_LARCH_SOP_POP_32_U", Const, 19},
- {"R_LARCH_SOP_POP_32_U_10_12", Const, 19},
- {"R_LARCH_SOP_PUSH_ABSOLUTE", Const, 19},
- {"R_LARCH_SOP_PUSH_DUP", Const, 19},
- {"R_LARCH_SOP_PUSH_GPREL", Const, 19},
- {"R_LARCH_SOP_PUSH_PCREL", Const, 19},
- {"R_LARCH_SOP_PUSH_PLT_PCREL", Const, 19},
- {"R_LARCH_SOP_PUSH_TLS_GD", Const, 19},
- {"R_LARCH_SOP_PUSH_TLS_GOT", Const, 19},
- {"R_LARCH_SOP_PUSH_TLS_TPREL", Const, 19},
- {"R_LARCH_SOP_SL", Const, 19},
- {"R_LARCH_SOP_SR", Const, 19},
- {"R_LARCH_SOP_SUB", Const, 19},
- {"R_LARCH_SUB16", Const, 19},
- {"R_LARCH_SUB24", Const, 19},
- {"R_LARCH_SUB32", Const, 19},
- {"R_LARCH_SUB6", Const, 22},
- {"R_LARCH_SUB64", Const, 19},
- {"R_LARCH_SUB8", Const, 19},
- {"R_LARCH_SUB_ULEB128", Const, 22},
- {"R_LARCH_TLS_DTPMOD32", Const, 19},
- {"R_LARCH_TLS_DTPMOD64", Const, 19},
- {"R_LARCH_TLS_DTPREL32", Const, 19},
- {"R_LARCH_TLS_DTPREL64", Const, 19},
- {"R_LARCH_TLS_GD_HI20", Const, 20},
- {"R_LARCH_TLS_GD_PC_HI20", Const, 20},
- {"R_LARCH_TLS_IE64_HI12", Const, 20},
- {"R_LARCH_TLS_IE64_LO20", Const, 20},
- {"R_LARCH_TLS_IE64_PC_HI12", Const, 20},
- {"R_LARCH_TLS_IE64_PC_LO20", Const, 20},
- {"R_LARCH_TLS_IE_HI20", Const, 20},
- {"R_LARCH_TLS_IE_LO12", Const, 20},
- {"R_LARCH_TLS_IE_PC_HI20", Const, 20},
- {"R_LARCH_TLS_IE_PC_LO12", Const, 20},
- {"R_LARCH_TLS_LD_HI20", Const, 20},
- {"R_LARCH_TLS_LD_PC_HI20", Const, 20},
- {"R_LARCH_TLS_LE64_HI12", Const, 20},
- {"R_LARCH_TLS_LE64_LO20", Const, 20},
- {"R_LARCH_TLS_LE_HI20", Const, 20},
- {"R_LARCH_TLS_LE_LO12", Const, 20},
- {"R_LARCH_TLS_TPREL32", Const, 19},
- {"R_LARCH_TLS_TPREL64", Const, 19},
- {"R_MIPS", Type, 6},
- {"R_MIPS_16", Const, 6},
- {"R_MIPS_26", Const, 6},
- {"R_MIPS_32", Const, 6},
- {"R_MIPS_64", Const, 6},
- {"R_MIPS_ADD_IMMEDIATE", Const, 6},
- {"R_MIPS_CALL16", Const, 6},
- {"R_MIPS_CALL_HI16", Const, 6},
- {"R_MIPS_CALL_LO16", Const, 6},
- {"R_MIPS_DELETE", Const, 6},
- {"R_MIPS_GOT16", Const, 6},
- {"R_MIPS_GOT_DISP", Const, 6},
- {"R_MIPS_GOT_HI16", Const, 6},
- {"R_MIPS_GOT_LO16", Const, 6},
- {"R_MIPS_GOT_OFST", Const, 6},
- {"R_MIPS_GOT_PAGE", Const, 6},
- {"R_MIPS_GPREL16", Const, 6},
- {"R_MIPS_GPREL32", Const, 6},
- {"R_MIPS_HI16", Const, 6},
- {"R_MIPS_HIGHER", Const, 6},
- {"R_MIPS_HIGHEST", Const, 6},
- {"R_MIPS_INSERT_A", Const, 6},
- {"R_MIPS_INSERT_B", Const, 6},
- {"R_MIPS_JALR", Const, 6},
- {"R_MIPS_LITERAL", Const, 6},
- {"R_MIPS_LO16", Const, 6},
- {"R_MIPS_NONE", Const, 6},
- {"R_MIPS_PC16", Const, 6},
- {"R_MIPS_PC32", Const, 22},
- {"R_MIPS_PJUMP", Const, 6},
- {"R_MIPS_REL16", Const, 6},
- {"R_MIPS_REL32", Const, 6},
- {"R_MIPS_RELGOT", Const, 6},
- {"R_MIPS_SCN_DISP", Const, 6},
- {"R_MIPS_SHIFT5", Const, 6},
- {"R_MIPS_SHIFT6", Const, 6},
- {"R_MIPS_SUB", Const, 6},
- {"R_MIPS_TLS_DTPMOD32", Const, 6},
- {"R_MIPS_TLS_DTPMOD64", Const, 6},
- {"R_MIPS_TLS_DTPREL32", Const, 6},
- {"R_MIPS_TLS_DTPREL64", Const, 6},
- {"R_MIPS_TLS_DTPREL_HI16", Const, 6},
- {"R_MIPS_TLS_DTPREL_LO16", Const, 6},
- {"R_MIPS_TLS_GD", Const, 6},
- {"R_MIPS_TLS_GOTTPREL", Const, 6},
- {"R_MIPS_TLS_LDM", Const, 6},
- {"R_MIPS_TLS_TPREL32", Const, 6},
- {"R_MIPS_TLS_TPREL64", Const, 6},
- {"R_MIPS_TLS_TPREL_HI16", Const, 6},
- {"R_MIPS_TLS_TPREL_LO16", Const, 6},
- {"R_PPC", Type, 0},
- {"R_PPC64", Type, 5},
- {"R_PPC64_ADDR14", Const, 5},
- {"R_PPC64_ADDR14_BRNTAKEN", Const, 5},
- {"R_PPC64_ADDR14_BRTAKEN", Const, 5},
- {"R_PPC64_ADDR16", Const, 5},
- {"R_PPC64_ADDR16_DS", Const, 5},
- {"R_PPC64_ADDR16_HA", Const, 5},
- {"R_PPC64_ADDR16_HI", Const, 5},
- {"R_PPC64_ADDR16_HIGH", Const, 10},
- {"R_PPC64_ADDR16_HIGHA", Const, 10},
- {"R_PPC64_ADDR16_HIGHER", Const, 5},
- {"R_PPC64_ADDR16_HIGHER34", Const, 20},
- {"R_PPC64_ADDR16_HIGHERA", Const, 5},
- {"R_PPC64_ADDR16_HIGHERA34", Const, 20},
- {"R_PPC64_ADDR16_HIGHEST", Const, 5},
- {"R_PPC64_ADDR16_HIGHEST34", Const, 20},
- {"R_PPC64_ADDR16_HIGHESTA", Const, 5},
- {"R_PPC64_ADDR16_HIGHESTA34", Const, 20},
- {"R_PPC64_ADDR16_LO", Const, 5},
- {"R_PPC64_ADDR16_LO_DS", Const, 5},
- {"R_PPC64_ADDR24", Const, 5},
- {"R_PPC64_ADDR32", Const, 5},
- {"R_PPC64_ADDR64", Const, 5},
- {"R_PPC64_ADDR64_LOCAL", Const, 10},
- {"R_PPC64_COPY", Const, 20},
- {"R_PPC64_D28", Const, 20},
- {"R_PPC64_D34", Const, 20},
- {"R_PPC64_D34_HA30", Const, 20},
- {"R_PPC64_D34_HI30", Const, 20},
- {"R_PPC64_D34_LO", Const, 20},
- {"R_PPC64_DTPMOD64", Const, 5},
- {"R_PPC64_DTPREL16", Const, 5},
- {"R_PPC64_DTPREL16_DS", Const, 5},
- {"R_PPC64_DTPREL16_HA", Const, 5},
- {"R_PPC64_DTPREL16_HI", Const, 5},
- {"R_PPC64_DTPREL16_HIGH", Const, 10},
- {"R_PPC64_DTPREL16_HIGHA", Const, 10},
- {"R_PPC64_DTPREL16_HIGHER", Const, 5},
- {"R_PPC64_DTPREL16_HIGHERA", Const, 5},
- {"R_PPC64_DTPREL16_HIGHEST", Const, 5},
- {"R_PPC64_DTPREL16_HIGHESTA", Const, 5},
- {"R_PPC64_DTPREL16_LO", Const, 5},
- {"R_PPC64_DTPREL16_LO_DS", Const, 5},
- {"R_PPC64_DTPREL34", Const, 20},
- {"R_PPC64_DTPREL64", Const, 5},
- {"R_PPC64_ENTRY", Const, 10},
- {"R_PPC64_GLOB_DAT", Const, 20},
- {"R_PPC64_GNU_VTENTRY", Const, 20},
- {"R_PPC64_GNU_VTINHERIT", Const, 20},
- {"R_PPC64_GOT16", Const, 5},
- {"R_PPC64_GOT16_DS", Const, 5},
- {"R_PPC64_GOT16_HA", Const, 5},
- {"R_PPC64_GOT16_HI", Const, 5},
- {"R_PPC64_GOT16_LO", Const, 5},
- {"R_PPC64_GOT16_LO_DS", Const, 5},
- {"R_PPC64_GOT_DTPREL16_DS", Const, 5},
- {"R_PPC64_GOT_DTPREL16_HA", Const, 5},
- {"R_PPC64_GOT_DTPREL16_HI", Const, 5},
- {"R_PPC64_GOT_DTPREL16_LO_DS", Const, 5},
- {"R_PPC64_GOT_DTPREL_PCREL34", Const, 20},
- {"R_PPC64_GOT_PCREL34", Const, 20},
- {"R_PPC64_GOT_TLSGD16", Const, 5},
- {"R_PPC64_GOT_TLSGD16_HA", Const, 5},
- {"R_PPC64_GOT_TLSGD16_HI", Const, 5},
- {"R_PPC64_GOT_TLSGD16_LO", Const, 5},
- {"R_PPC64_GOT_TLSGD_PCREL34", Const, 20},
- {"R_PPC64_GOT_TLSLD16", Const, 5},
- {"R_PPC64_GOT_TLSLD16_HA", Const, 5},
- {"R_PPC64_GOT_TLSLD16_HI", Const, 5},
- {"R_PPC64_GOT_TLSLD16_LO", Const, 5},
- {"R_PPC64_GOT_TLSLD_PCREL34", Const, 20},
- {"R_PPC64_GOT_TPREL16_DS", Const, 5},
- {"R_PPC64_GOT_TPREL16_HA", Const, 5},
- {"R_PPC64_GOT_TPREL16_HI", Const, 5},
- {"R_PPC64_GOT_TPREL16_LO_DS", Const, 5},
- {"R_PPC64_GOT_TPREL_PCREL34", Const, 20},
- {"R_PPC64_IRELATIVE", Const, 10},
- {"R_PPC64_JMP_IREL", Const, 10},
- {"R_PPC64_JMP_SLOT", Const, 5},
- {"R_PPC64_NONE", Const, 5},
- {"R_PPC64_PCREL28", Const, 20},
- {"R_PPC64_PCREL34", Const, 20},
- {"R_PPC64_PCREL_OPT", Const, 20},
- {"R_PPC64_PLT16_HA", Const, 20},
- {"R_PPC64_PLT16_HI", Const, 20},
- {"R_PPC64_PLT16_LO", Const, 20},
- {"R_PPC64_PLT16_LO_DS", Const, 10},
- {"R_PPC64_PLT32", Const, 20},
- {"R_PPC64_PLT64", Const, 20},
- {"R_PPC64_PLTCALL", Const, 20},
- {"R_PPC64_PLTCALL_NOTOC", Const, 20},
- {"R_PPC64_PLTGOT16", Const, 10},
- {"R_PPC64_PLTGOT16_DS", Const, 10},
- {"R_PPC64_PLTGOT16_HA", Const, 10},
- {"R_PPC64_PLTGOT16_HI", Const, 10},
- {"R_PPC64_PLTGOT16_LO", Const, 10},
- {"R_PPC64_PLTGOT_LO_DS", Const, 10},
- {"R_PPC64_PLTREL32", Const, 20},
- {"R_PPC64_PLTREL64", Const, 20},
- {"R_PPC64_PLTSEQ", Const, 20},
- {"R_PPC64_PLTSEQ_NOTOC", Const, 20},
- {"R_PPC64_PLT_PCREL34", Const, 20},
- {"R_PPC64_PLT_PCREL34_NOTOC", Const, 20},
- {"R_PPC64_REL14", Const, 5},
- {"R_PPC64_REL14_BRNTAKEN", Const, 5},
- {"R_PPC64_REL14_BRTAKEN", Const, 5},
- {"R_PPC64_REL16", Const, 5},
- {"R_PPC64_REL16DX_HA", Const, 10},
- {"R_PPC64_REL16_HA", Const, 5},
- {"R_PPC64_REL16_HI", Const, 5},
- {"R_PPC64_REL16_HIGH", Const, 20},
- {"R_PPC64_REL16_HIGHA", Const, 20},
- {"R_PPC64_REL16_HIGHER", Const, 20},
- {"R_PPC64_REL16_HIGHER34", Const, 20},
- {"R_PPC64_REL16_HIGHERA", Const, 20},
- {"R_PPC64_REL16_HIGHERA34", Const, 20},
- {"R_PPC64_REL16_HIGHEST", Const, 20},
- {"R_PPC64_REL16_HIGHEST34", Const, 20},
- {"R_PPC64_REL16_HIGHESTA", Const, 20},
- {"R_PPC64_REL16_HIGHESTA34", Const, 20},
- {"R_PPC64_REL16_LO", Const, 5},
- {"R_PPC64_REL24", Const, 5},
- {"R_PPC64_REL24_NOTOC", Const, 10},
- {"R_PPC64_REL24_P9NOTOC", Const, 21},
- {"R_PPC64_REL30", Const, 20},
- {"R_PPC64_REL32", Const, 5},
- {"R_PPC64_REL64", Const, 5},
- {"R_PPC64_RELATIVE", Const, 18},
- {"R_PPC64_SECTOFF", Const, 20},
- {"R_PPC64_SECTOFF_DS", Const, 10},
- {"R_PPC64_SECTOFF_HA", Const, 20},
- {"R_PPC64_SECTOFF_HI", Const, 20},
- {"R_PPC64_SECTOFF_LO", Const, 20},
- {"R_PPC64_SECTOFF_LO_DS", Const, 10},
- {"R_PPC64_TLS", Const, 5},
- {"R_PPC64_TLSGD", Const, 5},
- {"R_PPC64_TLSLD", Const, 5},
- {"R_PPC64_TOC", Const, 5},
- {"R_PPC64_TOC16", Const, 5},
- {"R_PPC64_TOC16_DS", Const, 5},
- {"R_PPC64_TOC16_HA", Const, 5},
- {"R_PPC64_TOC16_HI", Const, 5},
- {"R_PPC64_TOC16_LO", Const, 5},
- {"R_PPC64_TOC16_LO_DS", Const, 5},
- {"R_PPC64_TOCSAVE", Const, 10},
- {"R_PPC64_TPREL16", Const, 5},
- {"R_PPC64_TPREL16_DS", Const, 5},
- {"R_PPC64_TPREL16_HA", Const, 5},
- {"R_PPC64_TPREL16_HI", Const, 5},
- {"R_PPC64_TPREL16_HIGH", Const, 10},
- {"R_PPC64_TPREL16_HIGHA", Const, 10},
- {"R_PPC64_TPREL16_HIGHER", Const, 5},
- {"R_PPC64_TPREL16_HIGHERA", Const, 5},
- {"R_PPC64_TPREL16_HIGHEST", Const, 5},
- {"R_PPC64_TPREL16_HIGHESTA", Const, 5},
- {"R_PPC64_TPREL16_LO", Const, 5},
- {"R_PPC64_TPREL16_LO_DS", Const, 5},
- {"R_PPC64_TPREL34", Const, 20},
- {"R_PPC64_TPREL64", Const, 5},
- {"R_PPC64_UADDR16", Const, 20},
- {"R_PPC64_UADDR32", Const, 20},
- {"R_PPC64_UADDR64", Const, 20},
- {"R_PPC_ADDR14", Const, 0},
- {"R_PPC_ADDR14_BRNTAKEN", Const, 0},
- {"R_PPC_ADDR14_BRTAKEN", Const, 0},
- {"R_PPC_ADDR16", Const, 0},
- {"R_PPC_ADDR16_HA", Const, 0},
- {"R_PPC_ADDR16_HI", Const, 0},
- {"R_PPC_ADDR16_LO", Const, 0},
- {"R_PPC_ADDR24", Const, 0},
- {"R_PPC_ADDR32", Const, 0},
- {"R_PPC_COPY", Const, 0},
- {"R_PPC_DTPMOD32", Const, 0},
- {"R_PPC_DTPREL16", Const, 0},
- {"R_PPC_DTPREL16_HA", Const, 0},
- {"R_PPC_DTPREL16_HI", Const, 0},
- {"R_PPC_DTPREL16_LO", Const, 0},
- {"R_PPC_DTPREL32", Const, 0},
- {"R_PPC_EMB_BIT_FLD", Const, 0},
- {"R_PPC_EMB_MRKREF", Const, 0},
- {"R_PPC_EMB_NADDR16", Const, 0},
- {"R_PPC_EMB_NADDR16_HA", Const, 0},
- {"R_PPC_EMB_NADDR16_HI", Const, 0},
- {"R_PPC_EMB_NADDR16_LO", Const, 0},
- {"R_PPC_EMB_NADDR32", Const, 0},
- {"R_PPC_EMB_RELSDA", Const, 0},
- {"R_PPC_EMB_RELSEC16", Const, 0},
- {"R_PPC_EMB_RELST_HA", Const, 0},
- {"R_PPC_EMB_RELST_HI", Const, 0},
- {"R_PPC_EMB_RELST_LO", Const, 0},
- {"R_PPC_EMB_SDA21", Const, 0},
- {"R_PPC_EMB_SDA2I16", Const, 0},
- {"R_PPC_EMB_SDA2REL", Const, 0},
- {"R_PPC_EMB_SDAI16", Const, 0},
- {"R_PPC_GLOB_DAT", Const, 0},
- {"R_PPC_GOT16", Const, 0},
- {"R_PPC_GOT16_HA", Const, 0},
- {"R_PPC_GOT16_HI", Const, 0},
- {"R_PPC_GOT16_LO", Const, 0},
- {"R_PPC_GOT_TLSGD16", Const, 0},
- {"R_PPC_GOT_TLSGD16_HA", Const, 0},
- {"R_PPC_GOT_TLSGD16_HI", Const, 0},
- {"R_PPC_GOT_TLSGD16_LO", Const, 0},
- {"R_PPC_GOT_TLSLD16", Const, 0},
- {"R_PPC_GOT_TLSLD16_HA", Const, 0},
- {"R_PPC_GOT_TLSLD16_HI", Const, 0},
- {"R_PPC_GOT_TLSLD16_LO", Const, 0},
- {"R_PPC_GOT_TPREL16", Const, 0},
- {"R_PPC_GOT_TPREL16_HA", Const, 0},
- {"R_PPC_GOT_TPREL16_HI", Const, 0},
- {"R_PPC_GOT_TPREL16_LO", Const, 0},
- {"R_PPC_JMP_SLOT", Const, 0},
- {"R_PPC_LOCAL24PC", Const, 0},
- {"R_PPC_NONE", Const, 0},
- {"R_PPC_PLT16_HA", Const, 0},
- {"R_PPC_PLT16_HI", Const, 0},
- {"R_PPC_PLT16_LO", Const, 0},
- {"R_PPC_PLT32", Const, 0},
- {"R_PPC_PLTREL24", Const, 0},
- {"R_PPC_PLTREL32", Const, 0},
- {"R_PPC_REL14", Const, 0},
- {"R_PPC_REL14_BRNTAKEN", Const, 0},
- {"R_PPC_REL14_BRTAKEN", Const, 0},
- {"R_PPC_REL24", Const, 0},
- {"R_PPC_REL32", Const, 0},
- {"R_PPC_RELATIVE", Const, 0},
- {"R_PPC_SDAREL16", Const, 0},
- {"R_PPC_SECTOFF", Const, 0},
- {"R_PPC_SECTOFF_HA", Const, 0},
- {"R_PPC_SECTOFF_HI", Const, 0},
- {"R_PPC_SECTOFF_LO", Const, 0},
- {"R_PPC_TLS", Const, 0},
- {"R_PPC_TPREL16", Const, 0},
- {"R_PPC_TPREL16_HA", Const, 0},
- {"R_PPC_TPREL16_HI", Const, 0},
- {"R_PPC_TPREL16_LO", Const, 0},
- {"R_PPC_TPREL32", Const, 0},
- {"R_PPC_UADDR16", Const, 0},
- {"R_PPC_UADDR32", Const, 0},
- {"R_RISCV", Type, 11},
- {"R_RISCV_32", Const, 11},
- {"R_RISCV_32_PCREL", Const, 12},
- {"R_RISCV_64", Const, 11},
- {"R_RISCV_ADD16", Const, 11},
- {"R_RISCV_ADD32", Const, 11},
- {"R_RISCV_ADD64", Const, 11},
- {"R_RISCV_ADD8", Const, 11},
- {"R_RISCV_ALIGN", Const, 11},
- {"R_RISCV_BRANCH", Const, 11},
- {"R_RISCV_CALL", Const, 11},
- {"R_RISCV_CALL_PLT", Const, 11},
- {"R_RISCV_COPY", Const, 11},
- {"R_RISCV_GNU_VTENTRY", Const, 11},
- {"R_RISCV_GNU_VTINHERIT", Const, 11},
- {"R_RISCV_GOT_HI20", Const, 11},
- {"R_RISCV_GPREL_I", Const, 11},
- {"R_RISCV_GPREL_S", Const, 11},
- {"R_RISCV_HI20", Const, 11},
- {"R_RISCV_JAL", Const, 11},
- {"R_RISCV_JUMP_SLOT", Const, 11},
- {"R_RISCV_LO12_I", Const, 11},
- {"R_RISCV_LO12_S", Const, 11},
- {"R_RISCV_NONE", Const, 11},
- {"R_RISCV_PCREL_HI20", Const, 11},
- {"R_RISCV_PCREL_LO12_I", Const, 11},
- {"R_RISCV_PCREL_LO12_S", Const, 11},
- {"R_RISCV_RELATIVE", Const, 11},
- {"R_RISCV_RELAX", Const, 11},
- {"R_RISCV_RVC_BRANCH", Const, 11},
- {"R_RISCV_RVC_JUMP", Const, 11},
- {"R_RISCV_RVC_LUI", Const, 11},
- {"R_RISCV_SET16", Const, 11},
- {"R_RISCV_SET32", Const, 11},
- {"R_RISCV_SET6", Const, 11},
- {"R_RISCV_SET8", Const, 11},
- {"R_RISCV_SUB16", Const, 11},
- {"R_RISCV_SUB32", Const, 11},
- {"R_RISCV_SUB6", Const, 11},
- {"R_RISCV_SUB64", Const, 11},
- {"R_RISCV_SUB8", Const, 11},
- {"R_RISCV_TLS_DTPMOD32", Const, 11},
- {"R_RISCV_TLS_DTPMOD64", Const, 11},
- {"R_RISCV_TLS_DTPREL32", Const, 11},
- {"R_RISCV_TLS_DTPREL64", Const, 11},
- {"R_RISCV_TLS_GD_HI20", Const, 11},
- {"R_RISCV_TLS_GOT_HI20", Const, 11},
- {"R_RISCV_TLS_TPREL32", Const, 11},
- {"R_RISCV_TLS_TPREL64", Const, 11},
- {"R_RISCV_TPREL_ADD", Const, 11},
- {"R_RISCV_TPREL_HI20", Const, 11},
- {"R_RISCV_TPREL_I", Const, 11},
- {"R_RISCV_TPREL_LO12_I", Const, 11},
- {"R_RISCV_TPREL_LO12_S", Const, 11},
- {"R_RISCV_TPREL_S", Const, 11},
- {"R_SPARC", Type, 0},
- {"R_SPARC_10", Const, 0},
- {"R_SPARC_11", Const, 0},
- {"R_SPARC_13", Const, 0},
- {"R_SPARC_16", Const, 0},
- {"R_SPARC_22", Const, 0},
- {"R_SPARC_32", Const, 0},
- {"R_SPARC_5", Const, 0},
- {"R_SPARC_6", Const, 0},
- {"R_SPARC_64", Const, 0},
- {"R_SPARC_7", Const, 0},
- {"R_SPARC_8", Const, 0},
- {"R_SPARC_COPY", Const, 0},
- {"R_SPARC_DISP16", Const, 0},
- {"R_SPARC_DISP32", Const, 0},
- {"R_SPARC_DISP64", Const, 0},
- {"R_SPARC_DISP8", Const, 0},
- {"R_SPARC_GLOB_DAT", Const, 0},
- {"R_SPARC_GLOB_JMP", Const, 0},
- {"R_SPARC_GOT10", Const, 0},
- {"R_SPARC_GOT13", Const, 0},
- {"R_SPARC_GOT22", Const, 0},
- {"R_SPARC_H44", Const, 0},
- {"R_SPARC_HH22", Const, 0},
- {"R_SPARC_HI22", Const, 0},
- {"R_SPARC_HIPLT22", Const, 0},
- {"R_SPARC_HIX22", Const, 0},
- {"R_SPARC_HM10", Const, 0},
- {"R_SPARC_JMP_SLOT", Const, 0},
- {"R_SPARC_L44", Const, 0},
- {"R_SPARC_LM22", Const, 0},
- {"R_SPARC_LO10", Const, 0},
- {"R_SPARC_LOPLT10", Const, 0},
- {"R_SPARC_LOX10", Const, 0},
- {"R_SPARC_M44", Const, 0},
- {"R_SPARC_NONE", Const, 0},
- {"R_SPARC_OLO10", Const, 0},
- {"R_SPARC_PC10", Const, 0},
- {"R_SPARC_PC22", Const, 0},
- {"R_SPARC_PCPLT10", Const, 0},
- {"R_SPARC_PCPLT22", Const, 0},
- {"R_SPARC_PCPLT32", Const, 0},
- {"R_SPARC_PC_HH22", Const, 0},
- {"R_SPARC_PC_HM10", Const, 0},
- {"R_SPARC_PC_LM22", Const, 0},
- {"R_SPARC_PLT32", Const, 0},
- {"R_SPARC_PLT64", Const, 0},
- {"R_SPARC_REGISTER", Const, 0},
- {"R_SPARC_RELATIVE", Const, 0},
- {"R_SPARC_UA16", Const, 0},
- {"R_SPARC_UA32", Const, 0},
- {"R_SPARC_UA64", Const, 0},
- {"R_SPARC_WDISP16", Const, 0},
- {"R_SPARC_WDISP19", Const, 0},
- {"R_SPARC_WDISP22", Const, 0},
- {"R_SPARC_WDISP30", Const, 0},
- {"R_SPARC_WPLT30", Const, 0},
- {"R_SYM32", Func, 0},
- {"R_SYM64", Func, 0},
- {"R_TYPE32", Func, 0},
- {"R_TYPE64", Func, 0},
- {"R_X86_64", Type, 0},
- {"R_X86_64_16", Const, 0},
- {"R_X86_64_32", Const, 0},
- {"R_X86_64_32S", Const, 0},
- {"R_X86_64_64", Const, 0},
- {"R_X86_64_8", Const, 0},
- {"R_X86_64_COPY", Const, 0},
- {"R_X86_64_DTPMOD64", Const, 0},
- {"R_X86_64_DTPOFF32", Const, 0},
- {"R_X86_64_DTPOFF64", Const, 0},
- {"R_X86_64_GLOB_DAT", Const, 0},
- {"R_X86_64_GOT32", Const, 0},
- {"R_X86_64_GOT64", Const, 10},
- {"R_X86_64_GOTOFF64", Const, 10},
- {"R_X86_64_GOTPC32", Const, 10},
- {"R_X86_64_GOTPC32_TLSDESC", Const, 10},
- {"R_X86_64_GOTPC64", Const, 10},
- {"R_X86_64_GOTPCREL", Const, 0},
- {"R_X86_64_GOTPCREL64", Const, 10},
- {"R_X86_64_GOTPCRELX", Const, 10},
- {"R_X86_64_GOTPLT64", Const, 10},
- {"R_X86_64_GOTTPOFF", Const, 0},
- {"R_X86_64_IRELATIVE", Const, 10},
- {"R_X86_64_JMP_SLOT", Const, 0},
- {"R_X86_64_NONE", Const, 0},
- {"R_X86_64_PC16", Const, 0},
- {"R_X86_64_PC32", Const, 0},
- {"R_X86_64_PC32_BND", Const, 10},
- {"R_X86_64_PC64", Const, 10},
- {"R_X86_64_PC8", Const, 0},
- {"R_X86_64_PLT32", Const, 0},
- {"R_X86_64_PLT32_BND", Const, 10},
- {"R_X86_64_PLTOFF64", Const, 10},
- {"R_X86_64_RELATIVE", Const, 0},
- {"R_X86_64_RELATIVE64", Const, 10},
- {"R_X86_64_REX_GOTPCRELX", Const, 10},
- {"R_X86_64_SIZE32", Const, 10},
- {"R_X86_64_SIZE64", Const, 10},
- {"R_X86_64_TLSDESC", Const, 10},
- {"R_X86_64_TLSDESC_CALL", Const, 10},
- {"R_X86_64_TLSGD", Const, 0},
- {"R_X86_64_TLSLD", Const, 0},
- {"R_X86_64_TPOFF32", Const, 0},
- {"R_X86_64_TPOFF64", Const, 0},
- {"Rel32", Type, 0},
- {"Rel32.Info", Field, 0},
- {"Rel32.Off", Field, 0},
- {"Rel64", Type, 0},
- {"Rel64.Info", Field, 0},
- {"Rel64.Off", Field, 0},
- {"Rela32", Type, 0},
- {"Rela32.Addend", Field, 0},
- {"Rela32.Info", Field, 0},
- {"Rela32.Off", Field, 0},
- {"Rela64", Type, 0},
- {"Rela64.Addend", Field, 0},
- {"Rela64.Info", Field, 0},
- {"Rela64.Off", Field, 0},
- {"SHF_ALLOC", Const, 0},
- {"SHF_COMPRESSED", Const, 6},
- {"SHF_EXECINSTR", Const, 0},
- {"SHF_GROUP", Const, 0},
- {"SHF_INFO_LINK", Const, 0},
- {"SHF_LINK_ORDER", Const, 0},
- {"SHF_MASKOS", Const, 0},
- {"SHF_MASKPROC", Const, 0},
- {"SHF_MERGE", Const, 0},
- {"SHF_OS_NONCONFORMING", Const, 0},
- {"SHF_STRINGS", Const, 0},
- {"SHF_TLS", Const, 0},
- {"SHF_WRITE", Const, 0},
- {"SHN_ABS", Const, 0},
- {"SHN_COMMON", Const, 0},
- {"SHN_HIOS", Const, 0},
- {"SHN_HIPROC", Const, 0},
- {"SHN_HIRESERVE", Const, 0},
- {"SHN_LOOS", Const, 0},
- {"SHN_LOPROC", Const, 0},
- {"SHN_LORESERVE", Const, 0},
- {"SHN_UNDEF", Const, 0},
- {"SHN_XINDEX", Const, 0},
- {"SHT_DYNAMIC", Const, 0},
- {"SHT_DYNSYM", Const, 0},
- {"SHT_FINI_ARRAY", Const, 0},
- {"SHT_GNU_ATTRIBUTES", Const, 0},
- {"SHT_GNU_HASH", Const, 0},
- {"SHT_GNU_LIBLIST", Const, 0},
- {"SHT_GNU_VERDEF", Const, 0},
- {"SHT_GNU_VERNEED", Const, 0},
- {"SHT_GNU_VERSYM", Const, 0},
- {"SHT_GROUP", Const, 0},
- {"SHT_HASH", Const, 0},
- {"SHT_HIOS", Const, 0},
- {"SHT_HIPROC", Const, 0},
- {"SHT_HIUSER", Const, 0},
- {"SHT_INIT_ARRAY", Const, 0},
- {"SHT_LOOS", Const, 0},
- {"SHT_LOPROC", Const, 0},
- {"SHT_LOUSER", Const, 0},
- {"SHT_MIPS_ABIFLAGS", Const, 17},
- {"SHT_NOBITS", Const, 0},
- {"SHT_NOTE", Const, 0},
- {"SHT_NULL", Const, 0},
- {"SHT_PREINIT_ARRAY", Const, 0},
- {"SHT_PROGBITS", Const, 0},
- {"SHT_REL", Const, 0},
- {"SHT_RELA", Const, 0},
- {"SHT_SHLIB", Const, 0},
- {"SHT_STRTAB", Const, 0},
- {"SHT_SYMTAB", Const, 0},
- {"SHT_SYMTAB_SHNDX", Const, 0},
- {"STB_GLOBAL", Const, 0},
- {"STB_HIOS", Const, 0},
- {"STB_HIPROC", Const, 0},
- {"STB_LOCAL", Const, 0},
- {"STB_LOOS", Const, 0},
- {"STB_LOPROC", Const, 0},
- {"STB_WEAK", Const, 0},
- {"STT_COMMON", Const, 0},
- {"STT_FILE", Const, 0},
- {"STT_FUNC", Const, 0},
- {"STT_GNU_IFUNC", Const, 23},
- {"STT_HIOS", Const, 0},
- {"STT_HIPROC", Const, 0},
- {"STT_LOOS", Const, 0},
- {"STT_LOPROC", Const, 0},
- {"STT_NOTYPE", Const, 0},
- {"STT_OBJECT", Const, 0},
- {"STT_RELC", Const, 23},
- {"STT_SECTION", Const, 0},
- {"STT_SRELC", Const, 23},
- {"STT_TLS", Const, 0},
- {"STV_DEFAULT", Const, 0},
- {"STV_HIDDEN", Const, 0},
- {"STV_INTERNAL", Const, 0},
- {"STV_PROTECTED", Const, 0},
- {"ST_BIND", Func, 0},
- {"ST_INFO", Func, 0},
- {"ST_TYPE", Func, 0},
- {"ST_VISIBILITY", Func, 0},
- {"Section", Type, 0},
- {"Section.ReaderAt", Field, 0},
- {"Section.SectionHeader", Field, 0},
- {"Section32", Type, 0},
- {"Section32.Addr", Field, 0},
- {"Section32.Addralign", Field, 0},
- {"Section32.Entsize", Field, 0},
- {"Section32.Flags", Field, 0},
- {"Section32.Info", Field, 0},
- {"Section32.Link", Field, 0},
- {"Section32.Name", Field, 0},
- {"Section32.Off", Field, 0},
- {"Section32.Size", Field, 0},
- {"Section32.Type", Field, 0},
- {"Section64", Type, 0},
- {"Section64.Addr", Field, 0},
- {"Section64.Addralign", Field, 0},
- {"Section64.Entsize", Field, 0},
- {"Section64.Flags", Field, 0},
- {"Section64.Info", Field, 0},
- {"Section64.Link", Field, 0},
- {"Section64.Name", Field, 0},
- {"Section64.Off", Field, 0},
- {"Section64.Size", Field, 0},
- {"Section64.Type", Field, 0},
- {"SectionFlag", Type, 0},
- {"SectionHeader", Type, 0},
- {"SectionHeader.Addr", Field, 0},
- {"SectionHeader.Addralign", Field, 0},
- {"SectionHeader.Entsize", Field, 0},
- {"SectionHeader.FileSize", Field, 6},
- {"SectionHeader.Flags", Field, 0},
- {"SectionHeader.Info", Field, 0},
- {"SectionHeader.Link", Field, 0},
- {"SectionHeader.Name", Field, 0},
- {"SectionHeader.Offset", Field, 0},
- {"SectionHeader.Size", Field, 0},
- {"SectionHeader.Type", Field, 0},
- {"SectionIndex", Type, 0},
- {"SectionType", Type, 0},
- {"Sym32", Type, 0},
- {"Sym32.Info", Field, 0},
- {"Sym32.Name", Field, 0},
- {"Sym32.Other", Field, 0},
- {"Sym32.Shndx", Field, 0},
- {"Sym32.Size", Field, 0},
- {"Sym32.Value", Field, 0},
- {"Sym32Size", Const, 0},
- {"Sym64", Type, 0},
- {"Sym64.Info", Field, 0},
- {"Sym64.Name", Field, 0},
- {"Sym64.Other", Field, 0},
- {"Sym64.Shndx", Field, 0},
- {"Sym64.Size", Field, 0},
- {"Sym64.Value", Field, 0},
- {"Sym64Size", Const, 0},
- {"SymBind", Type, 0},
- {"SymType", Type, 0},
- {"SymVis", Type, 0},
- {"Symbol", Type, 0},
- {"Symbol.Info", Field, 0},
- {"Symbol.Library", Field, 13},
- {"Symbol.Name", Field, 0},
- {"Symbol.Other", Field, 0},
- {"Symbol.Section", Field, 0},
- {"Symbol.Size", Field, 0},
- {"Symbol.Value", Field, 0},
- {"Symbol.Version", Field, 13},
- {"Type", Type, 0},
- {"Version", Type, 0},
- },
- "debug/gosym": {
- {"(*DecodingError).Error", Method, 0},
- {"(*LineTable).LineToPC", Method, 0},
- {"(*LineTable).PCToLine", Method, 0},
- {"(*Sym).BaseName", Method, 0},
- {"(*Sym).PackageName", Method, 0},
- {"(*Sym).ReceiverName", Method, 0},
- {"(*Sym).Static", Method, 0},
- {"(*Table).LineToPC", Method, 0},
- {"(*Table).LookupFunc", Method, 0},
- {"(*Table).LookupSym", Method, 0},
- {"(*Table).PCToFunc", Method, 0},
- {"(*Table).PCToLine", Method, 0},
- {"(*Table).SymByAddr", Method, 0},
- {"(*UnknownLineError).Error", Method, 0},
- {"(Func).BaseName", Method, 0},
- {"(Func).PackageName", Method, 0},
- {"(Func).ReceiverName", Method, 0},
- {"(Func).Static", Method, 0},
- {"(UnknownFileError).Error", Method, 0},
- {"DecodingError", Type, 0},
- {"Func", Type, 0},
- {"Func.End", Field, 0},
- {"Func.Entry", Field, 0},
- {"Func.FrameSize", Field, 0},
- {"Func.LineTable", Field, 0},
- {"Func.Locals", Field, 0},
- {"Func.Obj", Field, 0},
- {"Func.Params", Field, 0},
- {"Func.Sym", Field, 0},
- {"LineTable", Type, 0},
- {"LineTable.Data", Field, 0},
- {"LineTable.Line", Field, 0},
- {"LineTable.PC", Field, 0},
- {"NewLineTable", Func, 0},
- {"NewTable", Func, 0},
- {"Obj", Type, 0},
- {"Obj.Funcs", Field, 0},
- {"Obj.Paths", Field, 0},
- {"Sym", Type, 0},
- {"Sym.Func", Field, 0},
- {"Sym.GoType", Field, 0},
- {"Sym.Name", Field, 0},
- {"Sym.Type", Field, 0},
- {"Sym.Value", Field, 0},
- {"Table", Type, 0},
- {"Table.Files", Field, 0},
- {"Table.Funcs", Field, 0},
- {"Table.Objs", Field, 0},
- {"Table.Syms", Field, 0},
- {"UnknownFileError", Type, 0},
- {"UnknownLineError", Type, 0},
- {"UnknownLineError.File", Field, 0},
- {"UnknownLineError.Line", Field, 0},
- },
- "debug/macho": {
- {"(*FatFile).Close", Method, 3},
- {"(*File).Close", Method, 0},
- {"(*File).DWARF", Method, 0},
- {"(*File).ImportedLibraries", Method, 0},
- {"(*File).ImportedSymbols", Method, 0},
- {"(*File).Section", Method, 0},
- {"(*File).Segment", Method, 0},
- {"(*FormatError).Error", Method, 0},
- {"(*Section).Data", Method, 0},
- {"(*Section).Open", Method, 0},
- {"(*Segment).Data", Method, 0},
- {"(*Segment).Open", Method, 0},
- {"(Cpu).GoString", Method, 0},
- {"(Cpu).String", Method, 0},
- {"(Dylib).Raw", Method, 0},
- {"(Dysymtab).Raw", Method, 0},
- {"(FatArch).Close", Method, 3},
- {"(FatArch).DWARF", Method, 3},
- {"(FatArch).ImportedLibraries", Method, 3},
- {"(FatArch).ImportedSymbols", Method, 3},
- {"(FatArch).Section", Method, 3},
- {"(FatArch).Segment", Method, 3},
- {"(LoadBytes).Raw", Method, 0},
- {"(LoadCmd).GoString", Method, 0},
- {"(LoadCmd).String", Method, 0},
- {"(RelocTypeARM).GoString", Method, 10},
- {"(RelocTypeARM).String", Method, 10},
- {"(RelocTypeARM64).GoString", Method, 10},
- {"(RelocTypeARM64).String", Method, 10},
- {"(RelocTypeGeneric).GoString", Method, 10},
- {"(RelocTypeGeneric).String", Method, 10},
- {"(RelocTypeX86_64).GoString", Method, 10},
- {"(RelocTypeX86_64).String", Method, 10},
- {"(Rpath).Raw", Method, 10},
- {"(Section).ReadAt", Method, 0},
- {"(Segment).Raw", Method, 0},
- {"(Segment).ReadAt", Method, 0},
- {"(Symtab).Raw", Method, 0},
- {"(Type).GoString", Method, 10},
- {"(Type).String", Method, 10},
- {"ARM64_RELOC_ADDEND", Const, 10},
- {"ARM64_RELOC_BRANCH26", Const, 10},
- {"ARM64_RELOC_GOT_LOAD_PAGE21", Const, 10},
- {"ARM64_RELOC_GOT_LOAD_PAGEOFF12", Const, 10},
- {"ARM64_RELOC_PAGE21", Const, 10},
- {"ARM64_RELOC_PAGEOFF12", Const, 10},
- {"ARM64_RELOC_POINTER_TO_GOT", Const, 10},
- {"ARM64_RELOC_SUBTRACTOR", Const, 10},
- {"ARM64_RELOC_TLVP_LOAD_PAGE21", Const, 10},
- {"ARM64_RELOC_TLVP_LOAD_PAGEOFF12", Const, 10},
- {"ARM64_RELOC_UNSIGNED", Const, 10},
- {"ARM_RELOC_BR24", Const, 10},
- {"ARM_RELOC_HALF", Const, 10},
- {"ARM_RELOC_HALF_SECTDIFF", Const, 10},
- {"ARM_RELOC_LOCAL_SECTDIFF", Const, 10},
- {"ARM_RELOC_PAIR", Const, 10},
- {"ARM_RELOC_PB_LA_PTR", Const, 10},
- {"ARM_RELOC_SECTDIFF", Const, 10},
- {"ARM_RELOC_VANILLA", Const, 10},
- {"ARM_THUMB_32BIT_BRANCH", Const, 10},
- {"ARM_THUMB_RELOC_BR22", Const, 10},
- {"Cpu", Type, 0},
- {"Cpu386", Const, 0},
- {"CpuAmd64", Const, 0},
- {"CpuArm", Const, 3},
- {"CpuArm64", Const, 11},
- {"CpuPpc", Const, 3},
- {"CpuPpc64", Const, 3},
- {"Dylib", Type, 0},
- {"Dylib.CompatVersion", Field, 0},
- {"Dylib.CurrentVersion", Field, 0},
- {"Dylib.LoadBytes", Field, 0},
- {"Dylib.Name", Field, 0},
- {"Dylib.Time", Field, 0},
- {"DylibCmd", Type, 0},
- {"DylibCmd.Cmd", Field, 0},
- {"DylibCmd.CompatVersion", Field, 0},
- {"DylibCmd.CurrentVersion", Field, 0},
- {"DylibCmd.Len", Field, 0},
- {"DylibCmd.Name", Field, 0},
- {"DylibCmd.Time", Field, 0},
- {"Dysymtab", Type, 0},
- {"Dysymtab.DysymtabCmd", Field, 0},
- {"Dysymtab.IndirectSyms", Field, 0},
- {"Dysymtab.LoadBytes", Field, 0},
- {"DysymtabCmd", Type, 0},
- {"DysymtabCmd.Cmd", Field, 0},
- {"DysymtabCmd.Extrefsymoff", Field, 0},
- {"DysymtabCmd.Extreloff", Field, 0},
- {"DysymtabCmd.Iextdefsym", Field, 0},
- {"DysymtabCmd.Ilocalsym", Field, 0},
- {"DysymtabCmd.Indirectsymoff", Field, 0},
- {"DysymtabCmd.Iundefsym", Field, 0},
- {"DysymtabCmd.Len", Field, 0},
- {"DysymtabCmd.Locreloff", Field, 0},
- {"DysymtabCmd.Modtaboff", Field, 0},
- {"DysymtabCmd.Nextdefsym", Field, 0},
- {"DysymtabCmd.Nextrefsyms", Field, 0},
- {"DysymtabCmd.Nextrel", Field, 0},
- {"DysymtabCmd.Nindirectsyms", Field, 0},
- {"DysymtabCmd.Nlocalsym", Field, 0},
- {"DysymtabCmd.Nlocrel", Field, 0},
- {"DysymtabCmd.Nmodtab", Field, 0},
- {"DysymtabCmd.Ntoc", Field, 0},
- {"DysymtabCmd.Nundefsym", Field, 0},
- {"DysymtabCmd.Tocoffset", Field, 0},
- {"ErrNotFat", Var, 3},
- {"FatArch", Type, 3},
- {"FatArch.FatArchHeader", Field, 3},
- {"FatArch.File", Field, 3},
- {"FatArchHeader", Type, 3},
- {"FatArchHeader.Align", Field, 3},
- {"FatArchHeader.Cpu", Field, 3},
- {"FatArchHeader.Offset", Field, 3},
- {"FatArchHeader.Size", Field, 3},
- {"FatArchHeader.SubCpu", Field, 3},
- {"FatFile", Type, 3},
- {"FatFile.Arches", Field, 3},
- {"FatFile.Magic", Field, 3},
- {"File", Type, 0},
- {"File.ByteOrder", Field, 0},
- {"File.Dysymtab", Field, 0},
- {"File.FileHeader", Field, 0},
- {"File.Loads", Field, 0},
- {"File.Sections", Field, 0},
- {"File.Symtab", Field, 0},
- {"FileHeader", Type, 0},
- {"FileHeader.Cmdsz", Field, 0},
- {"FileHeader.Cpu", Field, 0},
- {"FileHeader.Flags", Field, 0},
- {"FileHeader.Magic", Field, 0},
- {"FileHeader.Ncmd", Field, 0},
- {"FileHeader.SubCpu", Field, 0},
- {"FileHeader.Type", Field, 0},
- {"FlagAllModsBound", Const, 10},
- {"FlagAllowStackExecution", Const, 10},
- {"FlagAppExtensionSafe", Const, 10},
- {"FlagBindAtLoad", Const, 10},
- {"FlagBindsToWeak", Const, 10},
- {"FlagCanonical", Const, 10},
- {"FlagDeadStrippableDylib", Const, 10},
- {"FlagDyldLink", Const, 10},
- {"FlagForceFlat", Const, 10},
- {"FlagHasTLVDescriptors", Const, 10},
- {"FlagIncrLink", Const, 10},
- {"FlagLazyInit", Const, 10},
- {"FlagNoFixPrebinding", Const, 10},
- {"FlagNoHeapExecution", Const, 10},
- {"FlagNoMultiDefs", Const, 10},
- {"FlagNoReexportedDylibs", Const, 10},
- {"FlagNoUndefs", Const, 10},
- {"FlagPIE", Const, 10},
- {"FlagPrebindable", Const, 10},
- {"FlagPrebound", Const, 10},
- {"FlagRootSafe", Const, 10},
- {"FlagSetuidSafe", Const, 10},
- {"FlagSplitSegs", Const, 10},
- {"FlagSubsectionsViaSymbols", Const, 10},
- {"FlagTwoLevel", Const, 10},
- {"FlagWeakDefines", Const, 10},
- {"FormatError", Type, 0},
- {"GENERIC_RELOC_LOCAL_SECTDIFF", Const, 10},
- {"GENERIC_RELOC_PAIR", Const, 10},
- {"GENERIC_RELOC_PB_LA_PTR", Const, 10},
- {"GENERIC_RELOC_SECTDIFF", Const, 10},
- {"GENERIC_RELOC_TLV", Const, 10},
- {"GENERIC_RELOC_VANILLA", Const, 10},
- {"Load", Type, 0},
- {"LoadBytes", Type, 0},
- {"LoadCmd", Type, 0},
- {"LoadCmdDylib", Const, 0},
- {"LoadCmdDylinker", Const, 0},
- {"LoadCmdDysymtab", Const, 0},
- {"LoadCmdRpath", Const, 10},
- {"LoadCmdSegment", Const, 0},
- {"LoadCmdSegment64", Const, 0},
- {"LoadCmdSymtab", Const, 0},
- {"LoadCmdThread", Const, 0},
- {"LoadCmdUnixThread", Const, 0},
- {"Magic32", Const, 0},
- {"Magic64", Const, 0},
- {"MagicFat", Const, 3},
- {"NewFatFile", Func, 3},
- {"NewFile", Func, 0},
- {"Nlist32", Type, 0},
- {"Nlist32.Desc", Field, 0},
- {"Nlist32.Name", Field, 0},
- {"Nlist32.Sect", Field, 0},
- {"Nlist32.Type", Field, 0},
- {"Nlist32.Value", Field, 0},
- {"Nlist64", Type, 0},
- {"Nlist64.Desc", Field, 0},
- {"Nlist64.Name", Field, 0},
- {"Nlist64.Sect", Field, 0},
- {"Nlist64.Type", Field, 0},
- {"Nlist64.Value", Field, 0},
- {"Open", Func, 0},
- {"OpenFat", Func, 3},
- {"Regs386", Type, 0},
- {"Regs386.AX", Field, 0},
- {"Regs386.BP", Field, 0},
- {"Regs386.BX", Field, 0},
- {"Regs386.CS", Field, 0},
- {"Regs386.CX", Field, 0},
- {"Regs386.DI", Field, 0},
- {"Regs386.DS", Field, 0},
- {"Regs386.DX", Field, 0},
- {"Regs386.ES", Field, 0},
- {"Regs386.FLAGS", Field, 0},
- {"Regs386.FS", Field, 0},
- {"Regs386.GS", Field, 0},
- {"Regs386.IP", Field, 0},
- {"Regs386.SI", Field, 0},
- {"Regs386.SP", Field, 0},
- {"Regs386.SS", Field, 0},
- {"RegsAMD64", Type, 0},
- {"RegsAMD64.AX", Field, 0},
- {"RegsAMD64.BP", Field, 0},
- {"RegsAMD64.BX", Field, 0},
- {"RegsAMD64.CS", Field, 0},
- {"RegsAMD64.CX", Field, 0},
- {"RegsAMD64.DI", Field, 0},
- {"RegsAMD64.DX", Field, 0},
- {"RegsAMD64.FLAGS", Field, 0},
- {"RegsAMD64.FS", Field, 0},
- {"RegsAMD64.GS", Field, 0},
- {"RegsAMD64.IP", Field, 0},
- {"RegsAMD64.R10", Field, 0},
- {"RegsAMD64.R11", Field, 0},
- {"RegsAMD64.R12", Field, 0},
- {"RegsAMD64.R13", Field, 0},
- {"RegsAMD64.R14", Field, 0},
- {"RegsAMD64.R15", Field, 0},
- {"RegsAMD64.R8", Field, 0},
- {"RegsAMD64.R9", Field, 0},
- {"RegsAMD64.SI", Field, 0},
- {"RegsAMD64.SP", Field, 0},
- {"Reloc", Type, 10},
- {"Reloc.Addr", Field, 10},
- {"Reloc.Extern", Field, 10},
- {"Reloc.Len", Field, 10},
- {"Reloc.Pcrel", Field, 10},
- {"Reloc.Scattered", Field, 10},
- {"Reloc.Type", Field, 10},
- {"Reloc.Value", Field, 10},
- {"RelocTypeARM", Type, 10},
- {"RelocTypeARM64", Type, 10},
- {"RelocTypeGeneric", Type, 10},
- {"RelocTypeX86_64", Type, 10},
- {"Rpath", Type, 10},
- {"Rpath.LoadBytes", Field, 10},
- {"Rpath.Path", Field, 10},
- {"RpathCmd", Type, 10},
- {"RpathCmd.Cmd", Field, 10},
- {"RpathCmd.Len", Field, 10},
- {"RpathCmd.Path", Field, 10},
- {"Section", Type, 0},
- {"Section.ReaderAt", Field, 0},
- {"Section.Relocs", Field, 10},
- {"Section.SectionHeader", Field, 0},
- {"Section32", Type, 0},
- {"Section32.Addr", Field, 0},
- {"Section32.Align", Field, 0},
- {"Section32.Flags", Field, 0},
- {"Section32.Name", Field, 0},
- {"Section32.Nreloc", Field, 0},
- {"Section32.Offset", Field, 0},
- {"Section32.Reloff", Field, 0},
- {"Section32.Reserve1", Field, 0},
- {"Section32.Reserve2", Field, 0},
- {"Section32.Seg", Field, 0},
- {"Section32.Size", Field, 0},
- {"Section64", Type, 0},
- {"Section64.Addr", Field, 0},
- {"Section64.Align", Field, 0},
- {"Section64.Flags", Field, 0},
- {"Section64.Name", Field, 0},
- {"Section64.Nreloc", Field, 0},
- {"Section64.Offset", Field, 0},
- {"Section64.Reloff", Field, 0},
- {"Section64.Reserve1", Field, 0},
- {"Section64.Reserve2", Field, 0},
- {"Section64.Reserve3", Field, 0},
- {"Section64.Seg", Field, 0},
- {"Section64.Size", Field, 0},
- {"SectionHeader", Type, 0},
- {"SectionHeader.Addr", Field, 0},
- {"SectionHeader.Align", Field, 0},
- {"SectionHeader.Flags", Field, 0},
- {"SectionHeader.Name", Field, 0},
- {"SectionHeader.Nreloc", Field, 0},
- {"SectionHeader.Offset", Field, 0},
- {"SectionHeader.Reloff", Field, 0},
- {"SectionHeader.Seg", Field, 0},
- {"SectionHeader.Size", Field, 0},
- {"Segment", Type, 0},
- {"Segment.LoadBytes", Field, 0},
- {"Segment.ReaderAt", Field, 0},
- {"Segment.SegmentHeader", Field, 0},
- {"Segment32", Type, 0},
- {"Segment32.Addr", Field, 0},
- {"Segment32.Cmd", Field, 0},
- {"Segment32.Filesz", Field, 0},
- {"Segment32.Flag", Field, 0},
- {"Segment32.Len", Field, 0},
- {"Segment32.Maxprot", Field, 0},
- {"Segment32.Memsz", Field, 0},
- {"Segment32.Name", Field, 0},
- {"Segment32.Nsect", Field, 0},
- {"Segment32.Offset", Field, 0},
- {"Segment32.Prot", Field, 0},
- {"Segment64", Type, 0},
- {"Segment64.Addr", Field, 0},
- {"Segment64.Cmd", Field, 0},
- {"Segment64.Filesz", Field, 0},
- {"Segment64.Flag", Field, 0},
- {"Segment64.Len", Field, 0},
- {"Segment64.Maxprot", Field, 0},
- {"Segment64.Memsz", Field, 0},
- {"Segment64.Name", Field, 0},
- {"Segment64.Nsect", Field, 0},
- {"Segment64.Offset", Field, 0},
- {"Segment64.Prot", Field, 0},
- {"SegmentHeader", Type, 0},
- {"SegmentHeader.Addr", Field, 0},
- {"SegmentHeader.Cmd", Field, 0},
- {"SegmentHeader.Filesz", Field, 0},
- {"SegmentHeader.Flag", Field, 0},
- {"SegmentHeader.Len", Field, 0},
- {"SegmentHeader.Maxprot", Field, 0},
- {"SegmentHeader.Memsz", Field, 0},
- {"SegmentHeader.Name", Field, 0},
- {"SegmentHeader.Nsect", Field, 0},
- {"SegmentHeader.Offset", Field, 0},
- {"SegmentHeader.Prot", Field, 0},
- {"Symbol", Type, 0},
- {"Symbol.Desc", Field, 0},
- {"Symbol.Name", Field, 0},
- {"Symbol.Sect", Field, 0},
- {"Symbol.Type", Field, 0},
- {"Symbol.Value", Field, 0},
- {"Symtab", Type, 0},
- {"Symtab.LoadBytes", Field, 0},
- {"Symtab.Syms", Field, 0},
- {"Symtab.SymtabCmd", Field, 0},
- {"SymtabCmd", Type, 0},
- {"SymtabCmd.Cmd", Field, 0},
- {"SymtabCmd.Len", Field, 0},
- {"SymtabCmd.Nsyms", Field, 0},
- {"SymtabCmd.Stroff", Field, 0},
- {"SymtabCmd.Strsize", Field, 0},
- {"SymtabCmd.Symoff", Field, 0},
- {"Thread", Type, 0},
- {"Thread.Cmd", Field, 0},
- {"Thread.Data", Field, 0},
- {"Thread.Len", Field, 0},
- {"Thread.Type", Field, 0},
- {"Type", Type, 0},
- {"TypeBundle", Const, 3},
- {"TypeDylib", Const, 3},
- {"TypeExec", Const, 0},
- {"TypeObj", Const, 0},
- {"X86_64_RELOC_BRANCH", Const, 10},
- {"X86_64_RELOC_GOT", Const, 10},
- {"X86_64_RELOC_GOT_LOAD", Const, 10},
- {"X86_64_RELOC_SIGNED", Const, 10},
- {"X86_64_RELOC_SIGNED_1", Const, 10},
- {"X86_64_RELOC_SIGNED_2", Const, 10},
- {"X86_64_RELOC_SIGNED_4", Const, 10},
- {"X86_64_RELOC_SUBTRACTOR", Const, 10},
- {"X86_64_RELOC_TLV", Const, 10},
- {"X86_64_RELOC_UNSIGNED", Const, 10},
- },
- "debug/pe": {
- {"(*COFFSymbol).FullName", Method, 8},
- {"(*File).COFFSymbolReadSectionDefAux", Method, 19},
- {"(*File).Close", Method, 0},
- {"(*File).DWARF", Method, 0},
- {"(*File).ImportedLibraries", Method, 0},
- {"(*File).ImportedSymbols", Method, 0},
- {"(*File).Section", Method, 0},
- {"(*FormatError).Error", Method, 0},
- {"(*Section).Data", Method, 0},
- {"(*Section).Open", Method, 0},
- {"(Section).ReadAt", Method, 0},
- {"(StringTable).String", Method, 8},
- {"COFFSymbol", Type, 1},
- {"COFFSymbol.Name", Field, 1},
- {"COFFSymbol.NumberOfAuxSymbols", Field, 1},
- {"COFFSymbol.SectionNumber", Field, 1},
- {"COFFSymbol.StorageClass", Field, 1},
- {"COFFSymbol.Type", Field, 1},
- {"COFFSymbol.Value", Field, 1},
- {"COFFSymbolAuxFormat5", Type, 19},
- {"COFFSymbolAuxFormat5.Checksum", Field, 19},
- {"COFFSymbolAuxFormat5.NumLineNumbers", Field, 19},
- {"COFFSymbolAuxFormat5.NumRelocs", Field, 19},
- {"COFFSymbolAuxFormat5.SecNum", Field, 19},
- {"COFFSymbolAuxFormat5.Selection", Field, 19},
- {"COFFSymbolAuxFormat5.Size", Field, 19},
- {"COFFSymbolSize", Const, 1},
- {"DataDirectory", Type, 3},
- {"DataDirectory.Size", Field, 3},
- {"DataDirectory.VirtualAddress", Field, 3},
- {"File", Type, 0},
- {"File.COFFSymbols", Field, 8},
- {"File.FileHeader", Field, 0},
- {"File.OptionalHeader", Field, 3},
- {"File.Sections", Field, 0},
- {"File.StringTable", Field, 8},
- {"File.Symbols", Field, 1},
- {"FileHeader", Type, 0},
- {"FileHeader.Characteristics", Field, 0},
- {"FileHeader.Machine", Field, 0},
- {"FileHeader.NumberOfSections", Field, 0},
- {"FileHeader.NumberOfSymbols", Field, 0},
- {"FileHeader.PointerToSymbolTable", Field, 0},
- {"FileHeader.SizeOfOptionalHeader", Field, 0},
- {"FileHeader.TimeDateStamp", Field, 0},
- {"FormatError", Type, 0},
- {"IMAGE_COMDAT_SELECT_ANY", Const, 19},
- {"IMAGE_COMDAT_SELECT_ASSOCIATIVE", Const, 19},
- {"IMAGE_COMDAT_SELECT_EXACT_MATCH", Const, 19},
- {"IMAGE_COMDAT_SELECT_LARGEST", Const, 19},
- {"IMAGE_COMDAT_SELECT_NODUPLICATES", Const, 19},
- {"IMAGE_COMDAT_SELECT_SAME_SIZE", Const, 19},
- {"IMAGE_DIRECTORY_ENTRY_ARCHITECTURE", Const, 11},
- {"IMAGE_DIRECTORY_ENTRY_BASERELOC", Const, 11},
- {"IMAGE_DIRECTORY_ENTRY_BOUND_IMPORT", Const, 11},
- {"IMAGE_DIRECTORY_ENTRY_COM_DESCRIPTOR", Const, 11},
- {"IMAGE_DIRECTORY_ENTRY_DEBUG", Const, 11},
- {"IMAGE_DIRECTORY_ENTRY_DELAY_IMPORT", Const, 11},
- {"IMAGE_DIRECTORY_ENTRY_EXCEPTION", Const, 11},
- {"IMAGE_DIRECTORY_ENTRY_EXPORT", Const, 11},
- {"IMAGE_DIRECTORY_ENTRY_GLOBALPTR", Const, 11},
- {"IMAGE_DIRECTORY_ENTRY_IAT", Const, 11},
- {"IMAGE_DIRECTORY_ENTRY_IMPORT", Const, 11},
- {"IMAGE_DIRECTORY_ENTRY_LOAD_CONFIG", Const, 11},
- {"IMAGE_DIRECTORY_ENTRY_RESOURCE", Const, 11},
- {"IMAGE_DIRECTORY_ENTRY_SECURITY", Const, 11},
- {"IMAGE_DIRECTORY_ENTRY_TLS", Const, 11},
- {"IMAGE_DLLCHARACTERISTICS_APPCONTAINER", Const, 15},
- {"IMAGE_DLLCHARACTERISTICS_DYNAMIC_BASE", Const, 15},
- {"IMAGE_DLLCHARACTERISTICS_FORCE_INTEGRITY", Const, 15},
- {"IMAGE_DLLCHARACTERISTICS_GUARD_CF", Const, 15},
- {"IMAGE_DLLCHARACTERISTICS_HIGH_ENTROPY_VA", Const, 15},
- {"IMAGE_DLLCHARACTERISTICS_NO_BIND", Const, 15},
- {"IMAGE_DLLCHARACTERISTICS_NO_ISOLATION", Const, 15},
- {"IMAGE_DLLCHARACTERISTICS_NO_SEH", Const, 15},
- {"IMAGE_DLLCHARACTERISTICS_NX_COMPAT", Const, 15},
- {"IMAGE_DLLCHARACTERISTICS_TERMINAL_SERVER_AWARE", Const, 15},
- {"IMAGE_DLLCHARACTERISTICS_WDM_DRIVER", Const, 15},
- {"IMAGE_FILE_32BIT_MACHINE", Const, 15},
- {"IMAGE_FILE_AGGRESIVE_WS_TRIM", Const, 15},
- {"IMAGE_FILE_BYTES_REVERSED_HI", Const, 15},
- {"IMAGE_FILE_BYTES_REVERSED_LO", Const, 15},
- {"IMAGE_FILE_DEBUG_STRIPPED", Const, 15},
- {"IMAGE_FILE_DLL", Const, 15},
- {"IMAGE_FILE_EXECUTABLE_IMAGE", Const, 15},
- {"IMAGE_FILE_LARGE_ADDRESS_AWARE", Const, 15},
- {"IMAGE_FILE_LINE_NUMS_STRIPPED", Const, 15},
- {"IMAGE_FILE_LOCAL_SYMS_STRIPPED", Const, 15},
- {"IMAGE_FILE_MACHINE_AM33", Const, 0},
- {"IMAGE_FILE_MACHINE_AMD64", Const, 0},
- {"IMAGE_FILE_MACHINE_ARM", Const, 0},
- {"IMAGE_FILE_MACHINE_ARM64", Const, 11},
- {"IMAGE_FILE_MACHINE_ARMNT", Const, 12},
- {"IMAGE_FILE_MACHINE_EBC", Const, 0},
- {"IMAGE_FILE_MACHINE_I386", Const, 0},
- {"IMAGE_FILE_MACHINE_IA64", Const, 0},
- {"IMAGE_FILE_MACHINE_LOONGARCH32", Const, 19},
- {"IMAGE_FILE_MACHINE_LOONGARCH64", Const, 19},
- {"IMAGE_FILE_MACHINE_M32R", Const, 0},
- {"IMAGE_FILE_MACHINE_MIPS16", Const, 0},
- {"IMAGE_FILE_MACHINE_MIPSFPU", Const, 0},
- {"IMAGE_FILE_MACHINE_MIPSFPU16", Const, 0},
- {"IMAGE_FILE_MACHINE_POWERPC", Const, 0},
- {"IMAGE_FILE_MACHINE_POWERPCFP", Const, 0},
- {"IMAGE_FILE_MACHINE_R4000", Const, 0},
- {"IMAGE_FILE_MACHINE_RISCV128", Const, 20},
- {"IMAGE_FILE_MACHINE_RISCV32", Const, 20},
- {"IMAGE_FILE_MACHINE_RISCV64", Const, 20},
- {"IMAGE_FILE_MACHINE_SH3", Const, 0},
- {"IMAGE_FILE_MACHINE_SH3DSP", Const, 0},
- {"IMAGE_FILE_MACHINE_SH4", Const, 0},
- {"IMAGE_FILE_MACHINE_SH5", Const, 0},
- {"IMAGE_FILE_MACHINE_THUMB", Const, 0},
- {"IMAGE_FILE_MACHINE_UNKNOWN", Const, 0},
- {"IMAGE_FILE_MACHINE_WCEMIPSV2", Const, 0},
- {"IMAGE_FILE_NET_RUN_FROM_SWAP", Const, 15},
- {"IMAGE_FILE_RELOCS_STRIPPED", Const, 15},
- {"IMAGE_FILE_REMOVABLE_RUN_FROM_SWAP", Const, 15},
- {"IMAGE_FILE_SYSTEM", Const, 15},
- {"IMAGE_FILE_UP_SYSTEM_ONLY", Const, 15},
- {"IMAGE_SCN_CNT_CODE", Const, 19},
- {"IMAGE_SCN_CNT_INITIALIZED_DATA", Const, 19},
- {"IMAGE_SCN_CNT_UNINITIALIZED_DATA", Const, 19},
- {"IMAGE_SCN_LNK_COMDAT", Const, 19},
- {"IMAGE_SCN_MEM_DISCARDABLE", Const, 19},
- {"IMAGE_SCN_MEM_EXECUTE", Const, 19},
- {"IMAGE_SCN_MEM_READ", Const, 19},
- {"IMAGE_SCN_MEM_WRITE", Const, 19},
- {"IMAGE_SUBSYSTEM_EFI_APPLICATION", Const, 15},
- {"IMAGE_SUBSYSTEM_EFI_BOOT_SERVICE_DRIVER", Const, 15},
- {"IMAGE_SUBSYSTEM_EFI_ROM", Const, 15},
- {"IMAGE_SUBSYSTEM_EFI_RUNTIME_DRIVER", Const, 15},
- {"IMAGE_SUBSYSTEM_NATIVE", Const, 15},
- {"IMAGE_SUBSYSTEM_NATIVE_WINDOWS", Const, 15},
- {"IMAGE_SUBSYSTEM_OS2_CUI", Const, 15},
- {"IMAGE_SUBSYSTEM_POSIX_CUI", Const, 15},
- {"IMAGE_SUBSYSTEM_UNKNOWN", Const, 15},
- {"IMAGE_SUBSYSTEM_WINDOWS_BOOT_APPLICATION", Const, 15},
- {"IMAGE_SUBSYSTEM_WINDOWS_CE_GUI", Const, 15},
- {"IMAGE_SUBSYSTEM_WINDOWS_CUI", Const, 15},
- {"IMAGE_SUBSYSTEM_WINDOWS_GUI", Const, 15},
- {"IMAGE_SUBSYSTEM_XBOX", Const, 15},
- {"ImportDirectory", Type, 0},
- {"ImportDirectory.FirstThunk", Field, 0},
- {"ImportDirectory.ForwarderChain", Field, 0},
- {"ImportDirectory.Name", Field, 0},
- {"ImportDirectory.OriginalFirstThunk", Field, 0},
- {"ImportDirectory.TimeDateStamp", Field, 0},
- {"NewFile", Func, 0},
- {"Open", Func, 0},
- {"OptionalHeader32", Type, 3},
- {"OptionalHeader32.AddressOfEntryPoint", Field, 3},
- {"OptionalHeader32.BaseOfCode", Field, 3},
- {"OptionalHeader32.BaseOfData", Field, 3},
- {"OptionalHeader32.CheckSum", Field, 3},
- {"OptionalHeader32.DataDirectory", Field, 3},
- {"OptionalHeader32.DllCharacteristics", Field, 3},
- {"OptionalHeader32.FileAlignment", Field, 3},
- {"OptionalHeader32.ImageBase", Field, 3},
- {"OptionalHeader32.LoaderFlags", Field, 3},
- {"OptionalHeader32.Magic", Field, 3},
- {"OptionalHeader32.MajorImageVersion", Field, 3},
- {"OptionalHeader32.MajorLinkerVersion", Field, 3},
- {"OptionalHeader32.MajorOperatingSystemVersion", Field, 3},
- {"OptionalHeader32.MajorSubsystemVersion", Field, 3},
- {"OptionalHeader32.MinorImageVersion", Field, 3},
- {"OptionalHeader32.MinorLinkerVersion", Field, 3},
- {"OptionalHeader32.MinorOperatingSystemVersion", Field, 3},
- {"OptionalHeader32.MinorSubsystemVersion", Field, 3},
- {"OptionalHeader32.NumberOfRvaAndSizes", Field, 3},
- {"OptionalHeader32.SectionAlignment", Field, 3},
- {"OptionalHeader32.SizeOfCode", Field, 3},
- {"OptionalHeader32.SizeOfHeaders", Field, 3},
- {"OptionalHeader32.SizeOfHeapCommit", Field, 3},
- {"OptionalHeader32.SizeOfHeapReserve", Field, 3},
- {"OptionalHeader32.SizeOfImage", Field, 3},
- {"OptionalHeader32.SizeOfInitializedData", Field, 3},
- {"OptionalHeader32.SizeOfStackCommit", Field, 3},
- {"OptionalHeader32.SizeOfStackReserve", Field, 3},
- {"OptionalHeader32.SizeOfUninitializedData", Field, 3},
- {"OptionalHeader32.Subsystem", Field, 3},
- {"OptionalHeader32.Win32VersionValue", Field, 3},
- {"OptionalHeader64", Type, 3},
- {"OptionalHeader64.AddressOfEntryPoint", Field, 3},
- {"OptionalHeader64.BaseOfCode", Field, 3},
- {"OptionalHeader64.CheckSum", Field, 3},
- {"OptionalHeader64.DataDirectory", Field, 3},
- {"OptionalHeader64.DllCharacteristics", Field, 3},
- {"OptionalHeader64.FileAlignment", Field, 3},
- {"OptionalHeader64.ImageBase", Field, 3},
- {"OptionalHeader64.LoaderFlags", Field, 3},
- {"OptionalHeader64.Magic", Field, 3},
- {"OptionalHeader64.MajorImageVersion", Field, 3},
- {"OptionalHeader64.MajorLinkerVersion", Field, 3},
- {"OptionalHeader64.MajorOperatingSystemVersion", Field, 3},
- {"OptionalHeader64.MajorSubsystemVersion", Field, 3},
- {"OptionalHeader64.MinorImageVersion", Field, 3},
- {"OptionalHeader64.MinorLinkerVersion", Field, 3},
- {"OptionalHeader64.MinorOperatingSystemVersion", Field, 3},
- {"OptionalHeader64.MinorSubsystemVersion", Field, 3},
- {"OptionalHeader64.NumberOfRvaAndSizes", Field, 3},
- {"OptionalHeader64.SectionAlignment", Field, 3},
- {"OptionalHeader64.SizeOfCode", Field, 3},
- {"OptionalHeader64.SizeOfHeaders", Field, 3},
- {"OptionalHeader64.SizeOfHeapCommit", Field, 3},
- {"OptionalHeader64.SizeOfHeapReserve", Field, 3},
- {"OptionalHeader64.SizeOfImage", Field, 3},
- {"OptionalHeader64.SizeOfInitializedData", Field, 3},
- {"OptionalHeader64.SizeOfStackCommit", Field, 3},
- {"OptionalHeader64.SizeOfStackReserve", Field, 3},
- {"OptionalHeader64.SizeOfUninitializedData", Field, 3},
- {"OptionalHeader64.Subsystem", Field, 3},
- {"OptionalHeader64.Win32VersionValue", Field, 3},
- {"Reloc", Type, 8},
- {"Reloc.SymbolTableIndex", Field, 8},
- {"Reloc.Type", Field, 8},
- {"Reloc.VirtualAddress", Field, 8},
- {"Section", Type, 0},
- {"Section.ReaderAt", Field, 0},
- {"Section.Relocs", Field, 8},
- {"Section.SectionHeader", Field, 0},
- {"SectionHeader", Type, 0},
- {"SectionHeader.Characteristics", Field, 0},
- {"SectionHeader.Name", Field, 0},
- {"SectionHeader.NumberOfLineNumbers", Field, 0},
- {"SectionHeader.NumberOfRelocations", Field, 0},
- {"SectionHeader.Offset", Field, 0},
- {"SectionHeader.PointerToLineNumbers", Field, 0},
- {"SectionHeader.PointerToRelocations", Field, 0},
- {"SectionHeader.Size", Field, 0},
- {"SectionHeader.VirtualAddress", Field, 0},
- {"SectionHeader.VirtualSize", Field, 0},
- {"SectionHeader32", Type, 0},
- {"SectionHeader32.Characteristics", Field, 0},
- {"SectionHeader32.Name", Field, 0},
- {"SectionHeader32.NumberOfLineNumbers", Field, 0},
- {"SectionHeader32.NumberOfRelocations", Field, 0},
- {"SectionHeader32.PointerToLineNumbers", Field, 0},
- {"SectionHeader32.PointerToRawData", Field, 0},
- {"SectionHeader32.PointerToRelocations", Field, 0},
- {"SectionHeader32.SizeOfRawData", Field, 0},
- {"SectionHeader32.VirtualAddress", Field, 0},
- {"SectionHeader32.VirtualSize", Field, 0},
- {"StringTable", Type, 8},
- {"Symbol", Type, 1},
- {"Symbol.Name", Field, 1},
- {"Symbol.SectionNumber", Field, 1},
- {"Symbol.StorageClass", Field, 1},
- {"Symbol.Type", Field, 1},
- {"Symbol.Value", Field, 1},
- },
- "debug/plan9obj": {
- {"(*File).Close", Method, 3},
- {"(*File).Section", Method, 3},
- {"(*File).Symbols", Method, 3},
- {"(*Section).Data", Method, 3},
- {"(*Section).Open", Method, 3},
- {"(Section).ReadAt", Method, 3},
- {"ErrNoSymbols", Var, 18},
- {"File", Type, 3},
- {"File.FileHeader", Field, 3},
- {"File.Sections", Field, 3},
- {"FileHeader", Type, 3},
- {"FileHeader.Bss", Field, 3},
- {"FileHeader.Entry", Field, 3},
- {"FileHeader.HdrSize", Field, 4},
- {"FileHeader.LoadAddress", Field, 4},
- {"FileHeader.Magic", Field, 3},
- {"FileHeader.PtrSize", Field, 3},
- {"Magic386", Const, 3},
- {"Magic64", Const, 3},
- {"MagicAMD64", Const, 3},
- {"MagicARM", Const, 3},
- {"NewFile", Func, 3},
- {"Open", Func, 3},
- {"Section", Type, 3},
- {"Section.ReaderAt", Field, 3},
- {"Section.SectionHeader", Field, 3},
- {"SectionHeader", Type, 3},
- {"SectionHeader.Name", Field, 3},
- {"SectionHeader.Offset", Field, 3},
- {"SectionHeader.Size", Field, 3},
- {"Sym", Type, 3},
- {"Sym.Name", Field, 3},
- {"Sym.Type", Field, 3},
- {"Sym.Value", Field, 3},
- },
- "embed": {
- {"(FS).Open", Method, 16},
- {"(FS).ReadDir", Method, 16},
- {"(FS).ReadFile", Method, 16},
- {"FS", Type, 16},
- },
- "encoding": {
- {"BinaryMarshaler", Type, 2},
- {"BinaryUnmarshaler", Type, 2},
- {"TextMarshaler", Type, 2},
- {"TextUnmarshaler", Type, 2},
- },
- "encoding/ascii85": {
- {"(CorruptInputError).Error", Method, 0},
- {"CorruptInputError", Type, 0},
- {"Decode", Func, 0},
- {"Encode", Func, 0},
- {"MaxEncodedLen", Func, 0},
- {"NewDecoder", Func, 0},
- {"NewEncoder", Func, 0},
- },
- "encoding/asn1": {
- {"(BitString).At", Method, 0},
- {"(BitString).RightAlign", Method, 0},
- {"(ObjectIdentifier).Equal", Method, 0},
- {"(ObjectIdentifier).String", Method, 3},
- {"(StructuralError).Error", Method, 0},
- {"(SyntaxError).Error", Method, 0},
- {"BitString", Type, 0},
- {"BitString.BitLength", Field, 0},
- {"BitString.Bytes", Field, 0},
- {"ClassApplication", Const, 6},
- {"ClassContextSpecific", Const, 6},
- {"ClassPrivate", Const, 6},
- {"ClassUniversal", Const, 6},
- {"Enumerated", Type, 0},
- {"Flag", Type, 0},
- {"Marshal", Func, 0},
- {"MarshalWithParams", Func, 10},
- {"NullBytes", Var, 9},
- {"NullRawValue", Var, 9},
- {"ObjectIdentifier", Type, 0},
- {"RawContent", Type, 0},
- {"RawValue", Type, 0},
- {"RawValue.Bytes", Field, 0},
- {"RawValue.Class", Field, 0},
- {"RawValue.FullBytes", Field, 0},
- {"RawValue.IsCompound", Field, 0},
- {"RawValue.Tag", Field, 0},
- {"StructuralError", Type, 0},
- {"StructuralError.Msg", Field, 0},
- {"SyntaxError", Type, 0},
- {"SyntaxError.Msg", Field, 0},
- {"TagBMPString", Const, 14},
- {"TagBitString", Const, 6},
- {"TagBoolean", Const, 6},
- {"TagEnum", Const, 6},
- {"TagGeneralString", Const, 6},
- {"TagGeneralizedTime", Const, 6},
- {"TagIA5String", Const, 6},
- {"TagInteger", Const, 6},
- {"TagNull", Const, 9},
- {"TagNumericString", Const, 10},
- {"TagOID", Const, 6},
- {"TagOctetString", Const, 6},
- {"TagPrintableString", Const, 6},
- {"TagSequence", Const, 6},
- {"TagSet", Const, 6},
- {"TagT61String", Const, 6},
- {"TagUTCTime", Const, 6},
- {"TagUTF8String", Const, 6},
- {"Unmarshal", Func, 0},
- {"UnmarshalWithParams", Func, 0},
- },
- "encoding/base32": {
- {"(*Encoding).AppendDecode", Method, 22},
- {"(*Encoding).AppendEncode", Method, 22},
- {"(*Encoding).Decode", Method, 0},
- {"(*Encoding).DecodeString", Method, 0},
- {"(*Encoding).DecodedLen", Method, 0},
- {"(*Encoding).Encode", Method, 0},
- {"(*Encoding).EncodeToString", Method, 0},
- {"(*Encoding).EncodedLen", Method, 0},
- {"(CorruptInputError).Error", Method, 0},
- {"(Encoding).WithPadding", Method, 9},
- {"CorruptInputError", Type, 0},
- {"Encoding", Type, 0},
- {"HexEncoding", Var, 0},
- {"NewDecoder", Func, 0},
- {"NewEncoder", Func, 0},
- {"NewEncoding", Func, 0},
- {"NoPadding", Const, 9},
- {"StdEncoding", Var, 0},
- {"StdPadding", Const, 9},
- },
- "encoding/base64": {
- {"(*Encoding).AppendDecode", Method, 22},
- {"(*Encoding).AppendEncode", Method, 22},
- {"(*Encoding).Decode", Method, 0},
- {"(*Encoding).DecodeString", Method, 0},
- {"(*Encoding).DecodedLen", Method, 0},
- {"(*Encoding).Encode", Method, 0},
- {"(*Encoding).EncodeToString", Method, 0},
- {"(*Encoding).EncodedLen", Method, 0},
- {"(CorruptInputError).Error", Method, 0},
- {"(Encoding).Strict", Method, 8},
- {"(Encoding).WithPadding", Method, 5},
- {"CorruptInputError", Type, 0},
- {"Encoding", Type, 0},
- {"NewDecoder", Func, 0},
- {"NewEncoder", Func, 0},
- {"NewEncoding", Func, 0},
- {"NoPadding", Const, 5},
- {"RawStdEncoding", Var, 5},
- {"RawURLEncoding", Var, 5},
- {"StdEncoding", Var, 0},
- {"StdPadding", Const, 5},
- {"URLEncoding", Var, 0},
- },
- "encoding/binary": {
- {"Append", Func, 23},
- {"AppendByteOrder", Type, 19},
- {"AppendUvarint", Func, 19},
- {"AppendVarint", Func, 19},
- {"BigEndian", Var, 0},
- {"ByteOrder", Type, 0},
- {"Decode", Func, 23},
- {"Encode", Func, 23},
- {"LittleEndian", Var, 0},
- {"MaxVarintLen16", Const, 0},
- {"MaxVarintLen32", Const, 0},
- {"MaxVarintLen64", Const, 0},
- {"NativeEndian", Var, 21},
- {"PutUvarint", Func, 0},
- {"PutVarint", Func, 0},
- {"Read", Func, 0},
- {"ReadUvarint", Func, 0},
- {"ReadVarint", Func, 0},
- {"Size", Func, 0},
- {"Uvarint", Func, 0},
- {"Varint", Func, 0},
- {"Write", Func, 0},
- },
- "encoding/csv": {
- {"(*ParseError).Error", Method, 0},
- {"(*ParseError).Unwrap", Method, 13},
- {"(*Reader).FieldPos", Method, 17},
- {"(*Reader).InputOffset", Method, 19},
- {"(*Reader).Read", Method, 0},
- {"(*Reader).ReadAll", Method, 0},
- {"(*Writer).Error", Method, 1},
- {"(*Writer).Flush", Method, 0},
- {"(*Writer).Write", Method, 0},
- {"(*Writer).WriteAll", Method, 0},
- {"ErrBareQuote", Var, 0},
- {"ErrFieldCount", Var, 0},
- {"ErrQuote", Var, 0},
- {"ErrTrailingComma", Var, 0},
- {"NewReader", Func, 0},
- {"NewWriter", Func, 0},
- {"ParseError", Type, 0},
- {"ParseError.Column", Field, 0},
- {"ParseError.Err", Field, 0},
- {"ParseError.Line", Field, 0},
- {"ParseError.StartLine", Field, 10},
- {"Reader", Type, 0},
- {"Reader.Comma", Field, 0},
- {"Reader.Comment", Field, 0},
- {"Reader.FieldsPerRecord", Field, 0},
- {"Reader.LazyQuotes", Field, 0},
- {"Reader.ReuseRecord", Field, 9},
- {"Reader.TrailingComma", Field, 0},
- {"Reader.TrimLeadingSpace", Field, 0},
- {"Writer", Type, 0},
- {"Writer.Comma", Field, 0},
- {"Writer.UseCRLF", Field, 0},
- },
- "encoding/gob": {
- {"(*Decoder).Decode", Method, 0},
- {"(*Decoder).DecodeValue", Method, 0},
- {"(*Encoder).Encode", Method, 0},
- {"(*Encoder).EncodeValue", Method, 0},
- {"CommonType", Type, 0},
- {"CommonType.Id", Field, 0},
- {"CommonType.Name", Field, 0},
- {"Decoder", Type, 0},
- {"Encoder", Type, 0},
- {"GobDecoder", Type, 0},
- {"GobEncoder", Type, 0},
- {"NewDecoder", Func, 0},
- {"NewEncoder", Func, 0},
- {"Register", Func, 0},
- {"RegisterName", Func, 0},
- },
- "encoding/hex": {
- {"(InvalidByteError).Error", Method, 0},
- {"AppendDecode", Func, 22},
- {"AppendEncode", Func, 22},
- {"Decode", Func, 0},
- {"DecodeString", Func, 0},
- {"DecodedLen", Func, 0},
- {"Dump", Func, 0},
- {"Dumper", Func, 0},
- {"Encode", Func, 0},
- {"EncodeToString", Func, 0},
- {"EncodedLen", Func, 0},
- {"ErrLength", Var, 0},
- {"InvalidByteError", Type, 0},
- {"NewDecoder", Func, 10},
- {"NewEncoder", Func, 10},
- },
- "encoding/json": {
- {"(*Decoder).Buffered", Method, 1},
- {"(*Decoder).Decode", Method, 0},
- {"(*Decoder).DisallowUnknownFields", Method, 10},
- {"(*Decoder).InputOffset", Method, 14},
- {"(*Decoder).More", Method, 5},
- {"(*Decoder).Token", Method, 5},
- {"(*Decoder).UseNumber", Method, 1},
- {"(*Encoder).Encode", Method, 0},
- {"(*Encoder).SetEscapeHTML", Method, 7},
- {"(*Encoder).SetIndent", Method, 7},
- {"(*InvalidUTF8Error).Error", Method, 0},
- {"(*InvalidUnmarshalError).Error", Method, 0},
- {"(*MarshalerError).Error", Method, 0},
- {"(*MarshalerError).Unwrap", Method, 13},
- {"(*RawMessage).MarshalJSON", Method, 0},
- {"(*RawMessage).UnmarshalJSON", Method, 0},
- {"(*SyntaxError).Error", Method, 0},
- {"(*UnmarshalFieldError).Error", Method, 0},
- {"(*UnmarshalTypeError).Error", Method, 0},
- {"(*UnsupportedTypeError).Error", Method, 0},
- {"(*UnsupportedValueError).Error", Method, 0},
- {"(Delim).String", Method, 5},
- {"(Number).Float64", Method, 1},
- {"(Number).Int64", Method, 1},
- {"(Number).String", Method, 1},
- {"(RawMessage).MarshalJSON", Method, 8},
- {"Compact", Func, 0},
- {"Decoder", Type, 0},
- {"Delim", Type, 5},
- {"Encoder", Type, 0},
- {"HTMLEscape", Func, 0},
- {"Indent", Func, 0},
- {"InvalidUTF8Error", Type, 0},
- {"InvalidUTF8Error.S", Field, 0},
- {"InvalidUnmarshalError", Type, 0},
- {"InvalidUnmarshalError.Type", Field, 0},
- {"Marshal", Func, 0},
- {"MarshalIndent", Func, 0},
- {"Marshaler", Type, 0},
- {"MarshalerError", Type, 0},
- {"MarshalerError.Err", Field, 0},
- {"MarshalerError.Type", Field, 0},
- {"NewDecoder", Func, 0},
- {"NewEncoder", Func, 0},
- {"Number", Type, 1},
- {"RawMessage", Type, 0},
- {"SyntaxError", Type, 0},
- {"SyntaxError.Offset", Field, 0},
- {"Token", Type, 5},
- {"Unmarshal", Func, 0},
- {"UnmarshalFieldError", Type, 0},
- {"UnmarshalFieldError.Field", Field, 0},
- {"UnmarshalFieldError.Key", Field, 0},
- {"UnmarshalFieldError.Type", Field, 0},
- {"UnmarshalTypeError", Type, 0},
- {"UnmarshalTypeError.Field", Field, 8},
- {"UnmarshalTypeError.Offset", Field, 5},
- {"UnmarshalTypeError.Struct", Field, 8},
- {"UnmarshalTypeError.Type", Field, 0},
- {"UnmarshalTypeError.Value", Field, 0},
- {"Unmarshaler", Type, 0},
- {"UnsupportedTypeError", Type, 0},
- {"UnsupportedTypeError.Type", Field, 0},
- {"UnsupportedValueError", Type, 0},
- {"UnsupportedValueError.Str", Field, 0},
- {"UnsupportedValueError.Value", Field, 0},
- {"Valid", Func, 9},
- },
- "encoding/pem": {
- {"Block", Type, 0},
- {"Block.Bytes", Field, 0},
- {"Block.Headers", Field, 0},
- {"Block.Type", Field, 0},
- {"Decode", Func, 0},
- {"Encode", Func, 0},
- {"EncodeToMemory", Func, 0},
- },
- "encoding/xml": {
- {"(*Decoder).Decode", Method, 0},
- {"(*Decoder).DecodeElement", Method, 0},
- {"(*Decoder).InputOffset", Method, 4},
- {"(*Decoder).InputPos", Method, 19},
- {"(*Decoder).RawToken", Method, 0},
- {"(*Decoder).Skip", Method, 0},
- {"(*Decoder).Token", Method, 0},
- {"(*Encoder).Close", Method, 20},
- {"(*Encoder).Encode", Method, 0},
- {"(*Encoder).EncodeElement", Method, 2},
- {"(*Encoder).EncodeToken", Method, 2},
- {"(*Encoder).Flush", Method, 2},
- {"(*Encoder).Indent", Method, 1},
- {"(*SyntaxError).Error", Method, 0},
- {"(*TagPathError).Error", Method, 0},
- {"(*UnsupportedTypeError).Error", Method, 0},
- {"(CharData).Copy", Method, 0},
- {"(Comment).Copy", Method, 0},
- {"(Directive).Copy", Method, 0},
- {"(ProcInst).Copy", Method, 0},
- {"(StartElement).Copy", Method, 0},
- {"(StartElement).End", Method, 2},
- {"(UnmarshalError).Error", Method, 0},
- {"Attr", Type, 0},
- {"Attr.Name", Field, 0},
- {"Attr.Value", Field, 0},
- {"CharData", Type, 0},
- {"Comment", Type, 0},
- {"CopyToken", Func, 0},
- {"Decoder", Type, 0},
- {"Decoder.AutoClose", Field, 0},
- {"Decoder.CharsetReader", Field, 0},
- {"Decoder.DefaultSpace", Field, 1},
- {"Decoder.Entity", Field, 0},
- {"Decoder.Strict", Field, 0},
- {"Directive", Type, 0},
- {"Encoder", Type, 0},
- {"EndElement", Type, 0},
- {"EndElement.Name", Field, 0},
- {"Escape", Func, 0},
- {"EscapeText", Func, 1},
- {"HTMLAutoClose", Var, 0},
- {"HTMLEntity", Var, 0},
- {"Header", Const, 0},
- {"Marshal", Func, 0},
- {"MarshalIndent", Func, 0},
- {"Marshaler", Type, 2},
- {"MarshalerAttr", Type, 2},
- {"Name", Type, 0},
- {"Name.Local", Field, 0},
- {"Name.Space", Field, 0},
- {"NewDecoder", Func, 0},
- {"NewEncoder", Func, 0},
- {"NewTokenDecoder", Func, 10},
- {"ProcInst", Type, 0},
- {"ProcInst.Inst", Field, 0},
- {"ProcInst.Target", Field, 0},
- {"StartElement", Type, 0},
- {"StartElement.Attr", Field, 0},
- {"StartElement.Name", Field, 0},
- {"SyntaxError", Type, 0},
- {"SyntaxError.Line", Field, 0},
- {"SyntaxError.Msg", Field, 0},
- {"TagPathError", Type, 0},
- {"TagPathError.Field1", Field, 0},
- {"TagPathError.Field2", Field, 0},
- {"TagPathError.Struct", Field, 0},
- {"TagPathError.Tag1", Field, 0},
- {"TagPathError.Tag2", Field, 0},
- {"Token", Type, 0},
- {"TokenReader", Type, 10},
- {"Unmarshal", Func, 0},
- {"UnmarshalError", Type, 0},
- {"Unmarshaler", Type, 2},
- {"UnmarshalerAttr", Type, 2},
- {"UnsupportedTypeError", Type, 0},
- {"UnsupportedTypeError.Type", Field, 0},
- },
- "errors": {
- {"As", Func, 13},
- {"ErrUnsupported", Var, 21},
- {"Is", Func, 13},
- {"Join", Func, 20},
- {"New", Func, 0},
- {"Unwrap", Func, 13},
- },
- "expvar": {
- {"(*Float).Add", Method, 0},
- {"(*Float).Set", Method, 0},
- {"(*Float).String", Method, 0},
- {"(*Float).Value", Method, 8},
- {"(*Int).Add", Method, 0},
- {"(*Int).Set", Method, 0},
- {"(*Int).String", Method, 0},
- {"(*Int).Value", Method, 8},
- {"(*Map).Add", Method, 0},
- {"(*Map).AddFloat", Method, 0},
- {"(*Map).Delete", Method, 12},
- {"(*Map).Do", Method, 0},
- {"(*Map).Get", Method, 0},
- {"(*Map).Init", Method, 0},
- {"(*Map).Set", Method, 0},
- {"(*Map).String", Method, 0},
- {"(*String).Set", Method, 0},
- {"(*String).String", Method, 0},
- {"(*String).Value", Method, 8},
- {"(Func).String", Method, 0},
- {"(Func).Value", Method, 8},
- {"Do", Func, 0},
- {"Float", Type, 0},
- {"Func", Type, 0},
- {"Get", Func, 0},
- {"Handler", Func, 8},
- {"Int", Type, 0},
- {"KeyValue", Type, 0},
- {"KeyValue.Key", Field, 0},
- {"KeyValue.Value", Field, 0},
- {"Map", Type, 0},
- {"NewFloat", Func, 0},
- {"NewInt", Func, 0},
- {"NewMap", Func, 0},
- {"NewString", Func, 0},
- {"Publish", Func, 0},
- {"String", Type, 0},
- {"Var", Type, 0},
- },
- "flag": {
- {"(*FlagSet).Arg", Method, 0},
- {"(*FlagSet).Args", Method, 0},
- {"(*FlagSet).Bool", Method, 0},
- {"(*FlagSet).BoolFunc", Method, 21},
- {"(*FlagSet).BoolVar", Method, 0},
- {"(*FlagSet).Duration", Method, 0},
- {"(*FlagSet).DurationVar", Method, 0},
- {"(*FlagSet).ErrorHandling", Method, 10},
- {"(*FlagSet).Float64", Method, 0},
- {"(*FlagSet).Float64Var", Method, 0},
- {"(*FlagSet).Func", Method, 16},
- {"(*FlagSet).Init", Method, 0},
- {"(*FlagSet).Int", Method, 0},
- {"(*FlagSet).Int64", Method, 0},
- {"(*FlagSet).Int64Var", Method, 0},
- {"(*FlagSet).IntVar", Method, 0},
- {"(*FlagSet).Lookup", Method, 0},
- {"(*FlagSet).NArg", Method, 0},
- {"(*FlagSet).NFlag", Method, 0},
- {"(*FlagSet).Name", Method, 10},
- {"(*FlagSet).Output", Method, 10},
- {"(*FlagSet).Parse", Method, 0},
- {"(*FlagSet).Parsed", Method, 0},
- {"(*FlagSet).PrintDefaults", Method, 0},
- {"(*FlagSet).Set", Method, 0},
- {"(*FlagSet).SetOutput", Method, 0},
- {"(*FlagSet).String", Method, 0},
- {"(*FlagSet).StringVar", Method, 0},
- {"(*FlagSet).TextVar", Method, 19},
- {"(*FlagSet).Uint", Method, 0},
- {"(*FlagSet).Uint64", Method, 0},
- {"(*FlagSet).Uint64Var", Method, 0},
- {"(*FlagSet).UintVar", Method, 0},
- {"(*FlagSet).Var", Method, 0},
- {"(*FlagSet).Visit", Method, 0},
- {"(*FlagSet).VisitAll", Method, 0},
- {"Arg", Func, 0},
- {"Args", Func, 0},
- {"Bool", Func, 0},
- {"BoolFunc", Func, 21},
- {"BoolVar", Func, 0},
- {"CommandLine", Var, 2},
- {"ContinueOnError", Const, 0},
- {"Duration", Func, 0},
- {"DurationVar", Func, 0},
- {"ErrHelp", Var, 0},
- {"ErrorHandling", Type, 0},
- {"ExitOnError", Const, 0},
- {"Flag", Type, 0},
- {"Flag.DefValue", Field, 0},
- {"Flag.Name", Field, 0},
- {"Flag.Usage", Field, 0},
- {"Flag.Value", Field, 0},
- {"FlagSet", Type, 0},
- {"FlagSet.Usage", Field, 0},
- {"Float64", Func, 0},
- {"Float64Var", Func, 0},
- {"Func", Func, 16},
- {"Getter", Type, 2},
- {"Int", Func, 0},
- {"Int64", Func, 0},
- {"Int64Var", Func, 0},
- {"IntVar", Func, 0},
- {"Lookup", Func, 0},
- {"NArg", Func, 0},
- {"NFlag", Func, 0},
- {"NewFlagSet", Func, 0},
- {"PanicOnError", Const, 0},
- {"Parse", Func, 0},
- {"Parsed", Func, 0},
- {"PrintDefaults", Func, 0},
- {"Set", Func, 0},
- {"String", Func, 0},
- {"StringVar", Func, 0},
- {"TextVar", Func, 19},
- {"Uint", Func, 0},
- {"Uint64", Func, 0},
- {"Uint64Var", Func, 0},
- {"UintVar", Func, 0},
- {"UnquoteUsage", Func, 5},
- {"Usage", Var, 0},
- {"Value", Type, 0},
- {"Var", Func, 0},
- {"Visit", Func, 0},
- {"VisitAll", Func, 0},
- },
- "fmt": {
- {"Append", Func, 19},
- {"Appendf", Func, 19},
- {"Appendln", Func, 19},
- {"Errorf", Func, 0},
- {"FormatString", Func, 20},
- {"Formatter", Type, 0},
- {"Fprint", Func, 0},
- {"Fprintf", Func, 0},
- {"Fprintln", Func, 0},
- {"Fscan", Func, 0},
- {"Fscanf", Func, 0},
- {"Fscanln", Func, 0},
- {"GoStringer", Type, 0},
- {"Print", Func, 0},
- {"Printf", Func, 0},
- {"Println", Func, 0},
- {"Scan", Func, 0},
- {"ScanState", Type, 0},
- {"Scanf", Func, 0},
- {"Scanln", Func, 0},
- {"Scanner", Type, 0},
- {"Sprint", Func, 0},
- {"Sprintf", Func, 0},
- {"Sprintln", Func, 0},
- {"Sscan", Func, 0},
- {"Sscanf", Func, 0},
- {"Sscanln", Func, 0},
- {"State", Type, 0},
- {"Stringer", Type, 0},
- },
- "go/ast": {
- {"(*ArrayType).End", Method, 0},
- {"(*ArrayType).Pos", Method, 0},
- {"(*AssignStmt).End", Method, 0},
- {"(*AssignStmt).Pos", Method, 0},
- {"(*BadDecl).End", Method, 0},
- {"(*BadDecl).Pos", Method, 0},
- {"(*BadExpr).End", Method, 0},
- {"(*BadExpr).Pos", Method, 0},
- {"(*BadStmt).End", Method, 0},
- {"(*BadStmt).Pos", Method, 0},
- {"(*BasicLit).End", Method, 0},
- {"(*BasicLit).Pos", Method, 0},
- {"(*BinaryExpr).End", Method, 0},
- {"(*BinaryExpr).Pos", Method, 0},
- {"(*BlockStmt).End", Method, 0},
- {"(*BlockStmt).Pos", Method, 0},
- {"(*BranchStmt).End", Method, 0},
- {"(*BranchStmt).Pos", Method, 0},
- {"(*CallExpr).End", Method, 0},
- {"(*CallExpr).Pos", Method, 0},
- {"(*CaseClause).End", Method, 0},
- {"(*CaseClause).Pos", Method, 0},
- {"(*ChanType).End", Method, 0},
- {"(*ChanType).Pos", Method, 0},
- {"(*CommClause).End", Method, 0},
- {"(*CommClause).Pos", Method, 0},
- {"(*Comment).End", Method, 0},
- {"(*Comment).Pos", Method, 0},
- {"(*CommentGroup).End", Method, 0},
- {"(*CommentGroup).Pos", Method, 0},
- {"(*CommentGroup).Text", Method, 0},
- {"(*CompositeLit).End", Method, 0},
- {"(*CompositeLit).Pos", Method, 0},
- {"(*DeclStmt).End", Method, 0},
- {"(*DeclStmt).Pos", Method, 0},
- {"(*DeferStmt).End", Method, 0},
- {"(*DeferStmt).Pos", Method, 0},
- {"(*Ellipsis).End", Method, 0},
- {"(*Ellipsis).Pos", Method, 0},
- {"(*EmptyStmt).End", Method, 0},
- {"(*EmptyStmt).Pos", Method, 0},
- {"(*ExprStmt).End", Method, 0},
- {"(*ExprStmt).Pos", Method, 0},
- {"(*Field).End", Method, 0},
- {"(*Field).Pos", Method, 0},
- {"(*FieldList).End", Method, 0},
- {"(*FieldList).NumFields", Method, 0},
- {"(*FieldList).Pos", Method, 0},
- {"(*File).End", Method, 0},
- {"(*File).Pos", Method, 0},
- {"(*ForStmt).End", Method, 0},
- {"(*ForStmt).Pos", Method, 0},
- {"(*FuncDecl).End", Method, 0},
- {"(*FuncDecl).Pos", Method, 0},
- {"(*FuncLit).End", Method, 0},
- {"(*FuncLit).Pos", Method, 0},
- {"(*FuncType).End", Method, 0},
- {"(*FuncType).Pos", Method, 0},
- {"(*GenDecl).End", Method, 0},
- {"(*GenDecl).Pos", Method, 0},
- {"(*GoStmt).End", Method, 0},
- {"(*GoStmt).Pos", Method, 0},
- {"(*Ident).End", Method, 0},
- {"(*Ident).IsExported", Method, 0},
- {"(*Ident).Pos", Method, 0},
- {"(*Ident).String", Method, 0},
- {"(*IfStmt).End", Method, 0},
- {"(*IfStmt).Pos", Method, 0},
- {"(*ImportSpec).End", Method, 0},
- {"(*ImportSpec).Pos", Method, 0},
- {"(*IncDecStmt).End", Method, 0},
- {"(*IncDecStmt).Pos", Method, 0},
- {"(*IndexExpr).End", Method, 0},
- {"(*IndexExpr).Pos", Method, 0},
- {"(*IndexListExpr).End", Method, 18},
- {"(*IndexListExpr).Pos", Method, 18},
- {"(*InterfaceType).End", Method, 0},
- {"(*InterfaceType).Pos", Method, 0},
- {"(*KeyValueExpr).End", Method, 0},
- {"(*KeyValueExpr).Pos", Method, 0},
- {"(*LabeledStmt).End", Method, 0},
- {"(*LabeledStmt).Pos", Method, 0},
- {"(*MapType).End", Method, 0},
- {"(*MapType).Pos", Method, 0},
- {"(*Object).Pos", Method, 0},
- {"(*Package).End", Method, 0},
- {"(*Package).Pos", Method, 0},
- {"(*ParenExpr).End", Method, 0},
- {"(*ParenExpr).Pos", Method, 0},
- {"(*RangeStmt).End", Method, 0},
- {"(*RangeStmt).Pos", Method, 0},
- {"(*ReturnStmt).End", Method, 0},
- {"(*ReturnStmt).Pos", Method, 0},
- {"(*Scope).Insert", Method, 0},
- {"(*Scope).Lookup", Method, 0},
- {"(*Scope).String", Method, 0},
- {"(*SelectStmt).End", Method, 0},
- {"(*SelectStmt).Pos", Method, 0},
- {"(*SelectorExpr).End", Method, 0},
- {"(*SelectorExpr).Pos", Method, 0},
- {"(*SendStmt).End", Method, 0},
- {"(*SendStmt).Pos", Method, 0},
- {"(*SliceExpr).End", Method, 0},
- {"(*SliceExpr).Pos", Method, 0},
- {"(*StarExpr).End", Method, 0},
- {"(*StarExpr).Pos", Method, 0},
- {"(*StructType).End", Method, 0},
- {"(*StructType).Pos", Method, 0},
- {"(*SwitchStmt).End", Method, 0},
- {"(*SwitchStmt).Pos", Method, 0},
- {"(*TypeAssertExpr).End", Method, 0},
- {"(*TypeAssertExpr).Pos", Method, 0},
- {"(*TypeSpec).End", Method, 0},
- {"(*TypeSpec).Pos", Method, 0},
- {"(*TypeSwitchStmt).End", Method, 0},
- {"(*TypeSwitchStmt).Pos", Method, 0},
- {"(*UnaryExpr).End", Method, 0},
- {"(*UnaryExpr).Pos", Method, 0},
- {"(*ValueSpec).End", Method, 0},
- {"(*ValueSpec).Pos", Method, 0},
- {"(CommentMap).Comments", Method, 1},
- {"(CommentMap).Filter", Method, 1},
- {"(CommentMap).String", Method, 1},
- {"(CommentMap).Update", Method, 1},
- {"(ObjKind).String", Method, 0},
- {"ArrayType", Type, 0},
- {"ArrayType.Elt", Field, 0},
- {"ArrayType.Lbrack", Field, 0},
- {"ArrayType.Len", Field, 0},
- {"AssignStmt", Type, 0},
- {"AssignStmt.Lhs", Field, 0},
- {"AssignStmt.Rhs", Field, 0},
- {"AssignStmt.Tok", Field, 0},
- {"AssignStmt.TokPos", Field, 0},
- {"Bad", Const, 0},
- {"BadDecl", Type, 0},
- {"BadDecl.From", Field, 0},
- {"BadDecl.To", Field, 0},
- {"BadExpr", Type, 0},
- {"BadExpr.From", Field, 0},
- {"BadExpr.To", Field, 0},
- {"BadStmt", Type, 0},
- {"BadStmt.From", Field, 0},
- {"BadStmt.To", Field, 0},
- {"BasicLit", Type, 0},
- {"BasicLit.Kind", Field, 0},
- {"BasicLit.Value", Field, 0},
- {"BasicLit.ValuePos", Field, 0},
- {"BinaryExpr", Type, 0},
- {"BinaryExpr.Op", Field, 0},
- {"BinaryExpr.OpPos", Field, 0},
- {"BinaryExpr.X", Field, 0},
- {"BinaryExpr.Y", Field, 0},
- {"BlockStmt", Type, 0},
- {"BlockStmt.Lbrace", Field, 0},
- {"BlockStmt.List", Field, 0},
- {"BlockStmt.Rbrace", Field, 0},
- {"BranchStmt", Type, 0},
- {"BranchStmt.Label", Field, 0},
- {"BranchStmt.Tok", Field, 0},
- {"BranchStmt.TokPos", Field, 0},
- {"CallExpr", Type, 0},
- {"CallExpr.Args", Field, 0},
- {"CallExpr.Ellipsis", Field, 0},
- {"CallExpr.Fun", Field, 0},
- {"CallExpr.Lparen", Field, 0},
- {"CallExpr.Rparen", Field, 0},
- {"CaseClause", Type, 0},
- {"CaseClause.Body", Field, 0},
- {"CaseClause.Case", Field, 0},
- {"CaseClause.Colon", Field, 0},
- {"CaseClause.List", Field, 0},
- {"ChanDir", Type, 0},
- {"ChanType", Type, 0},
- {"ChanType.Arrow", Field, 1},
- {"ChanType.Begin", Field, 0},
- {"ChanType.Dir", Field, 0},
- {"ChanType.Value", Field, 0},
- {"CommClause", Type, 0},
- {"CommClause.Body", Field, 0},
- {"CommClause.Case", Field, 0},
- {"CommClause.Colon", Field, 0},
- {"CommClause.Comm", Field, 0},
- {"Comment", Type, 0},
- {"Comment.Slash", Field, 0},
- {"Comment.Text", Field, 0},
- {"CommentGroup", Type, 0},
- {"CommentGroup.List", Field, 0},
- {"CommentMap", Type, 1},
- {"CompositeLit", Type, 0},
- {"CompositeLit.Elts", Field, 0},
- {"CompositeLit.Incomplete", Field, 11},
- {"CompositeLit.Lbrace", Field, 0},
- {"CompositeLit.Rbrace", Field, 0},
- {"CompositeLit.Type", Field, 0},
- {"Con", Const, 0},
- {"Decl", Type, 0},
- {"DeclStmt", Type, 0},
- {"DeclStmt.Decl", Field, 0},
- {"DeferStmt", Type, 0},
- {"DeferStmt.Call", Field, 0},
- {"DeferStmt.Defer", Field, 0},
- {"Ellipsis", Type, 0},
- {"Ellipsis.Ellipsis", Field, 0},
- {"Ellipsis.Elt", Field, 0},
- {"EmptyStmt", Type, 0},
- {"EmptyStmt.Implicit", Field, 5},
- {"EmptyStmt.Semicolon", Field, 0},
- {"Expr", Type, 0},
- {"ExprStmt", Type, 0},
- {"ExprStmt.X", Field, 0},
- {"Field", Type, 0},
- {"Field.Comment", Field, 0},
- {"Field.Doc", Field, 0},
- {"Field.Names", Field, 0},
- {"Field.Tag", Field, 0},
- {"Field.Type", Field, 0},
- {"FieldFilter", Type, 0},
- {"FieldList", Type, 0},
- {"FieldList.Closing", Field, 0},
- {"FieldList.List", Field, 0},
- {"FieldList.Opening", Field, 0},
- {"File", Type, 0},
- {"File.Comments", Field, 0},
- {"File.Decls", Field, 0},
- {"File.Doc", Field, 0},
- {"File.FileEnd", Field, 20},
- {"File.FileStart", Field, 20},
- {"File.GoVersion", Field, 21},
- {"File.Imports", Field, 0},
- {"File.Name", Field, 0},
- {"File.Package", Field, 0},
- {"File.Scope", Field, 0},
- {"File.Unresolved", Field, 0},
- {"FileExports", Func, 0},
- {"Filter", Type, 0},
- {"FilterDecl", Func, 0},
- {"FilterFile", Func, 0},
- {"FilterFuncDuplicates", Const, 0},
- {"FilterImportDuplicates", Const, 0},
- {"FilterPackage", Func, 0},
- {"FilterUnassociatedComments", Const, 0},
- {"ForStmt", Type, 0},
- {"ForStmt.Body", Field, 0},
- {"ForStmt.Cond", Field, 0},
- {"ForStmt.For", Field, 0},
- {"ForStmt.Init", Field, 0},
- {"ForStmt.Post", Field, 0},
- {"Fprint", Func, 0},
- {"Fun", Const, 0},
- {"FuncDecl", Type, 0},
- {"FuncDecl.Body", Field, 0},
- {"FuncDecl.Doc", Field, 0},
- {"FuncDecl.Name", Field, 0},
- {"FuncDecl.Recv", Field, 0},
- {"FuncDecl.Type", Field, 0},
- {"FuncLit", Type, 0},
- {"FuncLit.Body", Field, 0},
- {"FuncLit.Type", Field, 0},
- {"FuncType", Type, 0},
- {"FuncType.Func", Field, 0},
- {"FuncType.Params", Field, 0},
- {"FuncType.Results", Field, 0},
- {"FuncType.TypeParams", Field, 18},
- {"GenDecl", Type, 0},
- {"GenDecl.Doc", Field, 0},
- {"GenDecl.Lparen", Field, 0},
- {"GenDecl.Rparen", Field, 0},
- {"GenDecl.Specs", Field, 0},
- {"GenDecl.Tok", Field, 0},
- {"GenDecl.TokPos", Field, 0},
- {"GoStmt", Type, 0},
- {"GoStmt.Call", Field, 0},
- {"GoStmt.Go", Field, 0},
- {"Ident", Type, 0},
- {"Ident.Name", Field, 0},
- {"Ident.NamePos", Field, 0},
- {"Ident.Obj", Field, 0},
- {"IfStmt", Type, 0},
- {"IfStmt.Body", Field, 0},
- {"IfStmt.Cond", Field, 0},
- {"IfStmt.Else", Field, 0},
- {"IfStmt.If", Field, 0},
- {"IfStmt.Init", Field, 0},
- {"ImportSpec", Type, 0},
- {"ImportSpec.Comment", Field, 0},
- {"ImportSpec.Doc", Field, 0},
- {"ImportSpec.EndPos", Field, 0},
- {"ImportSpec.Name", Field, 0},
- {"ImportSpec.Path", Field, 0},
- {"Importer", Type, 0},
- {"IncDecStmt", Type, 0},
- {"IncDecStmt.Tok", Field, 0},
- {"IncDecStmt.TokPos", Field, 0},
- {"IncDecStmt.X", Field, 0},
- {"IndexExpr", Type, 0},
- {"IndexExpr.Index", Field, 0},
- {"IndexExpr.Lbrack", Field, 0},
- {"IndexExpr.Rbrack", Field, 0},
- {"IndexExpr.X", Field, 0},
- {"IndexListExpr", Type, 18},
- {"IndexListExpr.Indices", Field, 18},
- {"IndexListExpr.Lbrack", Field, 18},
- {"IndexListExpr.Rbrack", Field, 18},
- {"IndexListExpr.X", Field, 18},
- {"Inspect", Func, 0},
- {"InterfaceType", Type, 0},
- {"InterfaceType.Incomplete", Field, 0},
- {"InterfaceType.Interface", Field, 0},
- {"InterfaceType.Methods", Field, 0},
- {"IsExported", Func, 0},
- {"IsGenerated", Func, 21},
- {"KeyValueExpr", Type, 0},
- {"KeyValueExpr.Colon", Field, 0},
- {"KeyValueExpr.Key", Field, 0},
- {"KeyValueExpr.Value", Field, 0},
- {"LabeledStmt", Type, 0},
- {"LabeledStmt.Colon", Field, 0},
- {"LabeledStmt.Label", Field, 0},
- {"LabeledStmt.Stmt", Field, 0},
- {"Lbl", Const, 0},
- {"MapType", Type, 0},
- {"MapType.Key", Field, 0},
- {"MapType.Map", Field, 0},
- {"MapType.Value", Field, 0},
- {"MergeMode", Type, 0},
- {"MergePackageFiles", Func, 0},
- {"NewCommentMap", Func, 1},
- {"NewIdent", Func, 0},
- {"NewObj", Func, 0},
- {"NewPackage", Func, 0},
- {"NewScope", Func, 0},
- {"Node", Type, 0},
- {"NotNilFilter", Func, 0},
- {"ObjKind", Type, 0},
- {"Object", Type, 0},
- {"Object.Data", Field, 0},
- {"Object.Decl", Field, 0},
- {"Object.Kind", Field, 0},
- {"Object.Name", Field, 0},
- {"Object.Type", Field, 0},
- {"Package", Type, 0},
- {"Package.Files", Field, 0},
- {"Package.Imports", Field, 0},
- {"Package.Name", Field, 0},
- {"Package.Scope", Field, 0},
- {"PackageExports", Func, 0},
- {"ParenExpr", Type, 0},
- {"ParenExpr.Lparen", Field, 0},
- {"ParenExpr.Rparen", Field, 0},
- {"ParenExpr.X", Field, 0},
- {"Pkg", Const, 0},
- {"Preorder", Func, 23},
- {"Print", Func, 0},
- {"RECV", Const, 0},
- {"RangeStmt", Type, 0},
- {"RangeStmt.Body", Field, 0},
- {"RangeStmt.For", Field, 0},
- {"RangeStmt.Key", Field, 0},
- {"RangeStmt.Range", Field, 20},
- {"RangeStmt.Tok", Field, 0},
- {"RangeStmt.TokPos", Field, 0},
- {"RangeStmt.Value", Field, 0},
- {"RangeStmt.X", Field, 0},
- {"ReturnStmt", Type, 0},
- {"ReturnStmt.Results", Field, 0},
- {"ReturnStmt.Return", Field, 0},
- {"SEND", Const, 0},
- {"Scope", Type, 0},
- {"Scope.Objects", Field, 0},
- {"Scope.Outer", Field, 0},
- {"SelectStmt", Type, 0},
- {"SelectStmt.Body", Field, 0},
- {"SelectStmt.Select", Field, 0},
- {"SelectorExpr", Type, 0},
- {"SelectorExpr.Sel", Field, 0},
- {"SelectorExpr.X", Field, 0},
- {"SendStmt", Type, 0},
- {"SendStmt.Arrow", Field, 0},
- {"SendStmt.Chan", Field, 0},
- {"SendStmt.Value", Field, 0},
- {"SliceExpr", Type, 0},
- {"SliceExpr.High", Field, 0},
- {"SliceExpr.Lbrack", Field, 0},
- {"SliceExpr.Low", Field, 0},
- {"SliceExpr.Max", Field, 2},
- {"SliceExpr.Rbrack", Field, 0},
- {"SliceExpr.Slice3", Field, 2},
- {"SliceExpr.X", Field, 0},
- {"SortImports", Func, 0},
- {"Spec", Type, 0},
- {"StarExpr", Type, 0},
- {"StarExpr.Star", Field, 0},
- {"StarExpr.X", Field, 0},
- {"Stmt", Type, 0},
- {"StructType", Type, 0},
- {"StructType.Fields", Field, 0},
- {"StructType.Incomplete", Field, 0},
- {"StructType.Struct", Field, 0},
- {"SwitchStmt", Type, 0},
- {"SwitchStmt.Body", Field, 0},
- {"SwitchStmt.Init", Field, 0},
- {"SwitchStmt.Switch", Field, 0},
- {"SwitchStmt.Tag", Field, 0},
- {"Typ", Const, 0},
- {"TypeAssertExpr", Type, 0},
- {"TypeAssertExpr.Lparen", Field, 2},
- {"TypeAssertExpr.Rparen", Field, 2},
- {"TypeAssertExpr.Type", Field, 0},
- {"TypeAssertExpr.X", Field, 0},
- {"TypeSpec", Type, 0},
- {"TypeSpec.Assign", Field, 9},
- {"TypeSpec.Comment", Field, 0},
- {"TypeSpec.Doc", Field, 0},
- {"TypeSpec.Name", Field, 0},
- {"TypeSpec.Type", Field, 0},
- {"TypeSpec.TypeParams", Field, 18},
- {"TypeSwitchStmt", Type, 0},
- {"TypeSwitchStmt.Assign", Field, 0},
- {"TypeSwitchStmt.Body", Field, 0},
- {"TypeSwitchStmt.Init", Field, 0},
- {"TypeSwitchStmt.Switch", Field, 0},
- {"UnaryExpr", Type, 0},
- {"UnaryExpr.Op", Field, 0},
- {"UnaryExpr.OpPos", Field, 0},
- {"UnaryExpr.X", Field, 0},
- {"Unparen", Func, 22},
- {"ValueSpec", Type, 0},
- {"ValueSpec.Comment", Field, 0},
- {"ValueSpec.Doc", Field, 0},
- {"ValueSpec.Names", Field, 0},
- {"ValueSpec.Type", Field, 0},
- {"ValueSpec.Values", Field, 0},
- {"Var", Const, 0},
- {"Visitor", Type, 0},
- {"Walk", Func, 0},
- },
- "go/build": {
- {"(*Context).Import", Method, 0},
- {"(*Context).ImportDir", Method, 0},
- {"(*Context).MatchFile", Method, 2},
- {"(*Context).SrcDirs", Method, 0},
- {"(*MultiplePackageError).Error", Method, 4},
- {"(*NoGoError).Error", Method, 0},
- {"(*Package).IsCommand", Method, 0},
- {"AllowBinary", Const, 0},
- {"ArchChar", Func, 0},
- {"Context", Type, 0},
- {"Context.BuildTags", Field, 0},
- {"Context.CgoEnabled", Field, 0},
- {"Context.Compiler", Field, 0},
- {"Context.Dir", Field, 14},
- {"Context.GOARCH", Field, 0},
- {"Context.GOOS", Field, 0},
- {"Context.GOPATH", Field, 0},
- {"Context.GOROOT", Field, 0},
- {"Context.HasSubdir", Field, 0},
- {"Context.InstallSuffix", Field, 1},
- {"Context.IsAbsPath", Field, 0},
- {"Context.IsDir", Field, 0},
- {"Context.JoinPath", Field, 0},
- {"Context.OpenFile", Field, 0},
- {"Context.ReadDir", Field, 0},
- {"Context.ReleaseTags", Field, 1},
- {"Context.SplitPathList", Field, 0},
- {"Context.ToolTags", Field, 17},
- {"Context.UseAllFiles", Field, 0},
- {"Default", Var, 0},
- {"Directive", Type, 21},
- {"Directive.Pos", Field, 21},
- {"Directive.Text", Field, 21},
- {"FindOnly", Const, 0},
- {"IgnoreVendor", Const, 6},
- {"Import", Func, 0},
- {"ImportComment", Const, 4},
- {"ImportDir", Func, 0},
- {"ImportMode", Type, 0},
- {"IsLocalImport", Func, 0},
- {"MultiplePackageError", Type, 4},
- {"MultiplePackageError.Dir", Field, 4},
- {"MultiplePackageError.Files", Field, 4},
- {"MultiplePackageError.Packages", Field, 4},
- {"NoGoError", Type, 0},
- {"NoGoError.Dir", Field, 0},
- {"Package", Type, 0},
- {"Package.AllTags", Field, 2},
- {"Package.BinDir", Field, 0},
- {"Package.BinaryOnly", Field, 7},
- {"Package.CFiles", Field, 0},
- {"Package.CXXFiles", Field, 2},
- {"Package.CgoCFLAGS", Field, 0},
- {"Package.CgoCPPFLAGS", Field, 2},
- {"Package.CgoCXXFLAGS", Field, 2},
- {"Package.CgoFFLAGS", Field, 7},
- {"Package.CgoFiles", Field, 0},
- {"Package.CgoLDFLAGS", Field, 0},
- {"Package.CgoPkgConfig", Field, 0},
- {"Package.ConflictDir", Field, 2},
- {"Package.Dir", Field, 0},
- {"Package.Directives", Field, 21},
- {"Package.Doc", Field, 0},
- {"Package.EmbedPatternPos", Field, 16},
- {"Package.EmbedPatterns", Field, 16},
- {"Package.FFiles", Field, 7},
- {"Package.GoFiles", Field, 0},
- {"Package.Goroot", Field, 0},
- {"Package.HFiles", Field, 0},
- {"Package.IgnoredGoFiles", Field, 1},
- {"Package.IgnoredOtherFiles", Field, 16},
- {"Package.ImportComment", Field, 4},
- {"Package.ImportPath", Field, 0},
- {"Package.ImportPos", Field, 0},
- {"Package.Imports", Field, 0},
- {"Package.InvalidGoFiles", Field, 6},
- {"Package.MFiles", Field, 3},
- {"Package.Name", Field, 0},
- {"Package.PkgObj", Field, 0},
- {"Package.PkgRoot", Field, 0},
- {"Package.PkgTargetRoot", Field, 5},
- {"Package.Root", Field, 0},
- {"Package.SFiles", Field, 0},
- {"Package.SrcRoot", Field, 0},
- {"Package.SwigCXXFiles", Field, 1},
- {"Package.SwigFiles", Field, 1},
- {"Package.SysoFiles", Field, 0},
- {"Package.TestDirectives", Field, 21},
- {"Package.TestEmbedPatternPos", Field, 16},
- {"Package.TestEmbedPatterns", Field, 16},
- {"Package.TestGoFiles", Field, 0},
- {"Package.TestImportPos", Field, 0},
- {"Package.TestImports", Field, 0},
- {"Package.XTestDirectives", Field, 21},
- {"Package.XTestEmbedPatternPos", Field, 16},
- {"Package.XTestEmbedPatterns", Field, 16},
- {"Package.XTestGoFiles", Field, 0},
- {"Package.XTestImportPos", Field, 0},
- {"Package.XTestImports", Field, 0},
- {"ToolDir", Var, 0},
- },
- "go/build/constraint": {
- {"(*AndExpr).Eval", Method, 16},
- {"(*AndExpr).String", Method, 16},
- {"(*NotExpr).Eval", Method, 16},
- {"(*NotExpr).String", Method, 16},
- {"(*OrExpr).Eval", Method, 16},
- {"(*OrExpr).String", Method, 16},
- {"(*SyntaxError).Error", Method, 16},
- {"(*TagExpr).Eval", Method, 16},
- {"(*TagExpr).String", Method, 16},
- {"AndExpr", Type, 16},
- {"AndExpr.X", Field, 16},
- {"AndExpr.Y", Field, 16},
- {"Expr", Type, 16},
- {"GoVersion", Func, 21},
- {"IsGoBuild", Func, 16},
- {"IsPlusBuild", Func, 16},
- {"NotExpr", Type, 16},
- {"NotExpr.X", Field, 16},
- {"OrExpr", Type, 16},
- {"OrExpr.X", Field, 16},
- {"OrExpr.Y", Field, 16},
- {"Parse", Func, 16},
- {"PlusBuildLines", Func, 16},
- {"SyntaxError", Type, 16},
- {"SyntaxError.Err", Field, 16},
- {"SyntaxError.Offset", Field, 16},
- {"TagExpr", Type, 16},
- {"TagExpr.Tag", Field, 16},
- },
- "go/constant": {
- {"(Kind).String", Method, 18},
- {"BinaryOp", Func, 5},
- {"BitLen", Func, 5},
- {"Bool", Const, 5},
- {"BoolVal", Func, 5},
- {"Bytes", Func, 5},
- {"Compare", Func, 5},
- {"Complex", Const, 5},
- {"Denom", Func, 5},
- {"Float", Const, 5},
- {"Float32Val", Func, 5},
- {"Float64Val", Func, 5},
- {"Imag", Func, 5},
- {"Int", Const, 5},
- {"Int64Val", Func, 5},
- {"Kind", Type, 5},
- {"Make", Func, 13},
- {"MakeBool", Func, 5},
- {"MakeFloat64", Func, 5},
- {"MakeFromBytes", Func, 5},
- {"MakeFromLiteral", Func, 5},
- {"MakeImag", Func, 5},
- {"MakeInt64", Func, 5},
- {"MakeString", Func, 5},
- {"MakeUint64", Func, 5},
- {"MakeUnknown", Func, 5},
- {"Num", Func, 5},
- {"Real", Func, 5},
- {"Shift", Func, 5},
- {"Sign", Func, 5},
- {"String", Const, 5},
- {"StringVal", Func, 5},
- {"ToComplex", Func, 6},
- {"ToFloat", Func, 6},
- {"ToInt", Func, 6},
- {"Uint64Val", Func, 5},
- {"UnaryOp", Func, 5},
- {"Unknown", Const, 5},
- {"Val", Func, 13},
- {"Value", Type, 5},
- },
- "go/doc": {
- {"(*Package).Filter", Method, 0},
- {"(*Package).HTML", Method, 19},
- {"(*Package).Markdown", Method, 19},
- {"(*Package).Parser", Method, 19},
- {"(*Package).Printer", Method, 19},
- {"(*Package).Synopsis", Method, 19},
- {"(*Package).Text", Method, 19},
- {"AllDecls", Const, 0},
- {"AllMethods", Const, 0},
- {"Example", Type, 0},
- {"Example.Code", Field, 0},
- {"Example.Comments", Field, 0},
- {"Example.Doc", Field, 0},
- {"Example.EmptyOutput", Field, 1},
- {"Example.Name", Field, 0},
- {"Example.Order", Field, 1},
- {"Example.Output", Field, 0},
- {"Example.Play", Field, 1},
- {"Example.Suffix", Field, 14},
- {"Example.Unordered", Field, 7},
- {"Examples", Func, 0},
- {"Filter", Type, 0},
- {"Func", Type, 0},
- {"Func.Decl", Field, 0},
- {"Func.Doc", Field, 0},
- {"Func.Examples", Field, 14},
- {"Func.Level", Field, 0},
- {"Func.Name", Field, 0},
- {"Func.Orig", Field, 0},
- {"Func.Recv", Field, 0},
- {"IllegalPrefixes", Var, 1},
- {"IsPredeclared", Func, 8},
- {"Mode", Type, 0},
- {"New", Func, 0},
- {"NewFromFiles", Func, 14},
- {"Note", Type, 1},
- {"Note.Body", Field, 1},
- {"Note.End", Field, 1},
- {"Note.Pos", Field, 1},
- {"Note.UID", Field, 1},
- {"Package", Type, 0},
- {"Package.Bugs", Field, 0},
- {"Package.Consts", Field, 0},
- {"Package.Doc", Field, 0},
- {"Package.Examples", Field, 14},
- {"Package.Filenames", Field, 0},
- {"Package.Funcs", Field, 0},
- {"Package.ImportPath", Field, 0},
- {"Package.Imports", Field, 0},
- {"Package.Name", Field, 0},
- {"Package.Notes", Field, 1},
- {"Package.Types", Field, 0},
- {"Package.Vars", Field, 0},
- {"PreserveAST", Const, 12},
- {"Synopsis", Func, 0},
- {"ToHTML", Func, 0},
- {"ToText", Func, 0},
- {"Type", Type, 0},
- {"Type.Consts", Field, 0},
- {"Type.Decl", Field, 0},
- {"Type.Doc", Field, 0},
- {"Type.Examples", Field, 14},
- {"Type.Funcs", Field, 0},
- {"Type.Methods", Field, 0},
- {"Type.Name", Field, 0},
- {"Type.Vars", Field, 0},
- {"Value", Type, 0},
- {"Value.Decl", Field, 0},
- {"Value.Doc", Field, 0},
- {"Value.Names", Field, 0},
- },
- "go/doc/comment": {
- {"(*DocLink).DefaultURL", Method, 19},
- {"(*Heading).DefaultID", Method, 19},
- {"(*List).BlankBefore", Method, 19},
- {"(*List).BlankBetween", Method, 19},
- {"(*Parser).Parse", Method, 19},
- {"(*Printer).Comment", Method, 19},
- {"(*Printer).HTML", Method, 19},
- {"(*Printer).Markdown", Method, 19},
- {"(*Printer).Text", Method, 19},
- {"Block", Type, 19},
- {"Code", Type, 19},
- {"Code.Text", Field, 19},
- {"DefaultLookupPackage", Func, 19},
- {"Doc", Type, 19},
- {"Doc.Content", Field, 19},
- {"Doc.Links", Field, 19},
- {"DocLink", Type, 19},
- {"DocLink.ImportPath", Field, 19},
- {"DocLink.Name", Field, 19},
- {"DocLink.Recv", Field, 19},
- {"DocLink.Text", Field, 19},
- {"Heading", Type, 19},
- {"Heading.Text", Field, 19},
- {"Italic", Type, 19},
- {"Link", Type, 19},
- {"Link.Auto", Field, 19},
- {"Link.Text", Field, 19},
- {"Link.URL", Field, 19},
- {"LinkDef", Type, 19},
- {"LinkDef.Text", Field, 19},
- {"LinkDef.URL", Field, 19},
- {"LinkDef.Used", Field, 19},
- {"List", Type, 19},
- {"List.ForceBlankBefore", Field, 19},
- {"List.ForceBlankBetween", Field, 19},
- {"List.Items", Field, 19},
- {"ListItem", Type, 19},
- {"ListItem.Content", Field, 19},
- {"ListItem.Number", Field, 19},
- {"Paragraph", Type, 19},
- {"Paragraph.Text", Field, 19},
- {"Parser", Type, 19},
- {"Parser.LookupPackage", Field, 19},
- {"Parser.LookupSym", Field, 19},
- {"Parser.Words", Field, 19},
- {"Plain", Type, 19},
- {"Printer", Type, 19},
- {"Printer.DocLinkBaseURL", Field, 19},
- {"Printer.DocLinkURL", Field, 19},
- {"Printer.HeadingID", Field, 19},
- {"Printer.HeadingLevel", Field, 19},
- {"Printer.TextCodePrefix", Field, 19},
- {"Printer.TextPrefix", Field, 19},
- {"Printer.TextWidth", Field, 19},
- {"Text", Type, 19},
- },
- "go/format": {
- {"Node", Func, 1},
- {"Source", Func, 1},
- },
- "go/importer": {
- {"Default", Func, 5},
- {"For", Func, 5},
- {"ForCompiler", Func, 12},
- {"Lookup", Type, 5},
- },
- "go/parser": {
- {"AllErrors", Const, 1},
- {"DeclarationErrors", Const, 0},
- {"ImportsOnly", Const, 0},
- {"Mode", Type, 0},
- {"PackageClauseOnly", Const, 0},
- {"ParseComments", Const, 0},
- {"ParseDir", Func, 0},
- {"ParseExpr", Func, 0},
- {"ParseExprFrom", Func, 5},
- {"ParseFile", Func, 0},
- {"SkipObjectResolution", Const, 17},
- {"SpuriousErrors", Const, 0},
- {"Trace", Const, 0},
- },
- "go/printer": {
- {"(*Config).Fprint", Method, 0},
- {"CommentedNode", Type, 0},
- {"CommentedNode.Comments", Field, 0},
- {"CommentedNode.Node", Field, 0},
- {"Config", Type, 0},
- {"Config.Indent", Field, 1},
- {"Config.Mode", Field, 0},
- {"Config.Tabwidth", Field, 0},
- {"Fprint", Func, 0},
- {"Mode", Type, 0},
- {"RawFormat", Const, 0},
- {"SourcePos", Const, 0},
- {"TabIndent", Const, 0},
- {"UseSpaces", Const, 0},
- },
- "go/scanner": {
- {"(*ErrorList).Add", Method, 0},
- {"(*ErrorList).RemoveMultiples", Method, 0},
- {"(*ErrorList).Reset", Method, 0},
- {"(*Scanner).Init", Method, 0},
- {"(*Scanner).Scan", Method, 0},
- {"(Error).Error", Method, 0},
- {"(ErrorList).Err", Method, 0},
- {"(ErrorList).Error", Method, 0},
- {"(ErrorList).Len", Method, 0},
- {"(ErrorList).Less", Method, 0},
- {"(ErrorList).Sort", Method, 0},
- {"(ErrorList).Swap", Method, 0},
- {"Error", Type, 0},
- {"Error.Msg", Field, 0},
- {"Error.Pos", Field, 0},
- {"ErrorHandler", Type, 0},
- {"ErrorList", Type, 0},
- {"Mode", Type, 0},
- {"PrintError", Func, 0},
- {"ScanComments", Const, 0},
- {"Scanner", Type, 0},
- {"Scanner.ErrorCount", Field, 0},
- },
- "go/token": {
- {"(*File).AddLine", Method, 0},
- {"(*File).AddLineColumnInfo", Method, 11},
- {"(*File).AddLineInfo", Method, 0},
- {"(*File).Base", Method, 0},
- {"(*File).Line", Method, 0},
- {"(*File).LineCount", Method, 0},
- {"(*File).LineStart", Method, 12},
- {"(*File).Lines", Method, 21},
- {"(*File).MergeLine", Method, 2},
- {"(*File).Name", Method, 0},
- {"(*File).Offset", Method, 0},
- {"(*File).Pos", Method, 0},
- {"(*File).Position", Method, 0},
- {"(*File).PositionFor", Method, 4},
- {"(*File).SetLines", Method, 0},
- {"(*File).SetLinesForContent", Method, 0},
- {"(*File).Size", Method, 0},
- {"(*FileSet).AddFile", Method, 0},
- {"(*FileSet).Base", Method, 0},
- {"(*FileSet).File", Method, 0},
- {"(*FileSet).Iterate", Method, 0},
- {"(*FileSet).Position", Method, 0},
- {"(*FileSet).PositionFor", Method, 4},
- {"(*FileSet).Read", Method, 0},
- {"(*FileSet).RemoveFile", Method, 20},
- {"(*FileSet).Write", Method, 0},
- {"(*Position).IsValid", Method, 0},
- {"(Pos).IsValid", Method, 0},
- {"(Position).String", Method, 0},
- {"(Token).IsKeyword", Method, 0},
- {"(Token).IsLiteral", Method, 0},
- {"(Token).IsOperator", Method, 0},
- {"(Token).Precedence", Method, 0},
- {"(Token).String", Method, 0},
- {"ADD", Const, 0},
- {"ADD_ASSIGN", Const, 0},
- {"AND", Const, 0},
- {"AND_ASSIGN", Const, 0},
- {"AND_NOT", Const, 0},
- {"AND_NOT_ASSIGN", Const, 0},
- {"ARROW", Const, 0},
- {"ASSIGN", Const, 0},
- {"BREAK", Const, 0},
- {"CASE", Const, 0},
- {"CHAN", Const, 0},
- {"CHAR", Const, 0},
- {"COLON", Const, 0},
- {"COMMA", Const, 0},
- {"COMMENT", Const, 0},
- {"CONST", Const, 0},
- {"CONTINUE", Const, 0},
- {"DEC", Const, 0},
- {"DEFAULT", Const, 0},
- {"DEFER", Const, 0},
- {"DEFINE", Const, 0},
- {"ELLIPSIS", Const, 0},
- {"ELSE", Const, 0},
- {"EOF", Const, 0},
- {"EQL", Const, 0},
- {"FALLTHROUGH", Const, 0},
- {"FLOAT", Const, 0},
- {"FOR", Const, 0},
- {"FUNC", Const, 0},
- {"File", Type, 0},
- {"FileSet", Type, 0},
- {"GEQ", Const, 0},
- {"GO", Const, 0},
- {"GOTO", Const, 0},
- {"GTR", Const, 0},
- {"HighestPrec", Const, 0},
- {"IDENT", Const, 0},
- {"IF", Const, 0},
- {"ILLEGAL", Const, 0},
- {"IMAG", Const, 0},
- {"IMPORT", Const, 0},
- {"INC", Const, 0},
- {"INT", Const, 0},
- {"INTERFACE", Const, 0},
- {"IsExported", Func, 13},
- {"IsIdentifier", Func, 13},
- {"IsKeyword", Func, 13},
- {"LAND", Const, 0},
- {"LBRACE", Const, 0},
- {"LBRACK", Const, 0},
- {"LEQ", Const, 0},
- {"LOR", Const, 0},
- {"LPAREN", Const, 0},
- {"LSS", Const, 0},
- {"Lookup", Func, 0},
- {"LowestPrec", Const, 0},
- {"MAP", Const, 0},
- {"MUL", Const, 0},
- {"MUL_ASSIGN", Const, 0},
- {"NEQ", Const, 0},
- {"NOT", Const, 0},
- {"NewFileSet", Func, 0},
- {"NoPos", Const, 0},
- {"OR", Const, 0},
- {"OR_ASSIGN", Const, 0},
- {"PACKAGE", Const, 0},
- {"PERIOD", Const, 0},
- {"Pos", Type, 0},
- {"Position", Type, 0},
- {"Position.Column", Field, 0},
- {"Position.Filename", Field, 0},
- {"Position.Line", Field, 0},
- {"Position.Offset", Field, 0},
- {"QUO", Const, 0},
- {"QUO_ASSIGN", Const, 0},
- {"RANGE", Const, 0},
- {"RBRACE", Const, 0},
- {"RBRACK", Const, 0},
- {"REM", Const, 0},
- {"REM_ASSIGN", Const, 0},
- {"RETURN", Const, 0},
- {"RPAREN", Const, 0},
- {"SELECT", Const, 0},
- {"SEMICOLON", Const, 0},
- {"SHL", Const, 0},
- {"SHL_ASSIGN", Const, 0},
- {"SHR", Const, 0},
- {"SHR_ASSIGN", Const, 0},
- {"STRING", Const, 0},
- {"STRUCT", Const, 0},
- {"SUB", Const, 0},
- {"SUB_ASSIGN", Const, 0},
- {"SWITCH", Const, 0},
- {"TILDE", Const, 18},
- {"TYPE", Const, 0},
- {"Token", Type, 0},
- {"UnaryPrec", Const, 0},
- {"VAR", Const, 0},
- {"XOR", Const, 0},
- {"XOR_ASSIGN", Const, 0},
- },
- "go/types": {
- {"(*Alias).Obj", Method, 22},
- {"(*Alias).Origin", Method, 23},
- {"(*Alias).Rhs", Method, 23},
- {"(*Alias).SetTypeParams", Method, 23},
- {"(*Alias).String", Method, 22},
- {"(*Alias).TypeArgs", Method, 23},
- {"(*Alias).TypeParams", Method, 23},
- {"(*Alias).Underlying", Method, 22},
- {"(*ArgumentError).Error", Method, 18},
- {"(*ArgumentError).Unwrap", Method, 18},
- {"(*Array).Elem", Method, 5},
- {"(*Array).Len", Method, 5},
- {"(*Array).String", Method, 5},
- {"(*Array).Underlying", Method, 5},
- {"(*Basic).Info", Method, 5},
- {"(*Basic).Kind", Method, 5},
- {"(*Basic).Name", Method, 5},
- {"(*Basic).String", Method, 5},
- {"(*Basic).Underlying", Method, 5},
- {"(*Builtin).Exported", Method, 5},
- {"(*Builtin).Id", Method, 5},
- {"(*Builtin).Name", Method, 5},
- {"(*Builtin).Parent", Method, 5},
- {"(*Builtin).Pkg", Method, 5},
- {"(*Builtin).Pos", Method, 5},
- {"(*Builtin).String", Method, 5},
- {"(*Builtin).Type", Method, 5},
- {"(*Chan).Dir", Method, 5},
- {"(*Chan).Elem", Method, 5},
- {"(*Chan).String", Method, 5},
- {"(*Chan).Underlying", Method, 5},
- {"(*Checker).Files", Method, 5},
- {"(*Config).Check", Method, 5},
- {"(*Const).Exported", Method, 5},
- {"(*Const).Id", Method, 5},
- {"(*Const).Name", Method, 5},
- {"(*Const).Parent", Method, 5},
- {"(*Const).Pkg", Method, 5},
- {"(*Const).Pos", Method, 5},
- {"(*Const).String", Method, 5},
- {"(*Const).Type", Method, 5},
- {"(*Const).Val", Method, 5},
- {"(*Func).Exported", Method, 5},
- {"(*Func).FullName", Method, 5},
- {"(*Func).Id", Method, 5},
- {"(*Func).Name", Method, 5},
- {"(*Func).Origin", Method, 19},
- {"(*Func).Parent", Method, 5},
- {"(*Func).Pkg", Method, 5},
- {"(*Func).Pos", Method, 5},
- {"(*Func).Scope", Method, 5},
- {"(*Func).Signature", Method, 23},
- {"(*Func).String", Method, 5},
- {"(*Func).Type", Method, 5},
- {"(*Info).ObjectOf", Method, 5},
- {"(*Info).PkgNameOf", Method, 22},
- {"(*Info).TypeOf", Method, 5},
- {"(*Initializer).String", Method, 5},
- {"(*Interface).Complete", Method, 5},
- {"(*Interface).Embedded", Method, 5},
- {"(*Interface).EmbeddedType", Method, 11},
- {"(*Interface).Empty", Method, 5},
- {"(*Interface).ExplicitMethod", Method, 5},
- {"(*Interface).IsComparable", Method, 18},
- {"(*Interface).IsImplicit", Method, 18},
- {"(*Interface).IsMethodSet", Method, 18},
- {"(*Interface).MarkImplicit", Method, 18},
- {"(*Interface).Method", Method, 5},
- {"(*Interface).NumEmbeddeds", Method, 5},
- {"(*Interface).NumExplicitMethods", Method, 5},
- {"(*Interface).NumMethods", Method, 5},
- {"(*Interface).String", Method, 5},
- {"(*Interface).Underlying", Method, 5},
- {"(*Label).Exported", Method, 5},
- {"(*Label).Id", Method, 5},
- {"(*Label).Name", Method, 5},
- {"(*Label).Parent", Method, 5},
- {"(*Label).Pkg", Method, 5},
- {"(*Label).Pos", Method, 5},
- {"(*Label).String", Method, 5},
- {"(*Label).Type", Method, 5},
- {"(*Map).Elem", Method, 5},
- {"(*Map).Key", Method, 5},
- {"(*Map).String", Method, 5},
- {"(*Map).Underlying", Method, 5},
- {"(*MethodSet).At", Method, 5},
- {"(*MethodSet).Len", Method, 5},
- {"(*MethodSet).Lookup", Method, 5},
- {"(*MethodSet).String", Method, 5},
- {"(*Named).AddMethod", Method, 5},
- {"(*Named).Method", Method, 5},
- {"(*Named).NumMethods", Method, 5},
- {"(*Named).Obj", Method, 5},
- {"(*Named).Origin", Method, 18},
- {"(*Named).SetTypeParams", Method, 18},
- {"(*Named).SetUnderlying", Method, 5},
- {"(*Named).String", Method, 5},
- {"(*Named).TypeArgs", Method, 18},
- {"(*Named).TypeParams", Method, 18},
- {"(*Named).Underlying", Method, 5},
- {"(*Nil).Exported", Method, 5},
- {"(*Nil).Id", Method, 5},
- {"(*Nil).Name", Method, 5},
- {"(*Nil).Parent", Method, 5},
- {"(*Nil).Pkg", Method, 5},
- {"(*Nil).Pos", Method, 5},
- {"(*Nil).String", Method, 5},
- {"(*Nil).Type", Method, 5},
- {"(*Package).Complete", Method, 5},
- {"(*Package).GoVersion", Method, 21},
- {"(*Package).Imports", Method, 5},
- {"(*Package).MarkComplete", Method, 5},
- {"(*Package).Name", Method, 5},
- {"(*Package).Path", Method, 5},
- {"(*Package).Scope", Method, 5},
- {"(*Package).SetImports", Method, 5},
- {"(*Package).SetName", Method, 6},
- {"(*Package).String", Method, 5},
- {"(*PkgName).Exported", Method, 5},
- {"(*PkgName).Id", Method, 5},
- {"(*PkgName).Imported", Method, 5},
- {"(*PkgName).Name", Method, 5},
- {"(*PkgName).Parent", Method, 5},
- {"(*PkgName).Pkg", Method, 5},
- {"(*PkgName).Pos", Method, 5},
- {"(*PkgName).String", Method, 5},
- {"(*PkgName).Type", Method, 5},
- {"(*Pointer).Elem", Method, 5},
- {"(*Pointer).String", Method, 5},
- {"(*Pointer).Underlying", Method, 5},
- {"(*Scope).Child", Method, 5},
- {"(*Scope).Contains", Method, 5},
- {"(*Scope).End", Method, 5},
- {"(*Scope).Innermost", Method, 5},
- {"(*Scope).Insert", Method, 5},
- {"(*Scope).Len", Method, 5},
- {"(*Scope).Lookup", Method, 5},
- {"(*Scope).LookupParent", Method, 5},
- {"(*Scope).Names", Method, 5},
- {"(*Scope).NumChildren", Method, 5},
- {"(*Scope).Parent", Method, 5},
- {"(*Scope).Pos", Method, 5},
- {"(*Scope).String", Method, 5},
- {"(*Scope).WriteTo", Method, 5},
- {"(*Selection).Index", Method, 5},
- {"(*Selection).Indirect", Method, 5},
- {"(*Selection).Kind", Method, 5},
- {"(*Selection).Obj", Method, 5},
- {"(*Selection).Recv", Method, 5},
- {"(*Selection).String", Method, 5},
- {"(*Selection).Type", Method, 5},
- {"(*Signature).Params", Method, 5},
- {"(*Signature).Recv", Method, 5},
- {"(*Signature).RecvTypeParams", Method, 18},
- {"(*Signature).Results", Method, 5},
- {"(*Signature).String", Method, 5},
- {"(*Signature).TypeParams", Method, 18},
- {"(*Signature).Underlying", Method, 5},
- {"(*Signature).Variadic", Method, 5},
- {"(*Slice).Elem", Method, 5},
- {"(*Slice).String", Method, 5},
- {"(*Slice).Underlying", Method, 5},
- {"(*StdSizes).Alignof", Method, 5},
- {"(*StdSizes).Offsetsof", Method, 5},
- {"(*StdSizes).Sizeof", Method, 5},
- {"(*Struct).Field", Method, 5},
- {"(*Struct).NumFields", Method, 5},
- {"(*Struct).String", Method, 5},
- {"(*Struct).Tag", Method, 5},
- {"(*Struct).Underlying", Method, 5},
- {"(*Term).String", Method, 18},
- {"(*Term).Tilde", Method, 18},
- {"(*Term).Type", Method, 18},
- {"(*Tuple).At", Method, 5},
- {"(*Tuple).Len", Method, 5},
- {"(*Tuple).String", Method, 5},
- {"(*Tuple).Underlying", Method, 5},
- {"(*TypeList).At", Method, 18},
- {"(*TypeList).Len", Method, 18},
- {"(*TypeName).Exported", Method, 5},
- {"(*TypeName).Id", Method, 5},
- {"(*TypeName).IsAlias", Method, 9},
- {"(*TypeName).Name", Method, 5},
- {"(*TypeName).Parent", Method, 5},
- {"(*TypeName).Pkg", Method, 5},
- {"(*TypeName).Pos", Method, 5},
- {"(*TypeName).String", Method, 5},
- {"(*TypeName).Type", Method, 5},
- {"(*TypeParam).Constraint", Method, 18},
- {"(*TypeParam).Index", Method, 18},
- {"(*TypeParam).Obj", Method, 18},
- {"(*TypeParam).SetConstraint", Method, 18},
- {"(*TypeParam).String", Method, 18},
- {"(*TypeParam).Underlying", Method, 18},
- {"(*TypeParamList).At", Method, 18},
- {"(*TypeParamList).Len", Method, 18},
- {"(*Union).Len", Method, 18},
- {"(*Union).String", Method, 18},
- {"(*Union).Term", Method, 18},
- {"(*Union).Underlying", Method, 18},
- {"(*Var).Anonymous", Method, 5},
- {"(*Var).Embedded", Method, 11},
- {"(*Var).Exported", Method, 5},
- {"(*Var).Id", Method, 5},
- {"(*Var).IsField", Method, 5},
- {"(*Var).Name", Method, 5},
- {"(*Var).Origin", Method, 19},
- {"(*Var).Parent", Method, 5},
- {"(*Var).Pkg", Method, 5},
- {"(*Var).Pos", Method, 5},
- {"(*Var).String", Method, 5},
- {"(*Var).Type", Method, 5},
- {"(Checker).ObjectOf", Method, 5},
- {"(Checker).PkgNameOf", Method, 22},
- {"(Checker).TypeOf", Method, 5},
- {"(Error).Error", Method, 5},
- {"(TypeAndValue).Addressable", Method, 5},
- {"(TypeAndValue).Assignable", Method, 5},
- {"(TypeAndValue).HasOk", Method, 5},
- {"(TypeAndValue).IsBuiltin", Method, 5},
- {"(TypeAndValue).IsNil", Method, 5},
- {"(TypeAndValue).IsType", Method, 5},
- {"(TypeAndValue).IsValue", Method, 5},
- {"(TypeAndValue).IsVoid", Method, 5},
- {"Alias", Type, 22},
- {"ArgumentError", Type, 18},
- {"ArgumentError.Err", Field, 18},
- {"ArgumentError.Index", Field, 18},
- {"Array", Type, 5},
- {"AssertableTo", Func, 5},
- {"AssignableTo", Func, 5},
- {"Basic", Type, 5},
- {"BasicInfo", Type, 5},
- {"BasicKind", Type, 5},
- {"Bool", Const, 5},
- {"Builtin", Type, 5},
- {"Byte", Const, 5},
- {"Chan", Type, 5},
- {"ChanDir", Type, 5},
- {"CheckExpr", Func, 13},
- {"Checker", Type, 5},
- {"Checker.Info", Field, 5},
- {"Comparable", Func, 5},
- {"Complex128", Const, 5},
- {"Complex64", Const, 5},
- {"Config", Type, 5},
- {"Config.Context", Field, 18},
- {"Config.DisableUnusedImportCheck", Field, 5},
- {"Config.Error", Field, 5},
- {"Config.FakeImportC", Field, 5},
- {"Config.GoVersion", Field, 18},
- {"Config.IgnoreFuncBodies", Field, 5},
- {"Config.Importer", Field, 5},
- {"Config.Sizes", Field, 5},
- {"Const", Type, 5},
- {"Context", Type, 18},
- {"ConvertibleTo", Func, 5},
- {"DefPredeclaredTestFuncs", Func, 5},
- {"Default", Func, 8},
- {"Error", Type, 5},
- {"Error.Fset", Field, 5},
- {"Error.Msg", Field, 5},
- {"Error.Pos", Field, 5},
- {"Error.Soft", Field, 5},
- {"Eval", Func, 5},
- {"ExprString", Func, 5},
- {"FieldVal", Const, 5},
- {"Float32", Const, 5},
- {"Float64", Const, 5},
- {"Func", Type, 5},
- {"Id", Func, 5},
- {"Identical", Func, 5},
- {"IdenticalIgnoreTags", Func, 8},
- {"Implements", Func, 5},
- {"ImportMode", Type, 6},
- {"Importer", Type, 5},
- {"ImporterFrom", Type, 6},
- {"Info", Type, 5},
- {"Info.Defs", Field, 5},
- {"Info.FileVersions", Field, 22},
- {"Info.Implicits", Field, 5},
- {"Info.InitOrder", Field, 5},
- {"Info.Instances", Field, 18},
- {"Info.Scopes", Field, 5},
- {"Info.Selections", Field, 5},
- {"Info.Types", Field, 5},
- {"Info.Uses", Field, 5},
- {"Initializer", Type, 5},
- {"Initializer.Lhs", Field, 5},
- {"Initializer.Rhs", Field, 5},
- {"Instance", Type, 18},
- {"Instance.Type", Field, 18},
- {"Instance.TypeArgs", Field, 18},
- {"Instantiate", Func, 18},
- {"Int", Const, 5},
- {"Int16", Const, 5},
- {"Int32", Const, 5},
- {"Int64", Const, 5},
- {"Int8", Const, 5},
- {"Interface", Type, 5},
- {"Invalid", Const, 5},
- {"IsBoolean", Const, 5},
- {"IsComplex", Const, 5},
- {"IsConstType", Const, 5},
- {"IsFloat", Const, 5},
- {"IsInteger", Const, 5},
- {"IsInterface", Func, 5},
- {"IsNumeric", Const, 5},
- {"IsOrdered", Const, 5},
- {"IsString", Const, 5},
- {"IsUnsigned", Const, 5},
- {"IsUntyped", Const, 5},
- {"Label", Type, 5},
- {"LookupFieldOrMethod", Func, 5},
- {"Map", Type, 5},
- {"MethodExpr", Const, 5},
- {"MethodSet", Type, 5},
- {"MethodVal", Const, 5},
- {"MissingMethod", Func, 5},
- {"Named", Type, 5},
- {"NewAlias", Func, 22},
- {"NewArray", Func, 5},
- {"NewChan", Func, 5},
- {"NewChecker", Func, 5},
- {"NewConst", Func, 5},
- {"NewContext", Func, 18},
- {"NewField", Func, 5},
- {"NewFunc", Func, 5},
- {"NewInterface", Func, 5},
- {"NewInterfaceType", Func, 11},
- {"NewLabel", Func, 5},
- {"NewMap", Func, 5},
- {"NewMethodSet", Func, 5},
- {"NewNamed", Func, 5},
- {"NewPackage", Func, 5},
- {"NewParam", Func, 5},
- {"NewPkgName", Func, 5},
- {"NewPointer", Func, 5},
- {"NewScope", Func, 5},
- {"NewSignature", Func, 5},
- {"NewSignatureType", Func, 18},
- {"NewSlice", Func, 5},
- {"NewStruct", Func, 5},
- {"NewTerm", Func, 18},
- {"NewTuple", Func, 5},
- {"NewTypeName", Func, 5},
- {"NewTypeParam", Func, 18},
- {"NewUnion", Func, 18},
- {"NewVar", Func, 5},
- {"Nil", Type, 5},
- {"Object", Type, 5},
- {"ObjectString", Func, 5},
- {"Package", Type, 5},
- {"PkgName", Type, 5},
- {"Pointer", Type, 5},
- {"Qualifier", Type, 5},
- {"RecvOnly", Const, 5},
- {"RelativeTo", Func, 5},
- {"Rune", Const, 5},
- {"Satisfies", Func, 20},
- {"Scope", Type, 5},
- {"Selection", Type, 5},
- {"SelectionKind", Type, 5},
- {"SelectionString", Func, 5},
- {"SendOnly", Const, 5},
- {"SendRecv", Const, 5},
- {"Signature", Type, 5},
- {"Sizes", Type, 5},
- {"SizesFor", Func, 9},
- {"Slice", Type, 5},
- {"StdSizes", Type, 5},
- {"StdSizes.MaxAlign", Field, 5},
- {"StdSizes.WordSize", Field, 5},
- {"String", Const, 5},
- {"Struct", Type, 5},
- {"Term", Type, 18},
- {"Tuple", Type, 5},
- {"Typ", Var, 5},
- {"Type", Type, 5},
- {"TypeAndValue", Type, 5},
- {"TypeAndValue.Type", Field, 5},
- {"TypeAndValue.Value", Field, 5},
- {"TypeList", Type, 18},
- {"TypeName", Type, 5},
- {"TypeParam", Type, 18},
- {"TypeParamList", Type, 18},
- {"TypeString", Func, 5},
- {"Uint", Const, 5},
- {"Uint16", Const, 5},
- {"Uint32", Const, 5},
- {"Uint64", Const, 5},
- {"Uint8", Const, 5},
- {"Uintptr", Const, 5},
- {"Unalias", Func, 22},
- {"Union", Type, 18},
- {"Universe", Var, 5},
- {"Unsafe", Var, 5},
- {"UnsafePointer", Const, 5},
- {"UntypedBool", Const, 5},
- {"UntypedComplex", Const, 5},
- {"UntypedFloat", Const, 5},
- {"UntypedInt", Const, 5},
- {"UntypedNil", Const, 5},
- {"UntypedRune", Const, 5},
- {"UntypedString", Const, 5},
- {"Var", Type, 5},
- {"WriteExpr", Func, 5},
- {"WriteSignature", Func, 5},
- {"WriteType", Func, 5},
- },
- "go/version": {
- {"Compare", Func, 22},
- {"IsValid", Func, 22},
- {"Lang", Func, 22},
- },
- "hash": {
- {"Hash", Type, 0},
- {"Hash32", Type, 0},
- {"Hash64", Type, 0},
- },
- "hash/adler32": {
- {"Checksum", Func, 0},
- {"New", Func, 0},
- {"Size", Const, 0},
- },
- "hash/crc32": {
- {"Castagnoli", Const, 0},
- {"Checksum", Func, 0},
- {"ChecksumIEEE", Func, 0},
- {"IEEE", Const, 0},
- {"IEEETable", Var, 0},
- {"Koopman", Const, 0},
- {"MakeTable", Func, 0},
- {"New", Func, 0},
- {"NewIEEE", Func, 0},
- {"Size", Const, 0},
- {"Table", Type, 0},
- {"Update", Func, 0},
- },
- "hash/crc64": {
- {"Checksum", Func, 0},
- {"ECMA", Const, 0},
- {"ISO", Const, 0},
- {"MakeTable", Func, 0},
- {"New", Func, 0},
- {"Size", Const, 0},
- {"Table", Type, 0},
- {"Update", Func, 0},
- },
- "hash/fnv": {
- {"New128", Func, 9},
- {"New128a", Func, 9},
- {"New32", Func, 0},
- {"New32a", Func, 0},
- {"New64", Func, 0},
- {"New64a", Func, 0},
- },
- "hash/maphash": {
- {"(*Hash).BlockSize", Method, 14},
- {"(*Hash).Reset", Method, 14},
- {"(*Hash).Seed", Method, 14},
- {"(*Hash).SetSeed", Method, 14},
- {"(*Hash).Size", Method, 14},
- {"(*Hash).Sum", Method, 14},
- {"(*Hash).Sum64", Method, 14},
- {"(*Hash).Write", Method, 14},
- {"(*Hash).WriteByte", Method, 14},
- {"(*Hash).WriteString", Method, 14},
- {"Bytes", Func, 19},
- {"Hash", Type, 14},
- {"MakeSeed", Func, 14},
- {"Seed", Type, 14},
- {"String", Func, 19},
- },
- "html": {
- {"EscapeString", Func, 0},
- {"UnescapeString", Func, 0},
- },
- "html/template": {
- {"(*Error).Error", Method, 0},
- {"(*Template).AddParseTree", Method, 0},
- {"(*Template).Clone", Method, 0},
- {"(*Template).DefinedTemplates", Method, 6},
- {"(*Template).Delims", Method, 0},
- {"(*Template).Execute", Method, 0},
- {"(*Template).ExecuteTemplate", Method, 0},
- {"(*Template).Funcs", Method, 0},
- {"(*Template).Lookup", Method, 0},
- {"(*Template).Name", Method, 0},
- {"(*Template).New", Method, 0},
- {"(*Template).Option", Method, 5},
- {"(*Template).Parse", Method, 0},
- {"(*Template).ParseFS", Method, 16},
- {"(*Template).ParseFiles", Method, 0},
- {"(*Template).ParseGlob", Method, 0},
- {"(*Template).Templates", Method, 0},
- {"CSS", Type, 0},
- {"ErrAmbigContext", Const, 0},
- {"ErrBadHTML", Const, 0},
- {"ErrBranchEnd", Const, 0},
- {"ErrEndContext", Const, 0},
- {"ErrJSTemplate", Const, 21},
- {"ErrNoSuchTemplate", Const, 0},
- {"ErrOutputContext", Const, 0},
- {"ErrPartialCharset", Const, 0},
- {"ErrPartialEscape", Const, 0},
- {"ErrPredefinedEscaper", Const, 9},
- {"ErrRangeLoopReentry", Const, 0},
- {"ErrSlashAmbig", Const, 0},
- {"Error", Type, 0},
- {"Error.Description", Field, 0},
- {"Error.ErrorCode", Field, 0},
- {"Error.Line", Field, 0},
- {"Error.Name", Field, 0},
- {"Error.Node", Field, 4},
- {"ErrorCode", Type, 0},
- {"FuncMap", Type, 0},
- {"HTML", Type, 0},
- {"HTMLAttr", Type, 0},
- {"HTMLEscape", Func, 0},
- {"HTMLEscapeString", Func, 0},
- {"HTMLEscaper", Func, 0},
- {"IsTrue", Func, 6},
- {"JS", Type, 0},
- {"JSEscape", Func, 0},
- {"JSEscapeString", Func, 0},
- {"JSEscaper", Func, 0},
- {"JSStr", Type, 0},
- {"Must", Func, 0},
- {"New", Func, 0},
- {"OK", Const, 0},
- {"ParseFS", Func, 16},
- {"ParseFiles", Func, 0},
- {"ParseGlob", Func, 0},
- {"Srcset", Type, 10},
- {"Template", Type, 0},
- {"Template.Tree", Field, 2},
- {"URL", Type, 0},
- {"URLQueryEscaper", Func, 0},
- },
- "image": {
- {"(*Alpha).AlphaAt", Method, 4},
- {"(*Alpha).At", Method, 0},
- {"(*Alpha).Bounds", Method, 0},
- {"(*Alpha).ColorModel", Method, 0},
- {"(*Alpha).Opaque", Method, 0},
- {"(*Alpha).PixOffset", Method, 0},
- {"(*Alpha).RGBA64At", Method, 17},
- {"(*Alpha).Set", Method, 0},
- {"(*Alpha).SetAlpha", Method, 0},
- {"(*Alpha).SetRGBA64", Method, 17},
- {"(*Alpha).SubImage", Method, 0},
- {"(*Alpha16).Alpha16At", Method, 4},
- {"(*Alpha16).At", Method, 0},
- {"(*Alpha16).Bounds", Method, 0},
- {"(*Alpha16).ColorModel", Method, 0},
- {"(*Alpha16).Opaque", Method, 0},
- {"(*Alpha16).PixOffset", Method, 0},
- {"(*Alpha16).RGBA64At", Method, 17},
- {"(*Alpha16).Set", Method, 0},
- {"(*Alpha16).SetAlpha16", Method, 0},
- {"(*Alpha16).SetRGBA64", Method, 17},
- {"(*Alpha16).SubImage", Method, 0},
- {"(*CMYK).At", Method, 5},
- {"(*CMYK).Bounds", Method, 5},
- {"(*CMYK).CMYKAt", Method, 5},
- {"(*CMYK).ColorModel", Method, 5},
- {"(*CMYK).Opaque", Method, 5},
- {"(*CMYK).PixOffset", Method, 5},
- {"(*CMYK).RGBA64At", Method, 17},
- {"(*CMYK).Set", Method, 5},
- {"(*CMYK).SetCMYK", Method, 5},
- {"(*CMYK).SetRGBA64", Method, 17},
- {"(*CMYK).SubImage", Method, 5},
- {"(*Gray).At", Method, 0},
- {"(*Gray).Bounds", Method, 0},
- {"(*Gray).ColorModel", Method, 0},
- {"(*Gray).GrayAt", Method, 4},
- {"(*Gray).Opaque", Method, 0},
- {"(*Gray).PixOffset", Method, 0},
- {"(*Gray).RGBA64At", Method, 17},
- {"(*Gray).Set", Method, 0},
- {"(*Gray).SetGray", Method, 0},
- {"(*Gray).SetRGBA64", Method, 17},
- {"(*Gray).SubImage", Method, 0},
- {"(*Gray16).At", Method, 0},
- {"(*Gray16).Bounds", Method, 0},
- {"(*Gray16).ColorModel", Method, 0},
- {"(*Gray16).Gray16At", Method, 4},
- {"(*Gray16).Opaque", Method, 0},
- {"(*Gray16).PixOffset", Method, 0},
- {"(*Gray16).RGBA64At", Method, 17},
- {"(*Gray16).Set", Method, 0},
- {"(*Gray16).SetGray16", Method, 0},
- {"(*Gray16).SetRGBA64", Method, 17},
- {"(*Gray16).SubImage", Method, 0},
- {"(*NRGBA).At", Method, 0},
- {"(*NRGBA).Bounds", Method, 0},
- {"(*NRGBA).ColorModel", Method, 0},
- {"(*NRGBA).NRGBAAt", Method, 4},
- {"(*NRGBA).Opaque", Method, 0},
- {"(*NRGBA).PixOffset", Method, 0},
- {"(*NRGBA).RGBA64At", Method, 17},
- {"(*NRGBA).Set", Method, 0},
- {"(*NRGBA).SetNRGBA", Method, 0},
- {"(*NRGBA).SetRGBA64", Method, 17},
- {"(*NRGBA).SubImage", Method, 0},
- {"(*NRGBA64).At", Method, 0},
- {"(*NRGBA64).Bounds", Method, 0},
- {"(*NRGBA64).ColorModel", Method, 0},
- {"(*NRGBA64).NRGBA64At", Method, 4},
- {"(*NRGBA64).Opaque", Method, 0},
- {"(*NRGBA64).PixOffset", Method, 0},
- {"(*NRGBA64).RGBA64At", Method, 17},
- {"(*NRGBA64).Set", Method, 0},
- {"(*NRGBA64).SetNRGBA64", Method, 0},
- {"(*NRGBA64).SetRGBA64", Method, 17},
- {"(*NRGBA64).SubImage", Method, 0},
- {"(*NYCbCrA).AOffset", Method, 6},
- {"(*NYCbCrA).At", Method, 6},
- {"(*NYCbCrA).Bounds", Method, 6},
- {"(*NYCbCrA).COffset", Method, 6},
- {"(*NYCbCrA).ColorModel", Method, 6},
- {"(*NYCbCrA).NYCbCrAAt", Method, 6},
- {"(*NYCbCrA).Opaque", Method, 6},
- {"(*NYCbCrA).RGBA64At", Method, 17},
- {"(*NYCbCrA).SubImage", Method, 6},
- {"(*NYCbCrA).YCbCrAt", Method, 6},
- {"(*NYCbCrA).YOffset", Method, 6},
- {"(*Paletted).At", Method, 0},
- {"(*Paletted).Bounds", Method, 0},
- {"(*Paletted).ColorIndexAt", Method, 0},
- {"(*Paletted).ColorModel", Method, 0},
- {"(*Paletted).Opaque", Method, 0},
- {"(*Paletted).PixOffset", Method, 0},
- {"(*Paletted).RGBA64At", Method, 17},
- {"(*Paletted).Set", Method, 0},
- {"(*Paletted).SetColorIndex", Method, 0},
- {"(*Paletted).SetRGBA64", Method, 17},
- {"(*Paletted).SubImage", Method, 0},
- {"(*RGBA).At", Method, 0},
- {"(*RGBA).Bounds", Method, 0},
- {"(*RGBA).ColorModel", Method, 0},
- {"(*RGBA).Opaque", Method, 0},
- {"(*RGBA).PixOffset", Method, 0},
- {"(*RGBA).RGBA64At", Method, 17},
- {"(*RGBA).RGBAAt", Method, 4},
- {"(*RGBA).Set", Method, 0},
- {"(*RGBA).SetRGBA", Method, 0},
- {"(*RGBA).SetRGBA64", Method, 17},
- {"(*RGBA).SubImage", Method, 0},
- {"(*RGBA64).At", Method, 0},
- {"(*RGBA64).Bounds", Method, 0},
- {"(*RGBA64).ColorModel", Method, 0},
- {"(*RGBA64).Opaque", Method, 0},
- {"(*RGBA64).PixOffset", Method, 0},
- {"(*RGBA64).RGBA64At", Method, 4},
- {"(*RGBA64).Set", Method, 0},
- {"(*RGBA64).SetRGBA64", Method, 0},
- {"(*RGBA64).SubImage", Method, 0},
- {"(*Uniform).At", Method, 0},
- {"(*Uniform).Bounds", Method, 0},
- {"(*Uniform).ColorModel", Method, 0},
- {"(*Uniform).Convert", Method, 0},
- {"(*Uniform).Opaque", Method, 0},
- {"(*Uniform).RGBA", Method, 0},
- {"(*Uniform).RGBA64At", Method, 17},
- {"(*YCbCr).At", Method, 0},
- {"(*YCbCr).Bounds", Method, 0},
- {"(*YCbCr).COffset", Method, 0},
- {"(*YCbCr).ColorModel", Method, 0},
- {"(*YCbCr).Opaque", Method, 0},
- {"(*YCbCr).RGBA64At", Method, 17},
- {"(*YCbCr).SubImage", Method, 0},
- {"(*YCbCr).YCbCrAt", Method, 4},
- {"(*YCbCr).YOffset", Method, 0},
- {"(Point).Add", Method, 0},
- {"(Point).Div", Method, 0},
- {"(Point).Eq", Method, 0},
- {"(Point).In", Method, 0},
- {"(Point).Mod", Method, 0},
- {"(Point).Mul", Method, 0},
- {"(Point).String", Method, 0},
- {"(Point).Sub", Method, 0},
- {"(Rectangle).Add", Method, 0},
- {"(Rectangle).At", Method, 5},
- {"(Rectangle).Bounds", Method, 5},
- {"(Rectangle).Canon", Method, 0},
- {"(Rectangle).ColorModel", Method, 5},
- {"(Rectangle).Dx", Method, 0},
- {"(Rectangle).Dy", Method, 0},
- {"(Rectangle).Empty", Method, 0},
- {"(Rectangle).Eq", Method, 0},
- {"(Rectangle).In", Method, 0},
- {"(Rectangle).Inset", Method, 0},
- {"(Rectangle).Intersect", Method, 0},
- {"(Rectangle).Overlaps", Method, 0},
- {"(Rectangle).RGBA64At", Method, 17},
- {"(Rectangle).Size", Method, 0},
- {"(Rectangle).String", Method, 0},
- {"(Rectangle).Sub", Method, 0},
- {"(Rectangle).Union", Method, 0},
- {"(YCbCrSubsampleRatio).String", Method, 0},
- {"Alpha", Type, 0},
- {"Alpha.Pix", Field, 0},
- {"Alpha.Rect", Field, 0},
- {"Alpha.Stride", Field, 0},
- {"Alpha16", Type, 0},
- {"Alpha16.Pix", Field, 0},
- {"Alpha16.Rect", Field, 0},
- {"Alpha16.Stride", Field, 0},
- {"Black", Var, 0},
- {"CMYK", Type, 5},
- {"CMYK.Pix", Field, 5},
- {"CMYK.Rect", Field, 5},
- {"CMYK.Stride", Field, 5},
- {"Config", Type, 0},
- {"Config.ColorModel", Field, 0},
- {"Config.Height", Field, 0},
- {"Config.Width", Field, 0},
- {"Decode", Func, 0},
- {"DecodeConfig", Func, 0},
- {"ErrFormat", Var, 0},
- {"Gray", Type, 0},
- {"Gray.Pix", Field, 0},
- {"Gray.Rect", Field, 0},
- {"Gray.Stride", Field, 0},
- {"Gray16", Type, 0},
- {"Gray16.Pix", Field, 0},
- {"Gray16.Rect", Field, 0},
- {"Gray16.Stride", Field, 0},
- {"Image", Type, 0},
- {"NRGBA", Type, 0},
- {"NRGBA.Pix", Field, 0},
- {"NRGBA.Rect", Field, 0},
- {"NRGBA.Stride", Field, 0},
- {"NRGBA64", Type, 0},
- {"NRGBA64.Pix", Field, 0},
- {"NRGBA64.Rect", Field, 0},
- {"NRGBA64.Stride", Field, 0},
- {"NYCbCrA", Type, 6},
- {"NYCbCrA.A", Field, 6},
- {"NYCbCrA.AStride", Field, 6},
- {"NYCbCrA.YCbCr", Field, 6},
- {"NewAlpha", Func, 0},
- {"NewAlpha16", Func, 0},
- {"NewCMYK", Func, 5},
- {"NewGray", Func, 0},
- {"NewGray16", Func, 0},
- {"NewNRGBA", Func, 0},
- {"NewNRGBA64", Func, 0},
- {"NewNYCbCrA", Func, 6},
- {"NewPaletted", Func, 0},
- {"NewRGBA", Func, 0},
- {"NewRGBA64", Func, 0},
- {"NewUniform", Func, 0},
- {"NewYCbCr", Func, 0},
- {"Opaque", Var, 0},
- {"Paletted", Type, 0},
- {"Paletted.Palette", Field, 0},
- {"Paletted.Pix", Field, 0},
- {"Paletted.Rect", Field, 0},
- {"Paletted.Stride", Field, 0},
- {"PalettedImage", Type, 0},
- {"Point", Type, 0},
- {"Point.X", Field, 0},
- {"Point.Y", Field, 0},
- {"Pt", Func, 0},
- {"RGBA", Type, 0},
- {"RGBA.Pix", Field, 0},
- {"RGBA.Rect", Field, 0},
- {"RGBA.Stride", Field, 0},
- {"RGBA64", Type, 0},
- {"RGBA64.Pix", Field, 0},
- {"RGBA64.Rect", Field, 0},
- {"RGBA64.Stride", Field, 0},
- {"RGBA64Image", Type, 17},
- {"Rect", Func, 0},
- {"Rectangle", Type, 0},
- {"Rectangle.Max", Field, 0},
- {"Rectangle.Min", Field, 0},
- {"RegisterFormat", Func, 0},
- {"Transparent", Var, 0},
- {"Uniform", Type, 0},
- {"Uniform.C", Field, 0},
- {"White", Var, 0},
- {"YCbCr", Type, 0},
- {"YCbCr.CStride", Field, 0},
- {"YCbCr.Cb", Field, 0},
- {"YCbCr.Cr", Field, 0},
- {"YCbCr.Rect", Field, 0},
- {"YCbCr.SubsampleRatio", Field, 0},
- {"YCbCr.Y", Field, 0},
- {"YCbCr.YStride", Field, 0},
- {"YCbCrSubsampleRatio", Type, 0},
- {"YCbCrSubsampleRatio410", Const, 5},
- {"YCbCrSubsampleRatio411", Const, 5},
- {"YCbCrSubsampleRatio420", Const, 0},
- {"YCbCrSubsampleRatio422", Const, 0},
- {"YCbCrSubsampleRatio440", Const, 1},
- {"YCbCrSubsampleRatio444", Const, 0},
- {"ZP", Var, 0},
- {"ZR", Var, 0},
- },
- "image/color": {
- {"(Alpha).RGBA", Method, 0},
- {"(Alpha16).RGBA", Method, 0},
- {"(CMYK).RGBA", Method, 5},
- {"(Gray).RGBA", Method, 0},
- {"(Gray16).RGBA", Method, 0},
- {"(NRGBA).RGBA", Method, 0},
- {"(NRGBA64).RGBA", Method, 0},
- {"(NYCbCrA).RGBA", Method, 6},
- {"(Palette).Convert", Method, 0},
- {"(Palette).Index", Method, 0},
- {"(RGBA).RGBA", Method, 0},
- {"(RGBA64).RGBA", Method, 0},
- {"(YCbCr).RGBA", Method, 0},
- {"Alpha", Type, 0},
- {"Alpha.A", Field, 0},
- {"Alpha16", Type, 0},
- {"Alpha16.A", Field, 0},
- {"Alpha16Model", Var, 0},
- {"AlphaModel", Var, 0},
- {"Black", Var, 0},
- {"CMYK", Type, 5},
- {"CMYK.C", Field, 5},
- {"CMYK.K", Field, 5},
- {"CMYK.M", Field, 5},
- {"CMYK.Y", Field, 5},
- {"CMYKModel", Var, 5},
- {"CMYKToRGB", Func, 5},
- {"Color", Type, 0},
- {"Gray", Type, 0},
- {"Gray.Y", Field, 0},
- {"Gray16", Type, 0},
- {"Gray16.Y", Field, 0},
- {"Gray16Model", Var, 0},
- {"GrayModel", Var, 0},
- {"Model", Type, 0},
- {"ModelFunc", Func, 0},
- {"NRGBA", Type, 0},
- {"NRGBA.A", Field, 0},
- {"NRGBA.B", Field, 0},
- {"NRGBA.G", Field, 0},
- {"NRGBA.R", Field, 0},
- {"NRGBA64", Type, 0},
- {"NRGBA64.A", Field, 0},
- {"NRGBA64.B", Field, 0},
- {"NRGBA64.G", Field, 0},
- {"NRGBA64.R", Field, 0},
- {"NRGBA64Model", Var, 0},
- {"NRGBAModel", Var, 0},
- {"NYCbCrA", Type, 6},
- {"NYCbCrA.A", Field, 6},
- {"NYCbCrA.YCbCr", Field, 6},
- {"NYCbCrAModel", Var, 6},
- {"Opaque", Var, 0},
- {"Palette", Type, 0},
- {"RGBA", Type, 0},
- {"RGBA.A", Field, 0},
- {"RGBA.B", Field, 0},
- {"RGBA.G", Field, 0},
- {"RGBA.R", Field, 0},
- {"RGBA64", Type, 0},
- {"RGBA64.A", Field, 0},
- {"RGBA64.B", Field, 0},
- {"RGBA64.G", Field, 0},
- {"RGBA64.R", Field, 0},
- {"RGBA64Model", Var, 0},
- {"RGBAModel", Var, 0},
- {"RGBToCMYK", Func, 5},
- {"RGBToYCbCr", Func, 0},
- {"Transparent", Var, 0},
- {"White", Var, 0},
- {"YCbCr", Type, 0},
- {"YCbCr.Cb", Field, 0},
- {"YCbCr.Cr", Field, 0},
- {"YCbCr.Y", Field, 0},
- {"YCbCrModel", Var, 0},
- {"YCbCrToRGB", Func, 0},
- },
- "image/color/palette": {
- {"Plan9", Var, 2},
- {"WebSafe", Var, 2},
- },
- "image/draw": {
- {"(Op).Draw", Method, 2},
- {"Draw", Func, 0},
- {"DrawMask", Func, 0},
- {"Drawer", Type, 2},
- {"FloydSteinberg", Var, 2},
- {"Image", Type, 0},
- {"Op", Type, 0},
- {"Over", Const, 0},
- {"Quantizer", Type, 2},
- {"RGBA64Image", Type, 17},
- {"Src", Const, 0},
- },
- "image/gif": {
- {"Decode", Func, 0},
- {"DecodeAll", Func, 0},
- {"DecodeConfig", Func, 0},
- {"DisposalBackground", Const, 5},
- {"DisposalNone", Const, 5},
- {"DisposalPrevious", Const, 5},
- {"Encode", Func, 2},
- {"EncodeAll", Func, 2},
- {"GIF", Type, 0},
- {"GIF.BackgroundIndex", Field, 5},
- {"GIF.Config", Field, 5},
- {"GIF.Delay", Field, 0},
- {"GIF.Disposal", Field, 5},
- {"GIF.Image", Field, 0},
- {"GIF.LoopCount", Field, 0},
- {"Options", Type, 2},
- {"Options.Drawer", Field, 2},
- {"Options.NumColors", Field, 2},
- {"Options.Quantizer", Field, 2},
- },
- "image/jpeg": {
- {"(FormatError).Error", Method, 0},
- {"(UnsupportedError).Error", Method, 0},
- {"Decode", Func, 0},
- {"DecodeConfig", Func, 0},
- {"DefaultQuality", Const, 0},
- {"Encode", Func, 0},
- {"FormatError", Type, 0},
- {"Options", Type, 0},
- {"Options.Quality", Field, 0},
- {"Reader", Type, 0},
- {"UnsupportedError", Type, 0},
- },
- "image/png": {
- {"(*Encoder).Encode", Method, 4},
- {"(FormatError).Error", Method, 0},
- {"(UnsupportedError).Error", Method, 0},
- {"BestCompression", Const, 4},
- {"BestSpeed", Const, 4},
- {"CompressionLevel", Type, 4},
- {"Decode", Func, 0},
- {"DecodeConfig", Func, 0},
- {"DefaultCompression", Const, 4},
- {"Encode", Func, 0},
- {"Encoder", Type, 4},
- {"Encoder.BufferPool", Field, 9},
- {"Encoder.CompressionLevel", Field, 4},
- {"EncoderBuffer", Type, 9},
- {"EncoderBufferPool", Type, 9},
- {"FormatError", Type, 0},
- {"NoCompression", Const, 4},
- {"UnsupportedError", Type, 0},
- },
- "index/suffixarray": {
- {"(*Index).Bytes", Method, 0},
- {"(*Index).FindAllIndex", Method, 0},
- {"(*Index).Lookup", Method, 0},
- {"(*Index).Read", Method, 0},
- {"(*Index).Write", Method, 0},
- {"Index", Type, 0},
- {"New", Func, 0},
- },
- "io": {
- {"(*LimitedReader).Read", Method, 0},
- {"(*OffsetWriter).Seek", Method, 20},
- {"(*OffsetWriter).Write", Method, 20},
- {"(*OffsetWriter).WriteAt", Method, 20},
- {"(*PipeReader).Close", Method, 0},
- {"(*PipeReader).CloseWithError", Method, 0},
- {"(*PipeReader).Read", Method, 0},
- {"(*PipeWriter).Close", Method, 0},
- {"(*PipeWriter).CloseWithError", Method, 0},
- {"(*PipeWriter).Write", Method, 0},
- {"(*SectionReader).Outer", Method, 22},
- {"(*SectionReader).Read", Method, 0},
- {"(*SectionReader).ReadAt", Method, 0},
- {"(*SectionReader).Seek", Method, 0},
- {"(*SectionReader).Size", Method, 0},
- {"ByteReader", Type, 0},
- {"ByteScanner", Type, 0},
- {"ByteWriter", Type, 1},
- {"Closer", Type, 0},
- {"Copy", Func, 0},
- {"CopyBuffer", Func, 5},
- {"CopyN", Func, 0},
- {"Discard", Var, 16},
- {"EOF", Var, 0},
- {"ErrClosedPipe", Var, 0},
- {"ErrNoProgress", Var, 1},
- {"ErrShortBuffer", Var, 0},
- {"ErrShortWrite", Var, 0},
- {"ErrUnexpectedEOF", Var, 0},
- {"LimitReader", Func, 0},
- {"LimitedReader", Type, 0},
- {"LimitedReader.N", Field, 0},
- {"LimitedReader.R", Field, 0},
- {"MultiReader", Func, 0},
- {"MultiWriter", Func, 0},
- {"NewOffsetWriter", Func, 20},
- {"NewSectionReader", Func, 0},
- {"NopCloser", Func, 16},
- {"OffsetWriter", Type, 20},
- {"Pipe", Func, 0},
- {"PipeReader", Type, 0},
- {"PipeWriter", Type, 0},
- {"ReadAll", Func, 16},
- {"ReadAtLeast", Func, 0},
- {"ReadCloser", Type, 0},
- {"ReadFull", Func, 0},
- {"ReadSeekCloser", Type, 16},
- {"ReadSeeker", Type, 0},
- {"ReadWriteCloser", Type, 0},
- {"ReadWriteSeeker", Type, 0},
- {"ReadWriter", Type, 0},
- {"Reader", Type, 0},
- {"ReaderAt", Type, 0},
- {"ReaderFrom", Type, 0},
- {"RuneReader", Type, 0},
- {"RuneScanner", Type, 0},
- {"SectionReader", Type, 0},
- {"SeekCurrent", Const, 7},
- {"SeekEnd", Const, 7},
- {"SeekStart", Const, 7},
- {"Seeker", Type, 0},
- {"StringWriter", Type, 12},
- {"TeeReader", Func, 0},
- {"WriteCloser", Type, 0},
- {"WriteSeeker", Type, 0},
- {"WriteString", Func, 0},
- {"Writer", Type, 0},
- {"WriterAt", Type, 0},
- {"WriterTo", Type, 0},
- },
- "io/fs": {
- {"(*PathError).Error", Method, 16},
- {"(*PathError).Timeout", Method, 16},
- {"(*PathError).Unwrap", Method, 16},
- {"(FileMode).IsDir", Method, 16},
- {"(FileMode).IsRegular", Method, 16},
- {"(FileMode).Perm", Method, 16},
- {"(FileMode).String", Method, 16},
- {"(FileMode).Type", Method, 16},
- {"DirEntry", Type, 16},
- {"ErrClosed", Var, 16},
- {"ErrExist", Var, 16},
- {"ErrInvalid", Var, 16},
- {"ErrNotExist", Var, 16},
- {"ErrPermission", Var, 16},
- {"FS", Type, 16},
- {"File", Type, 16},
- {"FileInfo", Type, 16},
- {"FileInfoToDirEntry", Func, 17},
- {"FileMode", Type, 16},
- {"FormatDirEntry", Func, 21},
- {"FormatFileInfo", Func, 21},
- {"Glob", Func, 16},
- {"GlobFS", Type, 16},
- {"ModeAppend", Const, 16},
- {"ModeCharDevice", Const, 16},
- {"ModeDevice", Const, 16},
- {"ModeDir", Const, 16},
- {"ModeExclusive", Const, 16},
- {"ModeIrregular", Const, 16},
- {"ModeNamedPipe", Const, 16},
- {"ModePerm", Const, 16},
- {"ModeSetgid", Const, 16},
- {"ModeSetuid", Const, 16},
- {"ModeSocket", Const, 16},
- {"ModeSticky", Const, 16},
- {"ModeSymlink", Const, 16},
- {"ModeTemporary", Const, 16},
- {"ModeType", Const, 16},
- {"PathError", Type, 16},
- {"PathError.Err", Field, 16},
- {"PathError.Op", Field, 16},
- {"PathError.Path", Field, 16},
- {"ReadDir", Func, 16},
- {"ReadDirFS", Type, 16},
- {"ReadDirFile", Type, 16},
- {"ReadFile", Func, 16},
- {"ReadFileFS", Type, 16},
- {"SkipAll", Var, 20},
- {"SkipDir", Var, 16},
- {"Stat", Func, 16},
- {"StatFS", Type, 16},
- {"Sub", Func, 16},
- {"SubFS", Type, 16},
- {"ValidPath", Func, 16},
- {"WalkDir", Func, 16},
- {"WalkDirFunc", Type, 16},
- },
- "io/ioutil": {
- {"Discard", Var, 0},
- {"NopCloser", Func, 0},
- {"ReadAll", Func, 0},
- {"ReadDir", Func, 0},
- {"ReadFile", Func, 0},
- {"TempDir", Func, 0},
- {"TempFile", Func, 0},
- {"WriteFile", Func, 0},
- },
- "iter": {
- {"Pull", Func, 23},
- {"Pull2", Func, 23},
- {"Seq", Type, 23},
- {"Seq2", Type, 23},
- },
- "log": {
- {"(*Logger).Fatal", Method, 0},
- {"(*Logger).Fatalf", Method, 0},
- {"(*Logger).Fatalln", Method, 0},
- {"(*Logger).Flags", Method, 0},
- {"(*Logger).Output", Method, 0},
- {"(*Logger).Panic", Method, 0},
- {"(*Logger).Panicf", Method, 0},
- {"(*Logger).Panicln", Method, 0},
- {"(*Logger).Prefix", Method, 0},
- {"(*Logger).Print", Method, 0},
- {"(*Logger).Printf", Method, 0},
- {"(*Logger).Println", Method, 0},
- {"(*Logger).SetFlags", Method, 0},
- {"(*Logger).SetOutput", Method, 5},
- {"(*Logger).SetPrefix", Method, 0},
- {"(*Logger).Writer", Method, 12},
- {"Default", Func, 16},
- {"Fatal", Func, 0},
- {"Fatalf", Func, 0},
- {"Fatalln", Func, 0},
- {"Flags", Func, 0},
- {"LUTC", Const, 5},
- {"Ldate", Const, 0},
- {"Llongfile", Const, 0},
- {"Lmicroseconds", Const, 0},
- {"Lmsgprefix", Const, 14},
- {"Logger", Type, 0},
- {"Lshortfile", Const, 0},
- {"LstdFlags", Const, 0},
- {"Ltime", Const, 0},
- {"New", Func, 0},
- {"Output", Func, 5},
- {"Panic", Func, 0},
- {"Panicf", Func, 0},
- {"Panicln", Func, 0},
- {"Prefix", Func, 0},
- {"Print", Func, 0},
- {"Printf", Func, 0},
- {"Println", Func, 0},
- {"SetFlags", Func, 0},
- {"SetOutput", Func, 0},
- {"SetPrefix", Func, 0},
- {"Writer", Func, 13},
- },
- "log/slog": {
- {"(*JSONHandler).Enabled", Method, 21},
- {"(*JSONHandler).Handle", Method, 21},
- {"(*JSONHandler).WithAttrs", Method, 21},
- {"(*JSONHandler).WithGroup", Method, 21},
- {"(*Level).UnmarshalJSON", Method, 21},
- {"(*Level).UnmarshalText", Method, 21},
- {"(*LevelVar).Level", Method, 21},
- {"(*LevelVar).MarshalText", Method, 21},
- {"(*LevelVar).Set", Method, 21},
- {"(*LevelVar).String", Method, 21},
- {"(*LevelVar).UnmarshalText", Method, 21},
- {"(*Logger).Debug", Method, 21},
- {"(*Logger).DebugContext", Method, 21},
- {"(*Logger).Enabled", Method, 21},
- {"(*Logger).Error", Method, 21},
- {"(*Logger).ErrorContext", Method, 21},
- {"(*Logger).Handler", Method, 21},
- {"(*Logger).Info", Method, 21},
- {"(*Logger).InfoContext", Method, 21},
- {"(*Logger).Log", Method, 21},
- {"(*Logger).LogAttrs", Method, 21},
- {"(*Logger).Warn", Method, 21},
- {"(*Logger).WarnContext", Method, 21},
- {"(*Logger).With", Method, 21},
- {"(*Logger).WithGroup", Method, 21},
- {"(*Record).Add", Method, 21},
- {"(*Record).AddAttrs", Method, 21},
- {"(*TextHandler).Enabled", Method, 21},
- {"(*TextHandler).Handle", Method, 21},
- {"(*TextHandler).WithAttrs", Method, 21},
- {"(*TextHandler).WithGroup", Method, 21},
- {"(Attr).Equal", Method, 21},
- {"(Attr).String", Method, 21},
- {"(Kind).String", Method, 21},
- {"(Level).Level", Method, 21},
- {"(Level).MarshalJSON", Method, 21},
- {"(Level).MarshalText", Method, 21},
- {"(Level).String", Method, 21},
- {"(Record).Attrs", Method, 21},
- {"(Record).Clone", Method, 21},
- {"(Record).NumAttrs", Method, 21},
- {"(Value).Any", Method, 21},
- {"(Value).Bool", Method, 21},
- {"(Value).Duration", Method, 21},
- {"(Value).Equal", Method, 21},
- {"(Value).Float64", Method, 21},
- {"(Value).Group", Method, 21},
- {"(Value).Int64", Method, 21},
- {"(Value).Kind", Method, 21},
- {"(Value).LogValuer", Method, 21},
- {"(Value).Resolve", Method, 21},
- {"(Value).String", Method, 21},
- {"(Value).Time", Method, 21},
- {"(Value).Uint64", Method, 21},
- {"Any", Func, 21},
- {"AnyValue", Func, 21},
- {"Attr", Type, 21},
- {"Attr.Key", Field, 21},
- {"Attr.Value", Field, 21},
- {"Bool", Func, 21},
- {"BoolValue", Func, 21},
- {"Debug", Func, 21},
- {"DebugContext", Func, 21},
- {"Default", Func, 21},
- {"Duration", Func, 21},
- {"DurationValue", Func, 21},
- {"Error", Func, 21},
- {"ErrorContext", Func, 21},
- {"Float64", Func, 21},
- {"Float64Value", Func, 21},
- {"Group", Func, 21},
- {"GroupValue", Func, 21},
- {"Handler", Type, 21},
- {"HandlerOptions", Type, 21},
- {"HandlerOptions.AddSource", Field, 21},
- {"HandlerOptions.Level", Field, 21},
- {"HandlerOptions.ReplaceAttr", Field, 21},
- {"Info", Func, 21},
- {"InfoContext", Func, 21},
- {"Int", Func, 21},
- {"Int64", Func, 21},
- {"Int64Value", Func, 21},
- {"IntValue", Func, 21},
- {"JSONHandler", Type, 21},
- {"Kind", Type, 21},
- {"KindAny", Const, 21},
- {"KindBool", Const, 21},
- {"KindDuration", Const, 21},
- {"KindFloat64", Const, 21},
- {"KindGroup", Const, 21},
- {"KindInt64", Const, 21},
- {"KindLogValuer", Const, 21},
- {"KindString", Const, 21},
- {"KindTime", Const, 21},
- {"KindUint64", Const, 21},
- {"Level", Type, 21},
- {"LevelDebug", Const, 21},
- {"LevelError", Const, 21},
- {"LevelInfo", Const, 21},
- {"LevelKey", Const, 21},
- {"LevelVar", Type, 21},
- {"LevelWarn", Const, 21},
- {"Leveler", Type, 21},
- {"Log", Func, 21},
- {"LogAttrs", Func, 21},
- {"LogValuer", Type, 21},
- {"Logger", Type, 21},
- {"MessageKey", Const, 21},
- {"New", Func, 21},
- {"NewJSONHandler", Func, 21},
- {"NewLogLogger", Func, 21},
- {"NewRecord", Func, 21},
- {"NewTextHandler", Func, 21},
- {"Record", Type, 21},
- {"Record.Level", Field, 21},
- {"Record.Message", Field, 21},
- {"Record.PC", Field, 21},
- {"Record.Time", Field, 21},
- {"SetDefault", Func, 21},
- {"SetLogLoggerLevel", Func, 22},
- {"Source", Type, 21},
- {"Source.File", Field, 21},
- {"Source.Function", Field, 21},
- {"Source.Line", Field, 21},
- {"SourceKey", Const, 21},
- {"String", Func, 21},
- {"StringValue", Func, 21},
- {"TextHandler", Type, 21},
- {"Time", Func, 21},
- {"TimeKey", Const, 21},
- {"TimeValue", Func, 21},
- {"Uint64", Func, 21},
- {"Uint64Value", Func, 21},
- {"Value", Type, 21},
- {"Warn", Func, 21},
- {"WarnContext", Func, 21},
- {"With", Func, 21},
- },
- "log/syslog": {
- {"(*Writer).Alert", Method, 0},
- {"(*Writer).Close", Method, 0},
- {"(*Writer).Crit", Method, 0},
- {"(*Writer).Debug", Method, 0},
- {"(*Writer).Emerg", Method, 0},
- {"(*Writer).Err", Method, 0},
- {"(*Writer).Info", Method, 0},
- {"(*Writer).Notice", Method, 0},
- {"(*Writer).Warning", Method, 0},
- {"(*Writer).Write", Method, 0},
- {"Dial", Func, 0},
- {"LOG_ALERT", Const, 0},
- {"LOG_AUTH", Const, 1},
- {"LOG_AUTHPRIV", Const, 1},
- {"LOG_CRIT", Const, 0},
- {"LOG_CRON", Const, 1},
- {"LOG_DAEMON", Const, 1},
- {"LOG_DEBUG", Const, 0},
- {"LOG_EMERG", Const, 0},
- {"LOG_ERR", Const, 0},
- {"LOG_FTP", Const, 1},
- {"LOG_INFO", Const, 0},
- {"LOG_KERN", Const, 1},
- {"LOG_LOCAL0", Const, 1},
- {"LOG_LOCAL1", Const, 1},
- {"LOG_LOCAL2", Const, 1},
- {"LOG_LOCAL3", Const, 1},
- {"LOG_LOCAL4", Const, 1},
- {"LOG_LOCAL5", Const, 1},
- {"LOG_LOCAL6", Const, 1},
- {"LOG_LOCAL7", Const, 1},
- {"LOG_LPR", Const, 1},
- {"LOG_MAIL", Const, 1},
- {"LOG_NEWS", Const, 1},
- {"LOG_NOTICE", Const, 0},
- {"LOG_SYSLOG", Const, 1},
- {"LOG_USER", Const, 1},
- {"LOG_UUCP", Const, 1},
- {"LOG_WARNING", Const, 0},
- {"New", Func, 0},
- {"NewLogger", Func, 0},
- {"Priority", Type, 0},
- {"Writer", Type, 0},
- },
- "maps": {
- {"All", Func, 23},
- {"Clone", Func, 21},
- {"Collect", Func, 23},
- {"Copy", Func, 21},
- {"DeleteFunc", Func, 21},
- {"Equal", Func, 21},
- {"EqualFunc", Func, 21},
- {"Insert", Func, 23},
- {"Keys", Func, 23},
- {"Values", Func, 23},
- },
- "math": {
- {"Abs", Func, 0},
- {"Acos", Func, 0},
- {"Acosh", Func, 0},
- {"Asin", Func, 0},
- {"Asinh", Func, 0},
- {"Atan", Func, 0},
- {"Atan2", Func, 0},
- {"Atanh", Func, 0},
- {"Cbrt", Func, 0},
- {"Ceil", Func, 0},
- {"Copysign", Func, 0},
- {"Cos", Func, 0},
- {"Cosh", Func, 0},
- {"Dim", Func, 0},
- {"E", Const, 0},
- {"Erf", Func, 0},
- {"Erfc", Func, 0},
- {"Erfcinv", Func, 10},
- {"Erfinv", Func, 10},
- {"Exp", Func, 0},
- {"Exp2", Func, 0},
- {"Expm1", Func, 0},
- {"FMA", Func, 14},
- {"Float32bits", Func, 0},
- {"Float32frombits", Func, 0},
- {"Float64bits", Func, 0},
- {"Float64frombits", Func, 0},
- {"Floor", Func, 0},
- {"Frexp", Func, 0},
- {"Gamma", Func, 0},
- {"Hypot", Func, 0},
- {"Ilogb", Func, 0},
- {"Inf", Func, 0},
- {"IsInf", Func, 0},
- {"IsNaN", Func, 0},
- {"J0", Func, 0},
- {"J1", Func, 0},
- {"Jn", Func, 0},
- {"Ldexp", Func, 0},
- {"Lgamma", Func, 0},
- {"Ln10", Const, 0},
- {"Ln2", Const, 0},
- {"Log", Func, 0},
- {"Log10", Func, 0},
- {"Log10E", Const, 0},
- {"Log1p", Func, 0},
- {"Log2", Func, 0},
- {"Log2E", Const, 0},
- {"Logb", Func, 0},
- {"Max", Func, 0},
- {"MaxFloat32", Const, 0},
- {"MaxFloat64", Const, 0},
- {"MaxInt", Const, 17},
- {"MaxInt16", Const, 0},
- {"MaxInt32", Const, 0},
- {"MaxInt64", Const, 0},
- {"MaxInt8", Const, 0},
- {"MaxUint", Const, 17},
- {"MaxUint16", Const, 0},
- {"MaxUint32", Const, 0},
- {"MaxUint64", Const, 0},
- {"MaxUint8", Const, 0},
- {"Min", Func, 0},
- {"MinInt", Const, 17},
- {"MinInt16", Const, 0},
- {"MinInt32", Const, 0},
- {"MinInt64", Const, 0},
- {"MinInt8", Const, 0},
- {"Mod", Func, 0},
- {"Modf", Func, 0},
- {"NaN", Func, 0},
- {"Nextafter", Func, 0},
- {"Nextafter32", Func, 4},
- {"Phi", Const, 0},
- {"Pi", Const, 0},
- {"Pow", Func, 0},
- {"Pow10", Func, 0},
- {"Remainder", Func, 0},
- {"Round", Func, 10},
- {"RoundToEven", Func, 10},
- {"Signbit", Func, 0},
- {"Sin", Func, 0},
- {"Sincos", Func, 0},
- {"Sinh", Func, 0},
- {"SmallestNonzeroFloat32", Const, 0},
- {"SmallestNonzeroFloat64", Const, 0},
- {"Sqrt", Func, 0},
- {"Sqrt2", Const, 0},
- {"SqrtE", Const, 0},
- {"SqrtPhi", Const, 0},
- {"SqrtPi", Const, 0},
- {"Tan", Func, 0},
- {"Tanh", Func, 0},
- {"Trunc", Func, 0},
- {"Y0", Func, 0},
- {"Y1", Func, 0},
- {"Yn", Func, 0},
- },
- "math/big": {
- {"(*Float).Abs", Method, 5},
- {"(*Float).Acc", Method, 5},
- {"(*Float).Add", Method, 5},
- {"(*Float).Append", Method, 5},
- {"(*Float).Cmp", Method, 5},
- {"(*Float).Copy", Method, 5},
- {"(*Float).Float32", Method, 5},
- {"(*Float).Float64", Method, 5},
- {"(*Float).Format", Method, 5},
- {"(*Float).GobDecode", Method, 7},
- {"(*Float).GobEncode", Method, 7},
- {"(*Float).Int", Method, 5},
- {"(*Float).Int64", Method, 5},
- {"(*Float).IsInf", Method, 5},
- {"(*Float).IsInt", Method, 5},
- {"(*Float).MantExp", Method, 5},
- {"(*Float).MarshalText", Method, 6},
- {"(*Float).MinPrec", Method, 5},
- {"(*Float).Mode", Method, 5},
- {"(*Float).Mul", Method, 5},
- {"(*Float).Neg", Method, 5},
- {"(*Float).Parse", Method, 5},
- {"(*Float).Prec", Method, 5},
- {"(*Float).Quo", Method, 5},
- {"(*Float).Rat", Method, 5},
- {"(*Float).Scan", Method, 8},
- {"(*Float).Set", Method, 5},
- {"(*Float).SetFloat64", Method, 5},
- {"(*Float).SetInf", Method, 5},
- {"(*Float).SetInt", Method, 5},
- {"(*Float).SetInt64", Method, 5},
- {"(*Float).SetMantExp", Method, 5},
- {"(*Float).SetMode", Method, 5},
- {"(*Float).SetPrec", Method, 5},
- {"(*Float).SetRat", Method, 5},
- {"(*Float).SetString", Method, 5},
- {"(*Float).SetUint64", Method, 5},
- {"(*Float).Sign", Method, 5},
- {"(*Float).Signbit", Method, 5},
- {"(*Float).Sqrt", Method, 10},
- {"(*Float).String", Method, 5},
- {"(*Float).Sub", Method, 5},
- {"(*Float).Text", Method, 5},
- {"(*Float).Uint64", Method, 5},
- {"(*Float).UnmarshalText", Method, 6},
- {"(*Int).Abs", Method, 0},
- {"(*Int).Add", Method, 0},
- {"(*Int).And", Method, 0},
- {"(*Int).AndNot", Method, 0},
- {"(*Int).Append", Method, 6},
- {"(*Int).Binomial", Method, 0},
- {"(*Int).Bit", Method, 0},
- {"(*Int).BitLen", Method, 0},
- {"(*Int).Bits", Method, 0},
- {"(*Int).Bytes", Method, 0},
- {"(*Int).Cmp", Method, 0},
- {"(*Int).CmpAbs", Method, 10},
- {"(*Int).Div", Method, 0},
- {"(*Int).DivMod", Method, 0},
- {"(*Int).Exp", Method, 0},
- {"(*Int).FillBytes", Method, 15},
- {"(*Int).Float64", Method, 21},
- {"(*Int).Format", Method, 0},
- {"(*Int).GCD", Method, 0},
- {"(*Int).GobDecode", Method, 0},
- {"(*Int).GobEncode", Method, 0},
- {"(*Int).Int64", Method, 0},
- {"(*Int).IsInt64", Method, 9},
- {"(*Int).IsUint64", Method, 9},
- {"(*Int).Lsh", Method, 0},
- {"(*Int).MarshalJSON", Method, 1},
- {"(*Int).MarshalText", Method, 3},
- {"(*Int).Mod", Method, 0},
- {"(*Int).ModInverse", Method, 0},
- {"(*Int).ModSqrt", Method, 5},
- {"(*Int).Mul", Method, 0},
- {"(*Int).MulRange", Method, 0},
- {"(*Int).Neg", Method, 0},
- {"(*Int).Not", Method, 0},
- {"(*Int).Or", Method, 0},
- {"(*Int).ProbablyPrime", Method, 0},
- {"(*Int).Quo", Method, 0},
- {"(*Int).QuoRem", Method, 0},
- {"(*Int).Rand", Method, 0},
- {"(*Int).Rem", Method, 0},
- {"(*Int).Rsh", Method, 0},
- {"(*Int).Scan", Method, 0},
- {"(*Int).Set", Method, 0},
- {"(*Int).SetBit", Method, 0},
- {"(*Int).SetBits", Method, 0},
- {"(*Int).SetBytes", Method, 0},
- {"(*Int).SetInt64", Method, 0},
- {"(*Int).SetString", Method, 0},
- {"(*Int).SetUint64", Method, 1},
- {"(*Int).Sign", Method, 0},
- {"(*Int).Sqrt", Method, 8},
- {"(*Int).String", Method, 0},
- {"(*Int).Sub", Method, 0},
- {"(*Int).Text", Method, 6},
- {"(*Int).TrailingZeroBits", Method, 13},
- {"(*Int).Uint64", Method, 1},
- {"(*Int).UnmarshalJSON", Method, 1},
- {"(*Int).UnmarshalText", Method, 3},
- {"(*Int).Xor", Method, 0},
- {"(*Rat).Abs", Method, 0},
- {"(*Rat).Add", Method, 0},
- {"(*Rat).Cmp", Method, 0},
- {"(*Rat).Denom", Method, 0},
- {"(*Rat).Float32", Method, 4},
- {"(*Rat).Float64", Method, 1},
- {"(*Rat).FloatPrec", Method, 22},
- {"(*Rat).FloatString", Method, 0},
- {"(*Rat).GobDecode", Method, 0},
- {"(*Rat).GobEncode", Method, 0},
- {"(*Rat).Inv", Method, 0},
- {"(*Rat).IsInt", Method, 0},
- {"(*Rat).MarshalText", Method, 3},
- {"(*Rat).Mul", Method, 0},
- {"(*Rat).Neg", Method, 0},
- {"(*Rat).Num", Method, 0},
- {"(*Rat).Quo", Method, 0},
- {"(*Rat).RatString", Method, 0},
- {"(*Rat).Scan", Method, 0},
- {"(*Rat).Set", Method, 0},
- {"(*Rat).SetFloat64", Method, 1},
- {"(*Rat).SetFrac", Method, 0},
- {"(*Rat).SetFrac64", Method, 0},
- {"(*Rat).SetInt", Method, 0},
- {"(*Rat).SetInt64", Method, 0},
- {"(*Rat).SetString", Method, 0},
- {"(*Rat).SetUint64", Method, 13},
- {"(*Rat).Sign", Method, 0},
- {"(*Rat).String", Method, 0},
- {"(*Rat).Sub", Method, 0},
- {"(*Rat).UnmarshalText", Method, 3},
- {"(Accuracy).String", Method, 5},
- {"(ErrNaN).Error", Method, 5},
- {"(RoundingMode).String", Method, 5},
- {"Above", Const, 5},
- {"Accuracy", Type, 5},
- {"AwayFromZero", Const, 5},
- {"Below", Const, 5},
- {"ErrNaN", Type, 5},
- {"Exact", Const, 5},
- {"Float", Type, 5},
- {"Int", Type, 0},
- {"Jacobi", Func, 5},
- {"MaxBase", Const, 0},
- {"MaxExp", Const, 5},
- {"MaxPrec", Const, 5},
- {"MinExp", Const, 5},
- {"NewFloat", Func, 5},
- {"NewInt", Func, 0},
- {"NewRat", Func, 0},
- {"ParseFloat", Func, 5},
- {"Rat", Type, 0},
- {"RoundingMode", Type, 5},
- {"ToNearestAway", Const, 5},
- {"ToNearestEven", Const, 5},
- {"ToNegativeInf", Const, 5},
- {"ToPositiveInf", Const, 5},
- {"ToZero", Const, 5},
- {"Word", Type, 0},
- },
- "math/bits": {
- {"Add", Func, 12},
- {"Add32", Func, 12},
- {"Add64", Func, 12},
- {"Div", Func, 12},
- {"Div32", Func, 12},
- {"Div64", Func, 12},
- {"LeadingZeros", Func, 9},
- {"LeadingZeros16", Func, 9},
- {"LeadingZeros32", Func, 9},
- {"LeadingZeros64", Func, 9},
- {"LeadingZeros8", Func, 9},
- {"Len", Func, 9},
- {"Len16", Func, 9},
- {"Len32", Func, 9},
- {"Len64", Func, 9},
- {"Len8", Func, 9},
- {"Mul", Func, 12},
- {"Mul32", Func, 12},
- {"Mul64", Func, 12},
- {"OnesCount", Func, 9},
- {"OnesCount16", Func, 9},
- {"OnesCount32", Func, 9},
- {"OnesCount64", Func, 9},
- {"OnesCount8", Func, 9},
- {"Rem", Func, 14},
- {"Rem32", Func, 14},
- {"Rem64", Func, 14},
- {"Reverse", Func, 9},
- {"Reverse16", Func, 9},
- {"Reverse32", Func, 9},
- {"Reverse64", Func, 9},
- {"Reverse8", Func, 9},
- {"ReverseBytes", Func, 9},
- {"ReverseBytes16", Func, 9},
- {"ReverseBytes32", Func, 9},
- {"ReverseBytes64", Func, 9},
- {"RotateLeft", Func, 9},
- {"RotateLeft16", Func, 9},
- {"RotateLeft32", Func, 9},
- {"RotateLeft64", Func, 9},
- {"RotateLeft8", Func, 9},
- {"Sub", Func, 12},
- {"Sub32", Func, 12},
- {"Sub64", Func, 12},
- {"TrailingZeros", Func, 9},
- {"TrailingZeros16", Func, 9},
- {"TrailingZeros32", Func, 9},
- {"TrailingZeros64", Func, 9},
- {"TrailingZeros8", Func, 9},
- {"UintSize", Const, 9},
- },
- "math/cmplx": {
- {"Abs", Func, 0},
- {"Acos", Func, 0},
- {"Acosh", Func, 0},
- {"Asin", Func, 0},
- {"Asinh", Func, 0},
- {"Atan", Func, 0},
- {"Atanh", Func, 0},
- {"Conj", Func, 0},
- {"Cos", Func, 0},
- {"Cosh", Func, 0},
- {"Cot", Func, 0},
- {"Exp", Func, 0},
- {"Inf", Func, 0},
- {"IsInf", Func, 0},
- {"IsNaN", Func, 0},
- {"Log", Func, 0},
- {"Log10", Func, 0},
- {"NaN", Func, 0},
- {"Phase", Func, 0},
- {"Polar", Func, 0},
- {"Pow", Func, 0},
- {"Rect", Func, 0},
- {"Sin", Func, 0},
- {"Sinh", Func, 0},
- {"Sqrt", Func, 0},
- {"Tan", Func, 0},
- {"Tanh", Func, 0},
- },
- "math/rand": {
- {"(*Rand).ExpFloat64", Method, 0},
- {"(*Rand).Float32", Method, 0},
- {"(*Rand).Float64", Method, 0},
- {"(*Rand).Int", Method, 0},
- {"(*Rand).Int31", Method, 0},
- {"(*Rand).Int31n", Method, 0},
- {"(*Rand).Int63", Method, 0},
- {"(*Rand).Int63n", Method, 0},
- {"(*Rand).Intn", Method, 0},
- {"(*Rand).NormFloat64", Method, 0},
- {"(*Rand).Perm", Method, 0},
- {"(*Rand).Read", Method, 6},
- {"(*Rand).Seed", Method, 0},
- {"(*Rand).Shuffle", Method, 10},
- {"(*Rand).Uint32", Method, 0},
- {"(*Rand).Uint64", Method, 8},
- {"(*Zipf).Uint64", Method, 0},
- {"ExpFloat64", Func, 0},
- {"Float32", Func, 0},
- {"Float64", Func, 0},
- {"Int", Func, 0},
- {"Int31", Func, 0},
- {"Int31n", Func, 0},
- {"Int63", Func, 0},
- {"Int63n", Func, 0},
- {"Intn", Func, 0},
- {"New", Func, 0},
- {"NewSource", Func, 0},
- {"NewZipf", Func, 0},
- {"NormFloat64", Func, 0},
- {"Perm", Func, 0},
- {"Rand", Type, 0},
- {"Read", Func, 6},
- {"Seed", Func, 0},
- {"Shuffle", Func, 10},
- {"Source", Type, 0},
- {"Source64", Type, 8},
- {"Uint32", Func, 0},
- {"Uint64", Func, 8},
- {"Zipf", Type, 0},
- },
- "math/rand/v2": {
- {"(*ChaCha8).MarshalBinary", Method, 22},
- {"(*ChaCha8).Read", Method, 23},
- {"(*ChaCha8).Seed", Method, 22},
- {"(*ChaCha8).Uint64", Method, 22},
- {"(*ChaCha8).UnmarshalBinary", Method, 22},
- {"(*PCG).MarshalBinary", Method, 22},
- {"(*PCG).Seed", Method, 22},
- {"(*PCG).Uint64", Method, 22},
- {"(*PCG).UnmarshalBinary", Method, 22},
- {"(*Rand).ExpFloat64", Method, 22},
- {"(*Rand).Float32", Method, 22},
- {"(*Rand).Float64", Method, 22},
- {"(*Rand).Int", Method, 22},
- {"(*Rand).Int32", Method, 22},
- {"(*Rand).Int32N", Method, 22},
- {"(*Rand).Int64", Method, 22},
- {"(*Rand).Int64N", Method, 22},
- {"(*Rand).IntN", Method, 22},
- {"(*Rand).NormFloat64", Method, 22},
- {"(*Rand).Perm", Method, 22},
- {"(*Rand).Shuffle", Method, 22},
- {"(*Rand).Uint", Method, 23},
- {"(*Rand).Uint32", Method, 22},
- {"(*Rand).Uint32N", Method, 22},
- {"(*Rand).Uint64", Method, 22},
- {"(*Rand).Uint64N", Method, 22},
- {"(*Rand).UintN", Method, 22},
- {"(*Zipf).Uint64", Method, 22},
- {"ChaCha8", Type, 22},
- {"ExpFloat64", Func, 22},
- {"Float32", Func, 22},
- {"Float64", Func, 22},
- {"Int", Func, 22},
- {"Int32", Func, 22},
- {"Int32N", Func, 22},
- {"Int64", Func, 22},
- {"Int64N", Func, 22},
- {"IntN", Func, 22},
- {"N", Func, 22},
- {"New", Func, 22},
- {"NewChaCha8", Func, 22},
- {"NewPCG", Func, 22},
- {"NewZipf", Func, 22},
- {"NormFloat64", Func, 22},
- {"PCG", Type, 22},
- {"Perm", Func, 22},
- {"Rand", Type, 22},
- {"Shuffle", Func, 22},
- {"Source", Type, 22},
- {"Uint", Func, 23},
- {"Uint32", Func, 22},
- {"Uint32N", Func, 22},
- {"Uint64", Func, 22},
- {"Uint64N", Func, 22},
- {"UintN", Func, 22},
- {"Zipf", Type, 22},
- },
- "mime": {
- {"(*WordDecoder).Decode", Method, 5},
- {"(*WordDecoder).DecodeHeader", Method, 5},
- {"(WordEncoder).Encode", Method, 5},
- {"AddExtensionType", Func, 0},
- {"BEncoding", Const, 5},
- {"ErrInvalidMediaParameter", Var, 9},
- {"ExtensionsByType", Func, 5},
- {"FormatMediaType", Func, 0},
- {"ParseMediaType", Func, 0},
- {"QEncoding", Const, 5},
- {"TypeByExtension", Func, 0},
- {"WordDecoder", Type, 5},
- {"WordDecoder.CharsetReader", Field, 5},
- {"WordEncoder", Type, 5},
- },
- "mime/multipart": {
- {"(*FileHeader).Open", Method, 0},
- {"(*Form).RemoveAll", Method, 0},
- {"(*Part).Close", Method, 0},
- {"(*Part).FileName", Method, 0},
- {"(*Part).FormName", Method, 0},
- {"(*Part).Read", Method, 0},
- {"(*Reader).NextPart", Method, 0},
- {"(*Reader).NextRawPart", Method, 14},
- {"(*Reader).ReadForm", Method, 0},
- {"(*Writer).Boundary", Method, 0},
- {"(*Writer).Close", Method, 0},
- {"(*Writer).CreateFormField", Method, 0},
- {"(*Writer).CreateFormFile", Method, 0},
- {"(*Writer).CreatePart", Method, 0},
- {"(*Writer).FormDataContentType", Method, 0},
- {"(*Writer).SetBoundary", Method, 1},
- {"(*Writer).WriteField", Method, 0},
- {"ErrMessageTooLarge", Var, 9},
- {"File", Type, 0},
- {"FileHeader", Type, 0},
- {"FileHeader.Filename", Field, 0},
- {"FileHeader.Header", Field, 0},
- {"FileHeader.Size", Field, 9},
- {"Form", Type, 0},
- {"Form.File", Field, 0},
- {"Form.Value", Field, 0},
- {"NewReader", Func, 0},
- {"NewWriter", Func, 0},
- {"Part", Type, 0},
- {"Part.Header", Field, 0},
- {"Reader", Type, 0},
- {"Writer", Type, 0},
- },
- "mime/quotedprintable": {
- {"(*Reader).Read", Method, 5},
- {"(*Writer).Close", Method, 5},
- {"(*Writer).Write", Method, 5},
- {"NewReader", Func, 5},
- {"NewWriter", Func, 5},
- {"Reader", Type, 5},
- {"Writer", Type, 5},
- {"Writer.Binary", Field, 5},
- },
- "net": {
- {"(*AddrError).Error", Method, 0},
- {"(*AddrError).Temporary", Method, 0},
- {"(*AddrError).Timeout", Method, 0},
- {"(*Buffers).Read", Method, 8},
- {"(*Buffers).WriteTo", Method, 8},
- {"(*DNSConfigError).Error", Method, 0},
- {"(*DNSConfigError).Temporary", Method, 0},
- {"(*DNSConfigError).Timeout", Method, 0},
- {"(*DNSConfigError).Unwrap", Method, 13},
- {"(*DNSError).Error", Method, 0},
- {"(*DNSError).Temporary", Method, 0},
- {"(*DNSError).Timeout", Method, 0},
- {"(*DNSError).Unwrap", Method, 23},
- {"(*Dialer).Dial", Method, 1},
- {"(*Dialer).DialContext", Method, 7},
- {"(*Dialer).MultipathTCP", Method, 21},
- {"(*Dialer).SetMultipathTCP", Method, 21},
- {"(*IP).UnmarshalText", Method, 2},
- {"(*IPAddr).Network", Method, 0},
- {"(*IPAddr).String", Method, 0},
- {"(*IPConn).Close", Method, 0},
- {"(*IPConn).File", Method, 0},
- {"(*IPConn).LocalAddr", Method, 0},
- {"(*IPConn).Read", Method, 0},
- {"(*IPConn).ReadFrom", Method, 0},
- {"(*IPConn).ReadFromIP", Method, 0},
- {"(*IPConn).ReadMsgIP", Method, 1},
- {"(*IPConn).RemoteAddr", Method, 0},
- {"(*IPConn).SetDeadline", Method, 0},
- {"(*IPConn).SetReadBuffer", Method, 0},
- {"(*IPConn).SetReadDeadline", Method, 0},
- {"(*IPConn).SetWriteBuffer", Method, 0},
- {"(*IPConn).SetWriteDeadline", Method, 0},
- {"(*IPConn).SyscallConn", Method, 9},
- {"(*IPConn).Write", Method, 0},
- {"(*IPConn).WriteMsgIP", Method, 1},
- {"(*IPConn).WriteTo", Method, 0},
- {"(*IPConn).WriteToIP", Method, 0},
- {"(*IPNet).Contains", Method, 0},
- {"(*IPNet).Network", Method, 0},
- {"(*IPNet).String", Method, 0},
- {"(*Interface).Addrs", Method, 0},
- {"(*Interface).MulticastAddrs", Method, 0},
- {"(*ListenConfig).Listen", Method, 11},
- {"(*ListenConfig).ListenPacket", Method, 11},
- {"(*ListenConfig).MultipathTCP", Method, 21},
- {"(*ListenConfig).SetMultipathTCP", Method, 21},
- {"(*OpError).Error", Method, 0},
- {"(*OpError).Temporary", Method, 0},
- {"(*OpError).Timeout", Method, 0},
- {"(*OpError).Unwrap", Method, 13},
- {"(*ParseError).Error", Method, 0},
- {"(*ParseError).Temporary", Method, 17},
- {"(*ParseError).Timeout", Method, 17},
- {"(*Resolver).LookupAddr", Method, 8},
- {"(*Resolver).LookupCNAME", Method, 8},
- {"(*Resolver).LookupHost", Method, 8},
- {"(*Resolver).LookupIP", Method, 15},
- {"(*Resolver).LookupIPAddr", Method, 8},
- {"(*Resolver).LookupMX", Method, 8},
- {"(*Resolver).LookupNS", Method, 8},
- {"(*Resolver).LookupNetIP", Method, 18},
- {"(*Resolver).LookupPort", Method, 8},
- {"(*Resolver).LookupSRV", Method, 8},
- {"(*Resolver).LookupTXT", Method, 8},
- {"(*TCPAddr).AddrPort", Method, 18},
- {"(*TCPAddr).Network", Method, 0},
- {"(*TCPAddr).String", Method, 0},
- {"(*TCPConn).Close", Method, 0},
- {"(*TCPConn).CloseRead", Method, 0},
- {"(*TCPConn).CloseWrite", Method, 0},
- {"(*TCPConn).File", Method, 0},
- {"(*TCPConn).LocalAddr", Method, 0},
- {"(*TCPConn).MultipathTCP", Method, 21},
- {"(*TCPConn).Read", Method, 0},
- {"(*TCPConn).ReadFrom", Method, 0},
- {"(*TCPConn).RemoteAddr", Method, 0},
- {"(*TCPConn).SetDeadline", Method, 0},
- {"(*TCPConn).SetKeepAlive", Method, 0},
- {"(*TCPConn).SetKeepAliveConfig", Method, 23},
- {"(*TCPConn).SetKeepAlivePeriod", Method, 2},
- {"(*TCPConn).SetLinger", Method, 0},
- {"(*TCPConn).SetNoDelay", Method, 0},
- {"(*TCPConn).SetReadBuffer", Method, 0},
- {"(*TCPConn).SetReadDeadline", Method, 0},
- {"(*TCPConn).SetWriteBuffer", Method, 0},
- {"(*TCPConn).SetWriteDeadline", Method, 0},
- {"(*TCPConn).SyscallConn", Method, 9},
- {"(*TCPConn).Write", Method, 0},
- {"(*TCPConn).WriteTo", Method, 22},
- {"(*TCPListener).Accept", Method, 0},
- {"(*TCPListener).AcceptTCP", Method, 0},
- {"(*TCPListener).Addr", Method, 0},
- {"(*TCPListener).Close", Method, 0},
- {"(*TCPListener).File", Method, 0},
- {"(*TCPListener).SetDeadline", Method, 0},
- {"(*TCPListener).SyscallConn", Method, 10},
- {"(*UDPAddr).AddrPort", Method, 18},
- {"(*UDPAddr).Network", Method, 0},
- {"(*UDPAddr).String", Method, 0},
- {"(*UDPConn).Close", Method, 0},
- {"(*UDPConn).File", Method, 0},
- {"(*UDPConn).LocalAddr", Method, 0},
- {"(*UDPConn).Read", Method, 0},
- {"(*UDPConn).ReadFrom", Method, 0},
- {"(*UDPConn).ReadFromUDP", Method, 0},
- {"(*UDPConn).ReadFromUDPAddrPort", Method, 18},
- {"(*UDPConn).ReadMsgUDP", Method, 1},
- {"(*UDPConn).ReadMsgUDPAddrPort", Method, 18},
- {"(*UDPConn).RemoteAddr", Method, 0},
- {"(*UDPConn).SetDeadline", Method, 0},
- {"(*UDPConn).SetReadBuffer", Method, 0},
- {"(*UDPConn).SetReadDeadline", Method, 0},
- {"(*UDPConn).SetWriteBuffer", Method, 0},
- {"(*UDPConn).SetWriteDeadline", Method, 0},
- {"(*UDPConn).SyscallConn", Method, 9},
- {"(*UDPConn).Write", Method, 0},
- {"(*UDPConn).WriteMsgUDP", Method, 1},
- {"(*UDPConn).WriteMsgUDPAddrPort", Method, 18},
- {"(*UDPConn).WriteTo", Method, 0},
- {"(*UDPConn).WriteToUDP", Method, 0},
- {"(*UDPConn).WriteToUDPAddrPort", Method, 18},
- {"(*UnixAddr).Network", Method, 0},
- {"(*UnixAddr).String", Method, 0},
- {"(*UnixConn).Close", Method, 0},
- {"(*UnixConn).CloseRead", Method, 1},
- {"(*UnixConn).CloseWrite", Method, 1},
- {"(*UnixConn).File", Method, 0},
- {"(*UnixConn).LocalAddr", Method, 0},
- {"(*UnixConn).Read", Method, 0},
- {"(*UnixConn).ReadFrom", Method, 0},
- {"(*UnixConn).ReadFromUnix", Method, 0},
- {"(*UnixConn).ReadMsgUnix", Method, 0},
- {"(*UnixConn).RemoteAddr", Method, 0},
- {"(*UnixConn).SetDeadline", Method, 0},
- {"(*UnixConn).SetReadBuffer", Method, 0},
- {"(*UnixConn).SetReadDeadline", Method, 0},
- {"(*UnixConn).SetWriteBuffer", Method, 0},
- {"(*UnixConn).SetWriteDeadline", Method, 0},
- {"(*UnixConn).SyscallConn", Method, 9},
- {"(*UnixConn).Write", Method, 0},
- {"(*UnixConn).WriteMsgUnix", Method, 0},
- {"(*UnixConn).WriteTo", Method, 0},
- {"(*UnixConn).WriteToUnix", Method, 0},
- {"(*UnixListener).Accept", Method, 0},
- {"(*UnixListener).AcceptUnix", Method, 0},
- {"(*UnixListener).Addr", Method, 0},
- {"(*UnixListener).Close", Method, 0},
- {"(*UnixListener).File", Method, 0},
- {"(*UnixListener).SetDeadline", Method, 0},
- {"(*UnixListener).SetUnlinkOnClose", Method, 8},
- {"(*UnixListener).SyscallConn", Method, 10},
- {"(Flags).String", Method, 0},
- {"(HardwareAddr).String", Method, 0},
- {"(IP).DefaultMask", Method, 0},
- {"(IP).Equal", Method, 0},
- {"(IP).IsGlobalUnicast", Method, 0},
- {"(IP).IsInterfaceLocalMulticast", Method, 0},
- {"(IP).IsLinkLocalMulticast", Method, 0},
- {"(IP).IsLinkLocalUnicast", Method, 0},
- {"(IP).IsLoopback", Method, 0},
- {"(IP).IsMulticast", Method, 0},
- {"(IP).IsPrivate", Method, 17},
- {"(IP).IsUnspecified", Method, 0},
- {"(IP).MarshalText", Method, 2},
- {"(IP).Mask", Method, 0},
- {"(IP).String", Method, 0},
- {"(IP).To16", Method, 0},
- {"(IP).To4", Method, 0},
- {"(IPMask).Size", Method, 0},
- {"(IPMask).String", Method, 0},
- {"(InvalidAddrError).Error", Method, 0},
- {"(InvalidAddrError).Temporary", Method, 0},
- {"(InvalidAddrError).Timeout", Method, 0},
- {"(UnknownNetworkError).Error", Method, 0},
- {"(UnknownNetworkError).Temporary", Method, 0},
- {"(UnknownNetworkError).Timeout", Method, 0},
- {"Addr", Type, 0},
- {"AddrError", Type, 0},
- {"AddrError.Addr", Field, 0},
- {"AddrError.Err", Field, 0},
- {"Buffers", Type, 8},
- {"CIDRMask", Func, 0},
- {"Conn", Type, 0},
- {"DNSConfigError", Type, 0},
- {"DNSConfigError.Err", Field, 0},
- {"DNSError", Type, 0},
- {"DNSError.Err", Field, 0},
- {"DNSError.IsNotFound", Field, 13},
- {"DNSError.IsTemporary", Field, 6},
- {"DNSError.IsTimeout", Field, 0},
- {"DNSError.Name", Field, 0},
- {"DNSError.Server", Field, 0},
- {"DNSError.UnwrapErr", Field, 23},
- {"DefaultResolver", Var, 8},
- {"Dial", Func, 0},
- {"DialIP", Func, 0},
- {"DialTCP", Func, 0},
- {"DialTimeout", Func, 0},
- {"DialUDP", Func, 0},
- {"DialUnix", Func, 0},
- {"Dialer", Type, 1},
- {"Dialer.Cancel", Field, 6},
- {"Dialer.Control", Field, 11},
- {"Dialer.ControlContext", Field, 20},
- {"Dialer.Deadline", Field, 1},
- {"Dialer.DualStack", Field, 2},
- {"Dialer.FallbackDelay", Field, 5},
- {"Dialer.KeepAlive", Field, 3},
- {"Dialer.KeepAliveConfig", Field, 23},
- {"Dialer.LocalAddr", Field, 1},
- {"Dialer.Resolver", Field, 8},
- {"Dialer.Timeout", Field, 1},
- {"ErrClosed", Var, 16},
- {"ErrWriteToConnected", Var, 0},
- {"Error", Type, 0},
- {"FileConn", Func, 0},
- {"FileListener", Func, 0},
- {"FilePacketConn", Func, 0},
- {"FlagBroadcast", Const, 0},
- {"FlagLoopback", Const, 0},
- {"FlagMulticast", Const, 0},
- {"FlagPointToPoint", Const, 0},
- {"FlagRunning", Const, 20},
- {"FlagUp", Const, 0},
- {"Flags", Type, 0},
- {"HardwareAddr", Type, 0},
- {"IP", Type, 0},
- {"IPAddr", Type, 0},
- {"IPAddr.IP", Field, 0},
- {"IPAddr.Zone", Field, 1},
- {"IPConn", Type, 0},
- {"IPMask", Type, 0},
- {"IPNet", Type, 0},
- {"IPNet.IP", Field, 0},
- {"IPNet.Mask", Field, 0},
- {"IPv4", Func, 0},
- {"IPv4Mask", Func, 0},
- {"IPv4allrouter", Var, 0},
- {"IPv4allsys", Var, 0},
- {"IPv4bcast", Var, 0},
- {"IPv4len", Const, 0},
- {"IPv4zero", Var, 0},
- {"IPv6interfacelocalallnodes", Var, 0},
- {"IPv6len", Const, 0},
- {"IPv6linklocalallnodes", Var, 0},
- {"IPv6linklocalallrouters", Var, 0},
- {"IPv6loopback", Var, 0},
- {"IPv6unspecified", Var, 0},
- {"IPv6zero", Var, 0},
- {"Interface", Type, 0},
- {"Interface.Flags", Field, 0},
- {"Interface.HardwareAddr", Field, 0},
- {"Interface.Index", Field, 0},
- {"Interface.MTU", Field, 0},
- {"Interface.Name", Field, 0},
- {"InterfaceAddrs", Func, 0},
- {"InterfaceByIndex", Func, 0},
- {"InterfaceByName", Func, 0},
- {"Interfaces", Func, 0},
- {"InvalidAddrError", Type, 0},
- {"JoinHostPort", Func, 0},
- {"KeepAliveConfig", Type, 23},
- {"KeepAliveConfig.Count", Field, 23},
- {"KeepAliveConfig.Enable", Field, 23},
- {"KeepAliveConfig.Idle", Field, 23},
- {"KeepAliveConfig.Interval", Field, 23},
- {"Listen", Func, 0},
- {"ListenConfig", Type, 11},
- {"ListenConfig.Control", Field, 11},
- {"ListenConfig.KeepAlive", Field, 13},
- {"ListenConfig.KeepAliveConfig", Field, 23},
- {"ListenIP", Func, 0},
- {"ListenMulticastUDP", Func, 0},
- {"ListenPacket", Func, 0},
- {"ListenTCP", Func, 0},
- {"ListenUDP", Func, 0},
- {"ListenUnix", Func, 0},
- {"ListenUnixgram", Func, 0},
- {"Listener", Type, 0},
- {"LookupAddr", Func, 0},
- {"LookupCNAME", Func, 0},
- {"LookupHost", Func, 0},
- {"LookupIP", Func, 0},
- {"LookupMX", Func, 0},
- {"LookupNS", Func, 1},
- {"LookupPort", Func, 0},
- {"LookupSRV", Func, 0},
- {"LookupTXT", Func, 0},
- {"MX", Type, 0},
- {"MX.Host", Field, 0},
- {"MX.Pref", Field, 0},
- {"NS", Type, 1},
- {"NS.Host", Field, 1},
- {"OpError", Type, 0},
- {"OpError.Addr", Field, 0},
- {"OpError.Err", Field, 0},
- {"OpError.Net", Field, 0},
- {"OpError.Op", Field, 0},
- {"OpError.Source", Field, 5},
- {"PacketConn", Type, 0},
- {"ParseCIDR", Func, 0},
- {"ParseError", Type, 0},
- {"ParseError.Text", Field, 0},
- {"ParseError.Type", Field, 0},
- {"ParseIP", Func, 0},
- {"ParseMAC", Func, 0},
- {"Pipe", Func, 0},
- {"ResolveIPAddr", Func, 0},
- {"ResolveTCPAddr", Func, 0},
- {"ResolveUDPAddr", Func, 0},
- {"ResolveUnixAddr", Func, 0},
- {"Resolver", Type, 8},
- {"Resolver.Dial", Field, 9},
- {"Resolver.PreferGo", Field, 8},
- {"Resolver.StrictErrors", Field, 9},
- {"SRV", Type, 0},
- {"SRV.Port", Field, 0},
- {"SRV.Priority", Field, 0},
- {"SRV.Target", Field, 0},
- {"SRV.Weight", Field, 0},
- {"SplitHostPort", Func, 0},
- {"TCPAddr", Type, 0},
- {"TCPAddr.IP", Field, 0},
- {"TCPAddr.Port", Field, 0},
- {"TCPAddr.Zone", Field, 1},
- {"TCPAddrFromAddrPort", Func, 18},
- {"TCPConn", Type, 0},
- {"TCPListener", Type, 0},
- {"UDPAddr", Type, 0},
- {"UDPAddr.IP", Field, 0},
- {"UDPAddr.Port", Field, 0},
- {"UDPAddr.Zone", Field, 1},
- {"UDPAddrFromAddrPort", Func, 18},
- {"UDPConn", Type, 0},
- {"UnixAddr", Type, 0},
- {"UnixAddr.Name", Field, 0},
- {"UnixAddr.Net", Field, 0},
- {"UnixConn", Type, 0},
- {"UnixListener", Type, 0},
- {"UnknownNetworkError", Type, 0},
- },
- "net/http": {
- {"(*Client).CloseIdleConnections", Method, 12},
- {"(*Client).Do", Method, 0},
- {"(*Client).Get", Method, 0},
- {"(*Client).Head", Method, 0},
- {"(*Client).Post", Method, 0},
- {"(*Client).PostForm", Method, 0},
- {"(*Cookie).String", Method, 0},
- {"(*Cookie).Valid", Method, 18},
- {"(*MaxBytesError).Error", Method, 19},
- {"(*ProtocolError).Error", Method, 0},
- {"(*ProtocolError).Is", Method, 21},
- {"(*Request).AddCookie", Method, 0},
- {"(*Request).BasicAuth", Method, 4},
- {"(*Request).Clone", Method, 13},
- {"(*Request).Context", Method, 7},
- {"(*Request).Cookie", Method, 0},
- {"(*Request).Cookies", Method, 0},
- {"(*Request).CookiesNamed", Method, 23},
- {"(*Request).FormFile", Method, 0},
- {"(*Request).FormValue", Method, 0},
- {"(*Request).MultipartReader", Method, 0},
- {"(*Request).ParseForm", Method, 0},
- {"(*Request).ParseMultipartForm", Method, 0},
- {"(*Request).PathValue", Method, 22},
- {"(*Request).PostFormValue", Method, 1},
- {"(*Request).ProtoAtLeast", Method, 0},
- {"(*Request).Referer", Method, 0},
- {"(*Request).SetBasicAuth", Method, 0},
- {"(*Request).SetPathValue", Method, 22},
- {"(*Request).UserAgent", Method, 0},
- {"(*Request).WithContext", Method, 7},
- {"(*Request).Write", Method, 0},
- {"(*Request).WriteProxy", Method, 0},
- {"(*Response).Cookies", Method, 0},
- {"(*Response).Location", Method, 0},
- {"(*Response).ProtoAtLeast", Method, 0},
- {"(*Response).Write", Method, 0},
- {"(*ResponseController).EnableFullDuplex", Method, 21},
- {"(*ResponseController).Flush", Method, 20},
- {"(*ResponseController).Hijack", Method, 20},
- {"(*ResponseController).SetReadDeadline", Method, 20},
- {"(*ResponseController).SetWriteDeadline", Method, 20},
- {"(*ServeMux).Handle", Method, 0},
- {"(*ServeMux).HandleFunc", Method, 0},
- {"(*ServeMux).Handler", Method, 1},
- {"(*ServeMux).ServeHTTP", Method, 0},
- {"(*Server).Close", Method, 8},
- {"(*Server).ListenAndServe", Method, 0},
- {"(*Server).ListenAndServeTLS", Method, 0},
- {"(*Server).RegisterOnShutdown", Method, 9},
- {"(*Server).Serve", Method, 0},
- {"(*Server).ServeTLS", Method, 9},
- {"(*Server).SetKeepAlivesEnabled", Method, 3},
- {"(*Server).Shutdown", Method, 8},
- {"(*Transport).CancelRequest", Method, 1},
- {"(*Transport).Clone", Method, 13},
- {"(*Transport).CloseIdleConnections", Method, 0},
- {"(*Transport).RegisterProtocol", Method, 0},
- {"(*Transport).RoundTrip", Method, 0},
- {"(ConnState).String", Method, 3},
- {"(Dir).Open", Method, 0},
- {"(HandlerFunc).ServeHTTP", Method, 0},
- {"(Header).Add", Method, 0},
- {"(Header).Clone", Method, 13},
- {"(Header).Del", Method, 0},
- {"(Header).Get", Method, 0},
- {"(Header).Set", Method, 0},
- {"(Header).Values", Method, 14},
- {"(Header).Write", Method, 0},
- {"(Header).WriteSubset", Method, 0},
- {"AllowQuerySemicolons", Func, 17},
- {"CanonicalHeaderKey", Func, 0},
- {"Client", Type, 0},
- {"Client.CheckRedirect", Field, 0},
- {"Client.Jar", Field, 0},
- {"Client.Timeout", Field, 3},
- {"Client.Transport", Field, 0},
- {"CloseNotifier", Type, 1},
- {"ConnState", Type, 3},
- {"Cookie", Type, 0},
- {"Cookie.Domain", Field, 0},
- {"Cookie.Expires", Field, 0},
- {"Cookie.HttpOnly", Field, 0},
- {"Cookie.MaxAge", Field, 0},
- {"Cookie.Name", Field, 0},
- {"Cookie.Partitioned", Field, 23},
- {"Cookie.Path", Field, 0},
- {"Cookie.Quoted", Field, 23},
- {"Cookie.Raw", Field, 0},
- {"Cookie.RawExpires", Field, 0},
- {"Cookie.SameSite", Field, 11},
- {"Cookie.Secure", Field, 0},
- {"Cookie.Unparsed", Field, 0},
- {"Cookie.Value", Field, 0},
- {"CookieJar", Type, 0},
- {"DefaultClient", Var, 0},
- {"DefaultMaxHeaderBytes", Const, 0},
- {"DefaultMaxIdleConnsPerHost", Const, 0},
- {"DefaultServeMux", Var, 0},
- {"DefaultTransport", Var, 0},
- {"DetectContentType", Func, 0},
- {"Dir", Type, 0},
- {"ErrAbortHandler", Var, 8},
- {"ErrBodyNotAllowed", Var, 0},
- {"ErrBodyReadAfterClose", Var, 0},
- {"ErrContentLength", Var, 0},
- {"ErrHandlerTimeout", Var, 0},
- {"ErrHeaderTooLong", Var, 0},
- {"ErrHijacked", Var, 0},
- {"ErrLineTooLong", Var, 0},
- {"ErrMissingBoundary", Var, 0},
- {"ErrMissingContentLength", Var, 0},
- {"ErrMissingFile", Var, 0},
- {"ErrNoCookie", Var, 0},
- {"ErrNoLocation", Var, 0},
- {"ErrNotMultipart", Var, 0},
- {"ErrNotSupported", Var, 0},
- {"ErrSchemeMismatch", Var, 21},
- {"ErrServerClosed", Var, 8},
- {"ErrShortBody", Var, 0},
- {"ErrSkipAltProtocol", Var, 6},
- {"ErrUnexpectedTrailer", Var, 0},
- {"ErrUseLastResponse", Var, 7},
- {"ErrWriteAfterFlush", Var, 0},
- {"Error", Func, 0},
- {"FS", Func, 16},
- {"File", Type, 0},
- {"FileServer", Func, 0},
- {"FileServerFS", Func, 22},
- {"FileSystem", Type, 0},
- {"Flusher", Type, 0},
- {"Get", Func, 0},
- {"Handle", Func, 0},
- {"HandleFunc", Func, 0},
- {"Handler", Type, 0},
- {"HandlerFunc", Type, 0},
- {"Head", Func, 0},
- {"Header", Type, 0},
- {"Hijacker", Type, 0},
- {"ListenAndServe", Func, 0},
- {"ListenAndServeTLS", Func, 0},
- {"LocalAddrContextKey", Var, 7},
- {"MaxBytesError", Type, 19},
- {"MaxBytesError.Limit", Field, 19},
- {"MaxBytesHandler", Func, 18},
- {"MaxBytesReader", Func, 0},
- {"MethodConnect", Const, 6},
- {"MethodDelete", Const, 6},
- {"MethodGet", Const, 6},
- {"MethodHead", Const, 6},
- {"MethodOptions", Const, 6},
- {"MethodPatch", Const, 6},
- {"MethodPost", Const, 6},
- {"MethodPut", Const, 6},
- {"MethodTrace", Const, 6},
- {"NewFileTransport", Func, 0},
- {"NewFileTransportFS", Func, 22},
- {"NewRequest", Func, 0},
- {"NewRequestWithContext", Func, 13},
- {"NewResponseController", Func, 20},
- {"NewServeMux", Func, 0},
- {"NoBody", Var, 8},
- {"NotFound", Func, 0},
- {"NotFoundHandler", Func, 0},
- {"ParseCookie", Func, 23},
- {"ParseHTTPVersion", Func, 0},
- {"ParseSetCookie", Func, 23},
- {"ParseTime", Func, 1},
- {"Post", Func, 0},
- {"PostForm", Func, 0},
- {"ProtocolError", Type, 0},
- {"ProtocolError.ErrorString", Field, 0},
- {"ProxyFromEnvironment", Func, 0},
- {"ProxyURL", Func, 0},
- {"PushOptions", Type, 8},
- {"PushOptions.Header", Field, 8},
- {"PushOptions.Method", Field, 8},
- {"Pusher", Type, 8},
- {"ReadRequest", Func, 0},
- {"ReadResponse", Func, 0},
- {"Redirect", Func, 0},
- {"RedirectHandler", Func, 0},
- {"Request", Type, 0},
- {"Request.Body", Field, 0},
- {"Request.Cancel", Field, 5},
- {"Request.Close", Field, 0},
- {"Request.ContentLength", Field, 0},
- {"Request.Form", Field, 0},
- {"Request.GetBody", Field, 8},
- {"Request.Header", Field, 0},
- {"Request.Host", Field, 0},
- {"Request.Method", Field, 0},
- {"Request.MultipartForm", Field, 0},
- {"Request.Pattern", Field, 23},
- {"Request.PostForm", Field, 1},
- {"Request.Proto", Field, 0},
- {"Request.ProtoMajor", Field, 0},
- {"Request.ProtoMinor", Field, 0},
- {"Request.RemoteAddr", Field, 0},
- {"Request.RequestURI", Field, 0},
- {"Request.Response", Field, 7},
- {"Request.TLS", Field, 0},
- {"Request.Trailer", Field, 0},
- {"Request.TransferEncoding", Field, 0},
- {"Request.URL", Field, 0},
- {"Response", Type, 0},
- {"Response.Body", Field, 0},
- {"Response.Close", Field, 0},
- {"Response.ContentLength", Field, 0},
- {"Response.Header", Field, 0},
- {"Response.Proto", Field, 0},
- {"Response.ProtoMajor", Field, 0},
- {"Response.ProtoMinor", Field, 0},
- {"Response.Request", Field, 0},
- {"Response.Status", Field, 0},
- {"Response.StatusCode", Field, 0},
- {"Response.TLS", Field, 3},
- {"Response.Trailer", Field, 0},
- {"Response.TransferEncoding", Field, 0},
- {"Response.Uncompressed", Field, 7},
- {"ResponseController", Type, 20},
- {"ResponseWriter", Type, 0},
- {"RoundTripper", Type, 0},
- {"SameSite", Type, 11},
- {"SameSiteDefaultMode", Const, 11},
- {"SameSiteLaxMode", Const, 11},
- {"SameSiteNoneMode", Const, 13},
- {"SameSiteStrictMode", Const, 11},
- {"Serve", Func, 0},
- {"ServeContent", Func, 0},
- {"ServeFile", Func, 0},
- {"ServeFileFS", Func, 22},
- {"ServeMux", Type, 0},
- {"ServeTLS", Func, 9},
- {"Server", Type, 0},
- {"Server.Addr", Field, 0},
- {"Server.BaseContext", Field, 13},
- {"Server.ConnContext", Field, 13},
- {"Server.ConnState", Field, 3},
- {"Server.DisableGeneralOptionsHandler", Field, 20},
- {"Server.ErrorLog", Field, 3},
- {"Server.Handler", Field, 0},
- {"Server.IdleTimeout", Field, 8},
- {"Server.MaxHeaderBytes", Field, 0},
- {"Server.ReadHeaderTimeout", Field, 8},
- {"Server.ReadTimeout", Field, 0},
- {"Server.TLSConfig", Field, 0},
- {"Server.TLSNextProto", Field, 1},
- {"Server.WriteTimeout", Field, 0},
- {"ServerContextKey", Var, 7},
- {"SetCookie", Func, 0},
- {"StateActive", Const, 3},
- {"StateClosed", Const, 3},
- {"StateHijacked", Const, 3},
- {"StateIdle", Const, 3},
- {"StateNew", Const, 3},
- {"StatusAccepted", Const, 0},
- {"StatusAlreadyReported", Const, 7},
- {"StatusBadGateway", Const, 0},
- {"StatusBadRequest", Const, 0},
- {"StatusConflict", Const, 0},
- {"StatusContinue", Const, 0},
- {"StatusCreated", Const, 0},
- {"StatusEarlyHints", Const, 13},
- {"StatusExpectationFailed", Const, 0},
- {"StatusFailedDependency", Const, 7},
- {"StatusForbidden", Const, 0},
- {"StatusFound", Const, 0},
- {"StatusGatewayTimeout", Const, 0},
- {"StatusGone", Const, 0},
- {"StatusHTTPVersionNotSupported", Const, 0},
- {"StatusIMUsed", Const, 7},
- {"StatusInsufficientStorage", Const, 7},
- {"StatusInternalServerError", Const, 0},
- {"StatusLengthRequired", Const, 0},
- {"StatusLocked", Const, 7},
- {"StatusLoopDetected", Const, 7},
- {"StatusMethodNotAllowed", Const, 0},
- {"StatusMisdirectedRequest", Const, 11},
- {"StatusMovedPermanently", Const, 0},
- {"StatusMultiStatus", Const, 7},
- {"StatusMultipleChoices", Const, 0},
- {"StatusNetworkAuthenticationRequired", Const, 6},
- {"StatusNoContent", Const, 0},
- {"StatusNonAuthoritativeInfo", Const, 0},
- {"StatusNotAcceptable", Const, 0},
- {"StatusNotExtended", Const, 7},
- {"StatusNotFound", Const, 0},
- {"StatusNotImplemented", Const, 0},
- {"StatusNotModified", Const, 0},
- {"StatusOK", Const, 0},
- {"StatusPartialContent", Const, 0},
- {"StatusPaymentRequired", Const, 0},
- {"StatusPermanentRedirect", Const, 7},
- {"StatusPreconditionFailed", Const, 0},
- {"StatusPreconditionRequired", Const, 6},
- {"StatusProcessing", Const, 7},
- {"StatusProxyAuthRequired", Const, 0},
- {"StatusRequestEntityTooLarge", Const, 0},
- {"StatusRequestHeaderFieldsTooLarge", Const, 6},
- {"StatusRequestTimeout", Const, 0},
- {"StatusRequestURITooLong", Const, 0},
- {"StatusRequestedRangeNotSatisfiable", Const, 0},
- {"StatusResetContent", Const, 0},
- {"StatusSeeOther", Const, 0},
- {"StatusServiceUnavailable", Const, 0},
- {"StatusSwitchingProtocols", Const, 0},
- {"StatusTeapot", Const, 0},
- {"StatusTemporaryRedirect", Const, 0},
- {"StatusText", Func, 0},
- {"StatusTooEarly", Const, 12},
- {"StatusTooManyRequests", Const, 6},
- {"StatusUnauthorized", Const, 0},
- {"StatusUnavailableForLegalReasons", Const, 6},
- {"StatusUnprocessableEntity", Const, 7},
- {"StatusUnsupportedMediaType", Const, 0},
- {"StatusUpgradeRequired", Const, 7},
- {"StatusUseProxy", Const, 0},
- {"StatusVariantAlsoNegotiates", Const, 7},
- {"StripPrefix", Func, 0},
- {"TimeFormat", Const, 0},
- {"TimeoutHandler", Func, 0},
- {"TrailerPrefix", Const, 8},
- {"Transport", Type, 0},
- {"Transport.Dial", Field, 0},
- {"Transport.DialContext", Field, 7},
- {"Transport.DialTLS", Field, 4},
- {"Transport.DialTLSContext", Field, 14},
- {"Transport.DisableCompression", Field, 0},
- {"Transport.DisableKeepAlives", Field, 0},
- {"Transport.ExpectContinueTimeout", Field, 6},
- {"Transport.ForceAttemptHTTP2", Field, 13},
- {"Transport.GetProxyConnectHeader", Field, 16},
- {"Transport.IdleConnTimeout", Field, 7},
- {"Transport.MaxConnsPerHost", Field, 11},
- {"Transport.MaxIdleConns", Field, 7},
- {"Transport.MaxIdleConnsPerHost", Field, 0},
- {"Transport.MaxResponseHeaderBytes", Field, 7},
- {"Transport.OnProxyConnectResponse", Field, 20},
- {"Transport.Proxy", Field, 0},
- {"Transport.ProxyConnectHeader", Field, 8},
- {"Transport.ReadBufferSize", Field, 13},
- {"Transport.ResponseHeaderTimeout", Field, 1},
- {"Transport.TLSClientConfig", Field, 0},
- {"Transport.TLSHandshakeTimeout", Field, 3},
- {"Transport.TLSNextProto", Field, 6},
- {"Transport.WriteBufferSize", Field, 13},
- },
- "net/http/cgi": {
- {"(*Handler).ServeHTTP", Method, 0},
- {"Handler", Type, 0},
- {"Handler.Args", Field, 0},
- {"Handler.Dir", Field, 0},
- {"Handler.Env", Field, 0},
- {"Handler.InheritEnv", Field, 0},
- {"Handler.Logger", Field, 0},
- {"Handler.Path", Field, 0},
- {"Handler.PathLocationHandler", Field, 0},
- {"Handler.Root", Field, 0},
- {"Handler.Stderr", Field, 7},
- {"Request", Func, 0},
- {"RequestFromMap", Func, 0},
- {"Serve", Func, 0},
- },
- "net/http/cookiejar": {
- {"(*Jar).Cookies", Method, 1},
- {"(*Jar).SetCookies", Method, 1},
- {"Jar", Type, 1},
- {"New", Func, 1},
- {"Options", Type, 1},
- {"Options.PublicSuffixList", Field, 1},
- {"PublicSuffixList", Type, 1},
- },
- "net/http/fcgi": {
- {"ErrConnClosed", Var, 5},
- {"ErrRequestAborted", Var, 5},
- {"ProcessEnv", Func, 9},
- {"Serve", Func, 0},
- },
- "net/http/httptest": {
- {"(*ResponseRecorder).Flush", Method, 0},
- {"(*ResponseRecorder).Header", Method, 0},
- {"(*ResponseRecorder).Result", Method, 7},
- {"(*ResponseRecorder).Write", Method, 0},
- {"(*ResponseRecorder).WriteHeader", Method, 0},
- {"(*ResponseRecorder).WriteString", Method, 6},
- {"(*Server).Certificate", Method, 9},
- {"(*Server).Client", Method, 9},
- {"(*Server).Close", Method, 0},
- {"(*Server).CloseClientConnections", Method, 0},
- {"(*Server).Start", Method, 0},
- {"(*Server).StartTLS", Method, 0},
- {"DefaultRemoteAddr", Const, 0},
- {"NewRecorder", Func, 0},
- {"NewRequest", Func, 7},
- {"NewRequestWithContext", Func, 23},
- {"NewServer", Func, 0},
- {"NewTLSServer", Func, 0},
- {"NewUnstartedServer", Func, 0},
- {"ResponseRecorder", Type, 0},
- {"ResponseRecorder.Body", Field, 0},
- {"ResponseRecorder.Code", Field, 0},
- {"ResponseRecorder.Flushed", Field, 0},
- {"ResponseRecorder.HeaderMap", Field, 0},
- {"Server", Type, 0},
- {"Server.Config", Field, 0},
- {"Server.EnableHTTP2", Field, 14},
- {"Server.Listener", Field, 0},
- {"Server.TLS", Field, 0},
- {"Server.URL", Field, 0},
- },
- "net/http/httptrace": {
- {"ClientTrace", Type, 7},
- {"ClientTrace.ConnectDone", Field, 7},
- {"ClientTrace.ConnectStart", Field, 7},
- {"ClientTrace.DNSDone", Field, 7},
- {"ClientTrace.DNSStart", Field, 7},
- {"ClientTrace.GetConn", Field, 7},
- {"ClientTrace.Got100Continue", Field, 7},
- {"ClientTrace.Got1xxResponse", Field, 11},
- {"ClientTrace.GotConn", Field, 7},
- {"ClientTrace.GotFirstResponseByte", Field, 7},
- {"ClientTrace.PutIdleConn", Field, 7},
- {"ClientTrace.TLSHandshakeDone", Field, 8},
- {"ClientTrace.TLSHandshakeStart", Field, 8},
- {"ClientTrace.Wait100Continue", Field, 7},
- {"ClientTrace.WroteHeaderField", Field, 11},
- {"ClientTrace.WroteHeaders", Field, 7},
- {"ClientTrace.WroteRequest", Field, 7},
- {"ContextClientTrace", Func, 7},
- {"DNSDoneInfo", Type, 7},
- {"DNSDoneInfo.Addrs", Field, 7},
- {"DNSDoneInfo.Coalesced", Field, 7},
- {"DNSDoneInfo.Err", Field, 7},
- {"DNSStartInfo", Type, 7},
- {"DNSStartInfo.Host", Field, 7},
- {"GotConnInfo", Type, 7},
- {"GotConnInfo.Conn", Field, 7},
- {"GotConnInfo.IdleTime", Field, 7},
- {"GotConnInfo.Reused", Field, 7},
- {"GotConnInfo.WasIdle", Field, 7},
- {"WithClientTrace", Func, 7},
- {"WroteRequestInfo", Type, 7},
- {"WroteRequestInfo.Err", Field, 7},
- },
- "net/http/httputil": {
- {"(*ClientConn).Close", Method, 0},
- {"(*ClientConn).Do", Method, 0},
- {"(*ClientConn).Hijack", Method, 0},
- {"(*ClientConn).Pending", Method, 0},
- {"(*ClientConn).Read", Method, 0},
- {"(*ClientConn).Write", Method, 0},
- {"(*ProxyRequest).SetURL", Method, 20},
- {"(*ProxyRequest).SetXForwarded", Method, 20},
- {"(*ReverseProxy).ServeHTTP", Method, 0},
- {"(*ServerConn).Close", Method, 0},
- {"(*ServerConn).Hijack", Method, 0},
- {"(*ServerConn).Pending", Method, 0},
- {"(*ServerConn).Read", Method, 0},
- {"(*ServerConn).Write", Method, 0},
- {"BufferPool", Type, 6},
- {"ClientConn", Type, 0},
- {"DumpRequest", Func, 0},
- {"DumpRequestOut", Func, 0},
- {"DumpResponse", Func, 0},
- {"ErrClosed", Var, 0},
- {"ErrLineTooLong", Var, 0},
- {"ErrPersistEOF", Var, 0},
- {"ErrPipeline", Var, 0},
- {"NewChunkedReader", Func, 0},
- {"NewChunkedWriter", Func, 0},
- {"NewClientConn", Func, 0},
- {"NewProxyClientConn", Func, 0},
- {"NewServerConn", Func, 0},
- {"NewSingleHostReverseProxy", Func, 0},
- {"ProxyRequest", Type, 20},
- {"ProxyRequest.In", Field, 20},
- {"ProxyRequest.Out", Field, 20},
- {"ReverseProxy", Type, 0},
- {"ReverseProxy.BufferPool", Field, 6},
- {"ReverseProxy.Director", Field, 0},
- {"ReverseProxy.ErrorHandler", Field, 11},
- {"ReverseProxy.ErrorLog", Field, 4},
- {"ReverseProxy.FlushInterval", Field, 0},
- {"ReverseProxy.ModifyResponse", Field, 8},
- {"ReverseProxy.Rewrite", Field, 20},
- {"ReverseProxy.Transport", Field, 0},
- {"ServerConn", Type, 0},
- },
- "net/http/pprof": {
- {"Cmdline", Func, 0},
- {"Handler", Func, 0},
- {"Index", Func, 0},
- {"Profile", Func, 0},
- {"Symbol", Func, 0},
- {"Trace", Func, 5},
- },
- "net/mail": {
- {"(*Address).String", Method, 0},
- {"(*AddressParser).Parse", Method, 5},
- {"(*AddressParser).ParseList", Method, 5},
- {"(Header).AddressList", Method, 0},
- {"(Header).Date", Method, 0},
- {"(Header).Get", Method, 0},
- {"Address", Type, 0},
- {"Address.Address", Field, 0},
- {"Address.Name", Field, 0},
- {"AddressParser", Type, 5},
- {"AddressParser.WordDecoder", Field, 5},
- {"ErrHeaderNotPresent", Var, 0},
- {"Header", Type, 0},
- {"Message", Type, 0},
- {"Message.Body", Field, 0},
- {"Message.Header", Field, 0},
- {"ParseAddress", Func, 1},
- {"ParseAddressList", Func, 1},
- {"ParseDate", Func, 8},
- {"ReadMessage", Func, 0},
- },
- "net/netip": {
- {"(*Addr).UnmarshalBinary", Method, 18},
- {"(*Addr).UnmarshalText", Method, 18},
- {"(*AddrPort).UnmarshalBinary", Method, 18},
- {"(*AddrPort).UnmarshalText", Method, 18},
- {"(*Prefix).UnmarshalBinary", Method, 18},
- {"(*Prefix).UnmarshalText", Method, 18},
- {"(Addr).AppendTo", Method, 18},
- {"(Addr).As16", Method, 18},
- {"(Addr).As4", Method, 18},
- {"(Addr).AsSlice", Method, 18},
- {"(Addr).BitLen", Method, 18},
- {"(Addr).Compare", Method, 18},
- {"(Addr).Is4", Method, 18},
- {"(Addr).Is4In6", Method, 18},
- {"(Addr).Is6", Method, 18},
- {"(Addr).IsGlobalUnicast", Method, 18},
- {"(Addr).IsInterfaceLocalMulticast", Method, 18},
- {"(Addr).IsLinkLocalMulticast", Method, 18},
- {"(Addr).IsLinkLocalUnicast", Method, 18},
- {"(Addr).IsLoopback", Method, 18},
- {"(Addr).IsMulticast", Method, 18},
- {"(Addr).IsPrivate", Method, 18},
- {"(Addr).IsUnspecified", Method, 18},
- {"(Addr).IsValid", Method, 18},
- {"(Addr).Less", Method, 18},
- {"(Addr).MarshalBinary", Method, 18},
- {"(Addr).MarshalText", Method, 18},
- {"(Addr).Next", Method, 18},
- {"(Addr).Prefix", Method, 18},
- {"(Addr).Prev", Method, 18},
- {"(Addr).String", Method, 18},
- {"(Addr).StringExpanded", Method, 18},
- {"(Addr).Unmap", Method, 18},
- {"(Addr).WithZone", Method, 18},
- {"(Addr).Zone", Method, 18},
- {"(AddrPort).Addr", Method, 18},
- {"(AddrPort).AppendTo", Method, 18},
- {"(AddrPort).Compare", Method, 22},
- {"(AddrPort).IsValid", Method, 18},
- {"(AddrPort).MarshalBinary", Method, 18},
- {"(AddrPort).MarshalText", Method, 18},
- {"(AddrPort).Port", Method, 18},
- {"(AddrPort).String", Method, 18},
- {"(Prefix).Addr", Method, 18},
- {"(Prefix).AppendTo", Method, 18},
- {"(Prefix).Bits", Method, 18},
- {"(Prefix).Contains", Method, 18},
- {"(Prefix).IsSingleIP", Method, 18},
- {"(Prefix).IsValid", Method, 18},
- {"(Prefix).MarshalBinary", Method, 18},
- {"(Prefix).MarshalText", Method, 18},
- {"(Prefix).Masked", Method, 18},
- {"(Prefix).Overlaps", Method, 18},
- {"(Prefix).String", Method, 18},
- {"Addr", Type, 18},
- {"AddrFrom16", Func, 18},
- {"AddrFrom4", Func, 18},
- {"AddrFromSlice", Func, 18},
- {"AddrPort", Type, 18},
- {"AddrPortFrom", Func, 18},
- {"IPv4Unspecified", Func, 18},
- {"IPv6LinkLocalAllNodes", Func, 18},
- {"IPv6LinkLocalAllRouters", Func, 20},
- {"IPv6Loopback", Func, 20},
- {"IPv6Unspecified", Func, 18},
- {"MustParseAddr", Func, 18},
- {"MustParseAddrPort", Func, 18},
- {"MustParsePrefix", Func, 18},
- {"ParseAddr", Func, 18},
- {"ParseAddrPort", Func, 18},
- {"ParsePrefix", Func, 18},
- {"Prefix", Type, 18},
- {"PrefixFrom", Func, 18},
- },
- "net/rpc": {
- {"(*Client).Call", Method, 0},
- {"(*Client).Close", Method, 0},
- {"(*Client).Go", Method, 0},
- {"(*Server).Accept", Method, 0},
- {"(*Server).HandleHTTP", Method, 0},
- {"(*Server).Register", Method, 0},
- {"(*Server).RegisterName", Method, 0},
- {"(*Server).ServeCodec", Method, 0},
- {"(*Server).ServeConn", Method, 0},
- {"(*Server).ServeHTTP", Method, 0},
- {"(*Server).ServeRequest", Method, 0},
- {"(ServerError).Error", Method, 0},
- {"Accept", Func, 0},
- {"Call", Type, 0},
- {"Call.Args", Field, 0},
- {"Call.Done", Field, 0},
- {"Call.Error", Field, 0},
- {"Call.Reply", Field, 0},
- {"Call.ServiceMethod", Field, 0},
- {"Client", Type, 0},
- {"ClientCodec", Type, 0},
- {"DefaultDebugPath", Const, 0},
- {"DefaultRPCPath", Const, 0},
- {"DefaultServer", Var, 0},
- {"Dial", Func, 0},
- {"DialHTTP", Func, 0},
- {"DialHTTPPath", Func, 0},
- {"ErrShutdown", Var, 0},
- {"HandleHTTP", Func, 0},
- {"NewClient", Func, 0},
- {"NewClientWithCodec", Func, 0},
- {"NewServer", Func, 0},
- {"Register", Func, 0},
- {"RegisterName", Func, 0},
- {"Request", Type, 0},
- {"Request.Seq", Field, 0},
- {"Request.ServiceMethod", Field, 0},
- {"Response", Type, 0},
- {"Response.Error", Field, 0},
- {"Response.Seq", Field, 0},
- {"Response.ServiceMethod", Field, 0},
- {"ServeCodec", Func, 0},
- {"ServeConn", Func, 0},
- {"ServeRequest", Func, 0},
- {"Server", Type, 0},
- {"ServerCodec", Type, 0},
- {"ServerError", Type, 0},
- },
- "net/rpc/jsonrpc": {
- {"Dial", Func, 0},
- {"NewClient", Func, 0},
- {"NewClientCodec", Func, 0},
- {"NewServerCodec", Func, 0},
- {"ServeConn", Func, 0},
- },
- "net/smtp": {
- {"(*Client).Auth", Method, 0},
- {"(*Client).Close", Method, 2},
- {"(*Client).Data", Method, 0},
- {"(*Client).Extension", Method, 0},
- {"(*Client).Hello", Method, 1},
- {"(*Client).Mail", Method, 0},
- {"(*Client).Noop", Method, 10},
- {"(*Client).Quit", Method, 0},
- {"(*Client).Rcpt", Method, 0},
- {"(*Client).Reset", Method, 0},
- {"(*Client).StartTLS", Method, 0},
- {"(*Client).TLSConnectionState", Method, 5},
- {"(*Client).Verify", Method, 0},
- {"Auth", Type, 0},
- {"CRAMMD5Auth", Func, 0},
- {"Client", Type, 0},
- {"Client.Text", Field, 0},
- {"Dial", Func, 0},
- {"NewClient", Func, 0},
- {"PlainAuth", Func, 0},
- {"SendMail", Func, 0},
- {"ServerInfo", Type, 0},
- {"ServerInfo.Auth", Field, 0},
- {"ServerInfo.Name", Field, 0},
- {"ServerInfo.TLS", Field, 0},
- },
- "net/textproto": {
- {"(*Conn).Close", Method, 0},
- {"(*Conn).Cmd", Method, 0},
- {"(*Conn).DotReader", Method, 0},
- {"(*Conn).DotWriter", Method, 0},
- {"(*Conn).EndRequest", Method, 0},
- {"(*Conn).EndResponse", Method, 0},
- {"(*Conn).Next", Method, 0},
- {"(*Conn).PrintfLine", Method, 0},
- {"(*Conn).ReadCodeLine", Method, 0},
- {"(*Conn).ReadContinuedLine", Method, 0},
- {"(*Conn).ReadContinuedLineBytes", Method, 0},
- {"(*Conn).ReadDotBytes", Method, 0},
- {"(*Conn).ReadDotLines", Method, 0},
- {"(*Conn).ReadLine", Method, 0},
- {"(*Conn).ReadLineBytes", Method, 0},
- {"(*Conn).ReadMIMEHeader", Method, 0},
- {"(*Conn).ReadResponse", Method, 0},
- {"(*Conn).StartRequest", Method, 0},
- {"(*Conn).StartResponse", Method, 0},
- {"(*Error).Error", Method, 0},
- {"(*Pipeline).EndRequest", Method, 0},
- {"(*Pipeline).EndResponse", Method, 0},
- {"(*Pipeline).Next", Method, 0},
- {"(*Pipeline).StartRequest", Method, 0},
- {"(*Pipeline).StartResponse", Method, 0},
- {"(*Reader).DotReader", Method, 0},
- {"(*Reader).ReadCodeLine", Method, 0},
- {"(*Reader).ReadContinuedLine", Method, 0},
- {"(*Reader).ReadContinuedLineBytes", Method, 0},
- {"(*Reader).ReadDotBytes", Method, 0},
- {"(*Reader).ReadDotLines", Method, 0},
- {"(*Reader).ReadLine", Method, 0},
- {"(*Reader).ReadLineBytes", Method, 0},
- {"(*Reader).ReadMIMEHeader", Method, 0},
- {"(*Reader).ReadResponse", Method, 0},
- {"(*Writer).DotWriter", Method, 0},
- {"(*Writer).PrintfLine", Method, 0},
- {"(MIMEHeader).Add", Method, 0},
- {"(MIMEHeader).Del", Method, 0},
- {"(MIMEHeader).Get", Method, 0},
- {"(MIMEHeader).Set", Method, 0},
- {"(MIMEHeader).Values", Method, 14},
- {"(ProtocolError).Error", Method, 0},
- {"CanonicalMIMEHeaderKey", Func, 0},
- {"Conn", Type, 0},
- {"Conn.Pipeline", Field, 0},
- {"Conn.Reader", Field, 0},
- {"Conn.Writer", Field, 0},
- {"Dial", Func, 0},
- {"Error", Type, 0},
- {"Error.Code", Field, 0},
- {"Error.Msg", Field, 0},
- {"MIMEHeader", Type, 0},
- {"NewConn", Func, 0},
- {"NewReader", Func, 0},
- {"NewWriter", Func, 0},
- {"Pipeline", Type, 0},
- {"ProtocolError", Type, 0},
- {"Reader", Type, 0},
- {"Reader.R", Field, 0},
- {"TrimBytes", Func, 1},
- {"TrimString", Func, 1},
- {"Writer", Type, 0},
- {"Writer.W", Field, 0},
- },
- "net/url": {
- {"(*Error).Error", Method, 0},
- {"(*Error).Temporary", Method, 6},
- {"(*Error).Timeout", Method, 6},
- {"(*Error).Unwrap", Method, 13},
- {"(*URL).EscapedFragment", Method, 15},
- {"(*URL).EscapedPath", Method, 5},
- {"(*URL).Hostname", Method, 8},
- {"(*URL).IsAbs", Method, 0},
- {"(*URL).JoinPath", Method, 19},
- {"(*URL).MarshalBinary", Method, 8},
- {"(*URL).Parse", Method, 0},
- {"(*URL).Port", Method, 8},
- {"(*URL).Query", Method, 0},
- {"(*URL).Redacted", Method, 15},
- {"(*URL).RequestURI", Method, 0},
- {"(*URL).ResolveReference", Method, 0},
- {"(*URL).String", Method, 0},
- {"(*URL).UnmarshalBinary", Method, 8},
- {"(*Userinfo).Password", Method, 0},
- {"(*Userinfo).String", Method, 0},
- {"(*Userinfo).Username", Method, 0},
- {"(EscapeError).Error", Method, 0},
- {"(InvalidHostError).Error", Method, 6},
- {"(Values).Add", Method, 0},
- {"(Values).Del", Method, 0},
- {"(Values).Encode", Method, 0},
- {"(Values).Get", Method, 0},
- {"(Values).Has", Method, 17},
- {"(Values).Set", Method, 0},
- {"Error", Type, 0},
- {"Error.Err", Field, 0},
- {"Error.Op", Field, 0},
- {"Error.URL", Field, 0},
- {"EscapeError", Type, 0},
- {"InvalidHostError", Type, 6},
- {"JoinPath", Func, 19},
- {"Parse", Func, 0},
- {"ParseQuery", Func, 0},
- {"ParseRequestURI", Func, 0},
- {"PathEscape", Func, 8},
- {"PathUnescape", Func, 8},
- {"QueryEscape", Func, 0},
- {"QueryUnescape", Func, 0},
- {"URL", Type, 0},
- {"URL.ForceQuery", Field, 7},
- {"URL.Fragment", Field, 0},
- {"URL.Host", Field, 0},
- {"URL.OmitHost", Field, 19},
- {"URL.Opaque", Field, 0},
- {"URL.Path", Field, 0},
- {"URL.RawFragment", Field, 15},
- {"URL.RawPath", Field, 5},
- {"URL.RawQuery", Field, 0},
- {"URL.Scheme", Field, 0},
- {"URL.User", Field, 0},
- {"User", Func, 0},
- {"UserPassword", Func, 0},
- {"Userinfo", Type, 0},
- {"Values", Type, 0},
- },
- "os": {
- {"(*File).Chdir", Method, 0},
- {"(*File).Chmod", Method, 0},
- {"(*File).Chown", Method, 0},
- {"(*File).Close", Method, 0},
- {"(*File).Fd", Method, 0},
- {"(*File).Name", Method, 0},
- {"(*File).Read", Method, 0},
- {"(*File).ReadAt", Method, 0},
- {"(*File).ReadDir", Method, 16},
- {"(*File).ReadFrom", Method, 15},
- {"(*File).Readdir", Method, 0},
- {"(*File).Readdirnames", Method, 0},
- {"(*File).Seek", Method, 0},
- {"(*File).SetDeadline", Method, 10},
- {"(*File).SetReadDeadline", Method, 10},
- {"(*File).SetWriteDeadline", Method, 10},
- {"(*File).Stat", Method, 0},
- {"(*File).Sync", Method, 0},
- {"(*File).SyscallConn", Method, 12},
- {"(*File).Truncate", Method, 0},
- {"(*File).Write", Method, 0},
- {"(*File).WriteAt", Method, 0},
- {"(*File).WriteString", Method, 0},
- {"(*File).WriteTo", Method, 22},
- {"(*LinkError).Error", Method, 0},
- {"(*LinkError).Unwrap", Method, 13},
- {"(*PathError).Error", Method, 0},
- {"(*PathError).Timeout", Method, 10},
- {"(*PathError).Unwrap", Method, 13},
- {"(*Process).Kill", Method, 0},
- {"(*Process).Release", Method, 0},
- {"(*Process).Signal", Method, 0},
- {"(*Process).Wait", Method, 0},
- {"(*ProcessState).ExitCode", Method, 12},
- {"(*ProcessState).Exited", Method, 0},
- {"(*ProcessState).Pid", Method, 0},
- {"(*ProcessState).String", Method, 0},
- {"(*ProcessState).Success", Method, 0},
- {"(*ProcessState).Sys", Method, 0},
- {"(*ProcessState).SysUsage", Method, 0},
- {"(*ProcessState).SystemTime", Method, 0},
- {"(*ProcessState).UserTime", Method, 0},
- {"(*SyscallError).Error", Method, 0},
- {"(*SyscallError).Timeout", Method, 10},
- {"(*SyscallError).Unwrap", Method, 13},
- {"(FileMode).IsDir", Method, 0},
- {"(FileMode).IsRegular", Method, 1},
- {"(FileMode).Perm", Method, 0},
- {"(FileMode).String", Method, 0},
- {"Args", Var, 0},
- {"Chdir", Func, 0},
- {"Chmod", Func, 0},
- {"Chown", Func, 0},
- {"Chtimes", Func, 0},
- {"Clearenv", Func, 0},
- {"CopyFS", Func, 23},
- {"Create", Func, 0},
- {"CreateTemp", Func, 16},
- {"DevNull", Const, 0},
- {"DirEntry", Type, 16},
- {"DirFS", Func, 16},
- {"Environ", Func, 0},
- {"ErrClosed", Var, 8},
- {"ErrDeadlineExceeded", Var, 15},
- {"ErrExist", Var, 0},
- {"ErrInvalid", Var, 0},
- {"ErrNoDeadline", Var, 10},
- {"ErrNotExist", Var, 0},
- {"ErrPermission", Var, 0},
- {"ErrProcessDone", Var, 16},
- {"Executable", Func, 8},
- {"Exit", Func, 0},
- {"Expand", Func, 0},
- {"ExpandEnv", Func, 0},
- {"File", Type, 0},
- {"FileInfo", Type, 0},
- {"FileMode", Type, 0},
- {"FindProcess", Func, 0},
- {"Getegid", Func, 0},
- {"Getenv", Func, 0},
- {"Geteuid", Func, 0},
- {"Getgid", Func, 0},
- {"Getgroups", Func, 0},
- {"Getpagesize", Func, 0},
- {"Getpid", Func, 0},
- {"Getppid", Func, 0},
- {"Getuid", Func, 0},
- {"Getwd", Func, 0},
- {"Hostname", Func, 0},
- {"Interrupt", Var, 0},
- {"IsExist", Func, 0},
- {"IsNotExist", Func, 0},
- {"IsPathSeparator", Func, 0},
- {"IsPermission", Func, 0},
- {"IsTimeout", Func, 10},
- {"Kill", Var, 0},
- {"Lchown", Func, 0},
- {"Link", Func, 0},
- {"LinkError", Type, 0},
- {"LinkError.Err", Field, 0},
- {"LinkError.New", Field, 0},
- {"LinkError.Old", Field, 0},
- {"LinkError.Op", Field, 0},
- {"LookupEnv", Func, 5},
- {"Lstat", Func, 0},
- {"Mkdir", Func, 0},
- {"MkdirAll", Func, 0},
- {"MkdirTemp", Func, 16},
- {"ModeAppend", Const, 0},
- {"ModeCharDevice", Const, 0},
- {"ModeDevice", Const, 0},
- {"ModeDir", Const, 0},
- {"ModeExclusive", Const, 0},
- {"ModeIrregular", Const, 11},
- {"ModeNamedPipe", Const, 0},
- {"ModePerm", Const, 0},
- {"ModeSetgid", Const, 0},
- {"ModeSetuid", Const, 0},
- {"ModeSocket", Const, 0},
- {"ModeSticky", Const, 0},
- {"ModeSymlink", Const, 0},
- {"ModeTemporary", Const, 0},
- {"ModeType", Const, 0},
- {"NewFile", Func, 0},
- {"NewSyscallError", Func, 0},
- {"O_APPEND", Const, 0},
- {"O_CREATE", Const, 0},
- {"O_EXCL", Const, 0},
- {"O_RDONLY", Const, 0},
- {"O_RDWR", Const, 0},
- {"O_SYNC", Const, 0},
- {"O_TRUNC", Const, 0},
- {"O_WRONLY", Const, 0},
- {"Open", Func, 0},
- {"OpenFile", Func, 0},
- {"PathError", Type, 0},
- {"PathError.Err", Field, 0},
- {"PathError.Op", Field, 0},
- {"PathError.Path", Field, 0},
- {"PathListSeparator", Const, 0},
- {"PathSeparator", Const, 0},
- {"Pipe", Func, 0},
- {"ProcAttr", Type, 0},
- {"ProcAttr.Dir", Field, 0},
- {"ProcAttr.Env", Field, 0},
- {"ProcAttr.Files", Field, 0},
- {"ProcAttr.Sys", Field, 0},
- {"Process", Type, 0},
- {"Process.Pid", Field, 0},
- {"ProcessState", Type, 0},
- {"ReadDir", Func, 16},
- {"ReadFile", Func, 16},
- {"Readlink", Func, 0},
- {"Remove", Func, 0},
- {"RemoveAll", Func, 0},
- {"Rename", Func, 0},
- {"SEEK_CUR", Const, 0},
- {"SEEK_END", Const, 0},
- {"SEEK_SET", Const, 0},
- {"SameFile", Func, 0},
- {"Setenv", Func, 0},
- {"Signal", Type, 0},
- {"StartProcess", Func, 0},
- {"Stat", Func, 0},
- {"Stderr", Var, 0},
- {"Stdin", Var, 0},
- {"Stdout", Var, 0},
- {"Symlink", Func, 0},
- {"SyscallError", Type, 0},
- {"SyscallError.Err", Field, 0},
- {"SyscallError.Syscall", Field, 0},
- {"TempDir", Func, 0},
- {"Truncate", Func, 0},
- {"Unsetenv", Func, 4},
- {"UserCacheDir", Func, 11},
- {"UserConfigDir", Func, 13},
- {"UserHomeDir", Func, 12},
- {"WriteFile", Func, 16},
- },
- "os/exec": {
- {"(*Cmd).CombinedOutput", Method, 0},
- {"(*Cmd).Environ", Method, 19},
- {"(*Cmd).Output", Method, 0},
- {"(*Cmd).Run", Method, 0},
- {"(*Cmd).Start", Method, 0},
- {"(*Cmd).StderrPipe", Method, 0},
- {"(*Cmd).StdinPipe", Method, 0},
- {"(*Cmd).StdoutPipe", Method, 0},
- {"(*Cmd).String", Method, 13},
- {"(*Cmd).Wait", Method, 0},
- {"(*Error).Error", Method, 0},
- {"(*Error).Unwrap", Method, 13},
- {"(*ExitError).Error", Method, 0},
- {"(ExitError).ExitCode", Method, 12},
- {"(ExitError).Exited", Method, 0},
- {"(ExitError).Pid", Method, 0},
- {"(ExitError).String", Method, 0},
- {"(ExitError).Success", Method, 0},
- {"(ExitError).Sys", Method, 0},
- {"(ExitError).SysUsage", Method, 0},
- {"(ExitError).SystemTime", Method, 0},
- {"(ExitError).UserTime", Method, 0},
- {"Cmd", Type, 0},
- {"Cmd.Args", Field, 0},
- {"Cmd.Cancel", Field, 20},
- {"Cmd.Dir", Field, 0},
- {"Cmd.Env", Field, 0},
- {"Cmd.Err", Field, 19},
- {"Cmd.ExtraFiles", Field, 0},
- {"Cmd.Path", Field, 0},
- {"Cmd.Process", Field, 0},
- {"Cmd.ProcessState", Field, 0},
- {"Cmd.Stderr", Field, 0},
- {"Cmd.Stdin", Field, 0},
- {"Cmd.Stdout", Field, 0},
- {"Cmd.SysProcAttr", Field, 0},
- {"Cmd.WaitDelay", Field, 20},
- {"Command", Func, 0},
- {"CommandContext", Func, 7},
- {"ErrDot", Var, 19},
- {"ErrNotFound", Var, 0},
- {"ErrWaitDelay", Var, 20},
- {"Error", Type, 0},
- {"Error.Err", Field, 0},
- {"Error.Name", Field, 0},
- {"ExitError", Type, 0},
- {"ExitError.ProcessState", Field, 0},
- {"ExitError.Stderr", Field, 6},
- {"LookPath", Func, 0},
- },
- "os/signal": {
- {"Ignore", Func, 5},
- {"Ignored", Func, 11},
- {"Notify", Func, 0},
- {"NotifyContext", Func, 16},
- {"Reset", Func, 5},
- {"Stop", Func, 1},
- },
- "os/user": {
- {"(*User).GroupIds", Method, 7},
- {"(UnknownGroupError).Error", Method, 7},
- {"(UnknownGroupIdError).Error", Method, 7},
- {"(UnknownUserError).Error", Method, 0},
- {"(UnknownUserIdError).Error", Method, 0},
- {"Current", Func, 0},
- {"Group", Type, 7},
- {"Group.Gid", Field, 7},
- {"Group.Name", Field, 7},
- {"Lookup", Func, 0},
- {"LookupGroup", Func, 7},
- {"LookupGroupId", Func, 7},
- {"LookupId", Func, 0},
- {"UnknownGroupError", Type, 7},
- {"UnknownGroupIdError", Type, 7},
- {"UnknownUserError", Type, 0},
- {"UnknownUserIdError", Type, 0},
- {"User", Type, 0},
- {"User.Gid", Field, 0},
- {"User.HomeDir", Field, 0},
- {"User.Name", Field, 0},
- {"User.Uid", Field, 0},
- {"User.Username", Field, 0},
- },
- "path": {
- {"Base", Func, 0},
- {"Clean", Func, 0},
- {"Dir", Func, 0},
- {"ErrBadPattern", Var, 0},
- {"Ext", Func, 0},
- {"IsAbs", Func, 0},
- {"Join", Func, 0},
- {"Match", Func, 0},
- {"Split", Func, 0},
- },
- "path/filepath": {
- {"Abs", Func, 0},
- {"Base", Func, 0},
- {"Clean", Func, 0},
- {"Dir", Func, 0},
- {"ErrBadPattern", Var, 0},
- {"EvalSymlinks", Func, 0},
- {"Ext", Func, 0},
- {"FromSlash", Func, 0},
- {"Glob", Func, 0},
- {"HasPrefix", Func, 0},
- {"IsAbs", Func, 0},
- {"IsLocal", Func, 20},
- {"Join", Func, 0},
- {"ListSeparator", Const, 0},
- {"Localize", Func, 23},
- {"Match", Func, 0},
- {"Rel", Func, 0},
- {"Separator", Const, 0},
- {"SkipAll", Var, 20},
- {"SkipDir", Var, 0},
- {"Split", Func, 0},
- {"SplitList", Func, 0},
- {"ToSlash", Func, 0},
- {"VolumeName", Func, 0},
- {"Walk", Func, 0},
- {"WalkDir", Func, 16},
- {"WalkFunc", Type, 0},
- },
- "plugin": {
- {"(*Plugin).Lookup", Method, 8},
- {"Open", Func, 8},
- {"Plugin", Type, 8},
- {"Symbol", Type, 8},
- },
- "reflect": {
- {"(*MapIter).Key", Method, 12},
- {"(*MapIter).Next", Method, 12},
- {"(*MapIter).Reset", Method, 18},
- {"(*MapIter).Value", Method, 12},
- {"(*ValueError).Error", Method, 0},
- {"(ChanDir).String", Method, 0},
- {"(Kind).String", Method, 0},
- {"(Method).IsExported", Method, 17},
- {"(StructField).IsExported", Method, 17},
- {"(StructTag).Get", Method, 0},
- {"(StructTag).Lookup", Method, 7},
- {"(Value).Addr", Method, 0},
- {"(Value).Bool", Method, 0},
- {"(Value).Bytes", Method, 0},
- {"(Value).Call", Method, 0},
- {"(Value).CallSlice", Method, 0},
- {"(Value).CanAddr", Method, 0},
- {"(Value).CanComplex", Method, 18},
- {"(Value).CanConvert", Method, 17},
- {"(Value).CanFloat", Method, 18},
- {"(Value).CanInt", Method, 18},
- {"(Value).CanInterface", Method, 0},
- {"(Value).CanSet", Method, 0},
- {"(Value).CanUint", Method, 18},
- {"(Value).Cap", Method, 0},
- {"(Value).Clear", Method, 21},
- {"(Value).Close", Method, 0},
- {"(Value).Comparable", Method, 20},
- {"(Value).Complex", Method, 0},
- {"(Value).Convert", Method, 1},
- {"(Value).Elem", Method, 0},
- {"(Value).Equal", Method, 20},
- {"(Value).Field", Method, 0},
- {"(Value).FieldByIndex", Method, 0},
- {"(Value).FieldByIndexErr", Method, 18},
- {"(Value).FieldByName", Method, 0},
- {"(Value).FieldByNameFunc", Method, 0},
- {"(Value).Float", Method, 0},
- {"(Value).Grow", Method, 20},
- {"(Value).Index", Method, 0},
- {"(Value).Int", Method, 0},
- {"(Value).Interface", Method, 0},
- {"(Value).InterfaceData", Method, 0},
- {"(Value).IsNil", Method, 0},
- {"(Value).IsValid", Method, 0},
- {"(Value).IsZero", Method, 13},
- {"(Value).Kind", Method, 0},
- {"(Value).Len", Method, 0},
- {"(Value).MapIndex", Method, 0},
- {"(Value).MapKeys", Method, 0},
- {"(Value).MapRange", Method, 12},
- {"(Value).Method", Method, 0},
- {"(Value).MethodByName", Method, 0},
- {"(Value).NumField", Method, 0},
- {"(Value).NumMethod", Method, 0},
- {"(Value).OverflowComplex", Method, 0},
- {"(Value).OverflowFloat", Method, 0},
- {"(Value).OverflowInt", Method, 0},
- {"(Value).OverflowUint", Method, 0},
- {"(Value).Pointer", Method, 0},
- {"(Value).Recv", Method, 0},
- {"(Value).Send", Method, 0},
- {"(Value).Seq", Method, 23},
- {"(Value).Seq2", Method, 23},
- {"(Value).Set", Method, 0},
- {"(Value).SetBool", Method, 0},
- {"(Value).SetBytes", Method, 0},
- {"(Value).SetCap", Method, 2},
- {"(Value).SetComplex", Method, 0},
- {"(Value).SetFloat", Method, 0},
- {"(Value).SetInt", Method, 0},
- {"(Value).SetIterKey", Method, 18},
- {"(Value).SetIterValue", Method, 18},
- {"(Value).SetLen", Method, 0},
- {"(Value).SetMapIndex", Method, 0},
- {"(Value).SetPointer", Method, 0},
- {"(Value).SetString", Method, 0},
- {"(Value).SetUint", Method, 0},
- {"(Value).SetZero", Method, 20},
- {"(Value).Slice", Method, 0},
- {"(Value).Slice3", Method, 2},
- {"(Value).String", Method, 0},
- {"(Value).TryRecv", Method, 0},
- {"(Value).TrySend", Method, 0},
- {"(Value).Type", Method, 0},
- {"(Value).Uint", Method, 0},
- {"(Value).UnsafeAddr", Method, 0},
- {"(Value).UnsafePointer", Method, 18},
- {"Append", Func, 0},
- {"AppendSlice", Func, 0},
- {"Array", Const, 0},
- {"ArrayOf", Func, 5},
- {"Bool", Const, 0},
- {"BothDir", Const, 0},
- {"Chan", Const, 0},
- {"ChanDir", Type, 0},
- {"ChanOf", Func, 1},
- {"Complex128", Const, 0},
- {"Complex64", Const, 0},
- {"Copy", Func, 0},
- {"DeepEqual", Func, 0},
- {"Float32", Const, 0},
- {"Float64", Const, 0},
- {"Func", Const, 0},
- {"FuncOf", Func, 5},
- {"Indirect", Func, 0},
- {"Int", Const, 0},
- {"Int16", Const, 0},
- {"Int32", Const, 0},
- {"Int64", Const, 0},
- {"Int8", Const, 0},
- {"Interface", Const, 0},
- {"Invalid", Const, 0},
- {"Kind", Type, 0},
- {"MakeChan", Func, 0},
- {"MakeFunc", Func, 1},
- {"MakeMap", Func, 0},
- {"MakeMapWithSize", Func, 9},
- {"MakeSlice", Func, 0},
- {"Map", Const, 0},
- {"MapIter", Type, 12},
- {"MapOf", Func, 1},
- {"Method", Type, 0},
- {"Method.Func", Field, 0},
- {"Method.Index", Field, 0},
- {"Method.Name", Field, 0},
- {"Method.PkgPath", Field, 0},
- {"Method.Type", Field, 0},
- {"New", Func, 0},
- {"NewAt", Func, 0},
- {"Pointer", Const, 18},
- {"PointerTo", Func, 18},
- {"Ptr", Const, 0},
- {"PtrTo", Func, 0},
- {"RecvDir", Const, 0},
- {"Select", Func, 1},
- {"SelectCase", Type, 1},
- {"SelectCase.Chan", Field, 1},
- {"SelectCase.Dir", Field, 1},
- {"SelectCase.Send", Field, 1},
- {"SelectDefault", Const, 1},
- {"SelectDir", Type, 1},
- {"SelectRecv", Const, 1},
- {"SelectSend", Const, 1},
- {"SendDir", Const, 0},
- {"Slice", Const, 0},
- {"SliceAt", Func, 23},
- {"SliceHeader", Type, 0},
- {"SliceHeader.Cap", Field, 0},
- {"SliceHeader.Data", Field, 0},
- {"SliceHeader.Len", Field, 0},
- {"SliceOf", Func, 1},
- {"String", Const, 0},
- {"StringHeader", Type, 0},
- {"StringHeader.Data", Field, 0},
- {"StringHeader.Len", Field, 0},
- {"Struct", Const, 0},
- {"StructField", Type, 0},
- {"StructField.Anonymous", Field, 0},
- {"StructField.Index", Field, 0},
- {"StructField.Name", Field, 0},
- {"StructField.Offset", Field, 0},
- {"StructField.PkgPath", Field, 0},
- {"StructField.Tag", Field, 0},
- {"StructField.Type", Field, 0},
- {"StructOf", Func, 7},
- {"StructTag", Type, 0},
- {"Swapper", Func, 8},
- {"Type", Type, 0},
- {"TypeFor", Func, 22},
- {"TypeOf", Func, 0},
- {"Uint", Const, 0},
- {"Uint16", Const, 0},
- {"Uint32", Const, 0},
- {"Uint64", Const, 0},
- {"Uint8", Const, 0},
- {"Uintptr", Const, 0},
- {"UnsafePointer", Const, 0},
- {"Value", Type, 0},
- {"ValueError", Type, 0},
- {"ValueError.Kind", Field, 0},
- {"ValueError.Method", Field, 0},
- {"ValueOf", Func, 0},
- {"VisibleFields", Func, 17},
- {"Zero", Func, 0},
- },
- "regexp": {
- {"(*Regexp).Copy", Method, 6},
- {"(*Regexp).Expand", Method, 0},
- {"(*Regexp).ExpandString", Method, 0},
- {"(*Regexp).Find", Method, 0},
- {"(*Regexp).FindAll", Method, 0},
- {"(*Regexp).FindAllIndex", Method, 0},
- {"(*Regexp).FindAllString", Method, 0},
- {"(*Regexp).FindAllStringIndex", Method, 0},
- {"(*Regexp).FindAllStringSubmatch", Method, 0},
- {"(*Regexp).FindAllStringSubmatchIndex", Method, 0},
- {"(*Regexp).FindAllSubmatch", Method, 0},
- {"(*Regexp).FindAllSubmatchIndex", Method, 0},
- {"(*Regexp).FindIndex", Method, 0},
- {"(*Regexp).FindReaderIndex", Method, 0},
- {"(*Regexp).FindReaderSubmatchIndex", Method, 0},
- {"(*Regexp).FindString", Method, 0},
- {"(*Regexp).FindStringIndex", Method, 0},
- {"(*Regexp).FindStringSubmatch", Method, 0},
- {"(*Regexp).FindStringSubmatchIndex", Method, 0},
- {"(*Regexp).FindSubmatch", Method, 0},
- {"(*Regexp).FindSubmatchIndex", Method, 0},
- {"(*Regexp).LiteralPrefix", Method, 0},
- {"(*Regexp).Longest", Method, 1},
- {"(*Regexp).MarshalText", Method, 21},
- {"(*Regexp).Match", Method, 0},
- {"(*Regexp).MatchReader", Method, 0},
- {"(*Regexp).MatchString", Method, 0},
- {"(*Regexp).NumSubexp", Method, 0},
- {"(*Regexp).ReplaceAll", Method, 0},
- {"(*Regexp).ReplaceAllFunc", Method, 0},
- {"(*Regexp).ReplaceAllLiteral", Method, 0},
- {"(*Regexp).ReplaceAllLiteralString", Method, 0},
- {"(*Regexp).ReplaceAllString", Method, 0},
- {"(*Regexp).ReplaceAllStringFunc", Method, 0},
- {"(*Regexp).Split", Method, 1},
- {"(*Regexp).String", Method, 0},
- {"(*Regexp).SubexpIndex", Method, 15},
- {"(*Regexp).SubexpNames", Method, 0},
- {"(*Regexp).UnmarshalText", Method, 21},
- {"Compile", Func, 0},
- {"CompilePOSIX", Func, 0},
- {"Match", Func, 0},
- {"MatchReader", Func, 0},
- {"MatchString", Func, 0},
- {"MustCompile", Func, 0},
- {"MustCompilePOSIX", Func, 0},
- {"QuoteMeta", Func, 0},
- {"Regexp", Type, 0},
- },
- "regexp/syntax": {
- {"(*Error).Error", Method, 0},
- {"(*Inst).MatchEmptyWidth", Method, 0},
- {"(*Inst).MatchRune", Method, 0},
- {"(*Inst).MatchRunePos", Method, 3},
- {"(*Inst).String", Method, 0},
- {"(*Prog).Prefix", Method, 0},
- {"(*Prog).StartCond", Method, 0},
- {"(*Prog).String", Method, 0},
- {"(*Regexp).CapNames", Method, 0},
- {"(*Regexp).Equal", Method, 0},
- {"(*Regexp).MaxCap", Method, 0},
- {"(*Regexp).Simplify", Method, 0},
- {"(*Regexp).String", Method, 0},
- {"(ErrorCode).String", Method, 0},
- {"(InstOp).String", Method, 3},
- {"(Op).String", Method, 11},
- {"ClassNL", Const, 0},
- {"Compile", Func, 0},
- {"DotNL", Const, 0},
- {"EmptyBeginLine", Const, 0},
- {"EmptyBeginText", Const, 0},
- {"EmptyEndLine", Const, 0},
- {"EmptyEndText", Const, 0},
- {"EmptyNoWordBoundary", Const, 0},
- {"EmptyOp", Type, 0},
- {"EmptyOpContext", Func, 0},
- {"EmptyWordBoundary", Const, 0},
- {"ErrInternalError", Const, 0},
- {"ErrInvalidCharClass", Const, 0},
- {"ErrInvalidCharRange", Const, 0},
- {"ErrInvalidEscape", Const, 0},
- {"ErrInvalidNamedCapture", Const, 0},
- {"ErrInvalidPerlOp", Const, 0},
- {"ErrInvalidRepeatOp", Const, 0},
- {"ErrInvalidRepeatSize", Const, 0},
- {"ErrInvalidUTF8", Const, 0},
- {"ErrLarge", Const, 20},
- {"ErrMissingBracket", Const, 0},
- {"ErrMissingParen", Const, 0},
- {"ErrMissingRepeatArgument", Const, 0},
- {"ErrNestingDepth", Const, 19},
- {"ErrTrailingBackslash", Const, 0},
- {"ErrUnexpectedParen", Const, 1},
- {"Error", Type, 0},
- {"Error.Code", Field, 0},
- {"Error.Expr", Field, 0},
- {"ErrorCode", Type, 0},
- {"Flags", Type, 0},
- {"FoldCase", Const, 0},
- {"Inst", Type, 0},
- {"Inst.Arg", Field, 0},
- {"Inst.Op", Field, 0},
- {"Inst.Out", Field, 0},
- {"Inst.Rune", Field, 0},
- {"InstAlt", Const, 0},
- {"InstAltMatch", Const, 0},
- {"InstCapture", Const, 0},
- {"InstEmptyWidth", Const, 0},
- {"InstFail", Const, 0},
- {"InstMatch", Const, 0},
- {"InstNop", Const, 0},
- {"InstOp", Type, 0},
- {"InstRune", Const, 0},
- {"InstRune1", Const, 0},
- {"InstRuneAny", Const, 0},
- {"InstRuneAnyNotNL", Const, 0},
- {"IsWordChar", Func, 0},
- {"Literal", Const, 0},
- {"MatchNL", Const, 0},
- {"NonGreedy", Const, 0},
- {"OneLine", Const, 0},
- {"Op", Type, 0},
- {"OpAlternate", Const, 0},
- {"OpAnyChar", Const, 0},
- {"OpAnyCharNotNL", Const, 0},
- {"OpBeginLine", Const, 0},
- {"OpBeginText", Const, 0},
- {"OpCapture", Const, 0},
- {"OpCharClass", Const, 0},
- {"OpConcat", Const, 0},
- {"OpEmptyMatch", Const, 0},
- {"OpEndLine", Const, 0},
- {"OpEndText", Const, 0},
- {"OpLiteral", Const, 0},
- {"OpNoMatch", Const, 0},
- {"OpNoWordBoundary", Const, 0},
- {"OpPlus", Const, 0},
- {"OpQuest", Const, 0},
- {"OpRepeat", Const, 0},
- {"OpStar", Const, 0},
- {"OpWordBoundary", Const, 0},
- {"POSIX", Const, 0},
- {"Parse", Func, 0},
- {"Perl", Const, 0},
- {"PerlX", Const, 0},
- {"Prog", Type, 0},
- {"Prog.Inst", Field, 0},
- {"Prog.NumCap", Field, 0},
- {"Prog.Start", Field, 0},
- {"Regexp", Type, 0},
- {"Regexp.Cap", Field, 0},
- {"Regexp.Flags", Field, 0},
- {"Regexp.Max", Field, 0},
- {"Regexp.Min", Field, 0},
- {"Regexp.Name", Field, 0},
- {"Regexp.Op", Field, 0},
- {"Regexp.Rune", Field, 0},
- {"Regexp.Rune0", Field, 0},
- {"Regexp.Sub", Field, 0},
- {"Regexp.Sub0", Field, 0},
- {"Simple", Const, 0},
- {"UnicodeGroups", Const, 0},
- {"WasDollar", Const, 0},
- },
- "runtime": {
- {"(*BlockProfileRecord).Stack", Method, 1},
- {"(*Frames).Next", Method, 7},
- {"(*Func).Entry", Method, 0},
- {"(*Func).FileLine", Method, 0},
- {"(*Func).Name", Method, 0},
- {"(*MemProfileRecord).InUseBytes", Method, 0},
- {"(*MemProfileRecord).InUseObjects", Method, 0},
- {"(*MemProfileRecord).Stack", Method, 0},
- {"(*PanicNilError).Error", Method, 21},
- {"(*PanicNilError).RuntimeError", Method, 21},
- {"(*Pinner).Pin", Method, 21},
- {"(*Pinner).Unpin", Method, 21},
- {"(*StackRecord).Stack", Method, 0},
- {"(*TypeAssertionError).Error", Method, 0},
- {"(*TypeAssertionError).RuntimeError", Method, 0},
- {"BlockProfile", Func, 1},
- {"BlockProfileRecord", Type, 1},
- {"BlockProfileRecord.Count", Field, 1},
- {"BlockProfileRecord.Cycles", Field, 1},
- {"BlockProfileRecord.StackRecord", Field, 1},
- {"Breakpoint", Func, 0},
- {"CPUProfile", Func, 0},
- {"Caller", Func, 0},
- {"Callers", Func, 0},
- {"CallersFrames", Func, 7},
- {"Compiler", Const, 0},
- {"Error", Type, 0},
- {"Frame", Type, 7},
- {"Frame.Entry", Field, 7},
- {"Frame.File", Field, 7},
- {"Frame.Func", Field, 7},
- {"Frame.Function", Field, 7},
- {"Frame.Line", Field, 7},
- {"Frame.PC", Field, 7},
- {"Frames", Type, 7},
- {"Func", Type, 0},
- {"FuncForPC", Func, 0},
- {"GC", Func, 0},
- {"GOARCH", Const, 0},
- {"GOMAXPROCS", Func, 0},
- {"GOOS", Const, 0},
- {"GOROOT", Func, 0},
- {"Goexit", Func, 0},
- {"GoroutineProfile", Func, 0},
- {"Gosched", Func, 0},
- {"KeepAlive", Func, 7},
- {"LockOSThread", Func, 0},
- {"MemProfile", Func, 0},
- {"MemProfileRate", Var, 0},
- {"MemProfileRecord", Type, 0},
- {"MemProfileRecord.AllocBytes", Field, 0},
- {"MemProfileRecord.AllocObjects", Field, 0},
- {"MemProfileRecord.FreeBytes", Field, 0},
- {"MemProfileRecord.FreeObjects", Field, 0},
- {"MemProfileRecord.Stack0", Field, 0},
- {"MemStats", Type, 0},
- {"MemStats.Alloc", Field, 0},
- {"MemStats.BuckHashSys", Field, 0},
- {"MemStats.BySize", Field, 0},
- {"MemStats.DebugGC", Field, 0},
- {"MemStats.EnableGC", Field, 0},
- {"MemStats.Frees", Field, 0},
- {"MemStats.GCCPUFraction", Field, 5},
- {"MemStats.GCSys", Field, 2},
- {"MemStats.HeapAlloc", Field, 0},
- {"MemStats.HeapIdle", Field, 0},
- {"MemStats.HeapInuse", Field, 0},
- {"MemStats.HeapObjects", Field, 0},
- {"MemStats.HeapReleased", Field, 0},
- {"MemStats.HeapSys", Field, 0},
- {"MemStats.LastGC", Field, 0},
- {"MemStats.Lookups", Field, 0},
- {"MemStats.MCacheInuse", Field, 0},
- {"MemStats.MCacheSys", Field, 0},
- {"MemStats.MSpanInuse", Field, 0},
- {"MemStats.MSpanSys", Field, 0},
- {"MemStats.Mallocs", Field, 0},
- {"MemStats.NextGC", Field, 0},
- {"MemStats.NumForcedGC", Field, 8},
- {"MemStats.NumGC", Field, 0},
- {"MemStats.OtherSys", Field, 2},
- {"MemStats.PauseEnd", Field, 4},
- {"MemStats.PauseNs", Field, 0},
- {"MemStats.PauseTotalNs", Field, 0},
- {"MemStats.StackInuse", Field, 0},
- {"MemStats.StackSys", Field, 0},
- {"MemStats.Sys", Field, 0},
- {"MemStats.TotalAlloc", Field, 0},
- {"MutexProfile", Func, 8},
- {"NumCPU", Func, 0},
- {"NumCgoCall", Func, 0},
- {"NumGoroutine", Func, 0},
- {"PanicNilError", Type, 21},
- {"Pinner", Type, 21},
- {"ReadMemStats", Func, 0},
- {"ReadTrace", Func, 5},
- {"SetBlockProfileRate", Func, 1},
- {"SetCPUProfileRate", Func, 0},
- {"SetCgoTraceback", Func, 7},
- {"SetFinalizer", Func, 0},
- {"SetMutexProfileFraction", Func, 8},
- {"Stack", Func, 0},
- {"StackRecord", Type, 0},
- {"StackRecord.Stack0", Field, 0},
- {"StartTrace", Func, 5},
- {"StopTrace", Func, 5},
- {"ThreadCreateProfile", Func, 0},
- {"TypeAssertionError", Type, 0},
- {"UnlockOSThread", Func, 0},
- {"Version", Func, 0},
- },
- "runtime/cgo": {
- {"(Handle).Delete", Method, 17},
- {"(Handle).Value", Method, 17},
- {"Handle", Type, 17},
- {"Incomplete", Type, 20},
- {"NewHandle", Func, 17},
- },
- "runtime/coverage": {
- {"ClearCounters", Func, 20},
- {"WriteCounters", Func, 20},
- {"WriteCountersDir", Func, 20},
- {"WriteMeta", Func, 20},
- {"WriteMetaDir", Func, 20},
- },
- "runtime/debug": {
- {"(*BuildInfo).String", Method, 18},
- {"BuildInfo", Type, 12},
- {"BuildInfo.Deps", Field, 12},
- {"BuildInfo.GoVersion", Field, 18},
- {"BuildInfo.Main", Field, 12},
- {"BuildInfo.Path", Field, 12},
- {"BuildInfo.Settings", Field, 18},
- {"BuildSetting", Type, 18},
- {"BuildSetting.Key", Field, 18},
- {"BuildSetting.Value", Field, 18},
- {"CrashOptions", Type, 23},
- {"FreeOSMemory", Func, 1},
- {"GCStats", Type, 1},
- {"GCStats.LastGC", Field, 1},
- {"GCStats.NumGC", Field, 1},
- {"GCStats.Pause", Field, 1},
- {"GCStats.PauseEnd", Field, 4},
- {"GCStats.PauseQuantiles", Field, 1},
- {"GCStats.PauseTotal", Field, 1},
- {"Module", Type, 12},
- {"Module.Path", Field, 12},
- {"Module.Replace", Field, 12},
- {"Module.Sum", Field, 12},
- {"Module.Version", Field, 12},
- {"ParseBuildInfo", Func, 18},
- {"PrintStack", Func, 0},
- {"ReadBuildInfo", Func, 12},
- {"ReadGCStats", Func, 1},
- {"SetCrashOutput", Func, 23},
- {"SetGCPercent", Func, 1},
- {"SetMaxStack", Func, 2},
- {"SetMaxThreads", Func, 2},
- {"SetMemoryLimit", Func, 19},
- {"SetPanicOnFault", Func, 3},
- {"SetTraceback", Func, 6},
- {"Stack", Func, 0},
- {"WriteHeapDump", Func, 3},
- },
- "runtime/metrics": {
- {"(Value).Float64", Method, 16},
- {"(Value).Float64Histogram", Method, 16},
- {"(Value).Kind", Method, 16},
- {"(Value).Uint64", Method, 16},
- {"All", Func, 16},
- {"Description", Type, 16},
- {"Description.Cumulative", Field, 16},
- {"Description.Description", Field, 16},
- {"Description.Kind", Field, 16},
- {"Description.Name", Field, 16},
- {"Float64Histogram", Type, 16},
- {"Float64Histogram.Buckets", Field, 16},
- {"Float64Histogram.Counts", Field, 16},
- {"KindBad", Const, 16},
- {"KindFloat64", Const, 16},
- {"KindFloat64Histogram", Const, 16},
- {"KindUint64", Const, 16},
- {"Read", Func, 16},
- {"Sample", Type, 16},
- {"Sample.Name", Field, 16},
- {"Sample.Value", Field, 16},
- {"Value", Type, 16},
- {"ValueKind", Type, 16},
- },
- "runtime/pprof": {
- {"(*Profile).Add", Method, 0},
- {"(*Profile).Count", Method, 0},
- {"(*Profile).Name", Method, 0},
- {"(*Profile).Remove", Method, 0},
- {"(*Profile).WriteTo", Method, 0},
- {"Do", Func, 9},
- {"ForLabels", Func, 9},
- {"Label", Func, 9},
- {"LabelSet", Type, 9},
- {"Labels", Func, 9},
- {"Lookup", Func, 0},
- {"NewProfile", Func, 0},
- {"Profile", Type, 0},
- {"Profiles", Func, 0},
- {"SetGoroutineLabels", Func, 9},
- {"StartCPUProfile", Func, 0},
- {"StopCPUProfile", Func, 0},
- {"WithLabels", Func, 9},
- {"WriteHeapProfile", Func, 0},
- },
- "runtime/trace": {
- {"(*Region).End", Method, 11},
- {"(*Task).End", Method, 11},
- {"IsEnabled", Func, 11},
- {"Log", Func, 11},
- {"Logf", Func, 11},
- {"NewTask", Func, 11},
- {"Region", Type, 11},
- {"Start", Func, 5},
- {"StartRegion", Func, 11},
- {"Stop", Func, 5},
- {"Task", Type, 11},
- {"WithRegion", Func, 11},
- },
- "slices": {
- {"All", Func, 23},
- {"AppendSeq", Func, 23},
- {"Backward", Func, 23},
- {"BinarySearch", Func, 21},
- {"BinarySearchFunc", Func, 21},
- {"Chunk", Func, 23},
- {"Clip", Func, 21},
- {"Clone", Func, 21},
- {"Collect", Func, 23},
- {"Compact", Func, 21},
- {"CompactFunc", Func, 21},
- {"Compare", Func, 21},
- {"CompareFunc", Func, 21},
- {"Concat", Func, 22},
- {"Contains", Func, 21},
- {"ContainsFunc", Func, 21},
- {"Delete", Func, 21},
- {"DeleteFunc", Func, 21},
- {"Equal", Func, 21},
- {"EqualFunc", Func, 21},
- {"Grow", Func, 21},
- {"Index", Func, 21},
- {"IndexFunc", Func, 21},
- {"Insert", Func, 21},
- {"IsSorted", Func, 21},
- {"IsSortedFunc", Func, 21},
- {"Max", Func, 21},
- {"MaxFunc", Func, 21},
- {"Min", Func, 21},
- {"MinFunc", Func, 21},
- {"Repeat", Func, 23},
- {"Replace", Func, 21},
- {"Reverse", Func, 21},
- {"Sort", Func, 21},
- {"SortFunc", Func, 21},
- {"SortStableFunc", Func, 21},
- {"Sorted", Func, 23},
- {"SortedFunc", Func, 23},
- {"SortedStableFunc", Func, 23},
- {"Values", Func, 23},
- },
- "sort": {
- {"(Float64Slice).Len", Method, 0},
- {"(Float64Slice).Less", Method, 0},
- {"(Float64Slice).Search", Method, 0},
- {"(Float64Slice).Sort", Method, 0},
- {"(Float64Slice).Swap", Method, 0},
- {"(IntSlice).Len", Method, 0},
- {"(IntSlice).Less", Method, 0},
- {"(IntSlice).Search", Method, 0},
- {"(IntSlice).Sort", Method, 0},
- {"(IntSlice).Swap", Method, 0},
- {"(StringSlice).Len", Method, 0},
- {"(StringSlice).Less", Method, 0},
- {"(StringSlice).Search", Method, 0},
- {"(StringSlice).Sort", Method, 0},
- {"(StringSlice).Swap", Method, 0},
- {"Find", Func, 19},
- {"Float64Slice", Type, 0},
- {"Float64s", Func, 0},
- {"Float64sAreSorted", Func, 0},
- {"IntSlice", Type, 0},
- {"Interface", Type, 0},
- {"Ints", Func, 0},
- {"IntsAreSorted", Func, 0},
- {"IsSorted", Func, 0},
- {"Reverse", Func, 1},
- {"Search", Func, 0},
- {"SearchFloat64s", Func, 0},
- {"SearchInts", Func, 0},
- {"SearchStrings", Func, 0},
- {"Slice", Func, 8},
- {"SliceIsSorted", Func, 8},
- {"SliceStable", Func, 8},
- {"Sort", Func, 0},
- {"Stable", Func, 2},
- {"StringSlice", Type, 0},
- {"Strings", Func, 0},
- {"StringsAreSorted", Func, 0},
- },
- "strconv": {
- {"(*NumError).Error", Method, 0},
- {"(*NumError).Unwrap", Method, 14},
- {"AppendBool", Func, 0},
- {"AppendFloat", Func, 0},
- {"AppendInt", Func, 0},
- {"AppendQuote", Func, 0},
- {"AppendQuoteRune", Func, 0},
- {"AppendQuoteRuneToASCII", Func, 0},
- {"AppendQuoteRuneToGraphic", Func, 6},
- {"AppendQuoteToASCII", Func, 0},
- {"AppendQuoteToGraphic", Func, 6},
- {"AppendUint", Func, 0},
- {"Atoi", Func, 0},
- {"CanBackquote", Func, 0},
- {"ErrRange", Var, 0},
- {"ErrSyntax", Var, 0},
- {"FormatBool", Func, 0},
- {"FormatComplex", Func, 15},
- {"FormatFloat", Func, 0},
- {"FormatInt", Func, 0},
- {"FormatUint", Func, 0},
- {"IntSize", Const, 0},
- {"IsGraphic", Func, 6},
- {"IsPrint", Func, 0},
- {"Itoa", Func, 0},
- {"NumError", Type, 0},
- {"NumError.Err", Field, 0},
- {"NumError.Func", Field, 0},
- {"NumError.Num", Field, 0},
- {"ParseBool", Func, 0},
- {"ParseComplex", Func, 15},
- {"ParseFloat", Func, 0},
- {"ParseInt", Func, 0},
- {"ParseUint", Func, 0},
- {"Quote", Func, 0},
- {"QuoteRune", Func, 0},
- {"QuoteRuneToASCII", Func, 0},
- {"QuoteRuneToGraphic", Func, 6},
- {"QuoteToASCII", Func, 0},
- {"QuoteToGraphic", Func, 6},
- {"QuotedPrefix", Func, 17},
- {"Unquote", Func, 0},
- {"UnquoteChar", Func, 0},
- },
- "strings": {
- {"(*Builder).Cap", Method, 12},
- {"(*Builder).Grow", Method, 10},
- {"(*Builder).Len", Method, 10},
- {"(*Builder).Reset", Method, 10},
- {"(*Builder).String", Method, 10},
- {"(*Builder).Write", Method, 10},
- {"(*Builder).WriteByte", Method, 10},
- {"(*Builder).WriteRune", Method, 10},
- {"(*Builder).WriteString", Method, 10},
- {"(*Reader).Len", Method, 0},
- {"(*Reader).Read", Method, 0},
- {"(*Reader).ReadAt", Method, 0},
- {"(*Reader).ReadByte", Method, 0},
- {"(*Reader).ReadRune", Method, 0},
- {"(*Reader).Reset", Method, 7},
- {"(*Reader).Seek", Method, 0},
- {"(*Reader).Size", Method, 5},
- {"(*Reader).UnreadByte", Method, 0},
- {"(*Reader).UnreadRune", Method, 0},
- {"(*Reader).WriteTo", Method, 1},
- {"(*Replacer).Replace", Method, 0},
- {"(*Replacer).WriteString", Method, 0},
- {"Builder", Type, 10},
- {"Clone", Func, 18},
- {"Compare", Func, 5},
- {"Contains", Func, 0},
- {"ContainsAny", Func, 0},
- {"ContainsFunc", Func, 21},
- {"ContainsRune", Func, 0},
- {"Count", Func, 0},
- {"Cut", Func, 18},
- {"CutPrefix", Func, 20},
- {"CutSuffix", Func, 20},
- {"EqualFold", Func, 0},
- {"Fields", Func, 0},
- {"FieldsFunc", Func, 0},
- {"HasPrefix", Func, 0},
- {"HasSuffix", Func, 0},
- {"Index", Func, 0},
- {"IndexAny", Func, 0},
- {"IndexByte", Func, 2},
- {"IndexFunc", Func, 0},
- {"IndexRune", Func, 0},
- {"Join", Func, 0},
- {"LastIndex", Func, 0},
- {"LastIndexAny", Func, 0},
- {"LastIndexByte", Func, 5},
- {"LastIndexFunc", Func, 0},
- {"Map", Func, 0},
- {"NewReader", Func, 0},
- {"NewReplacer", Func, 0},
- {"Reader", Type, 0},
- {"Repeat", Func, 0},
- {"Replace", Func, 0},
- {"ReplaceAll", Func, 12},
- {"Replacer", Type, 0},
- {"Split", Func, 0},
- {"SplitAfter", Func, 0},
- {"SplitAfterN", Func, 0},
- {"SplitN", Func, 0},
- {"Title", Func, 0},
- {"ToLower", Func, 0},
- {"ToLowerSpecial", Func, 0},
- {"ToTitle", Func, 0},
- {"ToTitleSpecial", Func, 0},
- {"ToUpper", Func, 0},
- {"ToUpperSpecial", Func, 0},
- {"ToValidUTF8", Func, 13},
- {"Trim", Func, 0},
- {"TrimFunc", Func, 0},
- {"TrimLeft", Func, 0},
- {"TrimLeftFunc", Func, 0},
- {"TrimPrefix", Func, 1},
- {"TrimRight", Func, 0},
- {"TrimRightFunc", Func, 0},
- {"TrimSpace", Func, 0},
- {"TrimSuffix", Func, 1},
- },
- "structs": {
- {"HostLayout", Type, 23},
- },
- "sync": {
- {"(*Cond).Broadcast", Method, 0},
- {"(*Cond).Signal", Method, 0},
- {"(*Cond).Wait", Method, 0},
- {"(*Map).Clear", Method, 23},
- {"(*Map).CompareAndDelete", Method, 20},
- {"(*Map).CompareAndSwap", Method, 20},
- {"(*Map).Delete", Method, 9},
- {"(*Map).Load", Method, 9},
- {"(*Map).LoadAndDelete", Method, 15},
- {"(*Map).LoadOrStore", Method, 9},
- {"(*Map).Range", Method, 9},
- {"(*Map).Store", Method, 9},
- {"(*Map).Swap", Method, 20},
- {"(*Mutex).Lock", Method, 0},
- {"(*Mutex).TryLock", Method, 18},
- {"(*Mutex).Unlock", Method, 0},
- {"(*Once).Do", Method, 0},
- {"(*Pool).Get", Method, 3},
- {"(*Pool).Put", Method, 3},
- {"(*RWMutex).Lock", Method, 0},
- {"(*RWMutex).RLock", Method, 0},
- {"(*RWMutex).RLocker", Method, 0},
- {"(*RWMutex).RUnlock", Method, 0},
- {"(*RWMutex).TryLock", Method, 18},
- {"(*RWMutex).TryRLock", Method, 18},
- {"(*RWMutex).Unlock", Method, 0},
- {"(*WaitGroup).Add", Method, 0},
- {"(*WaitGroup).Done", Method, 0},
- {"(*WaitGroup).Wait", Method, 0},
- {"Cond", Type, 0},
- {"Cond.L", Field, 0},
- {"Locker", Type, 0},
- {"Map", Type, 9},
- {"Mutex", Type, 0},
- {"NewCond", Func, 0},
- {"Once", Type, 0},
- {"OnceFunc", Func, 21},
- {"OnceValue", Func, 21},
- {"OnceValues", Func, 21},
- {"Pool", Type, 3},
- {"Pool.New", Field, 3},
- {"RWMutex", Type, 0},
- {"WaitGroup", Type, 0},
- },
- "sync/atomic": {
- {"(*Bool).CompareAndSwap", Method, 19},
- {"(*Bool).Load", Method, 19},
- {"(*Bool).Store", Method, 19},
- {"(*Bool).Swap", Method, 19},
- {"(*Int32).Add", Method, 19},
- {"(*Int32).And", Method, 23},
- {"(*Int32).CompareAndSwap", Method, 19},
- {"(*Int32).Load", Method, 19},
- {"(*Int32).Or", Method, 23},
- {"(*Int32).Store", Method, 19},
- {"(*Int32).Swap", Method, 19},
- {"(*Int64).Add", Method, 19},
- {"(*Int64).And", Method, 23},
- {"(*Int64).CompareAndSwap", Method, 19},
- {"(*Int64).Load", Method, 19},
- {"(*Int64).Or", Method, 23},
- {"(*Int64).Store", Method, 19},
- {"(*Int64).Swap", Method, 19},
- {"(*Pointer).CompareAndSwap", Method, 19},
- {"(*Pointer).Load", Method, 19},
- {"(*Pointer).Store", Method, 19},
- {"(*Pointer).Swap", Method, 19},
- {"(*Uint32).Add", Method, 19},
- {"(*Uint32).And", Method, 23},
- {"(*Uint32).CompareAndSwap", Method, 19},
- {"(*Uint32).Load", Method, 19},
- {"(*Uint32).Or", Method, 23},
- {"(*Uint32).Store", Method, 19},
- {"(*Uint32).Swap", Method, 19},
- {"(*Uint64).Add", Method, 19},
- {"(*Uint64).And", Method, 23},
- {"(*Uint64).CompareAndSwap", Method, 19},
- {"(*Uint64).Load", Method, 19},
- {"(*Uint64).Or", Method, 23},
- {"(*Uint64).Store", Method, 19},
- {"(*Uint64).Swap", Method, 19},
- {"(*Uintptr).Add", Method, 19},
- {"(*Uintptr).And", Method, 23},
- {"(*Uintptr).CompareAndSwap", Method, 19},
- {"(*Uintptr).Load", Method, 19},
- {"(*Uintptr).Or", Method, 23},
- {"(*Uintptr).Store", Method, 19},
- {"(*Uintptr).Swap", Method, 19},
- {"(*Value).CompareAndSwap", Method, 17},
- {"(*Value).Load", Method, 4},
- {"(*Value).Store", Method, 4},
- {"(*Value).Swap", Method, 17},
- {"AddInt32", Func, 0},
- {"AddInt64", Func, 0},
- {"AddUint32", Func, 0},
- {"AddUint64", Func, 0},
- {"AddUintptr", Func, 0},
- {"AndInt32", Func, 23},
- {"AndInt64", Func, 23},
- {"AndUint32", Func, 23},
- {"AndUint64", Func, 23},
- {"AndUintptr", Func, 23},
- {"Bool", Type, 19},
- {"CompareAndSwapInt32", Func, 0},
- {"CompareAndSwapInt64", Func, 0},
- {"CompareAndSwapPointer", Func, 0},
- {"CompareAndSwapUint32", Func, 0},
- {"CompareAndSwapUint64", Func, 0},
- {"CompareAndSwapUintptr", Func, 0},
- {"Int32", Type, 19},
- {"Int64", Type, 19},
- {"LoadInt32", Func, 0},
- {"LoadInt64", Func, 0},
- {"LoadPointer", Func, 0},
- {"LoadUint32", Func, 0},
- {"LoadUint64", Func, 0},
- {"LoadUintptr", Func, 0},
- {"OrInt32", Func, 23},
- {"OrInt64", Func, 23},
- {"OrUint32", Func, 23},
- {"OrUint64", Func, 23},
- {"OrUintptr", Func, 23},
- {"Pointer", Type, 19},
- {"StoreInt32", Func, 0},
- {"StoreInt64", Func, 0},
- {"StorePointer", Func, 0},
- {"StoreUint32", Func, 0},
- {"StoreUint64", Func, 0},
- {"StoreUintptr", Func, 0},
- {"SwapInt32", Func, 2},
- {"SwapInt64", Func, 2},
- {"SwapPointer", Func, 2},
- {"SwapUint32", Func, 2},
- {"SwapUint64", Func, 2},
- {"SwapUintptr", Func, 2},
- {"Uint32", Type, 19},
- {"Uint64", Type, 19},
- {"Uintptr", Type, 19},
- {"Value", Type, 4},
- },
- "syscall": {
- {"(*Cmsghdr).SetLen", Method, 0},
- {"(*DLL).FindProc", Method, 0},
- {"(*DLL).MustFindProc", Method, 0},
- {"(*DLL).Release", Method, 0},
- {"(*DLLError).Error", Method, 0},
- {"(*DLLError).Unwrap", Method, 16},
- {"(*Filetime).Nanoseconds", Method, 0},
- {"(*Iovec).SetLen", Method, 0},
- {"(*LazyDLL).Handle", Method, 0},
- {"(*LazyDLL).Load", Method, 0},
- {"(*LazyDLL).NewProc", Method, 0},
- {"(*LazyProc).Addr", Method, 0},
- {"(*LazyProc).Call", Method, 0},
- {"(*LazyProc).Find", Method, 0},
- {"(*Msghdr).SetControllen", Method, 0},
- {"(*Proc).Addr", Method, 0},
- {"(*Proc).Call", Method, 0},
- {"(*PtraceRegs).PC", Method, 0},
- {"(*PtraceRegs).SetPC", Method, 0},
- {"(*RawSockaddrAny).Sockaddr", Method, 0},
- {"(*SID).Copy", Method, 0},
- {"(*SID).Len", Method, 0},
- {"(*SID).LookupAccount", Method, 0},
- {"(*SID).String", Method, 0},
- {"(*Timespec).Nano", Method, 0},
- {"(*Timespec).Unix", Method, 0},
- {"(*Timeval).Nano", Method, 0},
- {"(*Timeval).Nanoseconds", Method, 0},
- {"(*Timeval).Unix", Method, 0},
- {"(Errno).Error", Method, 0},
- {"(Errno).Is", Method, 13},
- {"(Errno).Temporary", Method, 0},
- {"(Errno).Timeout", Method, 0},
- {"(Signal).Signal", Method, 0},
- {"(Signal).String", Method, 0},
- {"(Token).Close", Method, 0},
- {"(Token).GetTokenPrimaryGroup", Method, 0},
- {"(Token).GetTokenUser", Method, 0},
- {"(Token).GetUserProfileDirectory", Method, 0},
- {"(WaitStatus).Continued", Method, 0},
- {"(WaitStatus).CoreDump", Method, 0},
- {"(WaitStatus).ExitStatus", Method, 0},
- {"(WaitStatus).Exited", Method, 0},
- {"(WaitStatus).Signal", Method, 0},
- {"(WaitStatus).Signaled", Method, 0},
- {"(WaitStatus).StopSignal", Method, 0},
- {"(WaitStatus).Stopped", Method, 0},
- {"(WaitStatus).TrapCause", Method, 0},
- {"AF_ALG", Const, 0},
- {"AF_APPLETALK", Const, 0},
- {"AF_ARP", Const, 0},
- {"AF_ASH", Const, 0},
- {"AF_ATM", Const, 0},
- {"AF_ATMPVC", Const, 0},
- {"AF_ATMSVC", Const, 0},
- {"AF_AX25", Const, 0},
- {"AF_BLUETOOTH", Const, 0},
- {"AF_BRIDGE", Const, 0},
- {"AF_CAIF", Const, 0},
- {"AF_CAN", Const, 0},
- {"AF_CCITT", Const, 0},
- {"AF_CHAOS", Const, 0},
- {"AF_CNT", Const, 0},
- {"AF_COIP", Const, 0},
- {"AF_DATAKIT", Const, 0},
- {"AF_DECnet", Const, 0},
- {"AF_DLI", Const, 0},
- {"AF_E164", Const, 0},
- {"AF_ECMA", Const, 0},
- {"AF_ECONET", Const, 0},
- {"AF_ENCAP", Const, 1},
- {"AF_FILE", Const, 0},
- {"AF_HYLINK", Const, 0},
- {"AF_IEEE80211", Const, 0},
- {"AF_IEEE802154", Const, 0},
- {"AF_IMPLINK", Const, 0},
- {"AF_INET", Const, 0},
- {"AF_INET6", Const, 0},
- {"AF_INET6_SDP", Const, 3},
- {"AF_INET_SDP", Const, 3},
- {"AF_IPX", Const, 0},
- {"AF_IRDA", Const, 0},
- {"AF_ISDN", Const, 0},
- {"AF_ISO", Const, 0},
- {"AF_IUCV", Const, 0},
- {"AF_KEY", Const, 0},
- {"AF_LAT", Const, 0},
- {"AF_LINK", Const, 0},
- {"AF_LLC", Const, 0},
- {"AF_LOCAL", Const, 0},
- {"AF_MAX", Const, 0},
- {"AF_MPLS", Const, 1},
- {"AF_NATM", Const, 0},
- {"AF_NDRV", Const, 0},
- {"AF_NETBEUI", Const, 0},
- {"AF_NETBIOS", Const, 0},
- {"AF_NETGRAPH", Const, 0},
- {"AF_NETLINK", Const, 0},
- {"AF_NETROM", Const, 0},
- {"AF_NS", Const, 0},
- {"AF_OROUTE", Const, 1},
- {"AF_OSI", Const, 0},
- {"AF_PACKET", Const, 0},
- {"AF_PHONET", Const, 0},
- {"AF_PPP", Const, 0},
- {"AF_PPPOX", Const, 0},
- {"AF_PUP", Const, 0},
- {"AF_RDS", Const, 0},
- {"AF_RESERVED_36", Const, 0},
- {"AF_ROSE", Const, 0},
- {"AF_ROUTE", Const, 0},
- {"AF_RXRPC", Const, 0},
- {"AF_SCLUSTER", Const, 0},
- {"AF_SECURITY", Const, 0},
- {"AF_SIP", Const, 0},
- {"AF_SLOW", Const, 0},
- {"AF_SNA", Const, 0},
- {"AF_SYSTEM", Const, 0},
- {"AF_TIPC", Const, 0},
- {"AF_UNIX", Const, 0},
- {"AF_UNSPEC", Const, 0},
- {"AF_UTUN", Const, 16},
- {"AF_VENDOR00", Const, 0},
- {"AF_VENDOR01", Const, 0},
- {"AF_VENDOR02", Const, 0},
- {"AF_VENDOR03", Const, 0},
- {"AF_VENDOR04", Const, 0},
- {"AF_VENDOR05", Const, 0},
- {"AF_VENDOR06", Const, 0},
- {"AF_VENDOR07", Const, 0},
- {"AF_VENDOR08", Const, 0},
- {"AF_VENDOR09", Const, 0},
- {"AF_VENDOR10", Const, 0},
- {"AF_VENDOR11", Const, 0},
- {"AF_VENDOR12", Const, 0},
- {"AF_VENDOR13", Const, 0},
- {"AF_VENDOR14", Const, 0},
- {"AF_VENDOR15", Const, 0},
- {"AF_VENDOR16", Const, 0},
- {"AF_VENDOR17", Const, 0},
- {"AF_VENDOR18", Const, 0},
- {"AF_VENDOR19", Const, 0},
- {"AF_VENDOR20", Const, 0},
- {"AF_VENDOR21", Const, 0},
- {"AF_VENDOR22", Const, 0},
- {"AF_VENDOR23", Const, 0},
- {"AF_VENDOR24", Const, 0},
- {"AF_VENDOR25", Const, 0},
- {"AF_VENDOR26", Const, 0},
- {"AF_VENDOR27", Const, 0},
- {"AF_VENDOR28", Const, 0},
- {"AF_VENDOR29", Const, 0},
- {"AF_VENDOR30", Const, 0},
- {"AF_VENDOR31", Const, 0},
- {"AF_VENDOR32", Const, 0},
- {"AF_VENDOR33", Const, 0},
- {"AF_VENDOR34", Const, 0},
- {"AF_VENDOR35", Const, 0},
- {"AF_VENDOR36", Const, 0},
- {"AF_VENDOR37", Const, 0},
- {"AF_VENDOR38", Const, 0},
- {"AF_VENDOR39", Const, 0},
- {"AF_VENDOR40", Const, 0},
- {"AF_VENDOR41", Const, 0},
- {"AF_VENDOR42", Const, 0},
- {"AF_VENDOR43", Const, 0},
- {"AF_VENDOR44", Const, 0},
- {"AF_VENDOR45", Const, 0},
- {"AF_VENDOR46", Const, 0},
- {"AF_VENDOR47", Const, 0},
- {"AF_WANPIPE", Const, 0},
- {"AF_X25", Const, 0},
- {"AI_CANONNAME", Const, 1},
- {"AI_NUMERICHOST", Const, 1},
- {"AI_PASSIVE", Const, 1},
- {"APPLICATION_ERROR", Const, 0},
- {"ARPHRD_ADAPT", Const, 0},
- {"ARPHRD_APPLETLK", Const, 0},
- {"ARPHRD_ARCNET", Const, 0},
- {"ARPHRD_ASH", Const, 0},
- {"ARPHRD_ATM", Const, 0},
- {"ARPHRD_AX25", Const, 0},
- {"ARPHRD_BIF", Const, 0},
- {"ARPHRD_CHAOS", Const, 0},
- {"ARPHRD_CISCO", Const, 0},
- {"ARPHRD_CSLIP", Const, 0},
- {"ARPHRD_CSLIP6", Const, 0},
- {"ARPHRD_DDCMP", Const, 0},
- {"ARPHRD_DLCI", Const, 0},
- {"ARPHRD_ECONET", Const, 0},
- {"ARPHRD_EETHER", Const, 0},
- {"ARPHRD_ETHER", Const, 0},
- {"ARPHRD_EUI64", Const, 0},
- {"ARPHRD_FCAL", Const, 0},
- {"ARPHRD_FCFABRIC", Const, 0},
- {"ARPHRD_FCPL", Const, 0},
- {"ARPHRD_FCPP", Const, 0},
- {"ARPHRD_FDDI", Const, 0},
- {"ARPHRD_FRAD", Const, 0},
- {"ARPHRD_FRELAY", Const, 1},
- {"ARPHRD_HDLC", Const, 0},
- {"ARPHRD_HIPPI", Const, 0},
- {"ARPHRD_HWX25", Const, 0},
- {"ARPHRD_IEEE1394", Const, 0},
- {"ARPHRD_IEEE802", Const, 0},
- {"ARPHRD_IEEE80211", Const, 0},
- {"ARPHRD_IEEE80211_PRISM", Const, 0},
- {"ARPHRD_IEEE80211_RADIOTAP", Const, 0},
- {"ARPHRD_IEEE802154", Const, 0},
- {"ARPHRD_IEEE802154_PHY", Const, 0},
- {"ARPHRD_IEEE802_TR", Const, 0},
- {"ARPHRD_INFINIBAND", Const, 0},
- {"ARPHRD_IPDDP", Const, 0},
- {"ARPHRD_IPGRE", Const, 0},
- {"ARPHRD_IRDA", Const, 0},
- {"ARPHRD_LAPB", Const, 0},
- {"ARPHRD_LOCALTLK", Const, 0},
- {"ARPHRD_LOOPBACK", Const, 0},
- {"ARPHRD_METRICOM", Const, 0},
- {"ARPHRD_NETROM", Const, 0},
- {"ARPHRD_NONE", Const, 0},
- {"ARPHRD_PIMREG", Const, 0},
- {"ARPHRD_PPP", Const, 0},
- {"ARPHRD_PRONET", Const, 0},
- {"ARPHRD_RAWHDLC", Const, 0},
- {"ARPHRD_ROSE", Const, 0},
- {"ARPHRD_RSRVD", Const, 0},
- {"ARPHRD_SIT", Const, 0},
- {"ARPHRD_SKIP", Const, 0},
- {"ARPHRD_SLIP", Const, 0},
- {"ARPHRD_SLIP6", Const, 0},
- {"ARPHRD_STRIP", Const, 1},
- {"ARPHRD_TUNNEL", Const, 0},
- {"ARPHRD_TUNNEL6", Const, 0},
- {"ARPHRD_VOID", Const, 0},
- {"ARPHRD_X25", Const, 0},
- {"AUTHTYPE_CLIENT", Const, 0},
- {"AUTHTYPE_SERVER", Const, 0},
- {"Accept", Func, 0},
- {"Accept4", Func, 1},
- {"AcceptEx", Func, 0},
- {"Access", Func, 0},
- {"Acct", Func, 0},
- {"AddrinfoW", Type, 1},
- {"AddrinfoW.Addr", Field, 1},
- {"AddrinfoW.Addrlen", Field, 1},
- {"AddrinfoW.Canonname", Field, 1},
- {"AddrinfoW.Family", Field, 1},
- {"AddrinfoW.Flags", Field, 1},
- {"AddrinfoW.Next", Field, 1},
- {"AddrinfoW.Protocol", Field, 1},
- {"AddrinfoW.Socktype", Field, 1},
- {"Adjtime", Func, 0},
- {"Adjtimex", Func, 0},
- {"AllThreadsSyscall", Func, 16},
- {"AllThreadsSyscall6", Func, 16},
- {"AttachLsf", Func, 0},
- {"B0", Const, 0},
- {"B1000000", Const, 0},
- {"B110", Const, 0},
- {"B115200", Const, 0},
- {"B1152000", Const, 0},
- {"B1200", Const, 0},
- {"B134", Const, 0},
- {"B14400", Const, 1},
- {"B150", Const, 0},
- {"B1500000", Const, 0},
- {"B1800", Const, 0},
- {"B19200", Const, 0},
- {"B200", Const, 0},
- {"B2000000", Const, 0},
- {"B230400", Const, 0},
- {"B2400", Const, 0},
- {"B2500000", Const, 0},
- {"B28800", Const, 1},
- {"B300", Const, 0},
- {"B3000000", Const, 0},
- {"B3500000", Const, 0},
- {"B38400", Const, 0},
- {"B4000000", Const, 0},
- {"B460800", Const, 0},
- {"B4800", Const, 0},
- {"B50", Const, 0},
- {"B500000", Const, 0},
- {"B57600", Const, 0},
- {"B576000", Const, 0},
- {"B600", Const, 0},
- {"B7200", Const, 1},
- {"B75", Const, 0},
- {"B76800", Const, 1},
- {"B921600", Const, 0},
- {"B9600", Const, 0},
- {"BASE_PROTOCOL", Const, 2},
- {"BIOCFEEDBACK", Const, 0},
- {"BIOCFLUSH", Const, 0},
- {"BIOCGBLEN", Const, 0},
- {"BIOCGDIRECTION", Const, 0},
- {"BIOCGDIRFILT", Const, 1},
- {"BIOCGDLT", Const, 0},
- {"BIOCGDLTLIST", Const, 0},
- {"BIOCGETBUFMODE", Const, 0},
- {"BIOCGETIF", Const, 0},
- {"BIOCGETZMAX", Const, 0},
- {"BIOCGFEEDBACK", Const, 1},
- {"BIOCGFILDROP", Const, 1},
- {"BIOCGHDRCMPLT", Const, 0},
- {"BIOCGRSIG", Const, 0},
- {"BIOCGRTIMEOUT", Const, 0},
- {"BIOCGSEESENT", Const, 0},
- {"BIOCGSTATS", Const, 0},
- {"BIOCGSTATSOLD", Const, 1},
- {"BIOCGTSTAMP", Const, 1},
- {"BIOCIMMEDIATE", Const, 0},
- {"BIOCLOCK", Const, 0},
- {"BIOCPROMISC", Const, 0},
- {"BIOCROTZBUF", Const, 0},
- {"BIOCSBLEN", Const, 0},
- {"BIOCSDIRECTION", Const, 0},
- {"BIOCSDIRFILT", Const, 1},
- {"BIOCSDLT", Const, 0},
- {"BIOCSETBUFMODE", Const, 0},
- {"BIOCSETF", Const, 0},
- {"BIOCSETFNR", Const, 0},
- {"BIOCSETIF", Const, 0},
- {"BIOCSETWF", Const, 0},
- {"BIOCSETZBUF", Const, 0},
- {"BIOCSFEEDBACK", Const, 1},
- {"BIOCSFILDROP", Const, 1},
- {"BIOCSHDRCMPLT", Const, 0},
- {"BIOCSRSIG", Const, 0},
- {"BIOCSRTIMEOUT", Const, 0},
- {"BIOCSSEESENT", Const, 0},
- {"BIOCSTCPF", Const, 1},
- {"BIOCSTSTAMP", Const, 1},
- {"BIOCSUDPF", Const, 1},
- {"BIOCVERSION", Const, 0},
- {"BPF_A", Const, 0},
- {"BPF_ABS", Const, 0},
- {"BPF_ADD", Const, 0},
- {"BPF_ALIGNMENT", Const, 0},
- {"BPF_ALIGNMENT32", Const, 1},
- {"BPF_ALU", Const, 0},
- {"BPF_AND", Const, 0},
- {"BPF_B", Const, 0},
- {"BPF_BUFMODE_BUFFER", Const, 0},
- {"BPF_BUFMODE_ZBUF", Const, 0},
- {"BPF_DFLTBUFSIZE", Const, 1},
- {"BPF_DIRECTION_IN", Const, 1},
- {"BPF_DIRECTION_OUT", Const, 1},
- {"BPF_DIV", Const, 0},
- {"BPF_H", Const, 0},
- {"BPF_IMM", Const, 0},
- {"BPF_IND", Const, 0},
- {"BPF_JA", Const, 0},
- {"BPF_JEQ", Const, 0},
- {"BPF_JGE", Const, 0},
- {"BPF_JGT", Const, 0},
- {"BPF_JMP", Const, 0},
- {"BPF_JSET", Const, 0},
- {"BPF_K", Const, 0},
- {"BPF_LD", Const, 0},
- {"BPF_LDX", Const, 0},
- {"BPF_LEN", Const, 0},
- {"BPF_LSH", Const, 0},
- {"BPF_MAJOR_VERSION", Const, 0},
- {"BPF_MAXBUFSIZE", Const, 0},
- {"BPF_MAXINSNS", Const, 0},
- {"BPF_MEM", Const, 0},
- {"BPF_MEMWORDS", Const, 0},
- {"BPF_MINBUFSIZE", Const, 0},
- {"BPF_MINOR_VERSION", Const, 0},
- {"BPF_MISC", Const, 0},
- {"BPF_MSH", Const, 0},
- {"BPF_MUL", Const, 0},
- {"BPF_NEG", Const, 0},
- {"BPF_OR", Const, 0},
- {"BPF_RELEASE", Const, 0},
- {"BPF_RET", Const, 0},
- {"BPF_RSH", Const, 0},
- {"BPF_ST", Const, 0},
- {"BPF_STX", Const, 0},
- {"BPF_SUB", Const, 0},
- {"BPF_TAX", Const, 0},
- {"BPF_TXA", Const, 0},
- {"BPF_T_BINTIME", Const, 1},
- {"BPF_T_BINTIME_FAST", Const, 1},
- {"BPF_T_BINTIME_MONOTONIC", Const, 1},
- {"BPF_T_BINTIME_MONOTONIC_FAST", Const, 1},
- {"BPF_T_FAST", Const, 1},
- {"BPF_T_FLAG_MASK", Const, 1},
- {"BPF_T_FORMAT_MASK", Const, 1},
- {"BPF_T_MICROTIME", Const, 1},
- {"BPF_T_MICROTIME_FAST", Const, 1},
- {"BPF_T_MICROTIME_MONOTONIC", Const, 1},
- {"BPF_T_MICROTIME_MONOTONIC_FAST", Const, 1},
- {"BPF_T_MONOTONIC", Const, 1},
- {"BPF_T_MONOTONIC_FAST", Const, 1},
- {"BPF_T_NANOTIME", Const, 1},
- {"BPF_T_NANOTIME_FAST", Const, 1},
- {"BPF_T_NANOTIME_MONOTONIC", Const, 1},
- {"BPF_T_NANOTIME_MONOTONIC_FAST", Const, 1},
- {"BPF_T_NONE", Const, 1},
- {"BPF_T_NORMAL", Const, 1},
- {"BPF_W", Const, 0},
- {"BPF_X", Const, 0},
- {"BRKINT", Const, 0},
- {"Bind", Func, 0},
- {"BindToDevice", Func, 0},
- {"BpfBuflen", Func, 0},
- {"BpfDatalink", Func, 0},
- {"BpfHdr", Type, 0},
- {"BpfHdr.Caplen", Field, 0},
- {"BpfHdr.Datalen", Field, 0},
- {"BpfHdr.Hdrlen", Field, 0},
- {"BpfHdr.Pad_cgo_0", Field, 0},
- {"BpfHdr.Tstamp", Field, 0},
- {"BpfHeadercmpl", Func, 0},
- {"BpfInsn", Type, 0},
- {"BpfInsn.Code", Field, 0},
- {"BpfInsn.Jf", Field, 0},
- {"BpfInsn.Jt", Field, 0},
- {"BpfInsn.K", Field, 0},
- {"BpfInterface", Func, 0},
- {"BpfJump", Func, 0},
- {"BpfProgram", Type, 0},
- {"BpfProgram.Insns", Field, 0},
- {"BpfProgram.Len", Field, 0},
- {"BpfProgram.Pad_cgo_0", Field, 0},
- {"BpfStat", Type, 0},
- {"BpfStat.Capt", Field, 2},
- {"BpfStat.Drop", Field, 0},
- {"BpfStat.Padding", Field, 2},
- {"BpfStat.Recv", Field, 0},
- {"BpfStats", Func, 0},
- {"BpfStmt", Func, 0},
- {"BpfTimeout", Func, 0},
- {"BpfTimeval", Type, 2},
- {"BpfTimeval.Sec", Field, 2},
- {"BpfTimeval.Usec", Field, 2},
- {"BpfVersion", Type, 0},
- {"BpfVersion.Major", Field, 0},
- {"BpfVersion.Minor", Field, 0},
- {"BpfZbuf", Type, 0},
- {"BpfZbuf.Bufa", Field, 0},
- {"BpfZbuf.Bufb", Field, 0},
- {"BpfZbuf.Buflen", Field, 0},
- {"BpfZbufHeader", Type, 0},
- {"BpfZbufHeader.Kernel_gen", Field, 0},
- {"BpfZbufHeader.Kernel_len", Field, 0},
- {"BpfZbufHeader.User_gen", Field, 0},
- {"BpfZbufHeader.X_bzh_pad", Field, 0},
- {"ByHandleFileInformation", Type, 0},
- {"ByHandleFileInformation.CreationTime", Field, 0},
- {"ByHandleFileInformation.FileAttributes", Field, 0},
- {"ByHandleFileInformation.FileIndexHigh", Field, 0},
- {"ByHandleFileInformation.FileIndexLow", Field, 0},
- {"ByHandleFileInformation.FileSizeHigh", Field, 0},
- {"ByHandleFileInformation.FileSizeLow", Field, 0},
- {"ByHandleFileInformation.LastAccessTime", Field, 0},
- {"ByHandleFileInformation.LastWriteTime", Field, 0},
- {"ByHandleFileInformation.NumberOfLinks", Field, 0},
- {"ByHandleFileInformation.VolumeSerialNumber", Field, 0},
- {"BytePtrFromString", Func, 1},
- {"ByteSliceFromString", Func, 1},
- {"CCR0_FLUSH", Const, 1},
- {"CERT_CHAIN_POLICY_AUTHENTICODE", Const, 0},
- {"CERT_CHAIN_POLICY_AUTHENTICODE_TS", Const, 0},
- {"CERT_CHAIN_POLICY_BASE", Const, 0},
- {"CERT_CHAIN_POLICY_BASIC_CONSTRAINTS", Const, 0},
- {"CERT_CHAIN_POLICY_EV", Const, 0},
- {"CERT_CHAIN_POLICY_MICROSOFT_ROOT", Const, 0},
- {"CERT_CHAIN_POLICY_NT_AUTH", Const, 0},
- {"CERT_CHAIN_POLICY_SSL", Const, 0},
- {"CERT_E_CN_NO_MATCH", Const, 0},
- {"CERT_E_EXPIRED", Const, 0},
- {"CERT_E_PURPOSE", Const, 0},
- {"CERT_E_ROLE", Const, 0},
- {"CERT_E_UNTRUSTEDROOT", Const, 0},
- {"CERT_STORE_ADD_ALWAYS", Const, 0},
- {"CERT_STORE_DEFER_CLOSE_UNTIL_LAST_FREE_FLAG", Const, 0},
- {"CERT_STORE_PROV_MEMORY", Const, 0},
- {"CERT_TRUST_HAS_EXCLUDED_NAME_CONSTRAINT", Const, 0},
- {"CERT_TRUST_HAS_NOT_DEFINED_NAME_CONSTRAINT", Const, 0},
- {"CERT_TRUST_HAS_NOT_PERMITTED_NAME_CONSTRAINT", Const, 0},
- {"CERT_TRUST_HAS_NOT_SUPPORTED_CRITICAL_EXT", Const, 0},
- {"CERT_TRUST_HAS_NOT_SUPPORTED_NAME_CONSTRAINT", Const, 0},
- {"CERT_TRUST_INVALID_BASIC_CONSTRAINTS", Const, 0},
- {"CERT_TRUST_INVALID_EXTENSION", Const, 0},
- {"CERT_TRUST_INVALID_NAME_CONSTRAINTS", Const, 0},
- {"CERT_TRUST_INVALID_POLICY_CONSTRAINTS", Const, 0},
- {"CERT_TRUST_IS_CYCLIC", Const, 0},
- {"CERT_TRUST_IS_EXPLICIT_DISTRUST", Const, 0},
- {"CERT_TRUST_IS_NOT_SIGNATURE_VALID", Const, 0},
- {"CERT_TRUST_IS_NOT_TIME_VALID", Const, 0},
- {"CERT_TRUST_IS_NOT_VALID_FOR_USAGE", Const, 0},
- {"CERT_TRUST_IS_OFFLINE_REVOCATION", Const, 0},
- {"CERT_TRUST_IS_REVOKED", Const, 0},
- {"CERT_TRUST_IS_UNTRUSTED_ROOT", Const, 0},
- {"CERT_TRUST_NO_ERROR", Const, 0},
- {"CERT_TRUST_NO_ISSUANCE_CHAIN_POLICY", Const, 0},
- {"CERT_TRUST_REVOCATION_STATUS_UNKNOWN", Const, 0},
- {"CFLUSH", Const, 1},
- {"CLOCAL", Const, 0},
- {"CLONE_CHILD_CLEARTID", Const, 2},
- {"CLONE_CHILD_SETTID", Const, 2},
- {"CLONE_CLEAR_SIGHAND", Const, 20},
- {"CLONE_CSIGNAL", Const, 3},
- {"CLONE_DETACHED", Const, 2},
- {"CLONE_FILES", Const, 2},
- {"CLONE_FS", Const, 2},
- {"CLONE_INTO_CGROUP", Const, 20},
- {"CLONE_IO", Const, 2},
- {"CLONE_NEWCGROUP", Const, 20},
- {"CLONE_NEWIPC", Const, 2},
- {"CLONE_NEWNET", Const, 2},
- {"CLONE_NEWNS", Const, 2},
- {"CLONE_NEWPID", Const, 2},
- {"CLONE_NEWTIME", Const, 20},
- {"CLONE_NEWUSER", Const, 2},
- {"CLONE_NEWUTS", Const, 2},
- {"CLONE_PARENT", Const, 2},
- {"CLONE_PARENT_SETTID", Const, 2},
- {"CLONE_PID", Const, 3},
- {"CLONE_PIDFD", Const, 20},
- {"CLONE_PTRACE", Const, 2},
- {"CLONE_SETTLS", Const, 2},
- {"CLONE_SIGHAND", Const, 2},
- {"CLONE_SYSVSEM", Const, 2},
- {"CLONE_THREAD", Const, 2},
- {"CLONE_UNTRACED", Const, 2},
- {"CLONE_VFORK", Const, 2},
- {"CLONE_VM", Const, 2},
- {"CPUID_CFLUSH", Const, 1},
- {"CREAD", Const, 0},
- {"CREATE_ALWAYS", Const, 0},
- {"CREATE_NEW", Const, 0},
- {"CREATE_NEW_PROCESS_GROUP", Const, 1},
- {"CREATE_UNICODE_ENVIRONMENT", Const, 0},
- {"CRYPT_DEFAULT_CONTAINER_OPTIONAL", Const, 0},
- {"CRYPT_DELETEKEYSET", Const, 0},
- {"CRYPT_MACHINE_KEYSET", Const, 0},
- {"CRYPT_NEWKEYSET", Const, 0},
- {"CRYPT_SILENT", Const, 0},
- {"CRYPT_VERIFYCONTEXT", Const, 0},
- {"CS5", Const, 0},
- {"CS6", Const, 0},
- {"CS7", Const, 0},
- {"CS8", Const, 0},
- {"CSIZE", Const, 0},
- {"CSTART", Const, 1},
- {"CSTATUS", Const, 1},
- {"CSTOP", Const, 1},
- {"CSTOPB", Const, 0},
- {"CSUSP", Const, 1},
- {"CTL_MAXNAME", Const, 0},
- {"CTL_NET", Const, 0},
- {"CTL_QUERY", Const, 1},
- {"CTRL_BREAK_EVENT", Const, 1},
- {"CTRL_CLOSE_EVENT", Const, 14},
- {"CTRL_C_EVENT", Const, 1},
- {"CTRL_LOGOFF_EVENT", Const, 14},
- {"CTRL_SHUTDOWN_EVENT", Const, 14},
- {"CancelIo", Func, 0},
- {"CancelIoEx", Func, 1},
- {"CertAddCertificateContextToStore", Func, 0},
- {"CertChainContext", Type, 0},
- {"CertChainContext.ChainCount", Field, 0},
- {"CertChainContext.Chains", Field, 0},
- {"CertChainContext.HasRevocationFreshnessTime", Field, 0},
- {"CertChainContext.LowerQualityChainCount", Field, 0},
- {"CertChainContext.LowerQualityChains", Field, 0},
- {"CertChainContext.RevocationFreshnessTime", Field, 0},
- {"CertChainContext.Size", Field, 0},
- {"CertChainContext.TrustStatus", Field, 0},
- {"CertChainElement", Type, 0},
- {"CertChainElement.ApplicationUsage", Field, 0},
- {"CertChainElement.CertContext", Field, 0},
- {"CertChainElement.ExtendedErrorInfo", Field, 0},
- {"CertChainElement.IssuanceUsage", Field, 0},
- {"CertChainElement.RevocationInfo", Field, 0},
- {"CertChainElement.Size", Field, 0},
- {"CertChainElement.TrustStatus", Field, 0},
- {"CertChainPara", Type, 0},
- {"CertChainPara.CacheResync", Field, 0},
- {"CertChainPara.CheckRevocationFreshnessTime", Field, 0},
- {"CertChainPara.RequestedUsage", Field, 0},
- {"CertChainPara.RequstedIssuancePolicy", Field, 0},
- {"CertChainPara.RevocationFreshnessTime", Field, 0},
- {"CertChainPara.Size", Field, 0},
- {"CertChainPara.URLRetrievalTimeout", Field, 0},
- {"CertChainPolicyPara", Type, 0},
- {"CertChainPolicyPara.ExtraPolicyPara", Field, 0},
- {"CertChainPolicyPara.Flags", Field, 0},
- {"CertChainPolicyPara.Size", Field, 0},
- {"CertChainPolicyStatus", Type, 0},
- {"CertChainPolicyStatus.ChainIndex", Field, 0},
- {"CertChainPolicyStatus.ElementIndex", Field, 0},
- {"CertChainPolicyStatus.Error", Field, 0},
- {"CertChainPolicyStatus.ExtraPolicyStatus", Field, 0},
- {"CertChainPolicyStatus.Size", Field, 0},
- {"CertCloseStore", Func, 0},
- {"CertContext", Type, 0},
- {"CertContext.CertInfo", Field, 0},
- {"CertContext.EncodedCert", Field, 0},
- {"CertContext.EncodingType", Field, 0},
- {"CertContext.Length", Field, 0},
- {"CertContext.Store", Field, 0},
- {"CertCreateCertificateContext", Func, 0},
- {"CertEnhKeyUsage", Type, 0},
- {"CertEnhKeyUsage.Length", Field, 0},
- {"CertEnhKeyUsage.UsageIdentifiers", Field, 0},
- {"CertEnumCertificatesInStore", Func, 0},
- {"CertFreeCertificateChain", Func, 0},
- {"CertFreeCertificateContext", Func, 0},
- {"CertGetCertificateChain", Func, 0},
- {"CertInfo", Type, 11},
- {"CertOpenStore", Func, 0},
- {"CertOpenSystemStore", Func, 0},
- {"CertRevocationCrlInfo", Type, 11},
- {"CertRevocationInfo", Type, 0},
- {"CertRevocationInfo.CrlInfo", Field, 0},
- {"CertRevocationInfo.FreshnessTime", Field, 0},
- {"CertRevocationInfo.HasFreshnessTime", Field, 0},
- {"CertRevocationInfo.OidSpecificInfo", Field, 0},
- {"CertRevocationInfo.RevocationOid", Field, 0},
- {"CertRevocationInfo.RevocationResult", Field, 0},
- {"CertRevocationInfo.Size", Field, 0},
- {"CertSimpleChain", Type, 0},
- {"CertSimpleChain.Elements", Field, 0},
- {"CertSimpleChain.HasRevocationFreshnessTime", Field, 0},
- {"CertSimpleChain.NumElements", Field, 0},
- {"CertSimpleChain.RevocationFreshnessTime", Field, 0},
- {"CertSimpleChain.Size", Field, 0},
- {"CertSimpleChain.TrustListInfo", Field, 0},
- {"CertSimpleChain.TrustStatus", Field, 0},
- {"CertTrustListInfo", Type, 11},
- {"CertTrustStatus", Type, 0},
- {"CertTrustStatus.ErrorStatus", Field, 0},
- {"CertTrustStatus.InfoStatus", Field, 0},
- {"CertUsageMatch", Type, 0},
- {"CertUsageMatch.Type", Field, 0},
- {"CertUsageMatch.Usage", Field, 0},
- {"CertVerifyCertificateChainPolicy", Func, 0},
- {"Chdir", Func, 0},
- {"CheckBpfVersion", Func, 0},
- {"Chflags", Func, 0},
- {"Chmod", Func, 0},
- {"Chown", Func, 0},
- {"Chroot", Func, 0},
- {"Clearenv", Func, 0},
- {"Close", Func, 0},
- {"CloseHandle", Func, 0},
- {"CloseOnExec", Func, 0},
- {"Closesocket", Func, 0},
- {"CmsgLen", Func, 0},
- {"CmsgSpace", Func, 0},
- {"Cmsghdr", Type, 0},
- {"Cmsghdr.Len", Field, 0},
- {"Cmsghdr.Level", Field, 0},
- {"Cmsghdr.Type", Field, 0},
- {"Cmsghdr.X__cmsg_data", Field, 0},
- {"CommandLineToArgv", Func, 0},
- {"ComputerName", Func, 0},
- {"Conn", Type, 9},
- {"Connect", Func, 0},
- {"ConnectEx", Func, 1},
- {"ConvertSidToStringSid", Func, 0},
- {"ConvertStringSidToSid", Func, 0},
- {"CopySid", Func, 0},
- {"Creat", Func, 0},
- {"CreateDirectory", Func, 0},
- {"CreateFile", Func, 0},
- {"CreateFileMapping", Func, 0},
- {"CreateHardLink", Func, 4},
- {"CreateIoCompletionPort", Func, 0},
- {"CreatePipe", Func, 0},
- {"CreateProcess", Func, 0},
- {"CreateProcessAsUser", Func, 10},
- {"CreateSymbolicLink", Func, 4},
- {"CreateToolhelp32Snapshot", Func, 4},
- {"Credential", Type, 0},
- {"Credential.Gid", Field, 0},
- {"Credential.Groups", Field, 0},
- {"Credential.NoSetGroups", Field, 9},
- {"Credential.Uid", Field, 0},
- {"CryptAcquireContext", Func, 0},
- {"CryptGenRandom", Func, 0},
- {"CryptReleaseContext", Func, 0},
- {"DIOCBSFLUSH", Const, 1},
- {"DIOCOSFPFLUSH", Const, 1},
- {"DLL", Type, 0},
- {"DLL.Handle", Field, 0},
- {"DLL.Name", Field, 0},
- {"DLLError", Type, 0},
- {"DLLError.Err", Field, 0},
- {"DLLError.Msg", Field, 0},
- {"DLLError.ObjName", Field, 0},
- {"DLT_A429", Const, 0},
- {"DLT_A653_ICM", Const, 0},
- {"DLT_AIRONET_HEADER", Const, 0},
- {"DLT_AOS", Const, 1},
- {"DLT_APPLE_IP_OVER_IEEE1394", Const, 0},
- {"DLT_ARCNET", Const, 0},
- {"DLT_ARCNET_LINUX", Const, 0},
- {"DLT_ATM_CLIP", Const, 0},
- {"DLT_ATM_RFC1483", Const, 0},
- {"DLT_AURORA", Const, 0},
- {"DLT_AX25", Const, 0},
- {"DLT_AX25_KISS", Const, 0},
- {"DLT_BACNET_MS_TP", Const, 0},
- {"DLT_BLUETOOTH_HCI_H4", Const, 0},
- {"DLT_BLUETOOTH_HCI_H4_WITH_PHDR", Const, 0},
- {"DLT_CAN20B", Const, 0},
- {"DLT_CAN_SOCKETCAN", Const, 1},
- {"DLT_CHAOS", Const, 0},
- {"DLT_CHDLC", Const, 0},
- {"DLT_CISCO_IOS", Const, 0},
- {"DLT_C_HDLC", Const, 0},
- {"DLT_C_HDLC_WITH_DIR", Const, 0},
- {"DLT_DBUS", Const, 1},
- {"DLT_DECT", Const, 1},
- {"DLT_DOCSIS", Const, 0},
- {"DLT_DVB_CI", Const, 1},
- {"DLT_ECONET", Const, 0},
- {"DLT_EN10MB", Const, 0},
- {"DLT_EN3MB", Const, 0},
- {"DLT_ENC", Const, 0},
- {"DLT_ERF", Const, 0},
- {"DLT_ERF_ETH", Const, 0},
- {"DLT_ERF_POS", Const, 0},
- {"DLT_FC_2", Const, 1},
- {"DLT_FC_2_WITH_FRAME_DELIMS", Const, 1},
- {"DLT_FDDI", Const, 0},
- {"DLT_FLEXRAY", Const, 0},
- {"DLT_FRELAY", Const, 0},
- {"DLT_FRELAY_WITH_DIR", Const, 0},
- {"DLT_GCOM_SERIAL", Const, 0},
- {"DLT_GCOM_T1E1", Const, 0},
- {"DLT_GPF_F", Const, 0},
- {"DLT_GPF_T", Const, 0},
- {"DLT_GPRS_LLC", Const, 0},
- {"DLT_GSMTAP_ABIS", Const, 1},
- {"DLT_GSMTAP_UM", Const, 1},
- {"DLT_HDLC", Const, 1},
- {"DLT_HHDLC", Const, 0},
- {"DLT_HIPPI", Const, 1},
- {"DLT_IBM_SN", Const, 0},
- {"DLT_IBM_SP", Const, 0},
- {"DLT_IEEE802", Const, 0},
- {"DLT_IEEE802_11", Const, 0},
- {"DLT_IEEE802_11_RADIO", Const, 0},
- {"DLT_IEEE802_11_RADIO_AVS", Const, 0},
- {"DLT_IEEE802_15_4", Const, 0},
- {"DLT_IEEE802_15_4_LINUX", Const, 0},
- {"DLT_IEEE802_15_4_NOFCS", Const, 1},
- {"DLT_IEEE802_15_4_NONASK_PHY", Const, 0},
- {"DLT_IEEE802_16_MAC_CPS", Const, 0},
- {"DLT_IEEE802_16_MAC_CPS_RADIO", Const, 0},
- {"DLT_IPFILTER", Const, 0},
- {"DLT_IPMB", Const, 0},
- {"DLT_IPMB_LINUX", Const, 0},
- {"DLT_IPNET", Const, 1},
- {"DLT_IPOIB", Const, 1},
- {"DLT_IPV4", Const, 1},
- {"DLT_IPV6", Const, 1},
- {"DLT_IP_OVER_FC", Const, 0},
- {"DLT_JUNIPER_ATM1", Const, 0},
- {"DLT_JUNIPER_ATM2", Const, 0},
- {"DLT_JUNIPER_ATM_CEMIC", Const, 1},
- {"DLT_JUNIPER_CHDLC", Const, 0},
- {"DLT_JUNIPER_ES", Const, 0},
- {"DLT_JUNIPER_ETHER", Const, 0},
- {"DLT_JUNIPER_FIBRECHANNEL", Const, 1},
- {"DLT_JUNIPER_FRELAY", Const, 0},
- {"DLT_JUNIPER_GGSN", Const, 0},
- {"DLT_JUNIPER_ISM", Const, 0},
- {"DLT_JUNIPER_MFR", Const, 0},
- {"DLT_JUNIPER_MLFR", Const, 0},
- {"DLT_JUNIPER_MLPPP", Const, 0},
- {"DLT_JUNIPER_MONITOR", Const, 0},
- {"DLT_JUNIPER_PIC_PEER", Const, 0},
- {"DLT_JUNIPER_PPP", Const, 0},
- {"DLT_JUNIPER_PPPOE", Const, 0},
- {"DLT_JUNIPER_PPPOE_ATM", Const, 0},
- {"DLT_JUNIPER_SERVICES", Const, 0},
- {"DLT_JUNIPER_SRX_E2E", Const, 1},
- {"DLT_JUNIPER_ST", Const, 0},
- {"DLT_JUNIPER_VP", Const, 0},
- {"DLT_JUNIPER_VS", Const, 1},
- {"DLT_LAPB_WITH_DIR", Const, 0},
- {"DLT_LAPD", Const, 0},
- {"DLT_LIN", Const, 0},
- {"DLT_LINUX_EVDEV", Const, 1},
- {"DLT_LINUX_IRDA", Const, 0},
- {"DLT_LINUX_LAPD", Const, 0},
- {"DLT_LINUX_PPP_WITHDIRECTION", Const, 0},
- {"DLT_LINUX_SLL", Const, 0},
- {"DLT_LOOP", Const, 0},
- {"DLT_LTALK", Const, 0},
- {"DLT_MATCHING_MAX", Const, 1},
- {"DLT_MATCHING_MIN", Const, 1},
- {"DLT_MFR", Const, 0},
- {"DLT_MOST", Const, 0},
- {"DLT_MPEG_2_TS", Const, 1},
- {"DLT_MPLS", Const, 1},
- {"DLT_MTP2", Const, 0},
- {"DLT_MTP2_WITH_PHDR", Const, 0},
- {"DLT_MTP3", Const, 0},
- {"DLT_MUX27010", Const, 1},
- {"DLT_NETANALYZER", Const, 1},
- {"DLT_NETANALYZER_TRANSPARENT", Const, 1},
- {"DLT_NFC_LLCP", Const, 1},
- {"DLT_NFLOG", Const, 1},
- {"DLT_NG40", Const, 1},
- {"DLT_NULL", Const, 0},
- {"DLT_PCI_EXP", Const, 0},
- {"DLT_PFLOG", Const, 0},
- {"DLT_PFSYNC", Const, 0},
- {"DLT_PPI", Const, 0},
- {"DLT_PPP", Const, 0},
- {"DLT_PPP_BSDOS", Const, 0},
- {"DLT_PPP_ETHER", Const, 0},
- {"DLT_PPP_PPPD", Const, 0},
- {"DLT_PPP_SERIAL", Const, 0},
- {"DLT_PPP_WITH_DIR", Const, 0},
- {"DLT_PPP_WITH_DIRECTION", Const, 0},
- {"DLT_PRISM_HEADER", Const, 0},
- {"DLT_PRONET", Const, 0},
- {"DLT_RAIF1", Const, 0},
- {"DLT_RAW", Const, 0},
- {"DLT_RAWAF_MASK", Const, 1},
- {"DLT_RIO", Const, 0},
- {"DLT_SCCP", Const, 0},
- {"DLT_SITA", Const, 0},
- {"DLT_SLIP", Const, 0},
- {"DLT_SLIP_BSDOS", Const, 0},
- {"DLT_STANAG_5066_D_PDU", Const, 1},
- {"DLT_SUNATM", Const, 0},
- {"DLT_SYMANTEC_FIREWALL", Const, 0},
- {"DLT_TZSP", Const, 0},
- {"DLT_USB", Const, 0},
- {"DLT_USB_LINUX", Const, 0},
- {"DLT_USB_LINUX_MMAPPED", Const, 1},
- {"DLT_USER0", Const, 0},
- {"DLT_USER1", Const, 0},
- {"DLT_USER10", Const, 0},
- {"DLT_USER11", Const, 0},
- {"DLT_USER12", Const, 0},
- {"DLT_USER13", Const, 0},
- {"DLT_USER14", Const, 0},
- {"DLT_USER15", Const, 0},
- {"DLT_USER2", Const, 0},
- {"DLT_USER3", Const, 0},
- {"DLT_USER4", Const, 0},
- {"DLT_USER5", Const, 0},
- {"DLT_USER6", Const, 0},
- {"DLT_USER7", Const, 0},
- {"DLT_USER8", Const, 0},
- {"DLT_USER9", Const, 0},
- {"DLT_WIHART", Const, 1},
- {"DLT_X2E_SERIAL", Const, 0},
- {"DLT_X2E_XORAYA", Const, 0},
- {"DNSMXData", Type, 0},
- {"DNSMXData.NameExchange", Field, 0},
- {"DNSMXData.Pad", Field, 0},
- {"DNSMXData.Preference", Field, 0},
- {"DNSPTRData", Type, 0},
- {"DNSPTRData.Host", Field, 0},
- {"DNSRecord", Type, 0},
- {"DNSRecord.Data", Field, 0},
- {"DNSRecord.Dw", Field, 0},
- {"DNSRecord.Length", Field, 0},
- {"DNSRecord.Name", Field, 0},
- {"DNSRecord.Next", Field, 0},
- {"DNSRecord.Reserved", Field, 0},
- {"DNSRecord.Ttl", Field, 0},
- {"DNSRecord.Type", Field, 0},
- {"DNSSRVData", Type, 0},
- {"DNSSRVData.Pad", Field, 0},
- {"DNSSRVData.Port", Field, 0},
- {"DNSSRVData.Priority", Field, 0},
- {"DNSSRVData.Target", Field, 0},
- {"DNSSRVData.Weight", Field, 0},
- {"DNSTXTData", Type, 0},
- {"DNSTXTData.StringArray", Field, 0},
- {"DNSTXTData.StringCount", Field, 0},
- {"DNS_INFO_NO_RECORDS", Const, 4},
- {"DNS_TYPE_A", Const, 0},
- {"DNS_TYPE_A6", Const, 0},
- {"DNS_TYPE_AAAA", Const, 0},
- {"DNS_TYPE_ADDRS", Const, 0},
- {"DNS_TYPE_AFSDB", Const, 0},
- {"DNS_TYPE_ALL", Const, 0},
- {"DNS_TYPE_ANY", Const, 0},
- {"DNS_TYPE_ATMA", Const, 0},
- {"DNS_TYPE_AXFR", Const, 0},
- {"DNS_TYPE_CERT", Const, 0},
- {"DNS_TYPE_CNAME", Const, 0},
- {"DNS_TYPE_DHCID", Const, 0},
- {"DNS_TYPE_DNAME", Const, 0},
- {"DNS_TYPE_DNSKEY", Const, 0},
- {"DNS_TYPE_DS", Const, 0},
- {"DNS_TYPE_EID", Const, 0},
- {"DNS_TYPE_GID", Const, 0},
- {"DNS_TYPE_GPOS", Const, 0},
- {"DNS_TYPE_HINFO", Const, 0},
- {"DNS_TYPE_ISDN", Const, 0},
- {"DNS_TYPE_IXFR", Const, 0},
- {"DNS_TYPE_KEY", Const, 0},
- {"DNS_TYPE_KX", Const, 0},
- {"DNS_TYPE_LOC", Const, 0},
- {"DNS_TYPE_MAILA", Const, 0},
- {"DNS_TYPE_MAILB", Const, 0},
- {"DNS_TYPE_MB", Const, 0},
- {"DNS_TYPE_MD", Const, 0},
- {"DNS_TYPE_MF", Const, 0},
- {"DNS_TYPE_MG", Const, 0},
- {"DNS_TYPE_MINFO", Const, 0},
- {"DNS_TYPE_MR", Const, 0},
- {"DNS_TYPE_MX", Const, 0},
- {"DNS_TYPE_NAPTR", Const, 0},
- {"DNS_TYPE_NBSTAT", Const, 0},
- {"DNS_TYPE_NIMLOC", Const, 0},
- {"DNS_TYPE_NS", Const, 0},
- {"DNS_TYPE_NSAP", Const, 0},
- {"DNS_TYPE_NSAPPTR", Const, 0},
- {"DNS_TYPE_NSEC", Const, 0},
- {"DNS_TYPE_NULL", Const, 0},
- {"DNS_TYPE_NXT", Const, 0},
- {"DNS_TYPE_OPT", Const, 0},
- {"DNS_TYPE_PTR", Const, 0},
- {"DNS_TYPE_PX", Const, 0},
- {"DNS_TYPE_RP", Const, 0},
- {"DNS_TYPE_RRSIG", Const, 0},
- {"DNS_TYPE_RT", Const, 0},
- {"DNS_TYPE_SIG", Const, 0},
- {"DNS_TYPE_SINK", Const, 0},
- {"DNS_TYPE_SOA", Const, 0},
- {"DNS_TYPE_SRV", Const, 0},
- {"DNS_TYPE_TEXT", Const, 0},
- {"DNS_TYPE_TKEY", Const, 0},
- {"DNS_TYPE_TSIG", Const, 0},
- {"DNS_TYPE_UID", Const, 0},
- {"DNS_TYPE_UINFO", Const, 0},
- {"DNS_TYPE_UNSPEC", Const, 0},
- {"DNS_TYPE_WINS", Const, 0},
- {"DNS_TYPE_WINSR", Const, 0},
- {"DNS_TYPE_WKS", Const, 0},
- {"DNS_TYPE_X25", Const, 0},
- {"DT_BLK", Const, 0},
- {"DT_CHR", Const, 0},
- {"DT_DIR", Const, 0},
- {"DT_FIFO", Const, 0},
- {"DT_LNK", Const, 0},
- {"DT_REG", Const, 0},
- {"DT_SOCK", Const, 0},
- {"DT_UNKNOWN", Const, 0},
- {"DT_WHT", Const, 0},
- {"DUPLICATE_CLOSE_SOURCE", Const, 0},
- {"DUPLICATE_SAME_ACCESS", Const, 0},
- {"DeleteFile", Func, 0},
- {"DetachLsf", Func, 0},
- {"DeviceIoControl", Func, 4},
- {"Dirent", Type, 0},
- {"Dirent.Fileno", Field, 0},
- {"Dirent.Ino", Field, 0},
- {"Dirent.Name", Field, 0},
- {"Dirent.Namlen", Field, 0},
- {"Dirent.Off", Field, 0},
- {"Dirent.Pad0", Field, 12},
- {"Dirent.Pad1", Field, 12},
- {"Dirent.Pad_cgo_0", Field, 0},
- {"Dirent.Reclen", Field, 0},
- {"Dirent.Seekoff", Field, 0},
- {"Dirent.Type", Field, 0},
- {"Dirent.X__d_padding", Field, 3},
- {"DnsNameCompare", Func, 4},
- {"DnsQuery", Func, 0},
- {"DnsRecordListFree", Func, 0},
- {"DnsSectionAdditional", Const, 4},
- {"DnsSectionAnswer", Const, 4},
- {"DnsSectionAuthority", Const, 4},
- {"DnsSectionQuestion", Const, 4},
- {"Dup", Func, 0},
- {"Dup2", Func, 0},
- {"Dup3", Func, 2},
- {"DuplicateHandle", Func, 0},
- {"E2BIG", Const, 0},
- {"EACCES", Const, 0},
- {"EADDRINUSE", Const, 0},
- {"EADDRNOTAVAIL", Const, 0},
- {"EADV", Const, 0},
- {"EAFNOSUPPORT", Const, 0},
- {"EAGAIN", Const, 0},
- {"EALREADY", Const, 0},
- {"EAUTH", Const, 0},
- {"EBADARCH", Const, 0},
- {"EBADE", Const, 0},
- {"EBADEXEC", Const, 0},
- {"EBADF", Const, 0},
- {"EBADFD", Const, 0},
- {"EBADMACHO", Const, 0},
- {"EBADMSG", Const, 0},
- {"EBADR", Const, 0},
- {"EBADRPC", Const, 0},
- {"EBADRQC", Const, 0},
- {"EBADSLT", Const, 0},
- {"EBFONT", Const, 0},
- {"EBUSY", Const, 0},
- {"ECANCELED", Const, 0},
- {"ECAPMODE", Const, 1},
- {"ECHILD", Const, 0},
- {"ECHO", Const, 0},
- {"ECHOCTL", Const, 0},
- {"ECHOE", Const, 0},
- {"ECHOK", Const, 0},
- {"ECHOKE", Const, 0},
- {"ECHONL", Const, 0},
- {"ECHOPRT", Const, 0},
- {"ECHRNG", Const, 0},
- {"ECOMM", Const, 0},
- {"ECONNABORTED", Const, 0},
- {"ECONNREFUSED", Const, 0},
- {"ECONNRESET", Const, 0},
- {"EDEADLK", Const, 0},
- {"EDEADLOCK", Const, 0},
- {"EDESTADDRREQ", Const, 0},
- {"EDEVERR", Const, 0},
- {"EDOM", Const, 0},
- {"EDOOFUS", Const, 0},
- {"EDOTDOT", Const, 0},
- {"EDQUOT", Const, 0},
- {"EEXIST", Const, 0},
- {"EFAULT", Const, 0},
- {"EFBIG", Const, 0},
- {"EFER_LMA", Const, 1},
- {"EFER_LME", Const, 1},
- {"EFER_NXE", Const, 1},
- {"EFER_SCE", Const, 1},
- {"EFTYPE", Const, 0},
- {"EHOSTDOWN", Const, 0},
- {"EHOSTUNREACH", Const, 0},
- {"EHWPOISON", Const, 0},
- {"EIDRM", Const, 0},
- {"EILSEQ", Const, 0},
- {"EINPROGRESS", Const, 0},
- {"EINTR", Const, 0},
- {"EINVAL", Const, 0},
- {"EIO", Const, 0},
- {"EIPSEC", Const, 1},
- {"EISCONN", Const, 0},
- {"EISDIR", Const, 0},
- {"EISNAM", Const, 0},
- {"EKEYEXPIRED", Const, 0},
- {"EKEYREJECTED", Const, 0},
- {"EKEYREVOKED", Const, 0},
- {"EL2HLT", Const, 0},
- {"EL2NSYNC", Const, 0},
- {"EL3HLT", Const, 0},
- {"EL3RST", Const, 0},
- {"ELAST", Const, 0},
- {"ELF_NGREG", Const, 0},
- {"ELF_PRARGSZ", Const, 0},
- {"ELIBACC", Const, 0},
- {"ELIBBAD", Const, 0},
- {"ELIBEXEC", Const, 0},
- {"ELIBMAX", Const, 0},
- {"ELIBSCN", Const, 0},
- {"ELNRNG", Const, 0},
- {"ELOOP", Const, 0},
- {"EMEDIUMTYPE", Const, 0},
- {"EMFILE", Const, 0},
- {"EMLINK", Const, 0},
- {"EMSGSIZE", Const, 0},
- {"EMT_TAGOVF", Const, 1},
- {"EMULTIHOP", Const, 0},
- {"EMUL_ENABLED", Const, 1},
- {"EMUL_LINUX", Const, 1},
- {"EMUL_LINUX32", Const, 1},
- {"EMUL_MAXID", Const, 1},
- {"EMUL_NATIVE", Const, 1},
- {"ENAMETOOLONG", Const, 0},
- {"ENAVAIL", Const, 0},
- {"ENDRUNDISC", Const, 1},
- {"ENEEDAUTH", Const, 0},
- {"ENETDOWN", Const, 0},
- {"ENETRESET", Const, 0},
- {"ENETUNREACH", Const, 0},
- {"ENFILE", Const, 0},
- {"ENOANO", Const, 0},
- {"ENOATTR", Const, 0},
- {"ENOBUFS", Const, 0},
- {"ENOCSI", Const, 0},
- {"ENODATA", Const, 0},
- {"ENODEV", Const, 0},
- {"ENOENT", Const, 0},
- {"ENOEXEC", Const, 0},
- {"ENOKEY", Const, 0},
- {"ENOLCK", Const, 0},
- {"ENOLINK", Const, 0},
- {"ENOMEDIUM", Const, 0},
- {"ENOMEM", Const, 0},
- {"ENOMSG", Const, 0},
- {"ENONET", Const, 0},
- {"ENOPKG", Const, 0},
- {"ENOPOLICY", Const, 0},
- {"ENOPROTOOPT", Const, 0},
- {"ENOSPC", Const, 0},
- {"ENOSR", Const, 0},
- {"ENOSTR", Const, 0},
- {"ENOSYS", Const, 0},
- {"ENOTBLK", Const, 0},
- {"ENOTCAPABLE", Const, 0},
- {"ENOTCONN", Const, 0},
- {"ENOTDIR", Const, 0},
- {"ENOTEMPTY", Const, 0},
- {"ENOTNAM", Const, 0},
- {"ENOTRECOVERABLE", Const, 0},
- {"ENOTSOCK", Const, 0},
- {"ENOTSUP", Const, 0},
- {"ENOTTY", Const, 0},
- {"ENOTUNIQ", Const, 0},
- {"ENXIO", Const, 0},
- {"EN_SW_CTL_INF", Const, 1},
- {"EN_SW_CTL_PREC", Const, 1},
- {"EN_SW_CTL_ROUND", Const, 1},
- {"EN_SW_DATACHAIN", Const, 1},
- {"EN_SW_DENORM", Const, 1},
- {"EN_SW_INVOP", Const, 1},
- {"EN_SW_OVERFLOW", Const, 1},
- {"EN_SW_PRECLOSS", Const, 1},
- {"EN_SW_UNDERFLOW", Const, 1},
- {"EN_SW_ZERODIV", Const, 1},
- {"EOPNOTSUPP", Const, 0},
- {"EOVERFLOW", Const, 0},
- {"EOWNERDEAD", Const, 0},
- {"EPERM", Const, 0},
- {"EPFNOSUPPORT", Const, 0},
- {"EPIPE", Const, 0},
- {"EPOLLERR", Const, 0},
- {"EPOLLET", Const, 0},
- {"EPOLLHUP", Const, 0},
- {"EPOLLIN", Const, 0},
- {"EPOLLMSG", Const, 0},
- {"EPOLLONESHOT", Const, 0},
- {"EPOLLOUT", Const, 0},
- {"EPOLLPRI", Const, 0},
- {"EPOLLRDBAND", Const, 0},
- {"EPOLLRDHUP", Const, 0},
- {"EPOLLRDNORM", Const, 0},
- {"EPOLLWRBAND", Const, 0},
- {"EPOLLWRNORM", Const, 0},
- {"EPOLL_CLOEXEC", Const, 0},
- {"EPOLL_CTL_ADD", Const, 0},
- {"EPOLL_CTL_DEL", Const, 0},
- {"EPOLL_CTL_MOD", Const, 0},
- {"EPOLL_NONBLOCK", Const, 0},
- {"EPROCLIM", Const, 0},
- {"EPROCUNAVAIL", Const, 0},
- {"EPROGMISMATCH", Const, 0},
- {"EPROGUNAVAIL", Const, 0},
- {"EPROTO", Const, 0},
- {"EPROTONOSUPPORT", Const, 0},
- {"EPROTOTYPE", Const, 0},
- {"EPWROFF", Const, 0},
- {"EQFULL", Const, 16},
- {"ERANGE", Const, 0},
- {"EREMCHG", Const, 0},
- {"EREMOTE", Const, 0},
- {"EREMOTEIO", Const, 0},
- {"ERESTART", Const, 0},
- {"ERFKILL", Const, 0},
- {"EROFS", Const, 0},
- {"ERPCMISMATCH", Const, 0},
- {"ERROR_ACCESS_DENIED", Const, 0},
- {"ERROR_ALREADY_EXISTS", Const, 0},
- {"ERROR_BROKEN_PIPE", Const, 0},
- {"ERROR_BUFFER_OVERFLOW", Const, 0},
- {"ERROR_DIR_NOT_EMPTY", Const, 8},
- {"ERROR_ENVVAR_NOT_FOUND", Const, 0},
- {"ERROR_FILE_EXISTS", Const, 0},
- {"ERROR_FILE_NOT_FOUND", Const, 0},
- {"ERROR_HANDLE_EOF", Const, 2},
- {"ERROR_INSUFFICIENT_BUFFER", Const, 0},
- {"ERROR_IO_PENDING", Const, 0},
- {"ERROR_MOD_NOT_FOUND", Const, 0},
- {"ERROR_MORE_DATA", Const, 3},
- {"ERROR_NETNAME_DELETED", Const, 3},
- {"ERROR_NOT_FOUND", Const, 1},
- {"ERROR_NO_MORE_FILES", Const, 0},
- {"ERROR_OPERATION_ABORTED", Const, 0},
- {"ERROR_PATH_NOT_FOUND", Const, 0},
- {"ERROR_PRIVILEGE_NOT_HELD", Const, 4},
- {"ERROR_PROC_NOT_FOUND", Const, 0},
- {"ESHLIBVERS", Const, 0},
- {"ESHUTDOWN", Const, 0},
- {"ESOCKTNOSUPPORT", Const, 0},
- {"ESPIPE", Const, 0},
- {"ESRCH", Const, 0},
- {"ESRMNT", Const, 0},
- {"ESTALE", Const, 0},
- {"ESTRPIPE", Const, 0},
- {"ETHERCAP_JUMBO_MTU", Const, 1},
- {"ETHERCAP_VLAN_HWTAGGING", Const, 1},
- {"ETHERCAP_VLAN_MTU", Const, 1},
- {"ETHERMIN", Const, 1},
- {"ETHERMTU", Const, 1},
- {"ETHERMTU_JUMBO", Const, 1},
- {"ETHERTYPE_8023", Const, 1},
- {"ETHERTYPE_AARP", Const, 1},
- {"ETHERTYPE_ACCTON", Const, 1},
- {"ETHERTYPE_AEONIC", Const, 1},
- {"ETHERTYPE_ALPHA", Const, 1},
- {"ETHERTYPE_AMBER", Const, 1},
- {"ETHERTYPE_AMOEBA", Const, 1},
- {"ETHERTYPE_AOE", Const, 1},
- {"ETHERTYPE_APOLLO", Const, 1},
- {"ETHERTYPE_APOLLODOMAIN", Const, 1},
- {"ETHERTYPE_APPLETALK", Const, 1},
- {"ETHERTYPE_APPLITEK", Const, 1},
- {"ETHERTYPE_ARGONAUT", Const, 1},
- {"ETHERTYPE_ARP", Const, 1},
- {"ETHERTYPE_AT", Const, 1},
- {"ETHERTYPE_ATALK", Const, 1},
- {"ETHERTYPE_ATOMIC", Const, 1},
- {"ETHERTYPE_ATT", Const, 1},
- {"ETHERTYPE_ATTSTANFORD", Const, 1},
- {"ETHERTYPE_AUTOPHON", Const, 1},
- {"ETHERTYPE_AXIS", Const, 1},
- {"ETHERTYPE_BCLOOP", Const, 1},
- {"ETHERTYPE_BOFL", Const, 1},
- {"ETHERTYPE_CABLETRON", Const, 1},
- {"ETHERTYPE_CHAOS", Const, 1},
- {"ETHERTYPE_COMDESIGN", Const, 1},
- {"ETHERTYPE_COMPUGRAPHIC", Const, 1},
- {"ETHERTYPE_COUNTERPOINT", Const, 1},
- {"ETHERTYPE_CRONUS", Const, 1},
- {"ETHERTYPE_CRONUSVLN", Const, 1},
- {"ETHERTYPE_DCA", Const, 1},
- {"ETHERTYPE_DDE", Const, 1},
- {"ETHERTYPE_DEBNI", Const, 1},
- {"ETHERTYPE_DECAM", Const, 1},
- {"ETHERTYPE_DECCUST", Const, 1},
- {"ETHERTYPE_DECDIAG", Const, 1},
- {"ETHERTYPE_DECDNS", Const, 1},
- {"ETHERTYPE_DECDTS", Const, 1},
- {"ETHERTYPE_DECEXPER", Const, 1},
- {"ETHERTYPE_DECLAST", Const, 1},
- {"ETHERTYPE_DECLTM", Const, 1},
- {"ETHERTYPE_DECMUMPS", Const, 1},
- {"ETHERTYPE_DECNETBIOS", Const, 1},
- {"ETHERTYPE_DELTACON", Const, 1},
- {"ETHERTYPE_DIDDLE", Const, 1},
- {"ETHERTYPE_DLOG1", Const, 1},
- {"ETHERTYPE_DLOG2", Const, 1},
- {"ETHERTYPE_DN", Const, 1},
- {"ETHERTYPE_DOGFIGHT", Const, 1},
- {"ETHERTYPE_DSMD", Const, 1},
- {"ETHERTYPE_ECMA", Const, 1},
- {"ETHERTYPE_ENCRYPT", Const, 1},
- {"ETHERTYPE_ES", Const, 1},
- {"ETHERTYPE_EXCELAN", Const, 1},
- {"ETHERTYPE_EXPERDATA", Const, 1},
- {"ETHERTYPE_FLIP", Const, 1},
- {"ETHERTYPE_FLOWCONTROL", Const, 1},
- {"ETHERTYPE_FRARP", Const, 1},
- {"ETHERTYPE_GENDYN", Const, 1},
- {"ETHERTYPE_HAYES", Const, 1},
- {"ETHERTYPE_HIPPI_FP", Const, 1},
- {"ETHERTYPE_HITACHI", Const, 1},
- {"ETHERTYPE_HP", Const, 1},
- {"ETHERTYPE_IEEEPUP", Const, 1},
- {"ETHERTYPE_IEEEPUPAT", Const, 1},
- {"ETHERTYPE_IMLBL", Const, 1},
- {"ETHERTYPE_IMLBLDIAG", Const, 1},
- {"ETHERTYPE_IP", Const, 1},
- {"ETHERTYPE_IPAS", Const, 1},
- {"ETHERTYPE_IPV6", Const, 1},
- {"ETHERTYPE_IPX", Const, 1},
- {"ETHERTYPE_IPXNEW", Const, 1},
- {"ETHERTYPE_KALPANA", Const, 1},
- {"ETHERTYPE_LANBRIDGE", Const, 1},
- {"ETHERTYPE_LANPROBE", Const, 1},
- {"ETHERTYPE_LAT", Const, 1},
- {"ETHERTYPE_LBACK", Const, 1},
- {"ETHERTYPE_LITTLE", Const, 1},
- {"ETHERTYPE_LLDP", Const, 1},
- {"ETHERTYPE_LOGICRAFT", Const, 1},
- {"ETHERTYPE_LOOPBACK", Const, 1},
- {"ETHERTYPE_MATRA", Const, 1},
- {"ETHERTYPE_MAX", Const, 1},
- {"ETHERTYPE_MERIT", Const, 1},
- {"ETHERTYPE_MICP", Const, 1},
- {"ETHERTYPE_MOPDL", Const, 1},
- {"ETHERTYPE_MOPRC", Const, 1},
- {"ETHERTYPE_MOTOROLA", Const, 1},
- {"ETHERTYPE_MPLS", Const, 1},
- {"ETHERTYPE_MPLS_MCAST", Const, 1},
- {"ETHERTYPE_MUMPS", Const, 1},
- {"ETHERTYPE_NBPCC", Const, 1},
- {"ETHERTYPE_NBPCLAIM", Const, 1},
- {"ETHERTYPE_NBPCLREQ", Const, 1},
- {"ETHERTYPE_NBPCLRSP", Const, 1},
- {"ETHERTYPE_NBPCREQ", Const, 1},
- {"ETHERTYPE_NBPCRSP", Const, 1},
- {"ETHERTYPE_NBPDG", Const, 1},
- {"ETHERTYPE_NBPDGB", Const, 1},
- {"ETHERTYPE_NBPDLTE", Const, 1},
- {"ETHERTYPE_NBPRAR", Const, 1},
- {"ETHERTYPE_NBPRAS", Const, 1},
- {"ETHERTYPE_NBPRST", Const, 1},
- {"ETHERTYPE_NBPSCD", Const, 1},
- {"ETHERTYPE_NBPVCD", Const, 1},
- {"ETHERTYPE_NBS", Const, 1},
- {"ETHERTYPE_NCD", Const, 1},
- {"ETHERTYPE_NESTAR", Const, 1},
- {"ETHERTYPE_NETBEUI", Const, 1},
- {"ETHERTYPE_NOVELL", Const, 1},
- {"ETHERTYPE_NS", Const, 1},
- {"ETHERTYPE_NSAT", Const, 1},
- {"ETHERTYPE_NSCOMPAT", Const, 1},
- {"ETHERTYPE_NTRAILER", Const, 1},
- {"ETHERTYPE_OS9", Const, 1},
- {"ETHERTYPE_OS9NET", Const, 1},
- {"ETHERTYPE_PACER", Const, 1},
- {"ETHERTYPE_PAE", Const, 1},
- {"ETHERTYPE_PCS", Const, 1},
- {"ETHERTYPE_PLANNING", Const, 1},
- {"ETHERTYPE_PPP", Const, 1},
- {"ETHERTYPE_PPPOE", Const, 1},
- {"ETHERTYPE_PPPOEDISC", Const, 1},
- {"ETHERTYPE_PRIMENTS", Const, 1},
- {"ETHERTYPE_PUP", Const, 1},
- {"ETHERTYPE_PUPAT", Const, 1},
- {"ETHERTYPE_QINQ", Const, 1},
- {"ETHERTYPE_RACAL", Const, 1},
- {"ETHERTYPE_RATIONAL", Const, 1},
- {"ETHERTYPE_RAWFR", Const, 1},
- {"ETHERTYPE_RCL", Const, 1},
- {"ETHERTYPE_RDP", Const, 1},
- {"ETHERTYPE_RETIX", Const, 1},
- {"ETHERTYPE_REVARP", Const, 1},
- {"ETHERTYPE_SCA", Const, 1},
- {"ETHERTYPE_SECTRA", Const, 1},
- {"ETHERTYPE_SECUREDATA", Const, 1},
- {"ETHERTYPE_SGITW", Const, 1},
- {"ETHERTYPE_SG_BOUNCE", Const, 1},
- {"ETHERTYPE_SG_DIAG", Const, 1},
- {"ETHERTYPE_SG_NETGAMES", Const, 1},
- {"ETHERTYPE_SG_RESV", Const, 1},
- {"ETHERTYPE_SIMNET", Const, 1},
- {"ETHERTYPE_SLOW", Const, 1},
- {"ETHERTYPE_SLOWPROTOCOLS", Const, 1},
- {"ETHERTYPE_SNA", Const, 1},
- {"ETHERTYPE_SNMP", Const, 1},
- {"ETHERTYPE_SONIX", Const, 1},
- {"ETHERTYPE_SPIDER", Const, 1},
- {"ETHERTYPE_SPRITE", Const, 1},
- {"ETHERTYPE_STP", Const, 1},
- {"ETHERTYPE_TALARIS", Const, 1},
- {"ETHERTYPE_TALARISMC", Const, 1},
- {"ETHERTYPE_TCPCOMP", Const, 1},
- {"ETHERTYPE_TCPSM", Const, 1},
- {"ETHERTYPE_TEC", Const, 1},
- {"ETHERTYPE_TIGAN", Const, 1},
- {"ETHERTYPE_TRAIL", Const, 1},
- {"ETHERTYPE_TRANSETHER", Const, 1},
- {"ETHERTYPE_TYMSHARE", Const, 1},
- {"ETHERTYPE_UBBST", Const, 1},
- {"ETHERTYPE_UBDEBUG", Const, 1},
- {"ETHERTYPE_UBDIAGLOOP", Const, 1},
- {"ETHERTYPE_UBDL", Const, 1},
- {"ETHERTYPE_UBNIU", Const, 1},
- {"ETHERTYPE_UBNMC", Const, 1},
- {"ETHERTYPE_VALID", Const, 1},
- {"ETHERTYPE_VARIAN", Const, 1},
- {"ETHERTYPE_VAXELN", Const, 1},
- {"ETHERTYPE_VEECO", Const, 1},
- {"ETHERTYPE_VEXP", Const, 1},
- {"ETHERTYPE_VGLAB", Const, 1},
- {"ETHERTYPE_VINES", Const, 1},
- {"ETHERTYPE_VINESECHO", Const, 1},
- {"ETHERTYPE_VINESLOOP", Const, 1},
- {"ETHERTYPE_VITAL", Const, 1},
- {"ETHERTYPE_VLAN", Const, 1},
- {"ETHERTYPE_VLTLMAN", Const, 1},
- {"ETHERTYPE_VPROD", Const, 1},
- {"ETHERTYPE_VURESERVED", Const, 1},
- {"ETHERTYPE_WATERLOO", Const, 1},
- {"ETHERTYPE_WELLFLEET", Const, 1},
- {"ETHERTYPE_X25", Const, 1},
- {"ETHERTYPE_X75", Const, 1},
- {"ETHERTYPE_XNSSM", Const, 1},
- {"ETHERTYPE_XTP", Const, 1},
- {"ETHER_ADDR_LEN", Const, 1},
- {"ETHER_ALIGN", Const, 1},
- {"ETHER_CRC_LEN", Const, 1},
- {"ETHER_CRC_POLY_BE", Const, 1},
- {"ETHER_CRC_POLY_LE", Const, 1},
- {"ETHER_HDR_LEN", Const, 1},
- {"ETHER_MAX_DIX_LEN", Const, 1},
- {"ETHER_MAX_LEN", Const, 1},
- {"ETHER_MAX_LEN_JUMBO", Const, 1},
- {"ETHER_MIN_LEN", Const, 1},
- {"ETHER_PPPOE_ENCAP_LEN", Const, 1},
- {"ETHER_TYPE_LEN", Const, 1},
- {"ETHER_VLAN_ENCAP_LEN", Const, 1},
- {"ETH_P_1588", Const, 0},
- {"ETH_P_8021Q", Const, 0},
- {"ETH_P_802_2", Const, 0},
- {"ETH_P_802_3", Const, 0},
- {"ETH_P_AARP", Const, 0},
- {"ETH_P_ALL", Const, 0},
- {"ETH_P_AOE", Const, 0},
- {"ETH_P_ARCNET", Const, 0},
- {"ETH_P_ARP", Const, 0},
- {"ETH_P_ATALK", Const, 0},
- {"ETH_P_ATMFATE", Const, 0},
- {"ETH_P_ATMMPOA", Const, 0},
- {"ETH_P_AX25", Const, 0},
- {"ETH_P_BPQ", Const, 0},
- {"ETH_P_CAIF", Const, 0},
- {"ETH_P_CAN", Const, 0},
- {"ETH_P_CONTROL", Const, 0},
- {"ETH_P_CUST", Const, 0},
- {"ETH_P_DDCMP", Const, 0},
- {"ETH_P_DEC", Const, 0},
- {"ETH_P_DIAG", Const, 0},
- {"ETH_P_DNA_DL", Const, 0},
- {"ETH_P_DNA_RC", Const, 0},
- {"ETH_P_DNA_RT", Const, 0},
- {"ETH_P_DSA", Const, 0},
- {"ETH_P_ECONET", Const, 0},
- {"ETH_P_EDSA", Const, 0},
- {"ETH_P_FCOE", Const, 0},
- {"ETH_P_FIP", Const, 0},
- {"ETH_P_HDLC", Const, 0},
- {"ETH_P_IEEE802154", Const, 0},
- {"ETH_P_IEEEPUP", Const, 0},
- {"ETH_P_IEEEPUPAT", Const, 0},
- {"ETH_P_IP", Const, 0},
- {"ETH_P_IPV6", Const, 0},
- {"ETH_P_IPX", Const, 0},
- {"ETH_P_IRDA", Const, 0},
- {"ETH_P_LAT", Const, 0},
- {"ETH_P_LINK_CTL", Const, 0},
- {"ETH_P_LOCALTALK", Const, 0},
- {"ETH_P_LOOP", Const, 0},
- {"ETH_P_MOBITEX", Const, 0},
- {"ETH_P_MPLS_MC", Const, 0},
- {"ETH_P_MPLS_UC", Const, 0},
- {"ETH_P_PAE", Const, 0},
- {"ETH_P_PAUSE", Const, 0},
- {"ETH_P_PHONET", Const, 0},
- {"ETH_P_PPPTALK", Const, 0},
- {"ETH_P_PPP_DISC", Const, 0},
- {"ETH_P_PPP_MP", Const, 0},
- {"ETH_P_PPP_SES", Const, 0},
- {"ETH_P_PUP", Const, 0},
- {"ETH_P_PUPAT", Const, 0},
- {"ETH_P_RARP", Const, 0},
- {"ETH_P_SCA", Const, 0},
- {"ETH_P_SLOW", Const, 0},
- {"ETH_P_SNAP", Const, 0},
- {"ETH_P_TEB", Const, 0},
- {"ETH_P_TIPC", Const, 0},
- {"ETH_P_TRAILER", Const, 0},
- {"ETH_P_TR_802_2", Const, 0},
- {"ETH_P_WAN_PPP", Const, 0},
- {"ETH_P_WCCP", Const, 0},
- {"ETH_P_X25", Const, 0},
- {"ETIME", Const, 0},
- {"ETIMEDOUT", Const, 0},
- {"ETOOMANYREFS", Const, 0},
- {"ETXTBSY", Const, 0},
- {"EUCLEAN", Const, 0},
- {"EUNATCH", Const, 0},
- {"EUSERS", Const, 0},
- {"EVFILT_AIO", Const, 0},
- {"EVFILT_FS", Const, 0},
- {"EVFILT_LIO", Const, 0},
- {"EVFILT_MACHPORT", Const, 0},
- {"EVFILT_PROC", Const, 0},
- {"EVFILT_READ", Const, 0},
- {"EVFILT_SIGNAL", Const, 0},
- {"EVFILT_SYSCOUNT", Const, 0},
- {"EVFILT_THREADMARKER", Const, 0},
- {"EVFILT_TIMER", Const, 0},
- {"EVFILT_USER", Const, 0},
- {"EVFILT_VM", Const, 0},
- {"EVFILT_VNODE", Const, 0},
- {"EVFILT_WRITE", Const, 0},
- {"EV_ADD", Const, 0},
- {"EV_CLEAR", Const, 0},
- {"EV_DELETE", Const, 0},
- {"EV_DISABLE", Const, 0},
- {"EV_DISPATCH", Const, 0},
- {"EV_DROP", Const, 3},
- {"EV_ENABLE", Const, 0},
- {"EV_EOF", Const, 0},
- {"EV_ERROR", Const, 0},
- {"EV_FLAG0", Const, 0},
- {"EV_FLAG1", Const, 0},
- {"EV_ONESHOT", Const, 0},
- {"EV_OOBAND", Const, 0},
- {"EV_POLL", Const, 0},
- {"EV_RECEIPT", Const, 0},
- {"EV_SYSFLAGS", Const, 0},
- {"EWINDOWS", Const, 0},
- {"EWOULDBLOCK", Const, 0},
- {"EXDEV", Const, 0},
- {"EXFULL", Const, 0},
- {"EXTA", Const, 0},
- {"EXTB", Const, 0},
- {"EXTPROC", Const, 0},
- {"Environ", Func, 0},
- {"EpollCreate", Func, 0},
- {"EpollCreate1", Func, 0},
- {"EpollCtl", Func, 0},
- {"EpollEvent", Type, 0},
- {"EpollEvent.Events", Field, 0},
- {"EpollEvent.Fd", Field, 0},
- {"EpollEvent.Pad", Field, 0},
- {"EpollEvent.PadFd", Field, 0},
- {"EpollWait", Func, 0},
- {"Errno", Type, 0},
- {"EscapeArg", Func, 0},
- {"Exchangedata", Func, 0},
- {"Exec", Func, 0},
- {"Exit", Func, 0},
- {"ExitProcess", Func, 0},
- {"FD_CLOEXEC", Const, 0},
- {"FD_SETSIZE", Const, 0},
- {"FILE_ACTION_ADDED", Const, 0},
- {"FILE_ACTION_MODIFIED", Const, 0},
- {"FILE_ACTION_REMOVED", Const, 0},
- {"FILE_ACTION_RENAMED_NEW_NAME", Const, 0},
- {"FILE_ACTION_RENAMED_OLD_NAME", Const, 0},
- {"FILE_APPEND_DATA", Const, 0},
- {"FILE_ATTRIBUTE_ARCHIVE", Const, 0},
- {"FILE_ATTRIBUTE_DIRECTORY", Const, 0},
- {"FILE_ATTRIBUTE_HIDDEN", Const, 0},
- {"FILE_ATTRIBUTE_NORMAL", Const, 0},
- {"FILE_ATTRIBUTE_READONLY", Const, 0},
- {"FILE_ATTRIBUTE_REPARSE_POINT", Const, 4},
- {"FILE_ATTRIBUTE_SYSTEM", Const, 0},
- {"FILE_BEGIN", Const, 0},
- {"FILE_CURRENT", Const, 0},
- {"FILE_END", Const, 0},
- {"FILE_FLAG_BACKUP_SEMANTICS", Const, 0},
- {"FILE_FLAG_OPEN_REPARSE_POINT", Const, 4},
- {"FILE_FLAG_OVERLAPPED", Const, 0},
- {"FILE_LIST_DIRECTORY", Const, 0},
- {"FILE_MAP_COPY", Const, 0},
- {"FILE_MAP_EXECUTE", Const, 0},
- {"FILE_MAP_READ", Const, 0},
- {"FILE_MAP_WRITE", Const, 0},
- {"FILE_NOTIFY_CHANGE_ATTRIBUTES", Const, 0},
- {"FILE_NOTIFY_CHANGE_CREATION", Const, 0},
- {"FILE_NOTIFY_CHANGE_DIR_NAME", Const, 0},
- {"FILE_NOTIFY_CHANGE_FILE_NAME", Const, 0},
- {"FILE_NOTIFY_CHANGE_LAST_ACCESS", Const, 0},
- {"FILE_NOTIFY_CHANGE_LAST_WRITE", Const, 0},
- {"FILE_NOTIFY_CHANGE_SIZE", Const, 0},
- {"FILE_SHARE_DELETE", Const, 0},
- {"FILE_SHARE_READ", Const, 0},
- {"FILE_SHARE_WRITE", Const, 0},
- {"FILE_SKIP_COMPLETION_PORT_ON_SUCCESS", Const, 2},
- {"FILE_SKIP_SET_EVENT_ON_HANDLE", Const, 2},
- {"FILE_TYPE_CHAR", Const, 0},
- {"FILE_TYPE_DISK", Const, 0},
- {"FILE_TYPE_PIPE", Const, 0},
- {"FILE_TYPE_REMOTE", Const, 0},
- {"FILE_TYPE_UNKNOWN", Const, 0},
- {"FILE_WRITE_ATTRIBUTES", Const, 0},
- {"FLUSHO", Const, 0},
- {"FORMAT_MESSAGE_ALLOCATE_BUFFER", Const, 0},
- {"FORMAT_MESSAGE_ARGUMENT_ARRAY", Const, 0},
- {"FORMAT_MESSAGE_FROM_HMODULE", Const, 0},
- {"FORMAT_MESSAGE_FROM_STRING", Const, 0},
- {"FORMAT_MESSAGE_FROM_SYSTEM", Const, 0},
- {"FORMAT_MESSAGE_IGNORE_INSERTS", Const, 0},
- {"FORMAT_MESSAGE_MAX_WIDTH_MASK", Const, 0},
- {"FSCTL_GET_REPARSE_POINT", Const, 4},
- {"F_ADDFILESIGS", Const, 0},
- {"F_ADDSIGS", Const, 0},
- {"F_ALLOCATEALL", Const, 0},
- {"F_ALLOCATECONTIG", Const, 0},
- {"F_CANCEL", Const, 0},
- {"F_CHKCLEAN", Const, 0},
- {"F_CLOSEM", Const, 1},
- {"F_DUP2FD", Const, 0},
- {"F_DUP2FD_CLOEXEC", Const, 1},
- {"F_DUPFD", Const, 0},
- {"F_DUPFD_CLOEXEC", Const, 0},
- {"F_EXLCK", Const, 0},
- {"F_FINDSIGS", Const, 16},
- {"F_FLUSH_DATA", Const, 0},
- {"F_FREEZE_FS", Const, 0},
- {"F_FSCTL", Const, 1},
- {"F_FSDIRMASK", Const, 1},
- {"F_FSIN", Const, 1},
- {"F_FSINOUT", Const, 1},
- {"F_FSOUT", Const, 1},
- {"F_FSPRIV", Const, 1},
- {"F_FSVOID", Const, 1},
- {"F_FULLFSYNC", Const, 0},
- {"F_GETCODEDIR", Const, 16},
- {"F_GETFD", Const, 0},
- {"F_GETFL", Const, 0},
- {"F_GETLEASE", Const, 0},
- {"F_GETLK", Const, 0},
- {"F_GETLK64", Const, 0},
- {"F_GETLKPID", Const, 0},
- {"F_GETNOSIGPIPE", Const, 0},
- {"F_GETOWN", Const, 0},
- {"F_GETOWN_EX", Const, 0},
- {"F_GETPATH", Const, 0},
- {"F_GETPATH_MTMINFO", Const, 0},
- {"F_GETPIPE_SZ", Const, 0},
- {"F_GETPROTECTIONCLASS", Const, 0},
- {"F_GETPROTECTIONLEVEL", Const, 16},
- {"F_GETSIG", Const, 0},
- {"F_GLOBAL_NOCACHE", Const, 0},
- {"F_LOCK", Const, 0},
- {"F_LOG2PHYS", Const, 0},
- {"F_LOG2PHYS_EXT", Const, 0},
- {"F_MARKDEPENDENCY", Const, 0},
- {"F_MAXFD", Const, 1},
- {"F_NOCACHE", Const, 0},
- {"F_NODIRECT", Const, 0},
- {"F_NOTIFY", Const, 0},
- {"F_OGETLK", Const, 0},
- {"F_OK", Const, 0},
- {"F_OSETLK", Const, 0},
- {"F_OSETLKW", Const, 0},
- {"F_PARAM_MASK", Const, 1},
- {"F_PARAM_MAX", Const, 1},
- {"F_PATHPKG_CHECK", Const, 0},
- {"F_PEOFPOSMODE", Const, 0},
- {"F_PREALLOCATE", Const, 0},
- {"F_RDADVISE", Const, 0},
- {"F_RDAHEAD", Const, 0},
- {"F_RDLCK", Const, 0},
- {"F_READAHEAD", Const, 0},
- {"F_READBOOTSTRAP", Const, 0},
- {"F_SETBACKINGSTORE", Const, 0},
- {"F_SETFD", Const, 0},
- {"F_SETFL", Const, 0},
- {"F_SETLEASE", Const, 0},
- {"F_SETLK", Const, 0},
- {"F_SETLK64", Const, 0},
- {"F_SETLKW", Const, 0},
- {"F_SETLKW64", Const, 0},
- {"F_SETLKWTIMEOUT", Const, 16},
- {"F_SETLK_REMOTE", Const, 0},
- {"F_SETNOSIGPIPE", Const, 0},
- {"F_SETOWN", Const, 0},
- {"F_SETOWN_EX", Const, 0},
- {"F_SETPIPE_SZ", Const, 0},
- {"F_SETPROTECTIONCLASS", Const, 0},
- {"F_SETSIG", Const, 0},
- {"F_SETSIZE", Const, 0},
- {"F_SHLCK", Const, 0},
- {"F_SINGLE_WRITER", Const, 16},
- {"F_TEST", Const, 0},
- {"F_THAW_FS", Const, 0},
- {"F_TLOCK", Const, 0},
- {"F_TRANSCODEKEY", Const, 16},
- {"F_ULOCK", Const, 0},
- {"F_UNLCK", Const, 0},
- {"F_UNLCKSYS", Const, 0},
- {"F_VOLPOSMODE", Const, 0},
- {"F_WRITEBOOTSTRAP", Const, 0},
- {"F_WRLCK", Const, 0},
- {"Faccessat", Func, 0},
- {"Fallocate", Func, 0},
- {"Fbootstraptransfer_t", Type, 0},
- {"Fbootstraptransfer_t.Buffer", Field, 0},
- {"Fbootstraptransfer_t.Length", Field, 0},
- {"Fbootstraptransfer_t.Offset", Field, 0},
- {"Fchdir", Func, 0},
- {"Fchflags", Func, 0},
- {"Fchmod", Func, 0},
- {"Fchmodat", Func, 0},
- {"Fchown", Func, 0},
- {"Fchownat", Func, 0},
- {"FcntlFlock", Func, 3},
- {"FdSet", Type, 0},
- {"FdSet.Bits", Field, 0},
- {"FdSet.X__fds_bits", Field, 0},
- {"Fdatasync", Func, 0},
- {"FileNotifyInformation", Type, 0},
- {"FileNotifyInformation.Action", Field, 0},
- {"FileNotifyInformation.FileName", Field, 0},
- {"FileNotifyInformation.FileNameLength", Field, 0},
- {"FileNotifyInformation.NextEntryOffset", Field, 0},
- {"Filetime", Type, 0},
- {"Filetime.HighDateTime", Field, 0},
- {"Filetime.LowDateTime", Field, 0},
- {"FindClose", Func, 0},
- {"FindFirstFile", Func, 0},
- {"FindNextFile", Func, 0},
- {"Flock", Func, 0},
- {"Flock_t", Type, 0},
- {"Flock_t.Len", Field, 0},
- {"Flock_t.Pad_cgo_0", Field, 0},
- {"Flock_t.Pad_cgo_1", Field, 3},
- {"Flock_t.Pid", Field, 0},
- {"Flock_t.Start", Field, 0},
- {"Flock_t.Sysid", Field, 0},
- {"Flock_t.Type", Field, 0},
- {"Flock_t.Whence", Field, 0},
- {"FlushBpf", Func, 0},
- {"FlushFileBuffers", Func, 0},
- {"FlushViewOfFile", Func, 0},
- {"ForkExec", Func, 0},
- {"ForkLock", Var, 0},
- {"FormatMessage", Func, 0},
- {"Fpathconf", Func, 0},
- {"FreeAddrInfoW", Func, 1},
- {"FreeEnvironmentStrings", Func, 0},
- {"FreeLibrary", Func, 0},
- {"Fsid", Type, 0},
- {"Fsid.Val", Field, 0},
- {"Fsid.X__fsid_val", Field, 2},
- {"Fsid.X__val", Field, 0},
- {"Fstat", Func, 0},
- {"Fstatat", Func, 12},
- {"Fstatfs", Func, 0},
- {"Fstore_t", Type, 0},
- {"Fstore_t.Bytesalloc", Field, 0},
- {"Fstore_t.Flags", Field, 0},
- {"Fstore_t.Length", Field, 0},
- {"Fstore_t.Offset", Field, 0},
- {"Fstore_t.Posmode", Field, 0},
- {"Fsync", Func, 0},
- {"Ftruncate", Func, 0},
- {"FullPath", Func, 4},
- {"Futimes", Func, 0},
- {"Futimesat", Func, 0},
- {"GENERIC_ALL", Const, 0},
- {"GENERIC_EXECUTE", Const, 0},
- {"GENERIC_READ", Const, 0},
- {"GENERIC_WRITE", Const, 0},
- {"GUID", Type, 1},
- {"GUID.Data1", Field, 1},
- {"GUID.Data2", Field, 1},
- {"GUID.Data3", Field, 1},
- {"GUID.Data4", Field, 1},
- {"GetAcceptExSockaddrs", Func, 0},
- {"GetAdaptersInfo", Func, 0},
- {"GetAddrInfoW", Func, 1},
- {"GetCommandLine", Func, 0},
- {"GetComputerName", Func, 0},
- {"GetConsoleMode", Func, 1},
- {"GetCurrentDirectory", Func, 0},
- {"GetCurrentProcess", Func, 0},
- {"GetEnvironmentStrings", Func, 0},
- {"GetEnvironmentVariable", Func, 0},
- {"GetExitCodeProcess", Func, 0},
- {"GetFileAttributes", Func, 0},
- {"GetFileAttributesEx", Func, 0},
- {"GetFileExInfoStandard", Const, 0},
- {"GetFileExMaxInfoLevel", Const, 0},
- {"GetFileInformationByHandle", Func, 0},
- {"GetFileType", Func, 0},
- {"GetFullPathName", Func, 0},
- {"GetHostByName", Func, 0},
- {"GetIfEntry", Func, 0},
- {"GetLastError", Func, 0},
- {"GetLengthSid", Func, 0},
- {"GetLongPathName", Func, 0},
- {"GetProcAddress", Func, 0},
- {"GetProcessTimes", Func, 0},
- {"GetProtoByName", Func, 0},
- {"GetQueuedCompletionStatus", Func, 0},
- {"GetServByName", Func, 0},
- {"GetShortPathName", Func, 0},
- {"GetStartupInfo", Func, 0},
- {"GetStdHandle", Func, 0},
- {"GetSystemTimeAsFileTime", Func, 0},
- {"GetTempPath", Func, 0},
- {"GetTimeZoneInformation", Func, 0},
- {"GetTokenInformation", Func, 0},
- {"GetUserNameEx", Func, 0},
- {"GetUserProfileDirectory", Func, 0},
- {"GetVersion", Func, 0},
- {"Getcwd", Func, 0},
- {"Getdents", Func, 0},
- {"Getdirentries", Func, 0},
- {"Getdtablesize", Func, 0},
- {"Getegid", Func, 0},
- {"Getenv", Func, 0},
- {"Geteuid", Func, 0},
- {"Getfsstat", Func, 0},
- {"Getgid", Func, 0},
- {"Getgroups", Func, 0},
- {"Getpagesize", Func, 0},
- {"Getpeername", Func, 0},
- {"Getpgid", Func, 0},
- {"Getpgrp", Func, 0},
- {"Getpid", Func, 0},
- {"Getppid", Func, 0},
- {"Getpriority", Func, 0},
- {"Getrlimit", Func, 0},
- {"Getrusage", Func, 0},
- {"Getsid", Func, 0},
- {"Getsockname", Func, 0},
- {"Getsockopt", Func, 1},
- {"GetsockoptByte", Func, 0},
- {"GetsockoptICMPv6Filter", Func, 2},
- {"GetsockoptIPMreq", Func, 0},
- {"GetsockoptIPMreqn", Func, 0},
- {"GetsockoptIPv6MTUInfo", Func, 2},
- {"GetsockoptIPv6Mreq", Func, 0},
- {"GetsockoptInet4Addr", Func, 0},
- {"GetsockoptInt", Func, 0},
- {"GetsockoptUcred", Func, 1},
- {"Gettid", Func, 0},
- {"Gettimeofday", Func, 0},
- {"Getuid", Func, 0},
- {"Getwd", Func, 0},
- {"Getxattr", Func, 1},
- {"HANDLE_FLAG_INHERIT", Const, 0},
- {"HKEY_CLASSES_ROOT", Const, 0},
- {"HKEY_CURRENT_CONFIG", Const, 0},
- {"HKEY_CURRENT_USER", Const, 0},
- {"HKEY_DYN_DATA", Const, 0},
- {"HKEY_LOCAL_MACHINE", Const, 0},
- {"HKEY_PERFORMANCE_DATA", Const, 0},
- {"HKEY_USERS", Const, 0},
- {"HUPCL", Const, 0},
- {"Handle", Type, 0},
- {"Hostent", Type, 0},
- {"Hostent.AddrList", Field, 0},
- {"Hostent.AddrType", Field, 0},
- {"Hostent.Aliases", Field, 0},
- {"Hostent.Length", Field, 0},
- {"Hostent.Name", Field, 0},
- {"ICANON", Const, 0},
- {"ICMP6_FILTER", Const, 2},
- {"ICMPV6_FILTER", Const, 2},
- {"ICMPv6Filter", Type, 2},
- {"ICMPv6Filter.Data", Field, 2},
- {"ICMPv6Filter.Filt", Field, 2},
- {"ICRNL", Const, 0},
- {"IEXTEN", Const, 0},
- {"IFAN_ARRIVAL", Const, 1},
- {"IFAN_DEPARTURE", Const, 1},
- {"IFA_ADDRESS", Const, 0},
- {"IFA_ANYCAST", Const, 0},
- {"IFA_BROADCAST", Const, 0},
- {"IFA_CACHEINFO", Const, 0},
- {"IFA_F_DADFAILED", Const, 0},
- {"IFA_F_DEPRECATED", Const, 0},
- {"IFA_F_HOMEADDRESS", Const, 0},
- {"IFA_F_NODAD", Const, 0},
- {"IFA_F_OPTIMISTIC", Const, 0},
- {"IFA_F_PERMANENT", Const, 0},
- {"IFA_F_SECONDARY", Const, 0},
- {"IFA_F_TEMPORARY", Const, 0},
- {"IFA_F_TENTATIVE", Const, 0},
- {"IFA_LABEL", Const, 0},
- {"IFA_LOCAL", Const, 0},
- {"IFA_MAX", Const, 0},
- {"IFA_MULTICAST", Const, 0},
- {"IFA_ROUTE", Const, 1},
- {"IFA_UNSPEC", Const, 0},
- {"IFF_ALLMULTI", Const, 0},
- {"IFF_ALTPHYS", Const, 0},
- {"IFF_AUTOMEDIA", Const, 0},
- {"IFF_BROADCAST", Const, 0},
- {"IFF_CANTCHANGE", Const, 0},
- {"IFF_CANTCONFIG", Const, 1},
- {"IFF_DEBUG", Const, 0},
- {"IFF_DRV_OACTIVE", Const, 0},
- {"IFF_DRV_RUNNING", Const, 0},
- {"IFF_DYING", Const, 0},
- {"IFF_DYNAMIC", Const, 0},
- {"IFF_LINK0", Const, 0},
- {"IFF_LINK1", Const, 0},
- {"IFF_LINK2", Const, 0},
- {"IFF_LOOPBACK", Const, 0},
- {"IFF_MASTER", Const, 0},
- {"IFF_MONITOR", Const, 0},
- {"IFF_MULTICAST", Const, 0},
- {"IFF_NOARP", Const, 0},
- {"IFF_NOTRAILERS", Const, 0},
- {"IFF_NO_PI", Const, 0},
- {"IFF_OACTIVE", Const, 0},
- {"IFF_ONE_QUEUE", Const, 0},
- {"IFF_POINTOPOINT", Const, 0},
- {"IFF_POINTTOPOINT", Const, 0},
- {"IFF_PORTSEL", Const, 0},
- {"IFF_PPROMISC", Const, 0},
- {"IFF_PROMISC", Const, 0},
- {"IFF_RENAMING", Const, 0},
- {"IFF_RUNNING", Const, 0},
- {"IFF_SIMPLEX", Const, 0},
- {"IFF_SLAVE", Const, 0},
- {"IFF_SMART", Const, 0},
- {"IFF_STATICARP", Const, 0},
- {"IFF_TAP", Const, 0},
- {"IFF_TUN", Const, 0},
- {"IFF_TUN_EXCL", Const, 0},
- {"IFF_UP", Const, 0},
- {"IFF_VNET_HDR", Const, 0},
- {"IFLA_ADDRESS", Const, 0},
- {"IFLA_BROADCAST", Const, 0},
- {"IFLA_COST", Const, 0},
- {"IFLA_IFALIAS", Const, 0},
- {"IFLA_IFNAME", Const, 0},
- {"IFLA_LINK", Const, 0},
- {"IFLA_LINKINFO", Const, 0},
- {"IFLA_LINKMODE", Const, 0},
- {"IFLA_MAP", Const, 0},
- {"IFLA_MASTER", Const, 0},
- {"IFLA_MAX", Const, 0},
- {"IFLA_MTU", Const, 0},
- {"IFLA_NET_NS_PID", Const, 0},
- {"IFLA_OPERSTATE", Const, 0},
- {"IFLA_PRIORITY", Const, 0},
- {"IFLA_PROTINFO", Const, 0},
- {"IFLA_QDISC", Const, 0},
- {"IFLA_STATS", Const, 0},
- {"IFLA_TXQLEN", Const, 0},
- {"IFLA_UNSPEC", Const, 0},
- {"IFLA_WEIGHT", Const, 0},
- {"IFLA_WIRELESS", Const, 0},
- {"IFNAMSIZ", Const, 0},
- {"IFT_1822", Const, 0},
- {"IFT_A12MPPSWITCH", Const, 0},
- {"IFT_AAL2", Const, 0},
- {"IFT_AAL5", Const, 0},
- {"IFT_ADSL", Const, 0},
- {"IFT_AFLANE8023", Const, 0},
- {"IFT_AFLANE8025", Const, 0},
- {"IFT_ARAP", Const, 0},
- {"IFT_ARCNET", Const, 0},
- {"IFT_ARCNETPLUS", Const, 0},
- {"IFT_ASYNC", Const, 0},
- {"IFT_ATM", Const, 0},
- {"IFT_ATMDXI", Const, 0},
- {"IFT_ATMFUNI", Const, 0},
- {"IFT_ATMIMA", Const, 0},
- {"IFT_ATMLOGICAL", Const, 0},
- {"IFT_ATMRADIO", Const, 0},
- {"IFT_ATMSUBINTERFACE", Const, 0},
- {"IFT_ATMVCIENDPT", Const, 0},
- {"IFT_ATMVIRTUAL", Const, 0},
- {"IFT_BGPPOLICYACCOUNTING", Const, 0},
- {"IFT_BLUETOOTH", Const, 1},
- {"IFT_BRIDGE", Const, 0},
- {"IFT_BSC", Const, 0},
- {"IFT_CARP", Const, 0},
- {"IFT_CCTEMUL", Const, 0},
- {"IFT_CELLULAR", Const, 0},
- {"IFT_CEPT", Const, 0},
- {"IFT_CES", Const, 0},
- {"IFT_CHANNEL", Const, 0},
- {"IFT_CNR", Const, 0},
- {"IFT_COFFEE", Const, 0},
- {"IFT_COMPOSITELINK", Const, 0},
- {"IFT_DCN", Const, 0},
- {"IFT_DIGITALPOWERLINE", Const, 0},
- {"IFT_DIGITALWRAPPEROVERHEADCHANNEL", Const, 0},
- {"IFT_DLSW", Const, 0},
- {"IFT_DOCSCABLEDOWNSTREAM", Const, 0},
- {"IFT_DOCSCABLEMACLAYER", Const, 0},
- {"IFT_DOCSCABLEUPSTREAM", Const, 0},
- {"IFT_DOCSCABLEUPSTREAMCHANNEL", Const, 1},
- {"IFT_DS0", Const, 0},
- {"IFT_DS0BUNDLE", Const, 0},
- {"IFT_DS1FDL", Const, 0},
- {"IFT_DS3", Const, 0},
- {"IFT_DTM", Const, 0},
- {"IFT_DUMMY", Const, 1},
- {"IFT_DVBASILN", Const, 0},
- {"IFT_DVBASIOUT", Const, 0},
- {"IFT_DVBRCCDOWNSTREAM", Const, 0},
- {"IFT_DVBRCCMACLAYER", Const, 0},
- {"IFT_DVBRCCUPSTREAM", Const, 0},
- {"IFT_ECONET", Const, 1},
- {"IFT_ENC", Const, 0},
- {"IFT_EON", Const, 0},
- {"IFT_EPLRS", Const, 0},
- {"IFT_ESCON", Const, 0},
- {"IFT_ETHER", Const, 0},
- {"IFT_FAITH", Const, 0},
- {"IFT_FAST", Const, 0},
- {"IFT_FASTETHER", Const, 0},
- {"IFT_FASTETHERFX", Const, 0},
- {"IFT_FDDI", Const, 0},
- {"IFT_FIBRECHANNEL", Const, 0},
- {"IFT_FRAMERELAYINTERCONNECT", Const, 0},
- {"IFT_FRAMERELAYMPI", Const, 0},
- {"IFT_FRDLCIENDPT", Const, 0},
- {"IFT_FRELAY", Const, 0},
- {"IFT_FRELAYDCE", Const, 0},
- {"IFT_FRF16MFRBUNDLE", Const, 0},
- {"IFT_FRFORWARD", Const, 0},
- {"IFT_G703AT2MB", Const, 0},
- {"IFT_G703AT64K", Const, 0},
- {"IFT_GIF", Const, 0},
- {"IFT_GIGABITETHERNET", Const, 0},
- {"IFT_GR303IDT", Const, 0},
- {"IFT_GR303RDT", Const, 0},
- {"IFT_H323GATEKEEPER", Const, 0},
- {"IFT_H323PROXY", Const, 0},
- {"IFT_HDH1822", Const, 0},
- {"IFT_HDLC", Const, 0},
- {"IFT_HDSL2", Const, 0},
- {"IFT_HIPERLAN2", Const, 0},
- {"IFT_HIPPI", Const, 0},
- {"IFT_HIPPIINTERFACE", Const, 0},
- {"IFT_HOSTPAD", Const, 0},
- {"IFT_HSSI", Const, 0},
- {"IFT_HY", Const, 0},
- {"IFT_IBM370PARCHAN", Const, 0},
- {"IFT_IDSL", Const, 0},
- {"IFT_IEEE1394", Const, 0},
- {"IFT_IEEE80211", Const, 0},
- {"IFT_IEEE80212", Const, 0},
- {"IFT_IEEE8023ADLAG", Const, 0},
- {"IFT_IFGSN", Const, 0},
- {"IFT_IMT", Const, 0},
- {"IFT_INFINIBAND", Const, 1},
- {"IFT_INTERLEAVE", Const, 0},
- {"IFT_IP", Const, 0},
- {"IFT_IPFORWARD", Const, 0},
- {"IFT_IPOVERATM", Const, 0},
- {"IFT_IPOVERCDLC", Const, 0},
- {"IFT_IPOVERCLAW", Const, 0},
- {"IFT_IPSWITCH", Const, 0},
- {"IFT_IPXIP", Const, 0},
- {"IFT_ISDN", Const, 0},
- {"IFT_ISDNBASIC", Const, 0},
- {"IFT_ISDNPRIMARY", Const, 0},
- {"IFT_ISDNS", Const, 0},
- {"IFT_ISDNU", Const, 0},
- {"IFT_ISO88022LLC", Const, 0},
- {"IFT_ISO88023", Const, 0},
- {"IFT_ISO88024", Const, 0},
- {"IFT_ISO88025", Const, 0},
- {"IFT_ISO88025CRFPINT", Const, 0},
- {"IFT_ISO88025DTR", Const, 0},
- {"IFT_ISO88025FIBER", Const, 0},
- {"IFT_ISO88026", Const, 0},
- {"IFT_ISUP", Const, 0},
- {"IFT_L2VLAN", Const, 0},
- {"IFT_L3IPVLAN", Const, 0},
- {"IFT_L3IPXVLAN", Const, 0},
- {"IFT_LAPB", Const, 0},
- {"IFT_LAPD", Const, 0},
- {"IFT_LAPF", Const, 0},
- {"IFT_LINEGROUP", Const, 1},
- {"IFT_LOCALTALK", Const, 0},
- {"IFT_LOOP", Const, 0},
- {"IFT_MEDIAMAILOVERIP", Const, 0},
- {"IFT_MFSIGLINK", Const, 0},
- {"IFT_MIOX25", Const, 0},
- {"IFT_MODEM", Const, 0},
- {"IFT_MPC", Const, 0},
- {"IFT_MPLS", Const, 0},
- {"IFT_MPLSTUNNEL", Const, 0},
- {"IFT_MSDSL", Const, 0},
- {"IFT_MVL", Const, 0},
- {"IFT_MYRINET", Const, 0},
- {"IFT_NFAS", Const, 0},
- {"IFT_NSIP", Const, 0},
- {"IFT_OPTICALCHANNEL", Const, 0},
- {"IFT_OPTICALTRANSPORT", Const, 0},
- {"IFT_OTHER", Const, 0},
- {"IFT_P10", Const, 0},
- {"IFT_P80", Const, 0},
- {"IFT_PARA", Const, 0},
- {"IFT_PDP", Const, 0},
- {"IFT_PFLOG", Const, 0},
- {"IFT_PFLOW", Const, 1},
- {"IFT_PFSYNC", Const, 0},
- {"IFT_PLC", Const, 0},
- {"IFT_PON155", Const, 1},
- {"IFT_PON622", Const, 1},
- {"IFT_POS", Const, 0},
- {"IFT_PPP", Const, 0},
- {"IFT_PPPMULTILINKBUNDLE", Const, 0},
- {"IFT_PROPATM", Const, 1},
- {"IFT_PROPBWAP2MP", Const, 0},
- {"IFT_PROPCNLS", Const, 0},
- {"IFT_PROPDOCSWIRELESSDOWNSTREAM", Const, 0},
- {"IFT_PROPDOCSWIRELESSMACLAYER", Const, 0},
- {"IFT_PROPDOCSWIRELESSUPSTREAM", Const, 0},
- {"IFT_PROPMUX", Const, 0},
- {"IFT_PROPVIRTUAL", Const, 0},
- {"IFT_PROPWIRELESSP2P", Const, 0},
- {"IFT_PTPSERIAL", Const, 0},
- {"IFT_PVC", Const, 0},
- {"IFT_Q2931", Const, 1},
- {"IFT_QLLC", Const, 0},
- {"IFT_RADIOMAC", Const, 0},
- {"IFT_RADSL", Const, 0},
- {"IFT_REACHDSL", Const, 0},
- {"IFT_RFC1483", Const, 0},
- {"IFT_RS232", Const, 0},
- {"IFT_RSRB", Const, 0},
- {"IFT_SDLC", Const, 0},
- {"IFT_SDSL", Const, 0},
- {"IFT_SHDSL", Const, 0},
- {"IFT_SIP", Const, 0},
- {"IFT_SIPSIG", Const, 1},
- {"IFT_SIPTG", Const, 1},
- {"IFT_SLIP", Const, 0},
- {"IFT_SMDSDXI", Const, 0},
- {"IFT_SMDSICIP", Const, 0},
- {"IFT_SONET", Const, 0},
- {"IFT_SONETOVERHEADCHANNEL", Const, 0},
- {"IFT_SONETPATH", Const, 0},
- {"IFT_SONETVT", Const, 0},
- {"IFT_SRP", Const, 0},
- {"IFT_SS7SIGLINK", Const, 0},
- {"IFT_STACKTOSTACK", Const, 0},
- {"IFT_STARLAN", Const, 0},
- {"IFT_STF", Const, 0},
- {"IFT_T1", Const, 0},
- {"IFT_TDLC", Const, 0},
- {"IFT_TELINK", Const, 1},
- {"IFT_TERMPAD", Const, 0},
- {"IFT_TR008", Const, 0},
- {"IFT_TRANSPHDLC", Const, 0},
- {"IFT_TUNNEL", Const, 0},
- {"IFT_ULTRA", Const, 0},
- {"IFT_USB", Const, 0},
- {"IFT_V11", Const, 0},
- {"IFT_V35", Const, 0},
- {"IFT_V36", Const, 0},
- {"IFT_V37", Const, 0},
- {"IFT_VDSL", Const, 0},
- {"IFT_VIRTUALIPADDRESS", Const, 0},
- {"IFT_VIRTUALTG", Const, 1},
- {"IFT_VOICEDID", Const, 1},
- {"IFT_VOICEEM", Const, 0},
- {"IFT_VOICEEMFGD", Const, 1},
- {"IFT_VOICEENCAP", Const, 0},
- {"IFT_VOICEFGDEANA", Const, 1},
- {"IFT_VOICEFXO", Const, 0},
- {"IFT_VOICEFXS", Const, 0},
- {"IFT_VOICEOVERATM", Const, 0},
- {"IFT_VOICEOVERCABLE", Const, 1},
- {"IFT_VOICEOVERFRAMERELAY", Const, 0},
- {"IFT_VOICEOVERIP", Const, 0},
- {"IFT_X213", Const, 0},
- {"IFT_X25", Const, 0},
- {"IFT_X25DDN", Const, 0},
- {"IFT_X25HUNTGROUP", Const, 0},
- {"IFT_X25MLP", Const, 0},
- {"IFT_X25PLE", Const, 0},
- {"IFT_XETHER", Const, 0},
- {"IGNBRK", Const, 0},
- {"IGNCR", Const, 0},
- {"IGNORE", Const, 0},
- {"IGNPAR", Const, 0},
- {"IMAXBEL", Const, 0},
- {"INFINITE", Const, 0},
- {"INLCR", Const, 0},
- {"INPCK", Const, 0},
- {"INVALID_FILE_ATTRIBUTES", Const, 0},
- {"IN_ACCESS", Const, 0},
- {"IN_ALL_EVENTS", Const, 0},
- {"IN_ATTRIB", Const, 0},
- {"IN_CLASSA_HOST", Const, 0},
- {"IN_CLASSA_MAX", Const, 0},
- {"IN_CLASSA_NET", Const, 0},
- {"IN_CLASSA_NSHIFT", Const, 0},
- {"IN_CLASSB_HOST", Const, 0},
- {"IN_CLASSB_MAX", Const, 0},
- {"IN_CLASSB_NET", Const, 0},
- {"IN_CLASSB_NSHIFT", Const, 0},
- {"IN_CLASSC_HOST", Const, 0},
- {"IN_CLASSC_NET", Const, 0},
- {"IN_CLASSC_NSHIFT", Const, 0},
- {"IN_CLASSD_HOST", Const, 0},
- {"IN_CLASSD_NET", Const, 0},
- {"IN_CLASSD_NSHIFT", Const, 0},
- {"IN_CLOEXEC", Const, 0},
- {"IN_CLOSE", Const, 0},
- {"IN_CLOSE_NOWRITE", Const, 0},
- {"IN_CLOSE_WRITE", Const, 0},
- {"IN_CREATE", Const, 0},
- {"IN_DELETE", Const, 0},
- {"IN_DELETE_SELF", Const, 0},
- {"IN_DONT_FOLLOW", Const, 0},
- {"IN_EXCL_UNLINK", Const, 0},
- {"IN_IGNORED", Const, 0},
- {"IN_ISDIR", Const, 0},
- {"IN_LINKLOCALNETNUM", Const, 0},
- {"IN_LOOPBACKNET", Const, 0},
- {"IN_MASK_ADD", Const, 0},
- {"IN_MODIFY", Const, 0},
- {"IN_MOVE", Const, 0},
- {"IN_MOVED_FROM", Const, 0},
- {"IN_MOVED_TO", Const, 0},
- {"IN_MOVE_SELF", Const, 0},
- {"IN_NONBLOCK", Const, 0},
- {"IN_ONESHOT", Const, 0},
- {"IN_ONLYDIR", Const, 0},
- {"IN_OPEN", Const, 0},
- {"IN_Q_OVERFLOW", Const, 0},
- {"IN_RFC3021_HOST", Const, 1},
- {"IN_RFC3021_MASK", Const, 1},
- {"IN_RFC3021_NET", Const, 1},
- {"IN_RFC3021_NSHIFT", Const, 1},
- {"IN_UNMOUNT", Const, 0},
- {"IOC_IN", Const, 1},
- {"IOC_INOUT", Const, 1},
- {"IOC_OUT", Const, 1},
- {"IOC_VENDOR", Const, 3},
- {"IOC_WS2", Const, 1},
- {"IO_REPARSE_TAG_SYMLINK", Const, 4},
- {"IPMreq", Type, 0},
- {"IPMreq.Interface", Field, 0},
- {"IPMreq.Multiaddr", Field, 0},
- {"IPMreqn", Type, 0},
- {"IPMreqn.Address", Field, 0},
- {"IPMreqn.Ifindex", Field, 0},
- {"IPMreqn.Multiaddr", Field, 0},
- {"IPPROTO_3PC", Const, 0},
- {"IPPROTO_ADFS", Const, 0},
- {"IPPROTO_AH", Const, 0},
- {"IPPROTO_AHIP", Const, 0},
- {"IPPROTO_APES", Const, 0},
- {"IPPROTO_ARGUS", Const, 0},
- {"IPPROTO_AX25", Const, 0},
- {"IPPROTO_BHA", Const, 0},
- {"IPPROTO_BLT", Const, 0},
- {"IPPROTO_BRSATMON", Const, 0},
- {"IPPROTO_CARP", Const, 0},
- {"IPPROTO_CFTP", Const, 0},
- {"IPPROTO_CHAOS", Const, 0},
- {"IPPROTO_CMTP", Const, 0},
- {"IPPROTO_COMP", Const, 0},
- {"IPPROTO_CPHB", Const, 0},
- {"IPPROTO_CPNX", Const, 0},
- {"IPPROTO_DCCP", Const, 0},
- {"IPPROTO_DDP", Const, 0},
- {"IPPROTO_DGP", Const, 0},
- {"IPPROTO_DIVERT", Const, 0},
- {"IPPROTO_DIVERT_INIT", Const, 3},
- {"IPPROTO_DIVERT_RESP", Const, 3},
- {"IPPROTO_DONE", Const, 0},
- {"IPPROTO_DSTOPTS", Const, 0},
- {"IPPROTO_EGP", Const, 0},
- {"IPPROTO_EMCON", Const, 0},
- {"IPPROTO_ENCAP", Const, 0},
- {"IPPROTO_EON", Const, 0},
- {"IPPROTO_ESP", Const, 0},
- {"IPPROTO_ETHERIP", Const, 0},
- {"IPPROTO_FRAGMENT", Const, 0},
- {"IPPROTO_GGP", Const, 0},
- {"IPPROTO_GMTP", Const, 0},
- {"IPPROTO_GRE", Const, 0},
- {"IPPROTO_HELLO", Const, 0},
- {"IPPROTO_HMP", Const, 0},
- {"IPPROTO_HOPOPTS", Const, 0},
- {"IPPROTO_ICMP", Const, 0},
- {"IPPROTO_ICMPV6", Const, 0},
- {"IPPROTO_IDP", Const, 0},
- {"IPPROTO_IDPR", Const, 0},
- {"IPPROTO_IDRP", Const, 0},
- {"IPPROTO_IGMP", Const, 0},
- {"IPPROTO_IGP", Const, 0},
- {"IPPROTO_IGRP", Const, 0},
- {"IPPROTO_IL", Const, 0},
- {"IPPROTO_INLSP", Const, 0},
- {"IPPROTO_INP", Const, 0},
- {"IPPROTO_IP", Const, 0},
- {"IPPROTO_IPCOMP", Const, 0},
- {"IPPROTO_IPCV", Const, 0},
- {"IPPROTO_IPEIP", Const, 0},
- {"IPPROTO_IPIP", Const, 0},
- {"IPPROTO_IPPC", Const, 0},
- {"IPPROTO_IPV4", Const, 0},
- {"IPPROTO_IPV6", Const, 0},
- {"IPPROTO_IPV6_ICMP", Const, 1},
- {"IPPROTO_IRTP", Const, 0},
- {"IPPROTO_KRYPTOLAN", Const, 0},
- {"IPPROTO_LARP", Const, 0},
- {"IPPROTO_LEAF1", Const, 0},
- {"IPPROTO_LEAF2", Const, 0},
- {"IPPROTO_MAX", Const, 0},
- {"IPPROTO_MAXID", Const, 0},
- {"IPPROTO_MEAS", Const, 0},
- {"IPPROTO_MH", Const, 1},
- {"IPPROTO_MHRP", Const, 0},
- {"IPPROTO_MICP", Const, 0},
- {"IPPROTO_MOBILE", Const, 0},
- {"IPPROTO_MPLS", Const, 1},
- {"IPPROTO_MTP", Const, 0},
- {"IPPROTO_MUX", Const, 0},
- {"IPPROTO_ND", Const, 0},
- {"IPPROTO_NHRP", Const, 0},
- {"IPPROTO_NONE", Const, 0},
- {"IPPROTO_NSP", Const, 0},
- {"IPPROTO_NVPII", Const, 0},
- {"IPPROTO_OLD_DIVERT", Const, 0},
- {"IPPROTO_OSPFIGP", Const, 0},
- {"IPPROTO_PFSYNC", Const, 0},
- {"IPPROTO_PGM", Const, 0},
- {"IPPROTO_PIGP", Const, 0},
- {"IPPROTO_PIM", Const, 0},
- {"IPPROTO_PRM", Const, 0},
- {"IPPROTO_PUP", Const, 0},
- {"IPPROTO_PVP", Const, 0},
- {"IPPROTO_RAW", Const, 0},
- {"IPPROTO_RCCMON", Const, 0},
- {"IPPROTO_RDP", Const, 0},
- {"IPPROTO_ROUTING", Const, 0},
- {"IPPROTO_RSVP", Const, 0},
- {"IPPROTO_RVD", Const, 0},
- {"IPPROTO_SATEXPAK", Const, 0},
- {"IPPROTO_SATMON", Const, 0},
- {"IPPROTO_SCCSP", Const, 0},
- {"IPPROTO_SCTP", Const, 0},
- {"IPPROTO_SDRP", Const, 0},
- {"IPPROTO_SEND", Const, 1},
- {"IPPROTO_SEP", Const, 0},
- {"IPPROTO_SKIP", Const, 0},
- {"IPPROTO_SPACER", Const, 0},
- {"IPPROTO_SRPC", Const, 0},
- {"IPPROTO_ST", Const, 0},
- {"IPPROTO_SVMTP", Const, 0},
- {"IPPROTO_SWIPE", Const, 0},
- {"IPPROTO_TCF", Const, 0},
- {"IPPROTO_TCP", Const, 0},
- {"IPPROTO_TLSP", Const, 0},
- {"IPPROTO_TP", Const, 0},
- {"IPPROTO_TPXX", Const, 0},
- {"IPPROTO_TRUNK1", Const, 0},
- {"IPPROTO_TRUNK2", Const, 0},
- {"IPPROTO_TTP", Const, 0},
- {"IPPROTO_UDP", Const, 0},
- {"IPPROTO_UDPLITE", Const, 0},
- {"IPPROTO_VINES", Const, 0},
- {"IPPROTO_VISA", Const, 0},
- {"IPPROTO_VMTP", Const, 0},
- {"IPPROTO_VRRP", Const, 1},
- {"IPPROTO_WBEXPAK", Const, 0},
- {"IPPROTO_WBMON", Const, 0},
- {"IPPROTO_WSN", Const, 0},
- {"IPPROTO_XNET", Const, 0},
- {"IPPROTO_XTP", Const, 0},
- {"IPV6_2292DSTOPTS", Const, 0},
- {"IPV6_2292HOPLIMIT", Const, 0},
- {"IPV6_2292HOPOPTS", Const, 0},
- {"IPV6_2292NEXTHOP", Const, 0},
- {"IPV6_2292PKTINFO", Const, 0},
- {"IPV6_2292PKTOPTIONS", Const, 0},
- {"IPV6_2292RTHDR", Const, 0},
- {"IPV6_ADDRFORM", Const, 0},
- {"IPV6_ADD_MEMBERSHIP", Const, 0},
- {"IPV6_AUTHHDR", Const, 0},
- {"IPV6_AUTH_LEVEL", Const, 1},
- {"IPV6_AUTOFLOWLABEL", Const, 0},
- {"IPV6_BINDANY", Const, 0},
- {"IPV6_BINDV6ONLY", Const, 0},
- {"IPV6_BOUND_IF", Const, 0},
- {"IPV6_CHECKSUM", Const, 0},
- {"IPV6_DEFAULT_MULTICAST_HOPS", Const, 0},
- {"IPV6_DEFAULT_MULTICAST_LOOP", Const, 0},
- {"IPV6_DEFHLIM", Const, 0},
- {"IPV6_DONTFRAG", Const, 0},
- {"IPV6_DROP_MEMBERSHIP", Const, 0},
- {"IPV6_DSTOPTS", Const, 0},
- {"IPV6_ESP_NETWORK_LEVEL", Const, 1},
- {"IPV6_ESP_TRANS_LEVEL", Const, 1},
- {"IPV6_FAITH", Const, 0},
- {"IPV6_FLOWINFO_MASK", Const, 0},
- {"IPV6_FLOWLABEL_MASK", Const, 0},
- {"IPV6_FRAGTTL", Const, 0},
- {"IPV6_FW_ADD", Const, 0},
- {"IPV6_FW_DEL", Const, 0},
- {"IPV6_FW_FLUSH", Const, 0},
- {"IPV6_FW_GET", Const, 0},
- {"IPV6_FW_ZERO", Const, 0},
- {"IPV6_HLIMDEC", Const, 0},
- {"IPV6_HOPLIMIT", Const, 0},
- {"IPV6_HOPOPTS", Const, 0},
- {"IPV6_IPCOMP_LEVEL", Const, 1},
- {"IPV6_IPSEC_POLICY", Const, 0},
- {"IPV6_JOIN_ANYCAST", Const, 0},
- {"IPV6_JOIN_GROUP", Const, 0},
- {"IPV6_LEAVE_ANYCAST", Const, 0},
- {"IPV6_LEAVE_GROUP", Const, 0},
- {"IPV6_MAXHLIM", Const, 0},
- {"IPV6_MAXOPTHDR", Const, 0},
- {"IPV6_MAXPACKET", Const, 0},
- {"IPV6_MAX_GROUP_SRC_FILTER", Const, 0},
- {"IPV6_MAX_MEMBERSHIPS", Const, 0},
- {"IPV6_MAX_SOCK_SRC_FILTER", Const, 0},
- {"IPV6_MIN_MEMBERSHIPS", Const, 0},
- {"IPV6_MMTU", Const, 0},
- {"IPV6_MSFILTER", Const, 0},
- {"IPV6_MTU", Const, 0},
- {"IPV6_MTU_DISCOVER", Const, 0},
- {"IPV6_MULTICAST_HOPS", Const, 0},
- {"IPV6_MULTICAST_IF", Const, 0},
- {"IPV6_MULTICAST_LOOP", Const, 0},
- {"IPV6_NEXTHOP", Const, 0},
- {"IPV6_OPTIONS", Const, 1},
- {"IPV6_PATHMTU", Const, 0},
- {"IPV6_PIPEX", Const, 1},
- {"IPV6_PKTINFO", Const, 0},
- {"IPV6_PMTUDISC_DO", Const, 0},
- {"IPV6_PMTUDISC_DONT", Const, 0},
- {"IPV6_PMTUDISC_PROBE", Const, 0},
- {"IPV6_PMTUDISC_WANT", Const, 0},
- {"IPV6_PORTRANGE", Const, 0},
- {"IPV6_PORTRANGE_DEFAULT", Const, 0},
- {"IPV6_PORTRANGE_HIGH", Const, 0},
- {"IPV6_PORTRANGE_LOW", Const, 0},
- {"IPV6_PREFER_TEMPADDR", Const, 0},
- {"IPV6_RECVDSTOPTS", Const, 0},
- {"IPV6_RECVDSTPORT", Const, 3},
- {"IPV6_RECVERR", Const, 0},
- {"IPV6_RECVHOPLIMIT", Const, 0},
- {"IPV6_RECVHOPOPTS", Const, 0},
- {"IPV6_RECVPATHMTU", Const, 0},
- {"IPV6_RECVPKTINFO", Const, 0},
- {"IPV6_RECVRTHDR", Const, 0},
- {"IPV6_RECVTCLASS", Const, 0},
- {"IPV6_ROUTER_ALERT", Const, 0},
- {"IPV6_RTABLE", Const, 1},
- {"IPV6_RTHDR", Const, 0},
- {"IPV6_RTHDRDSTOPTS", Const, 0},
- {"IPV6_RTHDR_LOOSE", Const, 0},
- {"IPV6_RTHDR_STRICT", Const, 0},
- {"IPV6_RTHDR_TYPE_0", Const, 0},
- {"IPV6_RXDSTOPTS", Const, 0},
- {"IPV6_RXHOPOPTS", Const, 0},
- {"IPV6_SOCKOPT_RESERVED1", Const, 0},
- {"IPV6_TCLASS", Const, 0},
- {"IPV6_UNICAST_HOPS", Const, 0},
- {"IPV6_USE_MIN_MTU", Const, 0},
- {"IPV6_V6ONLY", Const, 0},
- {"IPV6_VERSION", Const, 0},
- {"IPV6_VERSION_MASK", Const, 0},
- {"IPV6_XFRM_POLICY", Const, 0},
- {"IP_ADD_MEMBERSHIP", Const, 0},
- {"IP_ADD_SOURCE_MEMBERSHIP", Const, 0},
- {"IP_AUTH_LEVEL", Const, 1},
- {"IP_BINDANY", Const, 0},
- {"IP_BLOCK_SOURCE", Const, 0},
- {"IP_BOUND_IF", Const, 0},
- {"IP_DEFAULT_MULTICAST_LOOP", Const, 0},
- {"IP_DEFAULT_MULTICAST_TTL", Const, 0},
- {"IP_DF", Const, 0},
- {"IP_DIVERTFL", Const, 3},
- {"IP_DONTFRAG", Const, 0},
- {"IP_DROP_MEMBERSHIP", Const, 0},
- {"IP_DROP_SOURCE_MEMBERSHIP", Const, 0},
- {"IP_DUMMYNET3", Const, 0},
- {"IP_DUMMYNET_CONFIGURE", Const, 0},
- {"IP_DUMMYNET_DEL", Const, 0},
- {"IP_DUMMYNET_FLUSH", Const, 0},
- {"IP_DUMMYNET_GET", Const, 0},
- {"IP_EF", Const, 1},
- {"IP_ERRORMTU", Const, 1},
- {"IP_ESP_NETWORK_LEVEL", Const, 1},
- {"IP_ESP_TRANS_LEVEL", Const, 1},
- {"IP_FAITH", Const, 0},
- {"IP_FREEBIND", Const, 0},
- {"IP_FW3", Const, 0},
- {"IP_FW_ADD", Const, 0},
- {"IP_FW_DEL", Const, 0},
- {"IP_FW_FLUSH", Const, 0},
- {"IP_FW_GET", Const, 0},
- {"IP_FW_NAT_CFG", Const, 0},
- {"IP_FW_NAT_DEL", Const, 0},
- {"IP_FW_NAT_GET_CONFIG", Const, 0},
- {"IP_FW_NAT_GET_LOG", Const, 0},
- {"IP_FW_RESETLOG", Const, 0},
- {"IP_FW_TABLE_ADD", Const, 0},
- {"IP_FW_TABLE_DEL", Const, 0},
- {"IP_FW_TABLE_FLUSH", Const, 0},
- {"IP_FW_TABLE_GETSIZE", Const, 0},
- {"IP_FW_TABLE_LIST", Const, 0},
- {"IP_FW_ZERO", Const, 0},
- {"IP_HDRINCL", Const, 0},
- {"IP_IPCOMP_LEVEL", Const, 1},
- {"IP_IPSECFLOWINFO", Const, 1},
- {"IP_IPSEC_LOCAL_AUTH", Const, 1},
- {"IP_IPSEC_LOCAL_CRED", Const, 1},
- {"IP_IPSEC_LOCAL_ID", Const, 1},
- {"IP_IPSEC_POLICY", Const, 0},
- {"IP_IPSEC_REMOTE_AUTH", Const, 1},
- {"IP_IPSEC_REMOTE_CRED", Const, 1},
- {"IP_IPSEC_REMOTE_ID", Const, 1},
- {"IP_MAXPACKET", Const, 0},
- {"IP_MAX_GROUP_SRC_FILTER", Const, 0},
- {"IP_MAX_MEMBERSHIPS", Const, 0},
- {"IP_MAX_SOCK_MUTE_FILTER", Const, 0},
- {"IP_MAX_SOCK_SRC_FILTER", Const, 0},
- {"IP_MAX_SOURCE_FILTER", Const, 0},
- {"IP_MF", Const, 0},
- {"IP_MINFRAGSIZE", Const, 1},
- {"IP_MINTTL", Const, 0},
- {"IP_MIN_MEMBERSHIPS", Const, 0},
- {"IP_MSFILTER", Const, 0},
- {"IP_MSS", Const, 0},
- {"IP_MTU", Const, 0},
- {"IP_MTU_DISCOVER", Const, 0},
- {"IP_MULTICAST_IF", Const, 0},
- {"IP_MULTICAST_IFINDEX", Const, 0},
- {"IP_MULTICAST_LOOP", Const, 0},
- {"IP_MULTICAST_TTL", Const, 0},
- {"IP_MULTICAST_VIF", Const, 0},
- {"IP_NAT__XXX", Const, 0},
- {"IP_OFFMASK", Const, 0},
- {"IP_OLD_FW_ADD", Const, 0},
- {"IP_OLD_FW_DEL", Const, 0},
- {"IP_OLD_FW_FLUSH", Const, 0},
- {"IP_OLD_FW_GET", Const, 0},
- {"IP_OLD_FW_RESETLOG", Const, 0},
- {"IP_OLD_FW_ZERO", Const, 0},
- {"IP_ONESBCAST", Const, 0},
- {"IP_OPTIONS", Const, 0},
- {"IP_ORIGDSTADDR", Const, 0},
- {"IP_PASSSEC", Const, 0},
- {"IP_PIPEX", Const, 1},
- {"IP_PKTINFO", Const, 0},
- {"IP_PKTOPTIONS", Const, 0},
- {"IP_PMTUDISC", Const, 0},
- {"IP_PMTUDISC_DO", Const, 0},
- {"IP_PMTUDISC_DONT", Const, 0},
- {"IP_PMTUDISC_PROBE", Const, 0},
- {"IP_PMTUDISC_WANT", Const, 0},
- {"IP_PORTRANGE", Const, 0},
- {"IP_PORTRANGE_DEFAULT", Const, 0},
- {"IP_PORTRANGE_HIGH", Const, 0},
- {"IP_PORTRANGE_LOW", Const, 0},
- {"IP_RECVDSTADDR", Const, 0},
- {"IP_RECVDSTPORT", Const, 1},
- {"IP_RECVERR", Const, 0},
- {"IP_RECVIF", Const, 0},
- {"IP_RECVOPTS", Const, 0},
- {"IP_RECVORIGDSTADDR", Const, 0},
- {"IP_RECVPKTINFO", Const, 0},
- {"IP_RECVRETOPTS", Const, 0},
- {"IP_RECVRTABLE", Const, 1},
- {"IP_RECVTOS", Const, 0},
- {"IP_RECVTTL", Const, 0},
- {"IP_RETOPTS", Const, 0},
- {"IP_RF", Const, 0},
- {"IP_ROUTER_ALERT", Const, 0},
- {"IP_RSVP_OFF", Const, 0},
- {"IP_RSVP_ON", Const, 0},
- {"IP_RSVP_VIF_OFF", Const, 0},
- {"IP_RSVP_VIF_ON", Const, 0},
- {"IP_RTABLE", Const, 1},
- {"IP_SENDSRCADDR", Const, 0},
- {"IP_STRIPHDR", Const, 0},
- {"IP_TOS", Const, 0},
- {"IP_TRAFFIC_MGT_BACKGROUND", Const, 0},
- {"IP_TRANSPARENT", Const, 0},
- {"IP_TTL", Const, 0},
- {"IP_UNBLOCK_SOURCE", Const, 0},
- {"IP_XFRM_POLICY", Const, 0},
- {"IPv6MTUInfo", Type, 2},
- {"IPv6MTUInfo.Addr", Field, 2},
- {"IPv6MTUInfo.Mtu", Field, 2},
- {"IPv6Mreq", Type, 0},
- {"IPv6Mreq.Interface", Field, 0},
- {"IPv6Mreq.Multiaddr", Field, 0},
- {"ISIG", Const, 0},
- {"ISTRIP", Const, 0},
- {"IUCLC", Const, 0},
- {"IUTF8", Const, 0},
- {"IXANY", Const, 0},
- {"IXOFF", Const, 0},
- {"IXON", Const, 0},
- {"IfAddrmsg", Type, 0},
- {"IfAddrmsg.Family", Field, 0},
- {"IfAddrmsg.Flags", Field, 0},
- {"IfAddrmsg.Index", Field, 0},
- {"IfAddrmsg.Prefixlen", Field, 0},
- {"IfAddrmsg.Scope", Field, 0},
- {"IfAnnounceMsghdr", Type, 1},
- {"IfAnnounceMsghdr.Hdrlen", Field, 2},
- {"IfAnnounceMsghdr.Index", Field, 1},
- {"IfAnnounceMsghdr.Msglen", Field, 1},
- {"IfAnnounceMsghdr.Name", Field, 1},
- {"IfAnnounceMsghdr.Type", Field, 1},
- {"IfAnnounceMsghdr.Version", Field, 1},
- {"IfAnnounceMsghdr.What", Field, 1},
- {"IfData", Type, 0},
- {"IfData.Addrlen", Field, 0},
- {"IfData.Baudrate", Field, 0},
- {"IfData.Capabilities", Field, 2},
- {"IfData.Collisions", Field, 0},
- {"IfData.Datalen", Field, 0},
- {"IfData.Epoch", Field, 0},
- {"IfData.Hdrlen", Field, 0},
- {"IfData.Hwassist", Field, 0},
- {"IfData.Ibytes", Field, 0},
- {"IfData.Ierrors", Field, 0},
- {"IfData.Imcasts", Field, 0},
- {"IfData.Ipackets", Field, 0},
- {"IfData.Iqdrops", Field, 0},
- {"IfData.Lastchange", Field, 0},
- {"IfData.Link_state", Field, 0},
- {"IfData.Mclpool", Field, 2},
- {"IfData.Metric", Field, 0},
- {"IfData.Mtu", Field, 0},
- {"IfData.Noproto", Field, 0},
- {"IfData.Obytes", Field, 0},
- {"IfData.Oerrors", Field, 0},
- {"IfData.Omcasts", Field, 0},
- {"IfData.Opackets", Field, 0},
- {"IfData.Pad", Field, 2},
- {"IfData.Pad_cgo_0", Field, 2},
- {"IfData.Pad_cgo_1", Field, 2},
- {"IfData.Physical", Field, 0},
- {"IfData.Recvquota", Field, 0},
- {"IfData.Recvtiming", Field, 0},
- {"IfData.Reserved1", Field, 0},
- {"IfData.Reserved2", Field, 0},
- {"IfData.Spare_char1", Field, 0},
- {"IfData.Spare_char2", Field, 0},
- {"IfData.Type", Field, 0},
- {"IfData.Typelen", Field, 0},
- {"IfData.Unused1", Field, 0},
- {"IfData.Unused2", Field, 0},
- {"IfData.Xmitquota", Field, 0},
- {"IfData.Xmittiming", Field, 0},
- {"IfInfomsg", Type, 0},
- {"IfInfomsg.Change", Field, 0},
- {"IfInfomsg.Family", Field, 0},
- {"IfInfomsg.Flags", Field, 0},
- {"IfInfomsg.Index", Field, 0},
- {"IfInfomsg.Type", Field, 0},
- {"IfInfomsg.X__ifi_pad", Field, 0},
- {"IfMsghdr", Type, 0},
- {"IfMsghdr.Addrs", Field, 0},
- {"IfMsghdr.Data", Field, 0},
- {"IfMsghdr.Flags", Field, 0},
- {"IfMsghdr.Hdrlen", Field, 2},
- {"IfMsghdr.Index", Field, 0},
- {"IfMsghdr.Msglen", Field, 0},
- {"IfMsghdr.Pad1", Field, 2},
- {"IfMsghdr.Pad2", Field, 2},
- {"IfMsghdr.Pad_cgo_0", Field, 0},
- {"IfMsghdr.Pad_cgo_1", Field, 2},
- {"IfMsghdr.Tableid", Field, 2},
- {"IfMsghdr.Type", Field, 0},
- {"IfMsghdr.Version", Field, 0},
- {"IfMsghdr.Xflags", Field, 2},
- {"IfaMsghdr", Type, 0},
- {"IfaMsghdr.Addrs", Field, 0},
- {"IfaMsghdr.Flags", Field, 0},
- {"IfaMsghdr.Hdrlen", Field, 2},
- {"IfaMsghdr.Index", Field, 0},
- {"IfaMsghdr.Metric", Field, 0},
- {"IfaMsghdr.Msglen", Field, 0},
- {"IfaMsghdr.Pad1", Field, 2},
- {"IfaMsghdr.Pad2", Field, 2},
- {"IfaMsghdr.Pad_cgo_0", Field, 0},
- {"IfaMsghdr.Tableid", Field, 2},
- {"IfaMsghdr.Type", Field, 0},
- {"IfaMsghdr.Version", Field, 0},
- {"IfmaMsghdr", Type, 0},
- {"IfmaMsghdr.Addrs", Field, 0},
- {"IfmaMsghdr.Flags", Field, 0},
- {"IfmaMsghdr.Index", Field, 0},
- {"IfmaMsghdr.Msglen", Field, 0},
- {"IfmaMsghdr.Pad_cgo_0", Field, 0},
- {"IfmaMsghdr.Type", Field, 0},
- {"IfmaMsghdr.Version", Field, 0},
- {"IfmaMsghdr2", Type, 0},
- {"IfmaMsghdr2.Addrs", Field, 0},
- {"IfmaMsghdr2.Flags", Field, 0},
- {"IfmaMsghdr2.Index", Field, 0},
- {"IfmaMsghdr2.Msglen", Field, 0},
- {"IfmaMsghdr2.Pad_cgo_0", Field, 0},
- {"IfmaMsghdr2.Refcount", Field, 0},
- {"IfmaMsghdr2.Type", Field, 0},
- {"IfmaMsghdr2.Version", Field, 0},
- {"ImplementsGetwd", Const, 0},
- {"Inet4Pktinfo", Type, 0},
- {"Inet4Pktinfo.Addr", Field, 0},
- {"Inet4Pktinfo.Ifindex", Field, 0},
- {"Inet4Pktinfo.Spec_dst", Field, 0},
- {"Inet6Pktinfo", Type, 0},
- {"Inet6Pktinfo.Addr", Field, 0},
- {"Inet6Pktinfo.Ifindex", Field, 0},
- {"InotifyAddWatch", Func, 0},
- {"InotifyEvent", Type, 0},
- {"InotifyEvent.Cookie", Field, 0},
- {"InotifyEvent.Len", Field, 0},
- {"InotifyEvent.Mask", Field, 0},
- {"InotifyEvent.Name", Field, 0},
- {"InotifyEvent.Wd", Field, 0},
- {"InotifyInit", Func, 0},
- {"InotifyInit1", Func, 0},
- {"InotifyRmWatch", Func, 0},
- {"InterfaceAddrMessage", Type, 0},
- {"InterfaceAddrMessage.Data", Field, 0},
- {"InterfaceAddrMessage.Header", Field, 0},
- {"InterfaceAnnounceMessage", Type, 1},
- {"InterfaceAnnounceMessage.Header", Field, 1},
- {"InterfaceInfo", Type, 0},
- {"InterfaceInfo.Address", Field, 0},
- {"InterfaceInfo.BroadcastAddress", Field, 0},
- {"InterfaceInfo.Flags", Field, 0},
- {"InterfaceInfo.Netmask", Field, 0},
- {"InterfaceMessage", Type, 0},
- {"InterfaceMessage.Data", Field, 0},
- {"InterfaceMessage.Header", Field, 0},
- {"InterfaceMulticastAddrMessage", Type, 0},
- {"InterfaceMulticastAddrMessage.Data", Field, 0},
- {"InterfaceMulticastAddrMessage.Header", Field, 0},
- {"InvalidHandle", Const, 0},
- {"Ioperm", Func, 0},
- {"Iopl", Func, 0},
- {"Iovec", Type, 0},
- {"Iovec.Base", Field, 0},
- {"Iovec.Len", Field, 0},
- {"IpAdapterInfo", Type, 0},
- {"IpAdapterInfo.AdapterName", Field, 0},
- {"IpAdapterInfo.Address", Field, 0},
- {"IpAdapterInfo.AddressLength", Field, 0},
- {"IpAdapterInfo.ComboIndex", Field, 0},
- {"IpAdapterInfo.CurrentIpAddress", Field, 0},
- {"IpAdapterInfo.Description", Field, 0},
- {"IpAdapterInfo.DhcpEnabled", Field, 0},
- {"IpAdapterInfo.DhcpServer", Field, 0},
- {"IpAdapterInfo.GatewayList", Field, 0},
- {"IpAdapterInfo.HaveWins", Field, 0},
- {"IpAdapterInfo.Index", Field, 0},
- {"IpAdapterInfo.IpAddressList", Field, 0},
- {"IpAdapterInfo.LeaseExpires", Field, 0},
- {"IpAdapterInfo.LeaseObtained", Field, 0},
- {"IpAdapterInfo.Next", Field, 0},
- {"IpAdapterInfo.PrimaryWinsServer", Field, 0},
- {"IpAdapterInfo.SecondaryWinsServer", Field, 0},
- {"IpAdapterInfo.Type", Field, 0},
- {"IpAddrString", Type, 0},
- {"IpAddrString.Context", Field, 0},
- {"IpAddrString.IpAddress", Field, 0},
- {"IpAddrString.IpMask", Field, 0},
- {"IpAddrString.Next", Field, 0},
- {"IpAddressString", Type, 0},
- {"IpAddressString.String", Field, 0},
- {"IpMaskString", Type, 0},
- {"IpMaskString.String", Field, 2},
- {"Issetugid", Func, 0},
- {"KEY_ALL_ACCESS", Const, 0},
- {"KEY_CREATE_LINK", Const, 0},
- {"KEY_CREATE_SUB_KEY", Const, 0},
- {"KEY_ENUMERATE_SUB_KEYS", Const, 0},
- {"KEY_EXECUTE", Const, 0},
- {"KEY_NOTIFY", Const, 0},
- {"KEY_QUERY_VALUE", Const, 0},
- {"KEY_READ", Const, 0},
- {"KEY_SET_VALUE", Const, 0},
- {"KEY_WOW64_32KEY", Const, 0},
- {"KEY_WOW64_64KEY", Const, 0},
- {"KEY_WRITE", Const, 0},
- {"Kevent", Func, 0},
- {"Kevent_t", Type, 0},
- {"Kevent_t.Data", Field, 0},
- {"Kevent_t.Fflags", Field, 0},
- {"Kevent_t.Filter", Field, 0},
- {"Kevent_t.Flags", Field, 0},
- {"Kevent_t.Ident", Field, 0},
- {"Kevent_t.Pad_cgo_0", Field, 2},
- {"Kevent_t.Udata", Field, 0},
- {"Kill", Func, 0},
- {"Klogctl", Func, 0},
- {"Kqueue", Func, 0},
- {"LANG_ENGLISH", Const, 0},
- {"LAYERED_PROTOCOL", Const, 2},
- {"LCNT_OVERLOAD_FLUSH", Const, 1},
- {"LINUX_REBOOT_CMD_CAD_OFF", Const, 0},
- {"LINUX_REBOOT_CMD_CAD_ON", Const, 0},
- {"LINUX_REBOOT_CMD_HALT", Const, 0},
- {"LINUX_REBOOT_CMD_KEXEC", Const, 0},
- {"LINUX_REBOOT_CMD_POWER_OFF", Const, 0},
- {"LINUX_REBOOT_CMD_RESTART", Const, 0},
- {"LINUX_REBOOT_CMD_RESTART2", Const, 0},
- {"LINUX_REBOOT_CMD_SW_SUSPEND", Const, 0},
- {"LINUX_REBOOT_MAGIC1", Const, 0},
- {"LINUX_REBOOT_MAGIC2", Const, 0},
- {"LOCK_EX", Const, 0},
- {"LOCK_NB", Const, 0},
- {"LOCK_SH", Const, 0},
- {"LOCK_UN", Const, 0},
- {"LazyDLL", Type, 0},
- {"LazyDLL.Name", Field, 0},
- {"LazyProc", Type, 0},
- {"LazyProc.Name", Field, 0},
- {"Lchown", Func, 0},
- {"Linger", Type, 0},
- {"Linger.Linger", Field, 0},
- {"Linger.Onoff", Field, 0},
- {"Link", Func, 0},
- {"Listen", Func, 0},
- {"Listxattr", Func, 1},
- {"LoadCancelIoEx", Func, 1},
- {"LoadConnectEx", Func, 1},
- {"LoadCreateSymbolicLink", Func, 4},
- {"LoadDLL", Func, 0},
- {"LoadGetAddrInfo", Func, 1},
- {"LoadLibrary", Func, 0},
- {"LoadSetFileCompletionNotificationModes", Func, 2},
- {"LocalFree", Func, 0},
- {"Log2phys_t", Type, 0},
- {"Log2phys_t.Contigbytes", Field, 0},
- {"Log2phys_t.Devoffset", Field, 0},
- {"Log2phys_t.Flags", Field, 0},
- {"LookupAccountName", Func, 0},
- {"LookupAccountSid", Func, 0},
- {"LookupSID", Func, 0},
- {"LsfJump", Func, 0},
- {"LsfSocket", Func, 0},
- {"LsfStmt", Func, 0},
- {"Lstat", Func, 0},
- {"MADV_AUTOSYNC", Const, 1},
- {"MADV_CAN_REUSE", Const, 0},
- {"MADV_CORE", Const, 1},
- {"MADV_DOFORK", Const, 0},
- {"MADV_DONTFORK", Const, 0},
- {"MADV_DONTNEED", Const, 0},
- {"MADV_FREE", Const, 0},
- {"MADV_FREE_REUSABLE", Const, 0},
- {"MADV_FREE_REUSE", Const, 0},
- {"MADV_HUGEPAGE", Const, 0},
- {"MADV_HWPOISON", Const, 0},
- {"MADV_MERGEABLE", Const, 0},
- {"MADV_NOCORE", Const, 1},
- {"MADV_NOHUGEPAGE", Const, 0},
- {"MADV_NORMAL", Const, 0},
- {"MADV_NOSYNC", Const, 1},
- {"MADV_PROTECT", Const, 1},
- {"MADV_RANDOM", Const, 0},
- {"MADV_REMOVE", Const, 0},
- {"MADV_SEQUENTIAL", Const, 0},
- {"MADV_SPACEAVAIL", Const, 3},
- {"MADV_UNMERGEABLE", Const, 0},
- {"MADV_WILLNEED", Const, 0},
- {"MADV_ZERO_WIRED_PAGES", Const, 0},
- {"MAP_32BIT", Const, 0},
- {"MAP_ALIGNED_SUPER", Const, 3},
- {"MAP_ALIGNMENT_16MB", Const, 3},
- {"MAP_ALIGNMENT_1TB", Const, 3},
- {"MAP_ALIGNMENT_256TB", Const, 3},
- {"MAP_ALIGNMENT_4GB", Const, 3},
- {"MAP_ALIGNMENT_64KB", Const, 3},
- {"MAP_ALIGNMENT_64PB", Const, 3},
- {"MAP_ALIGNMENT_MASK", Const, 3},
- {"MAP_ALIGNMENT_SHIFT", Const, 3},
- {"MAP_ANON", Const, 0},
- {"MAP_ANONYMOUS", Const, 0},
- {"MAP_COPY", Const, 0},
- {"MAP_DENYWRITE", Const, 0},
- {"MAP_EXECUTABLE", Const, 0},
- {"MAP_FILE", Const, 0},
- {"MAP_FIXED", Const, 0},
- {"MAP_FLAGMASK", Const, 3},
- {"MAP_GROWSDOWN", Const, 0},
- {"MAP_HASSEMAPHORE", Const, 0},
- {"MAP_HUGETLB", Const, 0},
- {"MAP_INHERIT", Const, 3},
- {"MAP_INHERIT_COPY", Const, 3},
- {"MAP_INHERIT_DEFAULT", Const, 3},
- {"MAP_INHERIT_DONATE_COPY", Const, 3},
- {"MAP_INHERIT_NONE", Const, 3},
- {"MAP_INHERIT_SHARE", Const, 3},
- {"MAP_JIT", Const, 0},
- {"MAP_LOCKED", Const, 0},
- {"MAP_NOCACHE", Const, 0},
- {"MAP_NOCORE", Const, 1},
- {"MAP_NOEXTEND", Const, 0},
- {"MAP_NONBLOCK", Const, 0},
- {"MAP_NORESERVE", Const, 0},
- {"MAP_NOSYNC", Const, 1},
- {"MAP_POPULATE", Const, 0},
- {"MAP_PREFAULT_READ", Const, 1},
- {"MAP_PRIVATE", Const, 0},
- {"MAP_RENAME", Const, 0},
- {"MAP_RESERVED0080", Const, 0},
- {"MAP_RESERVED0100", Const, 1},
- {"MAP_SHARED", Const, 0},
- {"MAP_STACK", Const, 0},
- {"MAP_TRYFIXED", Const, 3},
- {"MAP_TYPE", Const, 0},
- {"MAP_WIRED", Const, 3},
- {"MAXIMUM_REPARSE_DATA_BUFFER_SIZE", Const, 4},
- {"MAXLEN_IFDESCR", Const, 0},
- {"MAXLEN_PHYSADDR", Const, 0},
- {"MAX_ADAPTER_ADDRESS_LENGTH", Const, 0},
- {"MAX_ADAPTER_DESCRIPTION_LENGTH", Const, 0},
- {"MAX_ADAPTER_NAME_LENGTH", Const, 0},
- {"MAX_COMPUTERNAME_LENGTH", Const, 0},
- {"MAX_INTERFACE_NAME_LEN", Const, 0},
- {"MAX_LONG_PATH", Const, 0},
- {"MAX_PATH", Const, 0},
- {"MAX_PROTOCOL_CHAIN", Const, 2},
- {"MCL_CURRENT", Const, 0},
- {"MCL_FUTURE", Const, 0},
- {"MNT_DETACH", Const, 0},
- {"MNT_EXPIRE", Const, 0},
- {"MNT_FORCE", Const, 0},
- {"MSG_BCAST", Const, 1},
- {"MSG_CMSG_CLOEXEC", Const, 0},
- {"MSG_COMPAT", Const, 0},
- {"MSG_CONFIRM", Const, 0},
- {"MSG_CONTROLMBUF", Const, 1},
- {"MSG_CTRUNC", Const, 0},
- {"MSG_DONTROUTE", Const, 0},
- {"MSG_DONTWAIT", Const, 0},
- {"MSG_EOF", Const, 0},
- {"MSG_EOR", Const, 0},
- {"MSG_ERRQUEUE", Const, 0},
- {"MSG_FASTOPEN", Const, 1},
- {"MSG_FIN", Const, 0},
- {"MSG_FLUSH", Const, 0},
- {"MSG_HAVEMORE", Const, 0},
- {"MSG_HOLD", Const, 0},
- {"MSG_IOVUSRSPACE", Const, 1},
- {"MSG_LENUSRSPACE", Const, 1},
- {"MSG_MCAST", Const, 1},
- {"MSG_MORE", Const, 0},
- {"MSG_NAMEMBUF", Const, 1},
- {"MSG_NBIO", Const, 0},
- {"MSG_NEEDSA", Const, 0},
- {"MSG_NOSIGNAL", Const, 0},
- {"MSG_NOTIFICATION", Const, 0},
- {"MSG_OOB", Const, 0},
- {"MSG_PEEK", Const, 0},
- {"MSG_PROXY", Const, 0},
- {"MSG_RCVMORE", Const, 0},
- {"MSG_RST", Const, 0},
- {"MSG_SEND", Const, 0},
- {"MSG_SYN", Const, 0},
- {"MSG_TRUNC", Const, 0},
- {"MSG_TRYHARD", Const, 0},
- {"MSG_USERFLAGS", Const, 1},
- {"MSG_WAITALL", Const, 0},
- {"MSG_WAITFORONE", Const, 0},
- {"MSG_WAITSTREAM", Const, 0},
- {"MS_ACTIVE", Const, 0},
- {"MS_ASYNC", Const, 0},
- {"MS_BIND", Const, 0},
- {"MS_DEACTIVATE", Const, 0},
- {"MS_DIRSYNC", Const, 0},
- {"MS_INVALIDATE", Const, 0},
- {"MS_I_VERSION", Const, 0},
- {"MS_KERNMOUNT", Const, 0},
- {"MS_KILLPAGES", Const, 0},
- {"MS_MANDLOCK", Const, 0},
- {"MS_MGC_MSK", Const, 0},
- {"MS_MGC_VAL", Const, 0},
- {"MS_MOVE", Const, 0},
- {"MS_NOATIME", Const, 0},
- {"MS_NODEV", Const, 0},
- {"MS_NODIRATIME", Const, 0},
- {"MS_NOEXEC", Const, 0},
- {"MS_NOSUID", Const, 0},
- {"MS_NOUSER", Const, 0},
- {"MS_POSIXACL", Const, 0},
- {"MS_PRIVATE", Const, 0},
- {"MS_RDONLY", Const, 0},
- {"MS_REC", Const, 0},
- {"MS_RELATIME", Const, 0},
- {"MS_REMOUNT", Const, 0},
- {"MS_RMT_MASK", Const, 0},
- {"MS_SHARED", Const, 0},
- {"MS_SILENT", Const, 0},
- {"MS_SLAVE", Const, 0},
- {"MS_STRICTATIME", Const, 0},
- {"MS_SYNC", Const, 0},
- {"MS_SYNCHRONOUS", Const, 0},
- {"MS_UNBINDABLE", Const, 0},
- {"Madvise", Func, 0},
- {"MapViewOfFile", Func, 0},
- {"MaxTokenInfoClass", Const, 0},
- {"Mclpool", Type, 2},
- {"Mclpool.Alive", Field, 2},
- {"Mclpool.Cwm", Field, 2},
- {"Mclpool.Grown", Field, 2},
- {"Mclpool.Hwm", Field, 2},
- {"Mclpool.Lwm", Field, 2},
- {"MibIfRow", Type, 0},
- {"MibIfRow.AdminStatus", Field, 0},
- {"MibIfRow.Descr", Field, 0},
- {"MibIfRow.DescrLen", Field, 0},
- {"MibIfRow.InDiscards", Field, 0},
- {"MibIfRow.InErrors", Field, 0},
- {"MibIfRow.InNUcastPkts", Field, 0},
- {"MibIfRow.InOctets", Field, 0},
- {"MibIfRow.InUcastPkts", Field, 0},
- {"MibIfRow.InUnknownProtos", Field, 0},
- {"MibIfRow.Index", Field, 0},
- {"MibIfRow.LastChange", Field, 0},
- {"MibIfRow.Mtu", Field, 0},
- {"MibIfRow.Name", Field, 0},
- {"MibIfRow.OperStatus", Field, 0},
- {"MibIfRow.OutDiscards", Field, 0},
- {"MibIfRow.OutErrors", Field, 0},
- {"MibIfRow.OutNUcastPkts", Field, 0},
- {"MibIfRow.OutOctets", Field, 0},
- {"MibIfRow.OutQLen", Field, 0},
- {"MibIfRow.OutUcastPkts", Field, 0},
- {"MibIfRow.PhysAddr", Field, 0},
- {"MibIfRow.PhysAddrLen", Field, 0},
- {"MibIfRow.Speed", Field, 0},
- {"MibIfRow.Type", Field, 0},
- {"Mkdir", Func, 0},
- {"Mkdirat", Func, 0},
- {"Mkfifo", Func, 0},
- {"Mknod", Func, 0},
- {"Mknodat", Func, 0},
- {"Mlock", Func, 0},
- {"Mlockall", Func, 0},
- {"Mmap", Func, 0},
- {"Mount", Func, 0},
- {"MoveFile", Func, 0},
- {"Mprotect", Func, 0},
- {"Msghdr", Type, 0},
- {"Msghdr.Control", Field, 0},
- {"Msghdr.Controllen", Field, 0},
- {"Msghdr.Flags", Field, 0},
- {"Msghdr.Iov", Field, 0},
- {"Msghdr.Iovlen", Field, 0},
- {"Msghdr.Name", Field, 0},
- {"Msghdr.Namelen", Field, 0},
- {"Msghdr.Pad_cgo_0", Field, 0},
- {"Msghdr.Pad_cgo_1", Field, 0},
- {"Munlock", Func, 0},
- {"Munlockall", Func, 0},
- {"Munmap", Func, 0},
- {"MustLoadDLL", Func, 0},
- {"NAME_MAX", Const, 0},
- {"NETLINK_ADD_MEMBERSHIP", Const, 0},
- {"NETLINK_AUDIT", Const, 0},
- {"NETLINK_BROADCAST_ERROR", Const, 0},
- {"NETLINK_CONNECTOR", Const, 0},
- {"NETLINK_DNRTMSG", Const, 0},
- {"NETLINK_DROP_MEMBERSHIP", Const, 0},
- {"NETLINK_ECRYPTFS", Const, 0},
- {"NETLINK_FIB_LOOKUP", Const, 0},
- {"NETLINK_FIREWALL", Const, 0},
- {"NETLINK_GENERIC", Const, 0},
- {"NETLINK_INET_DIAG", Const, 0},
- {"NETLINK_IP6_FW", Const, 0},
- {"NETLINK_ISCSI", Const, 0},
- {"NETLINK_KOBJECT_UEVENT", Const, 0},
- {"NETLINK_NETFILTER", Const, 0},
- {"NETLINK_NFLOG", Const, 0},
- {"NETLINK_NO_ENOBUFS", Const, 0},
- {"NETLINK_PKTINFO", Const, 0},
- {"NETLINK_RDMA", Const, 0},
- {"NETLINK_ROUTE", Const, 0},
- {"NETLINK_SCSITRANSPORT", Const, 0},
- {"NETLINK_SELINUX", Const, 0},
- {"NETLINK_UNUSED", Const, 0},
- {"NETLINK_USERSOCK", Const, 0},
- {"NETLINK_XFRM", Const, 0},
- {"NET_RT_DUMP", Const, 0},
- {"NET_RT_DUMP2", Const, 0},
- {"NET_RT_FLAGS", Const, 0},
- {"NET_RT_IFLIST", Const, 0},
- {"NET_RT_IFLIST2", Const, 0},
- {"NET_RT_IFLISTL", Const, 1},
- {"NET_RT_IFMALIST", Const, 0},
- {"NET_RT_MAXID", Const, 0},
- {"NET_RT_OIFLIST", Const, 1},
- {"NET_RT_OOIFLIST", Const, 1},
- {"NET_RT_STAT", Const, 0},
- {"NET_RT_STATS", Const, 1},
- {"NET_RT_TABLE", Const, 1},
- {"NET_RT_TRASH", Const, 0},
- {"NLA_ALIGNTO", Const, 0},
- {"NLA_F_NESTED", Const, 0},
- {"NLA_F_NET_BYTEORDER", Const, 0},
- {"NLA_HDRLEN", Const, 0},
- {"NLMSG_ALIGNTO", Const, 0},
- {"NLMSG_DONE", Const, 0},
- {"NLMSG_ERROR", Const, 0},
- {"NLMSG_HDRLEN", Const, 0},
- {"NLMSG_MIN_TYPE", Const, 0},
- {"NLMSG_NOOP", Const, 0},
- {"NLMSG_OVERRUN", Const, 0},
- {"NLM_F_ACK", Const, 0},
- {"NLM_F_APPEND", Const, 0},
- {"NLM_F_ATOMIC", Const, 0},
- {"NLM_F_CREATE", Const, 0},
- {"NLM_F_DUMP", Const, 0},
- {"NLM_F_ECHO", Const, 0},
- {"NLM_F_EXCL", Const, 0},
- {"NLM_F_MATCH", Const, 0},
- {"NLM_F_MULTI", Const, 0},
- {"NLM_F_REPLACE", Const, 0},
- {"NLM_F_REQUEST", Const, 0},
- {"NLM_F_ROOT", Const, 0},
- {"NOFLSH", Const, 0},
- {"NOTE_ABSOLUTE", Const, 0},
- {"NOTE_ATTRIB", Const, 0},
- {"NOTE_BACKGROUND", Const, 16},
- {"NOTE_CHILD", Const, 0},
- {"NOTE_CRITICAL", Const, 16},
- {"NOTE_DELETE", Const, 0},
- {"NOTE_EOF", Const, 1},
- {"NOTE_EXEC", Const, 0},
- {"NOTE_EXIT", Const, 0},
- {"NOTE_EXITSTATUS", Const, 0},
- {"NOTE_EXIT_CSERROR", Const, 16},
- {"NOTE_EXIT_DECRYPTFAIL", Const, 16},
- {"NOTE_EXIT_DETAIL", Const, 16},
- {"NOTE_EXIT_DETAIL_MASK", Const, 16},
- {"NOTE_EXIT_MEMORY", Const, 16},
- {"NOTE_EXIT_REPARENTED", Const, 16},
- {"NOTE_EXTEND", Const, 0},
- {"NOTE_FFAND", Const, 0},
- {"NOTE_FFCOPY", Const, 0},
- {"NOTE_FFCTRLMASK", Const, 0},
- {"NOTE_FFLAGSMASK", Const, 0},
- {"NOTE_FFNOP", Const, 0},
- {"NOTE_FFOR", Const, 0},
- {"NOTE_FORK", Const, 0},
- {"NOTE_LEEWAY", Const, 16},
- {"NOTE_LINK", Const, 0},
- {"NOTE_LOWAT", Const, 0},
- {"NOTE_NONE", Const, 0},
- {"NOTE_NSECONDS", Const, 0},
- {"NOTE_PCTRLMASK", Const, 0},
- {"NOTE_PDATAMASK", Const, 0},
- {"NOTE_REAP", Const, 0},
- {"NOTE_RENAME", Const, 0},
- {"NOTE_RESOURCEEND", Const, 0},
- {"NOTE_REVOKE", Const, 0},
- {"NOTE_SECONDS", Const, 0},
- {"NOTE_SIGNAL", Const, 0},
- {"NOTE_TRACK", Const, 0},
- {"NOTE_TRACKERR", Const, 0},
- {"NOTE_TRIGGER", Const, 0},
- {"NOTE_TRUNCATE", Const, 1},
- {"NOTE_USECONDS", Const, 0},
- {"NOTE_VM_ERROR", Const, 0},
- {"NOTE_VM_PRESSURE", Const, 0},
- {"NOTE_VM_PRESSURE_SUDDEN_TERMINATE", Const, 0},
- {"NOTE_VM_PRESSURE_TERMINATE", Const, 0},
- {"NOTE_WRITE", Const, 0},
- {"NameCanonical", Const, 0},
- {"NameCanonicalEx", Const, 0},
- {"NameDisplay", Const, 0},
- {"NameDnsDomain", Const, 0},
- {"NameFullyQualifiedDN", Const, 0},
- {"NameSamCompatible", Const, 0},
- {"NameServicePrincipal", Const, 0},
- {"NameUniqueId", Const, 0},
- {"NameUnknown", Const, 0},
- {"NameUserPrincipal", Const, 0},
- {"Nanosleep", Func, 0},
- {"NetApiBufferFree", Func, 0},
- {"NetGetJoinInformation", Func, 2},
- {"NetSetupDomainName", Const, 2},
- {"NetSetupUnjoined", Const, 2},
- {"NetSetupUnknownStatus", Const, 2},
- {"NetSetupWorkgroupName", Const, 2},
- {"NetUserGetInfo", Func, 0},
- {"NetlinkMessage", Type, 0},
- {"NetlinkMessage.Data", Field, 0},
- {"NetlinkMessage.Header", Field, 0},
- {"NetlinkRIB", Func, 0},
- {"NetlinkRouteAttr", Type, 0},
- {"NetlinkRouteAttr.Attr", Field, 0},
- {"NetlinkRouteAttr.Value", Field, 0},
- {"NetlinkRouteRequest", Type, 0},
- {"NetlinkRouteRequest.Data", Field, 0},
- {"NetlinkRouteRequest.Header", Field, 0},
- {"NewCallback", Func, 0},
- {"NewCallbackCDecl", Func, 3},
- {"NewLazyDLL", Func, 0},
- {"NlAttr", Type, 0},
- {"NlAttr.Len", Field, 0},
- {"NlAttr.Type", Field, 0},
- {"NlMsgerr", Type, 0},
- {"NlMsgerr.Error", Field, 0},
- {"NlMsgerr.Msg", Field, 0},
- {"NlMsghdr", Type, 0},
- {"NlMsghdr.Flags", Field, 0},
- {"NlMsghdr.Len", Field, 0},
- {"NlMsghdr.Pid", Field, 0},
- {"NlMsghdr.Seq", Field, 0},
- {"NlMsghdr.Type", Field, 0},
- {"NsecToFiletime", Func, 0},
- {"NsecToTimespec", Func, 0},
- {"NsecToTimeval", Func, 0},
- {"Ntohs", Func, 0},
- {"OCRNL", Const, 0},
- {"OFDEL", Const, 0},
- {"OFILL", Const, 0},
- {"OFIOGETBMAP", Const, 1},
- {"OID_PKIX_KP_SERVER_AUTH", Var, 0},
- {"OID_SERVER_GATED_CRYPTO", Var, 0},
- {"OID_SGC_NETSCAPE", Var, 0},
- {"OLCUC", Const, 0},
- {"ONLCR", Const, 0},
- {"ONLRET", Const, 0},
- {"ONOCR", Const, 0},
- {"ONOEOT", Const, 1},
- {"OPEN_ALWAYS", Const, 0},
- {"OPEN_EXISTING", Const, 0},
- {"OPOST", Const, 0},
- {"O_ACCMODE", Const, 0},
- {"O_ALERT", Const, 0},
- {"O_ALT_IO", Const, 1},
- {"O_APPEND", Const, 0},
- {"O_ASYNC", Const, 0},
- {"O_CLOEXEC", Const, 0},
- {"O_CREAT", Const, 0},
- {"O_DIRECT", Const, 0},
- {"O_DIRECTORY", Const, 0},
- {"O_DP_GETRAWENCRYPTED", Const, 16},
- {"O_DSYNC", Const, 0},
- {"O_EVTONLY", Const, 0},
- {"O_EXCL", Const, 0},
- {"O_EXEC", Const, 0},
- {"O_EXLOCK", Const, 0},
- {"O_FSYNC", Const, 0},
- {"O_LARGEFILE", Const, 0},
- {"O_NDELAY", Const, 0},
- {"O_NOATIME", Const, 0},
- {"O_NOCTTY", Const, 0},
- {"O_NOFOLLOW", Const, 0},
- {"O_NONBLOCK", Const, 0},
- {"O_NOSIGPIPE", Const, 1},
- {"O_POPUP", Const, 0},
- {"O_RDONLY", Const, 0},
- {"O_RDWR", Const, 0},
- {"O_RSYNC", Const, 0},
- {"O_SHLOCK", Const, 0},
- {"O_SYMLINK", Const, 0},
- {"O_SYNC", Const, 0},
- {"O_TRUNC", Const, 0},
- {"O_TTY_INIT", Const, 0},
- {"O_WRONLY", Const, 0},
- {"Open", Func, 0},
- {"OpenCurrentProcessToken", Func, 0},
- {"OpenProcess", Func, 0},
- {"OpenProcessToken", Func, 0},
- {"Openat", Func, 0},
- {"Overlapped", Type, 0},
- {"Overlapped.HEvent", Field, 0},
- {"Overlapped.Internal", Field, 0},
- {"Overlapped.InternalHigh", Field, 0},
- {"Overlapped.Offset", Field, 0},
- {"Overlapped.OffsetHigh", Field, 0},
- {"PACKET_ADD_MEMBERSHIP", Const, 0},
- {"PACKET_BROADCAST", Const, 0},
- {"PACKET_DROP_MEMBERSHIP", Const, 0},
- {"PACKET_FASTROUTE", Const, 0},
- {"PACKET_HOST", Const, 0},
- {"PACKET_LOOPBACK", Const, 0},
- {"PACKET_MR_ALLMULTI", Const, 0},
- {"PACKET_MR_MULTICAST", Const, 0},
- {"PACKET_MR_PROMISC", Const, 0},
- {"PACKET_MULTICAST", Const, 0},
- {"PACKET_OTHERHOST", Const, 0},
- {"PACKET_OUTGOING", Const, 0},
- {"PACKET_RECV_OUTPUT", Const, 0},
- {"PACKET_RX_RING", Const, 0},
- {"PACKET_STATISTICS", Const, 0},
- {"PAGE_EXECUTE_READ", Const, 0},
- {"PAGE_EXECUTE_READWRITE", Const, 0},
- {"PAGE_EXECUTE_WRITECOPY", Const, 0},
- {"PAGE_READONLY", Const, 0},
- {"PAGE_READWRITE", Const, 0},
- {"PAGE_WRITECOPY", Const, 0},
- {"PARENB", Const, 0},
- {"PARMRK", Const, 0},
- {"PARODD", Const, 0},
- {"PENDIN", Const, 0},
- {"PFL_HIDDEN", Const, 2},
- {"PFL_MATCHES_PROTOCOL_ZERO", Const, 2},
- {"PFL_MULTIPLE_PROTO_ENTRIES", Const, 2},
- {"PFL_NETWORKDIRECT_PROVIDER", Const, 2},
- {"PFL_RECOMMENDED_PROTO_ENTRY", Const, 2},
- {"PF_FLUSH", Const, 1},
- {"PKCS_7_ASN_ENCODING", Const, 0},
- {"PMC5_PIPELINE_FLUSH", Const, 1},
- {"PRIO_PGRP", Const, 2},
- {"PRIO_PROCESS", Const, 2},
- {"PRIO_USER", Const, 2},
- {"PRI_IOFLUSH", Const, 1},
- {"PROCESS_QUERY_INFORMATION", Const, 0},
- {"PROCESS_TERMINATE", Const, 2},
- {"PROT_EXEC", Const, 0},
- {"PROT_GROWSDOWN", Const, 0},
- {"PROT_GROWSUP", Const, 0},
- {"PROT_NONE", Const, 0},
- {"PROT_READ", Const, 0},
- {"PROT_WRITE", Const, 0},
- {"PROV_DH_SCHANNEL", Const, 0},
- {"PROV_DSS", Const, 0},
- {"PROV_DSS_DH", Const, 0},
- {"PROV_EC_ECDSA_FULL", Const, 0},
- {"PROV_EC_ECDSA_SIG", Const, 0},
- {"PROV_EC_ECNRA_FULL", Const, 0},
- {"PROV_EC_ECNRA_SIG", Const, 0},
- {"PROV_FORTEZZA", Const, 0},
- {"PROV_INTEL_SEC", Const, 0},
- {"PROV_MS_EXCHANGE", Const, 0},
- {"PROV_REPLACE_OWF", Const, 0},
- {"PROV_RNG", Const, 0},
- {"PROV_RSA_AES", Const, 0},
- {"PROV_RSA_FULL", Const, 0},
- {"PROV_RSA_SCHANNEL", Const, 0},
- {"PROV_RSA_SIG", Const, 0},
- {"PROV_SPYRUS_LYNKS", Const, 0},
- {"PROV_SSL", Const, 0},
- {"PR_CAPBSET_DROP", Const, 0},
- {"PR_CAPBSET_READ", Const, 0},
- {"PR_CLEAR_SECCOMP_FILTER", Const, 0},
- {"PR_ENDIAN_BIG", Const, 0},
- {"PR_ENDIAN_LITTLE", Const, 0},
- {"PR_ENDIAN_PPC_LITTLE", Const, 0},
- {"PR_FPEMU_NOPRINT", Const, 0},
- {"PR_FPEMU_SIGFPE", Const, 0},
- {"PR_FP_EXC_ASYNC", Const, 0},
- {"PR_FP_EXC_DISABLED", Const, 0},
- {"PR_FP_EXC_DIV", Const, 0},
- {"PR_FP_EXC_INV", Const, 0},
- {"PR_FP_EXC_NONRECOV", Const, 0},
- {"PR_FP_EXC_OVF", Const, 0},
- {"PR_FP_EXC_PRECISE", Const, 0},
- {"PR_FP_EXC_RES", Const, 0},
- {"PR_FP_EXC_SW_ENABLE", Const, 0},
- {"PR_FP_EXC_UND", Const, 0},
- {"PR_GET_DUMPABLE", Const, 0},
- {"PR_GET_ENDIAN", Const, 0},
- {"PR_GET_FPEMU", Const, 0},
- {"PR_GET_FPEXC", Const, 0},
- {"PR_GET_KEEPCAPS", Const, 0},
- {"PR_GET_NAME", Const, 0},
- {"PR_GET_PDEATHSIG", Const, 0},
- {"PR_GET_SECCOMP", Const, 0},
- {"PR_GET_SECCOMP_FILTER", Const, 0},
- {"PR_GET_SECUREBITS", Const, 0},
- {"PR_GET_TIMERSLACK", Const, 0},
- {"PR_GET_TIMING", Const, 0},
- {"PR_GET_TSC", Const, 0},
- {"PR_GET_UNALIGN", Const, 0},
- {"PR_MCE_KILL", Const, 0},
- {"PR_MCE_KILL_CLEAR", Const, 0},
- {"PR_MCE_KILL_DEFAULT", Const, 0},
- {"PR_MCE_KILL_EARLY", Const, 0},
- {"PR_MCE_KILL_GET", Const, 0},
- {"PR_MCE_KILL_LATE", Const, 0},
- {"PR_MCE_KILL_SET", Const, 0},
- {"PR_SECCOMP_FILTER_EVENT", Const, 0},
- {"PR_SECCOMP_FILTER_SYSCALL", Const, 0},
- {"PR_SET_DUMPABLE", Const, 0},
- {"PR_SET_ENDIAN", Const, 0},
- {"PR_SET_FPEMU", Const, 0},
- {"PR_SET_FPEXC", Const, 0},
- {"PR_SET_KEEPCAPS", Const, 0},
- {"PR_SET_NAME", Const, 0},
- {"PR_SET_PDEATHSIG", Const, 0},
- {"PR_SET_PTRACER", Const, 0},
- {"PR_SET_SECCOMP", Const, 0},
- {"PR_SET_SECCOMP_FILTER", Const, 0},
- {"PR_SET_SECUREBITS", Const, 0},
- {"PR_SET_TIMERSLACK", Const, 0},
- {"PR_SET_TIMING", Const, 0},
- {"PR_SET_TSC", Const, 0},
- {"PR_SET_UNALIGN", Const, 0},
- {"PR_TASK_PERF_EVENTS_DISABLE", Const, 0},
- {"PR_TASK_PERF_EVENTS_ENABLE", Const, 0},
- {"PR_TIMING_STATISTICAL", Const, 0},
- {"PR_TIMING_TIMESTAMP", Const, 0},
- {"PR_TSC_ENABLE", Const, 0},
- {"PR_TSC_SIGSEGV", Const, 0},
- {"PR_UNALIGN_NOPRINT", Const, 0},
- {"PR_UNALIGN_SIGBUS", Const, 0},
- {"PTRACE_ARCH_PRCTL", Const, 0},
- {"PTRACE_ATTACH", Const, 0},
- {"PTRACE_CONT", Const, 0},
- {"PTRACE_DETACH", Const, 0},
- {"PTRACE_EVENT_CLONE", Const, 0},
- {"PTRACE_EVENT_EXEC", Const, 0},
- {"PTRACE_EVENT_EXIT", Const, 0},
- {"PTRACE_EVENT_FORK", Const, 0},
- {"PTRACE_EVENT_VFORK", Const, 0},
- {"PTRACE_EVENT_VFORK_DONE", Const, 0},
- {"PTRACE_GETCRUNCHREGS", Const, 0},
- {"PTRACE_GETEVENTMSG", Const, 0},
- {"PTRACE_GETFPREGS", Const, 0},
- {"PTRACE_GETFPXREGS", Const, 0},
- {"PTRACE_GETHBPREGS", Const, 0},
- {"PTRACE_GETREGS", Const, 0},
- {"PTRACE_GETREGSET", Const, 0},
- {"PTRACE_GETSIGINFO", Const, 0},
- {"PTRACE_GETVFPREGS", Const, 0},
- {"PTRACE_GETWMMXREGS", Const, 0},
- {"PTRACE_GET_THREAD_AREA", Const, 0},
- {"PTRACE_KILL", Const, 0},
- {"PTRACE_OLDSETOPTIONS", Const, 0},
- {"PTRACE_O_MASK", Const, 0},
- {"PTRACE_O_TRACECLONE", Const, 0},
- {"PTRACE_O_TRACEEXEC", Const, 0},
- {"PTRACE_O_TRACEEXIT", Const, 0},
- {"PTRACE_O_TRACEFORK", Const, 0},
- {"PTRACE_O_TRACESYSGOOD", Const, 0},
- {"PTRACE_O_TRACEVFORK", Const, 0},
- {"PTRACE_O_TRACEVFORKDONE", Const, 0},
- {"PTRACE_PEEKDATA", Const, 0},
- {"PTRACE_PEEKTEXT", Const, 0},
- {"PTRACE_PEEKUSR", Const, 0},
- {"PTRACE_POKEDATA", Const, 0},
- {"PTRACE_POKETEXT", Const, 0},
- {"PTRACE_POKEUSR", Const, 0},
- {"PTRACE_SETCRUNCHREGS", Const, 0},
- {"PTRACE_SETFPREGS", Const, 0},
- {"PTRACE_SETFPXREGS", Const, 0},
- {"PTRACE_SETHBPREGS", Const, 0},
- {"PTRACE_SETOPTIONS", Const, 0},
- {"PTRACE_SETREGS", Const, 0},
- {"PTRACE_SETREGSET", Const, 0},
- {"PTRACE_SETSIGINFO", Const, 0},
- {"PTRACE_SETVFPREGS", Const, 0},
- {"PTRACE_SETWMMXREGS", Const, 0},
- {"PTRACE_SET_SYSCALL", Const, 0},
- {"PTRACE_SET_THREAD_AREA", Const, 0},
- {"PTRACE_SINGLEBLOCK", Const, 0},
- {"PTRACE_SINGLESTEP", Const, 0},
- {"PTRACE_SYSCALL", Const, 0},
- {"PTRACE_SYSEMU", Const, 0},
- {"PTRACE_SYSEMU_SINGLESTEP", Const, 0},
- {"PTRACE_TRACEME", Const, 0},
- {"PT_ATTACH", Const, 0},
- {"PT_ATTACHEXC", Const, 0},
- {"PT_CONTINUE", Const, 0},
- {"PT_DATA_ADDR", Const, 0},
- {"PT_DENY_ATTACH", Const, 0},
- {"PT_DETACH", Const, 0},
- {"PT_FIRSTMACH", Const, 0},
- {"PT_FORCEQUOTA", Const, 0},
- {"PT_KILL", Const, 0},
- {"PT_MASK", Const, 1},
- {"PT_READ_D", Const, 0},
- {"PT_READ_I", Const, 0},
- {"PT_READ_U", Const, 0},
- {"PT_SIGEXC", Const, 0},
- {"PT_STEP", Const, 0},
- {"PT_TEXT_ADDR", Const, 0},
- {"PT_TEXT_END_ADDR", Const, 0},
- {"PT_THUPDATE", Const, 0},
- {"PT_TRACE_ME", Const, 0},
- {"PT_WRITE_D", Const, 0},
- {"PT_WRITE_I", Const, 0},
- {"PT_WRITE_U", Const, 0},
- {"ParseDirent", Func, 0},
- {"ParseNetlinkMessage", Func, 0},
- {"ParseNetlinkRouteAttr", Func, 0},
- {"ParseRoutingMessage", Func, 0},
- {"ParseRoutingSockaddr", Func, 0},
- {"ParseSocketControlMessage", Func, 0},
- {"ParseUnixCredentials", Func, 0},
- {"ParseUnixRights", Func, 0},
- {"PathMax", Const, 0},
- {"Pathconf", Func, 0},
- {"Pause", Func, 0},
- {"Pipe", Func, 0},
- {"Pipe2", Func, 1},
- {"PivotRoot", Func, 0},
- {"Pointer", Type, 11},
- {"PostQueuedCompletionStatus", Func, 0},
- {"Pread", Func, 0},
- {"Proc", Type, 0},
- {"Proc.Dll", Field, 0},
- {"Proc.Name", Field, 0},
- {"ProcAttr", Type, 0},
- {"ProcAttr.Dir", Field, 0},
- {"ProcAttr.Env", Field, 0},
- {"ProcAttr.Files", Field, 0},
- {"ProcAttr.Sys", Field, 0},
- {"Process32First", Func, 4},
- {"Process32Next", Func, 4},
- {"ProcessEntry32", Type, 4},
- {"ProcessEntry32.DefaultHeapID", Field, 4},
- {"ProcessEntry32.ExeFile", Field, 4},
- {"ProcessEntry32.Flags", Field, 4},
- {"ProcessEntry32.ModuleID", Field, 4},
- {"ProcessEntry32.ParentProcessID", Field, 4},
- {"ProcessEntry32.PriClassBase", Field, 4},
- {"ProcessEntry32.ProcessID", Field, 4},
- {"ProcessEntry32.Size", Field, 4},
- {"ProcessEntry32.Threads", Field, 4},
- {"ProcessEntry32.Usage", Field, 4},
- {"ProcessInformation", Type, 0},
- {"ProcessInformation.Process", Field, 0},
- {"ProcessInformation.ProcessId", Field, 0},
- {"ProcessInformation.Thread", Field, 0},
- {"ProcessInformation.ThreadId", Field, 0},
- {"Protoent", Type, 0},
- {"Protoent.Aliases", Field, 0},
- {"Protoent.Name", Field, 0},
- {"Protoent.Proto", Field, 0},
- {"PtraceAttach", Func, 0},
- {"PtraceCont", Func, 0},
- {"PtraceDetach", Func, 0},
- {"PtraceGetEventMsg", Func, 0},
- {"PtraceGetRegs", Func, 0},
- {"PtracePeekData", Func, 0},
- {"PtracePeekText", Func, 0},
- {"PtracePokeData", Func, 0},
- {"PtracePokeText", Func, 0},
- {"PtraceRegs", Type, 0},
- {"PtraceRegs.Cs", Field, 0},
- {"PtraceRegs.Ds", Field, 0},
- {"PtraceRegs.Eax", Field, 0},
- {"PtraceRegs.Ebp", Field, 0},
- {"PtraceRegs.Ebx", Field, 0},
- {"PtraceRegs.Ecx", Field, 0},
- {"PtraceRegs.Edi", Field, 0},
- {"PtraceRegs.Edx", Field, 0},
- {"PtraceRegs.Eflags", Field, 0},
- {"PtraceRegs.Eip", Field, 0},
- {"PtraceRegs.Es", Field, 0},
- {"PtraceRegs.Esi", Field, 0},
- {"PtraceRegs.Esp", Field, 0},
- {"PtraceRegs.Fs", Field, 0},
- {"PtraceRegs.Fs_base", Field, 0},
- {"PtraceRegs.Gs", Field, 0},
- {"PtraceRegs.Gs_base", Field, 0},
- {"PtraceRegs.Orig_eax", Field, 0},
- {"PtraceRegs.Orig_rax", Field, 0},
- {"PtraceRegs.R10", Field, 0},
- {"PtraceRegs.R11", Field, 0},
- {"PtraceRegs.R12", Field, 0},
- {"PtraceRegs.R13", Field, 0},
- {"PtraceRegs.R14", Field, 0},
- {"PtraceRegs.R15", Field, 0},
- {"PtraceRegs.R8", Field, 0},
- {"PtraceRegs.R9", Field, 0},
- {"PtraceRegs.Rax", Field, 0},
- {"PtraceRegs.Rbp", Field, 0},
- {"PtraceRegs.Rbx", Field, 0},
- {"PtraceRegs.Rcx", Field, 0},
- {"PtraceRegs.Rdi", Field, 0},
- {"PtraceRegs.Rdx", Field, 0},
- {"PtraceRegs.Rip", Field, 0},
- {"PtraceRegs.Rsi", Field, 0},
- {"PtraceRegs.Rsp", Field, 0},
- {"PtraceRegs.Ss", Field, 0},
- {"PtraceRegs.Uregs", Field, 0},
- {"PtraceRegs.Xcs", Field, 0},
- {"PtraceRegs.Xds", Field, 0},
- {"PtraceRegs.Xes", Field, 0},
- {"PtraceRegs.Xfs", Field, 0},
- {"PtraceRegs.Xgs", Field, 0},
- {"PtraceRegs.Xss", Field, 0},
- {"PtraceSetOptions", Func, 0},
- {"PtraceSetRegs", Func, 0},
- {"PtraceSingleStep", Func, 0},
- {"PtraceSyscall", Func, 1},
- {"Pwrite", Func, 0},
- {"REG_BINARY", Const, 0},
- {"REG_DWORD", Const, 0},
- {"REG_DWORD_BIG_ENDIAN", Const, 0},
- {"REG_DWORD_LITTLE_ENDIAN", Const, 0},
- {"REG_EXPAND_SZ", Const, 0},
- {"REG_FULL_RESOURCE_DESCRIPTOR", Const, 0},
- {"REG_LINK", Const, 0},
- {"REG_MULTI_SZ", Const, 0},
- {"REG_NONE", Const, 0},
- {"REG_QWORD", Const, 0},
- {"REG_QWORD_LITTLE_ENDIAN", Const, 0},
- {"REG_RESOURCE_LIST", Const, 0},
- {"REG_RESOURCE_REQUIREMENTS_LIST", Const, 0},
- {"REG_SZ", Const, 0},
- {"RLIMIT_AS", Const, 0},
- {"RLIMIT_CORE", Const, 0},
- {"RLIMIT_CPU", Const, 0},
- {"RLIMIT_CPU_USAGE_MONITOR", Const, 16},
- {"RLIMIT_DATA", Const, 0},
- {"RLIMIT_FSIZE", Const, 0},
- {"RLIMIT_NOFILE", Const, 0},
- {"RLIMIT_STACK", Const, 0},
- {"RLIM_INFINITY", Const, 0},
- {"RTAX_ADVMSS", Const, 0},
- {"RTAX_AUTHOR", Const, 0},
- {"RTAX_BRD", Const, 0},
- {"RTAX_CWND", Const, 0},
- {"RTAX_DST", Const, 0},
- {"RTAX_FEATURES", Const, 0},
- {"RTAX_FEATURE_ALLFRAG", Const, 0},
- {"RTAX_FEATURE_ECN", Const, 0},
- {"RTAX_FEATURE_SACK", Const, 0},
- {"RTAX_FEATURE_TIMESTAMP", Const, 0},
- {"RTAX_GATEWAY", Const, 0},
- {"RTAX_GENMASK", Const, 0},
- {"RTAX_HOPLIMIT", Const, 0},
- {"RTAX_IFA", Const, 0},
- {"RTAX_IFP", Const, 0},
- {"RTAX_INITCWND", Const, 0},
- {"RTAX_INITRWND", Const, 0},
- {"RTAX_LABEL", Const, 1},
- {"RTAX_LOCK", Const, 0},
- {"RTAX_MAX", Const, 0},
- {"RTAX_MTU", Const, 0},
- {"RTAX_NETMASK", Const, 0},
- {"RTAX_REORDERING", Const, 0},
- {"RTAX_RTO_MIN", Const, 0},
- {"RTAX_RTT", Const, 0},
- {"RTAX_RTTVAR", Const, 0},
- {"RTAX_SRC", Const, 1},
- {"RTAX_SRCMASK", Const, 1},
- {"RTAX_SSTHRESH", Const, 0},
- {"RTAX_TAG", Const, 1},
- {"RTAX_UNSPEC", Const, 0},
- {"RTAX_WINDOW", Const, 0},
- {"RTA_ALIGNTO", Const, 0},
- {"RTA_AUTHOR", Const, 0},
- {"RTA_BRD", Const, 0},
- {"RTA_CACHEINFO", Const, 0},
- {"RTA_DST", Const, 0},
- {"RTA_FLOW", Const, 0},
- {"RTA_GATEWAY", Const, 0},
- {"RTA_GENMASK", Const, 0},
- {"RTA_IFA", Const, 0},
- {"RTA_IFP", Const, 0},
- {"RTA_IIF", Const, 0},
- {"RTA_LABEL", Const, 1},
- {"RTA_MAX", Const, 0},
- {"RTA_METRICS", Const, 0},
- {"RTA_MULTIPATH", Const, 0},
- {"RTA_NETMASK", Const, 0},
- {"RTA_OIF", Const, 0},
- {"RTA_PREFSRC", Const, 0},
- {"RTA_PRIORITY", Const, 0},
- {"RTA_SRC", Const, 0},
- {"RTA_SRCMASK", Const, 1},
- {"RTA_TABLE", Const, 0},
- {"RTA_TAG", Const, 1},
- {"RTA_UNSPEC", Const, 0},
- {"RTCF_DIRECTSRC", Const, 0},
- {"RTCF_DOREDIRECT", Const, 0},
- {"RTCF_LOG", Const, 0},
- {"RTCF_MASQ", Const, 0},
- {"RTCF_NAT", Const, 0},
- {"RTCF_VALVE", Const, 0},
- {"RTF_ADDRCLASSMASK", Const, 0},
- {"RTF_ADDRCONF", Const, 0},
- {"RTF_ALLONLINK", Const, 0},
- {"RTF_ANNOUNCE", Const, 1},
- {"RTF_BLACKHOLE", Const, 0},
- {"RTF_BROADCAST", Const, 0},
- {"RTF_CACHE", Const, 0},
- {"RTF_CLONED", Const, 1},
- {"RTF_CLONING", Const, 0},
- {"RTF_CONDEMNED", Const, 0},
- {"RTF_DEFAULT", Const, 0},
- {"RTF_DELCLONE", Const, 0},
- {"RTF_DONE", Const, 0},
- {"RTF_DYNAMIC", Const, 0},
- {"RTF_FLOW", Const, 0},
- {"RTF_FMASK", Const, 0},
- {"RTF_GATEWAY", Const, 0},
- {"RTF_GWFLAG_COMPAT", Const, 3},
- {"RTF_HOST", Const, 0},
- {"RTF_IFREF", Const, 0},
- {"RTF_IFSCOPE", Const, 0},
- {"RTF_INTERFACE", Const, 0},
- {"RTF_IRTT", Const, 0},
- {"RTF_LINKRT", Const, 0},
- {"RTF_LLDATA", Const, 0},
- {"RTF_LLINFO", Const, 0},
- {"RTF_LOCAL", Const, 0},
- {"RTF_MASK", Const, 1},
- {"RTF_MODIFIED", Const, 0},
- {"RTF_MPATH", Const, 1},
- {"RTF_MPLS", Const, 1},
- {"RTF_MSS", Const, 0},
- {"RTF_MTU", Const, 0},
- {"RTF_MULTICAST", Const, 0},
- {"RTF_NAT", Const, 0},
- {"RTF_NOFORWARD", Const, 0},
- {"RTF_NONEXTHOP", Const, 0},
- {"RTF_NOPMTUDISC", Const, 0},
- {"RTF_PERMANENT_ARP", Const, 1},
- {"RTF_PINNED", Const, 0},
- {"RTF_POLICY", Const, 0},
- {"RTF_PRCLONING", Const, 0},
- {"RTF_PROTO1", Const, 0},
- {"RTF_PROTO2", Const, 0},
- {"RTF_PROTO3", Const, 0},
- {"RTF_PROXY", Const, 16},
- {"RTF_REINSTATE", Const, 0},
- {"RTF_REJECT", Const, 0},
- {"RTF_RNH_LOCKED", Const, 0},
- {"RTF_ROUTER", Const, 16},
- {"RTF_SOURCE", Const, 1},
- {"RTF_SRC", Const, 1},
- {"RTF_STATIC", Const, 0},
- {"RTF_STICKY", Const, 0},
- {"RTF_THROW", Const, 0},
- {"RTF_TUNNEL", Const, 1},
- {"RTF_UP", Const, 0},
- {"RTF_USETRAILERS", Const, 1},
- {"RTF_WASCLONED", Const, 0},
- {"RTF_WINDOW", Const, 0},
- {"RTF_XRESOLVE", Const, 0},
- {"RTM_ADD", Const, 0},
- {"RTM_BASE", Const, 0},
- {"RTM_CHANGE", Const, 0},
- {"RTM_CHGADDR", Const, 1},
- {"RTM_DELACTION", Const, 0},
- {"RTM_DELADDR", Const, 0},
- {"RTM_DELADDRLABEL", Const, 0},
- {"RTM_DELETE", Const, 0},
- {"RTM_DELLINK", Const, 0},
- {"RTM_DELMADDR", Const, 0},
- {"RTM_DELNEIGH", Const, 0},
- {"RTM_DELQDISC", Const, 0},
- {"RTM_DELROUTE", Const, 0},
- {"RTM_DELRULE", Const, 0},
- {"RTM_DELTCLASS", Const, 0},
- {"RTM_DELTFILTER", Const, 0},
- {"RTM_DESYNC", Const, 1},
- {"RTM_F_CLONED", Const, 0},
- {"RTM_F_EQUALIZE", Const, 0},
- {"RTM_F_NOTIFY", Const, 0},
- {"RTM_F_PREFIX", Const, 0},
- {"RTM_GET", Const, 0},
- {"RTM_GET2", Const, 0},
- {"RTM_GETACTION", Const, 0},
- {"RTM_GETADDR", Const, 0},
- {"RTM_GETADDRLABEL", Const, 0},
- {"RTM_GETANYCAST", Const, 0},
- {"RTM_GETDCB", Const, 0},
- {"RTM_GETLINK", Const, 0},
- {"RTM_GETMULTICAST", Const, 0},
- {"RTM_GETNEIGH", Const, 0},
- {"RTM_GETNEIGHTBL", Const, 0},
- {"RTM_GETQDISC", Const, 0},
- {"RTM_GETROUTE", Const, 0},
- {"RTM_GETRULE", Const, 0},
- {"RTM_GETTCLASS", Const, 0},
- {"RTM_GETTFILTER", Const, 0},
- {"RTM_IEEE80211", Const, 0},
- {"RTM_IFANNOUNCE", Const, 0},
- {"RTM_IFINFO", Const, 0},
- {"RTM_IFINFO2", Const, 0},
- {"RTM_LLINFO_UPD", Const, 1},
- {"RTM_LOCK", Const, 0},
- {"RTM_LOSING", Const, 0},
- {"RTM_MAX", Const, 0},
- {"RTM_MAXSIZE", Const, 1},
- {"RTM_MISS", Const, 0},
- {"RTM_NEWACTION", Const, 0},
- {"RTM_NEWADDR", Const, 0},
- {"RTM_NEWADDRLABEL", Const, 0},
- {"RTM_NEWLINK", Const, 0},
- {"RTM_NEWMADDR", Const, 0},
- {"RTM_NEWMADDR2", Const, 0},
- {"RTM_NEWNDUSEROPT", Const, 0},
- {"RTM_NEWNEIGH", Const, 0},
- {"RTM_NEWNEIGHTBL", Const, 0},
- {"RTM_NEWPREFIX", Const, 0},
- {"RTM_NEWQDISC", Const, 0},
- {"RTM_NEWROUTE", Const, 0},
- {"RTM_NEWRULE", Const, 0},
- {"RTM_NEWTCLASS", Const, 0},
- {"RTM_NEWTFILTER", Const, 0},
- {"RTM_NR_FAMILIES", Const, 0},
- {"RTM_NR_MSGTYPES", Const, 0},
- {"RTM_OIFINFO", Const, 1},
- {"RTM_OLDADD", Const, 0},
- {"RTM_OLDDEL", Const, 0},
- {"RTM_OOIFINFO", Const, 1},
- {"RTM_REDIRECT", Const, 0},
- {"RTM_RESOLVE", Const, 0},
- {"RTM_RTTUNIT", Const, 0},
- {"RTM_SETDCB", Const, 0},
- {"RTM_SETGATE", Const, 1},
- {"RTM_SETLINK", Const, 0},
- {"RTM_SETNEIGHTBL", Const, 0},
- {"RTM_VERSION", Const, 0},
- {"RTNH_ALIGNTO", Const, 0},
- {"RTNH_F_DEAD", Const, 0},
- {"RTNH_F_ONLINK", Const, 0},
- {"RTNH_F_PERVASIVE", Const, 0},
- {"RTNLGRP_IPV4_IFADDR", Const, 1},
- {"RTNLGRP_IPV4_MROUTE", Const, 1},
- {"RTNLGRP_IPV4_ROUTE", Const, 1},
- {"RTNLGRP_IPV4_RULE", Const, 1},
- {"RTNLGRP_IPV6_IFADDR", Const, 1},
- {"RTNLGRP_IPV6_IFINFO", Const, 1},
- {"RTNLGRP_IPV6_MROUTE", Const, 1},
- {"RTNLGRP_IPV6_PREFIX", Const, 1},
- {"RTNLGRP_IPV6_ROUTE", Const, 1},
- {"RTNLGRP_IPV6_RULE", Const, 1},
- {"RTNLGRP_LINK", Const, 1},
- {"RTNLGRP_ND_USEROPT", Const, 1},
- {"RTNLGRP_NEIGH", Const, 1},
- {"RTNLGRP_NONE", Const, 1},
- {"RTNLGRP_NOTIFY", Const, 1},
- {"RTNLGRP_TC", Const, 1},
- {"RTN_ANYCAST", Const, 0},
- {"RTN_BLACKHOLE", Const, 0},
- {"RTN_BROADCAST", Const, 0},
- {"RTN_LOCAL", Const, 0},
- {"RTN_MAX", Const, 0},
- {"RTN_MULTICAST", Const, 0},
- {"RTN_NAT", Const, 0},
- {"RTN_PROHIBIT", Const, 0},
- {"RTN_THROW", Const, 0},
- {"RTN_UNICAST", Const, 0},
- {"RTN_UNREACHABLE", Const, 0},
- {"RTN_UNSPEC", Const, 0},
- {"RTN_XRESOLVE", Const, 0},
- {"RTPROT_BIRD", Const, 0},
- {"RTPROT_BOOT", Const, 0},
- {"RTPROT_DHCP", Const, 0},
- {"RTPROT_DNROUTED", Const, 0},
- {"RTPROT_GATED", Const, 0},
- {"RTPROT_KERNEL", Const, 0},
- {"RTPROT_MRT", Const, 0},
- {"RTPROT_NTK", Const, 0},
- {"RTPROT_RA", Const, 0},
- {"RTPROT_REDIRECT", Const, 0},
- {"RTPROT_STATIC", Const, 0},
- {"RTPROT_UNSPEC", Const, 0},
- {"RTPROT_XORP", Const, 0},
- {"RTPROT_ZEBRA", Const, 0},
- {"RTV_EXPIRE", Const, 0},
- {"RTV_HOPCOUNT", Const, 0},
- {"RTV_MTU", Const, 0},
- {"RTV_RPIPE", Const, 0},
- {"RTV_RTT", Const, 0},
- {"RTV_RTTVAR", Const, 0},
- {"RTV_SPIPE", Const, 0},
- {"RTV_SSTHRESH", Const, 0},
- {"RTV_WEIGHT", Const, 0},
- {"RT_CACHING_CONTEXT", Const, 1},
- {"RT_CLASS_DEFAULT", Const, 0},
- {"RT_CLASS_LOCAL", Const, 0},
- {"RT_CLASS_MAIN", Const, 0},
- {"RT_CLASS_MAX", Const, 0},
- {"RT_CLASS_UNSPEC", Const, 0},
- {"RT_DEFAULT_FIB", Const, 1},
- {"RT_NORTREF", Const, 1},
- {"RT_SCOPE_HOST", Const, 0},
- {"RT_SCOPE_LINK", Const, 0},
- {"RT_SCOPE_NOWHERE", Const, 0},
- {"RT_SCOPE_SITE", Const, 0},
- {"RT_SCOPE_UNIVERSE", Const, 0},
- {"RT_TABLEID_MAX", Const, 1},
- {"RT_TABLE_COMPAT", Const, 0},
- {"RT_TABLE_DEFAULT", Const, 0},
- {"RT_TABLE_LOCAL", Const, 0},
- {"RT_TABLE_MAIN", Const, 0},
- {"RT_TABLE_MAX", Const, 0},
- {"RT_TABLE_UNSPEC", Const, 0},
- {"RUSAGE_CHILDREN", Const, 0},
- {"RUSAGE_SELF", Const, 0},
- {"RUSAGE_THREAD", Const, 0},
- {"Radvisory_t", Type, 0},
- {"Radvisory_t.Count", Field, 0},
- {"Radvisory_t.Offset", Field, 0},
- {"Radvisory_t.Pad_cgo_0", Field, 0},
- {"RawConn", Type, 9},
- {"RawSockaddr", Type, 0},
- {"RawSockaddr.Data", Field, 0},
- {"RawSockaddr.Family", Field, 0},
- {"RawSockaddr.Len", Field, 0},
- {"RawSockaddrAny", Type, 0},
- {"RawSockaddrAny.Addr", Field, 0},
- {"RawSockaddrAny.Pad", Field, 0},
- {"RawSockaddrDatalink", Type, 0},
- {"RawSockaddrDatalink.Alen", Field, 0},
- {"RawSockaddrDatalink.Data", Field, 0},
- {"RawSockaddrDatalink.Family", Field, 0},
- {"RawSockaddrDatalink.Index", Field, 0},
- {"RawSockaddrDatalink.Len", Field, 0},
- {"RawSockaddrDatalink.Nlen", Field, 0},
- {"RawSockaddrDatalink.Pad_cgo_0", Field, 2},
- {"RawSockaddrDatalink.Slen", Field, 0},
- {"RawSockaddrDatalink.Type", Field, 0},
- {"RawSockaddrInet4", Type, 0},
- {"RawSockaddrInet4.Addr", Field, 0},
- {"RawSockaddrInet4.Family", Field, 0},
- {"RawSockaddrInet4.Len", Field, 0},
- {"RawSockaddrInet4.Port", Field, 0},
- {"RawSockaddrInet4.Zero", Field, 0},
- {"RawSockaddrInet6", Type, 0},
- {"RawSockaddrInet6.Addr", Field, 0},
- {"RawSockaddrInet6.Family", Field, 0},
- {"RawSockaddrInet6.Flowinfo", Field, 0},
- {"RawSockaddrInet6.Len", Field, 0},
- {"RawSockaddrInet6.Port", Field, 0},
- {"RawSockaddrInet6.Scope_id", Field, 0},
- {"RawSockaddrLinklayer", Type, 0},
- {"RawSockaddrLinklayer.Addr", Field, 0},
- {"RawSockaddrLinklayer.Family", Field, 0},
- {"RawSockaddrLinklayer.Halen", Field, 0},
- {"RawSockaddrLinklayer.Hatype", Field, 0},
- {"RawSockaddrLinklayer.Ifindex", Field, 0},
- {"RawSockaddrLinklayer.Pkttype", Field, 0},
- {"RawSockaddrLinklayer.Protocol", Field, 0},
- {"RawSockaddrNetlink", Type, 0},
- {"RawSockaddrNetlink.Family", Field, 0},
- {"RawSockaddrNetlink.Groups", Field, 0},
- {"RawSockaddrNetlink.Pad", Field, 0},
- {"RawSockaddrNetlink.Pid", Field, 0},
- {"RawSockaddrUnix", Type, 0},
- {"RawSockaddrUnix.Family", Field, 0},
- {"RawSockaddrUnix.Len", Field, 0},
- {"RawSockaddrUnix.Pad_cgo_0", Field, 2},
- {"RawSockaddrUnix.Path", Field, 0},
- {"RawSyscall", Func, 0},
- {"RawSyscall6", Func, 0},
- {"Read", Func, 0},
- {"ReadConsole", Func, 1},
- {"ReadDirectoryChanges", Func, 0},
- {"ReadDirent", Func, 0},
- {"ReadFile", Func, 0},
- {"Readlink", Func, 0},
- {"Reboot", Func, 0},
- {"Recvfrom", Func, 0},
- {"Recvmsg", Func, 0},
- {"RegCloseKey", Func, 0},
- {"RegEnumKeyEx", Func, 0},
- {"RegOpenKeyEx", Func, 0},
- {"RegQueryInfoKey", Func, 0},
- {"RegQueryValueEx", Func, 0},
- {"RemoveDirectory", Func, 0},
- {"Removexattr", Func, 1},
- {"Rename", Func, 0},
- {"Renameat", Func, 0},
- {"Revoke", Func, 0},
- {"Rlimit", Type, 0},
- {"Rlimit.Cur", Field, 0},
- {"Rlimit.Max", Field, 0},
- {"Rmdir", Func, 0},
- {"RouteMessage", Type, 0},
- {"RouteMessage.Data", Field, 0},
- {"RouteMessage.Header", Field, 0},
- {"RouteRIB", Func, 0},
- {"RoutingMessage", Type, 0},
- {"RtAttr", Type, 0},
- {"RtAttr.Len", Field, 0},
- {"RtAttr.Type", Field, 0},
- {"RtGenmsg", Type, 0},
- {"RtGenmsg.Family", Field, 0},
- {"RtMetrics", Type, 0},
- {"RtMetrics.Expire", Field, 0},
- {"RtMetrics.Filler", Field, 0},
- {"RtMetrics.Hopcount", Field, 0},
- {"RtMetrics.Locks", Field, 0},
- {"RtMetrics.Mtu", Field, 0},
- {"RtMetrics.Pad", Field, 3},
- {"RtMetrics.Pksent", Field, 0},
- {"RtMetrics.Recvpipe", Field, 0},
- {"RtMetrics.Refcnt", Field, 2},
- {"RtMetrics.Rtt", Field, 0},
- {"RtMetrics.Rttvar", Field, 0},
- {"RtMetrics.Sendpipe", Field, 0},
- {"RtMetrics.Ssthresh", Field, 0},
- {"RtMetrics.Weight", Field, 0},
- {"RtMsg", Type, 0},
- {"RtMsg.Dst_len", Field, 0},
- {"RtMsg.Family", Field, 0},
- {"RtMsg.Flags", Field, 0},
- {"RtMsg.Protocol", Field, 0},
- {"RtMsg.Scope", Field, 0},
- {"RtMsg.Src_len", Field, 0},
- {"RtMsg.Table", Field, 0},
- {"RtMsg.Tos", Field, 0},
- {"RtMsg.Type", Field, 0},
- {"RtMsghdr", Type, 0},
- {"RtMsghdr.Addrs", Field, 0},
- {"RtMsghdr.Errno", Field, 0},
- {"RtMsghdr.Flags", Field, 0},
- {"RtMsghdr.Fmask", Field, 0},
- {"RtMsghdr.Hdrlen", Field, 2},
- {"RtMsghdr.Index", Field, 0},
- {"RtMsghdr.Inits", Field, 0},
- {"RtMsghdr.Mpls", Field, 2},
- {"RtMsghdr.Msglen", Field, 0},
- {"RtMsghdr.Pad_cgo_0", Field, 0},
- {"RtMsghdr.Pad_cgo_1", Field, 2},
- {"RtMsghdr.Pid", Field, 0},
- {"RtMsghdr.Priority", Field, 2},
- {"RtMsghdr.Rmx", Field, 0},
- {"RtMsghdr.Seq", Field, 0},
- {"RtMsghdr.Tableid", Field, 2},
- {"RtMsghdr.Type", Field, 0},
- {"RtMsghdr.Use", Field, 0},
- {"RtMsghdr.Version", Field, 0},
- {"RtNexthop", Type, 0},
- {"RtNexthop.Flags", Field, 0},
- {"RtNexthop.Hops", Field, 0},
- {"RtNexthop.Ifindex", Field, 0},
- {"RtNexthop.Len", Field, 0},
- {"Rusage", Type, 0},
- {"Rusage.CreationTime", Field, 0},
- {"Rusage.ExitTime", Field, 0},
- {"Rusage.Idrss", Field, 0},
- {"Rusage.Inblock", Field, 0},
- {"Rusage.Isrss", Field, 0},
- {"Rusage.Ixrss", Field, 0},
- {"Rusage.KernelTime", Field, 0},
- {"Rusage.Majflt", Field, 0},
- {"Rusage.Maxrss", Field, 0},
- {"Rusage.Minflt", Field, 0},
- {"Rusage.Msgrcv", Field, 0},
- {"Rusage.Msgsnd", Field, 0},
- {"Rusage.Nivcsw", Field, 0},
- {"Rusage.Nsignals", Field, 0},
- {"Rusage.Nswap", Field, 0},
- {"Rusage.Nvcsw", Field, 0},
- {"Rusage.Oublock", Field, 0},
- {"Rusage.Stime", Field, 0},
- {"Rusage.UserTime", Field, 0},
- {"Rusage.Utime", Field, 0},
- {"SCM_BINTIME", Const, 0},
- {"SCM_CREDENTIALS", Const, 0},
- {"SCM_CREDS", Const, 0},
- {"SCM_RIGHTS", Const, 0},
- {"SCM_TIMESTAMP", Const, 0},
- {"SCM_TIMESTAMPING", Const, 0},
- {"SCM_TIMESTAMPNS", Const, 0},
- {"SCM_TIMESTAMP_MONOTONIC", Const, 0},
- {"SHUT_RD", Const, 0},
- {"SHUT_RDWR", Const, 0},
- {"SHUT_WR", Const, 0},
- {"SID", Type, 0},
- {"SIDAndAttributes", Type, 0},
- {"SIDAndAttributes.Attributes", Field, 0},
- {"SIDAndAttributes.Sid", Field, 0},
- {"SIGABRT", Const, 0},
- {"SIGALRM", Const, 0},
- {"SIGBUS", Const, 0},
- {"SIGCHLD", Const, 0},
- {"SIGCLD", Const, 0},
- {"SIGCONT", Const, 0},
- {"SIGEMT", Const, 0},
- {"SIGFPE", Const, 0},
- {"SIGHUP", Const, 0},
- {"SIGILL", Const, 0},
- {"SIGINFO", Const, 0},
- {"SIGINT", Const, 0},
- {"SIGIO", Const, 0},
- {"SIGIOT", Const, 0},
- {"SIGKILL", Const, 0},
- {"SIGLIBRT", Const, 1},
- {"SIGLWP", Const, 0},
- {"SIGPIPE", Const, 0},
- {"SIGPOLL", Const, 0},
- {"SIGPROF", Const, 0},
- {"SIGPWR", Const, 0},
- {"SIGQUIT", Const, 0},
- {"SIGSEGV", Const, 0},
- {"SIGSTKFLT", Const, 0},
- {"SIGSTOP", Const, 0},
- {"SIGSYS", Const, 0},
- {"SIGTERM", Const, 0},
- {"SIGTHR", Const, 0},
- {"SIGTRAP", Const, 0},
- {"SIGTSTP", Const, 0},
- {"SIGTTIN", Const, 0},
- {"SIGTTOU", Const, 0},
- {"SIGUNUSED", Const, 0},
- {"SIGURG", Const, 0},
- {"SIGUSR1", Const, 0},
- {"SIGUSR2", Const, 0},
- {"SIGVTALRM", Const, 0},
- {"SIGWINCH", Const, 0},
- {"SIGXCPU", Const, 0},
- {"SIGXFSZ", Const, 0},
- {"SIOCADDDLCI", Const, 0},
- {"SIOCADDMULTI", Const, 0},
- {"SIOCADDRT", Const, 0},
- {"SIOCAIFADDR", Const, 0},
- {"SIOCAIFGROUP", Const, 0},
- {"SIOCALIFADDR", Const, 0},
- {"SIOCARPIPLL", Const, 0},
- {"SIOCATMARK", Const, 0},
- {"SIOCAUTOADDR", Const, 0},
- {"SIOCAUTONETMASK", Const, 0},
- {"SIOCBRDGADD", Const, 1},
- {"SIOCBRDGADDS", Const, 1},
- {"SIOCBRDGARL", Const, 1},
- {"SIOCBRDGDADDR", Const, 1},
- {"SIOCBRDGDEL", Const, 1},
- {"SIOCBRDGDELS", Const, 1},
- {"SIOCBRDGFLUSH", Const, 1},
- {"SIOCBRDGFRL", Const, 1},
- {"SIOCBRDGGCACHE", Const, 1},
- {"SIOCBRDGGFD", Const, 1},
- {"SIOCBRDGGHT", Const, 1},
- {"SIOCBRDGGIFFLGS", Const, 1},
- {"SIOCBRDGGMA", Const, 1},
- {"SIOCBRDGGPARAM", Const, 1},
- {"SIOCBRDGGPRI", Const, 1},
- {"SIOCBRDGGRL", Const, 1},
- {"SIOCBRDGGSIFS", Const, 1},
- {"SIOCBRDGGTO", Const, 1},
- {"SIOCBRDGIFS", Const, 1},
- {"SIOCBRDGRTS", Const, 1},
- {"SIOCBRDGSADDR", Const, 1},
- {"SIOCBRDGSCACHE", Const, 1},
- {"SIOCBRDGSFD", Const, 1},
- {"SIOCBRDGSHT", Const, 1},
- {"SIOCBRDGSIFCOST", Const, 1},
- {"SIOCBRDGSIFFLGS", Const, 1},
- {"SIOCBRDGSIFPRIO", Const, 1},
- {"SIOCBRDGSMA", Const, 1},
- {"SIOCBRDGSPRI", Const, 1},
- {"SIOCBRDGSPROTO", Const, 1},
- {"SIOCBRDGSTO", Const, 1},
- {"SIOCBRDGSTXHC", Const, 1},
- {"SIOCDARP", Const, 0},
- {"SIOCDELDLCI", Const, 0},
- {"SIOCDELMULTI", Const, 0},
- {"SIOCDELRT", Const, 0},
- {"SIOCDEVPRIVATE", Const, 0},
- {"SIOCDIFADDR", Const, 0},
- {"SIOCDIFGROUP", Const, 0},
- {"SIOCDIFPHYADDR", Const, 0},
- {"SIOCDLIFADDR", Const, 0},
- {"SIOCDRARP", Const, 0},
- {"SIOCGARP", Const, 0},
- {"SIOCGDRVSPEC", Const, 0},
- {"SIOCGETKALIVE", Const, 1},
- {"SIOCGETLABEL", Const, 1},
- {"SIOCGETPFLOW", Const, 1},
- {"SIOCGETPFSYNC", Const, 1},
- {"SIOCGETSGCNT", Const, 0},
- {"SIOCGETVIFCNT", Const, 0},
- {"SIOCGETVLAN", Const, 0},
- {"SIOCGHIWAT", Const, 0},
- {"SIOCGIFADDR", Const, 0},
- {"SIOCGIFADDRPREF", Const, 1},
- {"SIOCGIFALIAS", Const, 1},
- {"SIOCGIFALTMTU", Const, 0},
- {"SIOCGIFASYNCMAP", Const, 0},
- {"SIOCGIFBOND", Const, 0},
- {"SIOCGIFBR", Const, 0},
- {"SIOCGIFBRDADDR", Const, 0},
- {"SIOCGIFCAP", Const, 0},
- {"SIOCGIFCONF", Const, 0},
- {"SIOCGIFCOUNT", Const, 0},
- {"SIOCGIFDATA", Const, 1},
- {"SIOCGIFDESCR", Const, 0},
- {"SIOCGIFDEVMTU", Const, 0},
- {"SIOCGIFDLT", Const, 1},
- {"SIOCGIFDSTADDR", Const, 0},
- {"SIOCGIFENCAP", Const, 0},
- {"SIOCGIFFIB", Const, 1},
- {"SIOCGIFFLAGS", Const, 0},
- {"SIOCGIFGATTR", Const, 1},
- {"SIOCGIFGENERIC", Const, 0},
- {"SIOCGIFGMEMB", Const, 0},
- {"SIOCGIFGROUP", Const, 0},
- {"SIOCGIFHARDMTU", Const, 3},
- {"SIOCGIFHWADDR", Const, 0},
- {"SIOCGIFINDEX", Const, 0},
- {"SIOCGIFKPI", Const, 0},
- {"SIOCGIFMAC", Const, 0},
- {"SIOCGIFMAP", Const, 0},
- {"SIOCGIFMEDIA", Const, 0},
- {"SIOCGIFMEM", Const, 0},
- {"SIOCGIFMETRIC", Const, 0},
- {"SIOCGIFMTU", Const, 0},
- {"SIOCGIFNAME", Const, 0},
- {"SIOCGIFNETMASK", Const, 0},
- {"SIOCGIFPDSTADDR", Const, 0},
- {"SIOCGIFPFLAGS", Const, 0},
- {"SIOCGIFPHYS", Const, 0},
- {"SIOCGIFPRIORITY", Const, 1},
- {"SIOCGIFPSRCADDR", Const, 0},
- {"SIOCGIFRDOMAIN", Const, 1},
- {"SIOCGIFRTLABEL", Const, 1},
- {"SIOCGIFSLAVE", Const, 0},
- {"SIOCGIFSTATUS", Const, 0},
- {"SIOCGIFTIMESLOT", Const, 1},
- {"SIOCGIFTXQLEN", Const, 0},
- {"SIOCGIFVLAN", Const, 0},
- {"SIOCGIFWAKEFLAGS", Const, 0},
- {"SIOCGIFXFLAGS", Const, 1},
- {"SIOCGLIFADDR", Const, 0},
- {"SIOCGLIFPHYADDR", Const, 0},
- {"SIOCGLIFPHYRTABLE", Const, 1},
- {"SIOCGLIFPHYTTL", Const, 3},
- {"SIOCGLINKSTR", Const, 1},
- {"SIOCGLOWAT", Const, 0},
- {"SIOCGPGRP", Const, 0},
- {"SIOCGPRIVATE_0", Const, 0},
- {"SIOCGPRIVATE_1", Const, 0},
- {"SIOCGRARP", Const, 0},
- {"SIOCGSPPPPARAMS", Const, 3},
- {"SIOCGSTAMP", Const, 0},
- {"SIOCGSTAMPNS", Const, 0},
- {"SIOCGVH", Const, 1},
- {"SIOCGVNETID", Const, 3},
- {"SIOCIFCREATE", Const, 0},
- {"SIOCIFCREATE2", Const, 0},
- {"SIOCIFDESTROY", Const, 0},
- {"SIOCIFGCLONERS", Const, 0},
- {"SIOCINITIFADDR", Const, 1},
- {"SIOCPROTOPRIVATE", Const, 0},
- {"SIOCRSLVMULTI", Const, 0},
- {"SIOCRTMSG", Const, 0},
- {"SIOCSARP", Const, 0},
- {"SIOCSDRVSPEC", Const, 0},
- {"SIOCSETKALIVE", Const, 1},
- {"SIOCSETLABEL", Const, 1},
- {"SIOCSETPFLOW", Const, 1},
- {"SIOCSETPFSYNC", Const, 1},
- {"SIOCSETVLAN", Const, 0},
- {"SIOCSHIWAT", Const, 0},
- {"SIOCSIFADDR", Const, 0},
- {"SIOCSIFADDRPREF", Const, 1},
- {"SIOCSIFALTMTU", Const, 0},
- {"SIOCSIFASYNCMAP", Const, 0},
- {"SIOCSIFBOND", Const, 0},
- {"SIOCSIFBR", Const, 0},
- {"SIOCSIFBRDADDR", Const, 0},
- {"SIOCSIFCAP", Const, 0},
- {"SIOCSIFDESCR", Const, 0},
- {"SIOCSIFDSTADDR", Const, 0},
- {"SIOCSIFENCAP", Const, 0},
- {"SIOCSIFFIB", Const, 1},
- {"SIOCSIFFLAGS", Const, 0},
- {"SIOCSIFGATTR", Const, 1},
- {"SIOCSIFGENERIC", Const, 0},
- {"SIOCSIFHWADDR", Const, 0},
- {"SIOCSIFHWBROADCAST", Const, 0},
- {"SIOCSIFKPI", Const, 0},
- {"SIOCSIFLINK", Const, 0},
- {"SIOCSIFLLADDR", Const, 0},
- {"SIOCSIFMAC", Const, 0},
- {"SIOCSIFMAP", Const, 0},
- {"SIOCSIFMEDIA", Const, 0},
- {"SIOCSIFMEM", Const, 0},
- {"SIOCSIFMETRIC", Const, 0},
- {"SIOCSIFMTU", Const, 0},
- {"SIOCSIFNAME", Const, 0},
- {"SIOCSIFNETMASK", Const, 0},
- {"SIOCSIFPFLAGS", Const, 0},
- {"SIOCSIFPHYADDR", Const, 0},
- {"SIOCSIFPHYS", Const, 0},
- {"SIOCSIFPRIORITY", Const, 1},
- {"SIOCSIFRDOMAIN", Const, 1},
- {"SIOCSIFRTLABEL", Const, 1},
- {"SIOCSIFRVNET", Const, 0},
- {"SIOCSIFSLAVE", Const, 0},
- {"SIOCSIFTIMESLOT", Const, 1},
- {"SIOCSIFTXQLEN", Const, 0},
- {"SIOCSIFVLAN", Const, 0},
- {"SIOCSIFVNET", Const, 0},
- {"SIOCSIFXFLAGS", Const, 1},
- {"SIOCSLIFPHYADDR", Const, 0},
- {"SIOCSLIFPHYRTABLE", Const, 1},
- {"SIOCSLIFPHYTTL", Const, 3},
- {"SIOCSLINKSTR", Const, 1},
- {"SIOCSLOWAT", Const, 0},
- {"SIOCSPGRP", Const, 0},
- {"SIOCSRARP", Const, 0},
- {"SIOCSSPPPPARAMS", Const, 3},
- {"SIOCSVH", Const, 1},
- {"SIOCSVNETID", Const, 3},
- {"SIOCZIFDATA", Const, 1},
- {"SIO_GET_EXTENSION_FUNCTION_POINTER", Const, 1},
- {"SIO_GET_INTERFACE_LIST", Const, 0},
- {"SIO_KEEPALIVE_VALS", Const, 3},
- {"SIO_UDP_CONNRESET", Const, 4},
- {"SOCK_CLOEXEC", Const, 0},
- {"SOCK_DCCP", Const, 0},
- {"SOCK_DGRAM", Const, 0},
- {"SOCK_FLAGS_MASK", Const, 1},
- {"SOCK_MAXADDRLEN", Const, 0},
- {"SOCK_NONBLOCK", Const, 0},
- {"SOCK_NOSIGPIPE", Const, 1},
- {"SOCK_PACKET", Const, 0},
- {"SOCK_RAW", Const, 0},
- {"SOCK_RDM", Const, 0},
- {"SOCK_SEQPACKET", Const, 0},
- {"SOCK_STREAM", Const, 0},
- {"SOL_AAL", Const, 0},
- {"SOL_ATM", Const, 0},
- {"SOL_DECNET", Const, 0},
- {"SOL_ICMPV6", Const, 0},
- {"SOL_IP", Const, 0},
- {"SOL_IPV6", Const, 0},
- {"SOL_IRDA", Const, 0},
- {"SOL_PACKET", Const, 0},
- {"SOL_RAW", Const, 0},
- {"SOL_SOCKET", Const, 0},
- {"SOL_TCP", Const, 0},
- {"SOL_X25", Const, 0},
- {"SOMAXCONN", Const, 0},
- {"SO_ACCEPTCONN", Const, 0},
- {"SO_ACCEPTFILTER", Const, 0},
- {"SO_ATTACH_FILTER", Const, 0},
- {"SO_BINDANY", Const, 1},
- {"SO_BINDTODEVICE", Const, 0},
- {"SO_BINTIME", Const, 0},
- {"SO_BROADCAST", Const, 0},
- {"SO_BSDCOMPAT", Const, 0},
- {"SO_DEBUG", Const, 0},
- {"SO_DETACH_FILTER", Const, 0},
- {"SO_DOMAIN", Const, 0},
- {"SO_DONTROUTE", Const, 0},
- {"SO_DONTTRUNC", Const, 0},
- {"SO_ERROR", Const, 0},
- {"SO_KEEPALIVE", Const, 0},
- {"SO_LABEL", Const, 0},
- {"SO_LINGER", Const, 0},
- {"SO_LINGER_SEC", Const, 0},
- {"SO_LISTENINCQLEN", Const, 0},
- {"SO_LISTENQLEN", Const, 0},
- {"SO_LISTENQLIMIT", Const, 0},
- {"SO_MARK", Const, 0},
- {"SO_NETPROC", Const, 1},
- {"SO_NKE", Const, 0},
- {"SO_NOADDRERR", Const, 0},
- {"SO_NOHEADER", Const, 1},
- {"SO_NOSIGPIPE", Const, 0},
- {"SO_NOTIFYCONFLICT", Const, 0},
- {"SO_NO_CHECK", Const, 0},
- {"SO_NO_DDP", Const, 0},
- {"SO_NO_OFFLOAD", Const, 0},
- {"SO_NP_EXTENSIONS", Const, 0},
- {"SO_NREAD", Const, 0},
- {"SO_NUMRCVPKT", Const, 16},
- {"SO_NWRITE", Const, 0},
- {"SO_OOBINLINE", Const, 0},
- {"SO_OVERFLOWED", Const, 1},
- {"SO_PASSCRED", Const, 0},
- {"SO_PASSSEC", Const, 0},
- {"SO_PEERCRED", Const, 0},
- {"SO_PEERLABEL", Const, 0},
- {"SO_PEERNAME", Const, 0},
- {"SO_PEERSEC", Const, 0},
- {"SO_PRIORITY", Const, 0},
- {"SO_PROTOCOL", Const, 0},
- {"SO_PROTOTYPE", Const, 1},
- {"SO_RANDOMPORT", Const, 0},
- {"SO_RCVBUF", Const, 0},
- {"SO_RCVBUFFORCE", Const, 0},
- {"SO_RCVLOWAT", Const, 0},
- {"SO_RCVTIMEO", Const, 0},
- {"SO_RESTRICTIONS", Const, 0},
- {"SO_RESTRICT_DENYIN", Const, 0},
- {"SO_RESTRICT_DENYOUT", Const, 0},
- {"SO_RESTRICT_DENYSET", Const, 0},
- {"SO_REUSEADDR", Const, 0},
- {"SO_REUSEPORT", Const, 0},
- {"SO_REUSESHAREUID", Const, 0},
- {"SO_RTABLE", Const, 1},
- {"SO_RXQ_OVFL", Const, 0},
- {"SO_SECURITY_AUTHENTICATION", Const, 0},
- {"SO_SECURITY_ENCRYPTION_NETWORK", Const, 0},
- {"SO_SECURITY_ENCRYPTION_TRANSPORT", Const, 0},
- {"SO_SETFIB", Const, 0},
- {"SO_SNDBUF", Const, 0},
- {"SO_SNDBUFFORCE", Const, 0},
- {"SO_SNDLOWAT", Const, 0},
- {"SO_SNDTIMEO", Const, 0},
- {"SO_SPLICE", Const, 1},
- {"SO_TIMESTAMP", Const, 0},
- {"SO_TIMESTAMPING", Const, 0},
- {"SO_TIMESTAMPNS", Const, 0},
- {"SO_TIMESTAMP_MONOTONIC", Const, 0},
- {"SO_TYPE", Const, 0},
- {"SO_UPCALLCLOSEWAIT", Const, 0},
- {"SO_UPDATE_ACCEPT_CONTEXT", Const, 0},
- {"SO_UPDATE_CONNECT_CONTEXT", Const, 1},
- {"SO_USELOOPBACK", Const, 0},
- {"SO_USER_COOKIE", Const, 1},
- {"SO_VENDOR", Const, 3},
- {"SO_WANTMORE", Const, 0},
- {"SO_WANTOOBFLAG", Const, 0},
- {"SSLExtraCertChainPolicyPara", Type, 0},
- {"SSLExtraCertChainPolicyPara.AuthType", Field, 0},
- {"SSLExtraCertChainPolicyPara.Checks", Field, 0},
- {"SSLExtraCertChainPolicyPara.ServerName", Field, 0},
- {"SSLExtraCertChainPolicyPara.Size", Field, 0},
- {"STANDARD_RIGHTS_ALL", Const, 0},
- {"STANDARD_RIGHTS_EXECUTE", Const, 0},
- {"STANDARD_RIGHTS_READ", Const, 0},
- {"STANDARD_RIGHTS_REQUIRED", Const, 0},
- {"STANDARD_RIGHTS_WRITE", Const, 0},
- {"STARTF_USESHOWWINDOW", Const, 0},
- {"STARTF_USESTDHANDLES", Const, 0},
- {"STD_ERROR_HANDLE", Const, 0},
- {"STD_INPUT_HANDLE", Const, 0},
- {"STD_OUTPUT_HANDLE", Const, 0},
- {"SUBLANG_ENGLISH_US", Const, 0},
- {"SW_FORCEMINIMIZE", Const, 0},
- {"SW_HIDE", Const, 0},
- {"SW_MAXIMIZE", Const, 0},
- {"SW_MINIMIZE", Const, 0},
- {"SW_NORMAL", Const, 0},
- {"SW_RESTORE", Const, 0},
- {"SW_SHOW", Const, 0},
- {"SW_SHOWDEFAULT", Const, 0},
- {"SW_SHOWMAXIMIZED", Const, 0},
- {"SW_SHOWMINIMIZED", Const, 0},
- {"SW_SHOWMINNOACTIVE", Const, 0},
- {"SW_SHOWNA", Const, 0},
- {"SW_SHOWNOACTIVATE", Const, 0},
- {"SW_SHOWNORMAL", Const, 0},
- {"SYMBOLIC_LINK_FLAG_DIRECTORY", Const, 4},
- {"SYNCHRONIZE", Const, 0},
- {"SYSCTL_VERSION", Const, 1},
- {"SYSCTL_VERS_0", Const, 1},
- {"SYSCTL_VERS_1", Const, 1},
- {"SYSCTL_VERS_MASK", Const, 1},
- {"SYS_ABORT2", Const, 0},
- {"SYS_ACCEPT", Const, 0},
- {"SYS_ACCEPT4", Const, 0},
- {"SYS_ACCEPT_NOCANCEL", Const, 0},
- {"SYS_ACCESS", Const, 0},
- {"SYS_ACCESS_EXTENDED", Const, 0},
- {"SYS_ACCT", Const, 0},
- {"SYS_ADD_KEY", Const, 0},
- {"SYS_ADD_PROFIL", Const, 0},
- {"SYS_ADJFREQ", Const, 1},
- {"SYS_ADJTIME", Const, 0},
- {"SYS_ADJTIMEX", Const, 0},
- {"SYS_AFS_SYSCALL", Const, 0},
- {"SYS_AIO_CANCEL", Const, 0},
- {"SYS_AIO_ERROR", Const, 0},
- {"SYS_AIO_FSYNC", Const, 0},
- {"SYS_AIO_MLOCK", Const, 14},
- {"SYS_AIO_READ", Const, 0},
- {"SYS_AIO_RETURN", Const, 0},
- {"SYS_AIO_SUSPEND", Const, 0},
- {"SYS_AIO_SUSPEND_NOCANCEL", Const, 0},
- {"SYS_AIO_WAITCOMPLETE", Const, 14},
- {"SYS_AIO_WRITE", Const, 0},
- {"SYS_ALARM", Const, 0},
- {"SYS_ARCH_PRCTL", Const, 0},
- {"SYS_ARM_FADVISE64_64", Const, 0},
- {"SYS_ARM_SYNC_FILE_RANGE", Const, 0},
- {"SYS_ATGETMSG", Const, 0},
- {"SYS_ATPGETREQ", Const, 0},
- {"SYS_ATPGETRSP", Const, 0},
- {"SYS_ATPSNDREQ", Const, 0},
- {"SYS_ATPSNDRSP", Const, 0},
- {"SYS_ATPUTMSG", Const, 0},
- {"SYS_ATSOCKET", Const, 0},
- {"SYS_AUDIT", Const, 0},
- {"SYS_AUDITCTL", Const, 0},
- {"SYS_AUDITON", Const, 0},
- {"SYS_AUDIT_SESSION_JOIN", Const, 0},
- {"SYS_AUDIT_SESSION_PORT", Const, 0},
- {"SYS_AUDIT_SESSION_SELF", Const, 0},
- {"SYS_BDFLUSH", Const, 0},
- {"SYS_BIND", Const, 0},
- {"SYS_BINDAT", Const, 3},
- {"SYS_BREAK", Const, 0},
- {"SYS_BRK", Const, 0},
- {"SYS_BSDTHREAD_CREATE", Const, 0},
- {"SYS_BSDTHREAD_REGISTER", Const, 0},
- {"SYS_BSDTHREAD_TERMINATE", Const, 0},
- {"SYS_CAPGET", Const, 0},
- {"SYS_CAPSET", Const, 0},
- {"SYS_CAP_ENTER", Const, 0},
- {"SYS_CAP_FCNTLS_GET", Const, 1},
- {"SYS_CAP_FCNTLS_LIMIT", Const, 1},
- {"SYS_CAP_GETMODE", Const, 0},
- {"SYS_CAP_GETRIGHTS", Const, 0},
- {"SYS_CAP_IOCTLS_GET", Const, 1},
- {"SYS_CAP_IOCTLS_LIMIT", Const, 1},
- {"SYS_CAP_NEW", Const, 0},
- {"SYS_CAP_RIGHTS_GET", Const, 1},
- {"SYS_CAP_RIGHTS_LIMIT", Const, 1},
- {"SYS_CHDIR", Const, 0},
- {"SYS_CHFLAGS", Const, 0},
- {"SYS_CHFLAGSAT", Const, 3},
- {"SYS_CHMOD", Const, 0},
- {"SYS_CHMOD_EXTENDED", Const, 0},
- {"SYS_CHOWN", Const, 0},
- {"SYS_CHOWN32", Const, 0},
- {"SYS_CHROOT", Const, 0},
- {"SYS_CHUD", Const, 0},
- {"SYS_CLOCK_ADJTIME", Const, 0},
- {"SYS_CLOCK_GETCPUCLOCKID2", Const, 1},
- {"SYS_CLOCK_GETRES", Const, 0},
- {"SYS_CLOCK_GETTIME", Const, 0},
- {"SYS_CLOCK_NANOSLEEP", Const, 0},
- {"SYS_CLOCK_SETTIME", Const, 0},
- {"SYS_CLONE", Const, 0},
- {"SYS_CLOSE", Const, 0},
- {"SYS_CLOSEFROM", Const, 0},
- {"SYS_CLOSE_NOCANCEL", Const, 0},
- {"SYS_CONNECT", Const, 0},
- {"SYS_CONNECTAT", Const, 3},
- {"SYS_CONNECT_NOCANCEL", Const, 0},
- {"SYS_COPYFILE", Const, 0},
- {"SYS_CPUSET", Const, 0},
- {"SYS_CPUSET_GETAFFINITY", Const, 0},
- {"SYS_CPUSET_GETID", Const, 0},
- {"SYS_CPUSET_SETAFFINITY", Const, 0},
- {"SYS_CPUSET_SETID", Const, 0},
- {"SYS_CREAT", Const, 0},
- {"SYS_CREATE_MODULE", Const, 0},
- {"SYS_CSOPS", Const, 0},
- {"SYS_CSOPS_AUDITTOKEN", Const, 16},
- {"SYS_DELETE", Const, 0},
- {"SYS_DELETE_MODULE", Const, 0},
- {"SYS_DUP", Const, 0},
- {"SYS_DUP2", Const, 0},
- {"SYS_DUP3", Const, 0},
- {"SYS_EACCESS", Const, 0},
- {"SYS_EPOLL_CREATE", Const, 0},
- {"SYS_EPOLL_CREATE1", Const, 0},
- {"SYS_EPOLL_CTL", Const, 0},
- {"SYS_EPOLL_CTL_OLD", Const, 0},
- {"SYS_EPOLL_PWAIT", Const, 0},
- {"SYS_EPOLL_WAIT", Const, 0},
- {"SYS_EPOLL_WAIT_OLD", Const, 0},
- {"SYS_EVENTFD", Const, 0},
- {"SYS_EVENTFD2", Const, 0},
- {"SYS_EXCHANGEDATA", Const, 0},
- {"SYS_EXECVE", Const, 0},
- {"SYS_EXIT", Const, 0},
- {"SYS_EXIT_GROUP", Const, 0},
- {"SYS_EXTATTRCTL", Const, 0},
- {"SYS_EXTATTR_DELETE_FD", Const, 0},
- {"SYS_EXTATTR_DELETE_FILE", Const, 0},
- {"SYS_EXTATTR_DELETE_LINK", Const, 0},
- {"SYS_EXTATTR_GET_FD", Const, 0},
- {"SYS_EXTATTR_GET_FILE", Const, 0},
- {"SYS_EXTATTR_GET_LINK", Const, 0},
- {"SYS_EXTATTR_LIST_FD", Const, 0},
- {"SYS_EXTATTR_LIST_FILE", Const, 0},
- {"SYS_EXTATTR_LIST_LINK", Const, 0},
- {"SYS_EXTATTR_SET_FD", Const, 0},
- {"SYS_EXTATTR_SET_FILE", Const, 0},
- {"SYS_EXTATTR_SET_LINK", Const, 0},
- {"SYS_FACCESSAT", Const, 0},
- {"SYS_FADVISE64", Const, 0},
- {"SYS_FADVISE64_64", Const, 0},
- {"SYS_FALLOCATE", Const, 0},
- {"SYS_FANOTIFY_INIT", Const, 0},
- {"SYS_FANOTIFY_MARK", Const, 0},
- {"SYS_FCHDIR", Const, 0},
- {"SYS_FCHFLAGS", Const, 0},
- {"SYS_FCHMOD", Const, 0},
- {"SYS_FCHMODAT", Const, 0},
- {"SYS_FCHMOD_EXTENDED", Const, 0},
- {"SYS_FCHOWN", Const, 0},
- {"SYS_FCHOWN32", Const, 0},
- {"SYS_FCHOWNAT", Const, 0},
- {"SYS_FCHROOT", Const, 1},
- {"SYS_FCNTL", Const, 0},
- {"SYS_FCNTL64", Const, 0},
- {"SYS_FCNTL_NOCANCEL", Const, 0},
- {"SYS_FDATASYNC", Const, 0},
- {"SYS_FEXECVE", Const, 0},
- {"SYS_FFCLOCK_GETCOUNTER", Const, 0},
- {"SYS_FFCLOCK_GETESTIMATE", Const, 0},
- {"SYS_FFCLOCK_SETESTIMATE", Const, 0},
- {"SYS_FFSCTL", Const, 0},
- {"SYS_FGETATTRLIST", Const, 0},
- {"SYS_FGETXATTR", Const, 0},
- {"SYS_FHOPEN", Const, 0},
- {"SYS_FHSTAT", Const, 0},
- {"SYS_FHSTATFS", Const, 0},
- {"SYS_FILEPORT_MAKEFD", Const, 0},
- {"SYS_FILEPORT_MAKEPORT", Const, 0},
- {"SYS_FKTRACE", Const, 1},
- {"SYS_FLISTXATTR", Const, 0},
- {"SYS_FLOCK", Const, 0},
- {"SYS_FORK", Const, 0},
- {"SYS_FPATHCONF", Const, 0},
- {"SYS_FREEBSD6_FTRUNCATE", Const, 0},
- {"SYS_FREEBSD6_LSEEK", Const, 0},
- {"SYS_FREEBSD6_MMAP", Const, 0},
- {"SYS_FREEBSD6_PREAD", Const, 0},
- {"SYS_FREEBSD6_PWRITE", Const, 0},
- {"SYS_FREEBSD6_TRUNCATE", Const, 0},
- {"SYS_FREMOVEXATTR", Const, 0},
- {"SYS_FSCTL", Const, 0},
- {"SYS_FSETATTRLIST", Const, 0},
- {"SYS_FSETXATTR", Const, 0},
- {"SYS_FSGETPATH", Const, 0},
- {"SYS_FSTAT", Const, 0},
- {"SYS_FSTAT64", Const, 0},
- {"SYS_FSTAT64_EXTENDED", Const, 0},
- {"SYS_FSTATAT", Const, 0},
- {"SYS_FSTATAT64", Const, 0},
- {"SYS_FSTATFS", Const, 0},
- {"SYS_FSTATFS64", Const, 0},
- {"SYS_FSTATV", Const, 0},
- {"SYS_FSTATVFS1", Const, 1},
- {"SYS_FSTAT_EXTENDED", Const, 0},
- {"SYS_FSYNC", Const, 0},
- {"SYS_FSYNC_NOCANCEL", Const, 0},
- {"SYS_FSYNC_RANGE", Const, 1},
- {"SYS_FTIME", Const, 0},
- {"SYS_FTRUNCATE", Const, 0},
- {"SYS_FTRUNCATE64", Const, 0},
- {"SYS_FUTEX", Const, 0},
- {"SYS_FUTIMENS", Const, 1},
- {"SYS_FUTIMES", Const, 0},
- {"SYS_FUTIMESAT", Const, 0},
- {"SYS_GETATTRLIST", Const, 0},
- {"SYS_GETAUDIT", Const, 0},
- {"SYS_GETAUDIT_ADDR", Const, 0},
- {"SYS_GETAUID", Const, 0},
- {"SYS_GETCONTEXT", Const, 0},
- {"SYS_GETCPU", Const, 0},
- {"SYS_GETCWD", Const, 0},
- {"SYS_GETDENTS", Const, 0},
- {"SYS_GETDENTS64", Const, 0},
- {"SYS_GETDIRENTRIES", Const, 0},
- {"SYS_GETDIRENTRIES64", Const, 0},
- {"SYS_GETDIRENTRIESATTR", Const, 0},
- {"SYS_GETDTABLECOUNT", Const, 1},
- {"SYS_GETDTABLESIZE", Const, 0},
- {"SYS_GETEGID", Const, 0},
- {"SYS_GETEGID32", Const, 0},
- {"SYS_GETEUID", Const, 0},
- {"SYS_GETEUID32", Const, 0},
- {"SYS_GETFH", Const, 0},
- {"SYS_GETFSSTAT", Const, 0},
- {"SYS_GETFSSTAT64", Const, 0},
- {"SYS_GETGID", Const, 0},
- {"SYS_GETGID32", Const, 0},
- {"SYS_GETGROUPS", Const, 0},
- {"SYS_GETGROUPS32", Const, 0},
- {"SYS_GETHOSTUUID", Const, 0},
- {"SYS_GETITIMER", Const, 0},
- {"SYS_GETLCID", Const, 0},
- {"SYS_GETLOGIN", Const, 0},
- {"SYS_GETLOGINCLASS", Const, 0},
- {"SYS_GETPEERNAME", Const, 0},
- {"SYS_GETPGID", Const, 0},
- {"SYS_GETPGRP", Const, 0},
- {"SYS_GETPID", Const, 0},
- {"SYS_GETPMSG", Const, 0},
- {"SYS_GETPPID", Const, 0},
- {"SYS_GETPRIORITY", Const, 0},
- {"SYS_GETRESGID", Const, 0},
- {"SYS_GETRESGID32", Const, 0},
- {"SYS_GETRESUID", Const, 0},
- {"SYS_GETRESUID32", Const, 0},
- {"SYS_GETRLIMIT", Const, 0},
- {"SYS_GETRTABLE", Const, 1},
- {"SYS_GETRUSAGE", Const, 0},
- {"SYS_GETSGROUPS", Const, 0},
- {"SYS_GETSID", Const, 0},
- {"SYS_GETSOCKNAME", Const, 0},
- {"SYS_GETSOCKOPT", Const, 0},
- {"SYS_GETTHRID", Const, 1},
- {"SYS_GETTID", Const, 0},
- {"SYS_GETTIMEOFDAY", Const, 0},
- {"SYS_GETUID", Const, 0},
- {"SYS_GETUID32", Const, 0},
- {"SYS_GETVFSSTAT", Const, 1},
- {"SYS_GETWGROUPS", Const, 0},
- {"SYS_GETXATTR", Const, 0},
- {"SYS_GET_KERNEL_SYMS", Const, 0},
- {"SYS_GET_MEMPOLICY", Const, 0},
- {"SYS_GET_ROBUST_LIST", Const, 0},
- {"SYS_GET_THREAD_AREA", Const, 0},
- {"SYS_GSSD_SYSCALL", Const, 14},
- {"SYS_GTTY", Const, 0},
- {"SYS_IDENTITYSVC", Const, 0},
- {"SYS_IDLE", Const, 0},
- {"SYS_INITGROUPS", Const, 0},
- {"SYS_INIT_MODULE", Const, 0},
- {"SYS_INOTIFY_ADD_WATCH", Const, 0},
- {"SYS_INOTIFY_INIT", Const, 0},
- {"SYS_INOTIFY_INIT1", Const, 0},
- {"SYS_INOTIFY_RM_WATCH", Const, 0},
- {"SYS_IOCTL", Const, 0},
- {"SYS_IOPERM", Const, 0},
- {"SYS_IOPL", Const, 0},
- {"SYS_IOPOLICYSYS", Const, 0},
- {"SYS_IOPRIO_GET", Const, 0},
- {"SYS_IOPRIO_SET", Const, 0},
- {"SYS_IO_CANCEL", Const, 0},
- {"SYS_IO_DESTROY", Const, 0},
- {"SYS_IO_GETEVENTS", Const, 0},
- {"SYS_IO_SETUP", Const, 0},
- {"SYS_IO_SUBMIT", Const, 0},
- {"SYS_IPC", Const, 0},
- {"SYS_ISSETUGID", Const, 0},
- {"SYS_JAIL", Const, 0},
- {"SYS_JAIL_ATTACH", Const, 0},
- {"SYS_JAIL_GET", Const, 0},
- {"SYS_JAIL_REMOVE", Const, 0},
- {"SYS_JAIL_SET", Const, 0},
- {"SYS_KAS_INFO", Const, 16},
- {"SYS_KDEBUG_TRACE", Const, 0},
- {"SYS_KENV", Const, 0},
- {"SYS_KEVENT", Const, 0},
- {"SYS_KEVENT64", Const, 0},
- {"SYS_KEXEC_LOAD", Const, 0},
- {"SYS_KEYCTL", Const, 0},
- {"SYS_KILL", Const, 0},
- {"SYS_KLDFIND", Const, 0},
- {"SYS_KLDFIRSTMOD", Const, 0},
- {"SYS_KLDLOAD", Const, 0},
- {"SYS_KLDNEXT", Const, 0},
- {"SYS_KLDSTAT", Const, 0},
- {"SYS_KLDSYM", Const, 0},
- {"SYS_KLDUNLOAD", Const, 0},
- {"SYS_KLDUNLOADF", Const, 0},
- {"SYS_KMQ_NOTIFY", Const, 14},
- {"SYS_KMQ_OPEN", Const, 14},
- {"SYS_KMQ_SETATTR", Const, 14},
- {"SYS_KMQ_TIMEDRECEIVE", Const, 14},
- {"SYS_KMQ_TIMEDSEND", Const, 14},
- {"SYS_KMQ_UNLINK", Const, 14},
- {"SYS_KQUEUE", Const, 0},
- {"SYS_KQUEUE1", Const, 1},
- {"SYS_KSEM_CLOSE", Const, 14},
- {"SYS_KSEM_DESTROY", Const, 14},
- {"SYS_KSEM_GETVALUE", Const, 14},
- {"SYS_KSEM_INIT", Const, 14},
- {"SYS_KSEM_OPEN", Const, 14},
- {"SYS_KSEM_POST", Const, 14},
- {"SYS_KSEM_TIMEDWAIT", Const, 14},
- {"SYS_KSEM_TRYWAIT", Const, 14},
- {"SYS_KSEM_UNLINK", Const, 14},
- {"SYS_KSEM_WAIT", Const, 14},
- {"SYS_KTIMER_CREATE", Const, 0},
- {"SYS_KTIMER_DELETE", Const, 0},
- {"SYS_KTIMER_GETOVERRUN", Const, 0},
- {"SYS_KTIMER_GETTIME", Const, 0},
- {"SYS_KTIMER_SETTIME", Const, 0},
- {"SYS_KTRACE", Const, 0},
- {"SYS_LCHFLAGS", Const, 0},
- {"SYS_LCHMOD", Const, 0},
- {"SYS_LCHOWN", Const, 0},
- {"SYS_LCHOWN32", Const, 0},
- {"SYS_LEDGER", Const, 16},
- {"SYS_LGETFH", Const, 0},
- {"SYS_LGETXATTR", Const, 0},
- {"SYS_LINK", Const, 0},
- {"SYS_LINKAT", Const, 0},
- {"SYS_LIO_LISTIO", Const, 0},
- {"SYS_LISTEN", Const, 0},
- {"SYS_LISTXATTR", Const, 0},
- {"SYS_LLISTXATTR", Const, 0},
- {"SYS_LOCK", Const, 0},
- {"SYS_LOOKUP_DCOOKIE", Const, 0},
- {"SYS_LPATHCONF", Const, 0},
- {"SYS_LREMOVEXATTR", Const, 0},
- {"SYS_LSEEK", Const, 0},
- {"SYS_LSETXATTR", Const, 0},
- {"SYS_LSTAT", Const, 0},
- {"SYS_LSTAT64", Const, 0},
- {"SYS_LSTAT64_EXTENDED", Const, 0},
- {"SYS_LSTATV", Const, 0},
- {"SYS_LSTAT_EXTENDED", Const, 0},
- {"SYS_LUTIMES", Const, 0},
- {"SYS_MAC_SYSCALL", Const, 0},
- {"SYS_MADVISE", Const, 0},
- {"SYS_MADVISE1", Const, 0},
- {"SYS_MAXSYSCALL", Const, 0},
- {"SYS_MBIND", Const, 0},
- {"SYS_MIGRATE_PAGES", Const, 0},
- {"SYS_MINCORE", Const, 0},
- {"SYS_MINHERIT", Const, 0},
- {"SYS_MKCOMPLEX", Const, 0},
- {"SYS_MKDIR", Const, 0},
- {"SYS_MKDIRAT", Const, 0},
- {"SYS_MKDIR_EXTENDED", Const, 0},
- {"SYS_MKFIFO", Const, 0},
- {"SYS_MKFIFOAT", Const, 0},
- {"SYS_MKFIFO_EXTENDED", Const, 0},
- {"SYS_MKNOD", Const, 0},
- {"SYS_MKNODAT", Const, 0},
- {"SYS_MLOCK", Const, 0},
- {"SYS_MLOCKALL", Const, 0},
- {"SYS_MMAP", Const, 0},
- {"SYS_MMAP2", Const, 0},
- {"SYS_MODCTL", Const, 1},
- {"SYS_MODFIND", Const, 0},
- {"SYS_MODFNEXT", Const, 0},
- {"SYS_MODIFY_LDT", Const, 0},
- {"SYS_MODNEXT", Const, 0},
- {"SYS_MODSTAT", Const, 0},
- {"SYS_MODWATCH", Const, 0},
- {"SYS_MOUNT", Const, 0},
- {"SYS_MOVE_PAGES", Const, 0},
- {"SYS_MPROTECT", Const, 0},
- {"SYS_MPX", Const, 0},
- {"SYS_MQUERY", Const, 1},
- {"SYS_MQ_GETSETATTR", Const, 0},
- {"SYS_MQ_NOTIFY", Const, 0},
- {"SYS_MQ_OPEN", Const, 0},
- {"SYS_MQ_TIMEDRECEIVE", Const, 0},
- {"SYS_MQ_TIMEDSEND", Const, 0},
- {"SYS_MQ_UNLINK", Const, 0},
- {"SYS_MREMAP", Const, 0},
- {"SYS_MSGCTL", Const, 0},
- {"SYS_MSGGET", Const, 0},
- {"SYS_MSGRCV", Const, 0},
- {"SYS_MSGRCV_NOCANCEL", Const, 0},
- {"SYS_MSGSND", Const, 0},
- {"SYS_MSGSND_NOCANCEL", Const, 0},
- {"SYS_MSGSYS", Const, 0},
- {"SYS_MSYNC", Const, 0},
- {"SYS_MSYNC_NOCANCEL", Const, 0},
- {"SYS_MUNLOCK", Const, 0},
- {"SYS_MUNLOCKALL", Const, 0},
- {"SYS_MUNMAP", Const, 0},
- {"SYS_NAME_TO_HANDLE_AT", Const, 0},
- {"SYS_NANOSLEEP", Const, 0},
- {"SYS_NEWFSTATAT", Const, 0},
- {"SYS_NFSCLNT", Const, 0},
- {"SYS_NFSSERVCTL", Const, 0},
- {"SYS_NFSSVC", Const, 0},
- {"SYS_NFSTAT", Const, 0},
- {"SYS_NICE", Const, 0},
- {"SYS_NLM_SYSCALL", Const, 14},
- {"SYS_NLSTAT", Const, 0},
- {"SYS_NMOUNT", Const, 0},
- {"SYS_NSTAT", Const, 0},
- {"SYS_NTP_ADJTIME", Const, 0},
- {"SYS_NTP_GETTIME", Const, 0},
- {"SYS_NUMA_GETAFFINITY", Const, 14},
- {"SYS_NUMA_SETAFFINITY", Const, 14},
- {"SYS_OABI_SYSCALL_BASE", Const, 0},
- {"SYS_OBREAK", Const, 0},
- {"SYS_OLDFSTAT", Const, 0},
- {"SYS_OLDLSTAT", Const, 0},
- {"SYS_OLDOLDUNAME", Const, 0},
- {"SYS_OLDSTAT", Const, 0},
- {"SYS_OLDUNAME", Const, 0},
- {"SYS_OPEN", Const, 0},
- {"SYS_OPENAT", Const, 0},
- {"SYS_OPENBSD_POLL", Const, 0},
- {"SYS_OPEN_BY_HANDLE_AT", Const, 0},
- {"SYS_OPEN_DPROTECTED_NP", Const, 16},
- {"SYS_OPEN_EXTENDED", Const, 0},
- {"SYS_OPEN_NOCANCEL", Const, 0},
- {"SYS_OVADVISE", Const, 0},
- {"SYS_PACCEPT", Const, 1},
- {"SYS_PATHCONF", Const, 0},
- {"SYS_PAUSE", Const, 0},
- {"SYS_PCICONFIG_IOBASE", Const, 0},
- {"SYS_PCICONFIG_READ", Const, 0},
- {"SYS_PCICONFIG_WRITE", Const, 0},
- {"SYS_PDFORK", Const, 0},
- {"SYS_PDGETPID", Const, 0},
- {"SYS_PDKILL", Const, 0},
- {"SYS_PERF_EVENT_OPEN", Const, 0},
- {"SYS_PERSONALITY", Const, 0},
- {"SYS_PID_HIBERNATE", Const, 0},
- {"SYS_PID_RESUME", Const, 0},
- {"SYS_PID_SHUTDOWN_SOCKETS", Const, 0},
- {"SYS_PID_SUSPEND", Const, 0},
- {"SYS_PIPE", Const, 0},
- {"SYS_PIPE2", Const, 0},
- {"SYS_PIVOT_ROOT", Const, 0},
- {"SYS_PMC_CONTROL", Const, 1},
- {"SYS_PMC_GET_INFO", Const, 1},
- {"SYS_POLL", Const, 0},
- {"SYS_POLLTS", Const, 1},
- {"SYS_POLL_NOCANCEL", Const, 0},
- {"SYS_POSIX_FADVISE", Const, 0},
- {"SYS_POSIX_FALLOCATE", Const, 0},
- {"SYS_POSIX_OPENPT", Const, 0},
- {"SYS_POSIX_SPAWN", Const, 0},
- {"SYS_PPOLL", Const, 0},
- {"SYS_PRCTL", Const, 0},
- {"SYS_PREAD", Const, 0},
- {"SYS_PREAD64", Const, 0},
- {"SYS_PREADV", Const, 0},
- {"SYS_PREAD_NOCANCEL", Const, 0},
- {"SYS_PRLIMIT64", Const, 0},
- {"SYS_PROCCTL", Const, 3},
- {"SYS_PROCESS_POLICY", Const, 0},
- {"SYS_PROCESS_VM_READV", Const, 0},
- {"SYS_PROCESS_VM_WRITEV", Const, 0},
- {"SYS_PROC_INFO", Const, 0},
- {"SYS_PROF", Const, 0},
- {"SYS_PROFIL", Const, 0},
- {"SYS_PSELECT", Const, 0},
- {"SYS_PSELECT6", Const, 0},
- {"SYS_PSET_ASSIGN", Const, 1},
- {"SYS_PSET_CREATE", Const, 1},
- {"SYS_PSET_DESTROY", Const, 1},
- {"SYS_PSYNCH_CVBROAD", Const, 0},
- {"SYS_PSYNCH_CVCLRPREPOST", Const, 0},
- {"SYS_PSYNCH_CVSIGNAL", Const, 0},
- {"SYS_PSYNCH_CVWAIT", Const, 0},
- {"SYS_PSYNCH_MUTEXDROP", Const, 0},
- {"SYS_PSYNCH_MUTEXWAIT", Const, 0},
- {"SYS_PSYNCH_RW_DOWNGRADE", Const, 0},
- {"SYS_PSYNCH_RW_LONGRDLOCK", Const, 0},
- {"SYS_PSYNCH_RW_RDLOCK", Const, 0},
- {"SYS_PSYNCH_RW_UNLOCK", Const, 0},
- {"SYS_PSYNCH_RW_UNLOCK2", Const, 0},
- {"SYS_PSYNCH_RW_UPGRADE", Const, 0},
- {"SYS_PSYNCH_RW_WRLOCK", Const, 0},
- {"SYS_PSYNCH_RW_YIELDWRLOCK", Const, 0},
- {"SYS_PTRACE", Const, 0},
- {"SYS_PUTPMSG", Const, 0},
- {"SYS_PWRITE", Const, 0},
- {"SYS_PWRITE64", Const, 0},
- {"SYS_PWRITEV", Const, 0},
- {"SYS_PWRITE_NOCANCEL", Const, 0},
- {"SYS_QUERY_MODULE", Const, 0},
- {"SYS_QUOTACTL", Const, 0},
- {"SYS_RASCTL", Const, 1},
- {"SYS_RCTL_ADD_RULE", Const, 0},
- {"SYS_RCTL_GET_LIMITS", Const, 0},
- {"SYS_RCTL_GET_RACCT", Const, 0},
- {"SYS_RCTL_GET_RULES", Const, 0},
- {"SYS_RCTL_REMOVE_RULE", Const, 0},
- {"SYS_READ", Const, 0},
- {"SYS_READAHEAD", Const, 0},
- {"SYS_READDIR", Const, 0},
- {"SYS_READLINK", Const, 0},
- {"SYS_READLINKAT", Const, 0},
- {"SYS_READV", Const, 0},
- {"SYS_READV_NOCANCEL", Const, 0},
- {"SYS_READ_NOCANCEL", Const, 0},
- {"SYS_REBOOT", Const, 0},
- {"SYS_RECV", Const, 0},
- {"SYS_RECVFROM", Const, 0},
- {"SYS_RECVFROM_NOCANCEL", Const, 0},
- {"SYS_RECVMMSG", Const, 0},
- {"SYS_RECVMSG", Const, 0},
- {"SYS_RECVMSG_NOCANCEL", Const, 0},
- {"SYS_REMAP_FILE_PAGES", Const, 0},
- {"SYS_REMOVEXATTR", Const, 0},
- {"SYS_RENAME", Const, 0},
- {"SYS_RENAMEAT", Const, 0},
- {"SYS_REQUEST_KEY", Const, 0},
- {"SYS_RESTART_SYSCALL", Const, 0},
- {"SYS_REVOKE", Const, 0},
- {"SYS_RFORK", Const, 0},
- {"SYS_RMDIR", Const, 0},
- {"SYS_RTPRIO", Const, 0},
- {"SYS_RTPRIO_THREAD", Const, 0},
- {"SYS_RT_SIGACTION", Const, 0},
- {"SYS_RT_SIGPENDING", Const, 0},
- {"SYS_RT_SIGPROCMASK", Const, 0},
- {"SYS_RT_SIGQUEUEINFO", Const, 0},
- {"SYS_RT_SIGRETURN", Const, 0},
- {"SYS_RT_SIGSUSPEND", Const, 0},
- {"SYS_RT_SIGTIMEDWAIT", Const, 0},
- {"SYS_RT_TGSIGQUEUEINFO", Const, 0},
- {"SYS_SBRK", Const, 0},
- {"SYS_SCHED_GETAFFINITY", Const, 0},
- {"SYS_SCHED_GETPARAM", Const, 0},
- {"SYS_SCHED_GETSCHEDULER", Const, 0},
- {"SYS_SCHED_GET_PRIORITY_MAX", Const, 0},
- {"SYS_SCHED_GET_PRIORITY_MIN", Const, 0},
- {"SYS_SCHED_RR_GET_INTERVAL", Const, 0},
- {"SYS_SCHED_SETAFFINITY", Const, 0},
- {"SYS_SCHED_SETPARAM", Const, 0},
- {"SYS_SCHED_SETSCHEDULER", Const, 0},
- {"SYS_SCHED_YIELD", Const, 0},
- {"SYS_SCTP_GENERIC_RECVMSG", Const, 0},
- {"SYS_SCTP_GENERIC_SENDMSG", Const, 0},
- {"SYS_SCTP_GENERIC_SENDMSG_IOV", Const, 0},
- {"SYS_SCTP_PEELOFF", Const, 0},
- {"SYS_SEARCHFS", Const, 0},
- {"SYS_SECURITY", Const, 0},
- {"SYS_SELECT", Const, 0},
- {"SYS_SELECT_NOCANCEL", Const, 0},
- {"SYS_SEMCONFIG", Const, 1},
- {"SYS_SEMCTL", Const, 0},
- {"SYS_SEMGET", Const, 0},
- {"SYS_SEMOP", Const, 0},
- {"SYS_SEMSYS", Const, 0},
- {"SYS_SEMTIMEDOP", Const, 0},
- {"SYS_SEM_CLOSE", Const, 0},
- {"SYS_SEM_DESTROY", Const, 0},
- {"SYS_SEM_GETVALUE", Const, 0},
- {"SYS_SEM_INIT", Const, 0},
- {"SYS_SEM_OPEN", Const, 0},
- {"SYS_SEM_POST", Const, 0},
- {"SYS_SEM_TRYWAIT", Const, 0},
- {"SYS_SEM_UNLINK", Const, 0},
- {"SYS_SEM_WAIT", Const, 0},
- {"SYS_SEM_WAIT_NOCANCEL", Const, 0},
- {"SYS_SEND", Const, 0},
- {"SYS_SENDFILE", Const, 0},
- {"SYS_SENDFILE64", Const, 0},
- {"SYS_SENDMMSG", Const, 0},
- {"SYS_SENDMSG", Const, 0},
- {"SYS_SENDMSG_NOCANCEL", Const, 0},
- {"SYS_SENDTO", Const, 0},
- {"SYS_SENDTO_NOCANCEL", Const, 0},
- {"SYS_SETATTRLIST", Const, 0},
- {"SYS_SETAUDIT", Const, 0},
- {"SYS_SETAUDIT_ADDR", Const, 0},
- {"SYS_SETAUID", Const, 0},
- {"SYS_SETCONTEXT", Const, 0},
- {"SYS_SETDOMAINNAME", Const, 0},
- {"SYS_SETEGID", Const, 0},
- {"SYS_SETEUID", Const, 0},
- {"SYS_SETFIB", Const, 0},
- {"SYS_SETFSGID", Const, 0},
- {"SYS_SETFSGID32", Const, 0},
- {"SYS_SETFSUID", Const, 0},
- {"SYS_SETFSUID32", Const, 0},
- {"SYS_SETGID", Const, 0},
- {"SYS_SETGID32", Const, 0},
- {"SYS_SETGROUPS", Const, 0},
- {"SYS_SETGROUPS32", Const, 0},
- {"SYS_SETHOSTNAME", Const, 0},
- {"SYS_SETITIMER", Const, 0},
- {"SYS_SETLCID", Const, 0},
- {"SYS_SETLOGIN", Const, 0},
- {"SYS_SETLOGINCLASS", Const, 0},
- {"SYS_SETNS", Const, 0},
- {"SYS_SETPGID", Const, 0},
- {"SYS_SETPRIORITY", Const, 0},
- {"SYS_SETPRIVEXEC", Const, 0},
- {"SYS_SETREGID", Const, 0},
- {"SYS_SETREGID32", Const, 0},
- {"SYS_SETRESGID", Const, 0},
- {"SYS_SETRESGID32", Const, 0},
- {"SYS_SETRESUID", Const, 0},
- {"SYS_SETRESUID32", Const, 0},
- {"SYS_SETREUID", Const, 0},
- {"SYS_SETREUID32", Const, 0},
- {"SYS_SETRLIMIT", Const, 0},
- {"SYS_SETRTABLE", Const, 1},
- {"SYS_SETSGROUPS", Const, 0},
- {"SYS_SETSID", Const, 0},
- {"SYS_SETSOCKOPT", Const, 0},
- {"SYS_SETTID", Const, 0},
- {"SYS_SETTID_WITH_PID", Const, 0},
- {"SYS_SETTIMEOFDAY", Const, 0},
- {"SYS_SETUID", Const, 0},
- {"SYS_SETUID32", Const, 0},
- {"SYS_SETWGROUPS", Const, 0},
- {"SYS_SETXATTR", Const, 0},
- {"SYS_SET_MEMPOLICY", Const, 0},
- {"SYS_SET_ROBUST_LIST", Const, 0},
- {"SYS_SET_THREAD_AREA", Const, 0},
- {"SYS_SET_TID_ADDRESS", Const, 0},
- {"SYS_SGETMASK", Const, 0},
- {"SYS_SHARED_REGION_CHECK_NP", Const, 0},
- {"SYS_SHARED_REGION_MAP_AND_SLIDE_NP", Const, 0},
- {"SYS_SHMAT", Const, 0},
- {"SYS_SHMCTL", Const, 0},
- {"SYS_SHMDT", Const, 0},
- {"SYS_SHMGET", Const, 0},
- {"SYS_SHMSYS", Const, 0},
- {"SYS_SHM_OPEN", Const, 0},
- {"SYS_SHM_UNLINK", Const, 0},
- {"SYS_SHUTDOWN", Const, 0},
- {"SYS_SIGACTION", Const, 0},
- {"SYS_SIGALTSTACK", Const, 0},
- {"SYS_SIGNAL", Const, 0},
- {"SYS_SIGNALFD", Const, 0},
- {"SYS_SIGNALFD4", Const, 0},
- {"SYS_SIGPENDING", Const, 0},
- {"SYS_SIGPROCMASK", Const, 0},
- {"SYS_SIGQUEUE", Const, 0},
- {"SYS_SIGQUEUEINFO", Const, 1},
- {"SYS_SIGRETURN", Const, 0},
- {"SYS_SIGSUSPEND", Const, 0},
- {"SYS_SIGSUSPEND_NOCANCEL", Const, 0},
- {"SYS_SIGTIMEDWAIT", Const, 0},
- {"SYS_SIGWAIT", Const, 0},
- {"SYS_SIGWAITINFO", Const, 0},
- {"SYS_SOCKET", Const, 0},
- {"SYS_SOCKETCALL", Const, 0},
- {"SYS_SOCKETPAIR", Const, 0},
- {"SYS_SPLICE", Const, 0},
- {"SYS_SSETMASK", Const, 0},
- {"SYS_SSTK", Const, 0},
- {"SYS_STACK_SNAPSHOT", Const, 0},
- {"SYS_STAT", Const, 0},
- {"SYS_STAT64", Const, 0},
- {"SYS_STAT64_EXTENDED", Const, 0},
- {"SYS_STATFS", Const, 0},
- {"SYS_STATFS64", Const, 0},
- {"SYS_STATV", Const, 0},
- {"SYS_STATVFS1", Const, 1},
- {"SYS_STAT_EXTENDED", Const, 0},
- {"SYS_STIME", Const, 0},
- {"SYS_STTY", Const, 0},
- {"SYS_SWAPCONTEXT", Const, 0},
- {"SYS_SWAPCTL", Const, 1},
- {"SYS_SWAPOFF", Const, 0},
- {"SYS_SWAPON", Const, 0},
- {"SYS_SYMLINK", Const, 0},
- {"SYS_SYMLINKAT", Const, 0},
- {"SYS_SYNC", Const, 0},
- {"SYS_SYNCFS", Const, 0},
- {"SYS_SYNC_FILE_RANGE", Const, 0},
- {"SYS_SYSARCH", Const, 0},
- {"SYS_SYSCALL", Const, 0},
- {"SYS_SYSCALL_BASE", Const, 0},
- {"SYS_SYSFS", Const, 0},
- {"SYS_SYSINFO", Const, 0},
- {"SYS_SYSLOG", Const, 0},
- {"SYS_TEE", Const, 0},
- {"SYS_TGKILL", Const, 0},
- {"SYS_THREAD_SELFID", Const, 0},
- {"SYS_THR_CREATE", Const, 0},
- {"SYS_THR_EXIT", Const, 0},
- {"SYS_THR_KILL", Const, 0},
- {"SYS_THR_KILL2", Const, 0},
- {"SYS_THR_NEW", Const, 0},
- {"SYS_THR_SELF", Const, 0},
- {"SYS_THR_SET_NAME", Const, 0},
- {"SYS_THR_SUSPEND", Const, 0},
- {"SYS_THR_WAKE", Const, 0},
- {"SYS_TIME", Const, 0},
- {"SYS_TIMERFD_CREATE", Const, 0},
- {"SYS_TIMERFD_GETTIME", Const, 0},
- {"SYS_TIMERFD_SETTIME", Const, 0},
- {"SYS_TIMER_CREATE", Const, 0},
- {"SYS_TIMER_DELETE", Const, 0},
- {"SYS_TIMER_GETOVERRUN", Const, 0},
- {"SYS_TIMER_GETTIME", Const, 0},
- {"SYS_TIMER_SETTIME", Const, 0},
- {"SYS_TIMES", Const, 0},
- {"SYS_TKILL", Const, 0},
- {"SYS_TRUNCATE", Const, 0},
- {"SYS_TRUNCATE64", Const, 0},
- {"SYS_TUXCALL", Const, 0},
- {"SYS_UGETRLIMIT", Const, 0},
- {"SYS_ULIMIT", Const, 0},
- {"SYS_UMASK", Const, 0},
- {"SYS_UMASK_EXTENDED", Const, 0},
- {"SYS_UMOUNT", Const, 0},
- {"SYS_UMOUNT2", Const, 0},
- {"SYS_UNAME", Const, 0},
- {"SYS_UNDELETE", Const, 0},
- {"SYS_UNLINK", Const, 0},
- {"SYS_UNLINKAT", Const, 0},
- {"SYS_UNMOUNT", Const, 0},
- {"SYS_UNSHARE", Const, 0},
- {"SYS_USELIB", Const, 0},
- {"SYS_USTAT", Const, 0},
- {"SYS_UTIME", Const, 0},
- {"SYS_UTIMENSAT", Const, 0},
- {"SYS_UTIMES", Const, 0},
- {"SYS_UTRACE", Const, 0},
- {"SYS_UUIDGEN", Const, 0},
- {"SYS_VADVISE", Const, 1},
- {"SYS_VFORK", Const, 0},
- {"SYS_VHANGUP", Const, 0},
- {"SYS_VM86", Const, 0},
- {"SYS_VM86OLD", Const, 0},
- {"SYS_VMSPLICE", Const, 0},
- {"SYS_VM_PRESSURE_MONITOR", Const, 0},
- {"SYS_VSERVER", Const, 0},
- {"SYS_WAIT4", Const, 0},
- {"SYS_WAIT4_NOCANCEL", Const, 0},
- {"SYS_WAIT6", Const, 1},
- {"SYS_WAITEVENT", Const, 0},
- {"SYS_WAITID", Const, 0},
- {"SYS_WAITID_NOCANCEL", Const, 0},
- {"SYS_WAITPID", Const, 0},
- {"SYS_WATCHEVENT", Const, 0},
- {"SYS_WORKQ_KERNRETURN", Const, 0},
- {"SYS_WORKQ_OPEN", Const, 0},
- {"SYS_WRITE", Const, 0},
- {"SYS_WRITEV", Const, 0},
- {"SYS_WRITEV_NOCANCEL", Const, 0},
- {"SYS_WRITE_NOCANCEL", Const, 0},
- {"SYS_YIELD", Const, 0},
- {"SYS__LLSEEK", Const, 0},
- {"SYS__LWP_CONTINUE", Const, 1},
- {"SYS__LWP_CREATE", Const, 1},
- {"SYS__LWP_CTL", Const, 1},
- {"SYS__LWP_DETACH", Const, 1},
- {"SYS__LWP_EXIT", Const, 1},
- {"SYS__LWP_GETNAME", Const, 1},
- {"SYS__LWP_GETPRIVATE", Const, 1},
- {"SYS__LWP_KILL", Const, 1},
- {"SYS__LWP_PARK", Const, 1},
- {"SYS__LWP_SELF", Const, 1},
- {"SYS__LWP_SETNAME", Const, 1},
- {"SYS__LWP_SETPRIVATE", Const, 1},
- {"SYS__LWP_SUSPEND", Const, 1},
- {"SYS__LWP_UNPARK", Const, 1},
- {"SYS__LWP_UNPARK_ALL", Const, 1},
- {"SYS__LWP_WAIT", Const, 1},
- {"SYS__LWP_WAKEUP", Const, 1},
- {"SYS__NEWSELECT", Const, 0},
- {"SYS__PSET_BIND", Const, 1},
- {"SYS__SCHED_GETAFFINITY", Const, 1},
- {"SYS__SCHED_GETPARAM", Const, 1},
- {"SYS__SCHED_SETAFFINITY", Const, 1},
- {"SYS__SCHED_SETPARAM", Const, 1},
- {"SYS__SYSCTL", Const, 0},
- {"SYS__UMTX_LOCK", Const, 0},
- {"SYS__UMTX_OP", Const, 0},
- {"SYS__UMTX_UNLOCK", Const, 0},
- {"SYS___ACL_ACLCHECK_FD", Const, 0},
- {"SYS___ACL_ACLCHECK_FILE", Const, 0},
- {"SYS___ACL_ACLCHECK_LINK", Const, 0},
- {"SYS___ACL_DELETE_FD", Const, 0},
- {"SYS___ACL_DELETE_FILE", Const, 0},
- {"SYS___ACL_DELETE_LINK", Const, 0},
- {"SYS___ACL_GET_FD", Const, 0},
- {"SYS___ACL_GET_FILE", Const, 0},
- {"SYS___ACL_GET_LINK", Const, 0},
- {"SYS___ACL_SET_FD", Const, 0},
- {"SYS___ACL_SET_FILE", Const, 0},
- {"SYS___ACL_SET_LINK", Const, 0},
- {"SYS___CAP_RIGHTS_GET", Const, 14},
- {"SYS___CLONE", Const, 1},
- {"SYS___DISABLE_THREADSIGNAL", Const, 0},
- {"SYS___GETCWD", Const, 0},
- {"SYS___GETLOGIN", Const, 1},
- {"SYS___GET_TCB", Const, 1},
- {"SYS___MAC_EXECVE", Const, 0},
- {"SYS___MAC_GETFSSTAT", Const, 0},
- {"SYS___MAC_GET_FD", Const, 0},
- {"SYS___MAC_GET_FILE", Const, 0},
- {"SYS___MAC_GET_LCID", Const, 0},
- {"SYS___MAC_GET_LCTX", Const, 0},
- {"SYS___MAC_GET_LINK", Const, 0},
- {"SYS___MAC_GET_MOUNT", Const, 0},
- {"SYS___MAC_GET_PID", Const, 0},
- {"SYS___MAC_GET_PROC", Const, 0},
- {"SYS___MAC_MOUNT", Const, 0},
- {"SYS___MAC_SET_FD", Const, 0},
- {"SYS___MAC_SET_FILE", Const, 0},
- {"SYS___MAC_SET_LCTX", Const, 0},
- {"SYS___MAC_SET_LINK", Const, 0},
- {"SYS___MAC_SET_PROC", Const, 0},
- {"SYS___MAC_SYSCALL", Const, 0},
- {"SYS___OLD_SEMWAIT_SIGNAL", Const, 0},
- {"SYS___OLD_SEMWAIT_SIGNAL_NOCANCEL", Const, 0},
- {"SYS___POSIX_CHOWN", Const, 1},
- {"SYS___POSIX_FCHOWN", Const, 1},
- {"SYS___POSIX_LCHOWN", Const, 1},
- {"SYS___POSIX_RENAME", Const, 1},
- {"SYS___PTHREAD_CANCELED", Const, 0},
- {"SYS___PTHREAD_CHDIR", Const, 0},
- {"SYS___PTHREAD_FCHDIR", Const, 0},
- {"SYS___PTHREAD_KILL", Const, 0},
- {"SYS___PTHREAD_MARKCANCEL", Const, 0},
- {"SYS___PTHREAD_SIGMASK", Const, 0},
- {"SYS___QUOTACTL", Const, 1},
- {"SYS___SEMCTL", Const, 1},
- {"SYS___SEMWAIT_SIGNAL", Const, 0},
- {"SYS___SEMWAIT_SIGNAL_NOCANCEL", Const, 0},
- {"SYS___SETLOGIN", Const, 1},
- {"SYS___SETUGID", Const, 0},
- {"SYS___SET_TCB", Const, 1},
- {"SYS___SIGACTION_SIGTRAMP", Const, 1},
- {"SYS___SIGTIMEDWAIT", Const, 1},
- {"SYS___SIGWAIT", Const, 0},
- {"SYS___SIGWAIT_NOCANCEL", Const, 0},
- {"SYS___SYSCTL", Const, 0},
- {"SYS___TFORK", Const, 1},
- {"SYS___THREXIT", Const, 1},
- {"SYS___THRSIGDIVERT", Const, 1},
- {"SYS___THRSLEEP", Const, 1},
- {"SYS___THRWAKEUP", Const, 1},
- {"S_ARCH1", Const, 1},
- {"S_ARCH2", Const, 1},
- {"S_BLKSIZE", Const, 0},
- {"S_IEXEC", Const, 0},
- {"S_IFBLK", Const, 0},
- {"S_IFCHR", Const, 0},
- {"S_IFDIR", Const, 0},
- {"S_IFIFO", Const, 0},
- {"S_IFLNK", Const, 0},
- {"S_IFMT", Const, 0},
- {"S_IFREG", Const, 0},
- {"S_IFSOCK", Const, 0},
- {"S_IFWHT", Const, 0},
- {"S_IREAD", Const, 0},
- {"S_IRGRP", Const, 0},
- {"S_IROTH", Const, 0},
- {"S_IRUSR", Const, 0},
- {"S_IRWXG", Const, 0},
- {"S_IRWXO", Const, 0},
- {"S_IRWXU", Const, 0},
- {"S_ISGID", Const, 0},
- {"S_ISTXT", Const, 0},
- {"S_ISUID", Const, 0},
- {"S_ISVTX", Const, 0},
- {"S_IWGRP", Const, 0},
- {"S_IWOTH", Const, 0},
- {"S_IWRITE", Const, 0},
- {"S_IWUSR", Const, 0},
- {"S_IXGRP", Const, 0},
- {"S_IXOTH", Const, 0},
- {"S_IXUSR", Const, 0},
- {"S_LOGIN_SET", Const, 1},
- {"SecurityAttributes", Type, 0},
- {"SecurityAttributes.InheritHandle", Field, 0},
- {"SecurityAttributes.Length", Field, 0},
- {"SecurityAttributes.SecurityDescriptor", Field, 0},
- {"Seek", Func, 0},
- {"Select", Func, 0},
- {"Sendfile", Func, 0},
- {"Sendmsg", Func, 0},
- {"SendmsgN", Func, 3},
- {"Sendto", Func, 0},
- {"Servent", Type, 0},
- {"Servent.Aliases", Field, 0},
- {"Servent.Name", Field, 0},
- {"Servent.Port", Field, 0},
- {"Servent.Proto", Field, 0},
- {"SetBpf", Func, 0},
- {"SetBpfBuflen", Func, 0},
- {"SetBpfDatalink", Func, 0},
- {"SetBpfHeadercmpl", Func, 0},
- {"SetBpfImmediate", Func, 0},
- {"SetBpfInterface", Func, 0},
- {"SetBpfPromisc", Func, 0},
- {"SetBpfTimeout", Func, 0},
- {"SetCurrentDirectory", Func, 0},
- {"SetEndOfFile", Func, 0},
- {"SetEnvironmentVariable", Func, 0},
- {"SetFileAttributes", Func, 0},
- {"SetFileCompletionNotificationModes", Func, 2},
- {"SetFilePointer", Func, 0},
- {"SetFileTime", Func, 0},
- {"SetHandleInformation", Func, 0},
- {"SetKevent", Func, 0},
- {"SetLsfPromisc", Func, 0},
- {"SetNonblock", Func, 0},
- {"Setdomainname", Func, 0},
- {"Setegid", Func, 0},
- {"Setenv", Func, 0},
- {"Seteuid", Func, 0},
- {"Setfsgid", Func, 0},
- {"Setfsuid", Func, 0},
- {"Setgid", Func, 0},
- {"Setgroups", Func, 0},
- {"Sethostname", Func, 0},
- {"Setlogin", Func, 0},
- {"Setpgid", Func, 0},
- {"Setpriority", Func, 0},
- {"Setprivexec", Func, 0},
- {"Setregid", Func, 0},
- {"Setresgid", Func, 0},
- {"Setresuid", Func, 0},
- {"Setreuid", Func, 0},
- {"Setrlimit", Func, 0},
- {"Setsid", Func, 0},
- {"Setsockopt", Func, 0},
- {"SetsockoptByte", Func, 0},
- {"SetsockoptICMPv6Filter", Func, 2},
- {"SetsockoptIPMreq", Func, 0},
- {"SetsockoptIPMreqn", Func, 0},
- {"SetsockoptIPv6Mreq", Func, 0},
- {"SetsockoptInet4Addr", Func, 0},
- {"SetsockoptInt", Func, 0},
- {"SetsockoptLinger", Func, 0},
- {"SetsockoptString", Func, 0},
- {"SetsockoptTimeval", Func, 0},
- {"Settimeofday", Func, 0},
- {"Setuid", Func, 0},
- {"Setxattr", Func, 1},
- {"Shutdown", Func, 0},
- {"SidTypeAlias", Const, 0},
- {"SidTypeComputer", Const, 0},
- {"SidTypeDeletedAccount", Const, 0},
- {"SidTypeDomain", Const, 0},
- {"SidTypeGroup", Const, 0},
- {"SidTypeInvalid", Const, 0},
- {"SidTypeLabel", Const, 0},
- {"SidTypeUnknown", Const, 0},
- {"SidTypeUser", Const, 0},
- {"SidTypeWellKnownGroup", Const, 0},
- {"Signal", Type, 0},
- {"SizeofBpfHdr", Const, 0},
- {"SizeofBpfInsn", Const, 0},
- {"SizeofBpfProgram", Const, 0},
- {"SizeofBpfStat", Const, 0},
- {"SizeofBpfVersion", Const, 0},
- {"SizeofBpfZbuf", Const, 0},
- {"SizeofBpfZbufHeader", Const, 0},
- {"SizeofCmsghdr", Const, 0},
- {"SizeofICMPv6Filter", Const, 2},
- {"SizeofIPMreq", Const, 0},
- {"SizeofIPMreqn", Const, 0},
- {"SizeofIPv6MTUInfo", Const, 2},
- {"SizeofIPv6Mreq", Const, 0},
- {"SizeofIfAddrmsg", Const, 0},
- {"SizeofIfAnnounceMsghdr", Const, 1},
- {"SizeofIfData", Const, 0},
- {"SizeofIfInfomsg", Const, 0},
- {"SizeofIfMsghdr", Const, 0},
- {"SizeofIfaMsghdr", Const, 0},
- {"SizeofIfmaMsghdr", Const, 0},
- {"SizeofIfmaMsghdr2", Const, 0},
- {"SizeofInet4Pktinfo", Const, 0},
- {"SizeofInet6Pktinfo", Const, 0},
- {"SizeofInotifyEvent", Const, 0},
- {"SizeofLinger", Const, 0},
- {"SizeofMsghdr", Const, 0},
- {"SizeofNlAttr", Const, 0},
- {"SizeofNlMsgerr", Const, 0},
- {"SizeofNlMsghdr", Const, 0},
- {"SizeofRtAttr", Const, 0},
- {"SizeofRtGenmsg", Const, 0},
- {"SizeofRtMetrics", Const, 0},
- {"SizeofRtMsg", Const, 0},
- {"SizeofRtMsghdr", Const, 0},
- {"SizeofRtNexthop", Const, 0},
- {"SizeofSockFilter", Const, 0},
- {"SizeofSockFprog", Const, 0},
- {"SizeofSockaddrAny", Const, 0},
- {"SizeofSockaddrDatalink", Const, 0},
- {"SizeofSockaddrInet4", Const, 0},
- {"SizeofSockaddrInet6", Const, 0},
- {"SizeofSockaddrLinklayer", Const, 0},
- {"SizeofSockaddrNetlink", Const, 0},
- {"SizeofSockaddrUnix", Const, 0},
- {"SizeofTCPInfo", Const, 1},
- {"SizeofUcred", Const, 0},
- {"SlicePtrFromStrings", Func, 1},
- {"SockFilter", Type, 0},
- {"SockFilter.Code", Field, 0},
- {"SockFilter.Jf", Field, 0},
- {"SockFilter.Jt", Field, 0},
- {"SockFilter.K", Field, 0},
- {"SockFprog", Type, 0},
- {"SockFprog.Filter", Field, 0},
- {"SockFprog.Len", Field, 0},
- {"SockFprog.Pad_cgo_0", Field, 0},
- {"Sockaddr", Type, 0},
- {"SockaddrDatalink", Type, 0},
- {"SockaddrDatalink.Alen", Field, 0},
- {"SockaddrDatalink.Data", Field, 0},
- {"SockaddrDatalink.Family", Field, 0},
- {"SockaddrDatalink.Index", Field, 0},
- {"SockaddrDatalink.Len", Field, 0},
- {"SockaddrDatalink.Nlen", Field, 0},
- {"SockaddrDatalink.Slen", Field, 0},
- {"SockaddrDatalink.Type", Field, 0},
- {"SockaddrGen", Type, 0},
- {"SockaddrInet4", Type, 0},
- {"SockaddrInet4.Addr", Field, 0},
- {"SockaddrInet4.Port", Field, 0},
- {"SockaddrInet6", Type, 0},
- {"SockaddrInet6.Addr", Field, 0},
- {"SockaddrInet6.Port", Field, 0},
- {"SockaddrInet6.ZoneId", Field, 0},
- {"SockaddrLinklayer", Type, 0},
- {"SockaddrLinklayer.Addr", Field, 0},
- {"SockaddrLinklayer.Halen", Field, 0},
- {"SockaddrLinklayer.Hatype", Field, 0},
- {"SockaddrLinklayer.Ifindex", Field, 0},
- {"SockaddrLinklayer.Pkttype", Field, 0},
- {"SockaddrLinklayer.Protocol", Field, 0},
- {"SockaddrNetlink", Type, 0},
- {"SockaddrNetlink.Family", Field, 0},
- {"SockaddrNetlink.Groups", Field, 0},
- {"SockaddrNetlink.Pad", Field, 0},
- {"SockaddrNetlink.Pid", Field, 0},
- {"SockaddrUnix", Type, 0},
- {"SockaddrUnix.Name", Field, 0},
- {"Socket", Func, 0},
- {"SocketControlMessage", Type, 0},
- {"SocketControlMessage.Data", Field, 0},
- {"SocketControlMessage.Header", Field, 0},
- {"SocketDisableIPv6", Var, 0},
- {"Socketpair", Func, 0},
- {"Splice", Func, 0},
- {"StartProcess", Func, 0},
- {"StartupInfo", Type, 0},
- {"StartupInfo.Cb", Field, 0},
- {"StartupInfo.Desktop", Field, 0},
- {"StartupInfo.FillAttribute", Field, 0},
- {"StartupInfo.Flags", Field, 0},
- {"StartupInfo.ShowWindow", Field, 0},
- {"StartupInfo.StdErr", Field, 0},
- {"StartupInfo.StdInput", Field, 0},
- {"StartupInfo.StdOutput", Field, 0},
- {"StartupInfo.Title", Field, 0},
- {"StartupInfo.X", Field, 0},
- {"StartupInfo.XCountChars", Field, 0},
- {"StartupInfo.XSize", Field, 0},
- {"StartupInfo.Y", Field, 0},
- {"StartupInfo.YCountChars", Field, 0},
- {"StartupInfo.YSize", Field, 0},
- {"Stat", Func, 0},
- {"Stat_t", Type, 0},
- {"Stat_t.Atim", Field, 0},
- {"Stat_t.Atim_ext", Field, 12},
- {"Stat_t.Atimespec", Field, 0},
- {"Stat_t.Birthtimespec", Field, 0},
- {"Stat_t.Blksize", Field, 0},
- {"Stat_t.Blocks", Field, 0},
- {"Stat_t.Btim_ext", Field, 12},
- {"Stat_t.Ctim", Field, 0},
- {"Stat_t.Ctim_ext", Field, 12},
- {"Stat_t.Ctimespec", Field, 0},
- {"Stat_t.Dev", Field, 0},
- {"Stat_t.Flags", Field, 0},
- {"Stat_t.Gen", Field, 0},
- {"Stat_t.Gid", Field, 0},
- {"Stat_t.Ino", Field, 0},
- {"Stat_t.Lspare", Field, 0},
- {"Stat_t.Lspare0", Field, 2},
- {"Stat_t.Lspare1", Field, 2},
- {"Stat_t.Mode", Field, 0},
- {"Stat_t.Mtim", Field, 0},
- {"Stat_t.Mtim_ext", Field, 12},
- {"Stat_t.Mtimespec", Field, 0},
- {"Stat_t.Nlink", Field, 0},
- {"Stat_t.Pad_cgo_0", Field, 0},
- {"Stat_t.Pad_cgo_1", Field, 0},
- {"Stat_t.Pad_cgo_2", Field, 0},
- {"Stat_t.Padding0", Field, 12},
- {"Stat_t.Padding1", Field, 12},
- {"Stat_t.Qspare", Field, 0},
- {"Stat_t.Rdev", Field, 0},
- {"Stat_t.Size", Field, 0},
- {"Stat_t.Spare", Field, 2},
- {"Stat_t.Uid", Field, 0},
- {"Stat_t.X__pad0", Field, 0},
- {"Stat_t.X__pad1", Field, 0},
- {"Stat_t.X__pad2", Field, 0},
- {"Stat_t.X__st_birthtim", Field, 2},
- {"Stat_t.X__st_ino", Field, 0},
- {"Stat_t.X__unused", Field, 0},
- {"Statfs", Func, 0},
- {"Statfs_t", Type, 0},
- {"Statfs_t.Asyncreads", Field, 0},
- {"Statfs_t.Asyncwrites", Field, 0},
- {"Statfs_t.Bavail", Field, 0},
- {"Statfs_t.Bfree", Field, 0},
- {"Statfs_t.Blocks", Field, 0},
- {"Statfs_t.Bsize", Field, 0},
- {"Statfs_t.Charspare", Field, 0},
- {"Statfs_t.F_asyncreads", Field, 2},
- {"Statfs_t.F_asyncwrites", Field, 2},
- {"Statfs_t.F_bavail", Field, 2},
- {"Statfs_t.F_bfree", Field, 2},
- {"Statfs_t.F_blocks", Field, 2},
- {"Statfs_t.F_bsize", Field, 2},
- {"Statfs_t.F_ctime", Field, 2},
- {"Statfs_t.F_favail", Field, 2},
- {"Statfs_t.F_ffree", Field, 2},
- {"Statfs_t.F_files", Field, 2},
- {"Statfs_t.F_flags", Field, 2},
- {"Statfs_t.F_fsid", Field, 2},
- {"Statfs_t.F_fstypename", Field, 2},
- {"Statfs_t.F_iosize", Field, 2},
- {"Statfs_t.F_mntfromname", Field, 2},
- {"Statfs_t.F_mntfromspec", Field, 3},
- {"Statfs_t.F_mntonname", Field, 2},
- {"Statfs_t.F_namemax", Field, 2},
- {"Statfs_t.F_owner", Field, 2},
- {"Statfs_t.F_spare", Field, 2},
- {"Statfs_t.F_syncreads", Field, 2},
- {"Statfs_t.F_syncwrites", Field, 2},
- {"Statfs_t.Ffree", Field, 0},
- {"Statfs_t.Files", Field, 0},
- {"Statfs_t.Flags", Field, 0},
- {"Statfs_t.Frsize", Field, 0},
- {"Statfs_t.Fsid", Field, 0},
- {"Statfs_t.Fssubtype", Field, 0},
- {"Statfs_t.Fstypename", Field, 0},
- {"Statfs_t.Iosize", Field, 0},
- {"Statfs_t.Mntfromname", Field, 0},
- {"Statfs_t.Mntonname", Field, 0},
- {"Statfs_t.Mount_info", Field, 2},
- {"Statfs_t.Namelen", Field, 0},
- {"Statfs_t.Namemax", Field, 0},
- {"Statfs_t.Owner", Field, 0},
- {"Statfs_t.Pad_cgo_0", Field, 0},
- {"Statfs_t.Pad_cgo_1", Field, 2},
- {"Statfs_t.Reserved", Field, 0},
- {"Statfs_t.Spare", Field, 0},
- {"Statfs_t.Syncreads", Field, 0},
- {"Statfs_t.Syncwrites", Field, 0},
- {"Statfs_t.Type", Field, 0},
- {"Statfs_t.Version", Field, 0},
- {"Stderr", Var, 0},
- {"Stdin", Var, 0},
- {"Stdout", Var, 0},
- {"StringBytePtr", Func, 0},
- {"StringByteSlice", Func, 0},
- {"StringSlicePtr", Func, 0},
- {"StringToSid", Func, 0},
- {"StringToUTF16", Func, 0},
- {"StringToUTF16Ptr", Func, 0},
- {"Symlink", Func, 0},
- {"Sync", Func, 0},
- {"SyncFileRange", Func, 0},
- {"SysProcAttr", Type, 0},
- {"SysProcAttr.AdditionalInheritedHandles", Field, 17},
- {"SysProcAttr.AmbientCaps", Field, 9},
- {"SysProcAttr.CgroupFD", Field, 20},
- {"SysProcAttr.Chroot", Field, 0},
- {"SysProcAttr.Cloneflags", Field, 2},
- {"SysProcAttr.CmdLine", Field, 0},
- {"SysProcAttr.CreationFlags", Field, 1},
- {"SysProcAttr.Credential", Field, 0},
- {"SysProcAttr.Ctty", Field, 1},
- {"SysProcAttr.Foreground", Field, 5},
- {"SysProcAttr.GidMappings", Field, 4},
- {"SysProcAttr.GidMappingsEnableSetgroups", Field, 5},
- {"SysProcAttr.HideWindow", Field, 0},
- {"SysProcAttr.Jail", Field, 21},
- {"SysProcAttr.NoInheritHandles", Field, 16},
- {"SysProcAttr.Noctty", Field, 0},
- {"SysProcAttr.ParentProcess", Field, 17},
- {"SysProcAttr.Pdeathsig", Field, 0},
- {"SysProcAttr.Pgid", Field, 5},
- {"SysProcAttr.PidFD", Field, 22},
- {"SysProcAttr.ProcessAttributes", Field, 13},
- {"SysProcAttr.Ptrace", Field, 0},
- {"SysProcAttr.Setctty", Field, 0},
- {"SysProcAttr.Setpgid", Field, 0},
- {"SysProcAttr.Setsid", Field, 0},
- {"SysProcAttr.ThreadAttributes", Field, 13},
- {"SysProcAttr.Token", Field, 10},
- {"SysProcAttr.UidMappings", Field, 4},
- {"SysProcAttr.Unshareflags", Field, 7},
- {"SysProcAttr.UseCgroupFD", Field, 20},
- {"SysProcIDMap", Type, 4},
- {"SysProcIDMap.ContainerID", Field, 4},
- {"SysProcIDMap.HostID", Field, 4},
- {"SysProcIDMap.Size", Field, 4},
- {"Syscall", Func, 0},
- {"Syscall12", Func, 0},
- {"Syscall15", Func, 0},
- {"Syscall18", Func, 12},
- {"Syscall6", Func, 0},
- {"Syscall9", Func, 0},
- {"SyscallN", Func, 18},
- {"Sysctl", Func, 0},
- {"SysctlUint32", Func, 0},
- {"Sysctlnode", Type, 2},
- {"Sysctlnode.Flags", Field, 2},
- {"Sysctlnode.Name", Field, 2},
- {"Sysctlnode.Num", Field, 2},
- {"Sysctlnode.Un", Field, 2},
- {"Sysctlnode.Ver", Field, 2},
- {"Sysctlnode.X__rsvd", Field, 2},
- {"Sysctlnode.X_sysctl_desc", Field, 2},
- {"Sysctlnode.X_sysctl_func", Field, 2},
- {"Sysctlnode.X_sysctl_parent", Field, 2},
- {"Sysctlnode.X_sysctl_size", Field, 2},
- {"Sysinfo", Func, 0},
- {"Sysinfo_t", Type, 0},
- {"Sysinfo_t.Bufferram", Field, 0},
- {"Sysinfo_t.Freehigh", Field, 0},
- {"Sysinfo_t.Freeram", Field, 0},
- {"Sysinfo_t.Freeswap", Field, 0},
- {"Sysinfo_t.Loads", Field, 0},
- {"Sysinfo_t.Pad", Field, 0},
- {"Sysinfo_t.Pad_cgo_0", Field, 0},
- {"Sysinfo_t.Pad_cgo_1", Field, 0},
- {"Sysinfo_t.Procs", Field, 0},
- {"Sysinfo_t.Sharedram", Field, 0},
- {"Sysinfo_t.Totalhigh", Field, 0},
- {"Sysinfo_t.Totalram", Field, 0},
- {"Sysinfo_t.Totalswap", Field, 0},
- {"Sysinfo_t.Unit", Field, 0},
- {"Sysinfo_t.Uptime", Field, 0},
- {"Sysinfo_t.X_f", Field, 0},
- {"Systemtime", Type, 0},
- {"Systemtime.Day", Field, 0},
- {"Systemtime.DayOfWeek", Field, 0},
- {"Systemtime.Hour", Field, 0},
- {"Systemtime.Milliseconds", Field, 0},
- {"Systemtime.Minute", Field, 0},
- {"Systemtime.Month", Field, 0},
- {"Systemtime.Second", Field, 0},
- {"Systemtime.Year", Field, 0},
- {"TCGETS", Const, 0},
- {"TCIFLUSH", Const, 1},
- {"TCIOFLUSH", Const, 1},
- {"TCOFLUSH", Const, 1},
- {"TCPInfo", Type, 1},
- {"TCPInfo.Advmss", Field, 1},
- {"TCPInfo.Ato", Field, 1},
- {"TCPInfo.Backoff", Field, 1},
- {"TCPInfo.Ca_state", Field, 1},
- {"TCPInfo.Fackets", Field, 1},
- {"TCPInfo.Last_ack_recv", Field, 1},
- {"TCPInfo.Last_ack_sent", Field, 1},
- {"TCPInfo.Last_data_recv", Field, 1},
- {"TCPInfo.Last_data_sent", Field, 1},
- {"TCPInfo.Lost", Field, 1},
- {"TCPInfo.Options", Field, 1},
- {"TCPInfo.Pad_cgo_0", Field, 1},
- {"TCPInfo.Pmtu", Field, 1},
- {"TCPInfo.Probes", Field, 1},
- {"TCPInfo.Rcv_mss", Field, 1},
- {"TCPInfo.Rcv_rtt", Field, 1},
- {"TCPInfo.Rcv_space", Field, 1},
- {"TCPInfo.Rcv_ssthresh", Field, 1},
- {"TCPInfo.Reordering", Field, 1},
- {"TCPInfo.Retrans", Field, 1},
- {"TCPInfo.Retransmits", Field, 1},
- {"TCPInfo.Rto", Field, 1},
- {"TCPInfo.Rtt", Field, 1},
- {"TCPInfo.Rttvar", Field, 1},
- {"TCPInfo.Sacked", Field, 1},
- {"TCPInfo.Snd_cwnd", Field, 1},
- {"TCPInfo.Snd_mss", Field, 1},
- {"TCPInfo.Snd_ssthresh", Field, 1},
- {"TCPInfo.State", Field, 1},
- {"TCPInfo.Total_retrans", Field, 1},
- {"TCPInfo.Unacked", Field, 1},
- {"TCPKeepalive", Type, 3},
- {"TCPKeepalive.Interval", Field, 3},
- {"TCPKeepalive.OnOff", Field, 3},
- {"TCPKeepalive.Time", Field, 3},
- {"TCP_CA_NAME_MAX", Const, 0},
- {"TCP_CONGCTL", Const, 1},
- {"TCP_CONGESTION", Const, 0},
- {"TCP_CONNECTIONTIMEOUT", Const, 0},
- {"TCP_CORK", Const, 0},
- {"TCP_DEFER_ACCEPT", Const, 0},
- {"TCP_ENABLE_ECN", Const, 16},
- {"TCP_INFO", Const, 0},
- {"TCP_KEEPALIVE", Const, 0},
- {"TCP_KEEPCNT", Const, 0},
- {"TCP_KEEPIDLE", Const, 0},
- {"TCP_KEEPINIT", Const, 1},
- {"TCP_KEEPINTVL", Const, 0},
- {"TCP_LINGER2", Const, 0},
- {"TCP_MAXBURST", Const, 0},
- {"TCP_MAXHLEN", Const, 0},
- {"TCP_MAXOLEN", Const, 0},
- {"TCP_MAXSEG", Const, 0},
- {"TCP_MAXWIN", Const, 0},
- {"TCP_MAX_SACK", Const, 0},
- {"TCP_MAX_WINSHIFT", Const, 0},
- {"TCP_MD5SIG", Const, 0},
- {"TCP_MD5SIG_MAXKEYLEN", Const, 0},
- {"TCP_MINMSS", Const, 0},
- {"TCP_MINMSSOVERLOAD", Const, 0},
- {"TCP_MSS", Const, 0},
- {"TCP_NODELAY", Const, 0},
- {"TCP_NOOPT", Const, 0},
- {"TCP_NOPUSH", Const, 0},
- {"TCP_NOTSENT_LOWAT", Const, 16},
- {"TCP_NSTATES", Const, 1},
- {"TCP_QUICKACK", Const, 0},
- {"TCP_RXT_CONNDROPTIME", Const, 0},
- {"TCP_RXT_FINDROP", Const, 0},
- {"TCP_SACK_ENABLE", Const, 1},
- {"TCP_SENDMOREACKS", Const, 16},
- {"TCP_SYNCNT", Const, 0},
- {"TCP_VENDOR", Const, 3},
- {"TCP_WINDOW_CLAMP", Const, 0},
- {"TCSAFLUSH", Const, 1},
- {"TCSETS", Const, 0},
- {"TF_DISCONNECT", Const, 0},
- {"TF_REUSE_SOCKET", Const, 0},
- {"TF_USE_DEFAULT_WORKER", Const, 0},
- {"TF_USE_KERNEL_APC", Const, 0},
- {"TF_USE_SYSTEM_THREAD", Const, 0},
- {"TF_WRITE_BEHIND", Const, 0},
- {"TH32CS_INHERIT", Const, 4},
- {"TH32CS_SNAPALL", Const, 4},
- {"TH32CS_SNAPHEAPLIST", Const, 4},
- {"TH32CS_SNAPMODULE", Const, 4},
- {"TH32CS_SNAPMODULE32", Const, 4},
- {"TH32CS_SNAPPROCESS", Const, 4},
- {"TH32CS_SNAPTHREAD", Const, 4},
- {"TIME_ZONE_ID_DAYLIGHT", Const, 0},
- {"TIME_ZONE_ID_STANDARD", Const, 0},
- {"TIME_ZONE_ID_UNKNOWN", Const, 0},
- {"TIOCCBRK", Const, 0},
- {"TIOCCDTR", Const, 0},
- {"TIOCCONS", Const, 0},
- {"TIOCDCDTIMESTAMP", Const, 0},
- {"TIOCDRAIN", Const, 0},
- {"TIOCDSIMICROCODE", Const, 0},
- {"TIOCEXCL", Const, 0},
- {"TIOCEXT", Const, 0},
- {"TIOCFLAG_CDTRCTS", Const, 1},
- {"TIOCFLAG_CLOCAL", Const, 1},
- {"TIOCFLAG_CRTSCTS", Const, 1},
- {"TIOCFLAG_MDMBUF", Const, 1},
- {"TIOCFLAG_PPS", Const, 1},
- {"TIOCFLAG_SOFTCAR", Const, 1},
- {"TIOCFLUSH", Const, 0},
- {"TIOCGDEV", Const, 0},
- {"TIOCGDRAINWAIT", Const, 0},
- {"TIOCGETA", Const, 0},
- {"TIOCGETD", Const, 0},
- {"TIOCGFLAGS", Const, 1},
- {"TIOCGICOUNT", Const, 0},
- {"TIOCGLCKTRMIOS", Const, 0},
- {"TIOCGLINED", Const, 1},
- {"TIOCGPGRP", Const, 0},
- {"TIOCGPTN", Const, 0},
- {"TIOCGQSIZE", Const, 1},
- {"TIOCGRANTPT", Const, 1},
- {"TIOCGRS485", Const, 0},
- {"TIOCGSERIAL", Const, 0},
- {"TIOCGSID", Const, 0},
- {"TIOCGSIZE", Const, 1},
- {"TIOCGSOFTCAR", Const, 0},
- {"TIOCGTSTAMP", Const, 1},
- {"TIOCGWINSZ", Const, 0},
- {"TIOCINQ", Const, 0},
- {"TIOCIXOFF", Const, 0},
- {"TIOCIXON", Const, 0},
- {"TIOCLINUX", Const, 0},
- {"TIOCMBIC", Const, 0},
- {"TIOCMBIS", Const, 0},
- {"TIOCMGDTRWAIT", Const, 0},
- {"TIOCMGET", Const, 0},
- {"TIOCMIWAIT", Const, 0},
- {"TIOCMODG", Const, 0},
- {"TIOCMODS", Const, 0},
- {"TIOCMSDTRWAIT", Const, 0},
- {"TIOCMSET", Const, 0},
- {"TIOCM_CAR", Const, 0},
- {"TIOCM_CD", Const, 0},
- {"TIOCM_CTS", Const, 0},
- {"TIOCM_DCD", Const, 0},
- {"TIOCM_DSR", Const, 0},
- {"TIOCM_DTR", Const, 0},
- {"TIOCM_LE", Const, 0},
- {"TIOCM_RI", Const, 0},
- {"TIOCM_RNG", Const, 0},
- {"TIOCM_RTS", Const, 0},
- {"TIOCM_SR", Const, 0},
- {"TIOCM_ST", Const, 0},
- {"TIOCNOTTY", Const, 0},
- {"TIOCNXCL", Const, 0},
- {"TIOCOUTQ", Const, 0},
- {"TIOCPKT", Const, 0},
- {"TIOCPKT_DATA", Const, 0},
- {"TIOCPKT_DOSTOP", Const, 0},
- {"TIOCPKT_FLUSHREAD", Const, 0},
- {"TIOCPKT_FLUSHWRITE", Const, 0},
- {"TIOCPKT_IOCTL", Const, 0},
- {"TIOCPKT_NOSTOP", Const, 0},
- {"TIOCPKT_START", Const, 0},
- {"TIOCPKT_STOP", Const, 0},
- {"TIOCPTMASTER", Const, 0},
- {"TIOCPTMGET", Const, 1},
- {"TIOCPTSNAME", Const, 1},
- {"TIOCPTYGNAME", Const, 0},
- {"TIOCPTYGRANT", Const, 0},
- {"TIOCPTYUNLK", Const, 0},
- {"TIOCRCVFRAME", Const, 1},
- {"TIOCREMOTE", Const, 0},
- {"TIOCSBRK", Const, 0},
- {"TIOCSCONS", Const, 0},
- {"TIOCSCTTY", Const, 0},
- {"TIOCSDRAINWAIT", Const, 0},
- {"TIOCSDTR", Const, 0},
- {"TIOCSERCONFIG", Const, 0},
- {"TIOCSERGETLSR", Const, 0},
- {"TIOCSERGETMULTI", Const, 0},
- {"TIOCSERGSTRUCT", Const, 0},
- {"TIOCSERGWILD", Const, 0},
- {"TIOCSERSETMULTI", Const, 0},
- {"TIOCSERSWILD", Const, 0},
- {"TIOCSER_TEMT", Const, 0},
- {"TIOCSETA", Const, 0},
- {"TIOCSETAF", Const, 0},
- {"TIOCSETAW", Const, 0},
- {"TIOCSETD", Const, 0},
- {"TIOCSFLAGS", Const, 1},
- {"TIOCSIG", Const, 0},
- {"TIOCSLCKTRMIOS", Const, 0},
- {"TIOCSLINED", Const, 1},
- {"TIOCSPGRP", Const, 0},
- {"TIOCSPTLCK", Const, 0},
- {"TIOCSQSIZE", Const, 1},
- {"TIOCSRS485", Const, 0},
- {"TIOCSSERIAL", Const, 0},
- {"TIOCSSIZE", Const, 1},
- {"TIOCSSOFTCAR", Const, 0},
- {"TIOCSTART", Const, 0},
- {"TIOCSTAT", Const, 0},
- {"TIOCSTI", Const, 0},
- {"TIOCSTOP", Const, 0},
- {"TIOCSTSTAMP", Const, 1},
- {"TIOCSWINSZ", Const, 0},
- {"TIOCTIMESTAMP", Const, 0},
- {"TIOCUCNTL", Const, 0},
- {"TIOCVHANGUP", Const, 0},
- {"TIOCXMTFRAME", Const, 1},
- {"TOKEN_ADJUST_DEFAULT", Const, 0},
- {"TOKEN_ADJUST_GROUPS", Const, 0},
- {"TOKEN_ADJUST_PRIVILEGES", Const, 0},
- {"TOKEN_ADJUST_SESSIONID", Const, 11},
- {"TOKEN_ALL_ACCESS", Const, 0},
- {"TOKEN_ASSIGN_PRIMARY", Const, 0},
- {"TOKEN_DUPLICATE", Const, 0},
- {"TOKEN_EXECUTE", Const, 0},
- {"TOKEN_IMPERSONATE", Const, 0},
- {"TOKEN_QUERY", Const, 0},
- {"TOKEN_QUERY_SOURCE", Const, 0},
- {"TOKEN_READ", Const, 0},
- {"TOKEN_WRITE", Const, 0},
- {"TOSTOP", Const, 0},
- {"TRUNCATE_EXISTING", Const, 0},
- {"TUNATTACHFILTER", Const, 0},
- {"TUNDETACHFILTER", Const, 0},
- {"TUNGETFEATURES", Const, 0},
- {"TUNGETIFF", Const, 0},
- {"TUNGETSNDBUF", Const, 0},
- {"TUNGETVNETHDRSZ", Const, 0},
- {"TUNSETDEBUG", Const, 0},
- {"TUNSETGROUP", Const, 0},
- {"TUNSETIFF", Const, 0},
- {"TUNSETLINK", Const, 0},
- {"TUNSETNOCSUM", Const, 0},
- {"TUNSETOFFLOAD", Const, 0},
- {"TUNSETOWNER", Const, 0},
- {"TUNSETPERSIST", Const, 0},
- {"TUNSETSNDBUF", Const, 0},
- {"TUNSETTXFILTER", Const, 0},
- {"TUNSETVNETHDRSZ", Const, 0},
- {"Tee", Func, 0},
- {"TerminateProcess", Func, 0},
- {"Termios", Type, 0},
- {"Termios.Cc", Field, 0},
- {"Termios.Cflag", Field, 0},
- {"Termios.Iflag", Field, 0},
- {"Termios.Ispeed", Field, 0},
- {"Termios.Lflag", Field, 0},
- {"Termios.Line", Field, 0},
- {"Termios.Oflag", Field, 0},
- {"Termios.Ospeed", Field, 0},
- {"Termios.Pad_cgo_0", Field, 0},
- {"Tgkill", Func, 0},
- {"Time", Func, 0},
- {"Time_t", Type, 0},
- {"Times", Func, 0},
- {"Timespec", Type, 0},
- {"Timespec.Nsec", Field, 0},
- {"Timespec.Pad_cgo_0", Field, 2},
- {"Timespec.Sec", Field, 0},
- {"TimespecToNsec", Func, 0},
- {"Timeval", Type, 0},
- {"Timeval.Pad_cgo_0", Field, 0},
- {"Timeval.Sec", Field, 0},
- {"Timeval.Usec", Field, 0},
- {"Timeval32", Type, 0},
- {"Timeval32.Sec", Field, 0},
- {"Timeval32.Usec", Field, 0},
- {"TimevalToNsec", Func, 0},
- {"Timex", Type, 0},
- {"Timex.Calcnt", Field, 0},
- {"Timex.Constant", Field, 0},
- {"Timex.Errcnt", Field, 0},
- {"Timex.Esterror", Field, 0},
- {"Timex.Freq", Field, 0},
- {"Timex.Jitcnt", Field, 0},
- {"Timex.Jitter", Field, 0},
- {"Timex.Maxerror", Field, 0},
- {"Timex.Modes", Field, 0},
- {"Timex.Offset", Field, 0},
- {"Timex.Pad_cgo_0", Field, 0},
- {"Timex.Pad_cgo_1", Field, 0},
- {"Timex.Pad_cgo_2", Field, 0},
- {"Timex.Pad_cgo_3", Field, 0},
- {"Timex.Ppsfreq", Field, 0},
- {"Timex.Precision", Field, 0},
- {"Timex.Shift", Field, 0},
- {"Timex.Stabil", Field, 0},
- {"Timex.Status", Field, 0},
- {"Timex.Stbcnt", Field, 0},
- {"Timex.Tai", Field, 0},
- {"Timex.Tick", Field, 0},
- {"Timex.Time", Field, 0},
- {"Timex.Tolerance", Field, 0},
- {"Timezoneinformation", Type, 0},
- {"Timezoneinformation.Bias", Field, 0},
- {"Timezoneinformation.DaylightBias", Field, 0},
- {"Timezoneinformation.DaylightDate", Field, 0},
- {"Timezoneinformation.DaylightName", Field, 0},
- {"Timezoneinformation.StandardBias", Field, 0},
- {"Timezoneinformation.StandardDate", Field, 0},
- {"Timezoneinformation.StandardName", Field, 0},
- {"Tms", Type, 0},
- {"Tms.Cstime", Field, 0},
- {"Tms.Cutime", Field, 0},
- {"Tms.Stime", Field, 0},
- {"Tms.Utime", Field, 0},
- {"Token", Type, 0},
- {"TokenAccessInformation", Const, 0},
- {"TokenAuditPolicy", Const, 0},
- {"TokenDefaultDacl", Const, 0},
- {"TokenElevation", Const, 0},
- {"TokenElevationType", Const, 0},
- {"TokenGroups", Const, 0},
- {"TokenGroupsAndPrivileges", Const, 0},
- {"TokenHasRestrictions", Const, 0},
- {"TokenImpersonationLevel", Const, 0},
- {"TokenIntegrityLevel", Const, 0},
- {"TokenLinkedToken", Const, 0},
- {"TokenLogonSid", Const, 0},
- {"TokenMandatoryPolicy", Const, 0},
- {"TokenOrigin", Const, 0},
- {"TokenOwner", Const, 0},
- {"TokenPrimaryGroup", Const, 0},
- {"TokenPrivileges", Const, 0},
- {"TokenRestrictedSids", Const, 0},
- {"TokenSandBoxInert", Const, 0},
- {"TokenSessionId", Const, 0},
- {"TokenSessionReference", Const, 0},
- {"TokenSource", Const, 0},
- {"TokenStatistics", Const, 0},
- {"TokenType", Const, 0},
- {"TokenUIAccess", Const, 0},
- {"TokenUser", Const, 0},
- {"TokenVirtualizationAllowed", Const, 0},
- {"TokenVirtualizationEnabled", Const, 0},
- {"Tokenprimarygroup", Type, 0},
- {"Tokenprimarygroup.PrimaryGroup", Field, 0},
- {"Tokenuser", Type, 0},
- {"Tokenuser.User", Field, 0},
- {"TranslateAccountName", Func, 0},
- {"TranslateName", Func, 0},
- {"TransmitFile", Func, 0},
- {"TransmitFileBuffers", Type, 0},
- {"TransmitFileBuffers.Head", Field, 0},
- {"TransmitFileBuffers.HeadLength", Field, 0},
- {"TransmitFileBuffers.Tail", Field, 0},
- {"TransmitFileBuffers.TailLength", Field, 0},
- {"Truncate", Func, 0},
- {"UNIX_PATH_MAX", Const, 12},
- {"USAGE_MATCH_TYPE_AND", Const, 0},
- {"USAGE_MATCH_TYPE_OR", Const, 0},
- {"UTF16FromString", Func, 1},
- {"UTF16PtrFromString", Func, 1},
- {"UTF16ToString", Func, 0},
- {"Ucred", Type, 0},
- {"Ucred.Gid", Field, 0},
- {"Ucred.Pid", Field, 0},
- {"Ucred.Uid", Field, 0},
- {"Umask", Func, 0},
- {"Uname", Func, 0},
- {"Undelete", Func, 0},
- {"UnixCredentials", Func, 0},
- {"UnixRights", Func, 0},
- {"Unlink", Func, 0},
- {"Unlinkat", Func, 0},
- {"UnmapViewOfFile", Func, 0},
- {"Unmount", Func, 0},
- {"Unsetenv", Func, 4},
- {"Unshare", Func, 0},
- {"UserInfo10", Type, 0},
- {"UserInfo10.Comment", Field, 0},
- {"UserInfo10.FullName", Field, 0},
- {"UserInfo10.Name", Field, 0},
- {"UserInfo10.UsrComment", Field, 0},
- {"Ustat", Func, 0},
- {"Ustat_t", Type, 0},
- {"Ustat_t.Fname", Field, 0},
- {"Ustat_t.Fpack", Field, 0},
- {"Ustat_t.Pad_cgo_0", Field, 0},
- {"Ustat_t.Pad_cgo_1", Field, 0},
- {"Ustat_t.Tfree", Field, 0},
- {"Ustat_t.Tinode", Field, 0},
- {"Utimbuf", Type, 0},
- {"Utimbuf.Actime", Field, 0},
- {"Utimbuf.Modtime", Field, 0},
- {"Utime", Func, 0},
- {"Utimes", Func, 0},
- {"UtimesNano", Func, 1},
- {"Utsname", Type, 0},
- {"Utsname.Domainname", Field, 0},
- {"Utsname.Machine", Field, 0},
- {"Utsname.Nodename", Field, 0},
- {"Utsname.Release", Field, 0},
- {"Utsname.Sysname", Field, 0},
- {"Utsname.Version", Field, 0},
- {"VDISCARD", Const, 0},
- {"VDSUSP", Const, 1},
- {"VEOF", Const, 0},
- {"VEOL", Const, 0},
- {"VEOL2", Const, 0},
- {"VERASE", Const, 0},
- {"VERASE2", Const, 1},
- {"VINTR", Const, 0},
- {"VKILL", Const, 0},
- {"VLNEXT", Const, 0},
- {"VMIN", Const, 0},
- {"VQUIT", Const, 0},
- {"VREPRINT", Const, 0},
- {"VSTART", Const, 0},
- {"VSTATUS", Const, 1},
- {"VSTOP", Const, 0},
- {"VSUSP", Const, 0},
- {"VSWTC", Const, 0},
- {"VT0", Const, 1},
- {"VT1", Const, 1},
- {"VTDLY", Const, 1},
- {"VTIME", Const, 0},
- {"VWERASE", Const, 0},
- {"VirtualLock", Func, 0},
- {"VirtualUnlock", Func, 0},
- {"WAIT_ABANDONED", Const, 0},
- {"WAIT_FAILED", Const, 0},
- {"WAIT_OBJECT_0", Const, 0},
- {"WAIT_TIMEOUT", Const, 0},
- {"WALL", Const, 0},
- {"WALLSIG", Const, 1},
- {"WALTSIG", Const, 1},
- {"WCLONE", Const, 0},
- {"WCONTINUED", Const, 0},
- {"WCOREFLAG", Const, 0},
- {"WEXITED", Const, 0},
- {"WLINUXCLONE", Const, 0},
- {"WNOHANG", Const, 0},
- {"WNOTHREAD", Const, 0},
- {"WNOWAIT", Const, 0},
- {"WNOZOMBIE", Const, 1},
- {"WOPTSCHECKED", Const, 1},
- {"WORDSIZE", Const, 0},
- {"WSABuf", Type, 0},
- {"WSABuf.Buf", Field, 0},
- {"WSABuf.Len", Field, 0},
- {"WSACleanup", Func, 0},
- {"WSADESCRIPTION_LEN", Const, 0},
- {"WSAData", Type, 0},
- {"WSAData.Description", Field, 0},
- {"WSAData.HighVersion", Field, 0},
- {"WSAData.MaxSockets", Field, 0},
- {"WSAData.MaxUdpDg", Field, 0},
- {"WSAData.SystemStatus", Field, 0},
- {"WSAData.VendorInfo", Field, 0},
- {"WSAData.Version", Field, 0},
- {"WSAEACCES", Const, 2},
- {"WSAECONNABORTED", Const, 9},
- {"WSAECONNRESET", Const, 3},
- {"WSAENOPROTOOPT", Const, 23},
- {"WSAEnumProtocols", Func, 2},
- {"WSAID_CONNECTEX", Var, 1},
- {"WSAIoctl", Func, 0},
- {"WSAPROTOCOL_LEN", Const, 2},
- {"WSAProtocolChain", Type, 2},
- {"WSAProtocolChain.ChainEntries", Field, 2},
- {"WSAProtocolChain.ChainLen", Field, 2},
- {"WSAProtocolInfo", Type, 2},
- {"WSAProtocolInfo.AddressFamily", Field, 2},
- {"WSAProtocolInfo.CatalogEntryId", Field, 2},
- {"WSAProtocolInfo.MaxSockAddr", Field, 2},
- {"WSAProtocolInfo.MessageSize", Field, 2},
- {"WSAProtocolInfo.MinSockAddr", Field, 2},
- {"WSAProtocolInfo.NetworkByteOrder", Field, 2},
- {"WSAProtocolInfo.Protocol", Field, 2},
- {"WSAProtocolInfo.ProtocolChain", Field, 2},
- {"WSAProtocolInfo.ProtocolMaxOffset", Field, 2},
- {"WSAProtocolInfo.ProtocolName", Field, 2},
- {"WSAProtocolInfo.ProviderFlags", Field, 2},
- {"WSAProtocolInfo.ProviderId", Field, 2},
- {"WSAProtocolInfo.ProviderReserved", Field, 2},
- {"WSAProtocolInfo.SecurityScheme", Field, 2},
- {"WSAProtocolInfo.ServiceFlags1", Field, 2},
- {"WSAProtocolInfo.ServiceFlags2", Field, 2},
- {"WSAProtocolInfo.ServiceFlags3", Field, 2},
- {"WSAProtocolInfo.ServiceFlags4", Field, 2},
- {"WSAProtocolInfo.SocketType", Field, 2},
- {"WSAProtocolInfo.Version", Field, 2},
- {"WSARecv", Func, 0},
- {"WSARecvFrom", Func, 0},
- {"WSASYS_STATUS_LEN", Const, 0},
- {"WSASend", Func, 0},
- {"WSASendTo", Func, 0},
- {"WSASendto", Func, 0},
- {"WSAStartup", Func, 0},
- {"WSTOPPED", Const, 0},
- {"WTRAPPED", Const, 1},
- {"WUNTRACED", Const, 0},
- {"Wait4", Func, 0},
- {"WaitForSingleObject", Func, 0},
- {"WaitStatus", Type, 0},
- {"WaitStatus.ExitCode", Field, 0},
- {"Win32FileAttributeData", Type, 0},
- {"Win32FileAttributeData.CreationTime", Field, 0},
- {"Win32FileAttributeData.FileAttributes", Field, 0},
- {"Win32FileAttributeData.FileSizeHigh", Field, 0},
- {"Win32FileAttributeData.FileSizeLow", Field, 0},
- {"Win32FileAttributeData.LastAccessTime", Field, 0},
- {"Win32FileAttributeData.LastWriteTime", Field, 0},
- {"Win32finddata", Type, 0},
- {"Win32finddata.AlternateFileName", Field, 0},
- {"Win32finddata.CreationTime", Field, 0},
- {"Win32finddata.FileAttributes", Field, 0},
- {"Win32finddata.FileName", Field, 0},
- {"Win32finddata.FileSizeHigh", Field, 0},
- {"Win32finddata.FileSizeLow", Field, 0},
- {"Win32finddata.LastAccessTime", Field, 0},
- {"Win32finddata.LastWriteTime", Field, 0},
- {"Win32finddata.Reserved0", Field, 0},
- {"Win32finddata.Reserved1", Field, 0},
- {"Write", Func, 0},
- {"WriteConsole", Func, 1},
- {"WriteFile", Func, 0},
- {"X509_ASN_ENCODING", Const, 0},
- {"XCASE", Const, 0},
- {"XP1_CONNECTIONLESS", Const, 2},
- {"XP1_CONNECT_DATA", Const, 2},
- {"XP1_DISCONNECT_DATA", Const, 2},
- {"XP1_EXPEDITED_DATA", Const, 2},
- {"XP1_GRACEFUL_CLOSE", Const, 2},
- {"XP1_GUARANTEED_DELIVERY", Const, 2},
- {"XP1_GUARANTEED_ORDER", Const, 2},
- {"XP1_IFS_HANDLES", Const, 2},
- {"XP1_MESSAGE_ORIENTED", Const, 2},
- {"XP1_MULTIPOINT_CONTROL_PLANE", Const, 2},
- {"XP1_MULTIPOINT_DATA_PLANE", Const, 2},
- {"XP1_PARTIAL_MESSAGE", Const, 2},
- {"XP1_PSEUDO_STREAM", Const, 2},
- {"XP1_QOS_SUPPORTED", Const, 2},
- {"XP1_SAN_SUPPORT_SDP", Const, 2},
- {"XP1_SUPPORT_BROADCAST", Const, 2},
- {"XP1_SUPPORT_MULTIPOINT", Const, 2},
- {"XP1_UNI_RECV", Const, 2},
- {"XP1_UNI_SEND", Const, 2},
- },
- "syscall/js": {
- {"CopyBytesToGo", Func, 0},
- {"CopyBytesToJS", Func, 0},
- {"Error", Type, 0},
- {"Func", Type, 0},
- {"FuncOf", Func, 0},
- {"Global", Func, 0},
- {"Null", Func, 0},
- {"Type", Type, 0},
- {"TypeBoolean", Const, 0},
- {"TypeFunction", Const, 0},
- {"TypeNull", Const, 0},
- {"TypeNumber", Const, 0},
- {"TypeObject", Const, 0},
- {"TypeString", Const, 0},
- {"TypeSymbol", Const, 0},
- {"TypeUndefined", Const, 0},
- {"Undefined", Func, 0},
- {"Value", Type, 0},
- {"ValueError", Type, 0},
- {"ValueOf", Func, 0},
- },
- "testing": {
- {"(*B).Cleanup", Method, 14},
- {"(*B).Elapsed", Method, 20},
- {"(*B).Error", Method, 0},
- {"(*B).Errorf", Method, 0},
- {"(*B).Fail", Method, 0},
- {"(*B).FailNow", Method, 0},
- {"(*B).Failed", Method, 0},
- {"(*B).Fatal", Method, 0},
- {"(*B).Fatalf", Method, 0},
- {"(*B).Helper", Method, 9},
- {"(*B).Log", Method, 0},
- {"(*B).Logf", Method, 0},
- {"(*B).Name", Method, 8},
- {"(*B).ReportAllocs", Method, 1},
- {"(*B).ReportMetric", Method, 13},
- {"(*B).ResetTimer", Method, 0},
- {"(*B).Run", Method, 7},
- {"(*B).RunParallel", Method, 3},
- {"(*B).SetBytes", Method, 0},
- {"(*B).SetParallelism", Method, 3},
- {"(*B).Setenv", Method, 17},
- {"(*B).Skip", Method, 1},
- {"(*B).SkipNow", Method, 1},
- {"(*B).Skipf", Method, 1},
- {"(*B).Skipped", Method, 1},
- {"(*B).StartTimer", Method, 0},
- {"(*B).StopTimer", Method, 0},
- {"(*B).TempDir", Method, 15},
- {"(*F).Add", Method, 18},
- {"(*F).Cleanup", Method, 18},
- {"(*F).Error", Method, 18},
- {"(*F).Errorf", Method, 18},
- {"(*F).Fail", Method, 18},
- {"(*F).FailNow", Method, 18},
- {"(*F).Failed", Method, 18},
- {"(*F).Fatal", Method, 18},
- {"(*F).Fatalf", Method, 18},
- {"(*F).Fuzz", Method, 18},
- {"(*F).Helper", Method, 18},
- {"(*F).Log", Method, 18},
- {"(*F).Logf", Method, 18},
- {"(*F).Name", Method, 18},
- {"(*F).Setenv", Method, 18},
- {"(*F).Skip", Method, 18},
- {"(*F).SkipNow", Method, 18},
- {"(*F).Skipf", Method, 18},
- {"(*F).Skipped", Method, 18},
- {"(*F).TempDir", Method, 18},
- {"(*M).Run", Method, 4},
- {"(*PB).Next", Method, 3},
- {"(*T).Cleanup", Method, 14},
- {"(*T).Deadline", Method, 15},
- {"(*T).Error", Method, 0},
- {"(*T).Errorf", Method, 0},
- {"(*T).Fail", Method, 0},
- {"(*T).FailNow", Method, 0},
- {"(*T).Failed", Method, 0},
- {"(*T).Fatal", Method, 0},
- {"(*T).Fatalf", Method, 0},
- {"(*T).Helper", Method, 9},
- {"(*T).Log", Method, 0},
- {"(*T).Logf", Method, 0},
- {"(*T).Name", Method, 8},
- {"(*T).Parallel", Method, 0},
- {"(*T).Run", Method, 7},
- {"(*T).Setenv", Method, 17},
- {"(*T).Skip", Method, 1},
- {"(*T).SkipNow", Method, 1},
- {"(*T).Skipf", Method, 1},
- {"(*T).Skipped", Method, 1},
- {"(*T).TempDir", Method, 15},
- {"(BenchmarkResult).AllocedBytesPerOp", Method, 1},
- {"(BenchmarkResult).AllocsPerOp", Method, 1},
- {"(BenchmarkResult).MemString", Method, 1},
- {"(BenchmarkResult).NsPerOp", Method, 0},
- {"(BenchmarkResult).String", Method, 0},
- {"AllocsPerRun", Func, 1},
- {"B", Type, 0},
- {"B.N", Field, 0},
- {"Benchmark", Func, 0},
- {"BenchmarkResult", Type, 0},
- {"BenchmarkResult.Bytes", Field, 0},
- {"BenchmarkResult.Extra", Field, 13},
- {"BenchmarkResult.MemAllocs", Field, 1},
- {"BenchmarkResult.MemBytes", Field, 1},
- {"BenchmarkResult.N", Field, 0},
- {"BenchmarkResult.T", Field, 0},
- {"Cover", Type, 2},
- {"Cover.Blocks", Field, 2},
- {"Cover.Counters", Field, 2},
- {"Cover.CoveredPackages", Field, 2},
- {"Cover.Mode", Field, 2},
- {"CoverBlock", Type, 2},
- {"CoverBlock.Col0", Field, 2},
- {"CoverBlock.Col1", Field, 2},
- {"CoverBlock.Line0", Field, 2},
- {"CoverBlock.Line1", Field, 2},
- {"CoverBlock.Stmts", Field, 2},
- {"CoverMode", Func, 8},
- {"Coverage", Func, 4},
- {"F", Type, 18},
- {"Init", Func, 13},
- {"InternalBenchmark", Type, 0},
- {"InternalBenchmark.F", Field, 0},
- {"InternalBenchmark.Name", Field, 0},
- {"InternalExample", Type, 0},
- {"InternalExample.F", Field, 0},
- {"InternalExample.Name", Field, 0},
- {"InternalExample.Output", Field, 0},
- {"InternalExample.Unordered", Field, 7},
- {"InternalFuzzTarget", Type, 18},
- {"InternalFuzzTarget.Fn", Field, 18},
- {"InternalFuzzTarget.Name", Field, 18},
- {"InternalTest", Type, 0},
- {"InternalTest.F", Field, 0},
- {"InternalTest.Name", Field, 0},
- {"M", Type, 4},
- {"Main", Func, 0},
- {"MainStart", Func, 4},
- {"PB", Type, 3},
- {"RegisterCover", Func, 2},
- {"RunBenchmarks", Func, 0},
- {"RunExamples", Func, 0},
- {"RunTests", Func, 0},
- {"Short", Func, 0},
- {"T", Type, 0},
- {"TB", Type, 2},
- {"Testing", Func, 21},
- {"Verbose", Func, 1},
- },
- "testing/fstest": {
- {"(MapFS).Glob", Method, 16},
- {"(MapFS).Open", Method, 16},
- {"(MapFS).ReadDir", Method, 16},
- {"(MapFS).ReadFile", Method, 16},
- {"(MapFS).Stat", Method, 16},
- {"(MapFS).Sub", Method, 16},
- {"MapFS", Type, 16},
- {"MapFile", Type, 16},
- {"MapFile.Data", Field, 16},
- {"MapFile.ModTime", Field, 16},
- {"MapFile.Mode", Field, 16},
- {"MapFile.Sys", Field, 16},
- {"TestFS", Func, 16},
- },
- "testing/iotest": {
- {"DataErrReader", Func, 0},
- {"ErrReader", Func, 16},
- {"ErrTimeout", Var, 0},
- {"HalfReader", Func, 0},
- {"NewReadLogger", Func, 0},
- {"NewWriteLogger", Func, 0},
- {"OneByteReader", Func, 0},
- {"TestReader", Func, 16},
- {"TimeoutReader", Func, 0},
- {"TruncateWriter", Func, 0},
- },
- "testing/quick": {
- {"(*CheckEqualError).Error", Method, 0},
- {"(*CheckError).Error", Method, 0},
- {"(SetupError).Error", Method, 0},
- {"Check", Func, 0},
- {"CheckEqual", Func, 0},
- {"CheckEqualError", Type, 0},
- {"CheckEqualError.CheckError", Field, 0},
- {"CheckEqualError.Out1", Field, 0},
- {"CheckEqualError.Out2", Field, 0},
- {"CheckError", Type, 0},
- {"CheckError.Count", Field, 0},
- {"CheckError.In", Field, 0},
- {"Config", Type, 0},
- {"Config.MaxCount", Field, 0},
- {"Config.MaxCountScale", Field, 0},
- {"Config.Rand", Field, 0},
- {"Config.Values", Field, 0},
- {"Generator", Type, 0},
- {"SetupError", Type, 0},
- {"Value", Func, 0},
- },
- "testing/slogtest": {
- {"Run", Func, 22},
- {"TestHandler", Func, 21},
- },
- "text/scanner": {
- {"(*Position).IsValid", Method, 0},
- {"(*Scanner).Init", Method, 0},
- {"(*Scanner).IsValid", Method, 0},
- {"(*Scanner).Next", Method, 0},
- {"(*Scanner).Peek", Method, 0},
- {"(*Scanner).Pos", Method, 0},
- {"(*Scanner).Scan", Method, 0},
- {"(*Scanner).TokenText", Method, 0},
- {"(Position).String", Method, 0},
- {"(Scanner).String", Method, 0},
- {"Char", Const, 0},
- {"Comment", Const, 0},
- {"EOF", Const, 0},
- {"Float", Const, 0},
- {"GoTokens", Const, 0},
- {"GoWhitespace", Const, 0},
- {"Ident", Const, 0},
- {"Int", Const, 0},
- {"Position", Type, 0},
- {"Position.Column", Field, 0},
- {"Position.Filename", Field, 0},
- {"Position.Line", Field, 0},
- {"Position.Offset", Field, 0},
- {"RawString", Const, 0},
- {"ScanChars", Const, 0},
- {"ScanComments", Const, 0},
- {"ScanFloats", Const, 0},
- {"ScanIdents", Const, 0},
- {"ScanInts", Const, 0},
- {"ScanRawStrings", Const, 0},
- {"ScanStrings", Const, 0},
- {"Scanner", Type, 0},
- {"Scanner.Error", Field, 0},
- {"Scanner.ErrorCount", Field, 0},
- {"Scanner.IsIdentRune", Field, 4},
- {"Scanner.Mode", Field, 0},
- {"Scanner.Position", Field, 0},
- {"Scanner.Whitespace", Field, 0},
- {"SkipComments", Const, 0},
- {"String", Const, 0},
- {"TokenString", Func, 0},
- },
- "text/tabwriter": {
- {"(*Writer).Flush", Method, 0},
- {"(*Writer).Init", Method, 0},
- {"(*Writer).Write", Method, 0},
- {"AlignRight", Const, 0},
- {"Debug", Const, 0},
- {"DiscardEmptyColumns", Const, 0},
- {"Escape", Const, 0},
- {"FilterHTML", Const, 0},
- {"NewWriter", Func, 0},
- {"StripEscape", Const, 0},
- {"TabIndent", Const, 0},
- {"Writer", Type, 0},
- },
- "text/template": {
- {"(*Template).AddParseTree", Method, 0},
- {"(*Template).Clone", Method, 0},
- {"(*Template).DefinedTemplates", Method, 5},
- {"(*Template).Delims", Method, 0},
- {"(*Template).Execute", Method, 0},
- {"(*Template).ExecuteTemplate", Method, 0},
- {"(*Template).Funcs", Method, 0},
- {"(*Template).Lookup", Method, 0},
- {"(*Template).Name", Method, 0},
- {"(*Template).New", Method, 0},
- {"(*Template).Option", Method, 5},
- {"(*Template).Parse", Method, 0},
- {"(*Template).ParseFS", Method, 16},
- {"(*Template).ParseFiles", Method, 0},
- {"(*Template).ParseGlob", Method, 0},
- {"(*Template).Templates", Method, 0},
- {"(ExecError).Error", Method, 6},
- {"(ExecError).Unwrap", Method, 13},
- {"(Template).Copy", Method, 2},
- {"(Template).ErrorContext", Method, 1},
- {"ExecError", Type, 6},
- {"ExecError.Err", Field, 6},
- {"ExecError.Name", Field, 6},
- {"FuncMap", Type, 0},
- {"HTMLEscape", Func, 0},
- {"HTMLEscapeString", Func, 0},
- {"HTMLEscaper", Func, 0},
- {"IsTrue", Func, 6},
- {"JSEscape", Func, 0},
- {"JSEscapeString", Func, 0},
- {"JSEscaper", Func, 0},
- {"Must", Func, 0},
- {"New", Func, 0},
- {"ParseFS", Func, 16},
- {"ParseFiles", Func, 0},
- {"ParseGlob", Func, 0},
- {"Template", Type, 0},
- {"Template.Tree", Field, 0},
- {"URLQueryEscaper", Func, 0},
- },
- "text/template/parse": {
- {"(*ActionNode).Copy", Method, 0},
- {"(*ActionNode).String", Method, 0},
- {"(*BoolNode).Copy", Method, 0},
- {"(*BoolNode).String", Method, 0},
- {"(*BranchNode).Copy", Method, 4},
- {"(*BranchNode).String", Method, 0},
- {"(*BreakNode).Copy", Method, 18},
- {"(*BreakNode).String", Method, 18},
- {"(*ChainNode).Add", Method, 1},
- {"(*ChainNode).Copy", Method, 1},
- {"(*ChainNode).String", Method, 1},
- {"(*CommandNode).Copy", Method, 0},
- {"(*CommandNode).String", Method, 0},
- {"(*CommentNode).Copy", Method, 16},
- {"(*CommentNode).String", Method, 16},
- {"(*ContinueNode).Copy", Method, 18},
- {"(*ContinueNode).String", Method, 18},
- {"(*DotNode).Copy", Method, 0},
- {"(*DotNode).String", Method, 0},
- {"(*DotNode).Type", Method, 0},
- {"(*FieldNode).Copy", Method, 0},
- {"(*FieldNode).String", Method, 0},
- {"(*IdentifierNode).Copy", Method, 0},
- {"(*IdentifierNode).SetPos", Method, 1},
- {"(*IdentifierNode).SetTree", Method, 4},
- {"(*IdentifierNode).String", Method, 0},
- {"(*IfNode).Copy", Method, 0},
- {"(*IfNode).String", Method, 0},
- {"(*ListNode).Copy", Method, 0},
- {"(*ListNode).CopyList", Method, 0},
- {"(*ListNode).String", Method, 0},
- {"(*NilNode).Copy", Method, 1},
- {"(*NilNode).String", Method, 1},
- {"(*NilNode).Type", Method, 1},
- {"(*NumberNode).Copy", Method, 0},
- {"(*NumberNode).String", Method, 0},
- {"(*PipeNode).Copy", Method, 0},
- {"(*PipeNode).CopyPipe", Method, 0},
- {"(*PipeNode).String", Method, 0},
- {"(*RangeNode).Copy", Method, 0},
- {"(*RangeNode).String", Method, 0},
- {"(*StringNode).Copy", Method, 0},
- {"(*StringNode).String", Method, 0},
- {"(*TemplateNode).Copy", Method, 0},
- {"(*TemplateNode).String", Method, 0},
- {"(*TextNode).Copy", Method, 0},
- {"(*TextNode).String", Method, 0},
- {"(*Tree).Copy", Method, 2},
- {"(*Tree).ErrorContext", Method, 1},
- {"(*Tree).Parse", Method, 0},
- {"(*VariableNode).Copy", Method, 0},
- {"(*VariableNode).String", Method, 0},
- {"(*WithNode).Copy", Method, 0},
- {"(*WithNode).String", Method, 0},
- {"(ActionNode).Position", Method, 1},
- {"(ActionNode).Type", Method, 0},
- {"(BoolNode).Position", Method, 1},
- {"(BoolNode).Type", Method, 0},
- {"(BranchNode).Position", Method, 1},
- {"(BranchNode).Type", Method, 0},
- {"(BreakNode).Position", Method, 18},
- {"(BreakNode).Type", Method, 18},
- {"(ChainNode).Position", Method, 1},
- {"(ChainNode).Type", Method, 1},
- {"(CommandNode).Position", Method, 1},
- {"(CommandNode).Type", Method, 0},
- {"(CommentNode).Position", Method, 16},
- {"(CommentNode).Type", Method, 16},
- {"(ContinueNode).Position", Method, 18},
- {"(ContinueNode).Type", Method, 18},
- {"(DotNode).Position", Method, 1},
- {"(FieldNode).Position", Method, 1},
- {"(FieldNode).Type", Method, 0},
- {"(IdentifierNode).Position", Method, 1},
- {"(IdentifierNode).Type", Method, 0},
- {"(IfNode).Position", Method, 1},
- {"(IfNode).Type", Method, 0},
- {"(ListNode).Position", Method, 1},
- {"(ListNode).Type", Method, 0},
- {"(NilNode).Position", Method, 1},
- {"(NodeType).Type", Method, 0},
- {"(NumberNode).Position", Method, 1},
- {"(NumberNode).Type", Method, 0},
- {"(PipeNode).Position", Method, 1},
- {"(PipeNode).Type", Method, 0},
- {"(Pos).Position", Method, 1},
- {"(RangeNode).Position", Method, 1},
- {"(RangeNode).Type", Method, 0},
- {"(StringNode).Position", Method, 1},
- {"(StringNode).Type", Method, 0},
- {"(TemplateNode).Position", Method, 1},
- {"(TemplateNode).Type", Method, 0},
- {"(TextNode).Position", Method, 1},
- {"(TextNode).Type", Method, 0},
- {"(VariableNode).Position", Method, 1},
- {"(VariableNode).Type", Method, 0},
- {"(WithNode).Position", Method, 1},
- {"(WithNode).Type", Method, 0},
- {"ActionNode", Type, 0},
- {"ActionNode.Line", Field, 0},
- {"ActionNode.NodeType", Field, 0},
- {"ActionNode.Pipe", Field, 0},
- {"ActionNode.Pos", Field, 1},
- {"BoolNode", Type, 0},
- {"BoolNode.NodeType", Field, 0},
- {"BoolNode.Pos", Field, 1},
- {"BoolNode.True", Field, 0},
- {"BranchNode", Type, 0},
- {"BranchNode.ElseList", Field, 0},
- {"BranchNode.Line", Field, 0},
- {"BranchNode.List", Field, 0},
- {"BranchNode.NodeType", Field, 0},
- {"BranchNode.Pipe", Field, 0},
- {"BranchNode.Pos", Field, 1},
- {"BreakNode", Type, 18},
- {"BreakNode.Line", Field, 18},
- {"BreakNode.NodeType", Field, 18},
- {"BreakNode.Pos", Field, 18},
- {"ChainNode", Type, 1},
- {"ChainNode.Field", Field, 1},
- {"ChainNode.Node", Field, 1},
- {"ChainNode.NodeType", Field, 1},
- {"ChainNode.Pos", Field, 1},
- {"CommandNode", Type, 0},
- {"CommandNode.Args", Field, 0},
- {"CommandNode.NodeType", Field, 0},
- {"CommandNode.Pos", Field, 1},
- {"CommentNode", Type, 16},
- {"CommentNode.NodeType", Field, 16},
- {"CommentNode.Pos", Field, 16},
- {"CommentNode.Text", Field, 16},
- {"ContinueNode", Type, 18},
- {"ContinueNode.Line", Field, 18},
- {"ContinueNode.NodeType", Field, 18},
- {"ContinueNode.Pos", Field, 18},
- {"DotNode", Type, 0},
- {"DotNode.NodeType", Field, 4},
- {"DotNode.Pos", Field, 1},
- {"FieldNode", Type, 0},
- {"FieldNode.Ident", Field, 0},
- {"FieldNode.NodeType", Field, 0},
- {"FieldNode.Pos", Field, 1},
- {"IdentifierNode", Type, 0},
- {"IdentifierNode.Ident", Field, 0},
- {"IdentifierNode.NodeType", Field, 0},
- {"IdentifierNode.Pos", Field, 1},
- {"IfNode", Type, 0},
- {"IfNode.BranchNode", Field, 0},
- {"IsEmptyTree", Func, 0},
- {"ListNode", Type, 0},
- {"ListNode.NodeType", Field, 0},
- {"ListNode.Nodes", Field, 0},
- {"ListNode.Pos", Field, 1},
- {"Mode", Type, 16},
- {"New", Func, 0},
- {"NewIdentifier", Func, 0},
- {"NilNode", Type, 1},
- {"NilNode.NodeType", Field, 4},
- {"NilNode.Pos", Field, 1},
- {"Node", Type, 0},
- {"NodeAction", Const, 0},
- {"NodeBool", Const, 0},
- {"NodeBreak", Const, 18},
- {"NodeChain", Const, 1},
- {"NodeCommand", Const, 0},
- {"NodeComment", Const, 16},
- {"NodeContinue", Const, 18},
- {"NodeDot", Const, 0},
- {"NodeField", Const, 0},
- {"NodeIdentifier", Const, 0},
- {"NodeIf", Const, 0},
- {"NodeList", Const, 0},
- {"NodeNil", Const, 1},
- {"NodeNumber", Const, 0},
- {"NodePipe", Const, 0},
- {"NodeRange", Const, 0},
- {"NodeString", Const, 0},
- {"NodeTemplate", Const, 0},
- {"NodeText", Const, 0},
- {"NodeType", Type, 0},
- {"NodeVariable", Const, 0},
- {"NodeWith", Const, 0},
- {"NumberNode", Type, 0},
- {"NumberNode.Complex128", Field, 0},
- {"NumberNode.Float64", Field, 0},
- {"NumberNode.Int64", Field, 0},
- {"NumberNode.IsComplex", Field, 0},
- {"NumberNode.IsFloat", Field, 0},
- {"NumberNode.IsInt", Field, 0},
- {"NumberNode.IsUint", Field, 0},
- {"NumberNode.NodeType", Field, 0},
- {"NumberNode.Pos", Field, 1},
- {"NumberNode.Text", Field, 0},
- {"NumberNode.Uint64", Field, 0},
- {"Parse", Func, 0},
- {"ParseComments", Const, 16},
- {"PipeNode", Type, 0},
- {"PipeNode.Cmds", Field, 0},
- {"PipeNode.Decl", Field, 0},
- {"PipeNode.IsAssign", Field, 11},
- {"PipeNode.Line", Field, 0},
- {"PipeNode.NodeType", Field, 0},
- {"PipeNode.Pos", Field, 1},
- {"Pos", Type, 1},
- {"RangeNode", Type, 0},
- {"RangeNode.BranchNode", Field, 0},
- {"SkipFuncCheck", Const, 17},
- {"StringNode", Type, 0},
- {"StringNode.NodeType", Field, 0},
- {"StringNode.Pos", Field, 1},
- {"StringNode.Quoted", Field, 0},
- {"StringNode.Text", Field, 0},
- {"TemplateNode", Type, 0},
- {"TemplateNode.Line", Field, 0},
- {"TemplateNode.Name", Field, 0},
- {"TemplateNode.NodeType", Field, 0},
- {"TemplateNode.Pipe", Field, 0},
- {"TemplateNode.Pos", Field, 1},
- {"TextNode", Type, 0},
- {"TextNode.NodeType", Field, 0},
- {"TextNode.Pos", Field, 1},
- {"TextNode.Text", Field, 0},
- {"Tree", Type, 0},
- {"Tree.Mode", Field, 16},
- {"Tree.Name", Field, 0},
- {"Tree.ParseName", Field, 1},
- {"Tree.Root", Field, 0},
- {"VariableNode", Type, 0},
- {"VariableNode.Ident", Field, 0},
- {"VariableNode.NodeType", Field, 0},
- {"VariableNode.Pos", Field, 1},
- {"WithNode", Type, 0},
- {"WithNode.BranchNode", Field, 0},
- },
- "time": {
- {"(*Location).String", Method, 0},
- {"(*ParseError).Error", Method, 0},
- {"(*Ticker).Reset", Method, 15},
- {"(*Ticker).Stop", Method, 0},
- {"(*Time).GobDecode", Method, 0},
- {"(*Time).UnmarshalBinary", Method, 2},
- {"(*Time).UnmarshalJSON", Method, 0},
- {"(*Time).UnmarshalText", Method, 2},
- {"(*Timer).Reset", Method, 1},
- {"(*Timer).Stop", Method, 0},
- {"(Duration).Abs", Method, 19},
- {"(Duration).Hours", Method, 0},
- {"(Duration).Microseconds", Method, 13},
- {"(Duration).Milliseconds", Method, 13},
- {"(Duration).Minutes", Method, 0},
- {"(Duration).Nanoseconds", Method, 0},
- {"(Duration).Round", Method, 9},
- {"(Duration).Seconds", Method, 0},
- {"(Duration).String", Method, 0},
- {"(Duration).Truncate", Method, 9},
- {"(Month).String", Method, 0},
- {"(Time).Add", Method, 0},
- {"(Time).AddDate", Method, 0},
- {"(Time).After", Method, 0},
- {"(Time).AppendFormat", Method, 5},
- {"(Time).Before", Method, 0},
- {"(Time).Clock", Method, 0},
- {"(Time).Compare", Method, 20},
- {"(Time).Date", Method, 0},
- {"(Time).Day", Method, 0},
- {"(Time).Equal", Method, 0},
- {"(Time).Format", Method, 0},
- {"(Time).GoString", Method, 17},
- {"(Time).GobEncode", Method, 0},
- {"(Time).Hour", Method, 0},
- {"(Time).ISOWeek", Method, 0},
- {"(Time).In", Method, 0},
- {"(Time).IsDST", Method, 17},
- {"(Time).IsZero", Method, 0},
- {"(Time).Local", Method, 0},
- {"(Time).Location", Method, 0},
- {"(Time).MarshalBinary", Method, 2},
- {"(Time).MarshalJSON", Method, 0},
- {"(Time).MarshalText", Method, 2},
- {"(Time).Minute", Method, 0},
- {"(Time).Month", Method, 0},
- {"(Time).Nanosecond", Method, 0},
- {"(Time).Round", Method, 1},
- {"(Time).Second", Method, 0},
- {"(Time).String", Method, 0},
- {"(Time).Sub", Method, 0},
- {"(Time).Truncate", Method, 1},
- {"(Time).UTC", Method, 0},
- {"(Time).Unix", Method, 0},
- {"(Time).UnixMicro", Method, 17},
- {"(Time).UnixMilli", Method, 17},
- {"(Time).UnixNano", Method, 0},
- {"(Time).Weekday", Method, 0},
- {"(Time).Year", Method, 0},
- {"(Time).YearDay", Method, 1},
- {"(Time).Zone", Method, 0},
- {"(Time).ZoneBounds", Method, 19},
- {"(Weekday).String", Method, 0},
- {"ANSIC", Const, 0},
- {"After", Func, 0},
- {"AfterFunc", Func, 0},
- {"April", Const, 0},
- {"August", Const, 0},
- {"Date", Func, 0},
- {"DateOnly", Const, 20},
- {"DateTime", Const, 20},
- {"December", Const, 0},
- {"Duration", Type, 0},
- {"February", Const, 0},
- {"FixedZone", Func, 0},
- {"Friday", Const, 0},
- {"Hour", Const, 0},
- {"January", Const, 0},
- {"July", Const, 0},
- {"June", Const, 0},
- {"Kitchen", Const, 0},
- {"Layout", Const, 17},
- {"LoadLocation", Func, 0},
- {"LoadLocationFromTZData", Func, 10},
- {"Local", Var, 0},
- {"Location", Type, 0},
- {"March", Const, 0},
- {"May", Const, 0},
- {"Microsecond", Const, 0},
- {"Millisecond", Const, 0},
- {"Minute", Const, 0},
- {"Monday", Const, 0},
- {"Month", Type, 0},
- {"Nanosecond", Const, 0},
- {"NewTicker", Func, 0},
- {"NewTimer", Func, 0},
- {"November", Const, 0},
- {"Now", Func, 0},
- {"October", Const, 0},
- {"Parse", Func, 0},
- {"ParseDuration", Func, 0},
- {"ParseError", Type, 0},
- {"ParseError.Layout", Field, 0},
- {"ParseError.LayoutElem", Field, 0},
- {"ParseError.Message", Field, 0},
- {"ParseError.Value", Field, 0},
- {"ParseError.ValueElem", Field, 0},
- {"ParseInLocation", Func, 1},
- {"RFC1123", Const, 0},
- {"RFC1123Z", Const, 0},
- {"RFC3339", Const, 0},
- {"RFC3339Nano", Const, 0},
- {"RFC822", Const, 0},
- {"RFC822Z", Const, 0},
- {"RFC850", Const, 0},
- {"RubyDate", Const, 0},
- {"Saturday", Const, 0},
- {"Second", Const, 0},
- {"September", Const, 0},
- {"Since", Func, 0},
- {"Sleep", Func, 0},
- {"Stamp", Const, 0},
- {"StampMicro", Const, 0},
- {"StampMilli", Const, 0},
- {"StampNano", Const, 0},
- {"Sunday", Const, 0},
- {"Thursday", Const, 0},
- {"Tick", Func, 0},
- {"Ticker", Type, 0},
- {"Ticker.C", Field, 0},
- {"Time", Type, 0},
- {"TimeOnly", Const, 20},
- {"Timer", Type, 0},
- {"Timer.C", Field, 0},
- {"Tuesday", Const, 0},
- {"UTC", Var, 0},
- {"Unix", Func, 0},
- {"UnixDate", Const, 0},
- {"UnixMicro", Func, 17},
- {"UnixMilli", Func, 17},
- {"Until", Func, 8},
- {"Wednesday", Const, 0},
- {"Weekday", Type, 0},
- },
- "unicode": {
- {"(SpecialCase).ToLower", Method, 0},
- {"(SpecialCase).ToTitle", Method, 0},
- {"(SpecialCase).ToUpper", Method, 0},
- {"ASCII_Hex_Digit", Var, 0},
- {"Adlam", Var, 7},
- {"Ahom", Var, 5},
- {"Anatolian_Hieroglyphs", Var, 5},
- {"Arabic", Var, 0},
- {"Armenian", Var, 0},
- {"Avestan", Var, 0},
- {"AzeriCase", Var, 0},
- {"Balinese", Var, 0},
- {"Bamum", Var, 0},
- {"Bassa_Vah", Var, 4},
- {"Batak", Var, 0},
- {"Bengali", Var, 0},
- {"Bhaiksuki", Var, 7},
- {"Bidi_Control", Var, 0},
- {"Bopomofo", Var, 0},
- {"Brahmi", Var, 0},
- {"Braille", Var, 0},
- {"Buginese", Var, 0},
- {"Buhid", Var, 0},
- {"C", Var, 0},
- {"Canadian_Aboriginal", Var, 0},
- {"Carian", Var, 0},
- {"CaseRange", Type, 0},
- {"CaseRange.Delta", Field, 0},
- {"CaseRange.Hi", Field, 0},
- {"CaseRange.Lo", Field, 0},
- {"CaseRanges", Var, 0},
- {"Categories", Var, 0},
- {"Caucasian_Albanian", Var, 4},
- {"Cc", Var, 0},
- {"Cf", Var, 0},
- {"Chakma", Var, 1},
- {"Cham", Var, 0},
- {"Cherokee", Var, 0},
- {"Chorasmian", Var, 16},
- {"Co", Var, 0},
- {"Common", Var, 0},
- {"Coptic", Var, 0},
- {"Cs", Var, 0},
- {"Cuneiform", Var, 0},
- {"Cypriot", Var, 0},
- {"Cypro_Minoan", Var, 21},
- {"Cyrillic", Var, 0},
- {"Dash", Var, 0},
- {"Deprecated", Var, 0},
- {"Deseret", Var, 0},
- {"Devanagari", Var, 0},
- {"Diacritic", Var, 0},
- {"Digit", Var, 0},
- {"Dives_Akuru", Var, 16},
- {"Dogra", Var, 13},
- {"Duployan", Var, 4},
- {"Egyptian_Hieroglyphs", Var, 0},
- {"Elbasan", Var, 4},
- {"Elymaic", Var, 14},
- {"Ethiopic", Var, 0},
- {"Extender", Var, 0},
- {"FoldCategory", Var, 0},
- {"FoldScript", Var, 0},
- {"Georgian", Var, 0},
- {"Glagolitic", Var, 0},
- {"Gothic", Var, 0},
- {"Grantha", Var, 4},
- {"GraphicRanges", Var, 0},
- {"Greek", Var, 0},
- {"Gujarati", Var, 0},
- {"Gunjala_Gondi", Var, 13},
- {"Gurmukhi", Var, 0},
- {"Han", Var, 0},
- {"Hangul", Var, 0},
- {"Hanifi_Rohingya", Var, 13},
- {"Hanunoo", Var, 0},
- {"Hatran", Var, 5},
- {"Hebrew", Var, 0},
- {"Hex_Digit", Var, 0},
- {"Hiragana", Var, 0},
- {"Hyphen", Var, 0},
- {"IDS_Binary_Operator", Var, 0},
- {"IDS_Trinary_Operator", Var, 0},
- {"Ideographic", Var, 0},
- {"Imperial_Aramaic", Var, 0},
- {"In", Func, 2},
- {"Inherited", Var, 0},
- {"Inscriptional_Pahlavi", Var, 0},
- {"Inscriptional_Parthian", Var, 0},
- {"Is", Func, 0},
- {"IsControl", Func, 0},
- {"IsDigit", Func, 0},
- {"IsGraphic", Func, 0},
- {"IsLetter", Func, 0},
- {"IsLower", Func, 0},
- {"IsMark", Func, 0},
- {"IsNumber", Func, 0},
- {"IsOneOf", Func, 0},
- {"IsPrint", Func, 0},
- {"IsPunct", Func, 0},
- {"IsSpace", Func, 0},
- {"IsSymbol", Func, 0},
- {"IsTitle", Func, 0},
- {"IsUpper", Func, 0},
- {"Javanese", Var, 0},
- {"Join_Control", Var, 0},
- {"Kaithi", Var, 0},
- {"Kannada", Var, 0},
- {"Katakana", Var, 0},
- {"Kawi", Var, 21},
- {"Kayah_Li", Var, 0},
- {"Kharoshthi", Var, 0},
- {"Khitan_Small_Script", Var, 16},
- {"Khmer", Var, 0},
- {"Khojki", Var, 4},
- {"Khudawadi", Var, 4},
- {"L", Var, 0},
- {"Lao", Var, 0},
- {"Latin", Var, 0},
- {"Lepcha", Var, 0},
- {"Letter", Var, 0},
- {"Limbu", Var, 0},
- {"Linear_A", Var, 4},
- {"Linear_B", Var, 0},
- {"Lisu", Var, 0},
- {"Ll", Var, 0},
- {"Lm", Var, 0},
- {"Lo", Var, 0},
- {"Logical_Order_Exception", Var, 0},
- {"Lower", Var, 0},
- {"LowerCase", Const, 0},
- {"Lt", Var, 0},
- {"Lu", Var, 0},
- {"Lycian", Var, 0},
- {"Lydian", Var, 0},
- {"M", Var, 0},
- {"Mahajani", Var, 4},
- {"Makasar", Var, 13},
- {"Malayalam", Var, 0},
- {"Mandaic", Var, 0},
- {"Manichaean", Var, 4},
- {"Marchen", Var, 7},
- {"Mark", Var, 0},
- {"Masaram_Gondi", Var, 10},
- {"MaxASCII", Const, 0},
- {"MaxCase", Const, 0},
- {"MaxLatin1", Const, 0},
- {"MaxRune", Const, 0},
- {"Mc", Var, 0},
- {"Me", Var, 0},
- {"Medefaidrin", Var, 13},
- {"Meetei_Mayek", Var, 0},
- {"Mende_Kikakui", Var, 4},
- {"Meroitic_Cursive", Var, 1},
- {"Meroitic_Hieroglyphs", Var, 1},
- {"Miao", Var, 1},
- {"Mn", Var, 0},
- {"Modi", Var, 4},
- {"Mongolian", Var, 0},
- {"Mro", Var, 4},
- {"Multani", Var, 5},
- {"Myanmar", Var, 0},
- {"N", Var, 0},
- {"Nabataean", Var, 4},
- {"Nag_Mundari", Var, 21},
- {"Nandinagari", Var, 14},
- {"Nd", Var, 0},
- {"New_Tai_Lue", Var, 0},
- {"Newa", Var, 7},
- {"Nko", Var, 0},
- {"Nl", Var, 0},
- {"No", Var, 0},
- {"Noncharacter_Code_Point", Var, 0},
- {"Number", Var, 0},
- {"Nushu", Var, 10},
- {"Nyiakeng_Puachue_Hmong", Var, 14},
- {"Ogham", Var, 0},
- {"Ol_Chiki", Var, 0},
- {"Old_Hungarian", Var, 5},
- {"Old_Italic", Var, 0},
- {"Old_North_Arabian", Var, 4},
- {"Old_Permic", Var, 4},
- {"Old_Persian", Var, 0},
- {"Old_Sogdian", Var, 13},
- {"Old_South_Arabian", Var, 0},
- {"Old_Turkic", Var, 0},
- {"Old_Uyghur", Var, 21},
- {"Oriya", Var, 0},
- {"Osage", Var, 7},
- {"Osmanya", Var, 0},
- {"Other", Var, 0},
- {"Other_Alphabetic", Var, 0},
- {"Other_Default_Ignorable_Code_Point", Var, 0},
- {"Other_Grapheme_Extend", Var, 0},
- {"Other_ID_Continue", Var, 0},
- {"Other_ID_Start", Var, 0},
- {"Other_Lowercase", Var, 0},
- {"Other_Math", Var, 0},
- {"Other_Uppercase", Var, 0},
- {"P", Var, 0},
- {"Pahawh_Hmong", Var, 4},
- {"Palmyrene", Var, 4},
- {"Pattern_Syntax", Var, 0},
- {"Pattern_White_Space", Var, 0},
- {"Pau_Cin_Hau", Var, 4},
- {"Pc", Var, 0},
- {"Pd", Var, 0},
- {"Pe", Var, 0},
- {"Pf", Var, 0},
- {"Phags_Pa", Var, 0},
- {"Phoenician", Var, 0},
- {"Pi", Var, 0},
- {"Po", Var, 0},
- {"Prepended_Concatenation_Mark", Var, 7},
- {"PrintRanges", Var, 0},
- {"Properties", Var, 0},
- {"Ps", Var, 0},
- {"Psalter_Pahlavi", Var, 4},
- {"Punct", Var, 0},
- {"Quotation_Mark", Var, 0},
- {"Radical", Var, 0},
- {"Range16", Type, 0},
- {"Range16.Hi", Field, 0},
- {"Range16.Lo", Field, 0},
- {"Range16.Stride", Field, 0},
- {"Range32", Type, 0},
- {"Range32.Hi", Field, 0},
- {"Range32.Lo", Field, 0},
- {"Range32.Stride", Field, 0},
- {"RangeTable", Type, 0},
- {"RangeTable.LatinOffset", Field, 1},
- {"RangeTable.R16", Field, 0},
- {"RangeTable.R32", Field, 0},
- {"Regional_Indicator", Var, 10},
- {"Rejang", Var, 0},
- {"ReplacementChar", Const, 0},
- {"Runic", Var, 0},
- {"S", Var, 0},
- {"STerm", Var, 0},
- {"Samaritan", Var, 0},
- {"Saurashtra", Var, 0},
- {"Sc", Var, 0},
- {"Scripts", Var, 0},
- {"Sentence_Terminal", Var, 7},
- {"Sharada", Var, 1},
- {"Shavian", Var, 0},
- {"Siddham", Var, 4},
- {"SignWriting", Var, 5},
- {"SimpleFold", Func, 0},
- {"Sinhala", Var, 0},
- {"Sk", Var, 0},
- {"Sm", Var, 0},
- {"So", Var, 0},
- {"Soft_Dotted", Var, 0},
- {"Sogdian", Var, 13},
- {"Sora_Sompeng", Var, 1},
- {"Soyombo", Var, 10},
- {"Space", Var, 0},
- {"SpecialCase", Type, 0},
- {"Sundanese", Var, 0},
- {"Syloti_Nagri", Var, 0},
- {"Symbol", Var, 0},
- {"Syriac", Var, 0},
- {"Tagalog", Var, 0},
- {"Tagbanwa", Var, 0},
- {"Tai_Le", Var, 0},
- {"Tai_Tham", Var, 0},
- {"Tai_Viet", Var, 0},
- {"Takri", Var, 1},
- {"Tamil", Var, 0},
- {"Tangsa", Var, 21},
- {"Tangut", Var, 7},
- {"Telugu", Var, 0},
- {"Terminal_Punctuation", Var, 0},
- {"Thaana", Var, 0},
- {"Thai", Var, 0},
- {"Tibetan", Var, 0},
- {"Tifinagh", Var, 0},
- {"Tirhuta", Var, 4},
- {"Title", Var, 0},
- {"TitleCase", Const, 0},
- {"To", Func, 0},
- {"ToLower", Func, 0},
- {"ToTitle", Func, 0},
- {"ToUpper", Func, 0},
- {"Toto", Var, 21},
- {"TurkishCase", Var, 0},
- {"Ugaritic", Var, 0},
- {"Unified_Ideograph", Var, 0},
- {"Upper", Var, 0},
- {"UpperCase", Const, 0},
- {"UpperLower", Const, 0},
- {"Vai", Var, 0},
- {"Variation_Selector", Var, 0},
- {"Version", Const, 0},
- {"Vithkuqi", Var, 21},
- {"Wancho", Var, 14},
- {"Warang_Citi", Var, 4},
- {"White_Space", Var, 0},
- {"Yezidi", Var, 16},
- {"Yi", Var, 0},
- {"Z", Var, 0},
- {"Zanabazar_Square", Var, 10},
- {"Zl", Var, 0},
- {"Zp", Var, 0},
- {"Zs", Var, 0},
- },
- "unicode/utf16": {
- {"AppendRune", Func, 20},
- {"Decode", Func, 0},
- {"DecodeRune", Func, 0},
- {"Encode", Func, 0},
- {"EncodeRune", Func, 0},
- {"IsSurrogate", Func, 0},
- {"RuneLen", Func, 23},
- },
- "unicode/utf8": {
- {"AppendRune", Func, 18},
- {"DecodeLastRune", Func, 0},
- {"DecodeLastRuneInString", Func, 0},
- {"DecodeRune", Func, 0},
- {"DecodeRuneInString", Func, 0},
- {"EncodeRune", Func, 0},
- {"FullRune", Func, 0},
- {"FullRuneInString", Func, 0},
- {"MaxRune", Const, 0},
- {"RuneCount", Func, 0},
- {"RuneCountInString", Func, 0},
- {"RuneError", Const, 0},
- {"RuneLen", Func, 0},
- {"RuneSelf", Const, 0},
- {"RuneStart", Func, 0},
- {"UTFMax", Const, 0},
- {"Valid", Func, 0},
- {"ValidRune", Func, 1},
- {"ValidString", Func, 0},
- },
- "unique": {
- {"(Handle).Value", Method, 23},
- {"Handle", Type, 23},
- {"Make", Func, 23},
- },
- "unsafe": {
- {"Add", Func, 0},
- {"Alignof", Func, 0},
- {"Offsetof", Func, 0},
- {"Pointer", Type, 0},
- {"Sizeof", Func, 0},
- {"Slice", Func, 0},
- {"SliceData", Func, 0},
- {"String", Func, 0},
- {"StringData", Func, 0},
- },
-}
diff --git a/vendor/golang.org/x/tools/internal/stdlib/stdlib.go b/vendor/golang.org/x/tools/internal/stdlib/stdlib.go
deleted file mode 100644
index 98904017..00000000
--- a/vendor/golang.org/x/tools/internal/stdlib/stdlib.go
+++ /dev/null
@@ -1,97 +0,0 @@
-// Copyright 2022 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-//go:generate go run generate.go
-
-// Package stdlib provides a table of all exported symbols in the
-// standard library, along with the version at which they first
-// appeared.
-package stdlib
-
-import (
- "fmt"
- "strings"
-)
-
-type Symbol struct {
- Name string
- Kind Kind
- Version Version // Go version that first included the symbol
-}
-
-// A Kind indicates the kind of a symbol:
-// function, variable, constant, type, and so on.
-type Kind int8
-
-const (
- Invalid Kind = iota // Example name:
- Type // "Buffer"
- Func // "Println"
- Var // "EOF"
- Const // "Pi"
- Field // "Point.X"
- Method // "(*Buffer).Grow"
-)
-
-func (kind Kind) String() string {
- return [...]string{
- Invalid: "invalid",
- Type: "type",
- Func: "func",
- Var: "var",
- Const: "const",
- Field: "field",
- Method: "method",
- }[kind]
-}
-
-// A Version represents a version of Go of the form "go1.%d".
-type Version int8
-
-// String returns a version string of the form "go1.23", without allocating.
-func (v Version) String() string { return versions[v] }
-
-var versions [30]string // (increase constant as needed)
-
-func init() {
- for i := range versions {
- versions[i] = fmt.Sprintf("go1.%d", i)
- }
-}
-
-// HasPackage reports whether the specified package path is part of
-// the standard library's public API.
-func HasPackage(path string) bool {
- _, ok := PackageSymbols[path]
- return ok
-}
-
-// SplitField splits the field symbol name into type and field
-// components. It must be called only on Field symbols.
-//
-// Example: "File.Package" -> ("File", "Package")
-func (sym *Symbol) SplitField() (typename, name string) {
- if sym.Kind != Field {
- panic("not a field")
- }
- typename, name, _ = strings.Cut(sym.Name, ".")
- return
-}
-
-// SplitMethod splits the method symbol name into pointer, receiver,
-// and method components. It must be called only on Method symbols.
-//
-// Example: "(*Buffer).Grow" -> (true, "Buffer", "Grow")
-func (sym *Symbol) SplitMethod() (ptr bool, recv, name string) {
- if sym.Kind != Method {
- panic("not a method")
- }
- recv, name, _ = strings.Cut(sym.Name, ".")
- recv = recv[len("(") : len(recv)-len(")")]
- ptr = recv[0] == '*'
- if ptr {
- recv = recv[len("*"):]
- }
- return
-}
diff --git a/vendor/golang.org/x/tools/internal/typeparams/common.go b/vendor/golang.org/x/tools/internal/typeparams/common.go
deleted file mode 100644
index 0b84acc5..00000000
--- a/vendor/golang.org/x/tools/internal/typeparams/common.go
+++ /dev/null
@@ -1,140 +0,0 @@
-// Copyright 2021 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-// Package typeparams contains common utilities for writing tools that
-// interact with generic Go code, as introduced with Go 1.18. It
-// supplements the standard library APIs. Notably, the StructuralTerms
-// API computes a minimal representation of the structural
-// restrictions on a type parameter.
-//
-// An external version of these APIs is available in the
-// golang.org/x/exp/typeparams module.
-package typeparams
-
-import (
- "go/ast"
- "go/token"
- "go/types"
-)
-
-// UnpackIndexExpr extracts data from AST nodes that represent index
-// expressions.
-//
-// For an ast.IndexExpr, the resulting indices slice will contain exactly one
-// index expression. For an ast.IndexListExpr (go1.18+), it may have a variable
-// number of index expressions.
-//
-// For nodes that don't represent index expressions, the first return value of
-// UnpackIndexExpr will be nil.
-func UnpackIndexExpr(n ast.Node) (x ast.Expr, lbrack token.Pos, indices []ast.Expr, rbrack token.Pos) {
- switch e := n.(type) {
- case *ast.IndexExpr:
- return e.X, e.Lbrack, []ast.Expr{e.Index}, e.Rbrack
- case *ast.IndexListExpr:
- return e.X, e.Lbrack, e.Indices, e.Rbrack
- }
- return nil, token.NoPos, nil, token.NoPos
-}
-
-// PackIndexExpr returns an *ast.IndexExpr or *ast.IndexListExpr, depending on
-// the cardinality of indices. Calling PackIndexExpr with len(indices) == 0
-// will panic.
-func PackIndexExpr(x ast.Expr, lbrack token.Pos, indices []ast.Expr, rbrack token.Pos) ast.Expr {
- switch len(indices) {
- case 0:
- panic("empty indices")
- case 1:
- return &ast.IndexExpr{
- X: x,
- Lbrack: lbrack,
- Index: indices[0],
- Rbrack: rbrack,
- }
- default:
- return &ast.IndexListExpr{
- X: x,
- Lbrack: lbrack,
- Indices: indices,
- Rbrack: rbrack,
- }
- }
-}
-
-// IsTypeParam reports whether t is a type parameter (or an alias of one).
-func IsTypeParam(t types.Type) bool {
- _, ok := types.Unalias(t).(*types.TypeParam)
- return ok
-}
-
-// GenericAssignableTo is a generalization of types.AssignableTo that
-// implements the following rule for uninstantiated generic types:
-//
-// If V and T are generic named types, then V is considered assignable to T if,
-// for every possible instantiation of V[A_1, ..., A_N], the instantiation
-// T[A_1, ..., A_N] is valid and V[A_1, ..., A_N] implements T[A_1, ..., A_N].
-//
-// If T has structural constraints, they must be satisfied by V.
-//
-// For example, consider the following type declarations:
-//
-// type Interface[T any] interface {
-// Accept(T)
-// }
-//
-// type Container[T any] struct {
-// Element T
-// }
-//
-// func (c Container[T]) Accept(t T) { c.Element = t }
-//
-// In this case, GenericAssignableTo reports that instantiations of Container
-// are assignable to the corresponding instantiation of Interface.
-func GenericAssignableTo(ctxt *types.Context, V, T types.Type) bool {
- V = types.Unalias(V)
- T = types.Unalias(T)
-
- // If V and T are not both named, or do not have matching non-empty type
- // parameter lists, fall back on types.AssignableTo.
-
- VN, Vnamed := V.(*types.Named)
- TN, Tnamed := T.(*types.Named)
- if !Vnamed || !Tnamed {
- return types.AssignableTo(V, T)
- }
-
- vtparams := VN.TypeParams()
- ttparams := TN.TypeParams()
- if vtparams.Len() == 0 || vtparams.Len() != ttparams.Len() || VN.TypeArgs().Len() != 0 || TN.TypeArgs().Len() != 0 {
- return types.AssignableTo(V, T)
- }
-
- // V and T have the same (non-zero) number of type params. Instantiate both
- // with the type parameters of V. This must always succeed for V, and will
- // succeed for T if and only if the type set of each type parameter of V is a
- // subset of the type set of the corresponding type parameter of T, meaning
- // that every instantiation of V corresponds to a valid instantiation of T.
-
- // Minor optimization: ensure we share a context across the two
- // instantiations below.
- if ctxt == nil {
- ctxt = types.NewContext()
- }
-
- var targs []types.Type
- for i := 0; i < vtparams.Len(); i++ {
- targs = append(targs, vtparams.At(i))
- }
-
- vinst, err := types.Instantiate(ctxt, V, targs, true)
- if err != nil {
- panic("type parameters should satisfy their own constraints")
- }
-
- tinst, err := types.Instantiate(ctxt, T, targs, true)
- if err != nil {
- return false
- }
-
- return types.AssignableTo(vinst, tinst)
-}
diff --git a/vendor/golang.org/x/tools/internal/typeparams/coretype.go b/vendor/golang.org/x/tools/internal/typeparams/coretype.go
deleted file mode 100644
index 6e83c6fb..00000000
--- a/vendor/golang.org/x/tools/internal/typeparams/coretype.go
+++ /dev/null
@@ -1,150 +0,0 @@
-// Copyright 2022 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package typeparams
-
-import (
- "fmt"
- "go/types"
-)
-
-// CoreType returns the core type of T or nil if T does not have a core type.
-//
-// See https://go.dev/ref/spec#Core_types for the definition of a core type.
-func CoreType(T types.Type) types.Type {
- U := T.Underlying()
- if _, ok := U.(*types.Interface); !ok {
- return U // for non-interface types,
- }
-
- terms, err := NormalTerms(U)
- if len(terms) == 0 || err != nil {
- // len(terms) -> empty type set of interface.
- // err != nil => U is invalid, exceeds complexity bounds, or has an empty type set.
- return nil // no core type.
- }
-
- U = terms[0].Type().Underlying()
- var identical int // i in [0,identical) => Identical(U, terms[i].Type().Underlying())
- for identical = 1; identical < len(terms); identical++ {
- if !types.Identical(U, terms[identical].Type().Underlying()) {
- break
- }
- }
-
- if identical == len(terms) {
- // https://go.dev/ref/spec#Core_types
- // "There is a single type U which is the underlying type of all types in the type set of T"
- return U
- }
- ch, ok := U.(*types.Chan)
- if !ok {
- return nil // no core type as identical < len(terms) and U is not a channel.
- }
- // https://go.dev/ref/spec#Core_types
- // "the type chan E if T contains only bidirectional channels, or the type chan<- E or
- // <-chan E depending on the direction of the directional channels present."
- for chans := identical; chans < len(terms); chans++ {
- curr, ok := terms[chans].Type().Underlying().(*types.Chan)
- if !ok {
- return nil
- }
- if !types.Identical(ch.Elem(), curr.Elem()) {
- return nil // channel elements are not identical.
- }
- if ch.Dir() == types.SendRecv {
- // ch is bidirectional. We can safely always use curr's direction.
- ch = curr
- } else if curr.Dir() != types.SendRecv && ch.Dir() != curr.Dir() {
- // ch and curr are not bidirectional and not the same direction.
- return nil
- }
- }
- return ch
-}
-
-// NormalTerms returns a slice of terms representing the normalized structural
-// type restrictions of a type, if any.
-//
-// For all types other than *types.TypeParam, *types.Interface, and
-// *types.Union, this is just a single term with Tilde() == false and
-// Type() == typ. For *types.TypeParam, *types.Interface, and *types.Union, see
-// below.
-//
-// Structural type restrictions of a type parameter are created via
-// non-interface types embedded in its constraint interface (directly, or via a
-// chain of interface embeddings). For example, in the declaration type
-// T[P interface{~int; m()}] int the structural restriction of the type
-// parameter P is ~int.
-//
-// With interface embedding and unions, the specification of structural type
-// restrictions may be arbitrarily complex. For example, consider the
-// following:
-//
-// type A interface{ ~string|~[]byte }
-//
-// type B interface{ int|string }
-//
-// type C interface { ~string|~int }
-//
-// type T[P interface{ A|B; C }] int
-//
-// In this example, the structural type restriction of P is ~string|int: A|B
-// expands to ~string|~[]byte|int|string, which reduces to ~string|~[]byte|int,
-// which when intersected with C (~string|~int) yields ~string|int.
-//
-// NormalTerms computes these expansions and reductions, producing a
-// "normalized" form of the embeddings. A structural restriction is normalized
-// if it is a single union containing no interface terms, and is minimal in the
-// sense that removing any term changes the set of types satisfying the
-// constraint. It is left as a proof for the reader that, modulo sorting, there
-// is exactly one such normalized form.
-//
-// Because the minimal representation always takes this form, NormalTerms
-// returns a slice of tilde terms corresponding to the terms of the union in
-// the normalized structural restriction. An error is returned if the type is
-// invalid, exceeds complexity bounds, or has an empty type set. In the latter
-// case, NormalTerms returns ErrEmptyTypeSet.
-//
-// NormalTerms makes no guarantees about the order of terms, except that it
-// is deterministic.
-func NormalTerms(typ types.Type) ([]*types.Term, error) {
- switch typ := typ.Underlying().(type) {
- case *types.TypeParam:
- return StructuralTerms(typ)
- case *types.Union:
- return UnionTermSet(typ)
- case *types.Interface:
- return InterfaceTermSet(typ)
- default:
- return []*types.Term{types.NewTerm(false, typ)}, nil
- }
-}
-
-// Deref returns the type of the variable pointed to by t,
-// if t's core type is a pointer; otherwise it returns t.
-//
-// Do not assume that Deref(T)==T implies T is not a pointer:
-// consider "type T *T", for example.
-//
-// TODO(adonovan): ideally this would live in typesinternal, but that
-// creates an import cycle. Move there when we melt this package down.
-func Deref(t types.Type) types.Type {
- if ptr, ok := CoreType(t).(*types.Pointer); ok {
- return ptr.Elem()
- }
- return t
-}
-
-// MustDeref returns the type of the variable pointed to by t.
-// It panics if t's core type is not a pointer.
-//
-// TODO(adonovan): ideally this would live in typesinternal, but that
-// creates an import cycle. Move there when we melt this package down.
-func MustDeref(t types.Type) types.Type {
- if ptr, ok := CoreType(t).(*types.Pointer); ok {
- return ptr.Elem()
- }
- panic(fmt.Sprintf("%v is not a pointer", t))
-}
diff --git a/vendor/golang.org/x/tools/internal/typeparams/free.go b/vendor/golang.org/x/tools/internal/typeparams/free.go
deleted file mode 100644
index 35810826..00000000
--- a/vendor/golang.org/x/tools/internal/typeparams/free.go
+++ /dev/null
@@ -1,118 +0,0 @@
-// Copyright 2024 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package typeparams
-
-import (
- "go/types"
-)
-
-// Free is a memoization of the set of free type parameters within a
-// type. It makes a sequence of calls to [Free.Has] for overlapping
-// types more efficient. The zero value is ready for use.
-//
-// NOTE: Adapted from go/types/infer.go. If it is later exported, factor.
-type Free struct {
- seen map[types.Type]bool
-}
-
-// Has reports whether the specified type has a free type parameter.
-func (w *Free) Has(typ types.Type) (res bool) {
- // detect cycles
- if x, ok := w.seen[typ]; ok {
- return x
- }
- if w.seen == nil {
- w.seen = make(map[types.Type]bool)
- }
- w.seen[typ] = false
- defer func() {
- w.seen[typ] = res
- }()
-
- switch t := typ.(type) {
- case nil, *types.Basic: // TODO(gri) should nil be handled here?
- break
-
- case *types.Alias:
- return w.Has(types.Unalias(t))
-
- case *types.Array:
- return w.Has(t.Elem())
-
- case *types.Slice:
- return w.Has(t.Elem())
-
- case *types.Struct:
- for i, n := 0, t.NumFields(); i < n; i++ {
- if w.Has(t.Field(i).Type()) {
- return true
- }
- }
-
- case *types.Pointer:
- return w.Has(t.Elem())
-
- case *types.Tuple:
- n := t.Len()
- for i := 0; i < n; i++ {
- if w.Has(t.At(i).Type()) {
- return true
- }
- }
-
- case *types.Signature:
- // t.tparams may not be nil if we are looking at a signature
- // of a generic function type (or an interface method) that is
- // part of the type we're testing. We don't care about these type
- // parameters.
- // Similarly, the receiver of a method may declare (rather than
- // use) type parameters, we don't care about those either.
- // Thus, we only need to look at the input and result parameters.
- return w.Has(t.Params()) || w.Has(t.Results())
-
- case *types.Interface:
- for i, n := 0, t.NumMethods(); i < n; i++ {
- if w.Has(t.Method(i).Type()) {
- return true
- }
- }
- terms, err := InterfaceTermSet(t)
- if err != nil {
- return false // ill typed
- }
- for _, term := range terms {
- if w.Has(term.Type()) {
- return true
- }
- }
-
- case *types.Map:
- return w.Has(t.Key()) || w.Has(t.Elem())
-
- case *types.Chan:
- return w.Has(t.Elem())
-
- case *types.Named:
- args := t.TypeArgs()
- // TODO(taking): this does not match go/types/infer.go. Check with rfindley.
- if params := t.TypeParams(); params.Len() > args.Len() {
- return true
- }
- for i, n := 0, args.Len(); i < n; i++ {
- if w.Has(args.At(i)) {
- return true
- }
- }
- return w.Has(t.Underlying()) // recurse for types local to parameterized functions
-
- case *types.TypeParam:
- return true
-
- default:
- panic(t) // unreachable
- }
-
- return false
-}
diff --git a/vendor/golang.org/x/tools/internal/typeparams/normalize.go b/vendor/golang.org/x/tools/internal/typeparams/normalize.go
deleted file mode 100644
index 93c80fdc..00000000
--- a/vendor/golang.org/x/tools/internal/typeparams/normalize.go
+++ /dev/null
@@ -1,218 +0,0 @@
-// Copyright 2021 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package typeparams
-
-import (
- "errors"
- "fmt"
- "go/types"
- "os"
- "strings"
-)
-
-//go:generate go run copytermlist.go
-
-const debug = false
-
-var ErrEmptyTypeSet = errors.New("empty type set")
-
-// StructuralTerms returns a slice of terms representing the normalized
-// structural type restrictions of a type parameter, if any.
-//
-// Structural type restrictions of a type parameter are created via
-// non-interface types embedded in its constraint interface (directly, or via a
-// chain of interface embeddings). For example, in the declaration
-//
-// type T[P interface{~int; m()}] int
-//
-// the structural restriction of the type parameter P is ~int.
-//
-// With interface embedding and unions, the specification of structural type
-// restrictions may be arbitrarily complex. For example, consider the
-// following:
-//
-// type A interface{ ~string|~[]byte }
-//
-// type B interface{ int|string }
-//
-// type C interface { ~string|~int }
-//
-// type T[P interface{ A|B; C }] int
-//
-// In this example, the structural type restriction of P is ~string|int: A|B
-// expands to ~string|~[]byte|int|string, which reduces to ~string|~[]byte|int,
-// which when intersected with C (~string|~int) yields ~string|int.
-//
-// StructuralTerms computes these expansions and reductions, producing a
-// "normalized" form of the embeddings. A structural restriction is normalized
-// if it is a single union containing no interface terms, and is minimal in the
-// sense that removing any term changes the set of types satisfying the
-// constraint. It is left as a proof for the reader that, modulo sorting, there
-// is exactly one such normalized form.
-//
-// Because the minimal representation always takes this form, StructuralTerms
-// returns a slice of tilde terms corresponding to the terms of the union in
-// the normalized structural restriction. An error is returned if the
-// constraint interface is invalid, exceeds complexity bounds, or has an empty
-// type set. In the latter case, StructuralTerms returns ErrEmptyTypeSet.
-//
-// StructuralTerms makes no guarantees about the order of terms, except that it
-// is deterministic.
-func StructuralTerms(tparam *types.TypeParam) ([]*types.Term, error) {
- constraint := tparam.Constraint()
- if constraint == nil {
- return nil, fmt.Errorf("%s has nil constraint", tparam)
- }
- iface, _ := constraint.Underlying().(*types.Interface)
- if iface == nil {
- return nil, fmt.Errorf("constraint is %T, not *types.Interface", constraint.Underlying())
- }
- return InterfaceTermSet(iface)
-}
-
-// InterfaceTermSet computes the normalized terms for a constraint interface,
-// returning an error if the term set cannot be computed or is empty. In the
-// latter case, the error will be ErrEmptyTypeSet.
-//
-// See the documentation of StructuralTerms for more information on
-// normalization.
-func InterfaceTermSet(iface *types.Interface) ([]*types.Term, error) {
- return computeTermSet(iface)
-}
-
-// UnionTermSet computes the normalized terms for a union, returning an error
-// if the term set cannot be computed or is empty. In the latter case, the
-// error will be ErrEmptyTypeSet.
-//
-// See the documentation of StructuralTerms for more information on
-// normalization.
-func UnionTermSet(union *types.Union) ([]*types.Term, error) {
- return computeTermSet(union)
-}
-
-func computeTermSet(typ types.Type) ([]*types.Term, error) {
- tset, err := computeTermSetInternal(typ, make(map[types.Type]*termSet), 0)
- if err != nil {
- return nil, err
- }
- if tset.terms.isEmpty() {
- return nil, ErrEmptyTypeSet
- }
- if tset.terms.isAll() {
- return nil, nil
- }
- var terms []*types.Term
- for _, term := range tset.terms {
- terms = append(terms, types.NewTerm(term.tilde, term.typ))
- }
- return terms, nil
-}
-
-// A termSet holds the normalized set of terms for a given type.
-//
-// The name termSet is intentionally distinct from 'type set': a type set is
-// all types that implement a type (and includes method restrictions), whereas
-// a term set just represents the structural restrictions on a type.
-type termSet struct {
- complete bool
- terms termlist
-}
-
-func indentf(depth int, format string, args ...interface{}) {
- fmt.Fprintf(os.Stderr, strings.Repeat(".", depth)+format+"\n", args...)
-}
-
-func computeTermSetInternal(t types.Type, seen map[types.Type]*termSet, depth int) (res *termSet, err error) {
- if t == nil {
- panic("nil type")
- }
-
- if debug {
- indentf(depth, "%s", t.String())
- defer func() {
- if err != nil {
- indentf(depth, "=> %s", err)
- } else {
- indentf(depth, "=> %s", res.terms.String())
- }
- }()
- }
-
- const maxTermCount = 100
- if tset, ok := seen[t]; ok {
- if !tset.complete {
- return nil, fmt.Errorf("cycle detected in the declaration of %s", t)
- }
- return tset, nil
- }
-
- // Mark the current type as seen to avoid infinite recursion.
- tset := new(termSet)
- defer func() {
- tset.complete = true
- }()
- seen[t] = tset
-
- switch u := t.Underlying().(type) {
- case *types.Interface:
- // The term set of an interface is the intersection of the term sets of its
- // embedded types.
- tset.terms = allTermlist
- for i := 0; i < u.NumEmbeddeds(); i++ {
- embedded := u.EmbeddedType(i)
- if _, ok := embedded.Underlying().(*types.TypeParam); ok {
- return nil, fmt.Errorf("invalid embedded type %T", embedded)
- }
- tset2, err := computeTermSetInternal(embedded, seen, depth+1)
- if err != nil {
- return nil, err
- }
- tset.terms = tset.terms.intersect(tset2.terms)
- }
- case *types.Union:
- // The term set of a union is the union of term sets of its terms.
- tset.terms = nil
- for i := 0; i < u.Len(); i++ {
- t := u.Term(i)
- var terms termlist
- switch t.Type().Underlying().(type) {
- case *types.Interface:
- tset2, err := computeTermSetInternal(t.Type(), seen, depth+1)
- if err != nil {
- return nil, err
- }
- terms = tset2.terms
- case *types.TypeParam, *types.Union:
- // A stand-alone type parameter or union is not permitted as union
- // term.
- return nil, fmt.Errorf("invalid union term %T", t)
- default:
- if t.Type() == types.Typ[types.Invalid] {
- continue
- }
- terms = termlist{{t.Tilde(), t.Type()}}
- }
- tset.terms = tset.terms.union(terms)
- if len(tset.terms) > maxTermCount {
- return nil, fmt.Errorf("exceeded max term count %d", maxTermCount)
- }
- }
- case *types.TypeParam:
- panic("unreachable")
- default:
- // For all other types, the term set is just a single non-tilde term
- // holding the type itself.
- if u != types.Typ[types.Invalid] {
- tset.terms = termlist{{false, t}}
- }
- }
- return tset, nil
-}
-
-// under is a facade for the go/types internal function of the same name. It is
-// used by typeterm.go.
-func under(t types.Type) types.Type {
- return t.Underlying()
-}
diff --git a/vendor/golang.org/x/tools/internal/typeparams/termlist.go b/vendor/golang.org/x/tools/internal/typeparams/termlist.go
deleted file mode 100644
index cbd12f80..00000000
--- a/vendor/golang.org/x/tools/internal/typeparams/termlist.go
+++ /dev/null
@@ -1,163 +0,0 @@
-// Copyright 2021 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-// Code generated by copytermlist.go DO NOT EDIT.
-
-package typeparams
-
-import (
- "bytes"
- "go/types"
-)
-
-// A termlist represents the type set represented by the union
-// t1 ∪ y2 ∪ ... tn of the type sets of the terms t1 to tn.
-// A termlist is in normal form if all terms are disjoint.
-// termlist operations don't require the operands to be in
-// normal form.
-type termlist []*term
-
-// allTermlist represents the set of all types.
-// It is in normal form.
-var allTermlist = termlist{new(term)}
-
-// String prints the termlist exactly (without normalization).
-func (xl termlist) String() string {
- if len(xl) == 0 {
- return "∅"
- }
- var buf bytes.Buffer
- for i, x := range xl {
- if i > 0 {
- buf.WriteString(" | ")
- }
- buf.WriteString(x.String())
- }
- return buf.String()
-}
-
-// isEmpty reports whether the termlist xl represents the empty set of types.
-func (xl termlist) isEmpty() bool {
- // If there's a non-nil term, the entire list is not empty.
- // If the termlist is in normal form, this requires at most
- // one iteration.
- for _, x := range xl {
- if x != nil {
- return false
- }
- }
- return true
-}
-
-// isAll reports whether the termlist xl represents the set of all types.
-func (xl termlist) isAll() bool {
- // If there's a 𝓤 term, the entire list is 𝓤.
- // If the termlist is in normal form, this requires at most
- // one iteration.
- for _, x := range xl {
- if x != nil && x.typ == nil {
- return true
- }
- }
- return false
-}
-
-// norm returns the normal form of xl.
-func (xl termlist) norm() termlist {
- // Quadratic algorithm, but good enough for now.
- // TODO(gri) fix asymptotic performance
- used := make([]bool, len(xl))
- var rl termlist
- for i, xi := range xl {
- if xi == nil || used[i] {
- continue
- }
- for j := i + 1; j < len(xl); j++ {
- xj := xl[j]
- if xj == nil || used[j] {
- continue
- }
- if u1, u2 := xi.union(xj); u2 == nil {
- // If we encounter a 𝓤 term, the entire list is 𝓤.
- // Exit early.
- // (Note that this is not just an optimization;
- // if we continue, we may end up with a 𝓤 term
- // and other terms and the result would not be
- // in normal form.)
- if u1.typ == nil {
- return allTermlist
- }
- xi = u1
- used[j] = true // xj is now unioned into xi - ignore it in future iterations
- }
- }
- rl = append(rl, xi)
- }
- return rl
-}
-
-// union returns the union xl ∪ yl.
-func (xl termlist) union(yl termlist) termlist {
- return append(xl, yl...).norm()
-}
-
-// intersect returns the intersection xl ∩ yl.
-func (xl termlist) intersect(yl termlist) termlist {
- if xl.isEmpty() || yl.isEmpty() {
- return nil
- }
-
- // Quadratic algorithm, but good enough for now.
- // TODO(gri) fix asymptotic performance
- var rl termlist
- for _, x := range xl {
- for _, y := range yl {
- if r := x.intersect(y); r != nil {
- rl = append(rl, r)
- }
- }
- }
- return rl.norm()
-}
-
-// equal reports whether xl and yl represent the same type set.
-func (xl termlist) equal(yl termlist) bool {
- // TODO(gri) this should be more efficient
- return xl.subsetOf(yl) && yl.subsetOf(xl)
-}
-
-// includes reports whether t ∈ xl.
-func (xl termlist) includes(t types.Type) bool {
- for _, x := range xl {
- if x.includes(t) {
- return true
- }
- }
- return false
-}
-
-// supersetOf reports whether y ⊆ xl.
-func (xl termlist) supersetOf(y *term) bool {
- for _, x := range xl {
- if y.subsetOf(x) {
- return true
- }
- }
- return false
-}
-
-// subsetOf reports whether xl ⊆ yl.
-func (xl termlist) subsetOf(yl termlist) bool {
- if yl.isEmpty() {
- return xl.isEmpty()
- }
-
- // each term x of xl must be a subset of yl
- for _, x := range xl {
- if !yl.supersetOf(x) {
- return false // x is not a subset yl
- }
- }
- return true
-}
diff --git a/vendor/golang.org/x/tools/internal/typeparams/typeterm.go b/vendor/golang.org/x/tools/internal/typeparams/typeterm.go
deleted file mode 100644
index 7350bb70..00000000
--- a/vendor/golang.org/x/tools/internal/typeparams/typeterm.go
+++ /dev/null
@@ -1,169 +0,0 @@
-// Copyright 2021 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-// Code generated by copytermlist.go DO NOT EDIT.
-
-package typeparams
-
-import "go/types"
-
-// A term describes elementary type sets:
-//
-// ∅: (*term)(nil) == ∅ // set of no types (empty set)
-// 𝓤: &term{} == 𝓤 // set of all types (𝓤niverse)
-// T: &term{false, T} == {T} // set of type T
-// ~t: &term{true, t} == {t' | under(t') == t} // set of types with underlying type t
-type term struct {
- tilde bool // valid if typ != nil
- typ types.Type
-}
-
-func (x *term) String() string {
- switch {
- case x == nil:
- return "∅"
- case x.typ == nil:
- return "𝓤"
- case x.tilde:
- return "~" + x.typ.String()
- default:
- return x.typ.String()
- }
-}
-
-// equal reports whether x and y represent the same type set.
-func (x *term) equal(y *term) bool {
- // easy cases
- switch {
- case x == nil || y == nil:
- return x == y
- case x.typ == nil || y.typ == nil:
- return x.typ == y.typ
- }
- // ∅ ⊂ x, y ⊂ 𝓤
-
- return x.tilde == y.tilde && types.Identical(x.typ, y.typ)
-}
-
-// union returns the union x ∪ y: zero, one, or two non-nil terms.
-func (x *term) union(y *term) (_, _ *term) {
- // easy cases
- switch {
- case x == nil && y == nil:
- return nil, nil // ∅ ∪ ∅ == ∅
- case x == nil:
- return y, nil // ∅ ∪ y == y
- case y == nil:
- return x, nil // x ∪ ∅ == x
- case x.typ == nil:
- return x, nil // 𝓤 ∪ y == 𝓤
- case y.typ == nil:
- return y, nil // x ∪ 𝓤 == 𝓤
- }
- // ∅ ⊂ x, y ⊂ 𝓤
-
- if x.disjoint(y) {
- return x, y // x ∪ y == (x, y) if x ∩ y == ∅
- }
- // x.typ == y.typ
-
- // ~t ∪ ~t == ~t
- // ~t ∪ T == ~t
- // T ∪ ~t == ~t
- // T ∪ T == T
- if x.tilde || !y.tilde {
- return x, nil
- }
- return y, nil
-}
-
-// intersect returns the intersection x ∩ y.
-func (x *term) intersect(y *term) *term {
- // easy cases
- switch {
- case x == nil || y == nil:
- return nil // ∅ ∩ y == ∅ and ∩ ∅ == ∅
- case x.typ == nil:
- return y // 𝓤 ∩ y == y
- case y.typ == nil:
- return x // x ∩ 𝓤 == x
- }
- // ∅ ⊂ x, y ⊂ 𝓤
-
- if x.disjoint(y) {
- return nil // x ∩ y == ∅ if x ∩ y == ∅
- }
- // x.typ == y.typ
-
- // ~t ∩ ~t == ~t
- // ~t ∩ T == T
- // T ∩ ~t == T
- // T ∩ T == T
- if !x.tilde || y.tilde {
- return x
- }
- return y
-}
-
-// includes reports whether t ∈ x.
-func (x *term) includes(t types.Type) bool {
- // easy cases
- switch {
- case x == nil:
- return false // t ∈ ∅ == false
- case x.typ == nil:
- return true // t ∈ 𝓤 == true
- }
- // ∅ ⊂ x ⊂ 𝓤
-
- u := t
- if x.tilde {
- u = under(u)
- }
- return types.Identical(x.typ, u)
-}
-
-// subsetOf reports whether x ⊆ y.
-func (x *term) subsetOf(y *term) bool {
- // easy cases
- switch {
- case x == nil:
- return true // ∅ ⊆ y == true
- case y == nil:
- return false // x ⊆ ∅ == false since x != ∅
- case y.typ == nil:
- return true // x ⊆ 𝓤 == true
- case x.typ == nil:
- return false // 𝓤 ⊆ y == false since y != 𝓤
- }
- // ∅ ⊂ x, y ⊂ 𝓤
-
- if x.disjoint(y) {
- return false // x ⊆ y == false if x ∩ y == ∅
- }
- // x.typ == y.typ
-
- // ~t ⊆ ~t == true
- // ~t ⊆ T == false
- // T ⊆ ~t == true
- // T ⊆ T == true
- return !x.tilde || y.tilde
-}
-
-// disjoint reports whether x ∩ y == ∅.
-// x.typ and y.typ must not be nil.
-func (x *term) disjoint(y *term) bool {
- if debug && (x.typ == nil || y.typ == nil) {
- panic("invalid argument(s)")
- }
- ux := x.typ
- if y.tilde {
- ux = under(ux)
- }
- uy := y.typ
- if x.tilde {
- uy = under(uy)
- }
- return !types.Identical(ux, uy)
-}
diff --git a/vendor/golang.org/x/tools/internal/typesinternal/element.go b/vendor/golang.org/x/tools/internal/typesinternal/element.go
deleted file mode 100644
index 4957f021..00000000
--- a/vendor/golang.org/x/tools/internal/typesinternal/element.go
+++ /dev/null
@@ -1,133 +0,0 @@
-// Copyright 2024 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package typesinternal
-
-import (
- "fmt"
- "go/types"
-
- "golang.org/x/tools/go/types/typeutil"
-)
-
-// ForEachElement calls f for type T and each type reachable from its
-// type through reflection. It does this by recursively stripping off
-// type constructors; in addition, for each named type N, the type *N
-// is added to the result as it may have additional methods.
-//
-// The caller must provide an initially empty set used to de-duplicate
-// identical types, potentially across multiple calls to ForEachElement.
-// (Its final value holds all the elements seen, matching the arguments
-// passed to f.)
-//
-// TODO(adonovan): share/harmonize with go/callgraph/rta.
-func ForEachElement(rtypes *typeutil.Map, msets *typeutil.MethodSetCache, T types.Type, f func(types.Type)) {
- var visit func(T types.Type, skip bool)
- visit = func(T types.Type, skip bool) {
- if !skip {
- if seen, _ := rtypes.Set(T, true).(bool); seen {
- return // de-dup
- }
-
- f(T) // notify caller of new element type
- }
-
- // Recursion over signatures of each method.
- tmset := msets.MethodSet(T)
- for i := 0; i < tmset.Len(); i++ {
- sig := tmset.At(i).Type().(*types.Signature)
- // It is tempting to call visit(sig, false)
- // but, as noted in golang.org/cl/65450043,
- // the Signature.Recv field is ignored by
- // types.Identical and typeutil.Map, which
- // is confusing at best.
- //
- // More importantly, the true signature rtype
- // reachable from a method using reflection
- // has no receiver but an extra ordinary parameter.
- // For the Read method of io.Reader we want:
- // func(Reader, []byte) (int, error)
- // but here sig is:
- // func([]byte) (int, error)
- // with .Recv = Reader (though it is hard to
- // notice because it doesn't affect Signature.String
- // or types.Identical).
- //
- // TODO(adonovan): construct and visit the correct
- // non-method signature with an extra parameter
- // (though since unnamed func types have no methods
- // there is essentially no actual demand for this).
- //
- // TODO(adonovan): document whether or not it is
- // safe to skip non-exported methods (as RTA does).
- visit(sig.Params(), true) // skip the Tuple
- visit(sig.Results(), true) // skip the Tuple
- }
-
- switch T := T.(type) {
- case *types.Alias:
- visit(types.Unalias(T), skip) // emulates the pre-Alias behavior
-
- case *types.Basic:
- // nop
-
- case *types.Interface:
- // nop---handled by recursion over method set.
-
- case *types.Pointer:
- visit(T.Elem(), false)
-
- case *types.Slice:
- visit(T.Elem(), false)
-
- case *types.Chan:
- visit(T.Elem(), false)
-
- case *types.Map:
- visit(T.Key(), false)
- visit(T.Elem(), false)
-
- case *types.Signature:
- if T.Recv() != nil {
- panic(fmt.Sprintf("Signature %s has Recv %s", T, T.Recv()))
- }
- visit(T.Params(), true) // skip the Tuple
- visit(T.Results(), true) // skip the Tuple
-
- case *types.Named:
- // A pointer-to-named type can be derived from a named
- // type via reflection. It may have methods too.
- visit(types.NewPointer(T), false)
-
- // Consider 'type T struct{S}' where S has methods.
- // Reflection provides no way to get from T to struct{S},
- // only to S, so the method set of struct{S} is unwanted,
- // so set 'skip' flag during recursion.
- visit(T.Underlying(), true) // skip the unnamed type
-
- case *types.Array:
- visit(T.Elem(), false)
-
- case *types.Struct:
- for i, n := 0, T.NumFields(); i < n; i++ {
- // TODO(adonovan): document whether or not
- // it is safe to skip non-exported fields.
- visit(T.Field(i).Type(), false)
- }
-
- case *types.Tuple:
- for i, n := 0, T.Len(); i < n; i++ {
- visit(T.At(i).Type(), false)
- }
-
- case *types.TypeParam, *types.Union:
- // forEachReachable must not be called on parameterized types.
- panic(T)
-
- default:
- panic(T)
- }
- }
- visit(T, false)
-}
diff --git a/vendor/golang.org/x/tools/internal/typesinternal/errorcode.go b/vendor/golang.org/x/tools/internal/typesinternal/errorcode.go
deleted file mode 100644
index 131caab2..00000000
--- a/vendor/golang.org/x/tools/internal/typesinternal/errorcode.go
+++ /dev/null
@@ -1,1560 +0,0 @@
-// Copyright 2020 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package typesinternal
-
-//go:generate stringer -type=ErrorCode
-
-type ErrorCode int
-
-// This file defines the error codes that can be produced during type-checking.
-// Collectively, these codes provide an identifier that may be used to
-// implement special handling for certain types of errors.
-//
-// Error codes should be fine-grained enough that the exact nature of the error
-// can be easily determined, but coarse enough that they are not an
-// implementation detail of the type checking algorithm. As a rule-of-thumb,
-// errors should be considered equivalent if there is a theoretical refactoring
-// of the type checker in which they are emitted in exactly one place. For
-// example, the type checker emits different error messages for "too many
-// arguments" and "too few arguments", but one can imagine an alternative type
-// checker where this check instead just emits a single "wrong number of
-// arguments", so these errors should have the same code.
-//
-// Error code names should be as brief as possible while retaining accuracy and
-// distinctiveness. In most cases names should start with an adjective
-// describing the nature of the error (e.g. "invalid", "unused", "misplaced"),
-// and end with a noun identifying the relevant language object. For example,
-// "DuplicateDecl" or "InvalidSliceExpr". For brevity, naming follows the
-// convention that "bad" implies a problem with syntax, and "invalid" implies a
-// problem with types.
-
-const (
- // InvalidSyntaxTree occurs if an invalid syntax tree is provided
- // to the type checker. It should never happen.
- InvalidSyntaxTree ErrorCode = -1
-)
-
-const (
- _ ErrorCode = iota
-
- // Test is reserved for errors that only apply while in self-test mode.
- Test
-
- /* package names */
-
- // BlankPkgName occurs when a package name is the blank identifier "_".
- //
- // Per the spec:
- // "The PackageName must not be the blank identifier."
- BlankPkgName
-
- // MismatchedPkgName occurs when a file's package name doesn't match the
- // package name already established by other files.
- MismatchedPkgName
-
- // InvalidPkgUse occurs when a package identifier is used outside of a
- // selector expression.
- //
- // Example:
- // import "fmt"
- //
- // var _ = fmt
- InvalidPkgUse
-
- /* imports */
-
- // BadImportPath occurs when an import path is not valid.
- BadImportPath
-
- // BrokenImport occurs when importing a package fails.
- //
- // Example:
- // import "amissingpackage"
- BrokenImport
-
- // ImportCRenamed occurs when the special import "C" is renamed. "C" is a
- // pseudo-package, and must not be renamed.
- //
- // Example:
- // import _ "C"
- ImportCRenamed
-
- // UnusedImport occurs when an import is unused.
- //
- // Example:
- // import "fmt"
- //
- // func main() {}
- UnusedImport
-
- /* initialization */
-
- // InvalidInitCycle occurs when an invalid cycle is detected within the
- // initialization graph.
- //
- // Example:
- // var x int = f()
- //
- // func f() int { return x }
- InvalidInitCycle
-
- /* decls */
-
- // DuplicateDecl occurs when an identifier is declared multiple times.
- //
- // Example:
- // var x = 1
- // var x = 2
- DuplicateDecl
-
- // InvalidDeclCycle occurs when a declaration cycle is not valid.
- //
- // Example:
- // import "unsafe"
- //
- // type T struct {
- // a [n]int
- // }
- //
- // var n = unsafe.Sizeof(T{})
- InvalidDeclCycle
-
- // InvalidTypeCycle occurs when a cycle in type definitions results in a
- // type that is not well-defined.
- //
- // Example:
- // import "unsafe"
- //
- // type T [unsafe.Sizeof(T{})]int
- InvalidTypeCycle
-
- /* decls > const */
-
- // InvalidConstInit occurs when a const declaration has a non-constant
- // initializer.
- //
- // Example:
- // var x int
- // const _ = x
- InvalidConstInit
-
- // InvalidConstVal occurs when a const value cannot be converted to its
- // target type.
- //
- // TODO(findleyr): this error code and example are not very clear. Consider
- // removing it.
- //
- // Example:
- // const _ = 1 << "hello"
- InvalidConstVal
-
- // InvalidConstType occurs when the underlying type in a const declaration
- // is not a valid constant type.
- //
- // Example:
- // const c *int = 4
- InvalidConstType
-
- /* decls > var (+ other variable assignment codes) */
-
- // UntypedNilUse occurs when the predeclared (untyped) value nil is used to
- // initialize a variable declared without an explicit type.
- //
- // Example:
- // var x = nil
- UntypedNilUse
-
- // WrongAssignCount occurs when the number of values on the right-hand side
- // of an assignment or initialization expression does not match the number
- // of variables on the left-hand side.
- //
- // Example:
- // var x = 1, 2
- WrongAssignCount
-
- // UnassignableOperand occurs when the left-hand side of an assignment is
- // not assignable.
- //
- // Example:
- // func f() {
- // const c = 1
- // c = 2
- // }
- UnassignableOperand
-
- // NoNewVar occurs when a short variable declaration (':=') does not declare
- // new variables.
- //
- // Example:
- // func f() {
- // x := 1
- // x := 2
- // }
- NoNewVar
-
- // MultiValAssignOp occurs when an assignment operation (+=, *=, etc) does
- // not have single-valued left-hand or right-hand side.
- //
- // Per the spec:
- // "In assignment operations, both the left- and right-hand expression lists
- // must contain exactly one single-valued expression"
- //
- // Example:
- // func f() int {
- // x, y := 1, 2
- // x, y += 1
- // return x + y
- // }
- MultiValAssignOp
-
- // InvalidIfaceAssign occurs when a value of type T is used as an
- // interface, but T does not implement a method of the expected interface.
- //
- // Example:
- // type I interface {
- // f()
- // }
- //
- // type T int
- //
- // var x I = T(1)
- InvalidIfaceAssign
-
- // InvalidChanAssign occurs when a chan assignment is invalid.
- //
- // Per the spec, a value x is assignable to a channel type T if:
- // "x is a bidirectional channel value, T is a channel type, x's type V and
- // T have identical element types, and at least one of V or T is not a
- // defined type."
- //
- // Example:
- // type T1 chan int
- // type T2 chan int
- //
- // var x T1
- // // Invalid assignment because both types are named
- // var _ T2 = x
- InvalidChanAssign
-
- // IncompatibleAssign occurs when the type of the right-hand side expression
- // in an assignment cannot be assigned to the type of the variable being
- // assigned.
- //
- // Example:
- // var x []int
- // var _ int = x
- IncompatibleAssign
-
- // UnaddressableFieldAssign occurs when trying to assign to a struct field
- // in a map value.
- //
- // Example:
- // func f() {
- // m := make(map[string]struct{i int})
- // m["foo"].i = 42
- // }
- UnaddressableFieldAssign
-
- /* decls > type (+ other type expression codes) */
-
- // NotAType occurs when the identifier used as the underlying type in a type
- // declaration or the right-hand side of a type alias does not denote a type.
- //
- // Example:
- // var S = 2
- //
- // type T S
- NotAType
-
- // InvalidArrayLen occurs when an array length is not a constant value.
- //
- // Example:
- // var n = 3
- // var _ = [n]int{}
- InvalidArrayLen
-
- // BlankIfaceMethod occurs when a method name is '_'.
- //
- // Per the spec:
- // "The name of each explicitly specified method must be unique and not
- // blank."
- //
- // Example:
- // type T interface {
- // _(int)
- // }
- BlankIfaceMethod
-
- // IncomparableMapKey occurs when a map key type does not support the == and
- // != operators.
- //
- // Per the spec:
- // "The comparison operators == and != must be fully defined for operands of
- // the key type; thus the key type must not be a function, map, or slice."
- //
- // Example:
- // var x map[T]int
- //
- // type T []int
- IncomparableMapKey
-
- // InvalidIfaceEmbed occurs when a non-interface type is embedded in an
- // interface.
- //
- // Example:
- // type T struct {}
- //
- // func (T) m()
- //
- // type I interface {
- // T
- // }
- InvalidIfaceEmbed
-
- // InvalidPtrEmbed occurs when an embedded field is of the pointer form *T,
- // and T itself is itself a pointer, an unsafe.Pointer, or an interface.
- //
- // Per the spec:
- // "An embedded field must be specified as a type name T or as a pointer to
- // a non-interface type name *T, and T itself may not be a pointer type."
- //
- // Example:
- // type T *int
- //
- // type S struct {
- // *T
- // }
- InvalidPtrEmbed
-
- /* decls > func and method */
-
- // BadRecv occurs when a method declaration does not have exactly one
- // receiver parameter.
- //
- // Example:
- // func () _() {}
- BadRecv
-
- // InvalidRecv occurs when a receiver type expression is not of the form T
- // or *T, or T is a pointer type.
- //
- // Example:
- // type T struct {}
- //
- // func (**T) m() {}
- InvalidRecv
-
- // DuplicateFieldAndMethod occurs when an identifier appears as both a field
- // and method name.
- //
- // Example:
- // type T struct {
- // m int
- // }
- //
- // func (T) m() {}
- DuplicateFieldAndMethod
-
- // DuplicateMethod occurs when two methods on the same receiver type have
- // the same name.
- //
- // Example:
- // type T struct {}
- // func (T) m() {}
- // func (T) m(i int) int { return i }
- DuplicateMethod
-
- /* decls > special */
-
- // InvalidBlank occurs when a blank identifier is used as a value or type.
- //
- // Per the spec:
- // "The blank identifier may appear as an operand only on the left-hand side
- // of an assignment."
- //
- // Example:
- // var x = _
- InvalidBlank
-
- // InvalidIota occurs when the predeclared identifier iota is used outside
- // of a constant declaration.
- //
- // Example:
- // var x = iota
- InvalidIota
-
- // MissingInitBody occurs when an init function is missing its body.
- //
- // Example:
- // func init()
- MissingInitBody
-
- // InvalidInitSig occurs when an init function declares parameters or
- // results.
- //
- // Example:
- // func init() int { return 1 }
- InvalidInitSig
-
- // InvalidInitDecl occurs when init is declared as anything other than a
- // function.
- //
- // Example:
- // var init = 1
- InvalidInitDecl
-
- // InvalidMainDecl occurs when main is declared as anything other than a
- // function, in a main package.
- InvalidMainDecl
-
- /* exprs */
-
- // TooManyValues occurs when a function returns too many values for the
- // expression context in which it is used.
- //
- // Example:
- // func ReturnTwo() (int, int) {
- // return 1, 2
- // }
- //
- // var x = ReturnTwo()
- TooManyValues
-
- // NotAnExpr occurs when a type expression is used where a value expression
- // is expected.
- //
- // Example:
- // type T struct {}
- //
- // func f() {
- // T
- // }
- NotAnExpr
-
- /* exprs > const */
-
- // TruncatedFloat occurs when a float constant is truncated to an integer
- // value.
- //
- // Example:
- // var _ int = 98.6
- TruncatedFloat
-
- // NumericOverflow occurs when a numeric constant overflows its target type.
- //
- // Example:
- // var x int8 = 1000
- NumericOverflow
-
- /* exprs > operation */
-
- // UndefinedOp occurs when an operator is not defined for the type(s) used
- // in an operation.
- //
- // Example:
- // var c = "a" - "b"
- UndefinedOp
-
- // MismatchedTypes occurs when operand types are incompatible in a binary
- // operation.
- //
- // Example:
- // var a = "hello"
- // var b = 1
- // var c = a - b
- MismatchedTypes
-
- // DivByZero occurs when a division operation is provable at compile
- // time to be a division by zero.
- //
- // Example:
- // const divisor = 0
- // var x int = 1/divisor
- DivByZero
-
- // NonNumericIncDec occurs when an increment or decrement operator is
- // applied to a non-numeric value.
- //
- // Example:
- // func f() {
- // var c = "c"
- // c++
- // }
- NonNumericIncDec
-
- /* exprs > ptr */
-
- // UnaddressableOperand occurs when the & operator is applied to an
- // unaddressable expression.
- //
- // Example:
- // var x = &1
- UnaddressableOperand
-
- // InvalidIndirection occurs when a non-pointer value is indirected via the
- // '*' operator.
- //
- // Example:
- // var x int
- // var y = *x
- InvalidIndirection
-
- /* exprs > [] */
-
- // NonIndexableOperand occurs when an index operation is applied to a value
- // that cannot be indexed.
- //
- // Example:
- // var x = 1
- // var y = x[1]
- NonIndexableOperand
-
- // InvalidIndex occurs when an index argument is not of integer type,
- // negative, or out-of-bounds.
- //
- // Example:
- // var s = [...]int{1,2,3}
- // var x = s[5]
- //
- // Example:
- // var s = []int{1,2,3}
- // var _ = s[-1]
- //
- // Example:
- // var s = []int{1,2,3}
- // var i string
- // var _ = s[i]
- InvalidIndex
-
- // SwappedSliceIndices occurs when constant indices in a slice expression
- // are decreasing in value.
- //
- // Example:
- // var _ = []int{1,2,3}[2:1]
- SwappedSliceIndices
-
- /* operators > slice */
-
- // NonSliceableOperand occurs when a slice operation is applied to a value
- // whose type is not sliceable, or is unaddressable.
- //
- // Example:
- // var x = [...]int{1, 2, 3}[:1]
- //
- // Example:
- // var x = 1
- // var y = 1[:1]
- NonSliceableOperand
-
- // InvalidSliceExpr occurs when a three-index slice expression (a[x:y:z]) is
- // applied to a string.
- //
- // Example:
- // var s = "hello"
- // var x = s[1:2:3]
- InvalidSliceExpr
-
- /* exprs > shift */
-
- // InvalidShiftCount occurs when the right-hand side of a shift operation is
- // either non-integer, negative, or too large.
- //
- // Example:
- // var (
- // x string
- // y int = 1 << x
- // )
- InvalidShiftCount
-
- // InvalidShiftOperand occurs when the shifted operand is not an integer.
- //
- // Example:
- // var s = "hello"
- // var x = s << 2
- InvalidShiftOperand
-
- /* exprs > chan */
-
- // InvalidReceive occurs when there is a channel receive from a value that
- // is either not a channel, or is a send-only channel.
- //
- // Example:
- // func f() {
- // var x = 1
- // <-x
- // }
- InvalidReceive
-
- // InvalidSend occurs when there is a channel send to a value that is not a
- // channel, or is a receive-only channel.
- //
- // Example:
- // func f() {
- // var x = 1
- // x <- "hello!"
- // }
- InvalidSend
-
- /* exprs > literal */
-
- // DuplicateLitKey occurs when an index is duplicated in a slice, array, or
- // map literal.
- //
- // Example:
- // var _ = []int{0:1, 0:2}
- //
- // Example:
- // var _ = map[string]int{"a": 1, "a": 2}
- DuplicateLitKey
-
- // MissingLitKey occurs when a map literal is missing a key expression.
- //
- // Example:
- // var _ = map[string]int{1}
- MissingLitKey
-
- // InvalidLitIndex occurs when the key in a key-value element of a slice or
- // array literal is not an integer constant.
- //
- // Example:
- // var i = 0
- // var x = []string{i: "world"}
- InvalidLitIndex
-
- // OversizeArrayLit occurs when an array literal exceeds its length.
- //
- // Example:
- // var _ = [2]int{1,2,3}
- OversizeArrayLit
-
- // MixedStructLit occurs when a struct literal contains a mix of positional
- // and named elements.
- //
- // Example:
- // var _ = struct{i, j int}{i: 1, 2}
- MixedStructLit
-
- // InvalidStructLit occurs when a positional struct literal has an incorrect
- // number of values.
- //
- // Example:
- // var _ = struct{i, j int}{1,2,3}
- InvalidStructLit
-
- // MissingLitField occurs when a struct literal refers to a field that does
- // not exist on the struct type.
- //
- // Example:
- // var _ = struct{i int}{j: 2}
- MissingLitField
-
- // DuplicateLitField occurs when a struct literal contains duplicated
- // fields.
- //
- // Example:
- // var _ = struct{i int}{i: 1, i: 2}
- DuplicateLitField
-
- // UnexportedLitField occurs when a positional struct literal implicitly
- // assigns an unexported field of an imported type.
- UnexportedLitField
-
- // InvalidLitField occurs when a field name is not a valid identifier.
- //
- // Example:
- // var _ = struct{i int}{1: 1}
- InvalidLitField
-
- // UntypedLit occurs when a composite literal omits a required type
- // identifier.
- //
- // Example:
- // type outer struct{
- // inner struct { i int }
- // }
- //
- // var _ = outer{inner: {1}}
- UntypedLit
-
- // InvalidLit occurs when a composite literal expression does not match its
- // type.
- //
- // Example:
- // type P *struct{
- // x int
- // }
- // var _ = P {}
- InvalidLit
-
- /* exprs > selector */
-
- // AmbiguousSelector occurs when a selector is ambiguous.
- //
- // Example:
- // type E1 struct { i int }
- // type E2 struct { i int }
- // type T struct { E1; E2 }
- //
- // var x T
- // var _ = x.i
- AmbiguousSelector
-
- // UndeclaredImportedName occurs when a package-qualified identifier is
- // undeclared by the imported package.
- //
- // Example:
- // import "go/types"
- //
- // var _ = types.NotAnActualIdentifier
- UndeclaredImportedName
-
- // UnexportedName occurs when a selector refers to an unexported identifier
- // of an imported package.
- //
- // Example:
- // import "reflect"
- //
- // type _ reflect.flag
- UnexportedName
-
- // UndeclaredName occurs when an identifier is not declared in the current
- // scope.
- //
- // Example:
- // var x T
- UndeclaredName
-
- // MissingFieldOrMethod occurs when a selector references a field or method
- // that does not exist.
- //
- // Example:
- // type T struct {}
- //
- // var x = T{}.f
- MissingFieldOrMethod
-
- /* exprs > ... */
-
- // BadDotDotDotSyntax occurs when a "..." occurs in a context where it is
- // not valid.
- //
- // Example:
- // var _ = map[int][...]int{0: {}}
- BadDotDotDotSyntax
-
- // NonVariadicDotDotDot occurs when a "..." is used on the final argument to
- // a non-variadic function.
- //
- // Example:
- // func printArgs(s []string) {
- // for _, a := range s {
- // println(a)
- // }
- // }
- //
- // func f() {
- // s := []string{"a", "b", "c"}
- // printArgs(s...)
- // }
- NonVariadicDotDotDot
-
- // MisplacedDotDotDot occurs when a "..." is used somewhere other than the
- // final argument to a function call.
- //
- // Example:
- // func printArgs(args ...int) {
- // for _, a := range args {
- // println(a)
- // }
- // }
- //
- // func f() {
- // a := []int{1,2,3}
- // printArgs(0, a...)
- // }
- MisplacedDotDotDot
-
- // InvalidDotDotDotOperand occurs when a "..." operator is applied to a
- // single-valued operand.
- //
- // Example:
- // func printArgs(args ...int) {
- // for _, a := range args {
- // println(a)
- // }
- // }
- //
- // func f() {
- // a := 1
- // printArgs(a...)
- // }
- //
- // Example:
- // func args() (int, int) {
- // return 1, 2
- // }
- //
- // func printArgs(args ...int) {
- // for _, a := range args {
- // println(a)
- // }
- // }
- //
- // func g() {
- // printArgs(args()...)
- // }
- InvalidDotDotDotOperand
-
- // InvalidDotDotDot occurs when a "..." is used in a non-variadic built-in
- // function.
- //
- // Example:
- // var s = []int{1, 2, 3}
- // var l = len(s...)
- InvalidDotDotDot
-
- /* exprs > built-in */
-
- // UncalledBuiltin occurs when a built-in function is used as a
- // function-valued expression, instead of being called.
- //
- // Per the spec:
- // "The built-in functions do not have standard Go types, so they can only
- // appear in call expressions; they cannot be used as function values."
- //
- // Example:
- // var _ = copy
- UncalledBuiltin
-
- // InvalidAppend occurs when append is called with a first argument that is
- // not a slice.
- //
- // Example:
- // var _ = append(1, 2)
- InvalidAppend
-
- // InvalidCap occurs when an argument to the cap built-in function is not of
- // supported type.
- //
- // See https://golang.org/ref/spec#Length_and_capacity for information on
- // which underlying types are supported as arguments to cap and len.
- //
- // Example:
- // var s = 2
- // var x = cap(s)
- InvalidCap
-
- // InvalidClose occurs when close(...) is called with an argument that is
- // not of channel type, or that is a receive-only channel.
- //
- // Example:
- // func f() {
- // var x int
- // close(x)
- // }
- InvalidClose
-
- // InvalidCopy occurs when the arguments are not of slice type or do not
- // have compatible type.
- //
- // See https://golang.org/ref/spec#Appending_and_copying_slices for more
- // information on the type requirements for the copy built-in.
- //
- // Example:
- // func f() {
- // var x []int
- // y := []int64{1,2,3}
- // copy(x, y)
- // }
- InvalidCopy
-
- // InvalidComplex occurs when the complex built-in function is called with
- // arguments with incompatible types.
- //
- // Example:
- // var _ = complex(float32(1), float64(2))
- InvalidComplex
-
- // InvalidDelete occurs when the delete built-in function is called with a
- // first argument that is not a map.
- //
- // Example:
- // func f() {
- // m := "hello"
- // delete(m, "e")
- // }
- InvalidDelete
-
- // InvalidImag occurs when the imag built-in function is called with an
- // argument that does not have complex type.
- //
- // Example:
- // var _ = imag(int(1))
- InvalidImag
-
- // InvalidLen occurs when an argument to the len built-in function is not of
- // supported type.
- //
- // See https://golang.org/ref/spec#Length_and_capacity for information on
- // which underlying types are supported as arguments to cap and len.
- //
- // Example:
- // var s = 2
- // var x = len(s)
- InvalidLen
-
- // SwappedMakeArgs occurs when make is called with three arguments, and its
- // length argument is larger than its capacity argument.
- //
- // Example:
- // var x = make([]int, 3, 2)
- SwappedMakeArgs
-
- // InvalidMake occurs when make is called with an unsupported type argument.
- //
- // See https://golang.org/ref/spec#Making_slices_maps_and_channels for
- // information on the types that may be created using make.
- //
- // Example:
- // var x = make(int)
- InvalidMake
-
- // InvalidReal occurs when the real built-in function is called with an
- // argument that does not have complex type.
- //
- // Example:
- // var _ = real(int(1))
- InvalidReal
-
- /* exprs > assertion */
-
- // InvalidAssert occurs when a type assertion is applied to a
- // value that is not of interface type.
- //
- // Example:
- // var x = 1
- // var _ = x.(float64)
- InvalidAssert
-
- // ImpossibleAssert occurs for a type assertion x.(T) when the value x of
- // interface cannot have dynamic type T, due to a missing or mismatching
- // method on T.
- //
- // Example:
- // type T int
- //
- // func (t *T) m() int { return int(*t) }
- //
- // type I interface { m() int }
- //
- // var x I
- // var _ = x.(T)
- ImpossibleAssert
-
- /* exprs > conversion */
-
- // InvalidConversion occurs when the argument type cannot be converted to the
- // target.
- //
- // See https://golang.org/ref/spec#Conversions for the rules of
- // convertibility.
- //
- // Example:
- // var x float64
- // var _ = string(x)
- InvalidConversion
-
- // InvalidUntypedConversion occurs when an there is no valid implicit
- // conversion from an untyped value satisfying the type constraints of the
- // context in which it is used.
- //
- // Example:
- // var _ = 1 + ""
- InvalidUntypedConversion
-
- /* offsetof */
-
- // BadOffsetofSyntax occurs when unsafe.Offsetof is called with an argument
- // that is not a selector expression.
- //
- // Example:
- // import "unsafe"
- //
- // var x int
- // var _ = unsafe.Offsetof(x)
- BadOffsetofSyntax
-
- // InvalidOffsetof occurs when unsafe.Offsetof is called with a method
- // selector, rather than a field selector, or when the field is embedded via
- // a pointer.
- //
- // Per the spec:
- //
- // "If f is an embedded field, it must be reachable without pointer
- // indirections through fields of the struct. "
- //
- // Example:
- // import "unsafe"
- //
- // type T struct { f int }
- // type S struct { *T }
- // var s S
- // var _ = unsafe.Offsetof(s.f)
- //
- // Example:
- // import "unsafe"
- //
- // type S struct{}
- //
- // func (S) m() {}
- //
- // var s S
- // var _ = unsafe.Offsetof(s.m)
- InvalidOffsetof
-
- /* control flow > scope */
-
- // UnusedExpr occurs when a side-effect free expression is used as a
- // statement. Such a statement has no effect.
- //
- // Example:
- // func f(i int) {
- // i*i
- // }
- UnusedExpr
-
- // UnusedVar occurs when a variable is declared but unused.
- //
- // Example:
- // func f() {
- // x := 1
- // }
- UnusedVar
-
- // MissingReturn occurs when a function with results is missing a return
- // statement.
- //
- // Example:
- // func f() int {}
- MissingReturn
-
- // WrongResultCount occurs when a return statement returns an incorrect
- // number of values.
- //
- // Example:
- // func ReturnOne() int {
- // return 1, 2
- // }
- WrongResultCount
-
- // OutOfScopeResult occurs when the name of a value implicitly returned by
- // an empty return statement is shadowed in a nested scope.
- //
- // Example:
- // func factor(n int) (i int) {
- // for i := 2; i < n; i++ {
- // if n%i == 0 {
- // return
- // }
- // }
- // return 0
- // }
- OutOfScopeResult
-
- /* control flow > if */
-
- // InvalidCond occurs when an if condition is not a boolean expression.
- //
- // Example:
- // func checkReturn(i int) {
- // if i {
- // panic("non-zero return")
- // }
- // }
- InvalidCond
-
- /* control flow > for */
-
- // InvalidPostDecl occurs when there is a declaration in a for-loop post
- // statement.
- //
- // Example:
- // func f() {
- // for i := 0; i < 10; j := 0 {}
- // }
- InvalidPostDecl
-
- // InvalidChanRange occurs when a send-only channel used in a range
- // expression.
- //
- // Example:
- // func sum(c chan<- int) {
- // s := 0
- // for i := range c {
- // s += i
- // }
- // }
- InvalidChanRange
-
- // InvalidIterVar occurs when two iteration variables are used while ranging
- // over a channel.
- //
- // Example:
- // func f(c chan int) {
- // for k, v := range c {
- // println(k, v)
- // }
- // }
- InvalidIterVar
-
- // InvalidRangeExpr occurs when the type of a range expression is not array,
- // slice, string, map, or channel.
- //
- // Example:
- // func f(i int) {
- // for j := range i {
- // println(j)
- // }
- // }
- InvalidRangeExpr
-
- /* control flow > switch */
-
- // MisplacedBreak occurs when a break statement is not within a for, switch,
- // or select statement of the innermost function definition.
- //
- // Example:
- // func f() {
- // break
- // }
- MisplacedBreak
-
- // MisplacedContinue occurs when a continue statement is not within a for
- // loop of the innermost function definition.
- //
- // Example:
- // func sumeven(n int) int {
- // proceed := func() {
- // continue
- // }
- // sum := 0
- // for i := 1; i <= n; i++ {
- // if i % 2 != 0 {
- // proceed()
- // }
- // sum += i
- // }
- // return sum
- // }
- MisplacedContinue
-
- // MisplacedFallthrough occurs when a fallthrough statement is not within an
- // expression switch.
- //
- // Example:
- // func typename(i interface{}) string {
- // switch i.(type) {
- // case int64:
- // fallthrough
- // case int:
- // return "int"
- // }
- // return "unsupported"
- // }
- MisplacedFallthrough
-
- // DuplicateCase occurs when a type or expression switch has duplicate
- // cases.
- //
- // Example:
- // func printInt(i int) {
- // switch i {
- // case 1:
- // println("one")
- // case 1:
- // println("One")
- // }
- // }
- DuplicateCase
-
- // DuplicateDefault occurs when a type or expression switch has multiple
- // default clauses.
- //
- // Example:
- // func printInt(i int) {
- // switch i {
- // case 1:
- // println("one")
- // default:
- // println("One")
- // default:
- // println("1")
- // }
- // }
- DuplicateDefault
-
- // BadTypeKeyword occurs when a .(type) expression is used anywhere other
- // than a type switch.
- //
- // Example:
- // type I interface {
- // m()
- // }
- // var t I
- // var _ = t.(type)
- BadTypeKeyword
-
- // InvalidTypeSwitch occurs when .(type) is used on an expression that is
- // not of interface type.
- //
- // Example:
- // func f(i int) {
- // switch x := i.(type) {}
- // }
- InvalidTypeSwitch
-
- // InvalidExprSwitch occurs when a switch expression is not comparable.
- //
- // Example:
- // func _() {
- // var a struct{ _ func() }
- // switch a /* ERROR cannot switch on a */ {
- // }
- // }
- InvalidExprSwitch
-
- /* control flow > select */
-
- // InvalidSelectCase occurs when a select case is not a channel send or
- // receive.
- //
- // Example:
- // func checkChan(c <-chan int) bool {
- // select {
- // case c:
- // return true
- // default:
- // return false
- // }
- // }
- InvalidSelectCase
-
- /* control flow > labels and jumps */
-
- // UndeclaredLabel occurs when an undeclared label is jumped to.
- //
- // Example:
- // func f() {
- // goto L
- // }
- UndeclaredLabel
-
- // DuplicateLabel occurs when a label is declared more than once.
- //
- // Example:
- // func f() int {
- // L:
- // L:
- // return 1
- // }
- DuplicateLabel
-
- // MisplacedLabel occurs when a break or continue label is not on a for,
- // switch, or select statement.
- //
- // Example:
- // func f() {
- // L:
- // a := []int{1,2,3}
- // for _, e := range a {
- // if e > 10 {
- // break L
- // }
- // println(a)
- // }
- // }
- MisplacedLabel
-
- // UnusedLabel occurs when a label is declared but not used.
- //
- // Example:
- // func f() {
- // L:
- // }
- UnusedLabel
-
- // JumpOverDecl occurs when a label jumps over a variable declaration.
- //
- // Example:
- // func f() int {
- // goto L
- // x := 2
- // L:
- // x++
- // return x
- // }
- JumpOverDecl
-
- // JumpIntoBlock occurs when a forward jump goes to a label inside a nested
- // block.
- //
- // Example:
- // func f(x int) {
- // goto L
- // if x > 0 {
- // L:
- // print("inside block")
- // }
- // }
- JumpIntoBlock
-
- /* control flow > calls */
-
- // InvalidMethodExpr occurs when a pointer method is called but the argument
- // is not addressable.
- //
- // Example:
- // type T struct {}
- //
- // func (*T) m() int { return 1 }
- //
- // var _ = T.m(T{})
- InvalidMethodExpr
-
- // WrongArgCount occurs when too few or too many arguments are passed by a
- // function call.
- //
- // Example:
- // func f(i int) {}
- // var x = f()
- WrongArgCount
-
- // InvalidCall occurs when an expression is called that is not of function
- // type.
- //
- // Example:
- // var x = "x"
- // var y = x()
- InvalidCall
-
- /* control flow > suspended */
-
- // UnusedResults occurs when a restricted expression-only built-in function
- // is suspended via go or defer. Such a suspension discards the results of
- // these side-effect free built-in functions, and therefore is ineffectual.
- //
- // Example:
- // func f(a []int) int {
- // defer len(a)
- // return i
- // }
- UnusedResults
-
- // InvalidDefer occurs when a deferred expression is not a function call,
- // for example if the expression is a type conversion.
- //
- // Example:
- // func f(i int) int {
- // defer int32(i)
- // return i
- // }
- InvalidDefer
-
- // InvalidGo occurs when a go expression is not a function call, for example
- // if the expression is a type conversion.
- //
- // Example:
- // func f(i int) int {
- // go int32(i)
- // return i
- // }
- InvalidGo
-
- // All codes below were added in Go 1.17.
-
- /* decl */
-
- // BadDecl occurs when a declaration has invalid syntax.
- BadDecl
-
- // RepeatedDecl occurs when an identifier occurs more than once on the left
- // hand side of a short variable declaration.
- //
- // Example:
- // func _() {
- // x, y, y := 1, 2, 3
- // }
- RepeatedDecl
-
- /* unsafe */
-
- // InvalidUnsafeAdd occurs when unsafe.Add is called with a
- // length argument that is not of integer type.
- //
- // Example:
- // import "unsafe"
- //
- // var p unsafe.Pointer
- // var _ = unsafe.Add(p, float64(1))
- InvalidUnsafeAdd
-
- // InvalidUnsafeSlice occurs when unsafe.Slice is called with a
- // pointer argument that is not of pointer type or a length argument
- // that is not of integer type, negative, or out of bounds.
- //
- // Example:
- // import "unsafe"
- //
- // var x int
- // var _ = unsafe.Slice(x, 1)
- //
- // Example:
- // import "unsafe"
- //
- // var x int
- // var _ = unsafe.Slice(&x, float64(1))
- //
- // Example:
- // import "unsafe"
- //
- // var x int
- // var _ = unsafe.Slice(&x, -1)
- //
- // Example:
- // import "unsafe"
- //
- // var x int
- // var _ = unsafe.Slice(&x, uint64(1) << 63)
- InvalidUnsafeSlice
-
- // All codes below were added in Go 1.18.
-
- /* features */
-
- // UnsupportedFeature occurs when a language feature is used that is not
- // supported at this Go version.
- UnsupportedFeature
-
- /* type params */
-
- // NotAGenericType occurs when a non-generic type is used where a generic
- // type is expected: in type or function instantiation.
- //
- // Example:
- // type T int
- //
- // var _ T[int]
- NotAGenericType
-
- // WrongTypeArgCount occurs when a type or function is instantiated with an
- // incorrect number of type arguments, including when a generic type or
- // function is used without instantiation.
- //
- // Errors involving failed type inference are assigned other error codes.
- //
- // Example:
- // type T[p any] int
- //
- // var _ T[int, string]
- //
- // Example:
- // func f[T any]() {}
- //
- // var x = f
- WrongTypeArgCount
-
- // CannotInferTypeArgs occurs when type or function type argument inference
- // fails to infer all type arguments.
- //
- // Example:
- // func f[T any]() {}
- //
- // func _() {
- // f()
- // }
- //
- // Example:
- // type N[P, Q any] struct{}
- //
- // var _ N[int]
- CannotInferTypeArgs
-
- // InvalidTypeArg occurs when a type argument does not satisfy its
- // corresponding type parameter constraints.
- //
- // Example:
- // type T[P ~int] struct{}
- //
- // var _ T[string]
- InvalidTypeArg // arguments? InferenceFailed
-
- // InvalidInstanceCycle occurs when an invalid cycle is detected
- // within the instantiation graph.
- //
- // Example:
- // func f[T any]() { f[*T]() }
- InvalidInstanceCycle
-
- // InvalidUnion occurs when an embedded union or approximation element is
- // not valid.
- //
- // Example:
- // type _ interface {
- // ~int | interface{ m() }
- // }
- InvalidUnion
-
- // MisplacedConstraintIface occurs when a constraint-type interface is used
- // outside of constraint position.
- //
- // Example:
- // type I interface { ~int }
- //
- // var _ I
- MisplacedConstraintIface
-
- // InvalidMethodTypeParams occurs when methods have type parameters.
- //
- // It cannot be encountered with an AST parsed using go/parser.
- InvalidMethodTypeParams
-
- // MisplacedTypeParam occurs when a type parameter is used in a place where
- // it is not permitted.
- //
- // Example:
- // type T[P any] P
- //
- // Example:
- // type T[P any] struct{ *P }
- MisplacedTypeParam
-
- // InvalidUnsafeSliceData occurs when unsafe.SliceData is called with
- // an argument that is not of slice type. It also occurs if it is used
- // in a package compiled for a language version before go1.20.
- //
- // Example:
- // import "unsafe"
- //
- // var x int
- // var _ = unsafe.SliceData(x)
- InvalidUnsafeSliceData
-
- // InvalidUnsafeString occurs when unsafe.String is called with
- // a length argument that is not of integer type, negative, or
- // out of bounds. It also occurs if it is used in a package
- // compiled for a language version before go1.20.
- //
- // Example:
- // import "unsafe"
- //
- // var b [10]byte
- // var _ = unsafe.String(&b[0], -1)
- InvalidUnsafeString
-
- // InvalidUnsafeStringData occurs if it is used in a package
- // compiled for a language version before go1.20.
- _ // not used anymore
-
-)
diff --git a/vendor/golang.org/x/tools/internal/typesinternal/errorcode_string.go b/vendor/golang.org/x/tools/internal/typesinternal/errorcode_string.go
deleted file mode 100644
index 15ecf7c5..00000000
--- a/vendor/golang.org/x/tools/internal/typesinternal/errorcode_string.go
+++ /dev/null
@@ -1,179 +0,0 @@
-// Code generated by "stringer -type=ErrorCode"; DO NOT EDIT.
-
-package typesinternal
-
-import "strconv"
-
-func _() {
- // An "invalid array index" compiler error signifies that the constant values have changed.
- // Re-run the stringer command to generate them again.
- var x [1]struct{}
- _ = x[InvalidSyntaxTree - -1]
- _ = x[Test-1]
- _ = x[BlankPkgName-2]
- _ = x[MismatchedPkgName-3]
- _ = x[InvalidPkgUse-4]
- _ = x[BadImportPath-5]
- _ = x[BrokenImport-6]
- _ = x[ImportCRenamed-7]
- _ = x[UnusedImport-8]
- _ = x[InvalidInitCycle-9]
- _ = x[DuplicateDecl-10]
- _ = x[InvalidDeclCycle-11]
- _ = x[InvalidTypeCycle-12]
- _ = x[InvalidConstInit-13]
- _ = x[InvalidConstVal-14]
- _ = x[InvalidConstType-15]
- _ = x[UntypedNilUse-16]
- _ = x[WrongAssignCount-17]
- _ = x[UnassignableOperand-18]
- _ = x[NoNewVar-19]
- _ = x[MultiValAssignOp-20]
- _ = x[InvalidIfaceAssign-21]
- _ = x[InvalidChanAssign-22]
- _ = x[IncompatibleAssign-23]
- _ = x[UnaddressableFieldAssign-24]
- _ = x[NotAType-25]
- _ = x[InvalidArrayLen-26]
- _ = x[BlankIfaceMethod-27]
- _ = x[IncomparableMapKey-28]
- _ = x[InvalidIfaceEmbed-29]
- _ = x[InvalidPtrEmbed-30]
- _ = x[BadRecv-31]
- _ = x[InvalidRecv-32]
- _ = x[DuplicateFieldAndMethod-33]
- _ = x[DuplicateMethod-34]
- _ = x[InvalidBlank-35]
- _ = x[InvalidIota-36]
- _ = x[MissingInitBody-37]
- _ = x[InvalidInitSig-38]
- _ = x[InvalidInitDecl-39]
- _ = x[InvalidMainDecl-40]
- _ = x[TooManyValues-41]
- _ = x[NotAnExpr-42]
- _ = x[TruncatedFloat-43]
- _ = x[NumericOverflow-44]
- _ = x[UndefinedOp-45]
- _ = x[MismatchedTypes-46]
- _ = x[DivByZero-47]
- _ = x[NonNumericIncDec-48]
- _ = x[UnaddressableOperand-49]
- _ = x[InvalidIndirection-50]
- _ = x[NonIndexableOperand-51]
- _ = x[InvalidIndex-52]
- _ = x[SwappedSliceIndices-53]
- _ = x[NonSliceableOperand-54]
- _ = x[InvalidSliceExpr-55]
- _ = x[InvalidShiftCount-56]
- _ = x[InvalidShiftOperand-57]
- _ = x[InvalidReceive-58]
- _ = x[InvalidSend-59]
- _ = x[DuplicateLitKey-60]
- _ = x[MissingLitKey-61]
- _ = x[InvalidLitIndex-62]
- _ = x[OversizeArrayLit-63]
- _ = x[MixedStructLit-64]
- _ = x[InvalidStructLit-65]
- _ = x[MissingLitField-66]
- _ = x[DuplicateLitField-67]
- _ = x[UnexportedLitField-68]
- _ = x[InvalidLitField-69]
- _ = x[UntypedLit-70]
- _ = x[InvalidLit-71]
- _ = x[AmbiguousSelector-72]
- _ = x[UndeclaredImportedName-73]
- _ = x[UnexportedName-74]
- _ = x[UndeclaredName-75]
- _ = x[MissingFieldOrMethod-76]
- _ = x[BadDotDotDotSyntax-77]
- _ = x[NonVariadicDotDotDot-78]
- _ = x[MisplacedDotDotDot-79]
- _ = x[InvalidDotDotDotOperand-80]
- _ = x[InvalidDotDotDot-81]
- _ = x[UncalledBuiltin-82]
- _ = x[InvalidAppend-83]
- _ = x[InvalidCap-84]
- _ = x[InvalidClose-85]
- _ = x[InvalidCopy-86]
- _ = x[InvalidComplex-87]
- _ = x[InvalidDelete-88]
- _ = x[InvalidImag-89]
- _ = x[InvalidLen-90]
- _ = x[SwappedMakeArgs-91]
- _ = x[InvalidMake-92]
- _ = x[InvalidReal-93]
- _ = x[InvalidAssert-94]
- _ = x[ImpossibleAssert-95]
- _ = x[InvalidConversion-96]
- _ = x[InvalidUntypedConversion-97]
- _ = x[BadOffsetofSyntax-98]
- _ = x[InvalidOffsetof-99]
- _ = x[UnusedExpr-100]
- _ = x[UnusedVar-101]
- _ = x[MissingReturn-102]
- _ = x[WrongResultCount-103]
- _ = x[OutOfScopeResult-104]
- _ = x[InvalidCond-105]
- _ = x[InvalidPostDecl-106]
- _ = x[InvalidChanRange-107]
- _ = x[InvalidIterVar-108]
- _ = x[InvalidRangeExpr-109]
- _ = x[MisplacedBreak-110]
- _ = x[MisplacedContinue-111]
- _ = x[MisplacedFallthrough-112]
- _ = x[DuplicateCase-113]
- _ = x[DuplicateDefault-114]
- _ = x[BadTypeKeyword-115]
- _ = x[InvalidTypeSwitch-116]
- _ = x[InvalidExprSwitch-117]
- _ = x[InvalidSelectCase-118]
- _ = x[UndeclaredLabel-119]
- _ = x[DuplicateLabel-120]
- _ = x[MisplacedLabel-121]
- _ = x[UnusedLabel-122]
- _ = x[JumpOverDecl-123]
- _ = x[JumpIntoBlock-124]
- _ = x[InvalidMethodExpr-125]
- _ = x[WrongArgCount-126]
- _ = x[InvalidCall-127]
- _ = x[UnusedResults-128]
- _ = x[InvalidDefer-129]
- _ = x[InvalidGo-130]
- _ = x[BadDecl-131]
- _ = x[RepeatedDecl-132]
- _ = x[InvalidUnsafeAdd-133]
- _ = x[InvalidUnsafeSlice-134]
- _ = x[UnsupportedFeature-135]
- _ = x[NotAGenericType-136]
- _ = x[WrongTypeArgCount-137]
- _ = x[CannotInferTypeArgs-138]
- _ = x[InvalidTypeArg-139]
- _ = x[InvalidInstanceCycle-140]
- _ = x[InvalidUnion-141]
- _ = x[MisplacedConstraintIface-142]
- _ = x[InvalidMethodTypeParams-143]
- _ = x[MisplacedTypeParam-144]
- _ = x[InvalidUnsafeSliceData-145]
- _ = x[InvalidUnsafeString-146]
-}
-
-const (
- _ErrorCode_name_0 = "InvalidSyntaxTree"
- _ErrorCode_name_1 = "TestBlankPkgNameMismatchedPkgNameInvalidPkgUseBadImportPathBrokenImportImportCRenamedUnusedImportInvalidInitCycleDuplicateDeclInvalidDeclCycleInvalidTypeCycleInvalidConstInitInvalidConstValInvalidConstTypeUntypedNilUseWrongAssignCountUnassignableOperandNoNewVarMultiValAssignOpInvalidIfaceAssignInvalidChanAssignIncompatibleAssignUnaddressableFieldAssignNotATypeInvalidArrayLenBlankIfaceMethodIncomparableMapKeyInvalidIfaceEmbedInvalidPtrEmbedBadRecvInvalidRecvDuplicateFieldAndMethodDuplicateMethodInvalidBlankInvalidIotaMissingInitBodyInvalidInitSigInvalidInitDeclInvalidMainDeclTooManyValuesNotAnExprTruncatedFloatNumericOverflowUndefinedOpMismatchedTypesDivByZeroNonNumericIncDecUnaddressableOperandInvalidIndirectionNonIndexableOperandInvalidIndexSwappedSliceIndicesNonSliceableOperandInvalidSliceExprInvalidShiftCountInvalidShiftOperandInvalidReceiveInvalidSendDuplicateLitKeyMissingLitKeyInvalidLitIndexOversizeArrayLitMixedStructLitInvalidStructLitMissingLitFieldDuplicateLitFieldUnexportedLitFieldInvalidLitFieldUntypedLitInvalidLitAmbiguousSelectorUndeclaredImportedNameUnexportedNameUndeclaredNameMissingFieldOrMethodBadDotDotDotSyntaxNonVariadicDotDotDotMisplacedDotDotDotInvalidDotDotDotOperandInvalidDotDotDotUncalledBuiltinInvalidAppendInvalidCapInvalidCloseInvalidCopyInvalidComplexInvalidDeleteInvalidImagInvalidLenSwappedMakeArgsInvalidMakeInvalidRealInvalidAssertImpossibleAssertInvalidConversionInvalidUntypedConversionBadOffsetofSyntaxInvalidOffsetofUnusedExprUnusedVarMissingReturnWrongResultCountOutOfScopeResultInvalidCondInvalidPostDeclInvalidChanRangeInvalidIterVarInvalidRangeExprMisplacedBreakMisplacedContinueMisplacedFallthroughDuplicateCaseDuplicateDefaultBadTypeKeywordInvalidTypeSwitchInvalidExprSwitchInvalidSelectCaseUndeclaredLabelDuplicateLabelMisplacedLabelUnusedLabelJumpOverDeclJumpIntoBlockInvalidMethodExprWrongArgCountInvalidCallUnusedResultsInvalidDeferInvalidGoBadDeclRepeatedDeclInvalidUnsafeAddInvalidUnsafeSliceUnsupportedFeatureNotAGenericTypeWrongTypeArgCountCannotInferTypeArgsInvalidTypeArgInvalidInstanceCycleInvalidUnionMisplacedConstraintIfaceInvalidMethodTypeParamsMisplacedTypeParamInvalidUnsafeSliceDataInvalidUnsafeString"
-)
-
-var (
- _ErrorCode_index_1 = [...]uint16{0, 4, 16, 33, 46, 59, 71, 85, 97, 113, 126, 142, 158, 174, 189, 205, 218, 234, 253, 261, 277, 295, 312, 330, 354, 362, 377, 393, 411, 428, 443, 450, 461, 484, 499, 511, 522, 537, 551, 566, 581, 594, 603, 617, 632, 643, 658, 667, 683, 703, 721, 740, 752, 771, 790, 806, 823, 842, 856, 867, 882, 895, 910, 926, 940, 956, 971, 988, 1006, 1021, 1031, 1041, 1058, 1080, 1094, 1108, 1128, 1146, 1166, 1184, 1207, 1223, 1238, 1251, 1261, 1273, 1284, 1298, 1311, 1322, 1332, 1347, 1358, 1369, 1382, 1398, 1415, 1439, 1456, 1471, 1481, 1490, 1503, 1519, 1535, 1546, 1561, 1577, 1591, 1607, 1621, 1638, 1658, 1671, 1687, 1701, 1718, 1735, 1752, 1767, 1781, 1795, 1806, 1818, 1831, 1848, 1861, 1872, 1885, 1897, 1906, 1913, 1925, 1941, 1959, 1977, 1992, 2009, 2028, 2042, 2062, 2074, 2098, 2121, 2139, 2161, 2180}
-)
-
-func (i ErrorCode) String() string {
- switch {
- case i == -1:
- return _ErrorCode_name_0
- case 1 <= i && i <= 146:
- i -= 1
- return _ErrorCode_name_1[_ErrorCode_index_1[i]:_ErrorCode_index_1[i+1]]
- default:
- return "ErrorCode(" + strconv.FormatInt(int64(i), 10) + ")"
- }
-}
diff --git a/vendor/golang.org/x/tools/internal/typesinternal/recv.go b/vendor/golang.org/x/tools/internal/typesinternal/recv.go
deleted file mode 100644
index ba6f4f4e..00000000
--- a/vendor/golang.org/x/tools/internal/typesinternal/recv.go
+++ /dev/null
@@ -1,41 +0,0 @@
-// Copyright 2024 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package typesinternal
-
-import (
- "go/types"
-)
-
-// ReceiverNamed returns the named type (if any) associated with the
-// type of recv, which may be of the form N or *N, or aliases thereof.
-// It also reports whether a Pointer was present.
-func ReceiverNamed(recv *types.Var) (isPtr bool, named *types.Named) {
- t := recv.Type()
- if ptr, ok := types.Unalias(t).(*types.Pointer); ok {
- isPtr = true
- t = ptr.Elem()
- }
- named, _ = types.Unalias(t).(*types.Named)
- return
-}
-
-// Unpointer returns T given *T or an alias thereof.
-// For all other types it is the identity function.
-// It does not look at underlying types.
-// The result may be an alias.
-//
-// Use this function to strip off the optional pointer on a receiver
-// in a field or method selection, without losing the named type
-// (which is needed to compute the method set).
-//
-// See also [typeparams.MustDeref], which removes one level of
-// indirection from the type, regardless of named types (analogous to
-// a LOAD instruction).
-func Unpointer(t types.Type) types.Type {
- if ptr, ok := types.Unalias(t).(*types.Pointer); ok {
- return ptr.Elem()
- }
- return t
-}
diff --git a/vendor/golang.org/x/tools/internal/typesinternal/toonew.go b/vendor/golang.org/x/tools/internal/typesinternal/toonew.go
deleted file mode 100644
index cc86487e..00000000
--- a/vendor/golang.org/x/tools/internal/typesinternal/toonew.go
+++ /dev/null
@@ -1,89 +0,0 @@
-// Copyright 2024 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package typesinternal
-
-import (
- "go/types"
-
- "golang.org/x/tools/internal/stdlib"
- "golang.org/x/tools/internal/versions"
-)
-
-// TooNewStdSymbols computes the set of package-level symbols
-// exported by pkg that are not available at the specified version.
-// The result maps each symbol to its minimum version.
-//
-// The pkg is allowed to contain type errors.
-func TooNewStdSymbols(pkg *types.Package, version string) map[types.Object]string {
- disallowed := make(map[types.Object]string)
-
- // Pass 1: package-level symbols.
- symbols := stdlib.PackageSymbols[pkg.Path()]
- for _, sym := range symbols {
- symver := sym.Version.String()
- if versions.Before(version, symver) {
- switch sym.Kind {
- case stdlib.Func, stdlib.Var, stdlib.Const, stdlib.Type:
- disallowed[pkg.Scope().Lookup(sym.Name)] = symver
- }
- }
- }
-
- // Pass 2: fields and methods.
- //
- // We allow fields and methods if their associated type is
- // disallowed, as otherwise we would report false positives
- // for compatibility shims. Consider:
- //
- // //go:build go1.22
- // type T struct { F std.Real } // correct new API
- //
- // //go:build !go1.22
- // type T struct { F fake } // shim
- // type fake struct { ... }
- // func (fake) M () {}
- //
- // These alternative declarations of T use either the std.Real
- // type, introduced in go1.22, or a fake type, for the field
- // F. (The fakery could be arbitrarily deep, involving more
- // nested fields and methods than are shown here.) Clients
- // that use the compatibility shim T will compile with any
- // version of go, whether older or newer than go1.22, but only
- // the newer version will use the std.Real implementation.
- //
- // Now consider a reference to method M in new(T).F.M() in a
- // module that requires a minimum of go1.21. The analysis may
- // occur using a version of Go higher than 1.21, selecting the
- // first version of T, so the method M is Real.M. This would
- // spuriously cause the analyzer to report a reference to a
- // too-new symbol even though this expression compiles just
- // fine (with the fake implementation) using go1.21.
- for _, sym := range symbols {
- symVersion := sym.Version.String()
- if !versions.Before(version, symVersion) {
- continue // allowed
- }
-
- var obj types.Object
- switch sym.Kind {
- case stdlib.Field:
- typename, name := sym.SplitField()
- if t := pkg.Scope().Lookup(typename); t != nil && disallowed[t] == "" {
- obj, _, _ = types.LookupFieldOrMethod(t.Type(), false, pkg, name)
- }
-
- case stdlib.Method:
- ptr, recvname, name := sym.SplitMethod()
- if t := pkg.Scope().Lookup(recvname); t != nil && disallowed[t] == "" {
- obj, _, _ = types.LookupFieldOrMethod(t.Type(), ptr, pkg, name)
- }
- }
- if obj != nil {
- disallowed[obj] = symVersion
- }
- }
-
- return disallowed
-}
diff --git a/vendor/golang.org/x/tools/internal/typesinternal/types.go b/vendor/golang.org/x/tools/internal/typesinternal/types.go
deleted file mode 100644
index 83923286..00000000
--- a/vendor/golang.org/x/tools/internal/typesinternal/types.go
+++ /dev/null
@@ -1,65 +0,0 @@
-// Copyright 2020 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-// Package typesinternal provides access to internal go/types APIs that are not
-// yet exported.
-package typesinternal
-
-import (
- "go/token"
- "go/types"
- "reflect"
- "unsafe"
-)
-
-func SetUsesCgo(conf *types.Config) bool {
- v := reflect.ValueOf(conf).Elem()
-
- f := v.FieldByName("go115UsesCgo")
- if !f.IsValid() {
- f = v.FieldByName("UsesCgo")
- if !f.IsValid() {
- return false
- }
- }
-
- addr := unsafe.Pointer(f.UnsafeAddr())
- *(*bool)(addr) = true
-
- return true
-}
-
-// ReadGo116ErrorData extracts additional information from types.Error values
-// generated by Go version 1.16 and later: the error code, start position, and
-// end position. If all positions are valid, start <= err.Pos <= end.
-//
-// If the data could not be read, the final result parameter will be false.
-func ReadGo116ErrorData(err types.Error) (code ErrorCode, start, end token.Pos, ok bool) {
- var data [3]int
- // By coincidence all of these fields are ints, which simplifies things.
- v := reflect.ValueOf(err)
- for i, name := range []string{"go116code", "go116start", "go116end"} {
- f := v.FieldByName(name)
- if !f.IsValid() {
- return 0, 0, 0, false
- }
- data[i] = int(f.Int())
- }
- return ErrorCode(data[0]), token.Pos(data[1]), token.Pos(data[2]), true
-}
-
-// NameRelativeTo returns a types.Qualifier that qualifies members of
-// all packages other than pkg, using only the package name.
-// (By contrast, [types.RelativeTo] uses the complete package path,
-// which is often excessive.)
-//
-// If pkg is nil, it is equivalent to [*types.Package.Name].
-func NameRelativeTo(pkg *types.Package) types.Qualifier {
- return func(other *types.Package) string {
- if pkg != nil && pkg == other {
- return "" // same package; unqualified
- }
- return other.Name()
- }
-}
diff --git a/vendor/golang.org/x/tools/internal/versions/constraint.go b/vendor/golang.org/x/tools/internal/versions/constraint.go
deleted file mode 100644
index 179063d4..00000000
--- a/vendor/golang.org/x/tools/internal/versions/constraint.go
+++ /dev/null
@@ -1,13 +0,0 @@
-// Copyright 2024 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package versions
-
-import "go/build/constraint"
-
-// ConstraintGoVersion is constraint.GoVersion (if built with go1.21+).
-// Otherwise nil.
-//
-// Deprecate once x/tools is after go1.21.
-var ConstraintGoVersion func(x constraint.Expr) string
diff --git a/vendor/golang.org/x/tools/internal/versions/constraint_go121.go b/vendor/golang.org/x/tools/internal/versions/constraint_go121.go
deleted file mode 100644
index 38011407..00000000
--- a/vendor/golang.org/x/tools/internal/versions/constraint_go121.go
+++ /dev/null
@@ -1,14 +0,0 @@
-// Copyright 2024 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-//go:build go1.21
-// +build go1.21
-
-package versions
-
-import "go/build/constraint"
-
-func init() {
- ConstraintGoVersion = constraint.GoVersion
-}
diff --git a/vendor/golang.org/x/tools/internal/versions/features.go b/vendor/golang.org/x/tools/internal/versions/features.go
deleted file mode 100644
index b53f1786..00000000
--- a/vendor/golang.org/x/tools/internal/versions/features.go
+++ /dev/null
@@ -1,43 +0,0 @@
-// Copyright 2023 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package versions
-
-// This file contains predicates for working with file versions to
-// decide when a tool should consider a language feature enabled.
-
-// GoVersions that features in x/tools can be gated to.
-const (
- Go1_18 = "go1.18"
- Go1_19 = "go1.19"
- Go1_20 = "go1.20"
- Go1_21 = "go1.21"
- Go1_22 = "go1.22"
-)
-
-// Future is an invalid unknown Go version sometime in the future.
-// Do not use directly with Compare.
-const Future = ""
-
-// AtLeast reports whether the file version v comes after a Go release.
-//
-// Use this predicate to enable a behavior once a certain Go release
-// has happened (and stays enabled in the future).
-func AtLeast(v, release string) bool {
- if v == Future {
- return true // an unknown future version is always after y.
- }
- return Compare(Lang(v), Lang(release)) >= 0
-}
-
-// Before reports whether the file version v is strictly before a Go release.
-//
-// Use this predicate to disable a behavior once a certain Go release
-// has happened (and stays enabled in the future).
-func Before(v, release string) bool {
- if v == Future {
- return false // an unknown future version happens after y.
- }
- return Compare(Lang(v), Lang(release)) < 0
-}
diff --git a/vendor/golang.org/x/tools/internal/versions/gover.go b/vendor/golang.org/x/tools/internal/versions/gover.go
deleted file mode 100644
index bbabcd22..00000000
--- a/vendor/golang.org/x/tools/internal/versions/gover.go
+++ /dev/null
@@ -1,172 +0,0 @@
-// Copyright 2023 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-// This is a fork of internal/gover for use by x/tools until
-// go1.21 and earlier are no longer supported by x/tools.
-
-package versions
-
-import "strings"
-
-// A gover is a parsed Go gover: major[.Minor[.Patch]][kind[pre]]
-// The numbers are the original decimal strings to avoid integer overflows
-// and since there is very little actual math. (Probably overflow doesn't matter in practice,
-// but at the time this code was written, there was an existing test that used
-// go1.99999999999, which does not fit in an int on 32-bit platforms.
-// The "big decimal" representation avoids the problem entirely.)
-type gover struct {
- major string // decimal
- minor string // decimal or ""
- patch string // decimal or ""
- kind string // "", "alpha", "beta", "rc"
- pre string // decimal or ""
-}
-
-// compare returns -1, 0, or +1 depending on whether
-// x < y, x == y, or x > y, interpreted as toolchain versions.
-// The versions x and y must not begin with a "go" prefix: just "1.21" not "go1.21".
-// Malformed versions compare less than well-formed versions and equal to each other.
-// The language version "1.21" compares less than the release candidate and eventual releases "1.21rc1" and "1.21.0".
-func compare(x, y string) int {
- vx := parse(x)
- vy := parse(y)
-
- if c := cmpInt(vx.major, vy.major); c != 0 {
- return c
- }
- if c := cmpInt(vx.minor, vy.minor); c != 0 {
- return c
- }
- if c := cmpInt(vx.patch, vy.patch); c != 0 {
- return c
- }
- if c := strings.Compare(vx.kind, vy.kind); c != 0 { // "" < alpha < beta < rc
- return c
- }
- if c := cmpInt(vx.pre, vy.pre); c != 0 {
- return c
- }
- return 0
-}
-
-// lang returns the Go language version. For example, lang("1.2.3") == "1.2".
-func lang(x string) string {
- v := parse(x)
- if v.minor == "" || v.major == "1" && v.minor == "0" {
- return v.major
- }
- return v.major + "." + v.minor
-}
-
-// isValid reports whether the version x is valid.
-func isValid(x string) bool {
- return parse(x) != gover{}
-}
-
-// parse parses the Go version string x into a version.
-// It returns the zero version if x is malformed.
-func parse(x string) gover {
- var v gover
-
- // Parse major version.
- var ok bool
- v.major, x, ok = cutInt(x)
- if !ok {
- return gover{}
- }
- if x == "" {
- // Interpret "1" as "1.0.0".
- v.minor = "0"
- v.patch = "0"
- return v
- }
-
- // Parse . before minor version.
- if x[0] != '.' {
- return gover{}
- }
-
- // Parse minor version.
- v.minor, x, ok = cutInt(x[1:])
- if !ok {
- return gover{}
- }
- if x == "" {
- // Patch missing is same as "0" for older versions.
- // Starting in Go 1.21, patch missing is different from explicit .0.
- if cmpInt(v.minor, "21") < 0 {
- v.patch = "0"
- }
- return v
- }
-
- // Parse patch if present.
- if x[0] == '.' {
- v.patch, x, ok = cutInt(x[1:])
- if !ok || x != "" {
- // Note that we are disallowing prereleases (alpha, beta, rc) for patch releases here (x != "").
- // Allowing them would be a bit confusing because we already have:
- // 1.21 < 1.21rc1
- // But a prerelease of a patch would have the opposite effect:
- // 1.21.3rc1 < 1.21.3
- // We've never needed them before, so let's not start now.
- return gover{}
- }
- return v
- }
-
- // Parse prerelease.
- i := 0
- for i < len(x) && (x[i] < '0' || '9' < x[i]) {
- if x[i] < 'a' || 'z' < x[i] {
- return gover{}
- }
- i++
- }
- if i == 0 {
- return gover{}
- }
- v.kind, x = x[:i], x[i:]
- if x == "" {
- return v
- }
- v.pre, x, ok = cutInt(x)
- if !ok || x != "" {
- return gover{}
- }
-
- return v
-}
-
-// cutInt scans the leading decimal number at the start of x to an integer
-// and returns that value and the rest of the string.
-func cutInt(x string) (n, rest string, ok bool) {
- i := 0
- for i < len(x) && '0' <= x[i] && x[i] <= '9' {
- i++
- }
- if i == 0 || x[0] == '0' && i != 1 { // no digits or unnecessary leading zero
- return "", "", false
- }
- return x[:i], x[i:], true
-}
-
-// cmpInt returns cmp.Compare(x, y) interpreting x and y as decimal numbers.
-// (Copied from golang.org/x/mod/semver's compareInt.)
-func cmpInt(x, y string) int {
- if x == y {
- return 0
- }
- if len(x) < len(y) {
- return -1
- }
- if len(x) > len(y) {
- return +1
- }
- if x < y {
- return -1
- } else {
- return +1
- }
-}
diff --git a/vendor/golang.org/x/tools/internal/versions/types.go b/vendor/golang.org/x/tools/internal/versions/types.go
deleted file mode 100644
index f0bb0d15..00000000
--- a/vendor/golang.org/x/tools/internal/versions/types.go
+++ /dev/null
@@ -1,38 +0,0 @@
-// Copyright 2023 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package versions
-
-import (
- "go/ast"
- "go/types"
-)
-
-// FileVersion returns a file's Go version.
-// The reported version is an unknown Future version if a
-// version cannot be determined.
-func FileVersion(info *types.Info, file *ast.File) string {
- // In tools built with Go >= 1.22, the Go version of a file
- // follow a cascades of sources:
- // 1) types.Info.FileVersion, which follows the cascade:
- // 1.a) file version (ast.File.GoVersion),
- // 1.b) the package version (types.Config.GoVersion), or
- // 2) is some unknown Future version.
- //
- // File versions require a valid package version to be provided to types
- // in Config.GoVersion. Config.GoVersion is either from the package's module
- // or the toolchain (go run). This value should be provided by go/packages
- // or unitchecker.Config.GoVersion.
- if v := info.FileVersions[file]; IsValid(v) {
- return v
- }
- // Note: we could instead return runtime.Version() [if valid].
- // This would act as a max version on what a tool can support.
- return Future
-}
-
-// InitFileVersions initializes info to record Go versions for Go files.
-func InitFileVersions(info *types.Info) {
- info.FileVersions = make(map[*ast.File]string)
-}
diff --git a/vendor/golang.org/x/tools/internal/versions/versions.go b/vendor/golang.org/x/tools/internal/versions/versions.go
deleted file mode 100644
index 8d1f7453..00000000
--- a/vendor/golang.org/x/tools/internal/versions/versions.go
+++ /dev/null
@@ -1,57 +0,0 @@
-// Copyright 2023 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package versions
-
-import (
- "strings"
-)
-
-// Note: If we use build tags to use go/versions when go >=1.22,
-// we run into go.dev/issue/53737. Under some operations users would see an
-// import of "go/versions" even if they would not compile the file.
-// For example, during `go get -u ./...` (go.dev/issue/64490) we do not try to include
-// For this reason, this library just a clone of go/versions for the moment.
-
-// Lang returns the Go language version for version x.
-// If x is not a valid version, Lang returns the empty string.
-// For example:
-//
-// Lang("go1.21rc2") = "go1.21"
-// Lang("go1.21.2") = "go1.21"
-// Lang("go1.21") = "go1.21"
-// Lang("go1") = "go1"
-// Lang("bad") = ""
-// Lang("1.21") = ""
-func Lang(x string) string {
- v := lang(stripGo(x))
- if v == "" {
- return ""
- }
- return x[:2+len(v)] // "go"+v without allocation
-}
-
-// Compare returns -1, 0, or +1 depending on whether
-// x < y, x == y, or x > y, interpreted as Go versions.
-// The versions x and y must begin with a "go" prefix: "go1.21" not "1.21".
-// Invalid versions, including the empty string, compare less than
-// valid versions and equal to each other.
-// The language version "go1.21" compares less than the
-// release candidate and eventual releases "go1.21rc1" and "go1.21.0".
-// Custom toolchain suffixes are ignored during comparison:
-// "go1.21.0" and "go1.21.0-bigcorp" are equal.
-func Compare(x, y string) int { return compare(stripGo(x), stripGo(y)) }
-
-// IsValid reports whether the version x is valid.
-func IsValid(x string) bool { return isValid(stripGo(x)) }
-
-// stripGo converts from a "go1.21" version to a "1.21" version.
-// If v does not start with "go", stripGo returns the empty string (a known invalid version).
-func stripGo(v string) string {
- v, _, _ = strings.Cut(v, "-") // strip -bigcorp suffix.
- if len(v) < 2 || v[:2] != "go" {
- return ""
- }
- return v[2:]
-}
diff --git a/vendor/helm.sh/helm/v3/internal/resolver/resolver.go b/vendor/helm.sh/helm/v3/internal/resolver/resolver.go
index c5fc6364..b6f45da9 100644
--- a/vendor/helm.sh/helm/v3/internal/resolver/resolver.go
+++ b/vendor/helm.sh/helm/v3/internal/resolver/resolver.go
@@ -172,7 +172,7 @@ func (r *Resolver) Resolve(reqs []*chart.Dependency, repoNames map[string]string
Repository: d.Repository,
Version: version,
}
- // The version are already sorted and hence the first one to satisfy the constraint is used
+ // The versions are already sorted and hence the first one to satisfy the constraint is used
for _, ver := range vs {
v, err := semver.NewVersion(ver.Version)
// OCI does not need URLs
diff --git a/vendor/helm.sh/helm/v3/internal/third_party/dep/fs/fs.go b/vendor/helm.sh/helm/v3/internal/third_party/dep/fs/fs.go
index 4e4eacc6..d29bb5f8 100644
--- a/vendor/helm.sh/helm/v3/internal/third_party/dep/fs/fs.go
+++ b/vendor/helm.sh/helm/v3/internal/third_party/dep/fs/fs.go
@@ -260,7 +260,7 @@ func fixLongPath(path string) string {
// minus 12)." Since MAX_PATH is 260, 260 - 12 = 248.
//
// The MSDN docs appear to say that a normal path that is 248 bytes long
- // will work; empirically the path must be less then 248 bytes long.
+ // will work; empirically the path must be less than 248 bytes long.
if len(path) < 248 {
// Don't fix. (This is how Go 1.7 and earlier worked,
// not automatically generating the \\?\ form)
diff --git a/vendor/helm.sh/helm/v3/internal/tlsutil/tls.go b/vendor/helm.sh/helm/v3/internal/tlsutil/tls.go
index dc832ed8..7cd1dace 100644
--- a/vendor/helm.sh/helm/v3/internal/tlsutil/tls.go
+++ b/vendor/helm.sh/helm/v3/internal/tlsutil/tls.go
@@ -65,7 +65,7 @@ func CertPoolFromFile(filename string) (*x509.CertPool, error) {
return cp, nil
}
-// CertFromFilePair returns an tls.Certificate containing the
+// CertFromFilePair returns a tls.Certificate containing the
// certificates public/private key pair from a pair of given PEM-encoded files.
// Returns an error if the file could not be read, a certificate could not
// be parsed, or if the file does not contain any certificates
diff --git a/vendor/helm.sh/helm/v3/pkg/action/hooks.go b/vendor/helm.sh/helm/v3/pkg/action/hooks.go
index 0af625df..4bffb6ae 100644
--- a/vendor/helm.sh/helm/v3/pkg/action/hooks.go
+++ b/vendor/helm.sh/helm/v3/pkg/action/hooks.go
@@ -99,7 +99,8 @@ func (cfg *Configuration) execHook(rl *release.Release, hook release.HookEvent,
// If all hooks are successful, check the annotation of each hook to determine whether the hook should be deleted
// under succeeded condition. If so, then clear the corresponding resource object in each hook
- for _, h := range executingHooks {
+ for i := len(executingHooks) - 1; i >= 0; i-- {
+ h := executingHooks[i]
if err := cfg.deleteHookByPolicy(h, release.HookSucceeded, timeout); err != nil {
return err
}
diff --git a/vendor/helm.sh/helm/v3/pkg/action/install.go b/vendor/helm.sh/helm/v3/pkg/action/install.go
index f0292a0a..7ca40c88 100644
--- a/vendor/helm.sh/helm/v3/pkg/action/install.go
+++ b/vendor/helm.sh/helm/v3/pkg/action/install.go
@@ -55,7 +55,7 @@ import (
"helm.sh/helm/v3/pkg/storage/driver"
)
-// NOTESFILE_SUFFIX that we want to treat special. It goes through the templating engine
+// notesFileSuffix that we want to treat special. It goes through the templating engine
// but it's not a yaml file (resource) hence can't have hooks, etc. And the user actually
// wants to see this file after rendering in the status command. However, it must be a suffix
// since there can be filepath in front of it.
@@ -307,7 +307,7 @@ func (i *Install) RunWithContext(ctx context.Context, chrt *chart.Chart, vals ma
}
if driver.ContainsSystemLabels(i.Labels) {
- return nil, fmt.Errorf("user suplied labels contains system reserved label name. System labels: %+v", driver.GetSystemLabels())
+ return nil, fmt.Errorf("user supplied labels contains system reserved label name. System labels: %+v", driver.GetSystemLabels())
}
rel := i.createRelease(chrt, vals, i.Labels)
@@ -389,7 +389,7 @@ func (i *Install) RunWithContext(ctx context.Context, chrt *chart.Chart, vals ma
}
}
- // If Replace is true, we need to supercede the last release.
+ // If Replace is true, we need to supersede the last release.
if i.Replace {
if err := i.replaceRelease(rel); err != nil {
return nil, err
@@ -631,7 +631,7 @@ func createOrOpenFile(filename string, append bool) (*os.File, error) {
return os.Create(filename)
}
-// check if the directory exists to create file. creates if don't exists
+// check if the directory exists to create file. creates if doesn't exist
func ensureDirectoryForFile(file string) error {
baseDir := path.Dir(file)
_, err := os.Stat(baseDir)
diff --git a/vendor/helm.sh/helm/v3/pkg/action/upgrade.go b/vendor/helm.sh/helm/v3/pkg/action/upgrade.go
index 15bdae8d..a08d6849 100644
--- a/vendor/helm.sh/helm/v3/pkg/action/upgrade.go
+++ b/vendor/helm.sh/helm/v3/pkg/action/upgrade.go
@@ -279,7 +279,7 @@ func (u *Upgrade) prepareUpgrade(name string, chart *chart.Chart, vals map[strin
}
if driver.ContainsSystemLabels(u.Labels) {
- return nil, nil, fmt.Errorf("user suplied labels contains system reserved label name. System labels: %+v", driver.GetSystemLabels())
+ return nil, nil, fmt.Errorf("user supplied labels contains system reserved label name. System labels: %+v", driver.GetSystemLabels())
}
// Store an upgraded release.
diff --git a/vendor/helm.sh/helm/v3/pkg/chart/loader/archive.go b/vendor/helm.sh/helm/v3/pkg/chart/loader/archive.go
index 196e5f81..8bb54934 100644
--- a/vendor/helm.sh/helm/v3/pkg/chart/loader/archive.go
+++ b/vendor/helm.sh/helm/v3/pkg/chart/loader/archive.go
@@ -101,7 +101,7 @@ func ensureArchive(name string, raw *os.File) error {
return nil
}
-// isGZipApplication checks whether the achieve is of the application/x-gzip type.
+// isGZipApplication checks whether the archive is of the application/x-gzip type.
func isGZipApplication(data []byte) bool {
sig := []byte("\x1F\x8B\x08")
return bytes.HasPrefix(data, sig)
diff --git a/vendor/helm.sh/helm/v3/pkg/chartutil/dependencies.go b/vendor/helm.sh/helm/v3/pkg/chartutil/dependencies.go
index 205d99e0..36a34192 100644
--- a/vendor/helm.sh/helm/v3/pkg/chartutil/dependencies.go
+++ b/vendor/helm.sh/helm/v3/pkg/chartutil/dependencies.go
@@ -137,7 +137,7 @@ func processDependencyEnabled(c *chart.Chart, v map[string]interface{}, path str
// If any dependency is not a part of Chart.yaml
// then this should be added to chartDependencies.
// However, if the dependency is already specified in Chart.yaml
- // we should not add it, as it would be anyways processed from Chart.yaml
+ // we should not add it, as it would be processed from Chart.yaml anyway.
Loop:
for _, existing := range c.Dependencies() {
diff --git a/vendor/helm.sh/helm/v3/pkg/downloader/manager.go b/vendor/helm.sh/helm/v3/pkg/downloader/manager.go
index d5340575..ec4056d2 100644
--- a/vendor/helm.sh/helm/v3/pkg/downloader/manager.go
+++ b/vendor/helm.sh/helm/v3/pkg/downloader/manager.go
@@ -173,7 +173,7 @@ func (m *Manager) Update() error {
// has some information about them and, when possible, the index files
// locally.
// TODO(mattfarina): Repositories should be explicitly added by end users
- // rather than automattic. In Helm v4 require users to add repositories. They
+ // rather than automatic. In Helm v4 require users to add repositories. They
// should have to add them in order to make sure they are aware of the
// repositories and opt-in to any locations, for security.
repoNames, err = m.ensureMissingRepos(repoNames, req)
diff --git a/vendor/helm.sh/helm/v3/pkg/engine/engine.go b/vendor/helm.sh/helm/v3/pkg/engine/engine.go
index 058cfa74..df3a600a 100644
--- a/vendor/helm.sh/helm/v3/pkg/engine/engine.go
+++ b/vendor/helm.sh/helm/v3/pkg/engine/engine.go
@@ -169,7 +169,7 @@ func tplFun(parent *template.Template, includedNames map[string]int, strict bool
})
// We need a .New template, as template text which is just blanks
- // or comments after parsing out defines just addes new named
+ // or comments after parsing out defines just adds new named
// template definitions without changing the main template.
// https://pkg.go.dev/text/template#Template.Parse
// Use the parent's name for lack of a better way to identify the tpl
diff --git a/vendor/helm.sh/helm/v3/pkg/engine/lookup_func.go b/vendor/helm.sh/helm/v3/pkg/engine/lookup_func.go
index 86a7d698..75e85098 100644
--- a/vendor/helm.sh/helm/v3/pkg/engine/lookup_func.go
+++ b/vendor/helm.sh/helm/v3/pkg/engine/lookup_func.go
@@ -131,7 +131,7 @@ func getAPIResourceForGVK(gvk schema.GroupVersionKind, config *rest.Config) (met
return res, err
}
for _, resource := range resList.APIResources {
- // if a resource contains a "/" it's referencing a subresource. we don't support suberesource for now.
+ // if a resource contains a "/" it's referencing a subresource. we don't support subresource for now.
if resource.Kind == gvk.Kind && !strings.Contains(resource.Name, "/") {
res = resource
res.Group = gvk.Group
diff --git a/vendor/helm.sh/helm/v3/pkg/helmpath/lazypath.go b/vendor/helm.sh/helm/v3/pkg/helmpath/lazypath.go
index 22d7bf0a..6b4f1fc7 100644
--- a/vendor/helm.sh/helm/v3/pkg/helmpath/lazypath.go
+++ b/vendor/helm.sh/helm/v3/pkg/helmpath/lazypath.go
@@ -34,7 +34,7 @@ const (
DataHomeEnvVar = "HELM_DATA_HOME"
)
-// lazypath is an lazy-loaded path buffer for the XDG base directory specification.
+// lazypath is a lazy-loaded path buffer for the XDG base directory specification.
type lazypath string
func (l lazypath) path(helmEnvVar, xdgEnvVar string, defaultFn func() string, elem ...string) string {
diff --git a/vendor/helm.sh/helm/v3/pkg/ignore/doc.go b/vendor/helm.sh/helm/v3/pkg/ignore/doc.go
index 5245d410..1f5e9184 100644
--- a/vendor/helm.sh/helm/v3/pkg/ignore/doc.go
+++ b/vendor/helm.sh/helm/v3/pkg/ignore/doc.go
@@ -26,7 +26,7 @@ The formatting rules are as follows:
- Parsing is line-by-line
- Empty lines are ignored
- - Lines the begin with # (comments) will be ignored
+ - Lines that begin with # (comments) will be ignored
- Leading and trailing spaces are always ignored
- Inline comments are NOT supported ('foo* # Any foo' does not contain a comment)
- There is no support for multi-line patterns
diff --git a/vendor/helm.sh/helm/v3/pkg/kube/client.go b/vendor/helm.sh/helm/v3/pkg/kube/client.go
index 9df833a4..d979fd22 100644
--- a/vendor/helm.sh/helm/v3/pkg/kube/client.go
+++ b/vendor/helm.sh/helm/v3/pkg/kube/client.go
@@ -124,7 +124,7 @@ func (c *Client) getKubeClient() (*kubernetes.Clientset, error) {
func (c *Client) IsReachable() error {
client, err := c.getKubeClient()
if err == genericclioptions.ErrEmptyConfig {
- // re-replace kubernetes ErrEmptyConfig error with a friendy error
+ // re-replace kubernetes ErrEmptyConfig error with a friendly error
// moar workarounds for Kubernetes API breaking.
return errors.New("Kubernetes cluster unreachable")
}
@@ -635,7 +635,7 @@ func createPatch(target *resource.Info, current runtime.Object) ([]byte, types.P
// Get a versioned object
versionedObject := AsVersioned(target)
- // Unstructured objects, such as CRDs, may not have an not registered error
+ // Unstructured objects, such as CRDs, may not have a not registered error
// returned from ConvertToVersion. Anything that's unstructured should
// use the jsonpatch.CreateMergePatch. Strategic Merge Patch is not supported
// on objects like CRDs.
diff --git a/vendor/helm.sh/helm/v3/pkg/kube/ready.go b/vendor/helm.sh/helm/v3/pkg/kube/ready.go
index b2d26ba7..55c4a39b 100644
--- a/vendor/helm.sh/helm/v3/pkg/kube/ready.go
+++ b/vendor/helm.sh/helm/v3/pkg/kube/ready.go
@@ -426,7 +426,7 @@ func (c *ReadyChecker) statefulSetReady(sts *appsv1.StatefulSet) bool {
return false
}
// This check only makes sense when all partitions are being upgraded otherwise during a
- // partioned rolling upgrade, this condition will never evaluate to true, leading to
+ // partitioned rolling upgrade, this condition will never evaluate to true, leading to
// error.
if partition == 0 && sts.Status.CurrentRevision != sts.Status.UpdateRevision {
c.log("StatefulSet is not ready: %s/%s. currentRevision %s does not yet match updateRevision %s", sts.Namespace, sts.Name, sts.Status.CurrentRevision, sts.Status.UpdateRevision)
diff --git a/vendor/helm.sh/helm/v3/pkg/registry/util.go b/vendor/helm.sh/helm/v3/pkg/registry/util.go
index 45fbdd0b..727cdae0 100644
--- a/vendor/helm.sh/helm/v3/pkg/registry/util.go
+++ b/vendor/helm.sh/helm/v3/pkg/registry/util.go
@@ -65,8 +65,7 @@ func GetTagMatchingVersionOrConstraint(tags []string, versionString string) (str
// If string is empty, set wildcard constraint
constraint, _ = semver.NewConstraint("*")
} else {
- // when customer input exact version, check whether have exact match
- // one first
+ // when customer inputs specific version, check whether there's an exact match first
for _, v := range tags {
if versionString == v {
return v, nil
diff --git a/vendor/helm.sh/helm/v3/pkg/release/status.go b/vendor/helm.sh/helm/v3/pkg/release/status.go
index e0e3ed62..edd27a5f 100644
--- a/vendor/helm.sh/helm/v3/pkg/release/status.go
+++ b/vendor/helm.sh/helm/v3/pkg/release/status.go
@@ -31,13 +31,13 @@ const (
StatusSuperseded Status = "superseded"
// StatusFailed indicates that the release was not successfully deployed.
StatusFailed Status = "failed"
- // StatusUninstalling indicates that a uninstall operation is underway.
+ // StatusUninstalling indicates that an uninstall operation is underway.
StatusUninstalling Status = "uninstalling"
// StatusPendingInstall indicates that an install operation is underway.
StatusPendingInstall Status = "pending-install"
// StatusPendingUpgrade indicates that an upgrade operation is underway.
StatusPendingUpgrade Status = "pending-upgrade"
- // StatusPendingRollback indicates that an rollback operation is underway.
+ // StatusPendingRollback indicates that a rollback operation is underway.
StatusPendingRollback Status = "pending-rollback"
)
diff --git a/vendor/helm.sh/helm/v3/pkg/repo/index.go b/vendor/helm.sh/helm/v3/pkg/repo/index.go
index 40b11c5c..e1ce3c62 100644
--- a/vendor/helm.sh/helm/v3/pkg/repo/index.go
+++ b/vendor/helm.sh/helm/v3/pkg/repo/index.go
@@ -200,7 +200,7 @@ func (i IndexFile) Get(name, version string) (*ChartVersion, error) {
}
}
- // when customer input exact version, check whether have exact match one first
+ // when customer inputs specific version, check whether there's an exact match first
if len(version) != 0 {
for _, ver := range vs {
if version == ver.Version {
@@ -371,6 +371,8 @@ func loadIndex(data []byte, source string) (*IndexFile, error) {
cvs = append(cvs[:idx], cvs[idx+1:]...)
}
}
+ // adjust slice to only contain a set of valid versions
+ i.Entries[name] = cvs
}
i.SortEntries()
if i.APIVersion == "" {
@@ -397,7 +399,7 @@ func jsonOrYamlUnmarshal(b []byte, i interface{}) error {
// the error isn't important for index loading
//
// In particular, charts may introduce validations that don't impact repository indexes
-// And repository indexes may be generated by older/non-complient software, which doesn't
+// And repository indexes may be generated by older/non-compliant software, which doesn't
// conform to all validations.
func ignoreSkippableChartValidationError(err error) error {
verr, ok := err.(chart.ValidationError)
diff --git a/vendor/helm.sh/helm/v3/pkg/storage/driver/sql.go b/vendor/helm.sh/helm/v3/pkg/storage/driver/sql.go
index 2ef95118..33bde9b6 100644
--- a/vendor/helm.sh/helm/v3/pkg/storage/driver/sql.go
+++ b/vendor/helm.sh/helm/v3/pkg/storage/driver/sql.go
@@ -72,8 +72,8 @@ const (
// Following limits based on k8s labels limits - https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#syntax-and-character-set
const (
- sqlCustomLabelsTableKeyMaxLenght = 253 + 1 + 63
- sqlCustomLabelsTableValueMaxLenght = 63
+ sqlCustomLabelsTableKeyMaxLength = 253 + 1 + 63
+ sqlCustomLabelsTableValueMaxLength = 63
)
const (
@@ -119,7 +119,7 @@ func (s *SQL) checkAlreadyApplied(migrations []*migrate.Migration) bool {
}
}
- // check if all migrations appliyed
+ // check if all migrations applied
if len(migrationsIDs) != 0 {
for id := range migrationsIDs {
s.Log("checkAlreadyApplied: find unapplied migration (id: %v)", id)
@@ -204,7 +204,7 @@ func (s *SQL) ensureDBSetup() error {
CREATE TABLE %s (
%s VARCHAR(64),
%s VARCHAR(67),
- %s VARCHAR(%d),
+ %s VARCHAR(%d),
%s VARCHAR(%d)
);
CREATE INDEX ON %s (%s, %s);
@@ -216,9 +216,9 @@ func (s *SQL) ensureDBSetup() error {
sqlCustomLabelsTableReleaseKeyColumn,
sqlCustomLabelsTableReleaseNamespaceColumn,
sqlCustomLabelsTableKeyColumn,
- sqlCustomLabelsTableKeyMaxLenght,
+ sqlCustomLabelsTableKeyMaxLength,
sqlCustomLabelsTableValueColumn,
- sqlCustomLabelsTableValueMaxLenght,
+ sqlCustomLabelsTableValueMaxLength,
sqlCustomLabelsTableName,
sqlCustomLabelsTableReleaseKeyColumn,
sqlCustomLabelsTableReleaseNamespaceColumn,
diff --git a/vendor/helm.sh/helm/v3/pkg/strvals/parser.go b/vendor/helm.sh/helm/v3/pkg/strvals/parser.go
index 2828f20c..a0e8d66d 100644
--- a/vendor/helm.sh/helm/v3/pkg/strvals/parser.go
+++ b/vendor/helm.sh/helm/v3/pkg/strvals/parser.go
@@ -436,7 +436,7 @@ func (t *parser) listItem(list []interface{}, i, nestedNameLevel int) ([]interfa
// check for an empty value
// read and consume optional spaces until comma or EOF (empty val) or any other char (not empty val)
-// comma and spaces are consumed, while any other char is not cosumed
+// comma and spaces are consumed, while any other char is not consumed
func (t *parser) emptyVal() (bool, error) {
for {
r, _, e := t.sc.ReadRune()
diff --git a/vendor/helm.sh/helm/v3/pkg/time/time.go b/vendor/helm.sh/helm/v3/pkg/time/time.go
index 44f3fedf..1abe8ae3 100644
--- a/vendor/helm.sh/helm/v3/pkg/time/time.go
+++ b/vendor/helm.sh/helm/v3/pkg/time/time.go
@@ -15,7 +15,7 @@ limitations under the License.
*/
// Package time contains a wrapper for time.Time in the standard library and
-// associated methods. This package mainly exists to workaround an issue in Go
+// associated methods. This package mainly exists to work around an issue in Go
// where the serializer doesn't omit an empty value for time:
// https://github.com/golang/go/issues/11939. As such, this can be removed if a
// proposal is ever accepted for Go
diff --git a/vendor/k8s.io/api/admissionregistration/v1alpha1/doc.go b/vendor/k8s.io/api/admissionregistration/v1alpha1/doc.go
index 385c60e0..98066211 100644
--- a/vendor/k8s.io/api/admissionregistration/v1alpha1/doc.go
+++ b/vendor/k8s.io/api/admissionregistration/v1alpha1/doc.go
@@ -17,6 +17,7 @@ limitations under the License.
// +k8s:deepcopy-gen=package
// +k8s:protobuf-gen=package
// +k8s:openapi-gen=true
+// +k8s:prerelease-lifecycle-gen=true
// +groupName=admissionregistration.k8s.io
// Package v1alpha1 is the v1alpha1 version of the API.
diff --git a/vendor/k8s.io/api/admissionregistration/v1alpha1/generated.pb.go b/vendor/k8s.io/api/admissionregistration/v1alpha1/generated.pb.go
index 111cc728..993ff6f2 100644
--- a/vendor/k8s.io/api/admissionregistration/v1alpha1/generated.pb.go
+++ b/vendor/k8s.io/api/admissionregistration/v1alpha1/generated.pb.go
@@ -25,6 +25,7 @@ import (
io "io"
proto "github.com/gogo/protobuf/proto"
+ k8s_io_api_admissionregistration_v1 "k8s.io/api/admissionregistration/v1"
k8s_io_apimachinery_pkg_apis_meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
@@ -45,10 +46,38 @@ var _ = math.Inf
// proto package needs to be updated.
const _ = proto.GoGoProtoPackageIsVersion3 // please upgrade the proto package
+func (m *ApplyConfiguration) Reset() { *m = ApplyConfiguration{} }
+func (*ApplyConfiguration) ProtoMessage() {}
+func (*ApplyConfiguration) Descriptor() ([]byte, []int) {
+ return fileDescriptor_2c49182728ae0af5, []int{0}
+}
+func (m *ApplyConfiguration) XXX_Unmarshal(b []byte) error {
+ return m.Unmarshal(b)
+}
+func (m *ApplyConfiguration) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ b = b[:cap(b)]
+ n, err := m.MarshalToSizedBuffer(b)
+ if err != nil {
+ return nil, err
+ }
+ return b[:n], nil
+}
+func (m *ApplyConfiguration) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_ApplyConfiguration.Merge(m, src)
+}
+func (m *ApplyConfiguration) XXX_Size() int {
+ return m.Size()
+}
+func (m *ApplyConfiguration) XXX_DiscardUnknown() {
+ xxx_messageInfo_ApplyConfiguration.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_ApplyConfiguration proto.InternalMessageInfo
+
func (m *AuditAnnotation) Reset() { *m = AuditAnnotation{} }
func (*AuditAnnotation) ProtoMessage() {}
func (*AuditAnnotation) Descriptor() ([]byte, []int) {
- return fileDescriptor_2c49182728ae0af5, []int{0}
+ return fileDescriptor_2c49182728ae0af5, []int{1}
}
func (m *AuditAnnotation) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -76,7 +105,7 @@ var xxx_messageInfo_AuditAnnotation proto.InternalMessageInfo
func (m *ExpressionWarning) Reset() { *m = ExpressionWarning{} }
func (*ExpressionWarning) ProtoMessage() {}
func (*ExpressionWarning) Descriptor() ([]byte, []int) {
- return fileDescriptor_2c49182728ae0af5, []int{1}
+ return fileDescriptor_2c49182728ae0af5, []int{2}
}
func (m *ExpressionWarning) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -101,10 +130,38 @@ func (m *ExpressionWarning) XXX_DiscardUnknown() {
var xxx_messageInfo_ExpressionWarning proto.InternalMessageInfo
+func (m *JSONPatch) Reset() { *m = JSONPatch{} }
+func (*JSONPatch) ProtoMessage() {}
+func (*JSONPatch) Descriptor() ([]byte, []int) {
+ return fileDescriptor_2c49182728ae0af5, []int{3}
+}
+func (m *JSONPatch) XXX_Unmarshal(b []byte) error {
+ return m.Unmarshal(b)
+}
+func (m *JSONPatch) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ b = b[:cap(b)]
+ n, err := m.MarshalToSizedBuffer(b)
+ if err != nil {
+ return nil, err
+ }
+ return b[:n], nil
+}
+func (m *JSONPatch) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_JSONPatch.Merge(m, src)
+}
+func (m *JSONPatch) XXX_Size() int {
+ return m.Size()
+}
+func (m *JSONPatch) XXX_DiscardUnknown() {
+ xxx_messageInfo_JSONPatch.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_JSONPatch proto.InternalMessageInfo
+
func (m *MatchCondition) Reset() { *m = MatchCondition{} }
func (*MatchCondition) ProtoMessage() {}
func (*MatchCondition) Descriptor() ([]byte, []int) {
- return fileDescriptor_2c49182728ae0af5, []int{2}
+ return fileDescriptor_2c49182728ae0af5, []int{4}
}
func (m *MatchCondition) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -132,7 +189,7 @@ var xxx_messageInfo_MatchCondition proto.InternalMessageInfo
func (m *MatchResources) Reset() { *m = MatchResources{} }
func (*MatchResources) ProtoMessage() {}
func (*MatchResources) Descriptor() ([]byte, []int) {
- return fileDescriptor_2c49182728ae0af5, []int{3}
+ return fileDescriptor_2c49182728ae0af5, []int{5}
}
func (m *MatchResources) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -157,10 +214,206 @@ func (m *MatchResources) XXX_DiscardUnknown() {
var xxx_messageInfo_MatchResources proto.InternalMessageInfo
+func (m *MutatingAdmissionPolicy) Reset() { *m = MutatingAdmissionPolicy{} }
+func (*MutatingAdmissionPolicy) ProtoMessage() {}
+func (*MutatingAdmissionPolicy) Descriptor() ([]byte, []int) {
+ return fileDescriptor_2c49182728ae0af5, []int{6}
+}
+func (m *MutatingAdmissionPolicy) XXX_Unmarshal(b []byte) error {
+ return m.Unmarshal(b)
+}
+func (m *MutatingAdmissionPolicy) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ b = b[:cap(b)]
+ n, err := m.MarshalToSizedBuffer(b)
+ if err != nil {
+ return nil, err
+ }
+ return b[:n], nil
+}
+func (m *MutatingAdmissionPolicy) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_MutatingAdmissionPolicy.Merge(m, src)
+}
+func (m *MutatingAdmissionPolicy) XXX_Size() int {
+ return m.Size()
+}
+func (m *MutatingAdmissionPolicy) XXX_DiscardUnknown() {
+ xxx_messageInfo_MutatingAdmissionPolicy.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_MutatingAdmissionPolicy proto.InternalMessageInfo
+
+func (m *MutatingAdmissionPolicyBinding) Reset() { *m = MutatingAdmissionPolicyBinding{} }
+func (*MutatingAdmissionPolicyBinding) ProtoMessage() {}
+func (*MutatingAdmissionPolicyBinding) Descriptor() ([]byte, []int) {
+ return fileDescriptor_2c49182728ae0af5, []int{7}
+}
+func (m *MutatingAdmissionPolicyBinding) XXX_Unmarshal(b []byte) error {
+ return m.Unmarshal(b)
+}
+func (m *MutatingAdmissionPolicyBinding) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ b = b[:cap(b)]
+ n, err := m.MarshalToSizedBuffer(b)
+ if err != nil {
+ return nil, err
+ }
+ return b[:n], nil
+}
+func (m *MutatingAdmissionPolicyBinding) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_MutatingAdmissionPolicyBinding.Merge(m, src)
+}
+func (m *MutatingAdmissionPolicyBinding) XXX_Size() int {
+ return m.Size()
+}
+func (m *MutatingAdmissionPolicyBinding) XXX_DiscardUnknown() {
+ xxx_messageInfo_MutatingAdmissionPolicyBinding.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_MutatingAdmissionPolicyBinding proto.InternalMessageInfo
+
+func (m *MutatingAdmissionPolicyBindingList) Reset() { *m = MutatingAdmissionPolicyBindingList{} }
+func (*MutatingAdmissionPolicyBindingList) ProtoMessage() {}
+func (*MutatingAdmissionPolicyBindingList) Descriptor() ([]byte, []int) {
+ return fileDescriptor_2c49182728ae0af5, []int{8}
+}
+func (m *MutatingAdmissionPolicyBindingList) XXX_Unmarshal(b []byte) error {
+ return m.Unmarshal(b)
+}
+func (m *MutatingAdmissionPolicyBindingList) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ b = b[:cap(b)]
+ n, err := m.MarshalToSizedBuffer(b)
+ if err != nil {
+ return nil, err
+ }
+ return b[:n], nil
+}
+func (m *MutatingAdmissionPolicyBindingList) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_MutatingAdmissionPolicyBindingList.Merge(m, src)
+}
+func (m *MutatingAdmissionPolicyBindingList) XXX_Size() int {
+ return m.Size()
+}
+func (m *MutatingAdmissionPolicyBindingList) XXX_DiscardUnknown() {
+ xxx_messageInfo_MutatingAdmissionPolicyBindingList.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_MutatingAdmissionPolicyBindingList proto.InternalMessageInfo
+
+func (m *MutatingAdmissionPolicyBindingSpec) Reset() { *m = MutatingAdmissionPolicyBindingSpec{} }
+func (*MutatingAdmissionPolicyBindingSpec) ProtoMessage() {}
+func (*MutatingAdmissionPolicyBindingSpec) Descriptor() ([]byte, []int) {
+ return fileDescriptor_2c49182728ae0af5, []int{9}
+}
+func (m *MutatingAdmissionPolicyBindingSpec) XXX_Unmarshal(b []byte) error {
+ return m.Unmarshal(b)
+}
+func (m *MutatingAdmissionPolicyBindingSpec) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ b = b[:cap(b)]
+ n, err := m.MarshalToSizedBuffer(b)
+ if err != nil {
+ return nil, err
+ }
+ return b[:n], nil
+}
+func (m *MutatingAdmissionPolicyBindingSpec) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_MutatingAdmissionPolicyBindingSpec.Merge(m, src)
+}
+func (m *MutatingAdmissionPolicyBindingSpec) XXX_Size() int {
+ return m.Size()
+}
+func (m *MutatingAdmissionPolicyBindingSpec) XXX_DiscardUnknown() {
+ xxx_messageInfo_MutatingAdmissionPolicyBindingSpec.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_MutatingAdmissionPolicyBindingSpec proto.InternalMessageInfo
+
+func (m *MutatingAdmissionPolicyList) Reset() { *m = MutatingAdmissionPolicyList{} }
+func (*MutatingAdmissionPolicyList) ProtoMessage() {}
+func (*MutatingAdmissionPolicyList) Descriptor() ([]byte, []int) {
+ return fileDescriptor_2c49182728ae0af5, []int{10}
+}
+func (m *MutatingAdmissionPolicyList) XXX_Unmarshal(b []byte) error {
+ return m.Unmarshal(b)
+}
+func (m *MutatingAdmissionPolicyList) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ b = b[:cap(b)]
+ n, err := m.MarshalToSizedBuffer(b)
+ if err != nil {
+ return nil, err
+ }
+ return b[:n], nil
+}
+func (m *MutatingAdmissionPolicyList) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_MutatingAdmissionPolicyList.Merge(m, src)
+}
+func (m *MutatingAdmissionPolicyList) XXX_Size() int {
+ return m.Size()
+}
+func (m *MutatingAdmissionPolicyList) XXX_DiscardUnknown() {
+ xxx_messageInfo_MutatingAdmissionPolicyList.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_MutatingAdmissionPolicyList proto.InternalMessageInfo
+
+func (m *MutatingAdmissionPolicySpec) Reset() { *m = MutatingAdmissionPolicySpec{} }
+func (*MutatingAdmissionPolicySpec) ProtoMessage() {}
+func (*MutatingAdmissionPolicySpec) Descriptor() ([]byte, []int) {
+ return fileDescriptor_2c49182728ae0af5, []int{11}
+}
+func (m *MutatingAdmissionPolicySpec) XXX_Unmarshal(b []byte) error {
+ return m.Unmarshal(b)
+}
+func (m *MutatingAdmissionPolicySpec) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ b = b[:cap(b)]
+ n, err := m.MarshalToSizedBuffer(b)
+ if err != nil {
+ return nil, err
+ }
+ return b[:n], nil
+}
+func (m *MutatingAdmissionPolicySpec) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_MutatingAdmissionPolicySpec.Merge(m, src)
+}
+func (m *MutatingAdmissionPolicySpec) XXX_Size() int {
+ return m.Size()
+}
+func (m *MutatingAdmissionPolicySpec) XXX_DiscardUnknown() {
+ xxx_messageInfo_MutatingAdmissionPolicySpec.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_MutatingAdmissionPolicySpec proto.InternalMessageInfo
+
+func (m *Mutation) Reset() { *m = Mutation{} }
+func (*Mutation) ProtoMessage() {}
+func (*Mutation) Descriptor() ([]byte, []int) {
+ return fileDescriptor_2c49182728ae0af5, []int{12}
+}
+func (m *Mutation) XXX_Unmarshal(b []byte) error {
+ return m.Unmarshal(b)
+}
+func (m *Mutation) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ b = b[:cap(b)]
+ n, err := m.MarshalToSizedBuffer(b)
+ if err != nil {
+ return nil, err
+ }
+ return b[:n], nil
+}
+func (m *Mutation) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_Mutation.Merge(m, src)
+}
+func (m *Mutation) XXX_Size() int {
+ return m.Size()
+}
+func (m *Mutation) XXX_DiscardUnknown() {
+ xxx_messageInfo_Mutation.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_Mutation proto.InternalMessageInfo
+
func (m *NamedRuleWithOperations) Reset() { *m = NamedRuleWithOperations{} }
func (*NamedRuleWithOperations) ProtoMessage() {}
func (*NamedRuleWithOperations) Descriptor() ([]byte, []int) {
- return fileDescriptor_2c49182728ae0af5, []int{4}
+ return fileDescriptor_2c49182728ae0af5, []int{13}
}
func (m *NamedRuleWithOperations) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -188,7 +441,7 @@ var xxx_messageInfo_NamedRuleWithOperations proto.InternalMessageInfo
func (m *ParamKind) Reset() { *m = ParamKind{} }
func (*ParamKind) ProtoMessage() {}
func (*ParamKind) Descriptor() ([]byte, []int) {
- return fileDescriptor_2c49182728ae0af5, []int{5}
+ return fileDescriptor_2c49182728ae0af5, []int{14}
}
func (m *ParamKind) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -216,7 +469,7 @@ var xxx_messageInfo_ParamKind proto.InternalMessageInfo
func (m *ParamRef) Reset() { *m = ParamRef{} }
func (*ParamRef) ProtoMessage() {}
func (*ParamRef) Descriptor() ([]byte, []int) {
- return fileDescriptor_2c49182728ae0af5, []int{6}
+ return fileDescriptor_2c49182728ae0af5, []int{15}
}
func (m *ParamRef) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -244,7 +497,7 @@ var xxx_messageInfo_ParamRef proto.InternalMessageInfo
func (m *TypeChecking) Reset() { *m = TypeChecking{} }
func (*TypeChecking) ProtoMessage() {}
func (*TypeChecking) Descriptor() ([]byte, []int) {
- return fileDescriptor_2c49182728ae0af5, []int{7}
+ return fileDescriptor_2c49182728ae0af5, []int{16}
}
func (m *TypeChecking) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -272,7 +525,7 @@ var xxx_messageInfo_TypeChecking proto.InternalMessageInfo
func (m *ValidatingAdmissionPolicy) Reset() { *m = ValidatingAdmissionPolicy{} }
func (*ValidatingAdmissionPolicy) ProtoMessage() {}
func (*ValidatingAdmissionPolicy) Descriptor() ([]byte, []int) {
- return fileDescriptor_2c49182728ae0af5, []int{8}
+ return fileDescriptor_2c49182728ae0af5, []int{17}
}
func (m *ValidatingAdmissionPolicy) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -300,7 +553,7 @@ var xxx_messageInfo_ValidatingAdmissionPolicy proto.InternalMessageInfo
func (m *ValidatingAdmissionPolicyBinding) Reset() { *m = ValidatingAdmissionPolicyBinding{} }
func (*ValidatingAdmissionPolicyBinding) ProtoMessage() {}
func (*ValidatingAdmissionPolicyBinding) Descriptor() ([]byte, []int) {
- return fileDescriptor_2c49182728ae0af5, []int{9}
+ return fileDescriptor_2c49182728ae0af5, []int{18}
}
func (m *ValidatingAdmissionPolicyBinding) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -328,7 +581,7 @@ var xxx_messageInfo_ValidatingAdmissionPolicyBinding proto.InternalMessageInfo
func (m *ValidatingAdmissionPolicyBindingList) Reset() { *m = ValidatingAdmissionPolicyBindingList{} }
func (*ValidatingAdmissionPolicyBindingList) ProtoMessage() {}
func (*ValidatingAdmissionPolicyBindingList) Descriptor() ([]byte, []int) {
- return fileDescriptor_2c49182728ae0af5, []int{10}
+ return fileDescriptor_2c49182728ae0af5, []int{19}
}
func (m *ValidatingAdmissionPolicyBindingList) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -356,7 +609,7 @@ var xxx_messageInfo_ValidatingAdmissionPolicyBindingList proto.InternalMessageIn
func (m *ValidatingAdmissionPolicyBindingSpec) Reset() { *m = ValidatingAdmissionPolicyBindingSpec{} }
func (*ValidatingAdmissionPolicyBindingSpec) ProtoMessage() {}
func (*ValidatingAdmissionPolicyBindingSpec) Descriptor() ([]byte, []int) {
- return fileDescriptor_2c49182728ae0af5, []int{11}
+ return fileDescriptor_2c49182728ae0af5, []int{20}
}
func (m *ValidatingAdmissionPolicyBindingSpec) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -384,7 +637,7 @@ var xxx_messageInfo_ValidatingAdmissionPolicyBindingSpec proto.InternalMessageIn
func (m *ValidatingAdmissionPolicyList) Reset() { *m = ValidatingAdmissionPolicyList{} }
func (*ValidatingAdmissionPolicyList) ProtoMessage() {}
func (*ValidatingAdmissionPolicyList) Descriptor() ([]byte, []int) {
- return fileDescriptor_2c49182728ae0af5, []int{12}
+ return fileDescriptor_2c49182728ae0af5, []int{21}
}
func (m *ValidatingAdmissionPolicyList) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -412,7 +665,7 @@ var xxx_messageInfo_ValidatingAdmissionPolicyList proto.InternalMessageInfo
func (m *ValidatingAdmissionPolicySpec) Reset() { *m = ValidatingAdmissionPolicySpec{} }
func (*ValidatingAdmissionPolicySpec) ProtoMessage() {}
func (*ValidatingAdmissionPolicySpec) Descriptor() ([]byte, []int) {
- return fileDescriptor_2c49182728ae0af5, []int{13}
+ return fileDescriptor_2c49182728ae0af5, []int{22}
}
func (m *ValidatingAdmissionPolicySpec) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -440,7 +693,7 @@ var xxx_messageInfo_ValidatingAdmissionPolicySpec proto.InternalMessageInfo
func (m *ValidatingAdmissionPolicyStatus) Reset() { *m = ValidatingAdmissionPolicyStatus{} }
func (*ValidatingAdmissionPolicyStatus) ProtoMessage() {}
func (*ValidatingAdmissionPolicyStatus) Descriptor() ([]byte, []int) {
- return fileDescriptor_2c49182728ae0af5, []int{14}
+ return fileDescriptor_2c49182728ae0af5, []int{23}
}
func (m *ValidatingAdmissionPolicyStatus) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -468,7 +721,7 @@ var xxx_messageInfo_ValidatingAdmissionPolicyStatus proto.InternalMessageInfo
func (m *Validation) Reset() { *m = Validation{} }
func (*Validation) ProtoMessage() {}
func (*Validation) Descriptor() ([]byte, []int) {
- return fileDescriptor_2c49182728ae0af5, []int{15}
+ return fileDescriptor_2c49182728ae0af5, []int{24}
}
func (m *Validation) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -496,7 +749,7 @@ var xxx_messageInfo_Validation proto.InternalMessageInfo
func (m *Variable) Reset() { *m = Variable{} }
func (*Variable) ProtoMessage() {}
func (*Variable) Descriptor() ([]byte, []int) {
- return fileDescriptor_2c49182728ae0af5, []int{16}
+ return fileDescriptor_2c49182728ae0af5, []int{25}
}
func (m *Variable) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -522,10 +775,19 @@ func (m *Variable) XXX_DiscardUnknown() {
var xxx_messageInfo_Variable proto.InternalMessageInfo
func init() {
+ proto.RegisterType((*ApplyConfiguration)(nil), "k8s.io.api.admissionregistration.v1alpha1.ApplyConfiguration")
proto.RegisterType((*AuditAnnotation)(nil), "k8s.io.api.admissionregistration.v1alpha1.AuditAnnotation")
proto.RegisterType((*ExpressionWarning)(nil), "k8s.io.api.admissionregistration.v1alpha1.ExpressionWarning")
+ proto.RegisterType((*JSONPatch)(nil), "k8s.io.api.admissionregistration.v1alpha1.JSONPatch")
proto.RegisterType((*MatchCondition)(nil), "k8s.io.api.admissionregistration.v1alpha1.MatchCondition")
proto.RegisterType((*MatchResources)(nil), "k8s.io.api.admissionregistration.v1alpha1.MatchResources")
+ proto.RegisterType((*MutatingAdmissionPolicy)(nil), "k8s.io.api.admissionregistration.v1alpha1.MutatingAdmissionPolicy")
+ proto.RegisterType((*MutatingAdmissionPolicyBinding)(nil), "k8s.io.api.admissionregistration.v1alpha1.MutatingAdmissionPolicyBinding")
+ proto.RegisterType((*MutatingAdmissionPolicyBindingList)(nil), "k8s.io.api.admissionregistration.v1alpha1.MutatingAdmissionPolicyBindingList")
+ proto.RegisterType((*MutatingAdmissionPolicyBindingSpec)(nil), "k8s.io.api.admissionregistration.v1alpha1.MutatingAdmissionPolicyBindingSpec")
+ proto.RegisterType((*MutatingAdmissionPolicyList)(nil), "k8s.io.api.admissionregistration.v1alpha1.MutatingAdmissionPolicyList")
+ proto.RegisterType((*MutatingAdmissionPolicySpec)(nil), "k8s.io.api.admissionregistration.v1alpha1.MutatingAdmissionPolicySpec")
+ proto.RegisterType((*Mutation)(nil), "k8s.io.api.admissionregistration.v1alpha1.Mutation")
proto.RegisterType((*NamedRuleWithOperations)(nil), "k8s.io.api.admissionregistration.v1alpha1.NamedRuleWithOperations")
proto.RegisterType((*ParamKind)(nil), "k8s.io.api.admissionregistration.v1alpha1.ParamKind")
proto.RegisterType((*ParamRef)(nil), "k8s.io.api.admissionregistration.v1alpha1.ParamRef")
@@ -546,101 +808,147 @@ func init() {
}
var fileDescriptor_2c49182728ae0af5 = []byte{
- // 1498 bytes of a gzipped FileDescriptorProto
- 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xbc, 0x58, 0x5b, 0x6f, 0x1b, 0xc5,
- 0x17, 0xcf, 0xc6, 0x6e, 0x12, 0x8f, 0x73, 0xb1, 0xe7, 0xdf, 0x2a, 0x6e, 0xfe, 0xd4, 0x1b, 0xad,
- 0x2a, 0xd4, 0x48, 0xb0, 0x26, 0x69, 0xa1, 0xb4, 0x42, 0x42, 0xd9, 0xde, 0xe8, 0x25, 0x17, 0x4d,
- 0x51, 0x22, 0x21, 0x90, 0x98, 0xec, 0x4e, 0xec, 0x69, 0xbc, 0x17, 0x76, 0xd6, 0xa1, 0x11, 0x48,
- 0x54, 0xe2, 0x05, 0xde, 0x78, 0xe0, 0x85, 0x57, 0x3e, 0x02, 0xdf, 0x80, 0xb7, 0x3e, 0xf6, 0xb1,
- 0x3c, 0x60, 0x51, 0xf3, 0xc2, 0x27, 0x00, 0x29, 0x2f, 0xa0, 0x99, 0x9d, 0xbd, 0xda, 0x26, 0x76,
- 0x09, 0xbc, 0x79, 0xce, 0x9c, 0xf3, 0xfb, 0xcd, 0x39, 0x73, 0xce, 0xd9, 0x33, 0x06, 0xd7, 0x0e,
- 0xde, 0x66, 0x3a, 0x75, 0x1b, 0xd8, 0xa3, 0x0d, 0x6c, 0xd9, 0x94, 0x31, 0xea, 0x3a, 0x3e, 0x69,
- 0x52, 0x16, 0xf8, 0x38, 0xa0, 0xae, 0xd3, 0x38, 0x5c, 0xc5, 0x6d, 0xaf, 0x85, 0x57, 0x1b, 0x4d,
- 0xe2, 0x10, 0x1f, 0x07, 0xc4, 0xd2, 0x3d, 0xdf, 0x0d, 0x5c, 0xb8, 0x12, 0x9a, 0xea, 0xd8, 0xa3,
- 0xfa, 0x40, 0x53, 0x3d, 0x32, 0x5d, 0x7a, 0xbd, 0x49, 0x83, 0x56, 0x67, 0x4f, 0x37, 0x5d, 0xbb,
- 0xd1, 0x74, 0x9b, 0x6e, 0x43, 0x20, 0xec, 0x75, 0xf6, 0xc5, 0x4a, 0x2c, 0xc4, 0xaf, 0x10, 0x79,
- 0xe9, 0xf2, 0x08, 0x87, 0xca, 0x1f, 0x67, 0xe9, 0x4a, 0x62, 0x64, 0x63, 0xb3, 0x45, 0x1d, 0xe2,
- 0x1f, 0x35, 0xbc, 0x83, 0x26, 0x17, 0xb0, 0x86, 0x4d, 0x02, 0x3c, 0xc8, 0xaa, 0x31, 0xcc, 0xca,
- 0xef, 0x38, 0x01, 0xb5, 0x49, 0x9f, 0xc1, 0x5b, 0x27, 0x19, 0x30, 0xb3, 0x45, 0x6c, 0x9c, 0xb7,
- 0xd3, 0x18, 0x58, 0x58, 0xef, 0x58, 0x34, 0x58, 0x77, 0x1c, 0x37, 0x10, 0x4e, 0xc0, 0x0b, 0xa0,
- 0x70, 0x40, 0x8e, 0x6a, 0xca, 0xb2, 0x72, 0xa9, 0x64, 0x94, 0x9f, 0x76, 0xd5, 0x89, 0x5e, 0x57,
- 0x2d, 0xdc, 0x27, 0x47, 0x88, 0xcb, 0xe1, 0x3a, 0x58, 0x38, 0xc4, 0xed, 0x0e, 0xb9, 0xf5, 0xd8,
- 0xf3, 0x89, 0x08, 0x41, 0x6d, 0x52, 0xa8, 0x2e, 0x4a, 0xd5, 0x85, 0x9d, 0xec, 0x36, 0xca, 0xeb,
- 0x6b, 0x6d, 0x50, 0x4d, 0x56, 0xbb, 0xd8, 0x77, 0xa8, 0xd3, 0x84, 0xaf, 0x81, 0x99, 0x7d, 0x4a,
- 0xda, 0x16, 0x22, 0xfb, 0x12, 0xb0, 0x22, 0x01, 0x67, 0x6e, 0x4b, 0x39, 0x8a, 0x35, 0xe0, 0x0a,
- 0x98, 0xfe, 0x34, 0x34, 0xac, 0x15, 0x84, 0xf2, 0x82, 0x54, 0x9e, 0x96, 0x78, 0x28, 0xda, 0xd7,
- 0xf6, 0xc1, 0xfc, 0x06, 0x0e, 0xcc, 0xd6, 0x0d, 0xd7, 0xb1, 0xa8, 0xf0, 0x70, 0x19, 0x14, 0x1d,
- 0x6c, 0x13, 0xe9, 0xe2, 0xac, 0xb4, 0x2c, 0x6e, 0x62, 0x9b, 0x20, 0xb1, 0x03, 0xd7, 0x00, 0x20,
- 0x79, 0xff, 0xa0, 0xd4, 0x03, 0x29, 0xd7, 0x52, 0x5a, 0xda, 0x4f, 0x45, 0x49, 0x84, 0x08, 0x73,
- 0x3b, 0xbe, 0x49, 0x18, 0x7c, 0x0c, 0xaa, 0x1c, 0x8e, 0x79, 0xd8, 0x24, 0x0f, 0x49, 0x9b, 0x98,
- 0x81, 0xeb, 0x0b, 0xd6, 0xf2, 0xda, 0x65, 0x3d, 0xc9, 0xd3, 0xf8, 0xc6, 0x74, 0xef, 0xa0, 0xc9,
- 0x05, 0x4c, 0xe7, 0x89, 0xa1, 0x1f, 0xae, 0xea, 0x0f, 0xf0, 0x1e, 0x69, 0x47, 0xa6, 0xc6, 0xb9,
- 0x5e, 0x57, 0xad, 0x6e, 0xe6, 0x11, 0x51, 0x3f, 0x09, 0x74, 0xc1, 0xbc, 0xbb, 0xf7, 0x88, 0x98,
- 0x41, 0x4c, 0x3b, 0xf9, 0xf2, 0xb4, 0xb0, 0xd7, 0x55, 0xe7, 0xb7, 0x32, 0x70, 0x28, 0x07, 0x0f,
- 0xbf, 0x00, 0x73, 0xbe, 0xf4, 0x1b, 0x75, 0xda, 0x84, 0xd5, 0x0a, 0xcb, 0x85, 0x4b, 0xe5, 0x35,
- 0x43, 0x1f, 0xb9, 0x1c, 0x75, 0xee, 0x98, 0xc5, 0x8d, 0x77, 0x69, 0xd0, 0xda, 0xf2, 0x48, 0xb8,
- 0xcf, 0x8c, 0x73, 0x32, 0xf0, 0x73, 0x28, 0x4d, 0x80, 0xb2, 0x7c, 0xf0, 0x5b, 0x05, 0x9c, 0x25,
- 0x8f, 0xcd, 0x76, 0xc7, 0x22, 0x19, 0xbd, 0x5a, 0xf1, 0xd4, 0x0e, 0xf2, 0x8a, 0x3c, 0xc8, 0xd9,
- 0x5b, 0x03, 0x78, 0xd0, 0x40, 0x76, 0x78, 0x13, 0x94, 0x6d, 0x9e, 0x14, 0xdb, 0x6e, 0x9b, 0x9a,
- 0x47, 0xb5, 0x69, 0x91, 0x4a, 0x5a, 0xaf, 0xab, 0x96, 0x37, 0x12, 0xf1, 0x71, 0x57, 0x5d, 0x48,
- 0x2d, 0xdf, 0x3f, 0xf2, 0x08, 0x4a, 0x9b, 0x69, 0xcf, 0x15, 0xb0, 0x38, 0xe4, 0x54, 0xf0, 0x6a,
- 0x12, 0x79, 0x91, 0x1a, 0x35, 0x65, 0xb9, 0x70, 0xa9, 0x64, 0x54, 0xd3, 0x11, 0x13, 0x1b, 0x28,
- 0xab, 0x07, 0xbf, 0x54, 0x00, 0xf4, 0xfb, 0xf0, 0x64, 0xa2, 0x5c, 0x1d, 0x25, 0x5e, 0xfa, 0x80,
- 0x20, 0x2d, 0xc9, 0x20, 0xc1, 0xfe, 0x3d, 0x34, 0x80, 0x4e, 0xc3, 0xa0, 0xb4, 0x8d, 0x7d, 0x6c,
- 0xdf, 0xa7, 0x8e, 0xc5, 0xeb, 0x0e, 0x7b, 0x74, 0x87, 0xf8, 0xa2, 0xee, 0x94, 0x6c, 0xdd, 0xad,
- 0x6f, 0xdf, 0x95, 0x3b, 0x28, 0xa5, 0xc5, 0xab, 0xf9, 0x80, 0x3a, 0x96, 0xac, 0xd2, 0xb8, 0x9a,
- 0x39, 0x1e, 0x12, 0x3b, 0xda, 0x0f, 0x93, 0x60, 0x46, 0x70, 0xf0, 0xce, 0x71, 0x72, 0xf1, 0x37,
- 0x40, 0x29, 0x2e, 0x28, 0x89, 0x5a, 0x95, 0x6a, 0xa5, 0xb8, 0xf8, 0x50, 0xa2, 0x03, 0x3f, 0x02,
- 0x33, 0x2c, 0x2a, 0xb3, 0xc2, 0xcb, 0x97, 0xd9, 0x2c, 0xef, 0x75, 0x71, 0x81, 0xc5, 0x90, 0x30,
- 0x00, 0x8b, 0x1e, 0x3f, 0x3d, 0x09, 0x88, 0xbf, 0xe9, 0x06, 0xb7, 0xdd, 0x8e, 0x63, 0xad, 0x9b,
- 0x3c, 0x7a, 0xb5, 0xa2, 0x38, 0xdd, 0xf5, 0x5e, 0x57, 0x5d, 0xdc, 0x1e, 0xac, 0x72, 0xdc, 0x55,
- 0xff, 0x3f, 0x64, 0x4b, 0xa4, 0xd9, 0x30, 0x68, 0xed, 0x3b, 0x05, 0xcc, 0x72, 0x8d, 0x1b, 0x2d,
- 0x62, 0x1e, 0xf0, 0x06, 0xfd, 0x95, 0x02, 0x20, 0xc9, 0xb7, 0xed, 0x30, 0xdb, 0xca, 0x6b, 0xef,
- 0x8c, 0x51, 0x5e, 0x7d, 0xbd, 0x3f, 0xc9, 0x99, 0xbe, 0x2d, 0x86, 0x06, 0x70, 0x6a, 0x3f, 0x4f,
- 0x82, 0xf3, 0x3b, 0xb8, 0x4d, 0x2d, 0x1c, 0x50, 0xa7, 0xb9, 0x1e, 0xd1, 0x85, 0xc5, 0x02, 0x3f,
- 0x06, 0x33, 0x3c, 0xc0, 0x16, 0x0e, 0xb0, 0x6c, 0xb6, 0x6f, 0x8c, 0x76, 0x1d, 0x61, 0x8b, 0xdb,
- 0x20, 0x01, 0x4e, 0x92, 0x2e, 0x91, 0xa1, 0x18, 0x15, 0x3e, 0x02, 0x45, 0xe6, 0x11, 0x53, 0x96,
- 0xca, 0x7b, 0x63, 0xf8, 0x3e, 0xf4, 0xd4, 0x0f, 0x3d, 0x62, 0x26, 0xd9, 0xc8, 0x57, 0x48, 0x70,
- 0x40, 0x1f, 0x4c, 0xb1, 0x00, 0x07, 0x1d, 0x26, 0x53, 0xeb, 0xde, 0xa9, 0xb0, 0x09, 0x44, 0x63,
- 0x5e, 0xf2, 0x4d, 0x85, 0x6b, 0x24, 0x99, 0xb4, 0x3f, 0x14, 0xb0, 0x3c, 0xd4, 0xd6, 0xa0, 0x8e,
- 0xc5, 0xf3, 0xe1, 0xdf, 0x0f, 0xf3, 0x27, 0x99, 0x30, 0x6f, 0x9d, 0x86, 0xe3, 0xf2, 0xf0, 0xc3,
- 0xa2, 0xad, 0xfd, 0xae, 0x80, 0x8b, 0x27, 0x19, 0x3f, 0xa0, 0x2c, 0x80, 0x1f, 0xf6, 0x79, 0xaf,
- 0x8f, 0x58, 0xf3, 0x94, 0x85, 0xbe, 0xc7, 0xe3, 0x4d, 0x24, 0x49, 0x79, 0xee, 0x81, 0x33, 0x34,
- 0x20, 0x36, 0x6f, 0xc6, 0xbc, 0xba, 0xee, 0x9f, 0xa2, 0xeb, 0xc6, 0x9c, 0xe4, 0x3d, 0x73, 0x97,
- 0x33, 0xa0, 0x90, 0x48, 0xfb, 0xba, 0x70, 0xb2, 0xe3, 0x3c, 0x4e, 0xbc, 0x45, 0x7b, 0x42, 0xb8,
- 0x99, 0x74, 0xd1, 0xf8, 0x1a, 0xb7, 0xe3, 0x1d, 0x94, 0xd2, 0xe2, 0x0d, 0xd2, 0x93, 0xfd, 0x77,
- 0xc0, 0x1c, 0x72, 0x92, 0x47, 0x51, 0xeb, 0x0e, 0x1b, 0x64, 0xb4, 0x42, 0x31, 0x24, 0xec, 0x80,
- 0x79, 0x3b, 0x33, 0x78, 0xc9, 0x52, 0xb9, 0x36, 0x06, 0x49, 0x76, 0x72, 0x0b, 0x47, 0x9e, 0xac,
- 0x0c, 0xe5, 0x48, 0xe0, 0x2e, 0xa8, 0x1e, 0xca, 0x88, 0xb9, 0x4e, 0xd8, 0x35, 0xc3, 0x69, 0xa3,
- 0x64, 0xac, 0xf0, 0x41, 0x6d, 0x27, 0xbf, 0x79, 0xdc, 0x55, 0x2b, 0x79, 0x21, 0xea, 0xc7, 0xd0,
- 0x7e, 0x53, 0xc0, 0x85, 0xa1, 0x77, 0xf1, 0x1f, 0x64, 0x1f, 0xcd, 0x66, 0xdf, 0xcd, 0x53, 0xc9,
- 0xbe, 0xc1, 0x69, 0xf7, 0xfd, 0xd4, 0xdf, 0xb8, 0x2a, 0xf2, 0x0d, 0x83, 0x92, 0x17, 0xcd, 0x07,
- 0xd2, 0xd7, 0x2b, 0xe3, 0x26, 0x0f, 0xb7, 0x35, 0xe6, 0xf8, 0xf7, 0x3b, 0x5e, 0xa2, 0x04, 0x15,
- 0x7e, 0x06, 0x2a, 0xb6, 0x7c, 0x21, 0x70, 0x00, 0xea, 0x04, 0xd1, 0x14, 0xf4, 0x0f, 0x32, 0xe8,
- 0x6c, 0xaf, 0xab, 0x56, 0x36, 0x72, 0xb0, 0xa8, 0x8f, 0x08, 0xb6, 0x41, 0x39, 0xc9, 0x80, 0x68,
- 0x6c, 0x7e, 0xf3, 0x25, 0x42, 0xee, 0x3a, 0xc6, 0xff, 0x64, 0x8c, 0xcb, 0x89, 0x8c, 0xa1, 0x34,
- 0x3c, 0x7c, 0x00, 0xe6, 0xf6, 0x31, 0x6d, 0x77, 0x7c, 0x22, 0x07, 0xd2, 0x70, 0x82, 0x78, 0x95,
- 0x0f, 0x8b, 0xb7, 0xd3, 0x1b, 0xc7, 0x5d, 0xb5, 0x9a, 0x11, 0x88, 0x69, 0x21, 0x6b, 0x0c, 0x9f,
- 0x28, 0xa0, 0x82, 0xb3, 0xcf, 0x47, 0x56, 0x3b, 0x23, 0x3c, 0xb8, 0x3e, 0x86, 0x07, 0xb9, 0x17,
- 0xa8, 0x51, 0x93, 0x6e, 0x54, 0x72, 0x1b, 0x0c, 0xf5, 0xb1, 0xc1, 0xcf, 0xc1, 0x82, 0x9d, 0x79,
- 0xdd, 0xb1, 0xda, 0x94, 0x38, 0xc0, 0xd8, 0x57, 0x17, 0x23, 0x24, 0x2f, 0xd9, 0xac, 0x9c, 0xa1,
- 0x3c, 0x15, 0xb4, 0x40, 0xe9, 0x10, 0xfb, 0x14, 0xef, 0xf1, 0x87, 0xc6, 0xb4, 0xe0, 0xbd, 0x3c,
- 0xd6, 0xd5, 0x85, 0xb6, 0xc9, 0x7c, 0x19, 0x49, 0x18, 0x4a, 0x80, 0xb5, 0x1f, 0x27, 0x81, 0x7a,
- 0xc2, 0xa7, 0x1c, 0xde, 0x03, 0xd0, 0xdd, 0x63, 0xc4, 0x3f, 0x24, 0xd6, 0x9d, 0xf0, 0x8d, 0x1f,
- 0x4d, 0xd0, 0x85, 0x64, 0xbc, 0xda, 0xea, 0xd3, 0x40, 0x03, 0xac, 0xa0, 0x0d, 0x66, 0x83, 0xd4,
- 0xe4, 0x37, 0xce, 0x8b, 0x40, 0x3a, 0x96, 0x1e, 0x1c, 0x8d, 0x4a, 0xaf, 0xab, 0x66, 0x46, 0x49,
- 0x94, 0x81, 0x87, 0x26, 0x00, 0x66, 0x72, 0x7b, 0x61, 0x01, 0x34, 0x46, 0x6b, 0x67, 0xc9, 0x9d,
- 0xc5, 0x9f, 0xa0, 0xd4, 0x75, 0xa5, 0x60, 0xb5, 0x3f, 0x15, 0x00, 0x92, 0xaa, 0x80, 0x17, 0x41,
- 0xea, 0x19, 0x2f, 0xbf, 0x62, 0x45, 0x0e, 0x81, 0x52, 0x72, 0xb8, 0x02, 0xa6, 0x6d, 0xc2, 0x18,
- 0x6e, 0x46, 0xef, 0x80, 0xf8, 0x5f, 0x86, 0x8d, 0x50, 0x8c, 0xa2, 0x7d, 0xb8, 0x0b, 0xa6, 0x7c,
- 0x82, 0x99, 0xeb, 0xc8, 0xff, 0x23, 0xde, 0xe5, 0x63, 0x15, 0x12, 0x92, 0xe3, 0xae, 0xba, 0x3a,
- 0xca, 0xbf, 0x40, 0xba, 0x9c, 0xc2, 0x84, 0x11, 0x92, 0x70, 0xf0, 0x0e, 0xa8, 0x4a, 0x8e, 0xd4,
- 0x81, 0xc3, 0xaa, 0x3d, 0x2f, 0x4f, 0x53, 0xdd, 0xc8, 0x2b, 0xa0, 0x7e, 0x1b, 0xed, 0x1e, 0x98,
- 0x89, 0xb2, 0x0b, 0xd6, 0x40, 0x31, 0xf5, 0xf9, 0x0e, 0x1d, 0x17, 0x92, 0x5c, 0x60, 0x26, 0x07,
- 0x07, 0xc6, 0xd8, 0x7a, 0xfa, 0xa2, 0x3e, 0xf1, 0xec, 0x45, 0x7d, 0xe2, 0xf9, 0x8b, 0xfa, 0xc4,
- 0x93, 0x5e, 0x5d, 0x79, 0xda, 0xab, 0x2b, 0xcf, 0x7a, 0x75, 0xe5, 0x79, 0xaf, 0xae, 0xfc, 0xd2,
- 0xab, 0x2b, 0xdf, 0xfc, 0x5a, 0x9f, 0xf8, 0x60, 0x65, 0xe4, 0x7f, 0xf1, 0xfe, 0x0a, 0x00, 0x00,
- 0xff, 0xff, 0x22, 0xbd, 0xc5, 0xc7, 0xf1, 0x13, 0x00, 0x00,
+ // 1783 bytes of a gzipped FileDescriptorProto
+ 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x59, 0xdd, 0x6f, 0x1b, 0x4b,
+ 0x15, 0xcf, 0xda, 0xce, 0x87, 0xc7, 0xf9, 0xf2, 0xd0, 0x12, 0x37, 0xa5, 0xde, 0x68, 0x55, 0xa1,
+ 0x46, 0x82, 0x35, 0x49, 0x0b, 0xa5, 0x55, 0x51, 0x95, 0x6d, 0x9b, 0xb6, 0x69, 0x9d, 0x44, 0x53,
+ 0x94, 0x20, 0x04, 0x12, 0x93, 0xf5, 0xc4, 0xde, 0xc6, 0xfb, 0xc1, 0xce, 0x3a, 0x34, 0x02, 0x89,
+ 0x4a, 0x08, 0x09, 0xde, 0x78, 0xe0, 0x85, 0x37, 0xc4, 0x1f, 0xc0, 0x03, 0xfc, 0x05, 0xbc, 0xf5,
+ 0xb1, 0x8f, 0xe5, 0x81, 0x15, 0x35, 0x20, 0xf1, 0x0c, 0xd2, 0xbd, 0x52, 0x5e, 0xee, 0xd5, 0xcc,
+ 0xce, 0x7e, 0x79, 0xed, 0xc6, 0x4e, 0xd3, 0xf4, 0xe1, 0xde, 0x37, 0xcf, 0xf9, 0xf8, 0x9d, 0x39,
+ 0x67, 0xce, 0x9c, 0x39, 0xc7, 0x0b, 0x6e, 0x1d, 0x7c, 0x97, 0xaa, 0x86, 0x5d, 0xc3, 0x8e, 0x51,
+ 0xc3, 0x0d, 0xd3, 0xa0, 0xd4, 0xb0, 0x2d, 0x97, 0x34, 0x0d, 0xea, 0xb9, 0xd8, 0x33, 0x6c, 0xab,
+ 0x76, 0xb8, 0x82, 0xdb, 0x4e, 0x0b, 0xaf, 0xd4, 0x9a, 0xc4, 0x22, 0x2e, 0xf6, 0x48, 0x43, 0x75,
+ 0x5c, 0xdb, 0xb3, 0xe1, 0x72, 0xa0, 0xaa, 0x62, 0xc7, 0x50, 0xfb, 0xaa, 0xaa, 0xa1, 0xea, 0xe2,
+ 0x37, 0x9b, 0x86, 0xd7, 0xea, 0xec, 0xa9, 0xba, 0x6d, 0xd6, 0x9a, 0x76, 0xd3, 0xae, 0x71, 0x84,
+ 0xbd, 0xce, 0x3e, 0x5f, 0xf1, 0x05, 0xff, 0x15, 0x20, 0x2f, 0x5e, 0x1f, 0x62, 0x53, 0xbd, 0xdb,
+ 0x59, 0xbc, 0x11, 0x2b, 0x99, 0x58, 0x6f, 0x19, 0x16, 0x71, 0x8f, 0x6a, 0xce, 0x41, 0x93, 0x11,
+ 0x68, 0xcd, 0x24, 0x1e, 0xee, 0xa7, 0x55, 0x1b, 0xa4, 0xe5, 0x76, 0x2c, 0xcf, 0x30, 0x49, 0x46,
+ 0xe1, 0x3b, 0x27, 0x29, 0x50, 0xbd, 0x45, 0x4c, 0xdc, 0xab, 0xa7, 0x3c, 0x02, 0x70, 0xcd, 0x71,
+ 0xda, 0x47, 0xf7, 0x6c, 0x6b, 0xdf, 0x68, 0x76, 0x02, 0x3f, 0xe0, 0x2a, 0x00, 0xe4, 0x85, 0xe3,
+ 0x12, 0xee, 0x61, 0x45, 0x5a, 0x92, 0xae, 0x15, 0x35, 0xf8, 0xca, 0x97, 0xc7, 0xba, 0xbe, 0x0c,
+ 0x1e, 0x44, 0x1c, 0x94, 0x90, 0x52, 0x28, 0x98, 0x5b, 0xeb, 0x34, 0x0c, 0x6f, 0xcd, 0xb2, 0x6c,
+ 0x2f, 0x80, 0xb9, 0x02, 0xf2, 0x07, 0xe4, 0x48, 0xe8, 0x97, 0x84, 0x7e, 0xfe, 0x09, 0x39, 0x42,
+ 0x8c, 0x0e, 0xd7, 0xc0, 0xdc, 0x21, 0x6e, 0x77, 0x48, 0x0c, 0x58, 0xc9, 0x71, 0xd1, 0x05, 0x21,
+ 0x3a, 0xb7, 0x93, 0x66, 0xa3, 0x5e, 0x79, 0xa5, 0x0d, 0xca, 0xf1, 0x6a, 0x17, 0xbb, 0x96, 0x61,
+ 0x35, 0xe1, 0x37, 0xc0, 0xd4, 0xbe, 0x41, 0xda, 0x0d, 0x44, 0xf6, 0x05, 0xe0, 0xbc, 0x00, 0x9c,
+ 0x5a, 0x17, 0x74, 0x14, 0x49, 0xc0, 0x65, 0x30, 0xf9, 0xb3, 0x40, 0xb1, 0x92, 0xe7, 0xc2, 0x73,
+ 0x42, 0x78, 0x52, 0xe0, 0xa1, 0x90, 0xaf, 0xdc, 0x05, 0xc5, 0x8d, 0x67, 0x5b, 0x9b, 0xdb, 0xd8,
+ 0xd3, 0x5b, 0xa7, 0x8a, 0xd1, 0x3e, 0x98, 0xad, 0x33, 0xe5, 0x7b, 0xb6, 0xd5, 0x30, 0x78, 0x88,
+ 0x96, 0x40, 0xc1, 0xc2, 0x26, 0x11, 0xfa, 0xd3, 0x42, 0xbf, 0xb0, 0x89, 0x4d, 0x82, 0x38, 0xa7,
+ 0xc7, 0x4e, 0x6e, 0x28, 0x3b, 0x7f, 0x2f, 0x08, 0x43, 0x88, 0x50, 0xbb, 0xe3, 0xea, 0x84, 0xc2,
+ 0x17, 0xa0, 0xcc, 0xe0, 0xa8, 0x83, 0x75, 0xf2, 0x8c, 0xb4, 0x89, 0xee, 0xd9, 0x2e, 0xb7, 0x5a,
+ 0x5a, 0xbd, 0xae, 0xc6, 0x57, 0x26, 0x4a, 0x1e, 0xd5, 0x39, 0x68, 0x32, 0x02, 0x55, 0x59, 0x8e,
+ 0xaa, 0x87, 0x2b, 0xea, 0x53, 0xbc, 0x47, 0xda, 0xa1, 0xaa, 0x76, 0xb1, 0xeb, 0xcb, 0xe5, 0xcd,
+ 0x5e, 0x44, 0x94, 0x35, 0x02, 0x6d, 0x30, 0x6b, 0xef, 0x3d, 0x27, 0xba, 0x17, 0x99, 0xcd, 0x9d,
+ 0xde, 0x2c, 0xec, 0xfa, 0xf2, 0xec, 0x56, 0x0a, 0x0e, 0xf5, 0xc0, 0xc3, 0x5f, 0x82, 0x19, 0x57,
+ 0xf8, 0x8d, 0x3a, 0x6d, 0x42, 0x2b, 0xf9, 0xa5, 0xfc, 0xb5, 0xd2, 0xaa, 0xa6, 0x0e, 0x5d, 0x19,
+ 0x54, 0xe6, 0x58, 0x83, 0x29, 0xef, 0x1a, 0x5e, 0x6b, 0xcb, 0x21, 0x01, 0x9f, 0x6a, 0x17, 0x45,
+ 0xe0, 0x67, 0x50, 0xd2, 0x00, 0x4a, 0xdb, 0x83, 0xbf, 0x97, 0xc0, 0x05, 0xf2, 0x42, 0x6f, 0x77,
+ 0x1a, 0x24, 0x25, 0x57, 0x29, 0x9c, 0xd9, 0x46, 0xbe, 0x26, 0x36, 0x72, 0xe1, 0x41, 0x1f, 0x3b,
+ 0xa8, 0xaf, 0x75, 0x78, 0x1f, 0x94, 0x4c, 0x96, 0x14, 0xdb, 0x76, 0xdb, 0xd0, 0x8f, 0x2a, 0x93,
+ 0x3c, 0x95, 0x94, 0xae, 0x2f, 0x97, 0xea, 0x31, 0xf9, 0xd8, 0x97, 0xe7, 0x12, 0xcb, 0xef, 0x1f,
+ 0x39, 0x04, 0x25, 0xd5, 0x94, 0xff, 0x48, 0x60, 0xa1, 0xde, 0x61, 0x37, 0xdc, 0x6a, 0xae, 0x85,
+ 0x9b, 0x0f, 0x78, 0xf0, 0x27, 0x60, 0x8a, 0x1d, 0x5b, 0x03, 0x7b, 0x58, 0xe4, 0xd6, 0xb7, 0x86,
+ 0x3b, 0xe4, 0xe0, 0x44, 0xeb, 0xc4, 0xc3, 0x71, 0x6e, 0xc7, 0x34, 0x14, 0xa1, 0xc2, 0x16, 0x28,
+ 0x50, 0x87, 0xe8, 0x22, 0x85, 0xd6, 0x47, 0x88, 0xe4, 0x80, 0x3d, 0x3f, 0x73, 0x88, 0x1e, 0xdf,
+ 0x3b, 0xb6, 0x42, 0xdc, 0x82, 0xf2, 0x7f, 0x09, 0x54, 0x07, 0xe8, 0x68, 0x86, 0xd5, 0x60, 0x85,
+ 0xe6, 0xc3, 0xbb, 0x6b, 0xa7, 0xdc, 0xad, 0xbf, 0xbf, 0xbb, 0x62, 0xeb, 0x03, 0xbd, 0xfe, 0x9f,
+ 0x04, 0x94, 0x77, 0xab, 0x3e, 0x35, 0xa8, 0x07, 0x7f, 0x94, 0xf1, 0x5c, 0x1d, 0xf2, 0x36, 0x1b,
+ 0x34, 0xf0, 0x3b, 0x2a, 0xc9, 0x21, 0x25, 0xe1, 0xb5, 0x05, 0xc6, 0x0d, 0x8f, 0x98, 0xb4, 0x92,
+ 0xe3, 0xf7, 0xe5, 0xf1, 0x99, 0xb9, 0xad, 0xcd, 0x08, 0xab, 0xe3, 0x8f, 0x19, 0x3e, 0x0a, 0xcc,
+ 0x28, 0x7f, 0xce, 0x9d, 0xe4, 0x34, 0x8b, 0x10, 0xab, 0xc4, 0x0e, 0x27, 0x6e, 0xc6, 0x15, 0x3b,
+ 0x3a, 0xbe, 0xed, 0x88, 0x83, 0x12, 0x52, 0xf0, 0xc7, 0x60, 0xca, 0xc1, 0x2e, 0x36, 0xc3, 0xb7,
+ 0x28, 0x5d, 0xf6, 0x4e, 0xf2, 0x66, 0x5b, 0xa8, 0x6a, 0xd3, 0x2c, 0x52, 0xe1, 0x0a, 0x45, 0x90,
+ 0xb0, 0x03, 0x66, 0xcd, 0x54, 0x9d, 0xe7, 0x6f, 0x58, 0x69, 0xf5, 0xd6, 0x28, 0x21, 0x4b, 0x01,
+ 0x04, 0x15, 0x36, 0x4d, 0x43, 0x3d, 0x46, 0x94, 0x7f, 0x4b, 0xe0, 0xf2, 0x80, 0x80, 0x9d, 0x43,
+ 0x7a, 0x34, 0xd3, 0xe9, 0xa1, 0x9d, 0x41, 0x7a, 0xf4, 0xcf, 0x8b, 0x3f, 0x4e, 0x0c, 0x74, 0x93,
+ 0x27, 0x04, 0x06, 0x45, 0x7e, 0x12, 0x4f, 0x0c, 0xab, 0x21, 0xfc, 0xbc, 0x31, 0xea, 0xe9, 0x32,
+ 0x5d, 0x6d, 0xa6, 0xeb, 0xcb, 0xc5, 0x68, 0x89, 0x62, 0x54, 0xf8, 0x73, 0x30, 0x6f, 0x8a, 0x8e,
+ 0x81, 0x01, 0x18, 0x96, 0x47, 0x45, 0x1e, 0xbd, 0xc7, 0x11, 0x5f, 0xe8, 0xfa, 0xf2, 0x7c, 0xbd,
+ 0x07, 0x16, 0x65, 0x0c, 0xc1, 0x06, 0x28, 0x1e, 0x62, 0xd7, 0xc0, 0x7b, 0xf1, 0x23, 0x3a, 0x4a,
+ 0xf6, 0xee, 0x08, 0x5d, 0xad, 0x2c, 0xa2, 0x5b, 0x0c, 0x29, 0x14, 0xc5, 0xc0, 0xcc, 0x8a, 0xd9,
+ 0x09, 0x3a, 0xc6, 0xf0, 0x85, 0xbc, 0x3e, 0xf2, 0x91, 0xda, 0x56, 0x6c, 0x25, 0xa4, 0x50, 0x14,
+ 0x03, 0xc3, 0xa7, 0x60, 0x66, 0x1f, 0x1b, 0xed, 0x8e, 0x4b, 0xc4, 0xf3, 0x37, 0xce, 0xef, 0xef,
+ 0xd7, 0xd9, 0x63, 0xbe, 0x9e, 0x64, 0x1c, 0xfb, 0x72, 0x39, 0x45, 0xe0, 0x4f, 0x60, 0x5a, 0x19,
+ 0xfe, 0x02, 0xcc, 0x99, 0xa9, 0x46, 0x8e, 0x56, 0x26, 0xf8, 0xce, 0x47, 0x3e, 0x95, 0x08, 0x21,
+ 0xee, 0x7a, 0xd3, 0x74, 0x8a, 0x7a, 0x4d, 0xc1, 0xdf, 0x48, 0x00, 0xba, 0xc4, 0xb0, 0x0e, 0x6d,
+ 0x9d, 0x43, 0xa6, 0x1e, 0xf4, 0x1f, 0x08, 0x18, 0x88, 0x32, 0x12, 0xc7, 0xbe, 0x7c, 0x7b, 0x88,
+ 0x19, 0x46, 0xcd, 0x6a, 0xf2, 0x18, 0xf4, 0xb1, 0xa9, 0xfc, 0x35, 0x07, 0xa6, 0xc2, 0x78, 0xc3,
+ 0x3b, 0xec, 0x3e, 0x78, 0x7a, 0x8b, 0x49, 0x8b, 0x4e, 0xb5, 0x1a, 0x1e, 0xca, 0x76, 0xc8, 0x38,
+ 0x4e, 0x2e, 0x50, 0xac, 0x00, 0x7f, 0x2d, 0x01, 0x88, 0x33, 0xb3, 0x88, 0x28, 0x68, 0xdf, 0x1b,
+ 0x21, 0xae, 0xd9, 0x81, 0x46, 0xfb, 0x2a, 0x0b, 0x48, 0x96, 0x8e, 0xfa, 0x18, 0x64, 0xb7, 0xfa,
+ 0x39, 0xb5, 0x2d, 0xbe, 0xc7, 0x4a, 0x61, 0xe4, 0x5b, 0x1d, 0x4d, 0x08, 0xc1, 0xad, 0x8e, 0x96,
+ 0x28, 0x46, 0x55, 0xde, 0x48, 0x60, 0x61, 0x40, 0x67, 0x07, 0x6f, 0xc6, 0xdd, 0x2b, 0x6f, 0xaf,
+ 0x2b, 0xd2, 0x52, 0xfe, 0x5a, 0x51, 0x2b, 0x27, 0xbb, 0x4e, 0xce, 0x40, 0x69, 0x39, 0xf8, 0x2b,
+ 0x96, 0x15, 0x19, 0x3c, 0x51, 0x2d, 0x6e, 0x0e, 0xe3, 0x81, 0xda, 0xa7, 0xd1, 0x5c, 0x8c, 0xd2,
+ 0x29, 0xc3, 0x43, 0x7d, 0xcc, 0x29, 0x18, 0xc4, 0x85, 0x8c, 0xbd, 0x98, 0xd8, 0x31, 0x76, 0x88,
+ 0xdb, 0x6f, 0x46, 0x5a, 0xdb, 0x7e, 0x2c, 0x38, 0x28, 0x21, 0xc5, 0x26, 0xa2, 0x03, 0x56, 0x4f,
+ 0x73, 0xe9, 0x89, 0x88, 0x17, 0x46, 0xce, 0x51, 0xfe, 0x92, 0x03, 0xd1, 0x5b, 0x38, 0xc4, 0x00,
+ 0x55, 0x03, 0xc5, 0x68, 0x28, 0x11, 0xa8, 0x51, 0xa9, 0x88, 0x06, 0x18, 0x14, 0xcb, 0xb0, 0x37,
+ 0x9b, 0x86, 0xa3, 0x4a, 0xfe, 0xf4, 0xa3, 0x0a, 0x7f, 0xb3, 0xa3, 0x21, 0x25, 0x82, 0x84, 0x1e,
+ 0x58, 0xe0, 0xf5, 0x9d, 0x78, 0xc4, 0xdd, 0xb4, 0xbd, 0x75, 0xbb, 0x63, 0x35, 0xd6, 0x74, 0x9e,
+ 0xeb, 0x05, 0xbe, 0xbb, 0xdb, 0x5d, 0x5f, 0x5e, 0xd8, 0xee, 0x2f, 0x72, 0xec, 0xcb, 0x97, 0x07,
+ 0xb0, 0xf8, 0x7d, 0x1a, 0x04, 0xad, 0xfc, 0x41, 0x02, 0xd3, 0x4c, 0xe2, 0x5e, 0x8b, 0xe8, 0x07,
+ 0xac, 0x79, 0x65, 0x45, 0x84, 0xf4, 0xce, 0xce, 0x41, 0xb6, 0x95, 0x56, 0xef, 0x8c, 0x90, 0xf0,
+ 0x99, 0x01, 0x3c, 0xce, 0x99, 0x0c, 0x8b, 0xa2, 0x3e, 0x36, 0x95, 0x7f, 0xe4, 0xc0, 0xa5, 0x1d,
+ 0xdc, 0x36, 0x1a, 0x1f, 0x69, 0xa8, 0x78, 0x9e, 0xea, 0xb2, 0x1f, 0x8d, 0xf4, 0xc4, 0x0d, 0xd8,
+ 0xf5, 0xa0, 0x06, 0x1b, 0xba, 0x60, 0x82, 0x7a, 0xd8, 0xeb, 0x84, 0x9d, 0xda, 0xc6, 0x99, 0x58,
+ 0xe3, 0x88, 0xda, 0xac, 0xb0, 0x37, 0x11, 0xac, 0x91, 0xb0, 0xa4, 0x7c, 0x2a, 0x81, 0xa5, 0x81,
+ 0xba, 0xe7, 0x37, 0xcc, 0xfc, 0x34, 0x15, 0xe6, 0xad, 0xb3, 0x70, 0xfc, 0xa4, 0x71, 0xe6, 0x13,
+ 0x09, 0x5c, 0x3d, 0x49, 0xf9, 0x1c, 0x3a, 0x56, 0x27, 0xdd, 0xb1, 0x3e, 0x39, 0x43, 0xd7, 0x07,
+ 0xb4, 0xae, 0xbf, 0xcd, 0x9f, 0xec, 0xf8, 0x97, 0x43, 0x4d, 0xea, 0x1f, 0xb2, 0x5d, 0x50, 0x3e,
+ 0x14, 0x11, 0xb3, 0xad, 0xa0, 0x6a, 0x06, 0xfd, 0x68, 0x51, 0x5b, 0xee, 0xfa, 0x72, 0x79, 0xa7,
+ 0x97, 0x79, 0xec, 0xcb, 0xf3, 0xbd, 0x44, 0x94, 0xc5, 0x50, 0xfe, 0x2b, 0x81, 0x2b, 0x03, 0xcf,
+ 0xe2, 0x1c, 0xb2, 0xcf, 0x48, 0x67, 0xdf, 0xfd, 0x33, 0xc9, 0xbe, 0xfe, 0x69, 0xf7, 0xa7, 0x89,
+ 0x77, 0xb8, 0xfa, 0x85, 0x98, 0x99, 0xda, 0xa0, 0x14, 0x67, 0x40, 0x38, 0x35, 0x7d, 0xfb, 0x14,
+ 0x21, 0xb7, 0x2d, 0xed, 0x2b, 0x22, 0xc6, 0xa5, 0x98, 0x46, 0x51, 0x12, 0x3e, 0x3b, 0xd5, 0x14,
+ 0xde, 0x67, 0xaa, 0x79, 0x29, 0x81, 0x79, 0x9c, 0xfe, 0x0f, 0x9f, 0x56, 0xc6, 0xb9, 0x07, 0xb7,
+ 0x47, 0xe9, 0xbf, 0xd3, 0x10, 0x5a, 0x45, 0xb8, 0x31, 0xdf, 0xc3, 0xa0, 0x28, 0x63, 0xed, 0x23,
+ 0x0f, 0x56, 0xa9, 0x81, 0x77, 0xf2, 0x03, 0x0d, 0xbc, 0xca, 0xdf, 0x72, 0x40, 0x3e, 0xe1, 0x29,
+ 0x87, 0x1b, 0x00, 0xda, 0x7b, 0x94, 0xb8, 0x87, 0xa4, 0xf1, 0x30, 0xf8, 0x64, 0x13, 0x76, 0xd0,
+ 0xf9, 0xb8, 0xbd, 0xda, 0xca, 0x48, 0xa0, 0x3e, 0x5a, 0xd0, 0x04, 0xd3, 0x5e, 0xa2, 0xf3, 0x1b,
+ 0x65, 0x22, 0x10, 0x8e, 0x25, 0x1b, 0x47, 0x6d, 0xbe, 0xeb, 0xcb, 0xa9, 0x56, 0x12, 0xa5, 0xe0,
+ 0xa1, 0x0e, 0x80, 0x1e, 0x9f, 0x5e, 0x70, 0x01, 0x6a, 0xc3, 0x95, 0xb3, 0xf8, 0xcc, 0xa2, 0x27,
+ 0x28, 0x71, 0x5c, 0x09, 0x58, 0xe5, 0x33, 0x09, 0x80, 0xf8, 0x56, 0xc0, 0xab, 0x20, 0xf1, 0x29,
+ 0x44, 0xbc, 0x62, 0x05, 0x06, 0x81, 0x12, 0x74, 0xb8, 0x0c, 0x26, 0x4d, 0x42, 0x29, 0x6e, 0x86,
+ 0x73, 0x40, 0xf4, 0xa9, 0xa7, 0x1e, 0x90, 0x51, 0xc8, 0x87, 0xbb, 0x60, 0xc2, 0x25, 0x98, 0x8a,
+ 0xf9, 0xb3, 0xa8, 0xdd, 0x65, 0x6d, 0x15, 0xe2, 0x94, 0x63, 0x5f, 0x5e, 0x19, 0xe6, 0xa3, 0x9e,
+ 0x2a, 0xba, 0x30, 0xae, 0x84, 0x04, 0x1c, 0x7c, 0x08, 0xca, 0xc2, 0x46, 0x62, 0xc3, 0xc1, 0xad,
+ 0xbd, 0x24, 0x76, 0x53, 0xae, 0xf7, 0x0a, 0xa0, 0xac, 0x8e, 0xb2, 0x01, 0xa6, 0xc2, 0xec, 0x82,
+ 0x15, 0x50, 0x48, 0x3c, 0xdf, 0x81, 0xe3, 0x9c, 0xd2, 0x13, 0x98, 0x5c, 0xff, 0xc0, 0x68, 0x5b,
+ 0xaf, 0xde, 0x56, 0xc7, 0x5e, 0xbf, 0xad, 0x8e, 0xbd, 0x79, 0x5b, 0x1d, 0x7b, 0xd9, 0xad, 0x4a,
+ 0xaf, 0xba, 0x55, 0xe9, 0x75, 0xb7, 0x2a, 0xbd, 0xe9, 0x56, 0xa5, 0x7f, 0x76, 0xab, 0xd2, 0xef,
+ 0xfe, 0x55, 0x1d, 0xfb, 0xe1, 0xf2, 0xd0, 0x1f, 0x65, 0x3f, 0x0f, 0x00, 0x00, 0xff, 0xff, 0xac,
+ 0xc8, 0x8c, 0x78, 0xc0, 0x1d, 0x00, 0x00,
+}
+
+func (m *ApplyConfiguration) Marshal() (dAtA []byte, err error) {
+ size := m.Size()
+ dAtA = make([]byte, size)
+ n, err := m.MarshalToSizedBuffer(dAtA[:size])
+ if err != nil {
+ return nil, err
+ }
+ return dAtA[:n], nil
+}
+
+func (m *ApplyConfiguration) MarshalTo(dAtA []byte) (int, error) {
+ size := m.Size()
+ return m.MarshalToSizedBuffer(dAtA[:size])
+}
+
+func (m *ApplyConfiguration) MarshalToSizedBuffer(dAtA []byte) (int, error) {
+ i := len(dAtA)
+ _ = i
+ var l int
+ _ = l
+ i -= len(m.Expression)
+ copy(dAtA[i:], m.Expression)
+ i = encodeVarintGenerated(dAtA, i, uint64(len(m.Expression)))
+ i--
+ dAtA[i] = 0xa
+ return len(dAtA) - i, nil
}
func (m *AuditAnnotation) Marshal() (dAtA []byte, err error) {
@@ -709,6 +1017,34 @@ func (m *ExpressionWarning) MarshalToSizedBuffer(dAtA []byte) (int, error) {
return len(dAtA) - i, nil
}
+func (m *JSONPatch) Marshal() (dAtA []byte, err error) {
+ size := m.Size()
+ dAtA = make([]byte, size)
+ n, err := m.MarshalToSizedBuffer(dAtA[:size])
+ if err != nil {
+ return nil, err
+ }
+ return dAtA[:n], nil
+}
+
+func (m *JSONPatch) MarshalTo(dAtA []byte) (int, error) {
+ size := m.Size()
+ return m.MarshalToSizedBuffer(dAtA[:size])
+}
+
+func (m *JSONPatch) MarshalToSizedBuffer(dAtA []byte) (int, error) {
+ i := len(dAtA)
+ _ = i
+ var l int
+ _ = l
+ i -= len(m.Expression)
+ copy(dAtA[i:], m.Expression)
+ i = encodeVarintGenerated(dAtA, i, uint64(len(m.Expression)))
+ i--
+ dAtA[i] = 0xa
+ return len(dAtA) - i, nil
+}
+
func (m *MatchCondition) Marshal() (dAtA []byte, err error) {
size := m.Size()
dAtA = make([]byte, size)
@@ -824,7 +1160,7 @@ func (m *MatchResources) MarshalToSizedBuffer(dAtA []byte) (int, error) {
return len(dAtA) - i, nil
}
-func (m *NamedRuleWithOperations) Marshal() (dAtA []byte, err error) {
+func (m *MutatingAdmissionPolicy) Marshal() (dAtA []byte, err error) {
size := m.Size()
dAtA = make([]byte, size)
n, err := m.MarshalToSizedBuffer(dAtA[:size])
@@ -834,18 +1170,18 @@ func (m *NamedRuleWithOperations) Marshal() (dAtA []byte, err error) {
return dAtA[:n], nil
}
-func (m *NamedRuleWithOperations) MarshalTo(dAtA []byte) (int, error) {
+func (m *MutatingAdmissionPolicy) MarshalTo(dAtA []byte) (int, error) {
size := m.Size()
return m.MarshalToSizedBuffer(dAtA[:size])
}
-func (m *NamedRuleWithOperations) MarshalToSizedBuffer(dAtA []byte) (int, error) {
+func (m *MutatingAdmissionPolicy) MarshalToSizedBuffer(dAtA []byte) (int, error) {
i := len(dAtA)
_ = i
var l int
_ = l
{
- size, err := m.RuleWithOperations.MarshalToSizedBuffer(dAtA[:i])
+ size, err := m.Spec.MarshalToSizedBuffer(dAtA[:i])
if err != nil {
return 0, err
}
@@ -854,19 +1190,20 @@ func (m *NamedRuleWithOperations) MarshalToSizedBuffer(dAtA []byte) (int, error)
}
i--
dAtA[i] = 0x12
- if len(m.ResourceNames) > 0 {
- for iNdEx := len(m.ResourceNames) - 1; iNdEx >= 0; iNdEx-- {
- i -= len(m.ResourceNames[iNdEx])
- copy(dAtA[i:], m.ResourceNames[iNdEx])
- i = encodeVarintGenerated(dAtA, i, uint64(len(m.ResourceNames[iNdEx])))
- i--
- dAtA[i] = 0xa
+ {
+ size, err := m.ObjectMeta.MarshalToSizedBuffer(dAtA[:i])
+ if err != nil {
+ return 0, err
}
+ i -= size
+ i = encodeVarintGenerated(dAtA, i, uint64(size))
}
+ i--
+ dAtA[i] = 0xa
return len(dAtA) - i, nil
}
-func (m *ParamKind) Marshal() (dAtA []byte, err error) {
+func (m *MutatingAdmissionPolicyBinding) Marshal() (dAtA []byte, err error) {
size := m.Size()
dAtA = make([]byte, size)
n, err := m.MarshalToSizedBuffer(dAtA[:size])
@@ -876,187 +1213,12 @@ func (m *ParamKind) Marshal() (dAtA []byte, err error) {
return dAtA[:n], nil
}
-func (m *ParamKind) MarshalTo(dAtA []byte) (int, error) {
+func (m *MutatingAdmissionPolicyBinding) MarshalTo(dAtA []byte) (int, error) {
size := m.Size()
return m.MarshalToSizedBuffer(dAtA[:size])
}
-func (m *ParamKind) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- _ = i
- var l int
- _ = l
- i -= len(m.Kind)
- copy(dAtA[i:], m.Kind)
- i = encodeVarintGenerated(dAtA, i, uint64(len(m.Kind)))
- i--
- dAtA[i] = 0x12
- i -= len(m.APIVersion)
- copy(dAtA[i:], m.APIVersion)
- i = encodeVarintGenerated(dAtA, i, uint64(len(m.APIVersion)))
- i--
- dAtA[i] = 0xa
- return len(dAtA) - i, nil
-}
-
-func (m *ParamRef) Marshal() (dAtA []byte, err error) {
- size := m.Size()
- dAtA = make([]byte, size)
- n, err := m.MarshalToSizedBuffer(dAtA[:size])
- if err != nil {
- return nil, err
- }
- return dAtA[:n], nil
-}
-
-func (m *ParamRef) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
-}
-
-func (m *ParamRef) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- _ = i
- var l int
- _ = l
- if m.ParameterNotFoundAction != nil {
- i -= len(*m.ParameterNotFoundAction)
- copy(dAtA[i:], *m.ParameterNotFoundAction)
- i = encodeVarintGenerated(dAtA, i, uint64(len(*m.ParameterNotFoundAction)))
- i--
- dAtA[i] = 0x22
- }
- if m.Selector != nil {
- {
- size, err := m.Selector.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintGenerated(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x1a
- }
- i -= len(m.Namespace)
- copy(dAtA[i:], m.Namespace)
- i = encodeVarintGenerated(dAtA, i, uint64(len(m.Namespace)))
- i--
- dAtA[i] = 0x12
- i -= len(m.Name)
- copy(dAtA[i:], m.Name)
- i = encodeVarintGenerated(dAtA, i, uint64(len(m.Name)))
- i--
- dAtA[i] = 0xa
- return len(dAtA) - i, nil
-}
-
-func (m *TypeChecking) Marshal() (dAtA []byte, err error) {
- size := m.Size()
- dAtA = make([]byte, size)
- n, err := m.MarshalToSizedBuffer(dAtA[:size])
- if err != nil {
- return nil, err
- }
- return dAtA[:n], nil
-}
-
-func (m *TypeChecking) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
-}
-
-func (m *TypeChecking) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- _ = i
- var l int
- _ = l
- if len(m.ExpressionWarnings) > 0 {
- for iNdEx := len(m.ExpressionWarnings) - 1; iNdEx >= 0; iNdEx-- {
- {
- size, err := m.ExpressionWarnings[iNdEx].MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintGenerated(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0xa
- }
- }
- return len(dAtA) - i, nil
-}
-
-func (m *ValidatingAdmissionPolicy) Marshal() (dAtA []byte, err error) {
- size := m.Size()
- dAtA = make([]byte, size)
- n, err := m.MarshalToSizedBuffer(dAtA[:size])
- if err != nil {
- return nil, err
- }
- return dAtA[:n], nil
-}
-
-func (m *ValidatingAdmissionPolicy) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
-}
-
-func (m *ValidatingAdmissionPolicy) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- _ = i
- var l int
- _ = l
- {
- size, err := m.Status.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintGenerated(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x1a
- {
- size, err := m.Spec.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintGenerated(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x12
- {
- size, err := m.ObjectMeta.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintGenerated(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0xa
- return len(dAtA) - i, nil
-}
-
-func (m *ValidatingAdmissionPolicyBinding) Marshal() (dAtA []byte, err error) {
- size := m.Size()
- dAtA = make([]byte, size)
- n, err := m.MarshalToSizedBuffer(dAtA[:size])
- if err != nil {
- return nil, err
- }
- return dAtA[:n], nil
-}
-
-func (m *ValidatingAdmissionPolicyBinding) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
-}
-
-func (m *ValidatingAdmissionPolicyBinding) MarshalToSizedBuffer(dAtA []byte) (int, error) {
+func (m *MutatingAdmissionPolicyBinding) MarshalToSizedBuffer(dAtA []byte) (int, error) {
i := len(dAtA)
_ = i
var l int
@@ -1084,7 +1246,7 @@ func (m *ValidatingAdmissionPolicyBinding) MarshalToSizedBuffer(dAtA []byte) (in
return len(dAtA) - i, nil
}
-func (m *ValidatingAdmissionPolicyBindingList) Marshal() (dAtA []byte, err error) {
+func (m *MutatingAdmissionPolicyBindingList) Marshal() (dAtA []byte, err error) {
size := m.Size()
dAtA = make([]byte, size)
n, err := m.MarshalToSizedBuffer(dAtA[:size])
@@ -1094,12 +1256,12 @@ func (m *ValidatingAdmissionPolicyBindingList) Marshal() (dAtA []byte, err error
return dAtA[:n], nil
}
-func (m *ValidatingAdmissionPolicyBindingList) MarshalTo(dAtA []byte) (int, error) {
+func (m *MutatingAdmissionPolicyBindingList) MarshalTo(dAtA []byte) (int, error) {
size := m.Size()
return m.MarshalToSizedBuffer(dAtA[:size])
}
-func (m *ValidatingAdmissionPolicyBindingList) MarshalToSizedBuffer(dAtA []byte) (int, error) {
+func (m *MutatingAdmissionPolicyBindingList) MarshalToSizedBuffer(dAtA []byte) (int, error) {
i := len(dAtA)
_ = i
var l int
@@ -1131,7 +1293,7 @@ func (m *ValidatingAdmissionPolicyBindingList) MarshalToSizedBuffer(dAtA []byte)
return len(dAtA) - i, nil
}
-func (m *ValidatingAdmissionPolicyBindingSpec) Marshal() (dAtA []byte, err error) {
+func (m *MutatingAdmissionPolicyBindingSpec) Marshal() (dAtA []byte, err error) {
size := m.Size()
dAtA = make([]byte, size)
n, err := m.MarshalToSizedBuffer(dAtA[:size])
@@ -1141,25 +1303,16 @@ func (m *ValidatingAdmissionPolicyBindingSpec) Marshal() (dAtA []byte, err error
return dAtA[:n], nil
}
-func (m *ValidatingAdmissionPolicyBindingSpec) MarshalTo(dAtA []byte) (int, error) {
+func (m *MutatingAdmissionPolicyBindingSpec) MarshalTo(dAtA []byte) (int, error) {
size := m.Size()
return m.MarshalToSizedBuffer(dAtA[:size])
}
-func (m *ValidatingAdmissionPolicyBindingSpec) MarshalToSizedBuffer(dAtA []byte) (int, error) {
+func (m *MutatingAdmissionPolicyBindingSpec) MarshalToSizedBuffer(dAtA []byte) (int, error) {
i := len(dAtA)
_ = i
var l int
_ = l
- if len(m.ValidationActions) > 0 {
- for iNdEx := len(m.ValidationActions) - 1; iNdEx >= 0; iNdEx-- {
- i -= len(m.ValidationActions[iNdEx])
- copy(dAtA[i:], m.ValidationActions[iNdEx])
- i = encodeVarintGenerated(dAtA, i, uint64(len(m.ValidationActions[iNdEx])))
- i--
- dAtA[i] = 0x22
- }
- }
if m.MatchResources != nil {
{
size, err := m.MatchResources.MarshalToSizedBuffer(dAtA[:i])
@@ -1192,7 +1345,7 @@ func (m *ValidatingAdmissionPolicyBindingSpec) MarshalToSizedBuffer(dAtA []byte)
return len(dAtA) - i, nil
}
-func (m *ValidatingAdmissionPolicyList) Marshal() (dAtA []byte, err error) {
+func (m *MutatingAdmissionPolicyList) Marshal() (dAtA []byte, err error) {
size := m.Size()
dAtA = make([]byte, size)
n, err := m.MarshalToSizedBuffer(dAtA[:size])
@@ -1202,12 +1355,12 @@ func (m *ValidatingAdmissionPolicyList) Marshal() (dAtA []byte, err error) {
return dAtA[:n], nil
}
-func (m *ValidatingAdmissionPolicyList) MarshalTo(dAtA []byte) (int, error) {
+func (m *MutatingAdmissionPolicyList) MarshalTo(dAtA []byte) (int, error) {
size := m.Size()
return m.MarshalToSizedBuffer(dAtA[:size])
}
-func (m *ValidatingAdmissionPolicyList) MarshalToSizedBuffer(dAtA []byte) (int, error) {
+func (m *MutatingAdmissionPolicyList) MarshalToSizedBuffer(dAtA []byte) (int, error) {
i := len(dAtA)
_ = i
var l int
@@ -1239,7 +1392,7 @@ func (m *ValidatingAdmissionPolicyList) MarshalToSizedBuffer(dAtA []byte) (int,
return len(dAtA) - i, nil
}
-func (m *ValidatingAdmissionPolicySpec) Marshal() (dAtA []byte, err error) {
+func (m *MutatingAdmissionPolicySpec) Marshal() (dAtA []byte, err error) {
size := m.Size()
dAtA = make([]byte, size)
n, err := m.MarshalToSizedBuffer(dAtA[:size])
@@ -1249,30 +1402,21 @@ func (m *ValidatingAdmissionPolicySpec) Marshal() (dAtA []byte, err error) {
return dAtA[:n], nil
}
-func (m *ValidatingAdmissionPolicySpec) MarshalTo(dAtA []byte) (int, error) {
+func (m *MutatingAdmissionPolicySpec) MarshalTo(dAtA []byte) (int, error) {
size := m.Size()
return m.MarshalToSizedBuffer(dAtA[:size])
}
-func (m *ValidatingAdmissionPolicySpec) MarshalToSizedBuffer(dAtA []byte) (int, error) {
+func (m *MutatingAdmissionPolicySpec) MarshalToSizedBuffer(dAtA []byte) (int, error) {
i := len(dAtA)
_ = i
var l int
_ = l
- if len(m.Variables) > 0 {
- for iNdEx := len(m.Variables) - 1; iNdEx >= 0; iNdEx-- {
- {
- size, err := m.Variables[iNdEx].MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintGenerated(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x3a
- }
- }
+ i -= len(m.ReinvocationPolicy)
+ copy(dAtA[i:], m.ReinvocationPolicy)
+ i = encodeVarintGenerated(dAtA, i, uint64(len(m.ReinvocationPolicy)))
+ i--
+ dAtA[i] = 0x3a
if len(m.MatchConditions) > 0 {
for iNdEx := len(m.MatchConditions) - 1; iNdEx >= 0; iNdEx-- {
{
@@ -1287,10 +1431,17 @@ func (m *ValidatingAdmissionPolicySpec) MarshalToSizedBuffer(dAtA []byte) (int,
dAtA[i] = 0x32
}
}
- if len(m.AuditAnnotations) > 0 {
- for iNdEx := len(m.AuditAnnotations) - 1; iNdEx >= 0; iNdEx-- {
+ if m.FailurePolicy != nil {
+ i -= len(*m.FailurePolicy)
+ copy(dAtA[i:], *m.FailurePolicy)
+ i = encodeVarintGenerated(dAtA, i, uint64(len(*m.FailurePolicy)))
+ i--
+ dAtA[i] = 0x2a
+ }
+ if len(m.Mutations) > 0 {
+ for iNdEx := len(m.Mutations) - 1; iNdEx >= 0; iNdEx-- {
{
- size, err := m.AuditAnnotations[iNdEx].MarshalToSizedBuffer(dAtA[:i])
+ size, err := m.Mutations[iNdEx].MarshalToSizedBuffer(dAtA[:i])
if err != nil {
return 0, err
}
@@ -1298,20 +1449,13 @@ func (m *ValidatingAdmissionPolicySpec) MarshalToSizedBuffer(dAtA []byte) (int,
i = encodeVarintGenerated(dAtA, i, uint64(size))
}
i--
- dAtA[i] = 0x2a
+ dAtA[i] = 0x22
}
}
- if m.FailurePolicy != nil {
- i -= len(*m.FailurePolicy)
- copy(dAtA[i:], *m.FailurePolicy)
- i = encodeVarintGenerated(dAtA, i, uint64(len(*m.FailurePolicy)))
- i--
- dAtA[i] = 0x22
- }
- if len(m.Validations) > 0 {
- for iNdEx := len(m.Validations) - 1; iNdEx >= 0; iNdEx-- {
+ if len(m.Variables) > 0 {
+ for iNdEx := len(m.Variables) - 1; iNdEx >= 0; iNdEx-- {
{
- size, err := m.Validations[iNdEx].MarshalToSizedBuffer(dAtA[:i])
+ size, err := m.Variables[iNdEx].MarshalToSizedBuffer(dAtA[:i])
if err != nil {
return 0, err
}
@@ -1349,7 +1493,7 @@ func (m *ValidatingAdmissionPolicySpec) MarshalToSizedBuffer(dAtA []byte) (int,
return len(dAtA) - i, nil
}
-func (m *ValidatingAdmissionPolicyStatus) Marshal() (dAtA []byte, err error) {
+func (m *Mutation) Marshal() (dAtA []byte, err error) {
size := m.Size()
dAtA = make([]byte, size)
n, err := m.MarshalToSizedBuffer(dAtA[:size])
@@ -1359,33 +1503,31 @@ func (m *ValidatingAdmissionPolicyStatus) Marshal() (dAtA []byte, err error) {
return dAtA[:n], nil
}
-func (m *ValidatingAdmissionPolicyStatus) MarshalTo(dAtA []byte) (int, error) {
+func (m *Mutation) MarshalTo(dAtA []byte) (int, error) {
size := m.Size()
return m.MarshalToSizedBuffer(dAtA[:size])
}
-func (m *ValidatingAdmissionPolicyStatus) MarshalToSizedBuffer(dAtA []byte) (int, error) {
+func (m *Mutation) MarshalToSizedBuffer(dAtA []byte) (int, error) {
i := len(dAtA)
_ = i
var l int
_ = l
- if len(m.Conditions) > 0 {
- for iNdEx := len(m.Conditions) - 1; iNdEx >= 0; iNdEx-- {
- {
- size, err := m.Conditions[iNdEx].MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintGenerated(dAtA, i, uint64(size))
+ if m.JSONPatch != nil {
+ {
+ size, err := m.JSONPatch.MarshalToSizedBuffer(dAtA[:i])
+ if err != nil {
+ return 0, err
}
- i--
- dAtA[i] = 0x1a
+ i -= size
+ i = encodeVarintGenerated(dAtA, i, uint64(size))
}
+ i--
+ dAtA[i] = 0x22
}
- if m.TypeChecking != nil {
+ if m.ApplyConfiguration != nil {
{
- size, err := m.TypeChecking.MarshalToSizedBuffer(dAtA[:i])
+ size, err := m.ApplyConfiguration.MarshalToSizedBuffer(dAtA[:i])
if err != nil {
return 0, err
}
@@ -1393,15 +1535,17 @@ func (m *ValidatingAdmissionPolicyStatus) MarshalToSizedBuffer(dAtA []byte) (int
i = encodeVarintGenerated(dAtA, i, uint64(size))
}
i--
- dAtA[i] = 0x12
+ dAtA[i] = 0x1a
}
- i = encodeVarintGenerated(dAtA, i, uint64(m.ObservedGeneration))
+ i -= len(m.PatchType)
+ copy(dAtA[i:], m.PatchType)
+ i = encodeVarintGenerated(dAtA, i, uint64(len(m.PatchType)))
i--
- dAtA[i] = 0x8
+ dAtA[i] = 0x12
return len(dAtA) - i, nil
}
-func (m *Validation) Marshal() (dAtA []byte, err error) {
+func (m *NamedRuleWithOperations) Marshal() (dAtA []byte, err error) {
size := m.Size()
dAtA = make([]byte, size)
n, err := m.MarshalToSizedBuffer(dAtA[:size])
@@ -1411,42 +1555,72 @@ func (m *Validation) Marshal() (dAtA []byte, err error) {
return dAtA[:n], nil
}
-func (m *Validation) MarshalTo(dAtA []byte) (int, error) {
+func (m *NamedRuleWithOperations) MarshalTo(dAtA []byte) (int, error) {
size := m.Size()
return m.MarshalToSizedBuffer(dAtA[:size])
}
-func (m *Validation) MarshalToSizedBuffer(dAtA []byte) (int, error) {
+func (m *NamedRuleWithOperations) MarshalToSizedBuffer(dAtA []byte) (int, error) {
i := len(dAtA)
_ = i
var l int
_ = l
- i -= len(m.MessageExpression)
- copy(dAtA[i:], m.MessageExpression)
- i = encodeVarintGenerated(dAtA, i, uint64(len(m.MessageExpression)))
+ {
+ size, err := m.RuleWithOperations.MarshalToSizedBuffer(dAtA[:i])
+ if err != nil {
+ return 0, err
+ }
+ i -= size
+ i = encodeVarintGenerated(dAtA, i, uint64(size))
+ }
i--
- dAtA[i] = 0x22
- if m.Reason != nil {
- i -= len(*m.Reason)
- copy(dAtA[i:], *m.Reason)
- i = encodeVarintGenerated(dAtA, i, uint64(len(*m.Reason)))
- i--
- dAtA[i] = 0x1a
+ dAtA[i] = 0x12
+ if len(m.ResourceNames) > 0 {
+ for iNdEx := len(m.ResourceNames) - 1; iNdEx >= 0; iNdEx-- {
+ i -= len(m.ResourceNames[iNdEx])
+ copy(dAtA[i:], m.ResourceNames[iNdEx])
+ i = encodeVarintGenerated(dAtA, i, uint64(len(m.ResourceNames[iNdEx])))
+ i--
+ dAtA[i] = 0xa
+ }
}
- i -= len(m.Message)
- copy(dAtA[i:], m.Message)
- i = encodeVarintGenerated(dAtA, i, uint64(len(m.Message)))
+ return len(dAtA) - i, nil
+}
+
+func (m *ParamKind) Marshal() (dAtA []byte, err error) {
+ size := m.Size()
+ dAtA = make([]byte, size)
+ n, err := m.MarshalToSizedBuffer(dAtA[:size])
+ if err != nil {
+ return nil, err
+ }
+ return dAtA[:n], nil
+}
+
+func (m *ParamKind) MarshalTo(dAtA []byte) (int, error) {
+ size := m.Size()
+ return m.MarshalToSizedBuffer(dAtA[:size])
+}
+
+func (m *ParamKind) MarshalToSizedBuffer(dAtA []byte) (int, error) {
+ i := len(dAtA)
+ _ = i
+ var l int
+ _ = l
+ i -= len(m.Kind)
+ copy(dAtA[i:], m.Kind)
+ i = encodeVarintGenerated(dAtA, i, uint64(len(m.Kind)))
i--
dAtA[i] = 0x12
- i -= len(m.Expression)
- copy(dAtA[i:], m.Expression)
- i = encodeVarintGenerated(dAtA, i, uint64(len(m.Expression)))
+ i -= len(m.APIVersion)
+ copy(dAtA[i:], m.APIVersion)
+ i = encodeVarintGenerated(dAtA, i, uint64(len(m.APIVersion)))
i--
dAtA[i] = 0xa
return len(dAtA) - i, nil
}
-func (m *Variable) Marshal() (dAtA []byte, err error) {
+func (m *ParamRef) Marshal() (dAtA []byte, err error) {
size := m.Size()
dAtA = make([]byte, size)
n, err := m.MarshalToSizedBuffer(dAtA[:size])
@@ -1456,19 +1630,38 @@ func (m *Variable) Marshal() (dAtA []byte, err error) {
return dAtA[:n], nil
}
-func (m *Variable) MarshalTo(dAtA []byte) (int, error) {
+func (m *ParamRef) MarshalTo(dAtA []byte) (int, error) {
size := m.Size()
return m.MarshalToSizedBuffer(dAtA[:size])
}
-func (m *Variable) MarshalToSizedBuffer(dAtA []byte) (int, error) {
+func (m *ParamRef) MarshalToSizedBuffer(dAtA []byte) (int, error) {
i := len(dAtA)
_ = i
var l int
_ = l
- i -= len(m.Expression)
- copy(dAtA[i:], m.Expression)
- i = encodeVarintGenerated(dAtA, i, uint64(len(m.Expression)))
+ if m.ParameterNotFoundAction != nil {
+ i -= len(*m.ParameterNotFoundAction)
+ copy(dAtA[i:], *m.ParameterNotFoundAction)
+ i = encodeVarintGenerated(dAtA, i, uint64(len(*m.ParameterNotFoundAction)))
+ i--
+ dAtA[i] = 0x22
+ }
+ if m.Selector != nil {
+ {
+ size, err := m.Selector.MarshalToSizedBuffer(dAtA[:i])
+ if err != nil {
+ return 0, err
+ }
+ i -= size
+ i = encodeVarintGenerated(dAtA, i, uint64(size))
+ }
+ i--
+ dAtA[i] = 0x1a
+ }
+ i -= len(m.Namespace)
+ copy(dAtA[i:], m.Namespace)
+ i = encodeVarintGenerated(dAtA, i, uint64(len(m.Namespace)))
i--
dAtA[i] = 0x12
i -= len(m.Name)
@@ -1479,606 +1672,2773 @@ func (m *Variable) MarshalToSizedBuffer(dAtA []byte) (int, error) {
return len(dAtA) - i, nil
}
-func encodeVarintGenerated(dAtA []byte, offset int, v uint64) int {
- offset -= sovGenerated(v)
- base := offset
- for v >= 1<<7 {
- dAtA[offset] = uint8(v&0x7f | 0x80)
- v >>= 7
- offset++
+func (m *TypeChecking) Marshal() (dAtA []byte, err error) {
+ size := m.Size()
+ dAtA = make([]byte, size)
+ n, err := m.MarshalToSizedBuffer(dAtA[:size])
+ if err != nil {
+ return nil, err
}
- dAtA[offset] = uint8(v)
- return base
+ return dAtA[:n], nil
}
-func (m *AuditAnnotation) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- l = len(m.Key)
- n += 1 + l + sovGenerated(uint64(l))
- l = len(m.ValueExpression)
- n += 1 + l + sovGenerated(uint64(l))
- return n
+
+func (m *TypeChecking) MarshalTo(dAtA []byte) (int, error) {
+ size := m.Size()
+ return m.MarshalToSizedBuffer(dAtA[:size])
}
-func (m *ExpressionWarning) Size() (n int) {
- if m == nil {
- return 0
- }
+func (m *TypeChecking) MarshalToSizedBuffer(dAtA []byte) (int, error) {
+ i := len(dAtA)
+ _ = i
var l int
_ = l
- l = len(m.FieldRef)
- n += 1 + l + sovGenerated(uint64(l))
- l = len(m.Warning)
- n += 1 + l + sovGenerated(uint64(l))
- return n
+ if len(m.ExpressionWarnings) > 0 {
+ for iNdEx := len(m.ExpressionWarnings) - 1; iNdEx >= 0; iNdEx-- {
+ {
+ size, err := m.ExpressionWarnings[iNdEx].MarshalToSizedBuffer(dAtA[:i])
+ if err != nil {
+ return 0, err
+ }
+ i -= size
+ i = encodeVarintGenerated(dAtA, i, uint64(size))
+ }
+ i--
+ dAtA[i] = 0xa
+ }
+ }
+ return len(dAtA) - i, nil
}
-func (m *MatchCondition) Size() (n int) {
- if m == nil {
- return 0
+func (m *ValidatingAdmissionPolicy) Marshal() (dAtA []byte, err error) {
+ size := m.Size()
+ dAtA = make([]byte, size)
+ n, err := m.MarshalToSizedBuffer(dAtA[:size])
+ if err != nil {
+ return nil, err
}
- var l int
- _ = l
- l = len(m.Name)
- n += 1 + l + sovGenerated(uint64(l))
- l = len(m.Expression)
- n += 1 + l + sovGenerated(uint64(l))
- return n
+ return dAtA[:n], nil
}
-func (m *MatchResources) Size() (n int) {
- if m == nil {
- return 0
- }
+func (m *ValidatingAdmissionPolicy) MarshalTo(dAtA []byte) (int, error) {
+ size := m.Size()
+ return m.MarshalToSizedBuffer(dAtA[:size])
+}
+
+func (m *ValidatingAdmissionPolicy) MarshalToSizedBuffer(dAtA []byte) (int, error) {
+ i := len(dAtA)
+ _ = i
var l int
_ = l
- if m.NamespaceSelector != nil {
- l = m.NamespaceSelector.Size()
- n += 1 + l + sovGenerated(uint64(l))
- }
- if m.ObjectSelector != nil {
- l = m.ObjectSelector.Size()
- n += 1 + l + sovGenerated(uint64(l))
- }
- if len(m.ResourceRules) > 0 {
- for _, e := range m.ResourceRules {
- l = e.Size()
- n += 1 + l + sovGenerated(uint64(l))
+ {
+ size, err := m.Status.MarshalToSizedBuffer(dAtA[:i])
+ if err != nil {
+ return 0, err
}
+ i -= size
+ i = encodeVarintGenerated(dAtA, i, uint64(size))
}
- if len(m.ExcludeResourceRules) > 0 {
- for _, e := range m.ExcludeResourceRules {
- l = e.Size()
- n += 1 + l + sovGenerated(uint64(l))
+ i--
+ dAtA[i] = 0x1a
+ {
+ size, err := m.Spec.MarshalToSizedBuffer(dAtA[:i])
+ if err != nil {
+ return 0, err
}
+ i -= size
+ i = encodeVarintGenerated(dAtA, i, uint64(size))
}
- if m.MatchPolicy != nil {
- l = len(*m.MatchPolicy)
- n += 1 + l + sovGenerated(uint64(l))
+ i--
+ dAtA[i] = 0x12
+ {
+ size, err := m.ObjectMeta.MarshalToSizedBuffer(dAtA[:i])
+ if err != nil {
+ return 0, err
+ }
+ i -= size
+ i = encodeVarintGenerated(dAtA, i, uint64(size))
}
- return n
+ i--
+ dAtA[i] = 0xa
+ return len(dAtA) - i, nil
}
-func (m *NamedRuleWithOperations) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- if len(m.ResourceNames) > 0 {
- for _, s := range m.ResourceNames {
- l = len(s)
- n += 1 + l + sovGenerated(uint64(l))
- }
+func (m *ValidatingAdmissionPolicyBinding) Marshal() (dAtA []byte, err error) {
+ size := m.Size()
+ dAtA = make([]byte, size)
+ n, err := m.MarshalToSizedBuffer(dAtA[:size])
+ if err != nil {
+ return nil, err
}
- l = m.RuleWithOperations.Size()
- n += 1 + l + sovGenerated(uint64(l))
- return n
+ return dAtA[:n], nil
}
-func (m *ParamKind) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- l = len(m.APIVersion)
- n += 1 + l + sovGenerated(uint64(l))
- l = len(m.Kind)
- n += 1 + l + sovGenerated(uint64(l))
- return n
+func (m *ValidatingAdmissionPolicyBinding) MarshalTo(dAtA []byte) (int, error) {
+ size := m.Size()
+ return m.MarshalToSizedBuffer(dAtA[:size])
}
-func (m *ParamRef) Size() (n int) {
- if m == nil {
- return 0
- }
+func (m *ValidatingAdmissionPolicyBinding) MarshalToSizedBuffer(dAtA []byte) (int, error) {
+ i := len(dAtA)
+ _ = i
var l int
_ = l
- l = len(m.Name)
- n += 1 + l + sovGenerated(uint64(l))
- l = len(m.Namespace)
- n += 1 + l + sovGenerated(uint64(l))
- if m.Selector != nil {
- l = m.Selector.Size()
- n += 1 + l + sovGenerated(uint64(l))
- }
- if m.ParameterNotFoundAction != nil {
- l = len(*m.ParameterNotFoundAction)
- n += 1 + l + sovGenerated(uint64(l))
- }
- return n
-}
-
-func (m *TypeChecking) Size() (n int) {
- if m == nil {
- return 0
+ {
+ size, err := m.Spec.MarshalToSizedBuffer(dAtA[:i])
+ if err != nil {
+ return 0, err
+ }
+ i -= size
+ i = encodeVarintGenerated(dAtA, i, uint64(size))
}
- var l int
- _ = l
- if len(m.ExpressionWarnings) > 0 {
- for _, e := range m.ExpressionWarnings {
- l = e.Size()
- n += 1 + l + sovGenerated(uint64(l))
+ i--
+ dAtA[i] = 0x12
+ {
+ size, err := m.ObjectMeta.MarshalToSizedBuffer(dAtA[:i])
+ if err != nil {
+ return 0, err
}
+ i -= size
+ i = encodeVarintGenerated(dAtA, i, uint64(size))
}
- return n
+ i--
+ dAtA[i] = 0xa
+ return len(dAtA) - i, nil
}
-func (m *ValidatingAdmissionPolicy) Size() (n int) {
- if m == nil {
- return 0
+func (m *ValidatingAdmissionPolicyBindingList) Marshal() (dAtA []byte, err error) {
+ size := m.Size()
+ dAtA = make([]byte, size)
+ n, err := m.MarshalToSizedBuffer(dAtA[:size])
+ if err != nil {
+ return nil, err
}
- var l int
- _ = l
- l = m.ObjectMeta.Size()
- n += 1 + l + sovGenerated(uint64(l))
- l = m.Spec.Size()
- n += 1 + l + sovGenerated(uint64(l))
- l = m.Status.Size()
- n += 1 + l + sovGenerated(uint64(l))
- return n
+ return dAtA[:n], nil
}
-func (m *ValidatingAdmissionPolicyBinding) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- l = m.ObjectMeta.Size()
- n += 1 + l + sovGenerated(uint64(l))
- l = m.Spec.Size()
- n += 1 + l + sovGenerated(uint64(l))
- return n
+func (m *ValidatingAdmissionPolicyBindingList) MarshalTo(dAtA []byte) (int, error) {
+ size := m.Size()
+ return m.MarshalToSizedBuffer(dAtA[:size])
}
-func (m *ValidatingAdmissionPolicyBindingList) Size() (n int) {
- if m == nil {
- return 0
- }
+func (m *ValidatingAdmissionPolicyBindingList) MarshalToSizedBuffer(dAtA []byte) (int, error) {
+ i := len(dAtA)
+ _ = i
var l int
_ = l
- l = m.ListMeta.Size()
- n += 1 + l + sovGenerated(uint64(l))
if len(m.Items) > 0 {
- for _, e := range m.Items {
- l = e.Size()
- n += 1 + l + sovGenerated(uint64(l))
+ for iNdEx := len(m.Items) - 1; iNdEx >= 0; iNdEx-- {
+ {
+ size, err := m.Items[iNdEx].MarshalToSizedBuffer(dAtA[:i])
+ if err != nil {
+ return 0, err
+ }
+ i -= size
+ i = encodeVarintGenerated(dAtA, i, uint64(size))
+ }
+ i--
+ dAtA[i] = 0x12
}
}
- return n
+ {
+ size, err := m.ListMeta.MarshalToSizedBuffer(dAtA[:i])
+ if err != nil {
+ return 0, err
+ }
+ i -= size
+ i = encodeVarintGenerated(dAtA, i, uint64(size))
+ }
+ i--
+ dAtA[i] = 0xa
+ return len(dAtA) - i, nil
}
-func (m *ValidatingAdmissionPolicyBindingSpec) Size() (n int) {
- if m == nil {
- return 0
+func (m *ValidatingAdmissionPolicyBindingSpec) Marshal() (dAtA []byte, err error) {
+ size := m.Size()
+ dAtA = make([]byte, size)
+ n, err := m.MarshalToSizedBuffer(dAtA[:size])
+ if err != nil {
+ return nil, err
}
+ return dAtA[:n], nil
+}
+
+func (m *ValidatingAdmissionPolicyBindingSpec) MarshalTo(dAtA []byte) (int, error) {
+ size := m.Size()
+ return m.MarshalToSizedBuffer(dAtA[:size])
+}
+
+func (m *ValidatingAdmissionPolicyBindingSpec) MarshalToSizedBuffer(dAtA []byte) (int, error) {
+ i := len(dAtA)
+ _ = i
var l int
_ = l
- l = len(m.PolicyName)
- n += 1 + l + sovGenerated(uint64(l))
- if m.ParamRef != nil {
- l = m.ParamRef.Size()
- n += 1 + l + sovGenerated(uint64(l))
+ if len(m.ValidationActions) > 0 {
+ for iNdEx := len(m.ValidationActions) - 1; iNdEx >= 0; iNdEx-- {
+ i -= len(m.ValidationActions[iNdEx])
+ copy(dAtA[i:], m.ValidationActions[iNdEx])
+ i = encodeVarintGenerated(dAtA, i, uint64(len(m.ValidationActions[iNdEx])))
+ i--
+ dAtA[i] = 0x22
+ }
}
if m.MatchResources != nil {
- l = m.MatchResources.Size()
- n += 1 + l + sovGenerated(uint64(l))
+ {
+ size, err := m.MatchResources.MarshalToSizedBuffer(dAtA[:i])
+ if err != nil {
+ return 0, err
+ }
+ i -= size
+ i = encodeVarintGenerated(dAtA, i, uint64(size))
+ }
+ i--
+ dAtA[i] = 0x1a
}
- if len(m.ValidationActions) > 0 {
- for _, s := range m.ValidationActions {
- l = len(s)
- n += 1 + l + sovGenerated(uint64(l))
+ if m.ParamRef != nil {
+ {
+ size, err := m.ParamRef.MarshalToSizedBuffer(dAtA[:i])
+ if err != nil {
+ return 0, err
+ }
+ i -= size
+ i = encodeVarintGenerated(dAtA, i, uint64(size))
}
+ i--
+ dAtA[i] = 0x12
}
- return n
+ i -= len(m.PolicyName)
+ copy(dAtA[i:], m.PolicyName)
+ i = encodeVarintGenerated(dAtA, i, uint64(len(m.PolicyName)))
+ i--
+ dAtA[i] = 0xa
+ return len(dAtA) - i, nil
}
-func (m *ValidatingAdmissionPolicyList) Size() (n int) {
- if m == nil {
- return 0
+func (m *ValidatingAdmissionPolicyList) Marshal() (dAtA []byte, err error) {
+ size := m.Size()
+ dAtA = make([]byte, size)
+ n, err := m.MarshalToSizedBuffer(dAtA[:size])
+ if err != nil {
+ return nil, err
}
+ return dAtA[:n], nil
+}
+
+func (m *ValidatingAdmissionPolicyList) MarshalTo(dAtA []byte) (int, error) {
+ size := m.Size()
+ return m.MarshalToSizedBuffer(dAtA[:size])
+}
+
+func (m *ValidatingAdmissionPolicyList) MarshalToSizedBuffer(dAtA []byte) (int, error) {
+ i := len(dAtA)
+ _ = i
var l int
_ = l
- l = m.ListMeta.Size()
- n += 1 + l + sovGenerated(uint64(l))
if len(m.Items) > 0 {
- for _, e := range m.Items {
- l = e.Size()
- n += 1 + l + sovGenerated(uint64(l))
+ for iNdEx := len(m.Items) - 1; iNdEx >= 0; iNdEx-- {
+ {
+ size, err := m.Items[iNdEx].MarshalToSizedBuffer(dAtA[:i])
+ if err != nil {
+ return 0, err
+ }
+ i -= size
+ i = encodeVarintGenerated(dAtA, i, uint64(size))
+ }
+ i--
+ dAtA[i] = 0x12
}
}
- return n
+ {
+ size, err := m.ListMeta.MarshalToSizedBuffer(dAtA[:i])
+ if err != nil {
+ return 0, err
+ }
+ i -= size
+ i = encodeVarintGenerated(dAtA, i, uint64(size))
+ }
+ i--
+ dAtA[i] = 0xa
+ return len(dAtA) - i, nil
}
-func (m *ValidatingAdmissionPolicySpec) Size() (n int) {
- if m == nil {
- return 0
+func (m *ValidatingAdmissionPolicySpec) Marshal() (dAtA []byte, err error) {
+ size := m.Size()
+ dAtA = make([]byte, size)
+ n, err := m.MarshalToSizedBuffer(dAtA[:size])
+ if err != nil {
+ return nil, err
}
- var l int
- _ = l
- if m.ParamKind != nil {
- l = m.ParamKind.Size()
- n += 1 + l + sovGenerated(uint64(l))
+ return dAtA[:n], nil
+}
+
+func (m *ValidatingAdmissionPolicySpec) MarshalTo(dAtA []byte) (int, error) {
+ size := m.Size()
+ return m.MarshalToSizedBuffer(dAtA[:size])
+}
+
+func (m *ValidatingAdmissionPolicySpec) MarshalToSizedBuffer(dAtA []byte) (int, error) {
+ i := len(dAtA)
+ _ = i
+ var l int
+ _ = l
+ if len(m.Variables) > 0 {
+ for iNdEx := len(m.Variables) - 1; iNdEx >= 0; iNdEx-- {
+ {
+ size, err := m.Variables[iNdEx].MarshalToSizedBuffer(dAtA[:i])
+ if err != nil {
+ return 0, err
+ }
+ i -= size
+ i = encodeVarintGenerated(dAtA, i, uint64(size))
+ }
+ i--
+ dAtA[i] = 0x3a
+ }
}
- if m.MatchConstraints != nil {
- l = m.MatchConstraints.Size()
- n += 1 + l + sovGenerated(uint64(l))
+ if len(m.MatchConditions) > 0 {
+ for iNdEx := len(m.MatchConditions) - 1; iNdEx >= 0; iNdEx-- {
+ {
+ size, err := m.MatchConditions[iNdEx].MarshalToSizedBuffer(dAtA[:i])
+ if err != nil {
+ return 0, err
+ }
+ i -= size
+ i = encodeVarintGenerated(dAtA, i, uint64(size))
+ }
+ i--
+ dAtA[i] = 0x32
+ }
}
- if len(m.Validations) > 0 {
- for _, e := range m.Validations {
- l = e.Size()
- n += 1 + l + sovGenerated(uint64(l))
+ if len(m.AuditAnnotations) > 0 {
+ for iNdEx := len(m.AuditAnnotations) - 1; iNdEx >= 0; iNdEx-- {
+ {
+ size, err := m.AuditAnnotations[iNdEx].MarshalToSizedBuffer(dAtA[:i])
+ if err != nil {
+ return 0, err
+ }
+ i -= size
+ i = encodeVarintGenerated(dAtA, i, uint64(size))
+ }
+ i--
+ dAtA[i] = 0x2a
}
}
if m.FailurePolicy != nil {
- l = len(*m.FailurePolicy)
- n += 1 + l + sovGenerated(uint64(l))
+ i -= len(*m.FailurePolicy)
+ copy(dAtA[i:], *m.FailurePolicy)
+ i = encodeVarintGenerated(dAtA, i, uint64(len(*m.FailurePolicy)))
+ i--
+ dAtA[i] = 0x22
}
- if len(m.AuditAnnotations) > 0 {
- for _, e := range m.AuditAnnotations {
- l = e.Size()
- n += 1 + l + sovGenerated(uint64(l))
+ if len(m.Validations) > 0 {
+ for iNdEx := len(m.Validations) - 1; iNdEx >= 0; iNdEx-- {
+ {
+ size, err := m.Validations[iNdEx].MarshalToSizedBuffer(dAtA[:i])
+ if err != nil {
+ return 0, err
+ }
+ i -= size
+ i = encodeVarintGenerated(dAtA, i, uint64(size))
+ }
+ i--
+ dAtA[i] = 0x1a
}
}
- if len(m.MatchConditions) > 0 {
- for _, e := range m.MatchConditions {
- l = e.Size()
- n += 1 + l + sovGenerated(uint64(l))
+ if m.MatchConstraints != nil {
+ {
+ size, err := m.MatchConstraints.MarshalToSizedBuffer(dAtA[:i])
+ if err != nil {
+ return 0, err
+ }
+ i -= size
+ i = encodeVarintGenerated(dAtA, i, uint64(size))
}
+ i--
+ dAtA[i] = 0x12
}
- if len(m.Variables) > 0 {
- for _, e := range m.Variables {
- l = e.Size()
- n += 1 + l + sovGenerated(uint64(l))
+ if m.ParamKind != nil {
+ {
+ size, err := m.ParamKind.MarshalToSizedBuffer(dAtA[:i])
+ if err != nil {
+ return 0, err
+ }
+ i -= size
+ i = encodeVarintGenerated(dAtA, i, uint64(size))
}
+ i--
+ dAtA[i] = 0xa
}
- return n
+ return len(dAtA) - i, nil
}
-func (m *ValidatingAdmissionPolicyStatus) Size() (n int) {
- if m == nil {
- return 0
+func (m *ValidatingAdmissionPolicyStatus) Marshal() (dAtA []byte, err error) {
+ size := m.Size()
+ dAtA = make([]byte, size)
+ n, err := m.MarshalToSizedBuffer(dAtA[:size])
+ if err != nil {
+ return nil, err
}
+ return dAtA[:n], nil
+}
+
+func (m *ValidatingAdmissionPolicyStatus) MarshalTo(dAtA []byte) (int, error) {
+ size := m.Size()
+ return m.MarshalToSizedBuffer(dAtA[:size])
+}
+
+func (m *ValidatingAdmissionPolicyStatus) MarshalToSizedBuffer(dAtA []byte) (int, error) {
+ i := len(dAtA)
+ _ = i
var l int
_ = l
- n += 1 + sovGenerated(uint64(m.ObservedGeneration))
- if m.TypeChecking != nil {
- l = m.TypeChecking.Size()
- n += 1 + l + sovGenerated(uint64(l))
- }
if len(m.Conditions) > 0 {
- for _, e := range m.Conditions {
- l = e.Size()
- n += 1 + l + sovGenerated(uint64(l))
+ for iNdEx := len(m.Conditions) - 1; iNdEx >= 0; iNdEx-- {
+ {
+ size, err := m.Conditions[iNdEx].MarshalToSizedBuffer(dAtA[:i])
+ if err != nil {
+ return 0, err
+ }
+ i -= size
+ i = encodeVarintGenerated(dAtA, i, uint64(size))
+ }
+ i--
+ dAtA[i] = 0x1a
}
}
- return n
+ if m.TypeChecking != nil {
+ {
+ size, err := m.TypeChecking.MarshalToSizedBuffer(dAtA[:i])
+ if err != nil {
+ return 0, err
+ }
+ i -= size
+ i = encodeVarintGenerated(dAtA, i, uint64(size))
+ }
+ i--
+ dAtA[i] = 0x12
+ }
+ i = encodeVarintGenerated(dAtA, i, uint64(m.ObservedGeneration))
+ i--
+ dAtA[i] = 0x8
+ return len(dAtA) - i, nil
}
-func (m *Validation) Size() (n int) {
- if m == nil {
- return 0
+func (m *Validation) Marshal() (dAtA []byte, err error) {
+ size := m.Size()
+ dAtA = make([]byte, size)
+ n, err := m.MarshalToSizedBuffer(dAtA[:size])
+ if err != nil {
+ return nil, err
}
+ return dAtA[:n], nil
+}
+
+func (m *Validation) MarshalTo(dAtA []byte) (int, error) {
+ size := m.Size()
+ return m.MarshalToSizedBuffer(dAtA[:size])
+}
+
+func (m *Validation) MarshalToSizedBuffer(dAtA []byte) (int, error) {
+ i := len(dAtA)
+ _ = i
var l int
_ = l
- l = len(m.Expression)
- n += 1 + l + sovGenerated(uint64(l))
- l = len(m.Message)
- n += 1 + l + sovGenerated(uint64(l))
+ i -= len(m.MessageExpression)
+ copy(dAtA[i:], m.MessageExpression)
+ i = encodeVarintGenerated(dAtA, i, uint64(len(m.MessageExpression)))
+ i--
+ dAtA[i] = 0x22
if m.Reason != nil {
- l = len(*m.Reason)
- n += 1 + l + sovGenerated(uint64(l))
+ i -= len(*m.Reason)
+ copy(dAtA[i:], *m.Reason)
+ i = encodeVarintGenerated(dAtA, i, uint64(len(*m.Reason)))
+ i--
+ dAtA[i] = 0x1a
}
- l = len(m.MessageExpression)
- n += 1 + l + sovGenerated(uint64(l))
- return n
+ i -= len(m.Message)
+ copy(dAtA[i:], m.Message)
+ i = encodeVarintGenerated(dAtA, i, uint64(len(m.Message)))
+ i--
+ dAtA[i] = 0x12
+ i -= len(m.Expression)
+ copy(dAtA[i:], m.Expression)
+ i = encodeVarintGenerated(dAtA, i, uint64(len(m.Expression)))
+ i--
+ dAtA[i] = 0xa
+ return len(dAtA) - i, nil
}
-func (m *Variable) Size() (n int) {
- if m == nil {
- return 0
+func (m *Variable) Marshal() (dAtA []byte, err error) {
+ size := m.Size()
+ dAtA = make([]byte, size)
+ n, err := m.MarshalToSizedBuffer(dAtA[:size])
+ if err != nil {
+ return nil, err
}
+ return dAtA[:n], nil
+}
+
+func (m *Variable) MarshalTo(dAtA []byte) (int, error) {
+ size := m.Size()
+ return m.MarshalToSizedBuffer(dAtA[:size])
+}
+
+func (m *Variable) MarshalToSizedBuffer(dAtA []byte) (int, error) {
+ i := len(dAtA)
+ _ = i
var l int
_ = l
- l = len(m.Name)
- n += 1 + l + sovGenerated(uint64(l))
- l = len(m.Expression)
- n += 1 + l + sovGenerated(uint64(l))
- return n
+ i -= len(m.Expression)
+ copy(dAtA[i:], m.Expression)
+ i = encodeVarintGenerated(dAtA, i, uint64(len(m.Expression)))
+ i--
+ dAtA[i] = 0x12
+ i -= len(m.Name)
+ copy(dAtA[i:], m.Name)
+ i = encodeVarintGenerated(dAtA, i, uint64(len(m.Name)))
+ i--
+ dAtA[i] = 0xa
+ return len(dAtA) - i, nil
}
-func sovGenerated(x uint64) (n int) {
- return (math_bits.Len64(x|1) + 6) / 7
-}
-func sozGenerated(x uint64) (n int) {
- return sovGenerated(uint64((x << 1) ^ uint64((int64(x) >> 63))))
-}
-func (this *AuditAnnotation) String() string {
- if this == nil {
- return "nil"
+func encodeVarintGenerated(dAtA []byte, offset int, v uint64) int {
+ offset -= sovGenerated(v)
+ base := offset
+ for v >= 1<<7 {
+ dAtA[offset] = uint8(v&0x7f | 0x80)
+ v >>= 7
+ offset++
}
- s := strings.Join([]string{`&AuditAnnotation{`,
- `Key:` + fmt.Sprintf("%v", this.Key) + `,`,
- `ValueExpression:` + fmt.Sprintf("%v", this.ValueExpression) + `,`,
- `}`,
- }, "")
- return s
+ dAtA[offset] = uint8(v)
+ return base
}
-func (this *ExpressionWarning) String() string {
- if this == nil {
- return "nil"
+func (m *ApplyConfiguration) Size() (n int) {
+ if m == nil {
+ return 0
}
- s := strings.Join([]string{`&ExpressionWarning{`,
- `FieldRef:` + fmt.Sprintf("%v", this.FieldRef) + `,`,
- `Warning:` + fmt.Sprintf("%v", this.Warning) + `,`,
- `}`,
- }, "")
- return s
+ var l int
+ _ = l
+ l = len(m.Expression)
+ n += 1 + l + sovGenerated(uint64(l))
+ return n
}
-func (this *MatchCondition) String() string {
- if this == nil {
- return "nil"
+
+func (m *AuditAnnotation) Size() (n int) {
+ if m == nil {
+ return 0
}
- s := strings.Join([]string{`&MatchCondition{`,
- `Name:` + fmt.Sprintf("%v", this.Name) + `,`,
- `Expression:` + fmt.Sprintf("%v", this.Expression) + `,`,
- `}`,
- }, "")
- return s
+ var l int
+ _ = l
+ l = len(m.Key)
+ n += 1 + l + sovGenerated(uint64(l))
+ l = len(m.ValueExpression)
+ n += 1 + l + sovGenerated(uint64(l))
+ return n
}
-func (this *MatchResources) String() string {
- if this == nil {
- return "nil"
- }
- repeatedStringForResourceRules := "[]NamedRuleWithOperations{"
- for _, f := range this.ResourceRules {
- repeatedStringForResourceRules += strings.Replace(strings.Replace(f.String(), "NamedRuleWithOperations", "NamedRuleWithOperations", 1), `&`, ``, 1) + ","
- }
- repeatedStringForResourceRules += "}"
- repeatedStringForExcludeResourceRules := "[]NamedRuleWithOperations{"
- for _, f := range this.ExcludeResourceRules {
- repeatedStringForExcludeResourceRules += strings.Replace(strings.Replace(f.String(), "NamedRuleWithOperations", "NamedRuleWithOperations", 1), `&`, ``, 1) + ","
+
+func (m *ExpressionWarning) Size() (n int) {
+ if m == nil {
+ return 0
}
- repeatedStringForExcludeResourceRules += "}"
- s := strings.Join([]string{`&MatchResources{`,
- `NamespaceSelector:` + strings.Replace(fmt.Sprintf("%v", this.NamespaceSelector), "LabelSelector", "v1.LabelSelector", 1) + `,`,
- `ObjectSelector:` + strings.Replace(fmt.Sprintf("%v", this.ObjectSelector), "LabelSelector", "v1.LabelSelector", 1) + `,`,
- `ResourceRules:` + repeatedStringForResourceRules + `,`,
- `ExcludeResourceRules:` + repeatedStringForExcludeResourceRules + `,`,
- `MatchPolicy:` + valueToStringGenerated(this.MatchPolicy) + `,`,
- `}`,
- }, "")
- return s
+ var l int
+ _ = l
+ l = len(m.FieldRef)
+ n += 1 + l + sovGenerated(uint64(l))
+ l = len(m.Warning)
+ n += 1 + l + sovGenerated(uint64(l))
+ return n
}
-func (this *NamedRuleWithOperations) String() string {
- if this == nil {
- return "nil"
+
+func (m *JSONPatch) Size() (n int) {
+ if m == nil {
+ return 0
}
- s := strings.Join([]string{`&NamedRuleWithOperations{`,
- `ResourceNames:` + fmt.Sprintf("%v", this.ResourceNames) + `,`,
- `RuleWithOperations:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.RuleWithOperations), "RuleWithOperations", "v11.RuleWithOperations", 1), `&`, ``, 1) + `,`,
- `}`,
- }, "")
- return s
+ var l int
+ _ = l
+ l = len(m.Expression)
+ n += 1 + l + sovGenerated(uint64(l))
+ return n
}
-func (this *ParamKind) String() string {
- if this == nil {
- return "nil"
+
+func (m *MatchCondition) Size() (n int) {
+ if m == nil {
+ return 0
}
- s := strings.Join([]string{`&ParamKind{`,
- `APIVersion:` + fmt.Sprintf("%v", this.APIVersion) + `,`,
- `Kind:` + fmt.Sprintf("%v", this.Kind) + `,`,
- `}`,
- }, "")
- return s
+ var l int
+ _ = l
+ l = len(m.Name)
+ n += 1 + l + sovGenerated(uint64(l))
+ l = len(m.Expression)
+ n += 1 + l + sovGenerated(uint64(l))
+ return n
}
-func (this *ParamRef) String() string {
- if this == nil {
- return "nil"
+
+func (m *MatchResources) Size() (n int) {
+ if m == nil {
+ return 0
}
- s := strings.Join([]string{`&ParamRef{`,
- `Name:` + fmt.Sprintf("%v", this.Name) + `,`,
- `Namespace:` + fmt.Sprintf("%v", this.Namespace) + `,`,
- `Selector:` + strings.Replace(fmt.Sprintf("%v", this.Selector), "LabelSelector", "v1.LabelSelector", 1) + `,`,
- `ParameterNotFoundAction:` + valueToStringGenerated(this.ParameterNotFoundAction) + `,`,
- `}`,
- }, "")
- return s
-}
-func (this *TypeChecking) String() string {
- if this == nil {
- return "nil"
+ var l int
+ _ = l
+ if m.NamespaceSelector != nil {
+ l = m.NamespaceSelector.Size()
+ n += 1 + l + sovGenerated(uint64(l))
}
- repeatedStringForExpressionWarnings := "[]ExpressionWarning{"
- for _, f := range this.ExpressionWarnings {
- repeatedStringForExpressionWarnings += strings.Replace(strings.Replace(f.String(), "ExpressionWarning", "ExpressionWarning", 1), `&`, ``, 1) + ","
+ if m.ObjectSelector != nil {
+ l = m.ObjectSelector.Size()
+ n += 1 + l + sovGenerated(uint64(l))
}
- repeatedStringForExpressionWarnings += "}"
- s := strings.Join([]string{`&TypeChecking{`,
- `ExpressionWarnings:` + repeatedStringForExpressionWarnings + `,`,
- `}`,
- }, "")
- return s
+ if len(m.ResourceRules) > 0 {
+ for _, e := range m.ResourceRules {
+ l = e.Size()
+ n += 1 + l + sovGenerated(uint64(l))
+ }
+ }
+ if len(m.ExcludeResourceRules) > 0 {
+ for _, e := range m.ExcludeResourceRules {
+ l = e.Size()
+ n += 1 + l + sovGenerated(uint64(l))
+ }
+ }
+ if m.MatchPolicy != nil {
+ l = len(*m.MatchPolicy)
+ n += 1 + l + sovGenerated(uint64(l))
+ }
+ return n
}
-func (this *ValidatingAdmissionPolicy) String() string {
- if this == nil {
- return "nil"
+
+func (m *MutatingAdmissionPolicy) Size() (n int) {
+ if m == nil {
+ return 0
}
- s := strings.Join([]string{`&ValidatingAdmissionPolicy{`,
- `ObjectMeta:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.ObjectMeta), "ObjectMeta", "v1.ObjectMeta", 1), `&`, ``, 1) + `,`,
- `Spec:` + strings.Replace(strings.Replace(this.Spec.String(), "ValidatingAdmissionPolicySpec", "ValidatingAdmissionPolicySpec", 1), `&`, ``, 1) + `,`,
- `Status:` + strings.Replace(strings.Replace(this.Status.String(), "ValidatingAdmissionPolicyStatus", "ValidatingAdmissionPolicyStatus", 1), `&`, ``, 1) + `,`,
- `}`,
- }, "")
- return s
+ var l int
+ _ = l
+ l = m.ObjectMeta.Size()
+ n += 1 + l + sovGenerated(uint64(l))
+ l = m.Spec.Size()
+ n += 1 + l + sovGenerated(uint64(l))
+ return n
}
-func (this *ValidatingAdmissionPolicyBinding) String() string {
- if this == nil {
- return "nil"
+
+func (m *MutatingAdmissionPolicyBinding) Size() (n int) {
+ if m == nil {
+ return 0
}
- s := strings.Join([]string{`&ValidatingAdmissionPolicyBinding{`,
- `ObjectMeta:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.ObjectMeta), "ObjectMeta", "v1.ObjectMeta", 1), `&`, ``, 1) + `,`,
- `Spec:` + strings.Replace(strings.Replace(this.Spec.String(), "ValidatingAdmissionPolicyBindingSpec", "ValidatingAdmissionPolicyBindingSpec", 1), `&`, ``, 1) + `,`,
- `}`,
- }, "")
- return s
+ var l int
+ _ = l
+ l = m.ObjectMeta.Size()
+ n += 1 + l + sovGenerated(uint64(l))
+ l = m.Spec.Size()
+ n += 1 + l + sovGenerated(uint64(l))
+ return n
}
-func (this *ValidatingAdmissionPolicyBindingList) String() string {
- if this == nil {
- return "nil"
+
+func (m *MutatingAdmissionPolicyBindingList) Size() (n int) {
+ if m == nil {
+ return 0
}
- repeatedStringForItems := "[]ValidatingAdmissionPolicyBinding{"
- for _, f := range this.Items {
- repeatedStringForItems += strings.Replace(strings.Replace(f.String(), "ValidatingAdmissionPolicyBinding", "ValidatingAdmissionPolicyBinding", 1), `&`, ``, 1) + ","
+ var l int
+ _ = l
+ l = m.ListMeta.Size()
+ n += 1 + l + sovGenerated(uint64(l))
+ if len(m.Items) > 0 {
+ for _, e := range m.Items {
+ l = e.Size()
+ n += 1 + l + sovGenerated(uint64(l))
+ }
}
- repeatedStringForItems += "}"
- s := strings.Join([]string{`&ValidatingAdmissionPolicyBindingList{`,
- `ListMeta:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.ListMeta), "ListMeta", "v1.ListMeta", 1), `&`, ``, 1) + `,`,
- `Items:` + repeatedStringForItems + `,`,
- `}`,
- }, "")
- return s
+ return n
}
-func (this *ValidatingAdmissionPolicyBindingSpec) String() string {
- if this == nil {
- return "nil"
+
+func (m *MutatingAdmissionPolicyBindingSpec) Size() (n int) {
+ if m == nil {
+ return 0
}
- s := strings.Join([]string{`&ValidatingAdmissionPolicyBindingSpec{`,
- `PolicyName:` + fmt.Sprintf("%v", this.PolicyName) + `,`,
- `ParamRef:` + strings.Replace(this.ParamRef.String(), "ParamRef", "ParamRef", 1) + `,`,
- `MatchResources:` + strings.Replace(this.MatchResources.String(), "MatchResources", "MatchResources", 1) + `,`,
- `ValidationActions:` + fmt.Sprintf("%v", this.ValidationActions) + `,`,
- `}`,
- }, "")
- return s
+ var l int
+ _ = l
+ l = len(m.PolicyName)
+ n += 1 + l + sovGenerated(uint64(l))
+ if m.ParamRef != nil {
+ l = m.ParamRef.Size()
+ n += 1 + l + sovGenerated(uint64(l))
+ }
+ if m.MatchResources != nil {
+ l = m.MatchResources.Size()
+ n += 1 + l + sovGenerated(uint64(l))
+ }
+ return n
}
-func (this *ValidatingAdmissionPolicyList) String() string {
- if this == nil {
- return "nil"
+
+func (m *MutatingAdmissionPolicyList) Size() (n int) {
+ if m == nil {
+ return 0
}
- repeatedStringForItems := "[]ValidatingAdmissionPolicy{"
- for _, f := range this.Items {
- repeatedStringForItems += strings.Replace(strings.Replace(f.String(), "ValidatingAdmissionPolicy", "ValidatingAdmissionPolicy", 1), `&`, ``, 1) + ","
+ var l int
+ _ = l
+ l = m.ListMeta.Size()
+ n += 1 + l + sovGenerated(uint64(l))
+ if len(m.Items) > 0 {
+ for _, e := range m.Items {
+ l = e.Size()
+ n += 1 + l + sovGenerated(uint64(l))
+ }
}
- repeatedStringForItems += "}"
- s := strings.Join([]string{`&ValidatingAdmissionPolicyList{`,
- `ListMeta:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.ListMeta), "ListMeta", "v1.ListMeta", 1), `&`, ``, 1) + `,`,
- `Items:` + repeatedStringForItems + `,`,
- `}`,
- }, "")
- return s
+ return n
}
-func (this *ValidatingAdmissionPolicySpec) String() string {
- if this == nil {
- return "nil"
+
+func (m *MutatingAdmissionPolicySpec) Size() (n int) {
+ if m == nil {
+ return 0
}
- repeatedStringForValidations := "[]Validation{"
- for _, f := range this.Validations {
- repeatedStringForValidations += strings.Replace(strings.Replace(f.String(), "Validation", "Validation", 1), `&`, ``, 1) + ","
+ var l int
+ _ = l
+ if m.ParamKind != nil {
+ l = m.ParamKind.Size()
+ n += 1 + l + sovGenerated(uint64(l))
}
- repeatedStringForValidations += "}"
- repeatedStringForAuditAnnotations := "[]AuditAnnotation{"
- for _, f := range this.AuditAnnotations {
- repeatedStringForAuditAnnotations += strings.Replace(strings.Replace(f.String(), "AuditAnnotation", "AuditAnnotation", 1), `&`, ``, 1) + ","
+ if m.MatchConstraints != nil {
+ l = m.MatchConstraints.Size()
+ n += 1 + l + sovGenerated(uint64(l))
}
- repeatedStringForAuditAnnotations += "}"
- repeatedStringForMatchConditions := "[]MatchCondition{"
- for _, f := range this.MatchConditions {
- repeatedStringForMatchConditions += strings.Replace(strings.Replace(f.String(), "MatchCondition", "MatchCondition", 1), `&`, ``, 1) + ","
+ if len(m.Variables) > 0 {
+ for _, e := range m.Variables {
+ l = e.Size()
+ n += 1 + l + sovGenerated(uint64(l))
+ }
}
- repeatedStringForMatchConditions += "}"
- repeatedStringForVariables := "[]Variable{"
- for _, f := range this.Variables {
- repeatedStringForVariables += strings.Replace(strings.Replace(f.String(), "Variable", "Variable", 1), `&`, ``, 1) + ","
+ if len(m.Mutations) > 0 {
+ for _, e := range m.Mutations {
+ l = e.Size()
+ n += 1 + l + sovGenerated(uint64(l))
+ }
}
- repeatedStringForVariables += "}"
- s := strings.Join([]string{`&ValidatingAdmissionPolicySpec{`,
- `ParamKind:` + strings.Replace(this.ParamKind.String(), "ParamKind", "ParamKind", 1) + `,`,
- `MatchConstraints:` + strings.Replace(this.MatchConstraints.String(), "MatchResources", "MatchResources", 1) + `,`,
- `Validations:` + repeatedStringForValidations + `,`,
- `FailurePolicy:` + valueToStringGenerated(this.FailurePolicy) + `,`,
- `AuditAnnotations:` + repeatedStringForAuditAnnotations + `,`,
- `MatchConditions:` + repeatedStringForMatchConditions + `,`,
- `Variables:` + repeatedStringForVariables + `,`,
- `}`,
- }, "")
- return s
+ if m.FailurePolicy != nil {
+ l = len(*m.FailurePolicy)
+ n += 1 + l + sovGenerated(uint64(l))
+ }
+ if len(m.MatchConditions) > 0 {
+ for _, e := range m.MatchConditions {
+ l = e.Size()
+ n += 1 + l + sovGenerated(uint64(l))
+ }
+ }
+ l = len(m.ReinvocationPolicy)
+ n += 1 + l + sovGenerated(uint64(l))
+ return n
}
-func (this *ValidatingAdmissionPolicyStatus) String() string {
- if this == nil {
- return "nil"
+
+func (m *Mutation) Size() (n int) {
+ if m == nil {
+ return 0
}
- repeatedStringForConditions := "[]Condition{"
- for _, f := range this.Conditions {
- repeatedStringForConditions += fmt.Sprintf("%v", f) + ","
+ var l int
+ _ = l
+ l = len(m.PatchType)
+ n += 1 + l + sovGenerated(uint64(l))
+ if m.ApplyConfiguration != nil {
+ l = m.ApplyConfiguration.Size()
+ n += 1 + l + sovGenerated(uint64(l))
+ }
+ if m.JSONPatch != nil {
+ l = m.JSONPatch.Size()
+ n += 1 + l + sovGenerated(uint64(l))
+ }
+ return n
+}
+
+func (m *NamedRuleWithOperations) Size() (n int) {
+ if m == nil {
+ return 0
+ }
+ var l int
+ _ = l
+ if len(m.ResourceNames) > 0 {
+ for _, s := range m.ResourceNames {
+ l = len(s)
+ n += 1 + l + sovGenerated(uint64(l))
+ }
+ }
+ l = m.RuleWithOperations.Size()
+ n += 1 + l + sovGenerated(uint64(l))
+ return n
+}
+
+func (m *ParamKind) Size() (n int) {
+ if m == nil {
+ return 0
+ }
+ var l int
+ _ = l
+ l = len(m.APIVersion)
+ n += 1 + l + sovGenerated(uint64(l))
+ l = len(m.Kind)
+ n += 1 + l + sovGenerated(uint64(l))
+ return n
+}
+
+func (m *ParamRef) Size() (n int) {
+ if m == nil {
+ return 0
+ }
+ var l int
+ _ = l
+ l = len(m.Name)
+ n += 1 + l + sovGenerated(uint64(l))
+ l = len(m.Namespace)
+ n += 1 + l + sovGenerated(uint64(l))
+ if m.Selector != nil {
+ l = m.Selector.Size()
+ n += 1 + l + sovGenerated(uint64(l))
+ }
+ if m.ParameterNotFoundAction != nil {
+ l = len(*m.ParameterNotFoundAction)
+ n += 1 + l + sovGenerated(uint64(l))
+ }
+ return n
+}
+
+func (m *TypeChecking) Size() (n int) {
+ if m == nil {
+ return 0
+ }
+ var l int
+ _ = l
+ if len(m.ExpressionWarnings) > 0 {
+ for _, e := range m.ExpressionWarnings {
+ l = e.Size()
+ n += 1 + l + sovGenerated(uint64(l))
+ }
+ }
+ return n
+}
+
+func (m *ValidatingAdmissionPolicy) Size() (n int) {
+ if m == nil {
+ return 0
+ }
+ var l int
+ _ = l
+ l = m.ObjectMeta.Size()
+ n += 1 + l + sovGenerated(uint64(l))
+ l = m.Spec.Size()
+ n += 1 + l + sovGenerated(uint64(l))
+ l = m.Status.Size()
+ n += 1 + l + sovGenerated(uint64(l))
+ return n
+}
+
+func (m *ValidatingAdmissionPolicyBinding) Size() (n int) {
+ if m == nil {
+ return 0
+ }
+ var l int
+ _ = l
+ l = m.ObjectMeta.Size()
+ n += 1 + l + sovGenerated(uint64(l))
+ l = m.Spec.Size()
+ n += 1 + l + sovGenerated(uint64(l))
+ return n
+}
+
+func (m *ValidatingAdmissionPolicyBindingList) Size() (n int) {
+ if m == nil {
+ return 0
+ }
+ var l int
+ _ = l
+ l = m.ListMeta.Size()
+ n += 1 + l + sovGenerated(uint64(l))
+ if len(m.Items) > 0 {
+ for _, e := range m.Items {
+ l = e.Size()
+ n += 1 + l + sovGenerated(uint64(l))
+ }
+ }
+ return n
+}
+
+func (m *ValidatingAdmissionPolicyBindingSpec) Size() (n int) {
+ if m == nil {
+ return 0
+ }
+ var l int
+ _ = l
+ l = len(m.PolicyName)
+ n += 1 + l + sovGenerated(uint64(l))
+ if m.ParamRef != nil {
+ l = m.ParamRef.Size()
+ n += 1 + l + sovGenerated(uint64(l))
+ }
+ if m.MatchResources != nil {
+ l = m.MatchResources.Size()
+ n += 1 + l + sovGenerated(uint64(l))
+ }
+ if len(m.ValidationActions) > 0 {
+ for _, s := range m.ValidationActions {
+ l = len(s)
+ n += 1 + l + sovGenerated(uint64(l))
+ }
+ }
+ return n
+}
+
+func (m *ValidatingAdmissionPolicyList) Size() (n int) {
+ if m == nil {
+ return 0
+ }
+ var l int
+ _ = l
+ l = m.ListMeta.Size()
+ n += 1 + l + sovGenerated(uint64(l))
+ if len(m.Items) > 0 {
+ for _, e := range m.Items {
+ l = e.Size()
+ n += 1 + l + sovGenerated(uint64(l))
+ }
+ }
+ return n
+}
+
+func (m *ValidatingAdmissionPolicySpec) Size() (n int) {
+ if m == nil {
+ return 0
+ }
+ var l int
+ _ = l
+ if m.ParamKind != nil {
+ l = m.ParamKind.Size()
+ n += 1 + l + sovGenerated(uint64(l))
+ }
+ if m.MatchConstraints != nil {
+ l = m.MatchConstraints.Size()
+ n += 1 + l + sovGenerated(uint64(l))
+ }
+ if len(m.Validations) > 0 {
+ for _, e := range m.Validations {
+ l = e.Size()
+ n += 1 + l + sovGenerated(uint64(l))
+ }
+ }
+ if m.FailurePolicy != nil {
+ l = len(*m.FailurePolicy)
+ n += 1 + l + sovGenerated(uint64(l))
+ }
+ if len(m.AuditAnnotations) > 0 {
+ for _, e := range m.AuditAnnotations {
+ l = e.Size()
+ n += 1 + l + sovGenerated(uint64(l))
+ }
+ }
+ if len(m.MatchConditions) > 0 {
+ for _, e := range m.MatchConditions {
+ l = e.Size()
+ n += 1 + l + sovGenerated(uint64(l))
+ }
+ }
+ if len(m.Variables) > 0 {
+ for _, e := range m.Variables {
+ l = e.Size()
+ n += 1 + l + sovGenerated(uint64(l))
+ }
+ }
+ return n
+}
+
+func (m *ValidatingAdmissionPolicyStatus) Size() (n int) {
+ if m == nil {
+ return 0
+ }
+ var l int
+ _ = l
+ n += 1 + sovGenerated(uint64(m.ObservedGeneration))
+ if m.TypeChecking != nil {
+ l = m.TypeChecking.Size()
+ n += 1 + l + sovGenerated(uint64(l))
+ }
+ if len(m.Conditions) > 0 {
+ for _, e := range m.Conditions {
+ l = e.Size()
+ n += 1 + l + sovGenerated(uint64(l))
+ }
+ }
+ return n
+}
+
+func (m *Validation) Size() (n int) {
+ if m == nil {
+ return 0
+ }
+ var l int
+ _ = l
+ l = len(m.Expression)
+ n += 1 + l + sovGenerated(uint64(l))
+ l = len(m.Message)
+ n += 1 + l + sovGenerated(uint64(l))
+ if m.Reason != nil {
+ l = len(*m.Reason)
+ n += 1 + l + sovGenerated(uint64(l))
+ }
+ l = len(m.MessageExpression)
+ n += 1 + l + sovGenerated(uint64(l))
+ return n
+}
+
+func (m *Variable) Size() (n int) {
+ if m == nil {
+ return 0
+ }
+ var l int
+ _ = l
+ l = len(m.Name)
+ n += 1 + l + sovGenerated(uint64(l))
+ l = len(m.Expression)
+ n += 1 + l + sovGenerated(uint64(l))
+ return n
+}
+
+func sovGenerated(x uint64) (n int) {
+ return (math_bits.Len64(x|1) + 6) / 7
+}
+func sozGenerated(x uint64) (n int) {
+ return sovGenerated(uint64((x << 1) ^ uint64((int64(x) >> 63))))
+}
+func (this *ApplyConfiguration) String() string {
+ if this == nil {
+ return "nil"
+ }
+ s := strings.Join([]string{`&ApplyConfiguration{`,
+ `Expression:` + fmt.Sprintf("%v", this.Expression) + `,`,
+ `}`,
+ }, "")
+ return s
+}
+func (this *AuditAnnotation) String() string {
+ if this == nil {
+ return "nil"
+ }
+ s := strings.Join([]string{`&AuditAnnotation{`,
+ `Key:` + fmt.Sprintf("%v", this.Key) + `,`,
+ `ValueExpression:` + fmt.Sprintf("%v", this.ValueExpression) + `,`,
+ `}`,
+ }, "")
+ return s
+}
+func (this *ExpressionWarning) String() string {
+ if this == nil {
+ return "nil"
+ }
+ s := strings.Join([]string{`&ExpressionWarning{`,
+ `FieldRef:` + fmt.Sprintf("%v", this.FieldRef) + `,`,
+ `Warning:` + fmt.Sprintf("%v", this.Warning) + `,`,
+ `}`,
+ }, "")
+ return s
+}
+func (this *JSONPatch) String() string {
+ if this == nil {
+ return "nil"
+ }
+ s := strings.Join([]string{`&JSONPatch{`,
+ `Expression:` + fmt.Sprintf("%v", this.Expression) + `,`,
+ `}`,
+ }, "")
+ return s
+}
+func (this *MatchCondition) String() string {
+ if this == nil {
+ return "nil"
+ }
+ s := strings.Join([]string{`&MatchCondition{`,
+ `Name:` + fmt.Sprintf("%v", this.Name) + `,`,
+ `Expression:` + fmt.Sprintf("%v", this.Expression) + `,`,
+ `}`,
+ }, "")
+ return s
+}
+func (this *MatchResources) String() string {
+ if this == nil {
+ return "nil"
+ }
+ repeatedStringForResourceRules := "[]NamedRuleWithOperations{"
+ for _, f := range this.ResourceRules {
+ repeatedStringForResourceRules += strings.Replace(strings.Replace(f.String(), "NamedRuleWithOperations", "NamedRuleWithOperations", 1), `&`, ``, 1) + ","
+ }
+ repeatedStringForResourceRules += "}"
+ repeatedStringForExcludeResourceRules := "[]NamedRuleWithOperations{"
+ for _, f := range this.ExcludeResourceRules {
+ repeatedStringForExcludeResourceRules += strings.Replace(strings.Replace(f.String(), "NamedRuleWithOperations", "NamedRuleWithOperations", 1), `&`, ``, 1) + ","
+ }
+ repeatedStringForExcludeResourceRules += "}"
+ s := strings.Join([]string{`&MatchResources{`,
+ `NamespaceSelector:` + strings.Replace(fmt.Sprintf("%v", this.NamespaceSelector), "LabelSelector", "v1.LabelSelector", 1) + `,`,
+ `ObjectSelector:` + strings.Replace(fmt.Sprintf("%v", this.ObjectSelector), "LabelSelector", "v1.LabelSelector", 1) + `,`,
+ `ResourceRules:` + repeatedStringForResourceRules + `,`,
+ `ExcludeResourceRules:` + repeatedStringForExcludeResourceRules + `,`,
+ `MatchPolicy:` + valueToStringGenerated(this.MatchPolicy) + `,`,
+ `}`,
+ }, "")
+ return s
+}
+func (this *MutatingAdmissionPolicy) String() string {
+ if this == nil {
+ return "nil"
+ }
+ s := strings.Join([]string{`&MutatingAdmissionPolicy{`,
+ `ObjectMeta:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.ObjectMeta), "ObjectMeta", "v1.ObjectMeta", 1), `&`, ``, 1) + `,`,
+ `Spec:` + strings.Replace(strings.Replace(this.Spec.String(), "MutatingAdmissionPolicySpec", "MutatingAdmissionPolicySpec", 1), `&`, ``, 1) + `,`,
+ `}`,
+ }, "")
+ return s
+}
+func (this *MutatingAdmissionPolicyBinding) String() string {
+ if this == nil {
+ return "nil"
+ }
+ s := strings.Join([]string{`&MutatingAdmissionPolicyBinding{`,
+ `ObjectMeta:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.ObjectMeta), "ObjectMeta", "v1.ObjectMeta", 1), `&`, ``, 1) + `,`,
+ `Spec:` + strings.Replace(strings.Replace(this.Spec.String(), "MutatingAdmissionPolicyBindingSpec", "MutatingAdmissionPolicyBindingSpec", 1), `&`, ``, 1) + `,`,
+ `}`,
+ }, "")
+ return s
+}
+func (this *MutatingAdmissionPolicyBindingList) String() string {
+ if this == nil {
+ return "nil"
+ }
+ repeatedStringForItems := "[]MutatingAdmissionPolicyBinding{"
+ for _, f := range this.Items {
+ repeatedStringForItems += strings.Replace(strings.Replace(f.String(), "MutatingAdmissionPolicyBinding", "MutatingAdmissionPolicyBinding", 1), `&`, ``, 1) + ","
+ }
+ repeatedStringForItems += "}"
+ s := strings.Join([]string{`&MutatingAdmissionPolicyBindingList{`,
+ `ListMeta:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.ListMeta), "ListMeta", "v1.ListMeta", 1), `&`, ``, 1) + `,`,
+ `Items:` + repeatedStringForItems + `,`,
+ `}`,
+ }, "")
+ return s
+}
+func (this *MutatingAdmissionPolicyBindingSpec) String() string {
+ if this == nil {
+ return "nil"
+ }
+ s := strings.Join([]string{`&MutatingAdmissionPolicyBindingSpec{`,
+ `PolicyName:` + fmt.Sprintf("%v", this.PolicyName) + `,`,
+ `ParamRef:` + strings.Replace(this.ParamRef.String(), "ParamRef", "ParamRef", 1) + `,`,
+ `MatchResources:` + strings.Replace(this.MatchResources.String(), "MatchResources", "MatchResources", 1) + `,`,
+ `}`,
+ }, "")
+ return s
+}
+func (this *MutatingAdmissionPolicyList) String() string {
+ if this == nil {
+ return "nil"
+ }
+ repeatedStringForItems := "[]MutatingAdmissionPolicy{"
+ for _, f := range this.Items {
+ repeatedStringForItems += strings.Replace(strings.Replace(f.String(), "MutatingAdmissionPolicy", "MutatingAdmissionPolicy", 1), `&`, ``, 1) + ","
+ }
+ repeatedStringForItems += "}"
+ s := strings.Join([]string{`&MutatingAdmissionPolicyList{`,
+ `ListMeta:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.ListMeta), "ListMeta", "v1.ListMeta", 1), `&`, ``, 1) + `,`,
+ `Items:` + repeatedStringForItems + `,`,
+ `}`,
+ }, "")
+ return s
+}
+func (this *MutatingAdmissionPolicySpec) String() string {
+ if this == nil {
+ return "nil"
+ }
+ repeatedStringForVariables := "[]Variable{"
+ for _, f := range this.Variables {
+ repeatedStringForVariables += strings.Replace(strings.Replace(f.String(), "Variable", "Variable", 1), `&`, ``, 1) + ","
+ }
+ repeatedStringForVariables += "}"
+ repeatedStringForMutations := "[]Mutation{"
+ for _, f := range this.Mutations {
+ repeatedStringForMutations += strings.Replace(strings.Replace(f.String(), "Mutation", "Mutation", 1), `&`, ``, 1) + ","
+ }
+ repeatedStringForMutations += "}"
+ repeatedStringForMatchConditions := "[]MatchCondition{"
+ for _, f := range this.MatchConditions {
+ repeatedStringForMatchConditions += strings.Replace(strings.Replace(f.String(), "MatchCondition", "MatchCondition", 1), `&`, ``, 1) + ","
+ }
+ repeatedStringForMatchConditions += "}"
+ s := strings.Join([]string{`&MutatingAdmissionPolicySpec{`,
+ `ParamKind:` + strings.Replace(this.ParamKind.String(), "ParamKind", "ParamKind", 1) + `,`,
+ `MatchConstraints:` + strings.Replace(this.MatchConstraints.String(), "MatchResources", "MatchResources", 1) + `,`,
+ `Variables:` + repeatedStringForVariables + `,`,
+ `Mutations:` + repeatedStringForMutations + `,`,
+ `FailurePolicy:` + valueToStringGenerated(this.FailurePolicy) + `,`,
+ `MatchConditions:` + repeatedStringForMatchConditions + `,`,
+ `ReinvocationPolicy:` + fmt.Sprintf("%v", this.ReinvocationPolicy) + `,`,
+ `}`,
+ }, "")
+ return s
+}
+func (this *Mutation) String() string {
+ if this == nil {
+ return "nil"
+ }
+ s := strings.Join([]string{`&Mutation{`,
+ `PatchType:` + fmt.Sprintf("%v", this.PatchType) + `,`,
+ `ApplyConfiguration:` + strings.Replace(this.ApplyConfiguration.String(), "ApplyConfiguration", "ApplyConfiguration", 1) + `,`,
+ `JSONPatch:` + strings.Replace(this.JSONPatch.String(), "JSONPatch", "JSONPatch", 1) + `,`,
+ `}`,
+ }, "")
+ return s
+}
+func (this *NamedRuleWithOperations) String() string {
+ if this == nil {
+ return "nil"
+ }
+ s := strings.Join([]string{`&NamedRuleWithOperations{`,
+ `ResourceNames:` + fmt.Sprintf("%v", this.ResourceNames) + `,`,
+ `RuleWithOperations:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.RuleWithOperations), "RuleWithOperations", "v11.RuleWithOperations", 1), `&`, ``, 1) + `,`,
+ `}`,
+ }, "")
+ return s
+}
+func (this *ParamKind) String() string {
+ if this == nil {
+ return "nil"
+ }
+ s := strings.Join([]string{`&ParamKind{`,
+ `APIVersion:` + fmt.Sprintf("%v", this.APIVersion) + `,`,
+ `Kind:` + fmt.Sprintf("%v", this.Kind) + `,`,
+ `}`,
+ }, "")
+ return s
+}
+func (this *ParamRef) String() string {
+ if this == nil {
+ return "nil"
+ }
+ s := strings.Join([]string{`&ParamRef{`,
+ `Name:` + fmt.Sprintf("%v", this.Name) + `,`,
+ `Namespace:` + fmt.Sprintf("%v", this.Namespace) + `,`,
+ `Selector:` + strings.Replace(fmt.Sprintf("%v", this.Selector), "LabelSelector", "v1.LabelSelector", 1) + `,`,
+ `ParameterNotFoundAction:` + valueToStringGenerated(this.ParameterNotFoundAction) + `,`,
+ `}`,
+ }, "")
+ return s
+}
+func (this *TypeChecking) String() string {
+ if this == nil {
+ return "nil"
+ }
+ repeatedStringForExpressionWarnings := "[]ExpressionWarning{"
+ for _, f := range this.ExpressionWarnings {
+ repeatedStringForExpressionWarnings += strings.Replace(strings.Replace(f.String(), "ExpressionWarning", "ExpressionWarning", 1), `&`, ``, 1) + ","
+ }
+ repeatedStringForExpressionWarnings += "}"
+ s := strings.Join([]string{`&TypeChecking{`,
+ `ExpressionWarnings:` + repeatedStringForExpressionWarnings + `,`,
+ `}`,
+ }, "")
+ return s
+}
+func (this *ValidatingAdmissionPolicy) String() string {
+ if this == nil {
+ return "nil"
+ }
+ s := strings.Join([]string{`&ValidatingAdmissionPolicy{`,
+ `ObjectMeta:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.ObjectMeta), "ObjectMeta", "v1.ObjectMeta", 1), `&`, ``, 1) + `,`,
+ `Spec:` + strings.Replace(strings.Replace(this.Spec.String(), "ValidatingAdmissionPolicySpec", "ValidatingAdmissionPolicySpec", 1), `&`, ``, 1) + `,`,
+ `Status:` + strings.Replace(strings.Replace(this.Status.String(), "ValidatingAdmissionPolicyStatus", "ValidatingAdmissionPolicyStatus", 1), `&`, ``, 1) + `,`,
+ `}`,
+ }, "")
+ return s
+}
+func (this *ValidatingAdmissionPolicyBinding) String() string {
+ if this == nil {
+ return "nil"
+ }
+ s := strings.Join([]string{`&ValidatingAdmissionPolicyBinding{`,
+ `ObjectMeta:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.ObjectMeta), "ObjectMeta", "v1.ObjectMeta", 1), `&`, ``, 1) + `,`,
+ `Spec:` + strings.Replace(strings.Replace(this.Spec.String(), "ValidatingAdmissionPolicyBindingSpec", "ValidatingAdmissionPolicyBindingSpec", 1), `&`, ``, 1) + `,`,
+ `}`,
+ }, "")
+ return s
+}
+func (this *ValidatingAdmissionPolicyBindingList) String() string {
+ if this == nil {
+ return "nil"
+ }
+ repeatedStringForItems := "[]ValidatingAdmissionPolicyBinding{"
+ for _, f := range this.Items {
+ repeatedStringForItems += strings.Replace(strings.Replace(f.String(), "ValidatingAdmissionPolicyBinding", "ValidatingAdmissionPolicyBinding", 1), `&`, ``, 1) + ","
+ }
+ repeatedStringForItems += "}"
+ s := strings.Join([]string{`&ValidatingAdmissionPolicyBindingList{`,
+ `ListMeta:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.ListMeta), "ListMeta", "v1.ListMeta", 1), `&`, ``, 1) + `,`,
+ `Items:` + repeatedStringForItems + `,`,
+ `}`,
+ }, "")
+ return s
+}
+func (this *ValidatingAdmissionPolicyBindingSpec) String() string {
+ if this == nil {
+ return "nil"
+ }
+ s := strings.Join([]string{`&ValidatingAdmissionPolicyBindingSpec{`,
+ `PolicyName:` + fmt.Sprintf("%v", this.PolicyName) + `,`,
+ `ParamRef:` + strings.Replace(this.ParamRef.String(), "ParamRef", "ParamRef", 1) + `,`,
+ `MatchResources:` + strings.Replace(this.MatchResources.String(), "MatchResources", "MatchResources", 1) + `,`,
+ `ValidationActions:` + fmt.Sprintf("%v", this.ValidationActions) + `,`,
+ `}`,
+ }, "")
+ return s
+}
+func (this *ValidatingAdmissionPolicyList) String() string {
+ if this == nil {
+ return "nil"
+ }
+ repeatedStringForItems := "[]ValidatingAdmissionPolicy{"
+ for _, f := range this.Items {
+ repeatedStringForItems += strings.Replace(strings.Replace(f.String(), "ValidatingAdmissionPolicy", "ValidatingAdmissionPolicy", 1), `&`, ``, 1) + ","
+ }
+ repeatedStringForItems += "}"
+ s := strings.Join([]string{`&ValidatingAdmissionPolicyList{`,
+ `ListMeta:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.ListMeta), "ListMeta", "v1.ListMeta", 1), `&`, ``, 1) + `,`,
+ `Items:` + repeatedStringForItems + `,`,
+ `}`,
+ }, "")
+ return s
+}
+func (this *ValidatingAdmissionPolicySpec) String() string {
+ if this == nil {
+ return "nil"
+ }
+ repeatedStringForValidations := "[]Validation{"
+ for _, f := range this.Validations {
+ repeatedStringForValidations += strings.Replace(strings.Replace(f.String(), "Validation", "Validation", 1), `&`, ``, 1) + ","
+ }
+ repeatedStringForValidations += "}"
+ repeatedStringForAuditAnnotations := "[]AuditAnnotation{"
+ for _, f := range this.AuditAnnotations {
+ repeatedStringForAuditAnnotations += strings.Replace(strings.Replace(f.String(), "AuditAnnotation", "AuditAnnotation", 1), `&`, ``, 1) + ","
+ }
+ repeatedStringForAuditAnnotations += "}"
+ repeatedStringForMatchConditions := "[]MatchCondition{"
+ for _, f := range this.MatchConditions {
+ repeatedStringForMatchConditions += strings.Replace(strings.Replace(f.String(), "MatchCondition", "MatchCondition", 1), `&`, ``, 1) + ","
+ }
+ repeatedStringForMatchConditions += "}"
+ repeatedStringForVariables := "[]Variable{"
+ for _, f := range this.Variables {
+ repeatedStringForVariables += strings.Replace(strings.Replace(f.String(), "Variable", "Variable", 1), `&`, ``, 1) + ","
+ }
+ repeatedStringForVariables += "}"
+ s := strings.Join([]string{`&ValidatingAdmissionPolicySpec{`,
+ `ParamKind:` + strings.Replace(this.ParamKind.String(), "ParamKind", "ParamKind", 1) + `,`,
+ `MatchConstraints:` + strings.Replace(this.MatchConstraints.String(), "MatchResources", "MatchResources", 1) + `,`,
+ `Validations:` + repeatedStringForValidations + `,`,
+ `FailurePolicy:` + valueToStringGenerated(this.FailurePolicy) + `,`,
+ `AuditAnnotations:` + repeatedStringForAuditAnnotations + `,`,
+ `MatchConditions:` + repeatedStringForMatchConditions + `,`,
+ `Variables:` + repeatedStringForVariables + `,`,
+ `}`,
+ }, "")
+ return s
+}
+func (this *ValidatingAdmissionPolicyStatus) String() string {
+ if this == nil {
+ return "nil"
+ }
+ repeatedStringForConditions := "[]Condition{"
+ for _, f := range this.Conditions {
+ repeatedStringForConditions += fmt.Sprintf("%v", f) + ","
+ }
+ repeatedStringForConditions += "}"
+ s := strings.Join([]string{`&ValidatingAdmissionPolicyStatus{`,
+ `ObservedGeneration:` + fmt.Sprintf("%v", this.ObservedGeneration) + `,`,
+ `TypeChecking:` + strings.Replace(this.TypeChecking.String(), "TypeChecking", "TypeChecking", 1) + `,`,
+ `Conditions:` + repeatedStringForConditions + `,`,
+ `}`,
+ }, "")
+ return s
+}
+func (this *Validation) String() string {
+ if this == nil {
+ return "nil"
+ }
+ s := strings.Join([]string{`&Validation{`,
+ `Expression:` + fmt.Sprintf("%v", this.Expression) + `,`,
+ `Message:` + fmt.Sprintf("%v", this.Message) + `,`,
+ `Reason:` + valueToStringGenerated(this.Reason) + `,`,
+ `MessageExpression:` + fmt.Sprintf("%v", this.MessageExpression) + `,`,
+ `}`,
+ }, "")
+ return s
+}
+func (this *Variable) String() string {
+ if this == nil {
+ return "nil"
+ }
+ s := strings.Join([]string{`&Variable{`,
+ `Name:` + fmt.Sprintf("%v", this.Name) + `,`,
+ `Expression:` + fmt.Sprintf("%v", this.Expression) + `,`,
+ `}`,
+ }, "")
+ return s
+}
+func valueToStringGenerated(v interface{}) string {
+ rv := reflect.ValueOf(v)
+ if rv.IsNil() {
+ return "nil"
+ }
+ pv := reflect.Indirect(rv).Interface()
+ return fmt.Sprintf("*%v", pv)
+}
+func (m *ApplyConfiguration) Unmarshal(dAtA []byte) error {
+ l := len(dAtA)
+ iNdEx := 0
+ for iNdEx < l {
+ preIndex := iNdEx
+ var wire uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ wire |= uint64(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ fieldNum := int32(wire >> 3)
+ wireType := int(wire & 0x7)
+ if wireType == 4 {
+ return fmt.Errorf("proto: ApplyConfiguration: wiretype end group for non-group")
+ }
+ if fieldNum <= 0 {
+ return fmt.Errorf("proto: ApplyConfiguration: illegal tag %d (wire type %d)", fieldNum, wire)
+ }
+ switch fieldNum {
+ case 1:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field Expression", wireType)
+ }
+ var stringLen uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ stringLen |= uint64(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ intStringLen := int(stringLen)
+ if intStringLen < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ postIndex := iNdEx + intStringLen
+ if postIndex < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ m.Expression = string(dAtA[iNdEx:postIndex])
+ iNdEx = postIndex
+ default:
+ iNdEx = preIndex
+ skippy, err := skipGenerated(dAtA[iNdEx:])
+ if err != nil {
+ return err
+ }
+ if (skippy < 0) || (iNdEx+skippy) < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if (iNdEx + skippy) > l {
+ return io.ErrUnexpectedEOF
+ }
+ iNdEx += skippy
+ }
+ }
+
+ if iNdEx > l {
+ return io.ErrUnexpectedEOF
+ }
+ return nil
+}
+func (m *AuditAnnotation) Unmarshal(dAtA []byte) error {
+ l := len(dAtA)
+ iNdEx := 0
+ for iNdEx < l {
+ preIndex := iNdEx
+ var wire uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ wire |= uint64(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ fieldNum := int32(wire >> 3)
+ wireType := int(wire & 0x7)
+ if wireType == 4 {
+ return fmt.Errorf("proto: AuditAnnotation: wiretype end group for non-group")
+ }
+ if fieldNum <= 0 {
+ return fmt.Errorf("proto: AuditAnnotation: illegal tag %d (wire type %d)", fieldNum, wire)
+ }
+ switch fieldNum {
+ case 1:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field Key", wireType)
+ }
+ var stringLen uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ stringLen |= uint64(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ intStringLen := int(stringLen)
+ if intStringLen < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ postIndex := iNdEx + intStringLen
+ if postIndex < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ m.Key = string(dAtA[iNdEx:postIndex])
+ iNdEx = postIndex
+ case 2:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field ValueExpression", wireType)
+ }
+ var stringLen uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ stringLen |= uint64(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ intStringLen := int(stringLen)
+ if intStringLen < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ postIndex := iNdEx + intStringLen
+ if postIndex < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ m.ValueExpression = string(dAtA[iNdEx:postIndex])
+ iNdEx = postIndex
+ default:
+ iNdEx = preIndex
+ skippy, err := skipGenerated(dAtA[iNdEx:])
+ if err != nil {
+ return err
+ }
+ if (skippy < 0) || (iNdEx+skippy) < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if (iNdEx + skippy) > l {
+ return io.ErrUnexpectedEOF
+ }
+ iNdEx += skippy
+ }
+ }
+
+ if iNdEx > l {
+ return io.ErrUnexpectedEOF
+ }
+ return nil
+}
+func (m *ExpressionWarning) Unmarshal(dAtA []byte) error {
+ l := len(dAtA)
+ iNdEx := 0
+ for iNdEx < l {
+ preIndex := iNdEx
+ var wire uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ wire |= uint64(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ fieldNum := int32(wire >> 3)
+ wireType := int(wire & 0x7)
+ if wireType == 4 {
+ return fmt.Errorf("proto: ExpressionWarning: wiretype end group for non-group")
+ }
+ if fieldNum <= 0 {
+ return fmt.Errorf("proto: ExpressionWarning: illegal tag %d (wire type %d)", fieldNum, wire)
+ }
+ switch fieldNum {
+ case 2:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field FieldRef", wireType)
+ }
+ var stringLen uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ stringLen |= uint64(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ intStringLen := int(stringLen)
+ if intStringLen < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ postIndex := iNdEx + intStringLen
+ if postIndex < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ m.FieldRef = string(dAtA[iNdEx:postIndex])
+ iNdEx = postIndex
+ case 3:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field Warning", wireType)
+ }
+ var stringLen uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ stringLen |= uint64(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ intStringLen := int(stringLen)
+ if intStringLen < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ postIndex := iNdEx + intStringLen
+ if postIndex < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ m.Warning = string(dAtA[iNdEx:postIndex])
+ iNdEx = postIndex
+ default:
+ iNdEx = preIndex
+ skippy, err := skipGenerated(dAtA[iNdEx:])
+ if err != nil {
+ return err
+ }
+ if (skippy < 0) || (iNdEx+skippy) < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if (iNdEx + skippy) > l {
+ return io.ErrUnexpectedEOF
+ }
+ iNdEx += skippy
+ }
+ }
+
+ if iNdEx > l {
+ return io.ErrUnexpectedEOF
+ }
+ return nil
+}
+func (m *JSONPatch) Unmarshal(dAtA []byte) error {
+ l := len(dAtA)
+ iNdEx := 0
+ for iNdEx < l {
+ preIndex := iNdEx
+ var wire uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ wire |= uint64(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ fieldNum := int32(wire >> 3)
+ wireType := int(wire & 0x7)
+ if wireType == 4 {
+ return fmt.Errorf("proto: JSONPatch: wiretype end group for non-group")
+ }
+ if fieldNum <= 0 {
+ return fmt.Errorf("proto: JSONPatch: illegal tag %d (wire type %d)", fieldNum, wire)
+ }
+ switch fieldNum {
+ case 1:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field Expression", wireType)
+ }
+ var stringLen uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ stringLen |= uint64(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ intStringLen := int(stringLen)
+ if intStringLen < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ postIndex := iNdEx + intStringLen
+ if postIndex < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ m.Expression = string(dAtA[iNdEx:postIndex])
+ iNdEx = postIndex
+ default:
+ iNdEx = preIndex
+ skippy, err := skipGenerated(dAtA[iNdEx:])
+ if err != nil {
+ return err
+ }
+ if (skippy < 0) || (iNdEx+skippy) < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if (iNdEx + skippy) > l {
+ return io.ErrUnexpectedEOF
+ }
+ iNdEx += skippy
+ }
+ }
+
+ if iNdEx > l {
+ return io.ErrUnexpectedEOF
+ }
+ return nil
+}
+func (m *MatchCondition) Unmarshal(dAtA []byte) error {
+ l := len(dAtA)
+ iNdEx := 0
+ for iNdEx < l {
+ preIndex := iNdEx
+ var wire uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ wire |= uint64(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ fieldNum := int32(wire >> 3)
+ wireType := int(wire & 0x7)
+ if wireType == 4 {
+ return fmt.Errorf("proto: MatchCondition: wiretype end group for non-group")
+ }
+ if fieldNum <= 0 {
+ return fmt.Errorf("proto: MatchCondition: illegal tag %d (wire type %d)", fieldNum, wire)
+ }
+ switch fieldNum {
+ case 1:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field Name", wireType)
+ }
+ var stringLen uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ stringLen |= uint64(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ intStringLen := int(stringLen)
+ if intStringLen < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ postIndex := iNdEx + intStringLen
+ if postIndex < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ m.Name = string(dAtA[iNdEx:postIndex])
+ iNdEx = postIndex
+ case 2:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field Expression", wireType)
+ }
+ var stringLen uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ stringLen |= uint64(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ intStringLen := int(stringLen)
+ if intStringLen < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ postIndex := iNdEx + intStringLen
+ if postIndex < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ m.Expression = string(dAtA[iNdEx:postIndex])
+ iNdEx = postIndex
+ default:
+ iNdEx = preIndex
+ skippy, err := skipGenerated(dAtA[iNdEx:])
+ if err != nil {
+ return err
+ }
+ if (skippy < 0) || (iNdEx+skippy) < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if (iNdEx + skippy) > l {
+ return io.ErrUnexpectedEOF
+ }
+ iNdEx += skippy
+ }
+ }
+
+ if iNdEx > l {
+ return io.ErrUnexpectedEOF
+ }
+ return nil
+}
+func (m *MatchResources) Unmarshal(dAtA []byte) error {
+ l := len(dAtA)
+ iNdEx := 0
+ for iNdEx < l {
+ preIndex := iNdEx
+ var wire uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ wire |= uint64(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ fieldNum := int32(wire >> 3)
+ wireType := int(wire & 0x7)
+ if wireType == 4 {
+ return fmt.Errorf("proto: MatchResources: wiretype end group for non-group")
+ }
+ if fieldNum <= 0 {
+ return fmt.Errorf("proto: MatchResources: illegal tag %d (wire type %d)", fieldNum, wire)
+ }
+ switch fieldNum {
+ case 1:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field NamespaceSelector", wireType)
+ }
+ var msglen int
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ msglen |= int(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ if msglen < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ postIndex := iNdEx + msglen
+ if postIndex < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ if m.NamespaceSelector == nil {
+ m.NamespaceSelector = &v1.LabelSelector{}
+ }
+ if err := m.NamespaceSelector.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
+ return err
+ }
+ iNdEx = postIndex
+ case 2:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field ObjectSelector", wireType)
+ }
+ var msglen int
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ msglen |= int(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ if msglen < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ postIndex := iNdEx + msglen
+ if postIndex < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ if m.ObjectSelector == nil {
+ m.ObjectSelector = &v1.LabelSelector{}
+ }
+ if err := m.ObjectSelector.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
+ return err
+ }
+ iNdEx = postIndex
+ case 3:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field ResourceRules", wireType)
+ }
+ var msglen int
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ msglen |= int(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ if msglen < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ postIndex := iNdEx + msglen
+ if postIndex < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ m.ResourceRules = append(m.ResourceRules, NamedRuleWithOperations{})
+ if err := m.ResourceRules[len(m.ResourceRules)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
+ return err
+ }
+ iNdEx = postIndex
+ case 4:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field ExcludeResourceRules", wireType)
+ }
+ var msglen int
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ msglen |= int(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ if msglen < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ postIndex := iNdEx + msglen
+ if postIndex < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ m.ExcludeResourceRules = append(m.ExcludeResourceRules, NamedRuleWithOperations{})
+ if err := m.ExcludeResourceRules[len(m.ExcludeResourceRules)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
+ return err
+ }
+ iNdEx = postIndex
+ case 7:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field MatchPolicy", wireType)
+ }
+ var stringLen uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ stringLen |= uint64(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ intStringLen := int(stringLen)
+ if intStringLen < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ postIndex := iNdEx + intStringLen
+ if postIndex < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ s := MatchPolicyType(dAtA[iNdEx:postIndex])
+ m.MatchPolicy = &s
+ iNdEx = postIndex
+ default:
+ iNdEx = preIndex
+ skippy, err := skipGenerated(dAtA[iNdEx:])
+ if err != nil {
+ return err
+ }
+ if (skippy < 0) || (iNdEx+skippy) < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if (iNdEx + skippy) > l {
+ return io.ErrUnexpectedEOF
+ }
+ iNdEx += skippy
+ }
+ }
+
+ if iNdEx > l {
+ return io.ErrUnexpectedEOF
+ }
+ return nil
+}
+func (m *MutatingAdmissionPolicy) Unmarshal(dAtA []byte) error {
+ l := len(dAtA)
+ iNdEx := 0
+ for iNdEx < l {
+ preIndex := iNdEx
+ var wire uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ wire |= uint64(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ fieldNum := int32(wire >> 3)
+ wireType := int(wire & 0x7)
+ if wireType == 4 {
+ return fmt.Errorf("proto: MutatingAdmissionPolicy: wiretype end group for non-group")
+ }
+ if fieldNum <= 0 {
+ return fmt.Errorf("proto: MutatingAdmissionPolicy: illegal tag %d (wire type %d)", fieldNum, wire)
+ }
+ switch fieldNum {
+ case 1:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field ObjectMeta", wireType)
+ }
+ var msglen int
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ msglen |= int(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ if msglen < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ postIndex := iNdEx + msglen
+ if postIndex < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ if err := m.ObjectMeta.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
+ return err
+ }
+ iNdEx = postIndex
+ case 2:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field Spec", wireType)
+ }
+ var msglen int
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ msglen |= int(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ if msglen < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ postIndex := iNdEx + msglen
+ if postIndex < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ if err := m.Spec.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
+ return err
+ }
+ iNdEx = postIndex
+ default:
+ iNdEx = preIndex
+ skippy, err := skipGenerated(dAtA[iNdEx:])
+ if err != nil {
+ return err
+ }
+ if (skippy < 0) || (iNdEx+skippy) < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if (iNdEx + skippy) > l {
+ return io.ErrUnexpectedEOF
+ }
+ iNdEx += skippy
+ }
+ }
+
+ if iNdEx > l {
+ return io.ErrUnexpectedEOF
+ }
+ return nil
+}
+func (m *MutatingAdmissionPolicyBinding) Unmarshal(dAtA []byte) error {
+ l := len(dAtA)
+ iNdEx := 0
+ for iNdEx < l {
+ preIndex := iNdEx
+ var wire uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ wire |= uint64(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ fieldNum := int32(wire >> 3)
+ wireType := int(wire & 0x7)
+ if wireType == 4 {
+ return fmt.Errorf("proto: MutatingAdmissionPolicyBinding: wiretype end group for non-group")
+ }
+ if fieldNum <= 0 {
+ return fmt.Errorf("proto: MutatingAdmissionPolicyBinding: illegal tag %d (wire type %d)", fieldNum, wire)
+ }
+ switch fieldNum {
+ case 1:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field ObjectMeta", wireType)
+ }
+ var msglen int
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ msglen |= int(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ if msglen < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ postIndex := iNdEx + msglen
+ if postIndex < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ if err := m.ObjectMeta.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
+ return err
+ }
+ iNdEx = postIndex
+ case 2:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field Spec", wireType)
+ }
+ var msglen int
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ msglen |= int(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ if msglen < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ postIndex := iNdEx + msglen
+ if postIndex < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ if err := m.Spec.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
+ return err
+ }
+ iNdEx = postIndex
+ default:
+ iNdEx = preIndex
+ skippy, err := skipGenerated(dAtA[iNdEx:])
+ if err != nil {
+ return err
+ }
+ if (skippy < 0) || (iNdEx+skippy) < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if (iNdEx + skippy) > l {
+ return io.ErrUnexpectedEOF
+ }
+ iNdEx += skippy
+ }
+ }
+
+ if iNdEx > l {
+ return io.ErrUnexpectedEOF
+ }
+ return nil
+}
+func (m *MutatingAdmissionPolicyBindingList) Unmarshal(dAtA []byte) error {
+ l := len(dAtA)
+ iNdEx := 0
+ for iNdEx < l {
+ preIndex := iNdEx
+ var wire uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ wire |= uint64(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ fieldNum := int32(wire >> 3)
+ wireType := int(wire & 0x7)
+ if wireType == 4 {
+ return fmt.Errorf("proto: MutatingAdmissionPolicyBindingList: wiretype end group for non-group")
+ }
+ if fieldNum <= 0 {
+ return fmt.Errorf("proto: MutatingAdmissionPolicyBindingList: illegal tag %d (wire type %d)", fieldNum, wire)
+ }
+ switch fieldNum {
+ case 1:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field ListMeta", wireType)
+ }
+ var msglen int
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ msglen |= int(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ if msglen < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ postIndex := iNdEx + msglen
+ if postIndex < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ if err := m.ListMeta.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
+ return err
+ }
+ iNdEx = postIndex
+ case 2:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field Items", wireType)
+ }
+ var msglen int
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ msglen |= int(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ if msglen < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ postIndex := iNdEx + msglen
+ if postIndex < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ m.Items = append(m.Items, MutatingAdmissionPolicyBinding{})
+ if err := m.Items[len(m.Items)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
+ return err
+ }
+ iNdEx = postIndex
+ default:
+ iNdEx = preIndex
+ skippy, err := skipGenerated(dAtA[iNdEx:])
+ if err != nil {
+ return err
+ }
+ if (skippy < 0) || (iNdEx+skippy) < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if (iNdEx + skippy) > l {
+ return io.ErrUnexpectedEOF
+ }
+ iNdEx += skippy
+ }
+ }
+
+ if iNdEx > l {
+ return io.ErrUnexpectedEOF
+ }
+ return nil
+}
+func (m *MutatingAdmissionPolicyBindingSpec) Unmarshal(dAtA []byte) error {
+ l := len(dAtA)
+ iNdEx := 0
+ for iNdEx < l {
+ preIndex := iNdEx
+ var wire uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ wire |= uint64(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ fieldNum := int32(wire >> 3)
+ wireType := int(wire & 0x7)
+ if wireType == 4 {
+ return fmt.Errorf("proto: MutatingAdmissionPolicyBindingSpec: wiretype end group for non-group")
+ }
+ if fieldNum <= 0 {
+ return fmt.Errorf("proto: MutatingAdmissionPolicyBindingSpec: illegal tag %d (wire type %d)", fieldNum, wire)
+ }
+ switch fieldNum {
+ case 1:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field PolicyName", wireType)
+ }
+ var stringLen uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ stringLen |= uint64(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ intStringLen := int(stringLen)
+ if intStringLen < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ postIndex := iNdEx + intStringLen
+ if postIndex < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ m.PolicyName = string(dAtA[iNdEx:postIndex])
+ iNdEx = postIndex
+ case 2:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field ParamRef", wireType)
+ }
+ var msglen int
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ msglen |= int(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ if msglen < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ postIndex := iNdEx + msglen
+ if postIndex < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ if m.ParamRef == nil {
+ m.ParamRef = &ParamRef{}
+ }
+ if err := m.ParamRef.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
+ return err
+ }
+ iNdEx = postIndex
+ case 3:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field MatchResources", wireType)
+ }
+ var msglen int
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ msglen |= int(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ if msglen < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ postIndex := iNdEx + msglen
+ if postIndex < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ if m.MatchResources == nil {
+ m.MatchResources = &MatchResources{}
+ }
+ if err := m.MatchResources.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
+ return err
+ }
+ iNdEx = postIndex
+ default:
+ iNdEx = preIndex
+ skippy, err := skipGenerated(dAtA[iNdEx:])
+ if err != nil {
+ return err
+ }
+ if (skippy < 0) || (iNdEx+skippy) < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if (iNdEx + skippy) > l {
+ return io.ErrUnexpectedEOF
+ }
+ iNdEx += skippy
+ }
}
- repeatedStringForConditions += "}"
- s := strings.Join([]string{`&ValidatingAdmissionPolicyStatus{`,
- `ObservedGeneration:` + fmt.Sprintf("%v", this.ObservedGeneration) + `,`,
- `TypeChecking:` + strings.Replace(this.TypeChecking.String(), "TypeChecking", "TypeChecking", 1) + `,`,
- `Conditions:` + repeatedStringForConditions + `,`,
- `}`,
- }, "")
- return s
-}
-func (this *Validation) String() string {
- if this == nil {
- return "nil"
+
+ if iNdEx > l {
+ return io.ErrUnexpectedEOF
}
- s := strings.Join([]string{`&Validation{`,
- `Expression:` + fmt.Sprintf("%v", this.Expression) + `,`,
- `Message:` + fmt.Sprintf("%v", this.Message) + `,`,
- `Reason:` + valueToStringGenerated(this.Reason) + `,`,
- `MessageExpression:` + fmt.Sprintf("%v", this.MessageExpression) + `,`,
- `}`,
- }, "")
- return s
+ return nil
}
-func (this *Variable) String() string {
- if this == nil {
- return "nil"
+func (m *MutatingAdmissionPolicyList) Unmarshal(dAtA []byte) error {
+ l := len(dAtA)
+ iNdEx := 0
+ for iNdEx < l {
+ preIndex := iNdEx
+ var wire uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ wire |= uint64(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ fieldNum := int32(wire >> 3)
+ wireType := int(wire & 0x7)
+ if wireType == 4 {
+ return fmt.Errorf("proto: MutatingAdmissionPolicyList: wiretype end group for non-group")
+ }
+ if fieldNum <= 0 {
+ return fmt.Errorf("proto: MutatingAdmissionPolicyList: illegal tag %d (wire type %d)", fieldNum, wire)
+ }
+ switch fieldNum {
+ case 1:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field ListMeta", wireType)
+ }
+ var msglen int
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ msglen |= int(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ if msglen < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ postIndex := iNdEx + msglen
+ if postIndex < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ if err := m.ListMeta.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
+ return err
+ }
+ iNdEx = postIndex
+ case 2:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field Items", wireType)
+ }
+ var msglen int
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ msglen |= int(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ if msglen < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ postIndex := iNdEx + msglen
+ if postIndex < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ m.Items = append(m.Items, MutatingAdmissionPolicy{})
+ if err := m.Items[len(m.Items)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
+ return err
+ }
+ iNdEx = postIndex
+ default:
+ iNdEx = preIndex
+ skippy, err := skipGenerated(dAtA[iNdEx:])
+ if err != nil {
+ return err
+ }
+ if (skippy < 0) || (iNdEx+skippy) < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if (iNdEx + skippy) > l {
+ return io.ErrUnexpectedEOF
+ }
+ iNdEx += skippy
+ }
}
- s := strings.Join([]string{`&Variable{`,
- `Name:` + fmt.Sprintf("%v", this.Name) + `,`,
- `Expression:` + fmt.Sprintf("%v", this.Expression) + `,`,
- `}`,
- }, "")
- return s
-}
-func valueToStringGenerated(v interface{}) string {
- rv := reflect.ValueOf(v)
- if rv.IsNil() {
- return "nil"
+
+ if iNdEx > l {
+ return io.ErrUnexpectedEOF
}
- pv := reflect.Indirect(rv).Interface()
- return fmt.Sprintf("*%v", pv)
+ return nil
}
-func (m *AuditAnnotation) Unmarshal(dAtA []byte) error {
+func (m *MutatingAdmissionPolicySpec) Unmarshal(dAtA []byte) error {
l := len(dAtA)
iNdEx := 0
for iNdEx < l {
@@ -2101,17 +4461,17 @@ func (m *AuditAnnotation) Unmarshal(dAtA []byte) error {
fieldNum := int32(wire >> 3)
wireType := int(wire & 0x7)
if wireType == 4 {
- return fmt.Errorf("proto: AuditAnnotation: wiretype end group for non-group")
+ return fmt.Errorf("proto: MutatingAdmissionPolicySpec: wiretype end group for non-group")
}
if fieldNum <= 0 {
- return fmt.Errorf("proto: AuditAnnotation: illegal tag %d (wire type %d)", fieldNum, wire)
+ return fmt.Errorf("proto: MutatingAdmissionPolicySpec: illegal tag %d (wire type %d)", fieldNum, wire)
}
switch fieldNum {
case 1:
if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Key", wireType)
+ return fmt.Errorf("proto: wrong wireType = %d for field ParamKind", wireType)
}
- var stringLen uint64
+ var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowGenerated
@@ -2121,29 +4481,69 @@ func (m *AuditAnnotation) Unmarshal(dAtA []byte) error {
}
b := dAtA[iNdEx]
iNdEx++
- stringLen |= uint64(b&0x7F) << shift
+ msglen |= int(b&0x7F) << shift
if b < 0x80 {
break
}
}
- intStringLen := int(stringLen)
- if intStringLen < 0 {
+ if msglen < 0 {
return ErrInvalidLengthGenerated
}
- postIndex := iNdEx + intStringLen
+ postIndex := iNdEx + msglen
if postIndex < 0 {
return ErrInvalidLengthGenerated
}
if postIndex > l {
return io.ErrUnexpectedEOF
}
- m.Key = string(dAtA[iNdEx:postIndex])
+ if m.ParamKind == nil {
+ m.ParamKind = &ParamKind{}
+ }
+ if err := m.ParamKind.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
+ return err
+ }
+ iNdEx = postIndex
+ case 2:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field MatchConstraints", wireType)
+ }
+ var msglen int
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ msglen |= int(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ if msglen < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ postIndex := iNdEx + msglen
+ if postIndex < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ if m.MatchConstraints == nil {
+ m.MatchConstraints = &MatchResources{}
+ }
+ if err := m.MatchConstraints.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
+ return err
+ }
iNdEx = postIndex
- case 2:
+ case 3:
if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field ValueExpression", wireType)
+ return fmt.Errorf("proto: wrong wireType = %d for field Variables", wireType)
}
- var stringLen uint64
+ var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowGenerated
@@ -2153,79 +4553,31 @@ func (m *AuditAnnotation) Unmarshal(dAtA []byte) error {
}
b := dAtA[iNdEx]
iNdEx++
- stringLen |= uint64(b&0x7F) << shift
+ msglen |= int(b&0x7F) << shift
if b < 0x80 {
break
}
}
- intStringLen := int(stringLen)
- if intStringLen < 0 {
+ if msglen < 0 {
return ErrInvalidLengthGenerated
}
- postIndex := iNdEx + intStringLen
+ postIndex := iNdEx + msglen
if postIndex < 0 {
return ErrInvalidLengthGenerated
}
if postIndex > l {
return io.ErrUnexpectedEOF
}
- m.ValueExpression = string(dAtA[iNdEx:postIndex])
- iNdEx = postIndex
- default:
- iNdEx = preIndex
- skippy, err := skipGenerated(dAtA[iNdEx:])
- if err != nil {
+ m.Variables = append(m.Variables, Variable{})
+ if err := m.Variables[len(m.Variables)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
return err
}
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthGenerated
- }
- if (iNdEx + skippy) > l {
- return io.ErrUnexpectedEOF
- }
- iNdEx += skippy
- }
- }
-
- if iNdEx > l {
- return io.ErrUnexpectedEOF
- }
- return nil
-}
-func (m *ExpressionWarning) Unmarshal(dAtA []byte) error {
- l := len(dAtA)
- iNdEx := 0
- for iNdEx < l {
- preIndex := iNdEx
- var wire uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- wire |= uint64(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- fieldNum := int32(wire >> 3)
- wireType := int(wire & 0x7)
- if wireType == 4 {
- return fmt.Errorf("proto: ExpressionWarning: wiretype end group for non-group")
- }
- if fieldNum <= 0 {
- return fmt.Errorf("proto: ExpressionWarning: illegal tag %d (wire type %d)", fieldNum, wire)
- }
- switch fieldNum {
- case 2:
+ iNdEx = postIndex
+ case 4:
if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field FieldRef", wireType)
+ return fmt.Errorf("proto: wrong wireType = %d for field Mutations", wireType)
}
- var stringLen uint64
+ var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowGenerated
@@ -2235,27 +4587,29 @@ func (m *ExpressionWarning) Unmarshal(dAtA []byte) error {
}
b := dAtA[iNdEx]
iNdEx++
- stringLen |= uint64(b&0x7F) << shift
+ msglen |= int(b&0x7F) << shift
if b < 0x80 {
break
}
}
- intStringLen := int(stringLen)
- if intStringLen < 0 {
+ if msglen < 0 {
return ErrInvalidLengthGenerated
}
- postIndex := iNdEx + intStringLen
+ postIndex := iNdEx + msglen
if postIndex < 0 {
return ErrInvalidLengthGenerated
}
if postIndex > l {
return io.ErrUnexpectedEOF
}
- m.FieldRef = string(dAtA[iNdEx:postIndex])
+ m.Mutations = append(m.Mutations, Mutation{})
+ if err := m.Mutations[len(m.Mutations)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
+ return err
+ }
iNdEx = postIndex
- case 3:
+ case 5:
if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Warning", wireType)
+ return fmt.Errorf("proto: wrong wireType = %d for field FailurePolicy", wireType)
}
var stringLen uint64
for shift := uint(0); ; shift += 7 {
@@ -2283,63 +4637,14 @@ func (m *ExpressionWarning) Unmarshal(dAtA []byte) error {
if postIndex > l {
return io.ErrUnexpectedEOF
}
- m.Warning = string(dAtA[iNdEx:postIndex])
+ s := FailurePolicyType(dAtA[iNdEx:postIndex])
+ m.FailurePolicy = &s
iNdEx = postIndex
- default:
- iNdEx = preIndex
- skippy, err := skipGenerated(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthGenerated
- }
- if (iNdEx + skippy) > l {
- return io.ErrUnexpectedEOF
- }
- iNdEx += skippy
- }
- }
-
- if iNdEx > l {
- return io.ErrUnexpectedEOF
- }
- return nil
-}
-func (m *MatchCondition) Unmarshal(dAtA []byte) error {
- l := len(dAtA)
- iNdEx := 0
- for iNdEx < l {
- preIndex := iNdEx
- var wire uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- wire |= uint64(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- fieldNum := int32(wire >> 3)
- wireType := int(wire & 0x7)
- if wireType == 4 {
- return fmt.Errorf("proto: MatchCondition: wiretype end group for non-group")
- }
- if fieldNum <= 0 {
- return fmt.Errorf("proto: MatchCondition: illegal tag %d (wire type %d)", fieldNum, wire)
- }
- switch fieldNum {
- case 1:
+ case 6:
if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Name", wireType)
+ return fmt.Errorf("proto: wrong wireType = %d for field MatchConditions", wireType)
}
- var stringLen uint64
+ var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowGenerated
@@ -2349,27 +4654,29 @@ func (m *MatchCondition) Unmarshal(dAtA []byte) error {
}
b := dAtA[iNdEx]
iNdEx++
- stringLen |= uint64(b&0x7F) << shift
+ msglen |= int(b&0x7F) << shift
if b < 0x80 {
break
}
}
- intStringLen := int(stringLen)
- if intStringLen < 0 {
+ if msglen < 0 {
return ErrInvalidLengthGenerated
}
- postIndex := iNdEx + intStringLen
+ postIndex := iNdEx + msglen
if postIndex < 0 {
return ErrInvalidLengthGenerated
}
if postIndex > l {
return io.ErrUnexpectedEOF
}
- m.Name = string(dAtA[iNdEx:postIndex])
+ m.MatchConditions = append(m.MatchConditions, MatchCondition{})
+ if err := m.MatchConditions[len(m.MatchConditions)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
+ return err
+ }
iNdEx = postIndex
- case 2:
+ case 7:
if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Expression", wireType)
+ return fmt.Errorf("proto: wrong wireType = %d for field ReinvocationPolicy", wireType)
}
var stringLen uint64
for shift := uint(0); ; shift += 7 {
@@ -2397,7 +4704,7 @@ func (m *MatchCondition) Unmarshal(dAtA []byte) error {
if postIndex > l {
return io.ErrUnexpectedEOF
}
- m.Expression = string(dAtA[iNdEx:postIndex])
+ m.ReinvocationPolicy = k8s_io_api_admissionregistration_v1.ReinvocationPolicyType(dAtA[iNdEx:postIndex])
iNdEx = postIndex
default:
iNdEx = preIndex
@@ -2420,7 +4727,7 @@ func (m *MatchCondition) Unmarshal(dAtA []byte) error {
}
return nil
}
-func (m *MatchResources) Unmarshal(dAtA []byte) error {
+func (m *Mutation) Unmarshal(dAtA []byte) error {
l := len(dAtA)
iNdEx := 0
for iNdEx < l {
@@ -2443,53 +4750,17 @@ func (m *MatchResources) Unmarshal(dAtA []byte) error {
fieldNum := int32(wire >> 3)
wireType := int(wire & 0x7)
if wireType == 4 {
- return fmt.Errorf("proto: MatchResources: wiretype end group for non-group")
+ return fmt.Errorf("proto: Mutation: wiretype end group for non-group")
}
if fieldNum <= 0 {
- return fmt.Errorf("proto: MatchResources: illegal tag %d (wire type %d)", fieldNum, wire)
+ return fmt.Errorf("proto: Mutation: illegal tag %d (wire type %d)", fieldNum, wire)
}
switch fieldNum {
- case 1:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field NamespaceSelector", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthGenerated
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthGenerated
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if m.NamespaceSelector == nil {
- m.NamespaceSelector = &v1.LabelSelector{}
- }
- if err := m.NamespaceSelector.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
case 2:
if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field ObjectSelector", wireType)
+ return fmt.Errorf("proto: wrong wireType = %d for field PatchType", wireType)
}
- var msglen int
+ var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowGenerated
@@ -2499,31 +4770,27 @@ func (m *MatchResources) Unmarshal(dAtA []byte) error {
}
b := dAtA[iNdEx]
iNdEx++
- msglen |= int(b&0x7F) << shift
+ stringLen |= uint64(b&0x7F) << shift
if b < 0x80 {
break
}
}
- if msglen < 0 {
+ intStringLen := int(stringLen)
+ if intStringLen < 0 {
return ErrInvalidLengthGenerated
}
- postIndex := iNdEx + msglen
+ postIndex := iNdEx + intStringLen
if postIndex < 0 {
return ErrInvalidLengthGenerated
}
if postIndex > l {
return io.ErrUnexpectedEOF
}
- if m.ObjectSelector == nil {
- m.ObjectSelector = &v1.LabelSelector{}
- }
- if err := m.ObjectSelector.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
+ m.PatchType = PatchType(dAtA[iNdEx:postIndex])
iNdEx = postIndex
case 3:
if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field ResourceRules", wireType)
+ return fmt.Errorf("proto: wrong wireType = %d for field ApplyConfiguration", wireType)
}
var msglen int
for shift := uint(0); ; shift += 7 {
@@ -2550,14 +4817,16 @@ func (m *MatchResources) Unmarshal(dAtA []byte) error {
if postIndex > l {
return io.ErrUnexpectedEOF
}
- m.ResourceRules = append(m.ResourceRules, NamedRuleWithOperations{})
- if err := m.ResourceRules[len(m.ResourceRules)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
+ if m.ApplyConfiguration == nil {
+ m.ApplyConfiguration = &ApplyConfiguration{}
+ }
+ if err := m.ApplyConfiguration.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
return err
}
iNdEx = postIndex
case 4:
if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field ExcludeResourceRules", wireType)
+ return fmt.Errorf("proto: wrong wireType = %d for field JSONPatch", wireType)
}
var msglen int
for shift := uint(0); ; shift += 7 {
@@ -2584,43 +4853,12 @@ func (m *MatchResources) Unmarshal(dAtA []byte) error {
if postIndex > l {
return io.ErrUnexpectedEOF
}
- m.ExcludeResourceRules = append(m.ExcludeResourceRules, NamedRuleWithOperations{})
- if err := m.ExcludeResourceRules[len(m.ExcludeResourceRules)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- case 7:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field MatchPolicy", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- stringLen |= uint64(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- intStringLen := int(stringLen)
- if intStringLen < 0 {
- return ErrInvalidLengthGenerated
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthGenerated
+ if m.JSONPatch == nil {
+ m.JSONPatch = &JSONPatch{}
}
- if postIndex > l {
- return io.ErrUnexpectedEOF
+ if err := m.JSONPatch.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
+ return err
}
- s := MatchPolicyType(dAtA[iNdEx:postIndex])
- m.MatchPolicy = &s
iNdEx = postIndex
default:
iNdEx = preIndex
diff --git a/vendor/k8s.io/api/admissionregistration/v1alpha1/generated.proto b/vendor/k8s.io/api/admissionregistration/v1alpha1/generated.proto
index d5974d5e..88344ce8 100644
--- a/vendor/k8s.io/api/admissionregistration/v1alpha1/generated.proto
+++ b/vendor/k8s.io/api/admissionregistration/v1alpha1/generated.proto
@@ -29,6 +29,51 @@ import "k8s.io/apimachinery/pkg/runtime/schema/generated.proto";
// Package-wide variables from generator "generated".
option go_package = "k8s.io/api/admissionregistration/v1alpha1";
+// ApplyConfiguration defines the desired configuration values of an object.
+message ApplyConfiguration {
+ // expression will be evaluated by CEL to create an apply configuration.
+ // ref: https://github.com/google/cel-spec
+ //
+ // Apply configurations are declared in CEL using object initialization. For example, this CEL expression
+ // returns an apply configuration to set a single field:
+ //
+ // Object{
+ // spec: Object.spec{
+ // serviceAccountName: "example"
+ // }
+ // }
+ //
+ // Apply configurations may not modify atomic structs, maps or arrays due to the risk of accidental deletion of
+ // values not included in the apply configuration.
+ //
+ // CEL expressions have access to the object types needed to create apply configurations:
+ //
+ // - 'Object' - CEL type of the resource object.
+ // - 'Object.' - CEL type of object field (such as 'Object.spec')
+ // - 'Object.....` - CEL type of nested field (such as 'Object.spec.containers')
+ //
+ // CEL expressions have access to the contents of the API request, organized into CEL variables as well as some other useful variables:
+ //
+ // - 'object' - The object from the incoming request. The value is null for DELETE requests.
+ // - 'oldObject' - The existing object. The value is null for CREATE requests.
+ // - 'request' - Attributes of the API request([ref](/pkg/apis/admission/types.go#AdmissionRequest)).
+ // - 'params' - Parameter resource referred to by the policy binding being evaluated. Only populated if the policy has a ParamKind.
+ // - 'namespaceObject' - The namespace object that the incoming object belongs to. The value is null for cluster-scoped resources.
+ // - 'variables' - Map of composited variables, from its name to its lazily evaluated value.
+ // For example, a variable named 'foo' can be accessed as 'variables.foo'.
+ // - 'authorizer' - A CEL Authorizer. May be used to perform authorization checks for the principal (user or service account) of the request.
+ // See https://pkg.go.dev/k8s.io/apiserver/pkg/cel/library#Authz
+ // - 'authorizer.requestResource' - A CEL ResourceCheck constructed from the 'authorizer' and configured with the
+ // request resource.
+ //
+ // The `apiVersion`, `kind`, `metadata.name` and `metadata.generateName` are always accessible from the root of the
+ // object. No other metadata properties are accessible.
+ //
+ // Only property names of the form `[a-zA-Z_.-/][a-zA-Z0-9_.-/]*` are accessible.
+ // Required.
+ optional string expression = 1;
+}
+
// AuditAnnotation describes how to produce an audit annotation for an API request.
message AuditAnnotation {
// key specifies the audit annotation key. The audit annotation keys of
@@ -79,6 +124,75 @@ message ExpressionWarning {
optional string warning = 3;
}
+// JSONPatch defines a JSON Patch.
+message JSONPatch {
+ // expression will be evaluated by CEL to create a [JSON patch](https://jsonpatch.com/).
+ // ref: https://github.com/google/cel-spec
+ //
+ // expression must return an array of JSONPatch values.
+ //
+ // For example, this CEL expression returns a JSON patch to conditionally modify a value:
+ //
+ // [
+ // JSONPatch{op: "test", path: "/spec/example", value: "Red"},
+ // JSONPatch{op: "replace", path: "/spec/example", value: "Green"}
+ // ]
+ //
+ // To define an object for the patch value, use Object types. For example:
+ //
+ // [
+ // JSONPatch{
+ // op: "add",
+ // path: "/spec/selector",
+ // value: Object.spec.selector{matchLabels: {"environment": "test"}}
+ // }
+ // ]
+ //
+ // To use strings containing '/' and '~' as JSONPatch path keys, use "jsonpatch.escapeKey". For example:
+ //
+ // [
+ // JSONPatch{
+ // op: "add",
+ // path: "/metadata/labels/" + jsonpatch.escapeKey("example.com/environment"),
+ // value: "test"
+ // },
+ // ]
+ //
+ // CEL expressions have access to the types needed to create JSON patches and objects:
+ //
+ // - 'JSONPatch' - CEL type of JSON Patch operations. JSONPatch has the fields 'op', 'from', 'path' and 'value'.
+ // See [JSON patch](https://jsonpatch.com/) for more details. The 'value' field may be set to any of: string,
+ // integer, array, map or object. If set, the 'path' and 'from' fields must be set to a
+ // [JSON pointer](https://datatracker.ietf.org/doc/html/rfc6901/) string, where the 'jsonpatch.escapeKey()' CEL
+ // function may be used to escape path keys containing '/' and '~'.
+ // - 'Object' - CEL type of the resource object.
+ // - 'Object.' - CEL type of object field (such as 'Object.spec')
+ // - 'Object.....` - CEL type of nested field (such as 'Object.spec.containers')
+ //
+ // CEL expressions have access to the contents of the API request, organized into CEL variables as well as some other useful variables:
+ //
+ // - 'object' - The object from the incoming request. The value is null for DELETE requests.
+ // - 'oldObject' - The existing object. The value is null for CREATE requests.
+ // - 'request' - Attributes of the API request([ref](/pkg/apis/admission/types.go#AdmissionRequest)).
+ // - 'params' - Parameter resource referred to by the policy binding being evaluated. Only populated if the policy has a ParamKind.
+ // - 'namespaceObject' - The namespace object that the incoming object belongs to. The value is null for cluster-scoped resources.
+ // - 'variables' - Map of composited variables, from its name to its lazily evaluated value.
+ // For example, a variable named 'foo' can be accessed as 'variables.foo'.
+ // - 'authorizer' - A CEL Authorizer. May be used to perform authorization checks for the principal (user or service account) of the request.
+ // See https://pkg.go.dev/k8s.io/apiserver/pkg/cel/library#Authz
+ // - 'authorizer.requestResource' - A CEL ResourceCheck constructed from the 'authorizer' and configured with the
+ // request resource.
+ //
+ // CEL expressions have access to [Kubernetes CEL function libraries](https://kubernetes.io/docs/reference/using-api/cel/#cel-options-language-features-and-libraries)
+ // as well as:
+ //
+ // - 'jsonpatch.escapeKey' - Performs JSONPatch key escaping. '~' and '/' are escaped as '~0' and `~1' respectively).
+ //
+ // Only property names of the form `[a-zA-Z_.-/][a-zA-Z0-9_.-/]*` are accessible.
+ // Required.
+ optional string expression = 1;
+}
+
message MatchCondition {
// Name is an identifier for this match condition, used for strategic merging of MatchConditions,
// as well as providing an identifier for logging purposes. A good name should be descriptive of
@@ -202,6 +316,193 @@ message MatchResources {
optional string matchPolicy = 7;
}
+// MutatingAdmissionPolicy describes the definition of an admission mutation policy that mutates the object coming into admission chain.
+message MutatingAdmissionPolicy {
+ // Standard object metadata; More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata.
+ // +optional
+ optional .k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1;
+
+ // Specification of the desired behavior of the MutatingAdmissionPolicy.
+ optional MutatingAdmissionPolicySpec spec = 2;
+}
+
+// MutatingAdmissionPolicyBinding binds the MutatingAdmissionPolicy with parametrized resources.
+// MutatingAdmissionPolicyBinding and the optional parameter resource together define how cluster administrators
+// configure policies for clusters.
+//
+// For a given admission request, each binding will cause its policy to be
+// evaluated N times, where N is 1 for policies/bindings that don't use
+// params, otherwise N is the number of parameters selected by the binding.
+// Each evaluation is constrained by a [runtime cost budget](https://kubernetes.io/docs/reference/using-api/cel/#runtime-cost-budget).
+//
+// Adding/removing policies, bindings, or params can not affect whether a
+// given (policy, binding, param) combination is within its own CEL budget.
+message MutatingAdmissionPolicyBinding {
+ // Standard object metadata; More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata.
+ // +optional
+ optional .k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1;
+
+ // Specification of the desired behavior of the MutatingAdmissionPolicyBinding.
+ optional MutatingAdmissionPolicyBindingSpec spec = 2;
+}
+
+// MutatingAdmissionPolicyBindingList is a list of MutatingAdmissionPolicyBinding.
+message MutatingAdmissionPolicyBindingList {
+ // Standard list metadata.
+ // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
+ // +optional
+ optional .k8s.io.apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1;
+
+ // List of PolicyBinding.
+ repeated MutatingAdmissionPolicyBinding items = 2;
+}
+
+// MutatingAdmissionPolicyBindingSpec is the specification of the MutatingAdmissionPolicyBinding.
+message MutatingAdmissionPolicyBindingSpec {
+ // policyName references a MutatingAdmissionPolicy name which the MutatingAdmissionPolicyBinding binds to.
+ // If the referenced resource does not exist, this binding is considered invalid and will be ignored
+ // Required.
+ optional string policyName = 1;
+
+ // paramRef specifies the parameter resource used to configure the admission control policy.
+ // It should point to a resource of the type specified in spec.ParamKind of the bound MutatingAdmissionPolicy.
+ // If the policy specifies a ParamKind and the resource referred to by ParamRef does not exist, this binding is considered mis-configured and the FailurePolicy of the MutatingAdmissionPolicy applied.
+ // If the policy does not specify a ParamKind then this field is ignored, and the rules are evaluated without a param.
+ // +optional
+ optional ParamRef paramRef = 2;
+
+ // matchResources limits what resources match this binding and may be mutated by it.
+ // Note that if matchResources matches a resource, the resource must also match a policy's matchConstraints and
+ // matchConditions before the resource may be mutated.
+ // When matchResources is unset, it does not constrain resource matching, and only the policy's matchConstraints
+ // and matchConditions must match for the resource to be mutated.
+ // Additionally, matchResources.resourceRules are optional and do not constraint matching when unset.
+ // Note that this is differs from MutatingAdmissionPolicy matchConstraints, where resourceRules are required.
+ // The CREATE, UPDATE and CONNECT operations are allowed. The DELETE operation may not be matched.
+ // '*' matches CREATE, UPDATE and CONNECT.
+ // +optional
+ optional MatchResources matchResources = 3;
+}
+
+// MutatingAdmissionPolicyList is a list of MutatingAdmissionPolicy.
+message MutatingAdmissionPolicyList {
+ // Standard list metadata.
+ // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
+ // +optional
+ optional .k8s.io.apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1;
+
+ // List of ValidatingAdmissionPolicy.
+ repeated MutatingAdmissionPolicy items = 2;
+}
+
+// MutatingAdmissionPolicySpec is the specification of the desired behavior of the admission policy.
+message MutatingAdmissionPolicySpec {
+ // paramKind specifies the kind of resources used to parameterize this policy.
+ // If absent, there are no parameters for this policy and the param CEL variable will not be provided to validation expressions.
+ // If paramKind refers to a non-existent kind, this policy definition is mis-configured and the FailurePolicy is applied.
+ // If paramKind is specified but paramRef is unset in MutatingAdmissionPolicyBinding, the params variable will be null.
+ // +optional
+ optional ParamKind paramKind = 1;
+
+ // matchConstraints specifies what resources this policy is designed to validate.
+ // The MutatingAdmissionPolicy cares about a request if it matches _all_ Constraints.
+ // However, in order to prevent clusters from being put into an unstable state that cannot be recovered from via the API
+ // MutatingAdmissionPolicy cannot match MutatingAdmissionPolicy and MutatingAdmissionPolicyBinding.
+ // The CREATE, UPDATE and CONNECT operations are allowed. The DELETE operation may not be matched.
+ // '*' matches CREATE, UPDATE and CONNECT.
+ // Required.
+ optional MatchResources matchConstraints = 2;
+
+ // variables contain definitions of variables that can be used in composition of other expressions.
+ // Each variable is defined as a named CEL expression.
+ // The variables defined here will be available under `variables` in other expressions of the policy
+ // except matchConditions because matchConditions are evaluated before the rest of the policy.
+ //
+ // The expression of a variable can refer to other variables defined earlier in the list but not those after.
+ // Thus, variables must be sorted by the order of first appearance and acyclic.
+ // +listType=atomic
+ // +optional
+ repeated Variable variables = 3;
+
+ // mutations contain operations to perform on matching objects.
+ // mutations may not be empty; a minimum of one mutation is required.
+ // mutations are evaluated in order, and are reinvoked according to
+ // the reinvocationPolicy.
+ // The mutations of a policy are invoked for each binding of this policy
+ // and reinvocation of mutations occurs on a per binding basis.
+ //
+ // +listType=atomic
+ // +optional
+ repeated Mutation mutations = 4;
+
+ // failurePolicy defines how to handle failures for the admission policy. Failures can
+ // occur from CEL expression parse errors, type check errors, runtime errors and invalid
+ // or mis-configured policy definitions or bindings.
+ //
+ // A policy is invalid if paramKind refers to a non-existent Kind.
+ // A binding is invalid if paramRef.name refers to a non-existent resource.
+ //
+ // failurePolicy does not define how validations that evaluate to false are handled.
+ //
+ // Allowed values are Ignore or Fail. Defaults to Fail.
+ // +optional
+ optional string failurePolicy = 5;
+
+ // matchConditions is a list of conditions that must be met for a request to be validated.
+ // Match conditions filter requests that have already been matched by the matchConstraints.
+ // An empty list of matchConditions matches all requests.
+ // There are a maximum of 64 match conditions allowed.
+ //
+ // If a parameter object is provided, it can be accessed via the `params` handle in the same
+ // manner as validation expressions.
+ //
+ // The exact matching logic is (in order):
+ // 1. If ANY matchCondition evaluates to FALSE, the policy is skipped.
+ // 2. If ALL matchConditions evaluate to TRUE, the policy is evaluated.
+ // 3. If any matchCondition evaluates to an error (but none are FALSE):
+ // - If failurePolicy=Fail, reject the request
+ // - If failurePolicy=Ignore, the policy is skipped
+ //
+ // +patchMergeKey=name
+ // +patchStrategy=merge
+ // +listType=map
+ // +listMapKey=name
+ // +optional
+ repeated MatchCondition matchConditions = 6;
+
+ // reinvocationPolicy indicates whether mutations may be called multiple times per MutatingAdmissionPolicyBinding
+ // as part of a single admission evaluation.
+ // Allowed values are "Never" and "IfNeeded".
+ //
+ // Never: These mutations will not be called more than once per binding in a single admission evaluation.
+ //
+ // IfNeeded: These mutations may be invoked more than once per binding for a single admission request and there is no guarantee of
+ // order with respect to other admission plugins, admission webhooks, bindings of this policy and admission policies. Mutations are only
+ // reinvoked when mutations change the object after this mutation is invoked.
+ // Required.
+ optional string reinvocationPolicy = 7;
+}
+
+// Mutation specifies the CEL expression which is used to apply the Mutation.
+message Mutation {
+ // patchType indicates the patch strategy used.
+ // Allowed values are "ApplyConfiguration" and "JSONPatch".
+ // Required.
+ //
+ // +unionDiscriminator
+ optional string patchType = 2;
+
+ // applyConfiguration defines the desired configuration values of an object.
+ // The configuration is applied to the admission object using
+ // [structured merge diff](https://github.com/kubernetes-sigs/structured-merge-diff).
+ // A CEL expression is used to create apply configuration.
+ optional ApplyConfiguration applyConfiguration = 3;
+
+ // jsonPatch defines a [JSON patch](https://jsonpatch.com/) operation to perform a mutation to the object.
+ // A CEL expression is used to create the JSON patch.
+ optional JSONPatch jsonPatch = 4;
+}
+
// NamedRuleWithOperations is a tuple of Operations and Resources with ResourceNames.
// +structType=atomic
message NamedRuleWithOperations {
diff --git a/vendor/k8s.io/api/admissionregistration/v1alpha1/register.go b/vendor/k8s.io/api/admissionregistration/v1alpha1/register.go
index d4c2fbe8..eead376c 100644
--- a/vendor/k8s.io/api/admissionregistration/v1alpha1/register.go
+++ b/vendor/k8s.io/api/admissionregistration/v1alpha1/register.go
@@ -50,6 +50,10 @@ func addKnownTypes(scheme *runtime.Scheme) error {
&ValidatingAdmissionPolicyList{},
&ValidatingAdmissionPolicyBinding{},
&ValidatingAdmissionPolicyBindingList{},
+ &MutatingAdmissionPolicy{},
+ &MutatingAdmissionPolicyList{},
+ &MutatingAdmissionPolicyBinding{},
+ &MutatingAdmissionPolicyBindingList{},
)
metav1.AddToGroupVersion(scheme, SchemeGroupVersion)
return nil
diff --git a/vendor/k8s.io/api/admissionregistration/v1alpha1/types.go b/vendor/k8s.io/api/admissionregistration/v1alpha1/types.go
index 78d918bc..ee50fbe2 100644
--- a/vendor/k8s.io/api/admissionregistration/v1alpha1/types.go
+++ b/vendor/k8s.io/api/admissionregistration/v1alpha1/types.go
@@ -663,3 +663,346 @@ const (
Delete OperationType = v1.Delete
Connect OperationType = v1.Connect
)
+
+// +genclient
+// +genclient:nonNamespaced
+// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
+// +k8s:prerelease-lifecycle-gen:introduced=1.32
+
+// MutatingAdmissionPolicy describes the definition of an admission mutation policy that mutates the object coming into admission chain.
+type MutatingAdmissionPolicy struct {
+ metav1.TypeMeta `json:",inline"`
+ // Standard object metadata; More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata.
+ // +optional
+ metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
+ // Specification of the desired behavior of the MutatingAdmissionPolicy.
+ Spec MutatingAdmissionPolicySpec `json:"spec,omitempty" protobuf:"bytes,2,opt,name=spec"`
+}
+
+// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
+// +k8s:prerelease-lifecycle-gen:introduced=1.32
+
+// MutatingAdmissionPolicyList is a list of MutatingAdmissionPolicy.
+type MutatingAdmissionPolicyList struct {
+ metav1.TypeMeta `json:",inline"`
+ // Standard list metadata.
+ // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
+ // +optional
+ metav1.ListMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
+ // List of ValidatingAdmissionPolicy.
+ Items []MutatingAdmissionPolicy `json:"items" protobuf:"bytes,2,rep,name=items"`
+}
+
+// MutatingAdmissionPolicySpec is the specification of the desired behavior of the admission policy.
+type MutatingAdmissionPolicySpec struct {
+ // paramKind specifies the kind of resources used to parameterize this policy.
+ // If absent, there are no parameters for this policy and the param CEL variable will not be provided to validation expressions.
+ // If paramKind refers to a non-existent kind, this policy definition is mis-configured and the FailurePolicy is applied.
+ // If paramKind is specified but paramRef is unset in MutatingAdmissionPolicyBinding, the params variable will be null.
+ // +optional
+ ParamKind *ParamKind `json:"paramKind,omitempty" protobuf:"bytes,1,rep,name=paramKind"`
+
+ // matchConstraints specifies what resources this policy is designed to validate.
+ // The MutatingAdmissionPolicy cares about a request if it matches _all_ Constraints.
+ // However, in order to prevent clusters from being put into an unstable state that cannot be recovered from via the API
+ // MutatingAdmissionPolicy cannot match MutatingAdmissionPolicy and MutatingAdmissionPolicyBinding.
+ // The CREATE, UPDATE and CONNECT operations are allowed. The DELETE operation may not be matched.
+ // '*' matches CREATE, UPDATE and CONNECT.
+ // Required.
+ MatchConstraints *MatchResources `json:"matchConstraints,omitempty" protobuf:"bytes,2,rep,name=matchConstraints"`
+
+ // variables contain definitions of variables that can be used in composition of other expressions.
+ // Each variable is defined as a named CEL expression.
+ // The variables defined here will be available under `variables` in other expressions of the policy
+ // except matchConditions because matchConditions are evaluated before the rest of the policy.
+ //
+ // The expression of a variable can refer to other variables defined earlier in the list but not those after.
+ // Thus, variables must be sorted by the order of first appearance and acyclic.
+ // +listType=atomic
+ // +optional
+ Variables []Variable `json:"variables,omitempty" protobuf:"bytes,3,rep,name=variables"`
+
+ // mutations contain operations to perform on matching objects.
+ // mutations may not be empty; a minimum of one mutation is required.
+ // mutations are evaluated in order, and are reinvoked according to
+ // the reinvocationPolicy.
+ // The mutations of a policy are invoked for each binding of this policy
+ // and reinvocation of mutations occurs on a per binding basis.
+ //
+ // +listType=atomic
+ // +optional
+ Mutations []Mutation `json:"mutations,omitempty" protobuf:"bytes,4,rep,name=mutations"`
+
+ // failurePolicy defines how to handle failures for the admission policy. Failures can
+ // occur from CEL expression parse errors, type check errors, runtime errors and invalid
+ // or mis-configured policy definitions or bindings.
+ //
+ // A policy is invalid if paramKind refers to a non-existent Kind.
+ // A binding is invalid if paramRef.name refers to a non-existent resource.
+ //
+ // failurePolicy does not define how validations that evaluate to false are handled.
+ //
+ // Allowed values are Ignore or Fail. Defaults to Fail.
+ // +optional
+ FailurePolicy *FailurePolicyType `json:"failurePolicy,omitempty" protobuf:"bytes,5,opt,name=failurePolicy,casttype=FailurePolicyType"`
+
+ // matchConditions is a list of conditions that must be met for a request to be validated.
+ // Match conditions filter requests that have already been matched by the matchConstraints.
+ // An empty list of matchConditions matches all requests.
+ // There are a maximum of 64 match conditions allowed.
+ //
+ // If a parameter object is provided, it can be accessed via the `params` handle in the same
+ // manner as validation expressions.
+ //
+ // The exact matching logic is (in order):
+ // 1. If ANY matchCondition evaluates to FALSE, the policy is skipped.
+ // 2. If ALL matchConditions evaluate to TRUE, the policy is evaluated.
+ // 3. If any matchCondition evaluates to an error (but none are FALSE):
+ // - If failurePolicy=Fail, reject the request
+ // - If failurePolicy=Ignore, the policy is skipped
+ //
+ // +patchMergeKey=name
+ // +patchStrategy=merge
+ // +listType=map
+ // +listMapKey=name
+ // +optional
+ MatchConditions []MatchCondition `json:"matchConditions,omitempty" patchStrategy:"merge" patchMergeKey:"name" protobuf:"bytes,6,rep,name=matchConditions"`
+
+ // reinvocationPolicy indicates whether mutations may be called multiple times per MutatingAdmissionPolicyBinding
+ // as part of a single admission evaluation.
+ // Allowed values are "Never" and "IfNeeded".
+ //
+ // Never: These mutations will not be called more than once per binding in a single admission evaluation.
+ //
+ // IfNeeded: These mutations may be invoked more than once per binding for a single admission request and there is no guarantee of
+ // order with respect to other admission plugins, admission webhooks, bindings of this policy and admission policies. Mutations are only
+ // reinvoked when mutations change the object after this mutation is invoked.
+ // Required.
+ ReinvocationPolicy ReinvocationPolicyType `json:"reinvocationPolicy,omitempty" protobuf:"bytes,7,opt,name=reinvocationPolicy,casttype=ReinvocationPolicyType"`
+}
+
+// Mutation specifies the CEL expression which is used to apply the Mutation.
+type Mutation struct {
+ // patchType indicates the patch strategy used.
+ // Allowed values are "ApplyConfiguration" and "JSONPatch".
+ // Required.
+ //
+ // +unionDiscriminator
+ PatchType PatchType `json:"patchType" protobuf:"bytes,2,opt,name=patchType,casttype=PatchType"`
+
+ // applyConfiguration defines the desired configuration values of an object.
+ // The configuration is applied to the admission object using
+ // [structured merge diff](https://github.com/kubernetes-sigs/structured-merge-diff).
+ // A CEL expression is used to create apply configuration.
+ ApplyConfiguration *ApplyConfiguration `json:"applyConfiguration,omitempty" protobuf:"bytes,3,opt,name=applyConfiguration"`
+
+ // jsonPatch defines a [JSON patch](https://jsonpatch.com/) operation to perform a mutation to the object.
+ // A CEL expression is used to create the JSON patch.
+ JSONPatch *JSONPatch `json:"jsonPatch,omitempty" protobuf:"bytes,4,opt,name=jsonPatch"`
+}
+
+// PatchType specifies the type of patch operation for a mutation.
+// +enum
+type PatchType string
+
+const (
+ // ApplyConfiguration indicates that the mutation is using apply configuration to mutate the object.
+ PatchTypeApplyConfiguration PatchType = "ApplyConfiguration"
+ // JSONPatch indicates that the object is mutated through JSON Patch.
+ PatchTypeJSONPatch PatchType = "JSONPatch"
+)
+
+// ApplyConfiguration defines the desired configuration values of an object.
+type ApplyConfiguration struct {
+ // expression will be evaluated by CEL to create an apply configuration.
+ // ref: https://github.com/google/cel-spec
+ //
+ // Apply configurations are declared in CEL using object initialization. For example, this CEL expression
+ // returns an apply configuration to set a single field:
+ //
+ // Object{
+ // spec: Object.spec{
+ // serviceAccountName: "example"
+ // }
+ // }
+ //
+ // Apply configurations may not modify atomic structs, maps or arrays due to the risk of accidental deletion of
+ // values not included in the apply configuration.
+ //
+ // CEL expressions have access to the object types needed to create apply configurations:
+ //
+ // - 'Object' - CEL type of the resource object.
+ // - 'Object.' - CEL type of object field (such as 'Object.spec')
+ // - 'Object.....` - CEL type of nested field (such as 'Object.spec.containers')
+ //
+ // CEL expressions have access to the contents of the API request, organized into CEL variables as well as some other useful variables:
+ //
+ // - 'object' - The object from the incoming request. The value is null for DELETE requests.
+ // - 'oldObject' - The existing object. The value is null for CREATE requests.
+ // - 'request' - Attributes of the API request([ref](/pkg/apis/admission/types.go#AdmissionRequest)).
+ // - 'params' - Parameter resource referred to by the policy binding being evaluated. Only populated if the policy has a ParamKind.
+ // - 'namespaceObject' - The namespace object that the incoming object belongs to. The value is null for cluster-scoped resources.
+ // - 'variables' - Map of composited variables, from its name to its lazily evaluated value.
+ // For example, a variable named 'foo' can be accessed as 'variables.foo'.
+ // - 'authorizer' - A CEL Authorizer. May be used to perform authorization checks for the principal (user or service account) of the request.
+ // See https://pkg.go.dev/k8s.io/apiserver/pkg/cel/library#Authz
+ // - 'authorizer.requestResource' - A CEL ResourceCheck constructed from the 'authorizer' and configured with the
+ // request resource.
+ //
+ // The `apiVersion`, `kind`, `metadata.name` and `metadata.generateName` are always accessible from the root of the
+ // object. No other metadata properties are accessible.
+ //
+ // Only property names of the form `[a-zA-Z_.-/][a-zA-Z0-9_.-/]*` are accessible.
+ // Required.
+ Expression string `json:"expression,omitempty" protobuf:"bytes,1,opt,name=expression"`
+}
+
+// JSONPatch defines a JSON Patch.
+type JSONPatch struct {
+ // expression will be evaluated by CEL to create a [JSON patch](https://jsonpatch.com/).
+ // ref: https://github.com/google/cel-spec
+ //
+ // expression must return an array of JSONPatch values.
+ //
+ // For example, this CEL expression returns a JSON patch to conditionally modify a value:
+ //
+ // [
+ // JSONPatch{op: "test", path: "/spec/example", value: "Red"},
+ // JSONPatch{op: "replace", path: "/spec/example", value: "Green"}
+ // ]
+ //
+ // To define an object for the patch value, use Object types. For example:
+ //
+ // [
+ // JSONPatch{
+ // op: "add",
+ // path: "/spec/selector",
+ // value: Object.spec.selector{matchLabels: {"environment": "test"}}
+ // }
+ // ]
+ //
+ // To use strings containing '/' and '~' as JSONPatch path keys, use "jsonpatch.escapeKey". For example:
+ //
+ // [
+ // JSONPatch{
+ // op: "add",
+ // path: "/metadata/labels/" + jsonpatch.escapeKey("example.com/environment"),
+ // value: "test"
+ // },
+ // ]
+ //
+ // CEL expressions have access to the types needed to create JSON patches and objects:
+ //
+ // - 'JSONPatch' - CEL type of JSON Patch operations. JSONPatch has the fields 'op', 'from', 'path' and 'value'.
+ // See [JSON patch](https://jsonpatch.com/) for more details. The 'value' field may be set to any of: string,
+ // integer, array, map or object. If set, the 'path' and 'from' fields must be set to a
+ // [JSON pointer](https://datatracker.ietf.org/doc/html/rfc6901/) string, where the 'jsonpatch.escapeKey()' CEL
+ // function may be used to escape path keys containing '/' and '~'.
+ // - 'Object' - CEL type of the resource object.
+ // - 'Object.' - CEL type of object field (such as 'Object.spec')
+ // - 'Object.....` - CEL type of nested field (such as 'Object.spec.containers')
+ //
+ // CEL expressions have access to the contents of the API request, organized into CEL variables as well as some other useful variables:
+ //
+ // - 'object' - The object from the incoming request. The value is null for DELETE requests.
+ // - 'oldObject' - The existing object. The value is null for CREATE requests.
+ // - 'request' - Attributes of the API request([ref](/pkg/apis/admission/types.go#AdmissionRequest)).
+ // - 'params' - Parameter resource referred to by the policy binding being evaluated. Only populated if the policy has a ParamKind.
+ // - 'namespaceObject' - The namespace object that the incoming object belongs to. The value is null for cluster-scoped resources.
+ // - 'variables' - Map of composited variables, from its name to its lazily evaluated value.
+ // For example, a variable named 'foo' can be accessed as 'variables.foo'.
+ // - 'authorizer' - A CEL Authorizer. May be used to perform authorization checks for the principal (user or service account) of the request.
+ // See https://pkg.go.dev/k8s.io/apiserver/pkg/cel/library#Authz
+ // - 'authorizer.requestResource' - A CEL ResourceCheck constructed from the 'authorizer' and configured with the
+ // request resource.
+ //
+ // CEL expressions have access to [Kubernetes CEL function libraries](https://kubernetes.io/docs/reference/using-api/cel/#cel-options-language-features-and-libraries)
+ // as well as:
+ //
+ // - 'jsonpatch.escapeKey' - Performs JSONPatch key escaping. '~' and '/' are escaped as '~0' and `~1' respectively).
+ //
+ //
+ // Only property names of the form `[a-zA-Z_.-/][a-zA-Z0-9_.-/]*` are accessible.
+ // Required.
+ Expression string `json:"expression,omitempty" protobuf:"bytes,1,opt,name=expression"`
+}
+
+// ReinvocationPolicyType specifies what type of policy the admission mutation uses.
+// +enum
+type ReinvocationPolicyType = v1.ReinvocationPolicyType
+
+const (
+ // NeverReinvocationPolicy indicates that the mutation must not be called more than once in a
+ // single admission evaluation.
+ NeverReinvocationPolicy ReinvocationPolicyType = v1.NeverReinvocationPolicy
+ // IfNeededReinvocationPolicy indicates that the mutation may be called at least one
+ // additional time as part of the admission evaluation if the object being admitted is
+ // modified by other admission plugins after the initial mutation call.
+ IfNeededReinvocationPolicy ReinvocationPolicyType = v1.IfNeededReinvocationPolicy
+)
+
+// +genclient
+// +genclient:nonNamespaced
+// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
+// +k8s:prerelease-lifecycle-gen:introduced=1.32
+
+// MutatingAdmissionPolicyBinding binds the MutatingAdmissionPolicy with parametrized resources.
+// MutatingAdmissionPolicyBinding and the optional parameter resource together define how cluster administrators
+// configure policies for clusters.
+//
+// For a given admission request, each binding will cause its policy to be
+// evaluated N times, where N is 1 for policies/bindings that don't use
+// params, otherwise N is the number of parameters selected by the binding.
+// Each evaluation is constrained by a [runtime cost budget](https://kubernetes.io/docs/reference/using-api/cel/#runtime-cost-budget).
+//
+// Adding/removing policies, bindings, or params can not affect whether a
+// given (policy, binding, param) combination is within its own CEL budget.
+type MutatingAdmissionPolicyBinding struct {
+ metav1.TypeMeta `json:",inline"`
+ // Standard object metadata; More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata.
+ // +optional
+ metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
+ // Specification of the desired behavior of the MutatingAdmissionPolicyBinding.
+ Spec MutatingAdmissionPolicyBindingSpec `json:"spec,omitempty" protobuf:"bytes,2,opt,name=spec"`
+}
+
+// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
+// +k8s:prerelease-lifecycle-gen:introduced=1.32
+
+// MutatingAdmissionPolicyBindingList is a list of MutatingAdmissionPolicyBinding.
+type MutatingAdmissionPolicyBindingList struct {
+ metav1.TypeMeta `json:",inline"`
+ // Standard list metadata.
+ // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
+ // +optional
+ metav1.ListMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
+ // List of PolicyBinding.
+ Items []MutatingAdmissionPolicyBinding `json:"items" protobuf:"bytes,2,rep,name=items"`
+}
+
+// MutatingAdmissionPolicyBindingSpec is the specification of the MutatingAdmissionPolicyBinding.
+type MutatingAdmissionPolicyBindingSpec struct {
+ // policyName references a MutatingAdmissionPolicy name which the MutatingAdmissionPolicyBinding binds to.
+ // If the referenced resource does not exist, this binding is considered invalid and will be ignored
+ // Required.
+ PolicyName string `json:"policyName,omitempty" protobuf:"bytes,1,rep,name=policyName"`
+
+ // paramRef specifies the parameter resource used to configure the admission control policy.
+ // It should point to a resource of the type specified in spec.ParamKind of the bound MutatingAdmissionPolicy.
+ // If the policy specifies a ParamKind and the resource referred to by ParamRef does not exist, this binding is considered mis-configured and the FailurePolicy of the MutatingAdmissionPolicy applied.
+ // If the policy does not specify a ParamKind then this field is ignored, and the rules are evaluated without a param.
+ // +optional
+ ParamRef *ParamRef `json:"paramRef,omitempty" protobuf:"bytes,2,rep,name=paramRef"`
+
+ // matchResources limits what resources match this binding and may be mutated by it.
+ // Note that if matchResources matches a resource, the resource must also match a policy's matchConstraints and
+ // matchConditions before the resource may be mutated.
+ // When matchResources is unset, it does not constrain resource matching, and only the policy's matchConstraints
+ // and matchConditions must match for the resource to be mutated.
+ // Additionally, matchResources.resourceRules are optional and do not constraint matching when unset.
+ // Note that this is differs from MutatingAdmissionPolicy matchConstraints, where resourceRules are required.
+ // The CREATE, UPDATE and CONNECT operations are allowed. The DELETE operation may not be matched.
+ // '*' matches CREATE, UPDATE and CONNECT.
+ // +optional
+ MatchResources *MatchResources `json:"matchResources,omitempty" protobuf:"bytes,3,rep,name=matchResources"`
+}
diff --git a/vendor/k8s.io/api/admissionregistration/v1alpha1/types_swagger_doc_generated.go b/vendor/k8s.io/api/admissionregistration/v1alpha1/types_swagger_doc_generated.go
index dcf46b32..32222a81 100644
--- a/vendor/k8s.io/api/admissionregistration/v1alpha1/types_swagger_doc_generated.go
+++ b/vendor/k8s.io/api/admissionregistration/v1alpha1/types_swagger_doc_generated.go
@@ -27,6 +27,15 @@ package v1alpha1
// Those methods can be generated by using hack/update-codegen.sh
// AUTO-GENERATED FUNCTIONS START HERE. DO NOT EDIT.
+var map_ApplyConfiguration = map[string]string{
+ "": "ApplyConfiguration defines the desired configuration values of an object.",
+ "expression": "expression will be evaluated by CEL to create an apply configuration. ref: https://github.com/google/cel-spec\n\nApply configurations are declared in CEL using object initialization. For example, this CEL expression returns an apply configuration to set a single field:\n\n\tObject{\n\t spec: Object.spec{\n\t serviceAccountName: \"example\"\n\t }\n\t}\n\nApply configurations may not modify atomic structs, maps or arrays due to the risk of accidental deletion of values not included in the apply configuration.\n\nCEL expressions have access to the object types needed to create apply configurations:\n\n- 'Object' - CEL type of the resource object. - 'Object.' - CEL type of object field (such as 'Object.spec') - 'Object.....` - CEL type of nested field (such as 'Object.spec.containers')\n\nCEL expressions have access to the contents of the API request, organized into CEL variables as well as some other useful variables:\n\n- 'object' - The object from the incoming request. The value is null for DELETE requests. - 'oldObject' - The existing object. The value is null for CREATE requests. - 'request' - Attributes of the API request([ref](/pkg/apis/admission/types.go#AdmissionRequest)). - 'params' - Parameter resource referred to by the policy binding being evaluated. Only populated if the policy has a ParamKind. - 'namespaceObject' - The namespace object that the incoming object belongs to. The value is null for cluster-scoped resources. - 'variables' - Map of composited variables, from its name to its lazily evaluated value.\n For example, a variable named 'foo' can be accessed as 'variables.foo'.\n- 'authorizer' - A CEL Authorizer. May be used to perform authorization checks for the principal (user or service account) of the request.\n See https://pkg.go.dev/k8s.io/apiserver/pkg/cel/library#Authz\n- 'authorizer.requestResource' - A CEL ResourceCheck constructed from the 'authorizer' and configured with the\n request resource.\n\nThe `apiVersion`, `kind`, `metadata.name` and `metadata.generateName` are always accessible from the root of the object. No other metadata properties are accessible.\n\nOnly property names of the form `[a-zA-Z_.-/][a-zA-Z0-9_.-/]*` are accessible. Required.",
+}
+
+func (ApplyConfiguration) SwaggerDoc() map[string]string {
+ return map_ApplyConfiguration
+}
+
var map_AuditAnnotation = map[string]string{
"": "AuditAnnotation describes how to produce an audit annotation for an API request.",
"key": "key specifies the audit annotation key. The audit annotation keys of a ValidatingAdmissionPolicy must be unique. The key must be a qualified name ([A-Za-z0-9][-A-Za-z0-9_.]*) no more than 63 bytes in length.\n\nThe key is combined with the resource name of the ValidatingAdmissionPolicy to construct an audit annotation key: \"{ValidatingAdmissionPolicy name}/{key}\".\n\nIf an admission webhook uses the same resource name as this ValidatingAdmissionPolicy and the same audit annotation key, the annotation key will be identical. In this case, the first annotation written with the key will be included in the audit event and all subsequent annotations with the same key will be discarded.\n\nRequired.",
@@ -47,6 +56,15 @@ func (ExpressionWarning) SwaggerDoc() map[string]string {
return map_ExpressionWarning
}
+var map_JSONPatch = map[string]string{
+ "": "JSONPatch defines a JSON Patch.",
+ "expression": "expression will be evaluated by CEL to create a [JSON patch](https://jsonpatch.com/). ref: https://github.com/google/cel-spec\n\nexpression must return an array of JSONPatch values.\n\nFor example, this CEL expression returns a JSON patch to conditionally modify a value:\n\n\t [\n\t JSONPatch{op: \"test\", path: \"/spec/example\", value: \"Red\"},\n\t JSONPatch{op: \"replace\", path: \"/spec/example\", value: \"Green\"}\n\t ]\n\nTo define an object for the patch value, use Object types. For example:\n\n\t [\n\t JSONPatch{\n\t op: \"add\",\n\t path: \"/spec/selector\",\n\t value: Object.spec.selector{matchLabels: {\"environment\": \"test\"}}\n\t }\n\t ]\n\nTo use strings containing '/' and '~' as JSONPatch path keys, use \"jsonpatch.escapeKey\". For example:\n\n\t [\n\t JSONPatch{\n\t op: \"add\",\n\t path: \"/metadata/labels/\" + jsonpatch.escapeKey(\"example.com/environment\"),\n\t value: \"test\"\n\t },\n\t ]\n\nCEL expressions have access to the types needed to create JSON patches and objects:\n\n- 'JSONPatch' - CEL type of JSON Patch operations. JSONPatch has the fields 'op', 'from', 'path' and 'value'.\n See [JSON patch](https://jsonpatch.com/) for more details. The 'value' field may be set to any of: string,\n integer, array, map or object. If set, the 'path' and 'from' fields must be set to a\n [JSON pointer](https://datatracker.ietf.org/doc/html/rfc6901/) string, where the 'jsonpatch.escapeKey()' CEL\n function may be used to escape path keys containing '/' and '~'.\n- 'Object' - CEL type of the resource object. - 'Object.' - CEL type of object field (such as 'Object.spec') - 'Object.....` - CEL type of nested field (such as 'Object.spec.containers')\n\nCEL expressions have access to the contents of the API request, organized into CEL variables as well as some other useful variables:\n\n- 'object' - The object from the incoming request. The value is null for DELETE requests. - 'oldObject' - The existing object. The value is null for CREATE requests. - 'request' - Attributes of the API request([ref](/pkg/apis/admission/types.go#AdmissionRequest)). - 'params' - Parameter resource referred to by the policy binding being evaluated. Only populated if the policy has a ParamKind. - 'namespaceObject' - The namespace object that the incoming object belongs to. The value is null for cluster-scoped resources. - 'variables' - Map of composited variables, from its name to its lazily evaluated value.\n For example, a variable named 'foo' can be accessed as 'variables.foo'.\n- 'authorizer' - A CEL Authorizer. May be used to perform authorization checks for the principal (user or service account) of the request.\n See https://pkg.go.dev/k8s.io/apiserver/pkg/cel/library#Authz\n- 'authorizer.requestResource' - A CEL ResourceCheck constructed from the 'authorizer' and configured with the\n request resource.\n\nCEL expressions have access to [Kubernetes CEL function libraries](https://kubernetes.io/docs/reference/using-api/cel/#cel-options-language-features-and-libraries) as well as:\n\n- 'jsonpatch.escapeKey' - Performs JSONPatch key escaping. '~' and '/' are escaped as '~0' and `~1' respectively).\n\nOnly property names of the form `[a-zA-Z_.-/][a-zA-Z0-9_.-/]*` are accessible. Required.",
+}
+
+func (JSONPatch) SwaggerDoc() map[string]string {
+ return map_JSONPatch
+}
+
var map_MatchResources = map[string]string{
"": "MatchResources decides whether to run the admission control policy on an object based on whether it meets the match criteria. The exclude rules take precedence over include rules (if a resource matches both, it is excluded)",
"namespaceSelector": "NamespaceSelector decides whether to run the admission control policy on an object based on whether the namespace for that object matches the selector. If the object itself is a namespace, the matching is performed on object.metadata.labels. If the object is another cluster scoped resource, it never skips the policy.\n\nFor example, to run the webhook on any objects whose namespace is not associated with \"runlevel\" of \"0\" or \"1\"; you will set the selector as follows: \"namespaceSelector\": {\n \"matchExpressions\": [\n {\n \"key\": \"runlevel\",\n \"operator\": \"NotIn\",\n \"values\": [\n \"0\",\n \"1\"\n ]\n }\n ]\n}\n\nIf instead you want to only run the policy on any objects whose namespace is associated with the \"environment\" of \"prod\" or \"staging\"; you will set the selector as follows: \"namespaceSelector\": {\n \"matchExpressions\": [\n {\n \"key\": \"environment\",\n \"operator\": \"In\",\n \"values\": [\n \"prod\",\n \"staging\"\n ]\n }\n ]\n}\n\nSee https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/ for more examples of label selectors.\n\nDefault to the empty LabelSelector, which matches everything.",
@@ -60,6 +78,83 @@ func (MatchResources) SwaggerDoc() map[string]string {
return map_MatchResources
}
+var map_MutatingAdmissionPolicy = map[string]string{
+ "": "MutatingAdmissionPolicy describes the definition of an admission mutation policy that mutates the object coming into admission chain.",
+ "metadata": "Standard object metadata; More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata.",
+ "spec": "Specification of the desired behavior of the MutatingAdmissionPolicy.",
+}
+
+func (MutatingAdmissionPolicy) SwaggerDoc() map[string]string {
+ return map_MutatingAdmissionPolicy
+}
+
+var map_MutatingAdmissionPolicyBinding = map[string]string{
+ "": "MutatingAdmissionPolicyBinding binds the MutatingAdmissionPolicy with parametrized resources. MutatingAdmissionPolicyBinding and the optional parameter resource together define how cluster administrators configure policies for clusters.\n\nFor a given admission request, each binding will cause its policy to be evaluated N times, where N is 1 for policies/bindings that don't use params, otherwise N is the number of parameters selected by the binding. Each evaluation is constrained by a [runtime cost budget](https://kubernetes.io/docs/reference/using-api/cel/#runtime-cost-budget).\n\nAdding/removing policies, bindings, or params can not affect whether a given (policy, binding, param) combination is within its own CEL budget.",
+ "metadata": "Standard object metadata; More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata.",
+ "spec": "Specification of the desired behavior of the MutatingAdmissionPolicyBinding.",
+}
+
+func (MutatingAdmissionPolicyBinding) SwaggerDoc() map[string]string {
+ return map_MutatingAdmissionPolicyBinding
+}
+
+var map_MutatingAdmissionPolicyBindingList = map[string]string{
+ "": "MutatingAdmissionPolicyBindingList is a list of MutatingAdmissionPolicyBinding.",
+ "metadata": "Standard list metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds",
+ "items": "List of PolicyBinding.",
+}
+
+func (MutatingAdmissionPolicyBindingList) SwaggerDoc() map[string]string {
+ return map_MutatingAdmissionPolicyBindingList
+}
+
+var map_MutatingAdmissionPolicyBindingSpec = map[string]string{
+ "": "MutatingAdmissionPolicyBindingSpec is the specification of the MutatingAdmissionPolicyBinding.",
+ "policyName": "policyName references a MutatingAdmissionPolicy name which the MutatingAdmissionPolicyBinding binds to. If the referenced resource does not exist, this binding is considered invalid and will be ignored Required.",
+ "paramRef": "paramRef specifies the parameter resource used to configure the admission control policy. It should point to a resource of the type specified in spec.ParamKind of the bound MutatingAdmissionPolicy. If the policy specifies a ParamKind and the resource referred to by ParamRef does not exist, this binding is considered mis-configured and the FailurePolicy of the MutatingAdmissionPolicy applied. If the policy does not specify a ParamKind then this field is ignored, and the rules are evaluated without a param.",
+ "matchResources": "matchResources limits what resources match this binding and may be mutated by it. Note that if matchResources matches a resource, the resource must also match a policy's matchConstraints and matchConditions before the resource may be mutated. When matchResources is unset, it does not constrain resource matching, and only the policy's matchConstraints and matchConditions must match for the resource to be mutated. Additionally, matchResources.resourceRules are optional and do not constraint matching when unset. Note that this is differs from MutatingAdmissionPolicy matchConstraints, where resourceRules are required. The CREATE, UPDATE and CONNECT operations are allowed. The DELETE operation may not be matched. '*' matches CREATE, UPDATE and CONNECT.",
+}
+
+func (MutatingAdmissionPolicyBindingSpec) SwaggerDoc() map[string]string {
+ return map_MutatingAdmissionPolicyBindingSpec
+}
+
+var map_MutatingAdmissionPolicyList = map[string]string{
+ "": "MutatingAdmissionPolicyList is a list of MutatingAdmissionPolicy.",
+ "metadata": "Standard list metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds",
+ "items": "List of ValidatingAdmissionPolicy.",
+}
+
+func (MutatingAdmissionPolicyList) SwaggerDoc() map[string]string {
+ return map_MutatingAdmissionPolicyList
+}
+
+var map_MutatingAdmissionPolicySpec = map[string]string{
+ "": "MutatingAdmissionPolicySpec is the specification of the desired behavior of the admission policy.",
+ "paramKind": "paramKind specifies the kind of resources used to parameterize this policy. If absent, there are no parameters for this policy and the param CEL variable will not be provided to validation expressions. If paramKind refers to a non-existent kind, this policy definition is mis-configured and the FailurePolicy is applied. If paramKind is specified but paramRef is unset in MutatingAdmissionPolicyBinding, the params variable will be null.",
+ "matchConstraints": "matchConstraints specifies what resources this policy is designed to validate. The MutatingAdmissionPolicy cares about a request if it matches _all_ Constraints. However, in order to prevent clusters from being put into an unstable state that cannot be recovered from via the API MutatingAdmissionPolicy cannot match MutatingAdmissionPolicy and MutatingAdmissionPolicyBinding. The CREATE, UPDATE and CONNECT operations are allowed. The DELETE operation may not be matched. '*' matches CREATE, UPDATE and CONNECT. Required.",
+ "variables": "variables contain definitions of variables that can be used in composition of other expressions. Each variable is defined as a named CEL expression. The variables defined here will be available under `variables` in other expressions of the policy except matchConditions because matchConditions are evaluated before the rest of the policy.\n\nThe expression of a variable can refer to other variables defined earlier in the list but not those after. Thus, variables must be sorted by the order of first appearance and acyclic.",
+ "mutations": "mutations contain operations to perform on matching objects. mutations may not be empty; a minimum of one mutation is required. mutations are evaluated in order, and are reinvoked according to the reinvocationPolicy. The mutations of a policy are invoked for each binding of this policy and reinvocation of mutations occurs on a per binding basis.",
+ "failurePolicy": "failurePolicy defines how to handle failures for the admission policy. Failures can occur from CEL expression parse errors, type check errors, runtime errors and invalid or mis-configured policy definitions or bindings.\n\nA policy is invalid if paramKind refers to a non-existent Kind. A binding is invalid if paramRef.name refers to a non-existent resource.\n\nfailurePolicy does not define how validations that evaluate to false are handled.\n\nAllowed values are Ignore or Fail. Defaults to Fail.",
+ "matchConditions": "matchConditions is a list of conditions that must be met for a request to be validated. Match conditions filter requests that have already been matched by the matchConstraints. An empty list of matchConditions matches all requests. There are a maximum of 64 match conditions allowed.\n\nIf a parameter object is provided, it can be accessed via the `params` handle in the same manner as validation expressions.\n\nThe exact matching logic is (in order):\n 1. If ANY matchCondition evaluates to FALSE, the policy is skipped.\n 2. If ALL matchConditions evaluate to TRUE, the policy is evaluated.\n 3. If any matchCondition evaluates to an error (but none are FALSE):\n - If failurePolicy=Fail, reject the request\n - If failurePolicy=Ignore, the policy is skipped",
+ "reinvocationPolicy": "reinvocationPolicy indicates whether mutations may be called multiple times per MutatingAdmissionPolicyBinding as part of a single admission evaluation. Allowed values are \"Never\" and \"IfNeeded\".\n\nNever: These mutations will not be called more than once per binding in a single admission evaluation.\n\nIfNeeded: These mutations may be invoked more than once per binding for a single admission request and there is no guarantee of order with respect to other admission plugins, admission webhooks, bindings of this policy and admission policies. Mutations are only reinvoked when mutations change the object after this mutation is invoked. Required.",
+}
+
+func (MutatingAdmissionPolicySpec) SwaggerDoc() map[string]string {
+ return map_MutatingAdmissionPolicySpec
+}
+
+var map_Mutation = map[string]string{
+ "": "Mutation specifies the CEL expression which is used to apply the Mutation.",
+ "patchType": "patchType indicates the patch strategy used. Allowed values are \"ApplyConfiguration\" and \"JSONPatch\". Required.",
+ "applyConfiguration": "applyConfiguration defines the desired configuration values of an object. The configuration is applied to the admission object using [structured merge diff](https://github.com/kubernetes-sigs/structured-merge-diff). A CEL expression is used to create apply configuration.",
+ "jsonPatch": "jsonPatch defines a [JSON patch](https://jsonpatch.com/) operation to perform a mutation to the object. A CEL expression is used to create the JSON patch.",
+}
+
+func (Mutation) SwaggerDoc() map[string]string {
+ return map_Mutation
+}
+
var map_NamedRuleWithOperations = map[string]string{
"": "NamedRuleWithOperations is a tuple of Operations and Resources with ResourceNames.",
"resourceNames": "ResourceNames is an optional white list of names that the rule applies to. An empty set means that everything is allowed.",
diff --git a/vendor/k8s.io/api/admissionregistration/v1alpha1/zz_generated.deepcopy.go b/vendor/k8s.io/api/admissionregistration/v1alpha1/zz_generated.deepcopy.go
index 24cd0e4e..97c159c7 100644
--- a/vendor/k8s.io/api/admissionregistration/v1alpha1/zz_generated.deepcopy.go
+++ b/vendor/k8s.io/api/admissionregistration/v1alpha1/zz_generated.deepcopy.go
@@ -26,6 +26,22 @@ import (
runtime "k8s.io/apimachinery/pkg/runtime"
)
+// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
+func (in *ApplyConfiguration) DeepCopyInto(out *ApplyConfiguration) {
+ *out = *in
+ return
+}
+
+// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ApplyConfiguration.
+func (in *ApplyConfiguration) DeepCopy() *ApplyConfiguration {
+ if in == nil {
+ return nil
+ }
+ out := new(ApplyConfiguration)
+ in.DeepCopyInto(out)
+ return out
+}
+
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *AuditAnnotation) DeepCopyInto(out *AuditAnnotation) {
*out = *in
@@ -58,6 +74,22 @@ func (in *ExpressionWarning) DeepCopy() *ExpressionWarning {
return out
}
+// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
+func (in *JSONPatch) DeepCopyInto(out *JSONPatch) {
+ *out = *in
+ return
+}
+
+// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new JSONPatch.
+func (in *JSONPatch) DeepCopy() *JSONPatch {
+ if in == nil {
+ return nil
+ }
+ out := new(JSONPatch)
+ in.DeepCopyInto(out)
+ return out
+}
+
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *MatchCondition) DeepCopyInto(out *MatchCondition) {
*out = *in
@@ -119,6 +151,226 @@ func (in *MatchResources) DeepCopy() *MatchResources {
return out
}
+// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
+func (in *MutatingAdmissionPolicy) DeepCopyInto(out *MutatingAdmissionPolicy) {
+ *out = *in
+ out.TypeMeta = in.TypeMeta
+ in.ObjectMeta.DeepCopyInto(&out.ObjectMeta)
+ in.Spec.DeepCopyInto(&out.Spec)
+ return
+}
+
+// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MutatingAdmissionPolicy.
+func (in *MutatingAdmissionPolicy) DeepCopy() *MutatingAdmissionPolicy {
+ if in == nil {
+ return nil
+ }
+ out := new(MutatingAdmissionPolicy)
+ in.DeepCopyInto(out)
+ return out
+}
+
+// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
+func (in *MutatingAdmissionPolicy) DeepCopyObject() runtime.Object {
+ if c := in.DeepCopy(); c != nil {
+ return c
+ }
+ return nil
+}
+
+// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
+func (in *MutatingAdmissionPolicyBinding) DeepCopyInto(out *MutatingAdmissionPolicyBinding) {
+ *out = *in
+ out.TypeMeta = in.TypeMeta
+ in.ObjectMeta.DeepCopyInto(&out.ObjectMeta)
+ in.Spec.DeepCopyInto(&out.Spec)
+ return
+}
+
+// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MutatingAdmissionPolicyBinding.
+func (in *MutatingAdmissionPolicyBinding) DeepCopy() *MutatingAdmissionPolicyBinding {
+ if in == nil {
+ return nil
+ }
+ out := new(MutatingAdmissionPolicyBinding)
+ in.DeepCopyInto(out)
+ return out
+}
+
+// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
+func (in *MutatingAdmissionPolicyBinding) DeepCopyObject() runtime.Object {
+ if c := in.DeepCopy(); c != nil {
+ return c
+ }
+ return nil
+}
+
+// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
+func (in *MutatingAdmissionPolicyBindingList) DeepCopyInto(out *MutatingAdmissionPolicyBindingList) {
+ *out = *in
+ out.TypeMeta = in.TypeMeta
+ in.ListMeta.DeepCopyInto(&out.ListMeta)
+ if in.Items != nil {
+ in, out := &in.Items, &out.Items
+ *out = make([]MutatingAdmissionPolicyBinding, len(*in))
+ for i := range *in {
+ (*in)[i].DeepCopyInto(&(*out)[i])
+ }
+ }
+ return
+}
+
+// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MutatingAdmissionPolicyBindingList.
+func (in *MutatingAdmissionPolicyBindingList) DeepCopy() *MutatingAdmissionPolicyBindingList {
+ if in == nil {
+ return nil
+ }
+ out := new(MutatingAdmissionPolicyBindingList)
+ in.DeepCopyInto(out)
+ return out
+}
+
+// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
+func (in *MutatingAdmissionPolicyBindingList) DeepCopyObject() runtime.Object {
+ if c := in.DeepCopy(); c != nil {
+ return c
+ }
+ return nil
+}
+
+// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
+func (in *MutatingAdmissionPolicyBindingSpec) DeepCopyInto(out *MutatingAdmissionPolicyBindingSpec) {
+ *out = *in
+ if in.ParamRef != nil {
+ in, out := &in.ParamRef, &out.ParamRef
+ *out = new(ParamRef)
+ (*in).DeepCopyInto(*out)
+ }
+ if in.MatchResources != nil {
+ in, out := &in.MatchResources, &out.MatchResources
+ *out = new(MatchResources)
+ (*in).DeepCopyInto(*out)
+ }
+ return
+}
+
+// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MutatingAdmissionPolicyBindingSpec.
+func (in *MutatingAdmissionPolicyBindingSpec) DeepCopy() *MutatingAdmissionPolicyBindingSpec {
+ if in == nil {
+ return nil
+ }
+ out := new(MutatingAdmissionPolicyBindingSpec)
+ in.DeepCopyInto(out)
+ return out
+}
+
+// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
+func (in *MutatingAdmissionPolicyList) DeepCopyInto(out *MutatingAdmissionPolicyList) {
+ *out = *in
+ out.TypeMeta = in.TypeMeta
+ in.ListMeta.DeepCopyInto(&out.ListMeta)
+ if in.Items != nil {
+ in, out := &in.Items, &out.Items
+ *out = make([]MutatingAdmissionPolicy, len(*in))
+ for i := range *in {
+ (*in)[i].DeepCopyInto(&(*out)[i])
+ }
+ }
+ return
+}
+
+// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MutatingAdmissionPolicyList.
+func (in *MutatingAdmissionPolicyList) DeepCopy() *MutatingAdmissionPolicyList {
+ if in == nil {
+ return nil
+ }
+ out := new(MutatingAdmissionPolicyList)
+ in.DeepCopyInto(out)
+ return out
+}
+
+// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
+func (in *MutatingAdmissionPolicyList) DeepCopyObject() runtime.Object {
+ if c := in.DeepCopy(); c != nil {
+ return c
+ }
+ return nil
+}
+
+// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
+func (in *MutatingAdmissionPolicySpec) DeepCopyInto(out *MutatingAdmissionPolicySpec) {
+ *out = *in
+ if in.ParamKind != nil {
+ in, out := &in.ParamKind, &out.ParamKind
+ *out = new(ParamKind)
+ **out = **in
+ }
+ if in.MatchConstraints != nil {
+ in, out := &in.MatchConstraints, &out.MatchConstraints
+ *out = new(MatchResources)
+ (*in).DeepCopyInto(*out)
+ }
+ if in.Variables != nil {
+ in, out := &in.Variables, &out.Variables
+ *out = make([]Variable, len(*in))
+ copy(*out, *in)
+ }
+ if in.Mutations != nil {
+ in, out := &in.Mutations, &out.Mutations
+ *out = make([]Mutation, len(*in))
+ for i := range *in {
+ (*in)[i].DeepCopyInto(&(*out)[i])
+ }
+ }
+ if in.FailurePolicy != nil {
+ in, out := &in.FailurePolicy, &out.FailurePolicy
+ *out = new(FailurePolicyType)
+ **out = **in
+ }
+ if in.MatchConditions != nil {
+ in, out := &in.MatchConditions, &out.MatchConditions
+ *out = make([]MatchCondition, len(*in))
+ copy(*out, *in)
+ }
+ return
+}
+
+// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MutatingAdmissionPolicySpec.
+func (in *MutatingAdmissionPolicySpec) DeepCopy() *MutatingAdmissionPolicySpec {
+ if in == nil {
+ return nil
+ }
+ out := new(MutatingAdmissionPolicySpec)
+ in.DeepCopyInto(out)
+ return out
+}
+
+// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
+func (in *Mutation) DeepCopyInto(out *Mutation) {
+ *out = *in
+ if in.ApplyConfiguration != nil {
+ in, out := &in.ApplyConfiguration, &out.ApplyConfiguration
+ *out = new(ApplyConfiguration)
+ **out = **in
+ }
+ if in.JSONPatch != nil {
+ in, out := &in.JSONPatch, &out.JSONPatch
+ *out = new(JSONPatch)
+ **out = **in
+ }
+ return
+}
+
+// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Mutation.
+func (in *Mutation) DeepCopy() *Mutation {
+ if in == nil {
+ return nil
+ }
+ out := new(Mutation)
+ in.DeepCopyInto(out)
+ return out
+}
+
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *NamedRuleWithOperations) DeepCopyInto(out *NamedRuleWithOperations) {
*out = *in
diff --git a/vendor/k8s.io/api/admissionregistration/v1alpha1/zz_generated.prerelease-lifecycle.go b/vendor/k8s.io/api/admissionregistration/v1alpha1/zz_generated.prerelease-lifecycle.go
new file mode 100644
index 00000000..91c813d5
--- /dev/null
+++ b/vendor/k8s.io/api/admissionregistration/v1alpha1/zz_generated.prerelease-lifecycle.go
@@ -0,0 +1,166 @@
+//go:build !ignore_autogenerated
+// +build !ignore_autogenerated
+
+/*
+Copyright The Kubernetes Authors.
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+
+// Code generated by prerelease-lifecycle-gen. DO NOT EDIT.
+
+package v1alpha1
+
+// APILifecycleIntroduced is an autogenerated function, returning the release in which the API struct was introduced as int versions of major and minor for comparison.
+// It is controlled by "k8s:prerelease-lifecycle-gen:introduced" tags in types.go.
+func (in *MutatingAdmissionPolicy) APILifecycleIntroduced() (major, minor int) {
+ return 1, 32
+}
+
+// APILifecycleDeprecated is an autogenerated function, returning the release in which the API struct was or will be deprecated as int versions of major and minor for comparison.
+// It is controlled by "k8s:prerelease-lifecycle-gen:deprecated" tags in types.go or "k8s:prerelease-lifecycle-gen:introduced" plus three minor.
+func (in *MutatingAdmissionPolicy) APILifecycleDeprecated() (major, minor int) {
+ return 1, 35
+}
+
+// APILifecycleRemoved is an autogenerated function, returning the release in which the API is no longer served as int versions of major and minor for comparison.
+// It is controlled by "k8s:prerelease-lifecycle-gen:removed" tags in types.go or "k8s:prerelease-lifecycle-gen:deprecated" plus three minor.
+func (in *MutatingAdmissionPolicy) APILifecycleRemoved() (major, minor int) {
+ return 1, 38
+}
+
+// APILifecycleIntroduced is an autogenerated function, returning the release in which the API struct was introduced as int versions of major and minor for comparison.
+// It is controlled by "k8s:prerelease-lifecycle-gen:introduced" tags in types.go.
+func (in *MutatingAdmissionPolicyBinding) APILifecycleIntroduced() (major, minor int) {
+ return 1, 32
+}
+
+// APILifecycleDeprecated is an autogenerated function, returning the release in which the API struct was or will be deprecated as int versions of major and minor for comparison.
+// It is controlled by "k8s:prerelease-lifecycle-gen:deprecated" tags in types.go or "k8s:prerelease-lifecycle-gen:introduced" plus three minor.
+func (in *MutatingAdmissionPolicyBinding) APILifecycleDeprecated() (major, minor int) {
+ return 1, 35
+}
+
+// APILifecycleRemoved is an autogenerated function, returning the release in which the API is no longer served as int versions of major and minor for comparison.
+// It is controlled by "k8s:prerelease-lifecycle-gen:removed" tags in types.go or "k8s:prerelease-lifecycle-gen:deprecated" plus three minor.
+func (in *MutatingAdmissionPolicyBinding) APILifecycleRemoved() (major, minor int) {
+ return 1, 38
+}
+
+// APILifecycleIntroduced is an autogenerated function, returning the release in which the API struct was introduced as int versions of major and minor for comparison.
+// It is controlled by "k8s:prerelease-lifecycle-gen:introduced" tags in types.go.
+func (in *MutatingAdmissionPolicyBindingList) APILifecycleIntroduced() (major, minor int) {
+ return 1, 32
+}
+
+// APILifecycleDeprecated is an autogenerated function, returning the release in which the API struct was or will be deprecated as int versions of major and minor for comparison.
+// It is controlled by "k8s:prerelease-lifecycle-gen:deprecated" tags in types.go or "k8s:prerelease-lifecycle-gen:introduced" plus three minor.
+func (in *MutatingAdmissionPolicyBindingList) APILifecycleDeprecated() (major, minor int) {
+ return 1, 35
+}
+
+// APILifecycleRemoved is an autogenerated function, returning the release in which the API is no longer served as int versions of major and minor for comparison.
+// It is controlled by "k8s:prerelease-lifecycle-gen:removed" tags in types.go or "k8s:prerelease-lifecycle-gen:deprecated" plus three minor.
+func (in *MutatingAdmissionPolicyBindingList) APILifecycleRemoved() (major, minor int) {
+ return 1, 38
+}
+
+// APILifecycleIntroduced is an autogenerated function, returning the release in which the API struct was introduced as int versions of major and minor for comparison.
+// It is controlled by "k8s:prerelease-lifecycle-gen:introduced" tags in types.go.
+func (in *MutatingAdmissionPolicyList) APILifecycleIntroduced() (major, minor int) {
+ return 1, 32
+}
+
+// APILifecycleDeprecated is an autogenerated function, returning the release in which the API struct was or will be deprecated as int versions of major and minor for comparison.
+// It is controlled by "k8s:prerelease-lifecycle-gen:deprecated" tags in types.go or "k8s:prerelease-lifecycle-gen:introduced" plus three minor.
+func (in *MutatingAdmissionPolicyList) APILifecycleDeprecated() (major, minor int) {
+ return 1, 35
+}
+
+// APILifecycleRemoved is an autogenerated function, returning the release in which the API is no longer served as int versions of major and minor for comparison.
+// It is controlled by "k8s:prerelease-lifecycle-gen:removed" tags in types.go or "k8s:prerelease-lifecycle-gen:deprecated" plus three minor.
+func (in *MutatingAdmissionPolicyList) APILifecycleRemoved() (major, minor int) {
+ return 1, 38
+}
+
+// APILifecycleIntroduced is an autogenerated function, returning the release in which the API struct was introduced as int versions of major and minor for comparison.
+// It is controlled by "k8s:prerelease-lifecycle-gen:introduced" tags in types.go.
+func (in *ValidatingAdmissionPolicy) APILifecycleIntroduced() (major, minor int) {
+ return 1, 26
+}
+
+// APILifecycleDeprecated is an autogenerated function, returning the release in which the API struct was or will be deprecated as int versions of major and minor for comparison.
+// It is controlled by "k8s:prerelease-lifecycle-gen:deprecated" tags in types.go or "k8s:prerelease-lifecycle-gen:introduced" plus three minor.
+func (in *ValidatingAdmissionPolicy) APILifecycleDeprecated() (major, minor int) {
+ return 1, 29
+}
+
+// APILifecycleRemoved is an autogenerated function, returning the release in which the API is no longer served as int versions of major and minor for comparison.
+// It is controlled by "k8s:prerelease-lifecycle-gen:removed" tags in types.go or "k8s:prerelease-lifecycle-gen:deprecated" plus three minor.
+func (in *ValidatingAdmissionPolicy) APILifecycleRemoved() (major, minor int) {
+ return 1, 32
+}
+
+// APILifecycleIntroduced is an autogenerated function, returning the release in which the API struct was introduced as int versions of major and minor for comparison.
+// It is controlled by "k8s:prerelease-lifecycle-gen:introduced" tags in types.go.
+func (in *ValidatingAdmissionPolicyBinding) APILifecycleIntroduced() (major, minor int) {
+ return 1, 26
+}
+
+// APILifecycleDeprecated is an autogenerated function, returning the release in which the API struct was or will be deprecated as int versions of major and minor for comparison.
+// It is controlled by "k8s:prerelease-lifecycle-gen:deprecated" tags in types.go or "k8s:prerelease-lifecycle-gen:introduced" plus three minor.
+func (in *ValidatingAdmissionPolicyBinding) APILifecycleDeprecated() (major, minor int) {
+ return 1, 29
+}
+
+// APILifecycleRemoved is an autogenerated function, returning the release in which the API is no longer served as int versions of major and minor for comparison.
+// It is controlled by "k8s:prerelease-lifecycle-gen:removed" tags in types.go or "k8s:prerelease-lifecycle-gen:deprecated" plus three minor.
+func (in *ValidatingAdmissionPolicyBinding) APILifecycleRemoved() (major, minor int) {
+ return 1, 32
+}
+
+// APILifecycleIntroduced is an autogenerated function, returning the release in which the API struct was introduced as int versions of major and minor for comparison.
+// It is controlled by "k8s:prerelease-lifecycle-gen:introduced" tags in types.go.
+func (in *ValidatingAdmissionPolicyBindingList) APILifecycleIntroduced() (major, minor int) {
+ return 1, 26
+}
+
+// APILifecycleDeprecated is an autogenerated function, returning the release in which the API struct was or will be deprecated as int versions of major and minor for comparison.
+// It is controlled by "k8s:prerelease-lifecycle-gen:deprecated" tags in types.go or "k8s:prerelease-lifecycle-gen:introduced" plus three minor.
+func (in *ValidatingAdmissionPolicyBindingList) APILifecycleDeprecated() (major, minor int) {
+ return 1, 29
+}
+
+// APILifecycleRemoved is an autogenerated function, returning the release in which the API is no longer served as int versions of major and minor for comparison.
+// It is controlled by "k8s:prerelease-lifecycle-gen:removed" tags in types.go or "k8s:prerelease-lifecycle-gen:deprecated" plus three minor.
+func (in *ValidatingAdmissionPolicyBindingList) APILifecycleRemoved() (major, minor int) {
+ return 1, 32
+}
+
+// APILifecycleIntroduced is an autogenerated function, returning the release in which the API struct was introduced as int versions of major and minor for comparison.
+// It is controlled by "k8s:prerelease-lifecycle-gen:introduced" tags in types.go.
+func (in *ValidatingAdmissionPolicyList) APILifecycleIntroduced() (major, minor int) {
+ return 1, 26
+}
+
+// APILifecycleDeprecated is an autogenerated function, returning the release in which the API struct was or will be deprecated as int versions of major and minor for comparison.
+// It is controlled by "k8s:prerelease-lifecycle-gen:deprecated" tags in types.go or "k8s:prerelease-lifecycle-gen:introduced" plus three minor.
+func (in *ValidatingAdmissionPolicyList) APILifecycleDeprecated() (major, minor int) {
+ return 1, 29
+}
+
+// APILifecycleRemoved is an autogenerated function, returning the release in which the API is no longer served as int versions of major and minor for comparison.
+// It is controlled by "k8s:prerelease-lifecycle-gen:removed" tags in types.go or "k8s:prerelease-lifecycle-gen:deprecated" plus three minor.
+func (in *ValidatingAdmissionPolicyList) APILifecycleRemoved() (major, minor int) {
+ return 1, 32
+}
diff --git a/vendor/k8s.io/api/apps/v1/generated.proto b/vendor/k8s.io/api/apps/v1/generated.proto
index d864f2ee..388e638f 100644
--- a/vendor/k8s.io/api/apps/v1/generated.proto
+++ b/vendor/k8s.io/api/apps/v1/generated.proto
@@ -737,8 +737,7 @@ message StatefulSetSpec {
// volume claims are created as needed and retained until manually deleted. This
// policy allows the lifecycle to be altered, for example by deleting persistent
// volume claims when their stateful set is deleted, or when their pod is scaled
- // down. This requires the StatefulSetAutoDeletePVC feature gate to be enabled,
- // which is beta.
+ // down.
// +optional
optional StatefulSetPersistentVolumeClaimRetentionPolicy persistentVolumeClaimRetentionPolicy = 10;
diff --git a/vendor/k8s.io/api/apps/v1/types.go b/vendor/k8s.io/api/apps/v1/types.go
index e942cd52..a68690b4 100644
--- a/vendor/k8s.io/api/apps/v1/types.go
+++ b/vendor/k8s.io/api/apps/v1/types.go
@@ -142,7 +142,7 @@ const (
// PersistentVolumeClaims associated with StatefulSet VolumeClaimTemplates
// will not be deleted.
RetainPersistentVolumeClaimRetentionPolicyType PersistentVolumeClaimRetentionPolicyType = "Retain"
- // RetentionPersistentVolumeClaimRetentionPolicyType specifies that
+ // DeletePersistentVolumeClaimRetentionPolicyType specifies that
// PersistentVolumeClaims associated with StatefulSet VolumeClaimTemplates
// will be deleted in the scenario specified in
// StatefulSetPersistentVolumeClaimRetentionPolicy.
@@ -255,8 +255,7 @@ type StatefulSetSpec struct {
// volume claims are created as needed and retained until manually deleted. This
// policy allows the lifecycle to be altered, for example by deleting persistent
// volume claims when their stateful set is deleted, or when their pod is scaled
- // down. This requires the StatefulSetAutoDeletePVC feature gate to be enabled,
- // which is beta.
+ // down.
// +optional
PersistentVolumeClaimRetentionPolicy *StatefulSetPersistentVolumeClaimRetentionPolicy `json:"persistentVolumeClaimRetentionPolicy,omitempty" protobuf:"bytes,10,opt,name=persistentVolumeClaimRetentionPolicy"`
diff --git a/vendor/k8s.io/api/apps/v1/types_swagger_doc_generated.go b/vendor/k8s.io/api/apps/v1/types_swagger_doc_generated.go
index f3e221a0..341ecdad 100644
--- a/vendor/k8s.io/api/apps/v1/types_swagger_doc_generated.go
+++ b/vendor/k8s.io/api/apps/v1/types_swagger_doc_generated.go
@@ -354,7 +354,7 @@ var map_StatefulSetSpec = map[string]string{
"updateStrategy": "updateStrategy indicates the StatefulSetUpdateStrategy that will be employed to update Pods in the StatefulSet when a revision is made to Template.",
"revisionHistoryLimit": "revisionHistoryLimit is the maximum number of revisions that will be maintained in the StatefulSet's revision history. The revision history consists of all revisions not represented by a currently applied StatefulSetSpec version. The default value is 10.",
"minReadySeconds": "Minimum number of seconds for which a newly created pod should be ready without any of its container crashing for it to be considered available. Defaults to 0 (pod will be considered available as soon as it is ready)",
- "persistentVolumeClaimRetentionPolicy": "persistentVolumeClaimRetentionPolicy describes the lifecycle of persistent volume claims created from volumeClaimTemplates. By default, all persistent volume claims are created as needed and retained until manually deleted. This policy allows the lifecycle to be altered, for example by deleting persistent volume claims when their stateful set is deleted, or when their pod is scaled down. This requires the StatefulSetAutoDeletePVC feature gate to be enabled, which is beta.",
+ "persistentVolumeClaimRetentionPolicy": "persistentVolumeClaimRetentionPolicy describes the lifecycle of persistent volume claims created from volumeClaimTemplates. By default, all persistent volume claims are created as needed and retained until manually deleted. This policy allows the lifecycle to be altered, for example by deleting persistent volume claims when their stateful set is deleted, or when their pod is scaled down.",
"ordinals": "ordinals controls the numbering of replica indices in a StatefulSet. The default ordinals behavior assigns a \"0\" index to the first replica and increments the index by one for each additional replica requested.",
}
diff --git a/vendor/k8s.io/api/apps/v1beta1/generated.proto b/vendor/k8s.io/api/apps/v1beta1/generated.proto
index 4b0fa366..46d7bfdf 100644
--- a/vendor/k8s.io/api/apps/v1beta1/generated.proto
+++ b/vendor/k8s.io/api/apps/v1beta1/generated.proto
@@ -486,8 +486,7 @@ message StatefulSetSpec {
optional int32 minReadySeconds = 9;
// PersistentVolumeClaimRetentionPolicy describes the policy used for PVCs created from
- // the StatefulSet VolumeClaimTemplates. This requires the
- // StatefulSetAutoDeletePVC feature gate to be enabled, which is alpha.
+ // the StatefulSet VolumeClaimTemplates.
// +optional
optional StatefulSetPersistentVolumeClaimRetentionPolicy persistentVolumeClaimRetentionPolicy = 10;
diff --git a/vendor/k8s.io/api/apps/v1beta1/types.go b/vendor/k8s.io/api/apps/v1beta1/types.go
index 07bfa88c..bc485195 100644
--- a/vendor/k8s.io/api/apps/v1beta1/types.go
+++ b/vendor/k8s.io/api/apps/v1beta1/types.go
@@ -181,11 +181,11 @@ const (
// PersistentVolumeClaims associated with StatefulSet VolumeClaimTemplates
// will not be deleted.
RetainPersistentVolumeClaimRetentionPolicyType PersistentVolumeClaimRetentionPolicyType = "Retain"
- // RetentionPersistentVolumeClaimRetentionPolicyType specifies that
+ // DeletePersistentVolumeClaimRetentionPolicyType specifies that
// PersistentVolumeClaims associated with StatefulSet VolumeClaimTemplates
// will be deleted in the scenario specified in
// StatefulSetPersistentVolumeClaimRetentionPolicy.
- RetentionPersistentVolumeClaimRetentionPolicyType PersistentVolumeClaimRetentionPolicyType = "Delete"
+ DeletePersistentVolumeClaimRetentionPolicyType PersistentVolumeClaimRetentionPolicyType = "Delete"
)
// StatefulSetPersistentVolumeClaimRetentionPolicy describes the policy used for PVCs
@@ -290,8 +290,7 @@ type StatefulSetSpec struct {
MinReadySeconds int32 `json:"minReadySeconds,omitempty" protobuf:"varint,9,opt,name=minReadySeconds"`
// PersistentVolumeClaimRetentionPolicy describes the policy used for PVCs created from
- // the StatefulSet VolumeClaimTemplates. This requires the
- // StatefulSetAutoDeletePVC feature gate to be enabled, which is alpha.
+ // the StatefulSet VolumeClaimTemplates.
// +optional
PersistentVolumeClaimRetentionPolicy *StatefulSetPersistentVolumeClaimRetentionPolicy `json:"persistentVolumeClaimRetentionPolicy,omitempty" protobuf:"bytes,10,opt,name=persistentVolumeClaimRetentionPolicy"`
diff --git a/vendor/k8s.io/api/apps/v1beta1/types_swagger_doc_generated.go b/vendor/k8s.io/api/apps/v1beta1/types_swagger_doc_generated.go
index 9e7fb1ad..1381d75d 100644
--- a/vendor/k8s.io/api/apps/v1beta1/types_swagger_doc_generated.go
+++ b/vendor/k8s.io/api/apps/v1beta1/types_swagger_doc_generated.go
@@ -258,7 +258,7 @@ var map_StatefulSetSpec = map[string]string{
"updateStrategy": "updateStrategy indicates the StatefulSetUpdateStrategy that will be employed to update Pods in the StatefulSet when a revision is made to Template.",
"revisionHistoryLimit": "revisionHistoryLimit is the maximum number of revisions that will be maintained in the StatefulSet's revision history. The revision history consists of all revisions not represented by a currently applied StatefulSetSpec version. The default value is 10.",
"minReadySeconds": "minReadySeconds is the minimum number of seconds for which a newly created pod should be ready without any of its container crashing for it to be considered available. Defaults to 0 (pod will be considered available as soon as it is ready)",
- "persistentVolumeClaimRetentionPolicy": "PersistentVolumeClaimRetentionPolicy describes the policy used for PVCs created from the StatefulSet VolumeClaimTemplates. This requires the StatefulSetAutoDeletePVC feature gate to be enabled, which is alpha.",
+ "persistentVolumeClaimRetentionPolicy": "PersistentVolumeClaimRetentionPolicy describes the policy used for PVCs created from the StatefulSet VolumeClaimTemplates.",
"ordinals": "ordinals controls the numbering of replica indices in a StatefulSet. The default ordinals behavior assigns a \"0\" index to the first replica and increments the index by one for each additional replica requested.",
}
diff --git a/vendor/k8s.io/api/apps/v1beta2/generated.proto b/vendor/k8s.io/api/apps/v1beta2/generated.proto
index d3db8956..c08a4c78 100644
--- a/vendor/k8s.io/api/apps/v1beta2/generated.proto
+++ b/vendor/k8s.io/api/apps/v1beta2/generated.proto
@@ -778,8 +778,7 @@ message StatefulSetSpec {
optional int32 minReadySeconds = 9;
// PersistentVolumeClaimRetentionPolicy describes the policy used for PVCs created from
- // the StatefulSet VolumeClaimTemplates. This requires the
- // StatefulSetAutoDeletePVC feature gate to be enabled, which is alpha.
+ // the StatefulSet VolumeClaimTemplates.
// +optional
optional StatefulSetPersistentVolumeClaimRetentionPolicy persistentVolumeClaimRetentionPolicy = 10;
diff --git a/vendor/k8s.io/api/apps/v1beta2/types.go b/vendor/k8s.io/api/apps/v1beta2/types.go
index f93a5bea..c2624a94 100644
--- a/vendor/k8s.io/api/apps/v1beta2/types.go
+++ b/vendor/k8s.io/api/apps/v1beta2/types.go
@@ -191,11 +191,11 @@ const (
// PersistentVolumeClaims associated with StatefulSet VolumeClaimTemplates
// will not be deleted.
RetainPersistentVolumeClaimRetentionPolicyType PersistentVolumeClaimRetentionPolicyType = "Retain"
- // RetentionPersistentVolumeClaimRetentionPolicyType specifies that
+ // DeletePersistentVolumeClaimRetentionPolicyType specifies that
// PersistentVolumeClaims associated with StatefulSet VolumeClaimTemplates
// will be deleted in the scenario specified in
// StatefulSetPersistentVolumeClaimRetentionPolicy.
- RetentionPersistentVolumeClaimRetentionPolicyType PersistentVolumeClaimRetentionPolicyType = "Delete"
+ DeletePersistentVolumeClaimRetentionPolicyType PersistentVolumeClaimRetentionPolicyType = "Delete"
)
// StatefulSetPersistentVolumeClaimRetentionPolicy describes the policy used for PVCs
@@ -300,8 +300,7 @@ type StatefulSetSpec struct {
MinReadySeconds int32 `json:"minReadySeconds,omitempty" protobuf:"varint,9,opt,name=minReadySeconds"`
// PersistentVolumeClaimRetentionPolicy describes the policy used for PVCs created from
- // the StatefulSet VolumeClaimTemplates. This requires the
- // StatefulSetAutoDeletePVC feature gate to be enabled, which is alpha.
+ // the StatefulSet VolumeClaimTemplates.
// +optional
PersistentVolumeClaimRetentionPolicy *StatefulSetPersistentVolumeClaimRetentionPolicy `json:"persistentVolumeClaimRetentionPolicy,omitempty" protobuf:"bytes,10,opt,name=persistentVolumeClaimRetentionPolicy"`
diff --git a/vendor/k8s.io/api/apps/v1beta2/types_swagger_doc_generated.go b/vendor/k8s.io/api/apps/v1beta2/types_swagger_doc_generated.go
index 0b8fe34a..beec4b75 100644
--- a/vendor/k8s.io/api/apps/v1beta2/types_swagger_doc_generated.go
+++ b/vendor/k8s.io/api/apps/v1beta2/types_swagger_doc_generated.go
@@ -382,7 +382,7 @@ var map_StatefulSetSpec = map[string]string{
"updateStrategy": "updateStrategy indicates the StatefulSetUpdateStrategy that will be employed to update Pods in the StatefulSet when a revision is made to Template.",
"revisionHistoryLimit": "revisionHistoryLimit is the maximum number of revisions that will be maintained in the StatefulSet's revision history. The revision history consists of all revisions not represented by a currently applied StatefulSetSpec version. The default value is 10.",
"minReadySeconds": "Minimum number of seconds for which a newly created pod should be ready without any of its container crashing for it to be considered available. Defaults to 0 (pod will be considered available as soon as it is ready)",
- "persistentVolumeClaimRetentionPolicy": "PersistentVolumeClaimRetentionPolicy describes the policy used for PVCs created from the StatefulSet VolumeClaimTemplates. This requires the StatefulSetAutoDeletePVC feature gate to be enabled, which is alpha.",
+ "persistentVolumeClaimRetentionPolicy": "PersistentVolumeClaimRetentionPolicy describes the policy used for PVCs created from the StatefulSet VolumeClaimTemplates.",
"ordinals": "ordinals controls the numbering of replica indices in a StatefulSet. The default ordinals behavior assigns a \"0\" index to the first replica and increments the index by one for each additional replica requested.",
}
diff --git a/vendor/k8s.io/api/autoscaling/v1/generated.proto b/vendor/k8s.io/api/autoscaling/v1/generated.proto
index 0a961312..68c35b6b 100644
--- a/vendor/k8s.io/api/autoscaling/v1/generated.proto
+++ b/vendor/k8s.io/api/autoscaling/v1/generated.proto
@@ -241,8 +241,6 @@ message HorizontalPodAutoscalerStatus {
message MetricSpec {
// type is the type of metric source. It should be one of "ContainerResource",
// "External", "Object", "Pods" or "Resource", each mapping to a matching field in the object.
- // Note: "ContainerResource" type is available on when the feature-gate
- // HPAContainerMetrics is enabled
optional string type = 1;
// object refers to a metric describing a single kubernetes object
@@ -269,7 +267,6 @@ message MetricSpec {
// current scale target (e.g. CPU or memory). Such metrics are built in to
// Kubernetes, and have special scaling options on top of those available
// to normal per-pod metrics using the "pods" source.
- // This is an alpha feature and can be enabled by the HPAContainerMetrics feature flag.
// +optional
optional ContainerResourceMetricSource containerResource = 7;
@@ -286,8 +283,6 @@ message MetricSpec {
message MetricStatus {
// type is the type of metric source. It will be one of "ContainerResource",
// "External", "Object", "Pods" or "Resource", each corresponds to a matching field in the object.
- // Note: "ContainerResource" type is available on when the feature-gate
- // HPAContainerMetrics is enabled
optional string type = 1;
// object refers to a metric describing a single kubernetes object
diff --git a/vendor/k8s.io/api/autoscaling/v1/types.go b/vendor/k8s.io/api/autoscaling/v1/types.go
index b31425b3..85c609e5 100644
--- a/vendor/k8s.io/api/autoscaling/v1/types.go
+++ b/vendor/k8s.io/api/autoscaling/v1/types.go
@@ -193,8 +193,6 @@ const (
type MetricSpec struct {
// type is the type of metric source. It should be one of "ContainerResource",
// "External", "Object", "Pods" or "Resource", each mapping to a matching field in the object.
- // Note: "ContainerResource" type is available on when the feature-gate
- // HPAContainerMetrics is enabled
Type MetricSourceType `json:"type" protobuf:"bytes,1,name=type"`
// object refers to a metric describing a single kubernetes object
@@ -221,7 +219,6 @@ type MetricSpec struct {
// current scale target (e.g. CPU or memory). Such metrics are built in to
// Kubernetes, and have special scaling options on top of those available
// to normal per-pod metrics using the "pods" source.
- // This is an alpha feature and can be enabled by the HPAContainerMetrics feature flag.
// +optional
ContainerResource *ContainerResourceMetricSource `json:"containerResource,omitempty" protobuf:"bytes,7,opt,name=containerResource"`
@@ -355,8 +352,6 @@ type ExternalMetricSource struct {
type MetricStatus struct {
// type is the type of metric source. It will be one of "ContainerResource",
// "External", "Object", "Pods" or "Resource", each corresponds to a matching field in the object.
- // Note: "ContainerResource" type is available on when the feature-gate
- // HPAContainerMetrics is enabled
Type MetricSourceType `json:"type" protobuf:"bytes,1,name=type"`
// object refers to a metric describing a single kubernetes object
diff --git a/vendor/k8s.io/api/autoscaling/v1/types_swagger_doc_generated.go b/vendor/k8s.io/api/autoscaling/v1/types_swagger_doc_generated.go
index 37c2b36a..ba43d06c 100644
--- a/vendor/k8s.io/api/autoscaling/v1/types_swagger_doc_generated.go
+++ b/vendor/k8s.io/api/autoscaling/v1/types_swagger_doc_generated.go
@@ -147,11 +147,11 @@ func (HorizontalPodAutoscalerStatus) SwaggerDoc() map[string]string {
var map_MetricSpec = map[string]string{
"": "MetricSpec specifies how to scale based on a single metric (only `type` and one other matching field should be set at once).",
- "type": "type is the type of metric source. It should be one of \"ContainerResource\", \"External\", \"Object\", \"Pods\" or \"Resource\", each mapping to a matching field in the object. Note: \"ContainerResource\" type is available on when the feature-gate HPAContainerMetrics is enabled",
+ "type": "type is the type of metric source. It should be one of \"ContainerResource\", \"External\", \"Object\", \"Pods\" or \"Resource\", each mapping to a matching field in the object.",
"object": "object refers to a metric describing a single kubernetes object (for example, hits-per-second on an Ingress object).",
"pods": "pods refers to a metric describing each pod in the current scale target (for example, transactions-processed-per-second). The values will be averaged together before being compared to the target value.",
"resource": "resource refers to a resource metric (such as those specified in requests and limits) known to Kubernetes describing each pod in the current scale target (e.g. CPU or memory). Such metrics are built in to Kubernetes, and have special scaling options on top of those available to normal per-pod metrics using the \"pods\" source.",
- "containerResource": "containerResource refers to a resource metric (such as those specified in requests and limits) known to Kubernetes describing a single container in each pod of the current scale target (e.g. CPU or memory). Such metrics are built in to Kubernetes, and have special scaling options on top of those available to normal per-pod metrics using the \"pods\" source. This is an alpha feature and can be enabled by the HPAContainerMetrics feature flag.",
+ "containerResource": "containerResource refers to a resource metric (such as those specified in requests and limits) known to Kubernetes describing a single container in each pod of the current scale target (e.g. CPU or memory). Such metrics are built in to Kubernetes, and have special scaling options on top of those available to normal per-pod metrics using the \"pods\" source.",
"external": "external refers to a global metric that is not associated with any Kubernetes object. It allows autoscaling based on information coming from components running outside of cluster (for example length of queue in cloud messaging service, or QPS from loadbalancer running outside of cluster).",
}
@@ -161,7 +161,7 @@ func (MetricSpec) SwaggerDoc() map[string]string {
var map_MetricStatus = map[string]string{
"": "MetricStatus describes the last-read state of a single metric.",
- "type": "type is the type of metric source. It will be one of \"ContainerResource\", \"External\", \"Object\", \"Pods\" or \"Resource\", each corresponds to a matching field in the object. Note: \"ContainerResource\" type is available on when the feature-gate HPAContainerMetrics is enabled",
+ "type": "type is the type of metric source. It will be one of \"ContainerResource\", \"External\", \"Object\", \"Pods\" or \"Resource\", each corresponds to a matching field in the object.",
"object": "object refers to a metric describing a single kubernetes object (for example, hits-per-second on an Ingress object).",
"pods": "pods refers to a metric describing each pod in the current scale target (for example, transactions-processed-per-second). The values will be averaged together before being compared to the target value.",
"resource": "resource refers to a resource metric (such as those specified in requests and limits) known to Kubernetes describing each pod in the current scale target (e.g. CPU or memory). Such metrics are built in to Kubernetes, and have special scaling options on top of those available to normal per-pod metrics using the \"pods\" source.",
diff --git a/vendor/k8s.io/api/autoscaling/v2/generated.proto b/vendor/k8s.io/api/autoscaling/v2/generated.proto
index 8f2ee580..4e6dc059 100644
--- a/vendor/k8s.io/api/autoscaling/v2/generated.proto
+++ b/vendor/k8s.io/api/autoscaling/v2/generated.proto
@@ -301,8 +301,6 @@ message MetricIdentifier {
message MetricSpec {
// type is the type of metric source. It should be one of "ContainerResource", "External",
// "Object", "Pods" or "Resource", each mapping to a matching field in the object.
- // Note: "ContainerResource" type is available on when the feature-gate
- // HPAContainerMetrics is enabled
optional string type = 1;
// object refers to a metric describing a single kubernetes object
@@ -329,7 +327,6 @@ message MetricSpec {
// each pod of the current scale target (e.g. CPU or memory). Such metrics are
// built in to Kubernetes, and have special scaling options on top of those
// available to normal per-pod metrics using the "pods" source.
- // This is an alpha feature and can be enabled by the HPAContainerMetrics feature flag.
// +optional
optional ContainerResourceMetricSource containerResource = 7;
@@ -346,8 +343,6 @@ message MetricSpec {
message MetricStatus {
// type is the type of metric source. It will be one of "ContainerResource", "External",
// "Object", "Pods" or "Resource", each corresponds to a matching field in the object.
- // Note: "ContainerResource" type is available on when the feature-gate
- // HPAContainerMetrics is enabled
optional string type = 1;
// object refers to a metric describing a single kubernetes object
diff --git a/vendor/k8s.io/api/autoscaling/v2/types.go b/vendor/k8s.io/api/autoscaling/v2/types.go
index 69a7b270..99e8db09 100644
--- a/vendor/k8s.io/api/autoscaling/v2/types.go
+++ b/vendor/k8s.io/api/autoscaling/v2/types.go
@@ -102,8 +102,6 @@ type CrossVersionObjectReference struct {
type MetricSpec struct {
// type is the type of metric source. It should be one of "ContainerResource", "External",
// "Object", "Pods" or "Resource", each mapping to a matching field in the object.
- // Note: "ContainerResource" type is available on when the feature-gate
- // HPAContainerMetrics is enabled
Type MetricSourceType `json:"type" protobuf:"bytes,1,name=type"`
// object refers to a metric describing a single kubernetes object
@@ -130,7 +128,6 @@ type MetricSpec struct {
// each pod of the current scale target (e.g. CPU or memory). Such metrics are
// built in to Kubernetes, and have special scaling options on top of those
// available to normal per-pod metrics using the "pods" source.
- // This is an alpha feature and can be enabled by the HPAContainerMetrics feature flag.
// +optional
ContainerResource *ContainerResourceMetricSource `json:"containerResource,omitempty" protobuf:"bytes,7,opt,name=containerResource"`
@@ -453,8 +450,6 @@ type HorizontalPodAutoscalerCondition struct {
type MetricStatus struct {
// type is the type of metric source. It will be one of "ContainerResource", "External",
// "Object", "Pods" or "Resource", each corresponds to a matching field in the object.
- // Note: "ContainerResource" type is available on when the feature-gate
- // HPAContainerMetrics is enabled
Type MetricSourceType `json:"type" protobuf:"bytes,1,name=type"`
// object refers to a metric describing a single kubernetes object
diff --git a/vendor/k8s.io/api/autoscaling/v2/types_swagger_doc_generated.go b/vendor/k8s.io/api/autoscaling/v2/types_swagger_doc_generated.go
index 1941b1ef..649cd04a 100644
--- a/vendor/k8s.io/api/autoscaling/v2/types_swagger_doc_generated.go
+++ b/vendor/k8s.io/api/autoscaling/v2/types_swagger_doc_generated.go
@@ -185,11 +185,11 @@ func (MetricIdentifier) SwaggerDoc() map[string]string {
var map_MetricSpec = map[string]string{
"": "MetricSpec specifies how to scale based on a single metric (only `type` and one other matching field should be set at once).",
- "type": "type is the type of metric source. It should be one of \"ContainerResource\", \"External\", \"Object\", \"Pods\" or \"Resource\", each mapping to a matching field in the object. Note: \"ContainerResource\" type is available on when the feature-gate HPAContainerMetrics is enabled",
+ "type": "type is the type of metric source. It should be one of \"ContainerResource\", \"External\", \"Object\", \"Pods\" or \"Resource\", each mapping to a matching field in the object.",
"object": "object refers to a metric describing a single kubernetes object (for example, hits-per-second on an Ingress object).",
"pods": "pods refers to a metric describing each pod in the current scale target (for example, transactions-processed-per-second). The values will be averaged together before being compared to the target value.",
"resource": "resource refers to a resource metric (such as those specified in requests and limits) known to Kubernetes describing each pod in the current scale target (e.g. CPU or memory). Such metrics are built in to Kubernetes, and have special scaling options on top of those available to normal per-pod metrics using the \"pods\" source.",
- "containerResource": "containerResource refers to a resource metric (such as those specified in requests and limits) known to Kubernetes describing a single container in each pod of the current scale target (e.g. CPU or memory). Such metrics are built in to Kubernetes, and have special scaling options on top of those available to normal per-pod metrics using the \"pods\" source. This is an alpha feature and can be enabled by the HPAContainerMetrics feature flag.",
+ "containerResource": "containerResource refers to a resource metric (such as those specified in requests and limits) known to Kubernetes describing a single container in each pod of the current scale target (e.g. CPU or memory). Such metrics are built in to Kubernetes, and have special scaling options on top of those available to normal per-pod metrics using the \"pods\" source.",
"external": "external refers to a global metric that is not associated with any Kubernetes object. It allows autoscaling based on information coming from components running outside of cluster (for example length of queue in cloud messaging service, or QPS from loadbalancer running outside of cluster).",
}
@@ -199,7 +199,7 @@ func (MetricSpec) SwaggerDoc() map[string]string {
var map_MetricStatus = map[string]string{
"": "MetricStatus describes the last-read state of a single metric.",
- "type": "type is the type of metric source. It will be one of \"ContainerResource\", \"External\", \"Object\", \"Pods\" or \"Resource\", each corresponds to a matching field in the object. Note: \"ContainerResource\" type is available on when the feature-gate HPAContainerMetrics is enabled",
+ "type": "type is the type of metric source. It will be one of \"ContainerResource\", \"External\", \"Object\", \"Pods\" or \"Resource\", each corresponds to a matching field in the object.",
"object": "object refers to a metric describing a single kubernetes object (for example, hits-per-second on an Ingress object).",
"pods": "pods refers to a metric describing each pod in the current scale target (for example, transactions-processed-per-second). The values will be averaged together before being compared to the target value.",
"resource": "resource refers to a resource metric (such as those specified in requests and limits) known to Kubernetes describing each pod in the current scale target (e.g. CPU or memory). Such metrics are built in to Kubernetes, and have special scaling options on top of those available to normal per-pod metrics using the \"pods\" source.",
diff --git a/vendor/k8s.io/api/autoscaling/v2beta1/generated.proto b/vendor/k8s.io/api/autoscaling/v2beta1/generated.proto
index 232a5981..4b71732a 100644
--- a/vendor/k8s.io/api/autoscaling/v2beta1/generated.proto
+++ b/vendor/k8s.io/api/autoscaling/v2beta1/generated.proto
@@ -260,8 +260,6 @@ message HorizontalPodAutoscalerStatus {
message MetricSpec {
// type is the type of metric source. It should be one of "ContainerResource",
// "External", "Object", "Pods" or "Resource", each mapping to a matching field in the object.
- // Note: "ContainerResource" type is available on when the feature-gate
- // HPAContainerMetrics is enabled
optional string type = 1;
// object refers to a metric describing a single kubernetes object
@@ -288,7 +286,6 @@ message MetricSpec {
// each pod of the current scale target (e.g. CPU or memory). Such metrics are
// built in to Kubernetes, and have special scaling options on top of those
// available to normal per-pod metrics using the "pods" source.
- // This is an alpha feature and can be enabled by the HPAContainerMetrics feature flag.
// +optional
optional ContainerResourceMetricSource containerResource = 7;
@@ -305,8 +302,6 @@ message MetricSpec {
message MetricStatus {
// type is the type of metric source. It will be one of "ContainerResource",
// "External", "Object", "Pods" or "Resource", each corresponds to a matching field in the object.
- // Note: "ContainerResource" type is available on when the feature-gate
- // HPAContainerMetrics is enabled
optional string type = 1;
// object refers to a metric describing a single kubernetes object
diff --git a/vendor/k8s.io/api/autoscaling/v2beta1/types.go b/vendor/k8s.io/api/autoscaling/v2beta1/types.go
index 193cc435..c3abdd9b 100644
--- a/vendor/k8s.io/api/autoscaling/v2beta1/types.go
+++ b/vendor/k8s.io/api/autoscaling/v2beta1/types.go
@@ -96,8 +96,6 @@ const (
type MetricSpec struct {
// type is the type of metric source. It should be one of "ContainerResource",
// "External", "Object", "Pods" or "Resource", each mapping to a matching field in the object.
- // Note: "ContainerResource" type is available on when the feature-gate
- // HPAContainerMetrics is enabled
Type MetricSourceType `json:"type" protobuf:"bytes,1,name=type"`
// object refers to a metric describing a single kubernetes object
@@ -121,7 +119,6 @@ type MetricSpec struct {
// each pod of the current scale target (e.g. CPU or memory). Such metrics are
// built in to Kubernetes, and have special scaling options on top of those
// available to normal per-pod metrics using the "pods" source.
- // This is an alpha feature and can be enabled by the HPAContainerMetrics feature flag.
// +optional
ContainerResource *ContainerResourceMetricSource `json:"containerResource,omitempty" protobuf:"bytes,7,opt,name=containerResource"`
// external refers to a global metric that is not associated
@@ -311,8 +308,6 @@ type HorizontalPodAutoscalerCondition struct {
type MetricStatus struct {
// type is the type of metric source. It will be one of "ContainerResource",
// "External", "Object", "Pods" or "Resource", each corresponds to a matching field in the object.
- // Note: "ContainerResource" type is available on when the feature-gate
- // HPAContainerMetrics is enabled
Type MetricSourceType `json:"type" protobuf:"bytes,1,name=type"`
// object refers to a metric describing a single kubernetes object
diff --git a/vendor/k8s.io/api/autoscaling/v2beta1/types_swagger_doc_generated.go b/vendor/k8s.io/api/autoscaling/v2beta1/types_swagger_doc_generated.go
index d656ee41..c7c72bf3 100644
--- a/vendor/k8s.io/api/autoscaling/v2beta1/types_swagger_doc_generated.go
+++ b/vendor/k8s.io/api/autoscaling/v2beta1/types_swagger_doc_generated.go
@@ -148,11 +148,11 @@ func (HorizontalPodAutoscalerStatus) SwaggerDoc() map[string]string {
var map_MetricSpec = map[string]string{
"": "MetricSpec specifies how to scale based on a single metric (only `type` and one other matching field should be set at once).",
- "type": "type is the type of metric source. It should be one of \"ContainerResource\", \"External\", \"Object\", \"Pods\" or \"Resource\", each mapping to a matching field in the object. Note: \"ContainerResource\" type is available on when the feature-gate HPAContainerMetrics is enabled",
+ "type": "type is the type of metric source. It should be one of \"ContainerResource\", \"External\", \"Object\", \"Pods\" or \"Resource\", each mapping to a matching field in the object.",
"object": "object refers to a metric describing a single kubernetes object (for example, hits-per-second on an Ingress object).",
"pods": "pods refers to a metric describing each pod in the current scale target (for example, transactions-processed-per-second). The values will be averaged together before being compared to the target value.",
"resource": "resource refers to a resource metric (such as those specified in requests and limits) known to Kubernetes describing each pod in the current scale target (e.g. CPU or memory). Such metrics are built in to Kubernetes, and have special scaling options on top of those available to normal per-pod metrics using the \"pods\" source.",
- "containerResource": "container resource refers to a resource metric (such as those specified in requests and limits) known to Kubernetes describing a single container in each pod of the current scale target (e.g. CPU or memory). Such metrics are built in to Kubernetes, and have special scaling options on top of those available to normal per-pod metrics using the \"pods\" source. This is an alpha feature and can be enabled by the HPAContainerMetrics feature flag.",
+ "containerResource": "container resource refers to a resource metric (such as those specified in requests and limits) known to Kubernetes describing a single container in each pod of the current scale target (e.g. CPU or memory). Such metrics are built in to Kubernetes, and have special scaling options on top of those available to normal per-pod metrics using the \"pods\" source.",
"external": "external refers to a global metric that is not associated with any Kubernetes object. It allows autoscaling based on information coming from components running outside of cluster (for example length of queue in cloud messaging service, or QPS from loadbalancer running outside of cluster).",
}
@@ -162,7 +162,7 @@ func (MetricSpec) SwaggerDoc() map[string]string {
var map_MetricStatus = map[string]string{
"": "MetricStatus describes the last-read state of a single metric.",
- "type": "type is the type of metric source. It will be one of \"ContainerResource\", \"External\", \"Object\", \"Pods\" or \"Resource\", each corresponds to a matching field in the object. Note: \"ContainerResource\" type is available on when the feature-gate HPAContainerMetrics is enabled",
+ "type": "type is the type of metric source. It will be one of \"ContainerResource\", \"External\", \"Object\", \"Pods\" or \"Resource\", each corresponds to a matching field in the object.",
"object": "object refers to a metric describing a single kubernetes object (for example, hits-per-second on an Ingress object).",
"pods": "pods refers to a metric describing each pod in the current scale target (for example, transactions-processed-per-second). The values will be averaged together before being compared to the target value.",
"resource": "resource refers to a resource metric (such as those specified in requests and limits) known to Kubernetes describing each pod in the current scale target (e.g. CPU or memory). Such metrics are built in to Kubernetes, and have special scaling options on top of those available to normal per-pod metrics using the \"pods\" source.",
diff --git a/vendor/k8s.io/api/autoscaling/v2beta2/generated.proto b/vendor/k8s.io/api/autoscaling/v2beta2/generated.proto
index c88fc1fe..941d9752 100644
--- a/vendor/k8s.io/api/autoscaling/v2beta2/generated.proto
+++ b/vendor/k8s.io/api/autoscaling/v2beta2/generated.proto
@@ -297,8 +297,6 @@ message MetricIdentifier {
message MetricSpec {
// type is the type of metric source. It should be one of "ContainerResource", "External",
// "Object", "Pods" or "Resource", each mapping to a matching field in the object.
- // Note: "ContainerResource" type is available on when the feature-gate
- // HPAContainerMetrics is enabled
optional string type = 1;
// object refers to a metric describing a single kubernetes object
@@ -325,7 +323,6 @@ message MetricSpec {
// each pod of the current scale target (e.g. CPU or memory). Such metrics are
// built in to Kubernetes, and have special scaling options on top of those
// available to normal per-pod metrics using the "pods" source.
- // This is an alpha feature and can be enabled by the HPAContainerMetrics feature flag.
// +optional
optional ContainerResourceMetricSource containerResource = 7;
@@ -342,8 +339,6 @@ message MetricSpec {
message MetricStatus {
// type is the type of metric source. It will be one of "ContainerResource", "External",
// "Object", "Pods" or "Resource", each corresponds to a matching field in the object.
- // Note: "ContainerResource" type is available on when the feature-gate
- // HPAContainerMetrics is enabled
optional string type = 1;
// object refers to a metric describing a single kubernetes object
diff --git a/vendor/k8s.io/api/autoscaling/v2beta2/types.go b/vendor/k8s.io/api/autoscaling/v2beta2/types.go
index 2fee0b8a..bc9677b1 100644
--- a/vendor/k8s.io/api/autoscaling/v2beta2/types.go
+++ b/vendor/k8s.io/api/autoscaling/v2beta2/types.go
@@ -104,8 +104,6 @@ type CrossVersionObjectReference struct {
type MetricSpec struct {
// type is the type of metric source. It should be one of "ContainerResource", "External",
// "Object", "Pods" or "Resource", each mapping to a matching field in the object.
- // Note: "ContainerResource" type is available on when the feature-gate
- // HPAContainerMetrics is enabled
Type MetricSourceType `json:"type" protobuf:"bytes,1,name=type"`
// object refers to a metric describing a single kubernetes object
@@ -132,7 +130,6 @@ type MetricSpec struct {
// each pod of the current scale target (e.g. CPU or memory). Such metrics are
// built in to Kubernetes, and have special scaling options on top of those
// available to normal per-pod metrics using the "pods" source.
- // This is an alpha feature and can be enabled by the HPAContainerMetrics feature flag.
// +optional
ContainerResource *ContainerResourceMetricSource `json:"containerResource,omitempty" protobuf:"bytes,7,opt,name=containerResource"`
@@ -449,8 +446,6 @@ type HorizontalPodAutoscalerCondition struct {
type MetricStatus struct {
// type is the type of metric source. It will be one of "ContainerResource", "External",
// "Object", "Pods" or "Resource", each corresponds to a matching field in the object.
- // Note: "ContainerResource" type is available on when the feature-gate
- // HPAContainerMetrics is enabled
Type MetricSourceType `json:"type" protobuf:"bytes,1,name=type"`
// object refers to a metric describing a single kubernetes object
diff --git a/vendor/k8s.io/api/autoscaling/v2beta2/types_swagger_doc_generated.go b/vendor/k8s.io/api/autoscaling/v2beta2/types_swagger_doc_generated.go
index 4af7d0ec..5d4bb86b 100644
--- a/vendor/k8s.io/api/autoscaling/v2beta2/types_swagger_doc_generated.go
+++ b/vendor/k8s.io/api/autoscaling/v2beta2/types_swagger_doc_generated.go
@@ -185,11 +185,11 @@ func (MetricIdentifier) SwaggerDoc() map[string]string {
var map_MetricSpec = map[string]string{
"": "MetricSpec specifies how to scale based on a single metric (only `type` and one other matching field should be set at once).",
- "type": "type is the type of metric source. It should be one of \"ContainerResource\", \"External\", \"Object\", \"Pods\" or \"Resource\", each mapping to a matching field in the object. Note: \"ContainerResource\" type is available on when the feature-gate HPAContainerMetrics is enabled",
+ "type": "type is the type of metric source. It should be one of \"ContainerResource\", \"External\", \"Object\", \"Pods\" or \"Resource\", each mapping to a matching field in the object.",
"object": "object refers to a metric describing a single kubernetes object (for example, hits-per-second on an Ingress object).",
"pods": "pods refers to a metric describing each pod in the current scale target (for example, transactions-processed-per-second). The values will be averaged together before being compared to the target value.",
"resource": "resource refers to a resource metric (such as those specified in requests and limits) known to Kubernetes describing each pod in the current scale target (e.g. CPU or memory). Such metrics are built in to Kubernetes, and have special scaling options on top of those available to normal per-pod metrics using the \"pods\" source.",
- "containerResource": "container resource refers to a resource metric (such as those specified in requests and limits) known to Kubernetes describing a single container in each pod of the current scale target (e.g. CPU or memory). Such metrics are built in to Kubernetes, and have special scaling options on top of those available to normal per-pod metrics using the \"pods\" source. This is an alpha feature and can be enabled by the HPAContainerMetrics feature flag.",
+ "containerResource": "container resource refers to a resource metric (such as those specified in requests and limits) known to Kubernetes describing a single container in each pod of the current scale target (e.g. CPU or memory). Such metrics are built in to Kubernetes, and have special scaling options on top of those available to normal per-pod metrics using the \"pods\" source.",
"external": "external refers to a global metric that is not associated with any Kubernetes object. It allows autoscaling based on information coming from components running outside of cluster (for example length of queue in cloud messaging service, or QPS from loadbalancer running outside of cluster).",
}
@@ -199,7 +199,7 @@ func (MetricSpec) SwaggerDoc() map[string]string {
var map_MetricStatus = map[string]string{
"": "MetricStatus describes the last-read state of a single metric.",
- "type": "type is the type of metric source. It will be one of \"ContainerResource\", \"External\", \"Object\", \"Pods\" or \"Resource\", each corresponds to a matching field in the object. Note: \"ContainerResource\" type is available on when the feature-gate HPAContainerMetrics is enabled",
+ "type": "type is the type of metric source. It will be one of \"ContainerResource\", \"External\", \"Object\", \"Pods\" or \"Resource\", each corresponds to a matching field in the object.",
"object": "object refers to a metric describing a single kubernetes object (for example, hits-per-second on an Ingress object).",
"pods": "pods refers to a metric describing each pod in the current scale target (for example, transactions-processed-per-second). The values will be averaged together before being compared to the target value.",
"resource": "resource refers to a resource metric (such as those specified in requests and limits) known to Kubernetes describing each pod in the current scale target (e.g. CPU or memory). Such metrics are built in to Kubernetes, and have special scaling options on top of those available to normal per-pod metrics using the \"pods\" source.",
diff --git a/vendor/k8s.io/api/batch/v1/generated.proto b/vendor/k8s.io/api/batch/v1/generated.proto
index f5a9385f..361ebdca 100644
--- a/vendor/k8s.io/api/batch/v1/generated.proto
+++ b/vendor/k8s.io/api/batch/v1/generated.proto
@@ -350,8 +350,8 @@ message JobSpec {
// characters as defined by RFC 3986. The value cannot exceed 63 characters.
// This field is immutable.
//
- // This field is alpha-level. The job controller accepts setting the field
- // when the feature gate JobManagedBy is enabled (disabled by default).
+ // This field is beta-level. The job controller accepts setting the field
+ // when the feature gate JobManagedBy is enabled (enabled by default).
// +optional
optional string managedBy = 15;
}
diff --git a/vendor/k8s.io/api/batch/v1/types.go b/vendor/k8s.io/api/batch/v1/types.go
index b42ec231..8e9a761b 100644
--- a/vendor/k8s.io/api/batch/v1/types.go
+++ b/vendor/k8s.io/api/batch/v1/types.go
@@ -29,7 +29,6 @@ const (
// CronJobScheduledTimestampAnnotation is the scheduled timestamp annotation for the Job.
// It records the original/expected scheduled timestamp for the running job, represented in RFC3339.
- // The CronJob controller adds this annotation if the CronJobsScheduledAnnotation feature gate (beta in 1.28) is enabled.
CronJobScheduledTimestampAnnotation = labelPrefix + "cronjob-scheduled-timestamp"
JobCompletionIndexAnnotation = labelPrefix + "job-completion-index"
@@ -480,8 +479,8 @@ type JobSpec struct {
// characters as defined by RFC 3986. The value cannot exceed 63 characters.
// This field is immutable.
//
- // This field is alpha-level. The job controller accepts setting the field
- // when the feature gate JobManagedBy is enabled (disabled by default).
+ // This field is beta-level. The job controller accepts setting the field
+ // when the feature gate JobManagedBy is enabled (enabled by default).
// +optional
ManagedBy *string `json:"managedBy,omitempty" protobuf:"bytes,15,opt,name=managedBy"`
}
diff --git a/vendor/k8s.io/api/batch/v1/types_swagger_doc_generated.go b/vendor/k8s.io/api/batch/v1/types_swagger_doc_generated.go
index d5048878..893f3371 100644
--- a/vendor/k8s.io/api/batch/v1/types_swagger_doc_generated.go
+++ b/vendor/k8s.io/api/batch/v1/types_swagger_doc_generated.go
@@ -127,7 +127,7 @@ var map_JobSpec = map[string]string{
"completionMode": "completionMode specifies how Pod completions are tracked. It can be `NonIndexed` (default) or `Indexed`.\n\n`NonIndexed` means that the Job is considered complete when there have been .spec.completions successfully completed Pods. Each Pod completion is homologous to each other.\n\n`Indexed` means that the Pods of a Job get an associated completion index from 0 to (.spec.completions - 1), available in the annotation batch.kubernetes.io/job-completion-index. The Job is considered complete when there is one successfully completed Pod for each index. When value is `Indexed`, .spec.completions must be specified and `.spec.parallelism` must be less than or equal to 10^5. In addition, The Pod name takes the form `$(job-name)-$(index)-$(random-string)`, the Pod hostname takes the form `$(job-name)-$(index)`.\n\nMore completion modes can be added in the future. If the Job controller observes a mode that it doesn't recognize, which is possible during upgrades due to version skew, the controller skips updates for the Job.",
"suspend": "suspend specifies whether the Job controller should create Pods or not. If a Job is created with suspend set to true, no Pods are created by the Job controller. If a Job is suspended after creation (i.e. the flag goes from false to true), the Job controller will delete all active Pods associated with this Job. Users must design their workload to gracefully handle this. Suspending a Job will reset the StartTime field of the Job, effectively resetting the ActiveDeadlineSeconds timer too. Defaults to false.",
"podReplacementPolicy": "podReplacementPolicy specifies when to create replacement Pods. Possible values are: - TerminatingOrFailed means that we recreate pods\n when they are terminating (has a metadata.deletionTimestamp) or failed.\n- Failed means to wait until a previously created Pod is fully terminated (has phase\n Failed or Succeeded) before creating a replacement Pod.\n\nWhen using podFailurePolicy, Failed is the the only allowed value. TerminatingOrFailed and Failed are allowed values when podFailurePolicy is not in use. This is an beta field. To use this, enable the JobPodReplacementPolicy feature toggle. This is on by default.",
- "managedBy": "ManagedBy field indicates the controller that manages a Job. The k8s Job controller reconciles jobs which don't have this field at all or the field value is the reserved string `kubernetes.io/job-controller`, but skips reconciling Jobs with a custom value for this field. The value must be a valid domain-prefixed path (e.g. acme.io/foo) - all characters before the first \"/\" must be a valid subdomain as defined by RFC 1123. All characters trailing the first \"/\" must be valid HTTP Path characters as defined by RFC 3986. The value cannot exceed 63 characters. This field is immutable.\n\nThis field is alpha-level. The job controller accepts setting the field when the feature gate JobManagedBy is enabled (disabled by default).",
+ "managedBy": "ManagedBy field indicates the controller that manages a Job. The k8s Job controller reconciles jobs which don't have this field at all or the field value is the reserved string `kubernetes.io/job-controller`, but skips reconciling Jobs with a custom value for this field. The value must be a valid domain-prefixed path (e.g. acme.io/foo) - all characters before the first \"/\" must be a valid subdomain as defined by RFC 1123. All characters trailing the first \"/\" must be valid HTTP Path characters as defined by RFC 3986. The value cannot exceed 63 characters. This field is immutable.\n\nThis field is beta-level. The job controller accepts setting the field when the feature gate JobManagedBy is enabled (enabled by default).",
}
func (JobSpec) SwaggerDoc() map[string]string {
diff --git a/vendor/k8s.io/api/certificates/v1alpha1/types.go b/vendor/k8s.io/api/certificates/v1alpha1/types.go
index 1a9fda01..beef0259 100644
--- a/vendor/k8s.io/api/certificates/v1alpha1/types.go
+++ b/vendor/k8s.io/api/certificates/v1alpha1/types.go
@@ -23,6 +23,7 @@ import (
// +genclient
// +genclient:nonNamespaced
// +k8s:prerelease-lifecycle-gen:introduced=1.26
+// +k8s:prerelease-lifecycle-gen:deprecated=1.34
// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
// ClusterTrustBundle is a cluster-scoped container for X.509 trust anchors
@@ -90,6 +91,7 @@ type ClusterTrustBundleSpec struct {
}
// +k8s:prerelease-lifecycle-gen:introduced=1.26
+// +k8s:prerelease-lifecycle-gen:deprecated=1.34
// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
// ClusterTrustBundleList is a collection of ClusterTrustBundle objects
diff --git a/vendor/k8s.io/api/certificates/v1alpha1/zz_generated.prerelease-lifecycle.go b/vendor/k8s.io/api/certificates/v1alpha1/zz_generated.prerelease-lifecycle.go
index dfafa656..3121a87d 100644
--- a/vendor/k8s.io/api/certificates/v1alpha1/zz_generated.prerelease-lifecycle.go
+++ b/vendor/k8s.io/api/certificates/v1alpha1/zz_generated.prerelease-lifecycle.go
@@ -30,13 +30,13 @@ func (in *ClusterTrustBundle) APILifecycleIntroduced() (major, minor int) {
// APILifecycleDeprecated is an autogenerated function, returning the release in which the API struct was or will be deprecated as int versions of major and minor for comparison.
// It is controlled by "k8s:prerelease-lifecycle-gen:deprecated" tags in types.go or "k8s:prerelease-lifecycle-gen:introduced" plus three minor.
func (in *ClusterTrustBundle) APILifecycleDeprecated() (major, minor int) {
- return 1, 29
+ return 1, 34
}
// APILifecycleRemoved is an autogenerated function, returning the release in which the API is no longer served as int versions of major and minor for comparison.
// It is controlled by "k8s:prerelease-lifecycle-gen:removed" tags in types.go or "k8s:prerelease-lifecycle-gen:deprecated" plus three minor.
func (in *ClusterTrustBundle) APILifecycleRemoved() (major, minor int) {
- return 1, 32
+ return 1, 37
}
// APILifecycleIntroduced is an autogenerated function, returning the release in which the API struct was introduced as int versions of major and minor for comparison.
@@ -48,11 +48,11 @@ func (in *ClusterTrustBundleList) APILifecycleIntroduced() (major, minor int) {
// APILifecycleDeprecated is an autogenerated function, returning the release in which the API struct was or will be deprecated as int versions of major and minor for comparison.
// It is controlled by "k8s:prerelease-lifecycle-gen:deprecated" tags in types.go or "k8s:prerelease-lifecycle-gen:introduced" plus three minor.
func (in *ClusterTrustBundleList) APILifecycleDeprecated() (major, minor int) {
- return 1, 29
+ return 1, 34
}
// APILifecycleRemoved is an autogenerated function, returning the release in which the API is no longer served as int versions of major and minor for comparison.
// It is controlled by "k8s:prerelease-lifecycle-gen:removed" tags in types.go or "k8s:prerelease-lifecycle-gen:deprecated" plus three minor.
func (in *ClusterTrustBundleList) APILifecycleRemoved() (major, minor int) {
- return 1, 32
+ return 1, 37
}
diff --git a/vendor/k8s.io/api/coordination/v1alpha1/doc.go b/vendor/k8s.io/api/coordination/v1alpha2/doc.go
similarity index 92%
rename from vendor/k8s.io/api/coordination/v1alpha1/doc.go
rename to vendor/k8s.io/api/coordination/v1alpha2/doc.go
index 33a0b0ea..5e6d6553 100644
--- a/vendor/k8s.io/api/coordination/v1alpha1/doc.go
+++ b/vendor/k8s.io/api/coordination/v1alpha2/doc.go
@@ -21,4 +21,4 @@ limitations under the License.
// +groupName=coordination.k8s.io
-package v1alpha1 // import "k8s.io/api/coordination/v1alpha1"
+package v1alpha2 // import "k8s.io/api/coordination/v1alpha2"
diff --git a/vendor/k8s.io/api/coordination/v1alpha1/generated.pb.go b/vendor/k8s.io/api/coordination/v1alpha2/generated.pb.go
similarity index 82%
rename from vendor/k8s.io/api/coordination/v1alpha1/generated.pb.go
rename to vendor/k8s.io/api/coordination/v1alpha2/generated.pb.go
index 9e072e62..85ceea1f 100644
--- a/vendor/k8s.io/api/coordination/v1alpha1/generated.pb.go
+++ b/vendor/k8s.io/api/coordination/v1alpha2/generated.pb.go
@@ -15,9 +15,9 @@ limitations under the License.
*/
// Code generated by protoc-gen-gogo. DO NOT EDIT.
-// source: k8s.io/api/coordination/v1alpha1/generated.proto
+// source: k8s.io/api/coordination/v1alpha2/generated.proto
-package v1alpha1
+package v1alpha2
import (
fmt "fmt"
@@ -49,7 +49,7 @@ const _ = proto.GoGoProtoPackageIsVersion3 // please upgrade the proto package
func (m *LeaseCandidate) Reset() { *m = LeaseCandidate{} }
func (*LeaseCandidate) ProtoMessage() {}
func (*LeaseCandidate) Descriptor() ([]byte, []int) {
- return fileDescriptor_cb9e87df9da593c2, []int{0}
+ return fileDescriptor_c1ec5c989d262916, []int{0}
}
func (m *LeaseCandidate) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -77,7 +77,7 @@ var xxx_messageInfo_LeaseCandidate proto.InternalMessageInfo
func (m *LeaseCandidateList) Reset() { *m = LeaseCandidateList{} }
func (*LeaseCandidateList) ProtoMessage() {}
func (*LeaseCandidateList) Descriptor() ([]byte, []int) {
- return fileDescriptor_cb9e87df9da593c2, []int{1}
+ return fileDescriptor_c1ec5c989d262916, []int{1}
}
func (m *LeaseCandidateList) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -105,7 +105,7 @@ var xxx_messageInfo_LeaseCandidateList proto.InternalMessageInfo
func (m *LeaseCandidateSpec) Reset() { *m = LeaseCandidateSpec{} }
func (*LeaseCandidateSpec) ProtoMessage() {}
func (*LeaseCandidateSpec) Descriptor() ([]byte, []int) {
- return fileDescriptor_cb9e87df9da593c2, []int{2}
+ return fileDescriptor_c1ec5c989d262916, []int{2}
}
func (m *LeaseCandidateSpec) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -131,53 +131,52 @@ func (m *LeaseCandidateSpec) XXX_DiscardUnknown() {
var xxx_messageInfo_LeaseCandidateSpec proto.InternalMessageInfo
func init() {
- proto.RegisterType((*LeaseCandidate)(nil), "k8s.io.api.coordination.v1alpha1.LeaseCandidate")
- proto.RegisterType((*LeaseCandidateList)(nil), "k8s.io.api.coordination.v1alpha1.LeaseCandidateList")
- proto.RegisterType((*LeaseCandidateSpec)(nil), "k8s.io.api.coordination.v1alpha1.LeaseCandidateSpec")
+ proto.RegisterType((*LeaseCandidate)(nil), "k8s.io.api.coordination.v1alpha2.LeaseCandidate")
+ proto.RegisterType((*LeaseCandidateList)(nil), "k8s.io.api.coordination.v1alpha2.LeaseCandidateList")
+ proto.RegisterType((*LeaseCandidateSpec)(nil), "k8s.io.api.coordination.v1alpha2.LeaseCandidateSpec")
}
func init() {
- proto.RegisterFile("k8s.io/api/coordination/v1alpha1/generated.proto", fileDescriptor_cb9e87df9da593c2)
+ proto.RegisterFile("k8s.io/api/coordination/v1alpha2/generated.proto", fileDescriptor_c1ec5c989d262916)
}
-var fileDescriptor_cb9e87df9da593c2 = []byte{
- // 570 bytes of a gzipped FileDescriptorProto
- 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x94, 0xcb, 0x6e, 0xd3, 0x4c,
- 0x14, 0xc7, 0xe3, 0x36, 0xf9, 0x94, 0xcc, 0xd7, 0xa0, 0x30, 0x15, 0x92, 0x95, 0x85, 0x13, 0x65,
- 0x55, 0x21, 0x31, 0x6e, 0xa0, 0x42, 0x48, 0xec, 0x5c, 0x40, 0x42, 0x4a, 0x4b, 0xe5, 0x42, 0x25,
- 0x50, 0x17, 0x4c, 0xec, 0x53, 0x67, 0x48, 0x7c, 0xd1, 0x78, 0x52, 0x94, 0x5d, 0x17, 0x3c, 0x00,
- 0x8f, 0x15, 0x58, 0x75, 0xd9, 0x55, 0x44, 0xcc, 0x5b, 0xb0, 0x42, 0x33, 0xb1, 0x73, 0x6d, 0x94,
- 0x88, 0x5d, 0xce, 0xe5, 0xf7, 0x3f, 0xe7, 0x7f, 0xac, 0x0c, 0x3a, 0xec, 0xbe, 0x88, 0x09, 0x0b,
- 0x4d, 0x1a, 0x31, 0xd3, 0x09, 0x43, 0xee, 0xb2, 0x80, 0x0a, 0x16, 0x06, 0xe6, 0x75, 0x93, 0xf6,
- 0xa2, 0x0e, 0x6d, 0x9a, 0x1e, 0x04, 0xc0, 0xa9, 0x00, 0x97, 0x44, 0x3c, 0x14, 0x21, 0xae, 0x4f,
- 0x08, 0x42, 0x23, 0x46, 0xe6, 0x09, 0x92, 0x11, 0xd5, 0x27, 0x1e, 0x13, 0x9d, 0x7e, 0x9b, 0x38,
- 0xa1, 0x6f, 0x7a, 0xa1, 0x17, 0x9a, 0x0a, 0x6c, 0xf7, 0xaf, 0x54, 0xa4, 0x02, 0xf5, 0x6b, 0x22,
- 0x58, 0x7d, 0xbc, 0x7e, 0x85, 0xe5, 0xe1, 0xd5, 0xa3, 0x59, 0xaf, 0x4f, 0x9d, 0x0e, 0x0b, 0x80,
- 0x0f, 0xcc, 0xa8, 0xeb, 0xc9, 0x44, 0x6c, 0xfa, 0x20, 0xe8, 0x7d, 0x94, 0xb9, 0x8e, 0xe2, 0xfd,
- 0x40, 0x30, 0x1f, 0x56, 0x80, 0xe7, 0x9b, 0x80, 0xd8, 0xe9, 0x80, 0x4f, 0x97, 0xb9, 0xc6, 0x4f,
- 0x0d, 0x3d, 0x68, 0x01, 0x8d, 0xe1, 0x98, 0x06, 0x2e, 0x73, 0xa9, 0x00, 0xfc, 0x19, 0x15, 0xe5,
- 0x5a, 0x2e, 0x15, 0x54, 0xd7, 0xea, 0xda, 0xc1, 0xff, 0x4f, 0x0f, 0xc9, 0xec, 0x82, 0x53, 0x75,
- 0x12, 0x75, 0x3d, 0x99, 0x88, 0x89, 0xec, 0x26, 0xd7, 0x4d, 0xf2, 0xae, 0xfd, 0x05, 0x1c, 0x71,
- 0x02, 0x82, 0x5a, 0x78, 0x38, 0xaa, 0xe5, 0x92, 0x51, 0x0d, 0xcd, 0x72, 0xf6, 0x54, 0x15, 0x5f,
- 0xa0, 0x7c, 0x1c, 0x81, 0xa3, 0xef, 0x28, 0xf5, 0x23, 0xb2, 0xe9, 0xfb, 0x90, 0xc5, 0x0d, 0xcf,
- 0x23, 0x70, 0xac, 0xbd, 0x74, 0x42, 0x5e, 0x46, 0xb6, 0xd2, 0x6b, 0xfc, 0xd0, 0x10, 0x5e, 0x6c,
- 0x6d, 0xb1, 0x58, 0xe0, 0xcb, 0x15, 0x43, 0x64, 0x3b, 0x43, 0x92, 0x56, 0x76, 0x2a, 0xe9, 0xb0,
- 0x62, 0x96, 0x99, 0x33, 0xf3, 0x01, 0x15, 0x98, 0x00, 0x3f, 0xd6, 0x77, 0xea, 0xbb, 0x4b, 0xb7,
- 0xda, 0xca, 0x8d, 0x55, 0x4e, 0xc5, 0x0b, 0x6f, 0xa5, 0x8c, 0x3d, 0x51, 0x6b, 0x7c, 0xcb, 0x2f,
- 0x7b, 0x91, 0x46, 0xb1, 0x89, 0x4a, 0x3d, 0x99, 0x3d, 0xa5, 0x3e, 0x28, 0x33, 0x25, 0xeb, 0x61,
- 0xca, 0x97, 0x5a, 0x59, 0xc1, 0x9e, 0xf5, 0xe0, 0x8f, 0xa8, 0x18, 0xb1, 0xc0, 0x7b, 0xcf, 0x7c,
- 0x48, 0xef, 0x6d, 0x6e, 0x67, 0xfe, 0x84, 0x39, 0x3c, 0x94, 0x98, 0xb5, 0x27, 0x9d, 0x9f, 0xa5,
- 0x22, 0xf6, 0x54, 0x0e, 0x5f, 0xa2, 0x12, 0x87, 0x00, 0xbe, 0x2a, 0xed, 0xdd, 0x7f, 0xd3, 0x2e,
- 0xcb, 0xc5, 0xed, 0x4c, 0xc5, 0x9e, 0x09, 0xe2, 0x97, 0xa8, 0xdc, 0x66, 0x01, 0xe5, 0x83, 0x0b,
- 0xe0, 0x31, 0x0b, 0x03, 0x3d, 0xaf, 0xdc, 0x3e, 0x4a, 0xdd, 0x96, 0xad, 0xf9, 0xa2, 0xbd, 0xd8,
- 0x8b, 0x5f, 0xa1, 0x0a, 0xf8, 0xfd, 0x9e, 0x3a, 0x7c, 0xc6, 0x17, 0x14, 0xaf, 0xa7, 0x7c, 0xe5,
- 0xf5, 0x52, 0xdd, 0x5e, 0x21, 0xf0, 0x8d, 0x86, 0xf6, 0x23, 0x0e, 0x57, 0xc0, 0x39, 0xb8, 0xe7,
- 0x42, 0xfe, 0x6f, 0x3c, 0x06, 0xb1, 0xfe, 0x5f, 0x7d, 0xf7, 0xa0, 0x64, 0x9d, 0x26, 0xa3, 0xda,
- 0xfe, 0xd9, 0x6a, 0xf9, 0xcf, 0xa8, 0xf6, 0x6c, 0xfd, 0x03, 0x41, 0x8e, 0xb3, 0x18, 0x5c, 0xf5,
- 0xc1, 0x52, 0x70, 0x60, 0xdf, 0x37, 0xca, 0x7a, 0x33, 0x1c, 0x1b, 0xb9, 0xdb, 0xb1, 0x91, 0xbb,
- 0x1b, 0x1b, 0xb9, 0x9b, 0xc4, 0xd0, 0x86, 0x89, 0xa1, 0xdd, 0x26, 0x86, 0x76, 0x97, 0x18, 0xda,
- 0xaf, 0xc4, 0xd0, 0xbe, 0xff, 0x36, 0x72, 0x9f, 0xea, 0x9b, 0xde, 0xc4, 0xbf, 0x01, 0x00, 0x00,
- 0xff, 0xff, 0x05, 0x28, 0x49, 0xd9, 0x36, 0x05, 0x00, 0x00,
+var fileDescriptor_c1ec5c989d262916 = []byte{
+ // 555 bytes of a gzipped FileDescriptorProto
+ 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x94, 0x4f, 0x8b, 0xd3, 0x4e,
+ 0x18, 0xc7, 0x9b, 0xdd, 0xf6, 0x47, 0x3b, 0xbf, 0xad, 0xd4, 0x01, 0x21, 0xf4, 0x90, 0x96, 0x9e,
+ 0x44, 0x70, 0x66, 0x77, 0x5d, 0x44, 0xf0, 0x96, 0xf5, 0x0f, 0x42, 0x57, 0x25, 0xab, 0x0b, 0xca,
+ 0x1e, 0x9c, 0x26, 0x8f, 0xe9, 0xd8, 0x26, 0x13, 0x92, 0xe9, 0x4a, 0x6f, 0xbe, 0x04, 0x5f, 0x56,
+ 0xf5, 0xb4, 0xc7, 0x3d, 0x15, 0x1b, 0xc1, 0x17, 0xe1, 0x49, 0x66, 0x9a, 0xf4, 0xaf, 0xa5, 0xc5,
+ 0x5b, 0xe7, 0x99, 0xe7, 0xf3, 0x99, 0xf9, 0x3e, 0x69, 0x82, 0x0e, 0x7b, 0x8f, 0x12, 0xc2, 0x05,
+ 0x65, 0x11, 0xa7, 0xae, 0x10, 0xb1, 0xc7, 0x43, 0x26, 0xb9, 0x08, 0xe9, 0xd5, 0x11, 0xeb, 0x47,
+ 0x5d, 0x76, 0x4c, 0x7d, 0x08, 0x21, 0x66, 0x12, 0x3c, 0x12, 0xc5, 0x42, 0x0a, 0xdc, 0x9c, 0x12,
+ 0x84, 0x45, 0x9c, 0x2c, 0x12, 0x24, 0x27, 0xea, 0xf7, 0x7d, 0x2e, 0xbb, 0x83, 0x0e, 0x71, 0x45,
+ 0x40, 0x7d, 0xe1, 0x0b, 0xaa, 0xc1, 0xce, 0xe0, 0xa3, 0x5e, 0xe9, 0x85, 0xfe, 0x35, 0x15, 0xd6,
+ 0xef, 0x6d, 0xbe, 0xc2, 0xea, 0xe1, 0xf5, 0x93, 0x79, 0x6f, 0xc0, 0xdc, 0x2e, 0x0f, 0x21, 0x1e,
+ 0xd2, 0xa8, 0xe7, 0xab, 0x42, 0x42, 0x03, 0x90, 0xec, 0x6f, 0x14, 0xdd, 0x44, 0xc5, 0x83, 0x50,
+ 0xf2, 0x00, 0xd6, 0x80, 0x87, 0xdb, 0x80, 0xc4, 0xed, 0x42, 0xc0, 0x56, 0xb9, 0xd6, 0x77, 0x03,
+ 0xdd, 0x6a, 0x03, 0x4b, 0xe0, 0x94, 0x85, 0x1e, 0xf7, 0x98, 0x04, 0xfc, 0x01, 0x95, 0xd5, 0xb5,
+ 0x3c, 0x26, 0x99, 0x69, 0x34, 0x8d, 0xbb, 0xff, 0x1f, 0x1f, 0x92, 0xf9, 0x04, 0x67, 0x76, 0x12,
+ 0xf5, 0x7c, 0x55, 0x48, 0x88, 0xea, 0x26, 0x57, 0x47, 0xe4, 0x55, 0xe7, 0x13, 0xb8, 0xf2, 0x0c,
+ 0x24, 0xb3, 0xf1, 0x68, 0xdc, 0x28, 0xa4, 0xe3, 0x06, 0x9a, 0xd7, 0x9c, 0x99, 0x15, 0x5f, 0xa0,
+ 0x62, 0x12, 0x81, 0x6b, 0xee, 0x69, 0xfb, 0x09, 0xd9, 0xf6, 0x7c, 0xc8, 0xf2, 0x0d, 0xcf, 0x23,
+ 0x70, 0xed, 0x83, 0xec, 0x84, 0xa2, 0x5a, 0x39, 0xda, 0xd7, 0xfa, 0x66, 0x20, 0xbc, 0xdc, 0xda,
+ 0xe6, 0x89, 0xc4, 0x97, 0x6b, 0x81, 0xc8, 0x6e, 0x81, 0x14, 0xad, 0xe3, 0xd4, 0xb2, 0xc3, 0xca,
+ 0x79, 0x65, 0x21, 0xcc, 0x5b, 0x54, 0xe2, 0x12, 0x82, 0xc4, 0xdc, 0x6b, 0xee, 0xaf, 0xcc, 0x6a,
+ 0xa7, 0x34, 0x76, 0x35, 0x93, 0x97, 0x5e, 0x28, 0x8d, 0x33, 0xb5, 0xb5, 0x7e, 0xed, 0xaf, 0x66,
+ 0x51, 0x41, 0x31, 0x45, 0x95, 0xbe, 0xaa, 0xbe, 0x64, 0x01, 0xe8, 0x30, 0x15, 0xfb, 0x76, 0xc6,
+ 0x57, 0xda, 0xf9, 0x86, 0x33, 0xef, 0xc1, 0xef, 0x50, 0x39, 0xe2, 0xa1, 0xff, 0x86, 0x07, 0x90,
+ 0xcd, 0x9b, 0xee, 0x16, 0xfe, 0x8c, 0xbb, 0xb1, 0x50, 0x98, 0x7d, 0xa0, 0x92, 0xbf, 0xce, 0x24,
+ 0xce, 0x4c, 0x87, 0x2f, 0x51, 0x25, 0x86, 0x10, 0x3e, 0x6b, 0xf7, 0xfe, 0xbf, 0xb9, 0xab, 0xea,
+ 0xe2, 0x4e, 0x6e, 0x71, 0xe6, 0x42, 0xfc, 0x18, 0x55, 0x3b, 0x3c, 0x64, 0xf1, 0xf0, 0x02, 0xe2,
+ 0x84, 0x8b, 0xd0, 0x2c, 0xea, 0xb4, 0x77, 0xb2, 0xb4, 0x55, 0x7b, 0x71, 0xd3, 0x59, 0xee, 0xc5,
+ 0x4f, 0x50, 0x0d, 0x82, 0x41, 0x5f, 0x0f, 0x3e, 0xe7, 0x4b, 0x9a, 0x37, 0x33, 0xbe, 0xf6, 0x74,
+ 0x65, 0xdf, 0x59, 0x23, 0xb0, 0x8b, 0xca, 0x89, 0x54, 0x6f, 0x8b, 0x3f, 0x34, 0xff, 0xd3, 0xf4,
+ 0xf3, 0xfc, 0x8f, 0x70, 0x9e, 0xd5, 0x7f, 0x8f, 0x1b, 0x0f, 0x36, 0x7f, 0x0d, 0xc8, 0x69, 0xbe,
+ 0x06, 0x4f, 0x3f, 0x9d, 0x1c, 0x73, 0x66, 0x62, 0xfb, 0xd9, 0x68, 0x62, 0x15, 0xae, 0x27, 0x56,
+ 0xe1, 0x66, 0x62, 0x15, 0xbe, 0xa4, 0x96, 0x31, 0x4a, 0x2d, 0xe3, 0x3a, 0xb5, 0x8c, 0x9b, 0xd4,
+ 0x32, 0x7e, 0xa4, 0x96, 0xf1, 0xf5, 0xa7, 0x55, 0x78, 0xdf, 0xdc, 0xf6, 0xd5, 0xfb, 0x13, 0x00,
+ 0x00, 0xff, 0xff, 0x7f, 0x15, 0x63, 0xd0, 0x18, 0x05, 0x00, 0x00,
}
func (m *LeaseCandidate) Marshal() (dAtA []byte, err error) {
@@ -290,15 +289,11 @@ func (m *LeaseCandidateSpec) MarshalToSizedBuffer(dAtA []byte) (int, error) {
_ = i
var l int
_ = l
- if len(m.PreferredStrategies) > 0 {
- for iNdEx := len(m.PreferredStrategies) - 1; iNdEx >= 0; iNdEx-- {
- i -= len(m.PreferredStrategies[iNdEx])
- copy(dAtA[i:], m.PreferredStrategies[iNdEx])
- i = encodeVarintGenerated(dAtA, i, uint64(len(m.PreferredStrategies[iNdEx])))
- i--
- dAtA[i] = 0x32
- }
- }
+ i -= len(m.Strategy)
+ copy(dAtA[i:], m.Strategy)
+ i = encodeVarintGenerated(dAtA, i, uint64(len(m.Strategy)))
+ i--
+ dAtA[i] = 0x32
i -= len(m.EmulationVersion)
copy(dAtA[i:], m.EmulationVersion)
i = encodeVarintGenerated(dAtA, i, uint64(len(m.EmulationVersion)))
@@ -402,12 +397,8 @@ func (m *LeaseCandidateSpec) Size() (n int) {
n += 1 + l + sovGenerated(uint64(l))
l = len(m.EmulationVersion)
n += 1 + l + sovGenerated(uint64(l))
- if len(m.PreferredStrategies) > 0 {
- for _, s := range m.PreferredStrategies {
- l = len(s)
- n += 1 + l + sovGenerated(uint64(l))
- }
- }
+ l = len(m.Strategy)
+ n += 1 + l + sovGenerated(uint64(l))
return n
}
@@ -454,7 +445,7 @@ func (this *LeaseCandidateSpec) String() string {
`RenewTime:` + strings.Replace(fmt.Sprintf("%v", this.RenewTime), "MicroTime", "v1.MicroTime", 1) + `,`,
`BinaryVersion:` + fmt.Sprintf("%v", this.BinaryVersion) + `,`,
`EmulationVersion:` + fmt.Sprintf("%v", this.EmulationVersion) + `,`,
- `PreferredStrategies:` + fmt.Sprintf("%v", this.PreferredStrategies) + `,`,
+ `Strategy:` + fmt.Sprintf("%v", this.Strategy) + `,`,
`}`,
}, "")
return s
@@ -899,7 +890,7 @@ func (m *LeaseCandidateSpec) Unmarshal(dAtA []byte) error {
iNdEx = postIndex
case 6:
if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field PreferredStrategies", wireType)
+ return fmt.Errorf("proto: wrong wireType = %d for field Strategy", wireType)
}
var stringLen uint64
for shift := uint(0); ; shift += 7 {
@@ -927,7 +918,7 @@ func (m *LeaseCandidateSpec) Unmarshal(dAtA []byte) error {
if postIndex > l {
return io.ErrUnexpectedEOF
}
- m.PreferredStrategies = append(m.PreferredStrategies, k8s_io_api_coordination_v1.CoordinatedLeaseStrategy(dAtA[iNdEx:postIndex]))
+ m.Strategy = k8s_io_api_coordination_v1.CoordinatedLeaseStrategy(dAtA[iNdEx:postIndex])
iNdEx = postIndex
default:
iNdEx = preIndex
diff --git a/vendor/k8s.io/api/coordination/v1alpha1/generated.proto b/vendor/k8s.io/api/coordination/v1alpha2/generated.proto
similarity index 79%
rename from vendor/k8s.io/api/coordination/v1alpha1/generated.proto
rename to vendor/k8s.io/api/coordination/v1alpha2/generated.proto
index 57895ad5..7e56cd7f 100644
--- a/vendor/k8s.io/api/coordination/v1alpha1/generated.proto
+++ b/vendor/k8s.io/api/coordination/v1alpha2/generated.proto
@@ -19,7 +19,7 @@ limitations under the License.
syntax = "proto2";
-package k8s.io.api.coordination.v1alpha1;
+package k8s.io.api.coordination.v1alpha2;
import "k8s.io/api/coordination/v1/generated.proto";
import "k8s.io/apimachinery/pkg/apis/meta/v1/generated.proto";
@@ -27,7 +27,7 @@ import "k8s.io/apimachinery/pkg/runtime/generated.proto";
import "k8s.io/apimachinery/pkg/runtime/schema/generated.proto";
// Package-wide variables from generator "generated".
-option go_package = "k8s.io/api/coordination/v1alpha1";
+option go_package = "k8s.io/api/coordination/v1alpha2";
// LeaseCandidate defines a candidate for a Lease object.
// Candidates are created such that coordinated leader election will pick the best leader from the list of candidates.
@@ -78,8 +78,8 @@ message LeaseCandidateSpec {
optional .k8s.io.apimachinery.pkg.apis.meta.v1.MicroTime renewTime = 3;
// BinaryVersion is the binary version. It must be in a semver format without leading `v`.
- // This field is required when strategy is "OldestEmulationVersion"
- // +optional
+ // This field is required.
+ // +required
optional string binaryVersion = 4;
// EmulationVersion is the emulation version. It must be in a semver format without leading `v`.
@@ -88,18 +88,13 @@ message LeaseCandidateSpec {
// +optional
optional string emulationVersion = 5;
- // PreferredStrategies indicates the list of strategies for picking the leader for coordinated leader election.
- // The list is ordered, and the first strategy supersedes all other strategies. The list is used by coordinated
- // leader election to make a decision about the final election strategy. This follows as
- // - If all clients have strategy X as the first element in this list, strategy X will be used.
- // - If a candidate has strategy [X] and another candidate has strategy [Y, X], Y supersedes X and strategy Y
- // will be used.
- // - If a candidate has strategy [X, Y] and another candidate has strategy [Y, X], this is a user error and leader
- // election will not operate the Lease until resolved.
+ // Strategy is the strategy that coordinated leader election will use for picking the leader.
+ // If multiple candidates for the same Lease return different strategies, the strategy provided
+ // by the candidate with the latest BinaryVersion will be used. If there is still conflict,
+ // this is a user error and coordinated leader election will not operate the Lease until resolved.
// (Alpha) Using this field requires the CoordinatedLeaderElection feature gate to be enabled.
// +featureGate=CoordinatedLeaderElection
- // +listType=atomic
// +required
- repeated string preferredStrategies = 6;
+ optional string strategy = 6;
}
diff --git a/vendor/k8s.io/api/coordination/v1alpha1/register.go b/vendor/k8s.io/api/coordination/v1alpha2/register.go
similarity index 95%
rename from vendor/k8s.io/api/coordination/v1alpha1/register.go
rename to vendor/k8s.io/api/coordination/v1alpha2/register.go
index 6e57905a..86bb8e0f 100644
--- a/vendor/k8s.io/api/coordination/v1alpha1/register.go
+++ b/vendor/k8s.io/api/coordination/v1alpha2/register.go
@@ -1,5 +1,5 @@
/*
-Copyright 2018 The Kubernetes Authors.
+Copyright 2024 The Kubernetes Authors.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@ See the License for the specific language governing permissions and
limitations under the License.
*/
-package v1alpha1
+package v1alpha2
import (
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
@@ -26,7 +26,7 @@ import (
const GroupName = "coordination.k8s.io"
// SchemeGroupVersion is group version used to register these objects
-var SchemeGroupVersion = schema.GroupVersion{Group: GroupName, Version: "v1alpha1"}
+var SchemeGroupVersion = schema.GroupVersion{Group: GroupName, Version: "v1alpha2"}
// Resource takes an unqualified resource and returns a Group qualified GroupResource
func Resource(resource string) schema.GroupResource {
diff --git a/vendor/k8s.io/api/coordination/v1alpha1/types.go b/vendor/k8s.io/api/coordination/v1alpha2/types.go
similarity index 75%
rename from vendor/k8s.io/api/coordination/v1alpha1/types.go
rename to vendor/k8s.io/api/coordination/v1alpha2/types.go
index 14066600..2f53b097 100644
--- a/vendor/k8s.io/api/coordination/v1alpha1/types.go
+++ b/vendor/k8s.io/api/coordination/v1alpha2/types.go
@@ -1,5 +1,5 @@
/*
-Copyright 2018 The Kubernetes Authors.
+Copyright 2024 The Kubernetes Authors.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@ See the License for the specific language governing permissions and
limitations under the License.
*/
-package v1alpha1
+package v1alpha2
import (
v1 "k8s.io/api/coordination/v1"
@@ -23,7 +23,7 @@ import (
// +genclient
// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
-// +k8s:prerelease-lifecycle-gen:introduced=1.31
+// +k8s:prerelease-lifecycle-gen:introduced=1.32
// LeaseCandidate defines a candidate for a Lease object.
// Candidates are created such that coordinated leader election will pick the best leader from the list of candidates.
@@ -61,31 +61,26 @@ type LeaseCandidateSpec struct {
// +optional
RenewTime *metav1.MicroTime `json:"renewTime,omitempty" protobuf:"bytes,3,opt,name=renewTime"`
// BinaryVersion is the binary version. It must be in a semver format without leading `v`.
- // This field is required when strategy is "OldestEmulationVersion"
- // +optional
- BinaryVersion string `json:"binaryVersion,omitempty" protobuf:"bytes,4,opt,name=binaryVersion"`
+ // This field is required.
+ // +required
+ BinaryVersion string `json:"binaryVersion" protobuf:"bytes,4,name=binaryVersion"`
// EmulationVersion is the emulation version. It must be in a semver format without leading `v`.
// EmulationVersion must be less than or equal to BinaryVersion.
// This field is required when strategy is "OldestEmulationVersion"
// +optional
EmulationVersion string `json:"emulationVersion,omitempty" protobuf:"bytes,5,opt,name=emulationVersion"`
- // PreferredStrategies indicates the list of strategies for picking the leader for coordinated leader election.
- // The list is ordered, and the first strategy supersedes all other strategies. The list is used by coordinated
- // leader election to make a decision about the final election strategy. This follows as
- // - If all clients have strategy X as the first element in this list, strategy X will be used.
- // - If a candidate has strategy [X] and another candidate has strategy [Y, X], Y supersedes X and strategy Y
- // will be used.
- // - If a candidate has strategy [X, Y] and another candidate has strategy [Y, X], this is a user error and leader
- // election will not operate the Lease until resolved.
+ // Strategy is the strategy that coordinated leader election will use for picking the leader.
+ // If multiple candidates for the same Lease return different strategies, the strategy provided
+ // by the candidate with the latest BinaryVersion will be used. If there is still conflict,
+ // this is a user error and coordinated leader election will not operate the Lease until resolved.
// (Alpha) Using this field requires the CoordinatedLeaderElection feature gate to be enabled.
// +featureGate=CoordinatedLeaderElection
- // +listType=atomic
// +required
- PreferredStrategies []v1.CoordinatedLeaseStrategy `json:"preferredStrategies,omitempty" protobuf:"bytes,6,opt,name=preferredStrategies"`
+ Strategy v1.CoordinatedLeaseStrategy `json:"strategy,omitempty" protobuf:"bytes,6,opt,name=strategy"`
}
// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
-// +k8s:prerelease-lifecycle-gen:introduced=1.31
+// +k8s:prerelease-lifecycle-gen:introduced=1.32
// LeaseCandidateList is a list of Lease objects.
type LeaseCandidateList struct {
diff --git a/vendor/k8s.io/api/coordination/v1alpha1/types_swagger_doc_generated.go b/vendor/k8s.io/api/coordination/v1alpha2/types_swagger_doc_generated.go
similarity index 51%
rename from vendor/k8s.io/api/coordination/v1alpha1/types_swagger_doc_generated.go
rename to vendor/k8s.io/api/coordination/v1alpha2/types_swagger_doc_generated.go
index 0e52809c..39534e6a 100644
--- a/vendor/k8s.io/api/coordination/v1alpha1/types_swagger_doc_generated.go
+++ b/vendor/k8s.io/api/coordination/v1alpha2/types_swagger_doc_generated.go
@@ -14,7 +14,7 @@ See the License for the specific language governing permissions and
limitations under the License.
*/
-package v1alpha1
+package v1alpha2
// This file contains a collection of methods that can be used from go-restful to
// generate Swagger API documentation for its models. Please read this PR for more
@@ -48,13 +48,13 @@ func (LeaseCandidateList) SwaggerDoc() map[string]string {
}
var map_LeaseCandidateSpec = map[string]string{
- "": "LeaseCandidateSpec is a specification of a Lease.",
- "leaseName": "LeaseName is the name of the lease for which this candidate is contending. This field is immutable.",
- "pingTime": "PingTime is the last time that the server has requested the LeaseCandidate to renew. It is only done during leader election to check if any LeaseCandidates have become ineligible. When PingTime is updated, the LeaseCandidate will respond by updating RenewTime.",
- "renewTime": "RenewTime is the time that the LeaseCandidate was last updated. Any time a Lease needs to do leader election, the PingTime field is updated to signal to the LeaseCandidate that they should update the RenewTime. Old LeaseCandidate objects are also garbage collected if it has been hours since the last renew. The PingTime field is updated regularly to prevent garbage collection for still active LeaseCandidates.",
- "binaryVersion": "BinaryVersion is the binary version. It must be in a semver format without leading `v`. This field is required when strategy is \"OldestEmulationVersion\"",
- "emulationVersion": "EmulationVersion is the emulation version. It must be in a semver format without leading `v`. EmulationVersion must be less than or equal to BinaryVersion. This field is required when strategy is \"OldestEmulationVersion\"",
- "preferredStrategies": "PreferredStrategies indicates the list of strategies for picking the leader for coordinated leader election. The list is ordered, and the first strategy supersedes all other strategies. The list is used by coordinated leader election to make a decision about the final election strategy. This follows as - If all clients have strategy X as the first element in this list, strategy X will be used. - If a candidate has strategy [X] and another candidate has strategy [Y, X], Y supersedes X and strategy Y\n will be used.\n- If a candidate has strategy [X, Y] and another candidate has strategy [Y, X], this is a user error and leader\n election will not operate the Lease until resolved.\n(Alpha) Using this field requires the CoordinatedLeaderElection feature gate to be enabled.",
+ "": "LeaseCandidateSpec is a specification of a Lease.",
+ "leaseName": "LeaseName is the name of the lease for which this candidate is contending. This field is immutable.",
+ "pingTime": "PingTime is the last time that the server has requested the LeaseCandidate to renew. It is only done during leader election to check if any LeaseCandidates have become ineligible. When PingTime is updated, the LeaseCandidate will respond by updating RenewTime.",
+ "renewTime": "RenewTime is the time that the LeaseCandidate was last updated. Any time a Lease needs to do leader election, the PingTime field is updated to signal to the LeaseCandidate that they should update the RenewTime. Old LeaseCandidate objects are also garbage collected if it has been hours since the last renew. The PingTime field is updated regularly to prevent garbage collection for still active LeaseCandidates.",
+ "binaryVersion": "BinaryVersion is the binary version. It must be in a semver format without leading `v`. This field is required.",
+ "emulationVersion": "EmulationVersion is the emulation version. It must be in a semver format without leading `v`. EmulationVersion must be less than or equal to BinaryVersion. This field is required when strategy is \"OldestEmulationVersion\"",
+ "strategy": "Strategy is the strategy that coordinated leader election will use for picking the leader. If multiple candidates for the same Lease return different strategies, the strategy provided by the candidate with the latest BinaryVersion will be used. If there is still conflict, this is a user error and coordinated leader election will not operate the Lease until resolved. (Alpha) Using this field requires the CoordinatedLeaderElection feature gate to be enabled.",
}
func (LeaseCandidateSpec) SwaggerDoc() map[string]string {
diff --git a/vendor/k8s.io/api/coordination/v1alpha1/zz_generated.deepcopy.go b/vendor/k8s.io/api/coordination/v1alpha2/zz_generated.deepcopy.go
similarity index 93%
rename from vendor/k8s.io/api/coordination/v1alpha1/zz_generated.deepcopy.go
rename to vendor/k8s.io/api/coordination/v1alpha2/zz_generated.deepcopy.go
index 9cf15d21..a2028479 100644
--- a/vendor/k8s.io/api/coordination/v1alpha1/zz_generated.deepcopy.go
+++ b/vendor/k8s.io/api/coordination/v1alpha2/zz_generated.deepcopy.go
@@ -19,10 +19,9 @@ limitations under the License.
// Code generated by deepcopy-gen. DO NOT EDIT.
-package v1alpha1
+package v1alpha2
import (
- v1 "k8s.io/api/coordination/v1"
runtime "k8s.io/apimachinery/pkg/runtime"
)
@@ -97,11 +96,6 @@ func (in *LeaseCandidateSpec) DeepCopyInto(out *LeaseCandidateSpec) {
in, out := &in.RenewTime, &out.RenewTime
*out = (*in).DeepCopy()
}
- if in.PreferredStrategies != nil {
- in, out := &in.PreferredStrategies, &out.PreferredStrategies
- *out = make([]v1.CoordinatedLeaseStrategy, len(*in))
- copy(*out, *in)
- }
return
}
diff --git a/vendor/k8s.io/api/coordination/v1alpha1/zz_generated.prerelease-lifecycle.go b/vendor/k8s.io/api/coordination/v1alpha2/zz_generated.prerelease-lifecycle.go
similarity index 96%
rename from vendor/k8s.io/api/coordination/v1alpha1/zz_generated.prerelease-lifecycle.go
rename to vendor/k8s.io/api/coordination/v1alpha2/zz_generated.prerelease-lifecycle.go
index f42bef65..a99b9ab5 100644
--- a/vendor/k8s.io/api/coordination/v1alpha1/zz_generated.prerelease-lifecycle.go
+++ b/vendor/k8s.io/api/coordination/v1alpha2/zz_generated.prerelease-lifecycle.go
@@ -19,40 +19,40 @@ limitations under the License.
// Code generated by prerelease-lifecycle-gen. DO NOT EDIT.
-package v1alpha1
+package v1alpha2
// APILifecycleIntroduced is an autogenerated function, returning the release in which the API struct was introduced as int versions of major and minor for comparison.
// It is controlled by "k8s:prerelease-lifecycle-gen:introduced" tags in types.go.
func (in *LeaseCandidate) APILifecycleIntroduced() (major, minor int) {
- return 1, 31
+ return 1, 32
}
// APILifecycleDeprecated is an autogenerated function, returning the release in which the API struct was or will be deprecated as int versions of major and minor for comparison.
// It is controlled by "k8s:prerelease-lifecycle-gen:deprecated" tags in types.go or "k8s:prerelease-lifecycle-gen:introduced" plus three minor.
func (in *LeaseCandidate) APILifecycleDeprecated() (major, minor int) {
- return 1, 34
+ return 1, 35
}
// APILifecycleRemoved is an autogenerated function, returning the release in which the API is no longer served as int versions of major and minor for comparison.
// It is controlled by "k8s:prerelease-lifecycle-gen:removed" tags in types.go or "k8s:prerelease-lifecycle-gen:deprecated" plus three minor.
func (in *LeaseCandidate) APILifecycleRemoved() (major, minor int) {
- return 1, 37
+ return 1, 38
}
// APILifecycleIntroduced is an autogenerated function, returning the release in which the API struct was introduced as int versions of major and minor for comparison.
// It is controlled by "k8s:prerelease-lifecycle-gen:introduced" tags in types.go.
func (in *LeaseCandidateList) APILifecycleIntroduced() (major, minor int) {
- return 1, 31
+ return 1, 32
}
// APILifecycleDeprecated is an autogenerated function, returning the release in which the API struct was or will be deprecated as int versions of major and minor for comparison.
// It is controlled by "k8s:prerelease-lifecycle-gen:deprecated" tags in types.go or "k8s:prerelease-lifecycle-gen:introduced" plus three minor.
func (in *LeaseCandidateList) APILifecycleDeprecated() (major, minor int) {
- return 1, 34
+ return 1, 35
}
// APILifecycleRemoved is an autogenerated function, returning the release in which the API is no longer served as int versions of major and minor for comparison.
// It is controlled by "k8s:prerelease-lifecycle-gen:removed" tags in types.go or "k8s:prerelease-lifecycle-gen:deprecated" plus three minor.
func (in *LeaseCandidateList) APILifecycleRemoved() (major, minor int) {
- return 1, 37
+ return 1, 38
}
diff --git a/vendor/k8s.io/api/core/v1/annotation_key_constants.go b/vendor/k8s.io/api/core/v1/annotation_key_constants.go
index 5cf6f329..62e86402 100644
--- a/vendor/k8s.io/api/core/v1/annotation_key_constants.go
+++ b/vendor/k8s.io/api/core/v1/annotation_key_constants.go
@@ -23,7 +23,7 @@ const (
// webhook backend fails.
ImagePolicyFailedOpenKey string = "alpha.image-policy.k8s.io/failed-open"
- // MirrorAnnotationKey represents the annotation key set by kubelets when creating mirror pods
+ // MirrorPodAnnotationKey represents the annotation key set by kubelets when creating mirror pods
MirrorPodAnnotationKey string = "kubernetes.io/config.mirror"
// TolerationsAnnotationKey represents the key of tolerations data (json serialized)
@@ -80,7 +80,7 @@ const (
// This annotation can be attached to node.
ObjectTTLAnnotationKey string = "node.alpha.kubernetes.io/ttl"
- // annotation key prefix used to identify non-convertible json paths.
+ // NonConvertibleAnnotationPrefix is the annotation key prefix used to identify non-convertible json paths.
NonConvertibleAnnotationPrefix = "non-convertible.kubernetes.io"
kubectlPrefix = "kubectl.kubernetes.io/"
diff --git a/vendor/k8s.io/api/core/v1/generated.pb.go b/vendor/k8s.io/api/core/v1/generated.pb.go
index 5654ee48..9d466c6d 100644
--- a/vendor/k8s.io/api/core/v1/generated.pb.go
+++ b/vendor/k8s.io/api/core/v1/generated.pb.go
@@ -6758,1011 +6758,1015 @@ func init() {
}
var fileDescriptor_6c07b07c062484ab = []byte{
- // 16056 bytes of a gzipped FileDescriptorProto
- 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0xbd, 0x79, 0x90, 0x1c, 0xd7,
- 0x79, 0x18, 0xae, 0x9e, 0xd9, 0xf3, 0xdb, 0xfb, 0x2d, 0x8e, 0xc5, 0x12, 0xc0, 0x80, 0x4d, 0x12,
- 0x04, 0xaf, 0x85, 0xc0, 0x43, 0x84, 0x48, 0x8a, 0xe6, 0x9e, 0xc0, 0x12, 0xd8, 0xc5, 0xf0, 0xcd,
- 0x02, 0x90, 0x28, 0x4a, 0x56, 0x63, 0xe6, 0xed, 0x6e, 0x6b, 0x67, 0xba, 0x87, 0xdd, 0x3d, 0x0b,
- 0x2c, 0x7e, 0x72, 0xd9, 0x96, 0x7f, 0x96, 0x2d, 0xd9, 0xa9, 0x52, 0xb9, 0x9c, 0x38, 0x25, 0xbb,
- 0x5c, 0x29, 0xc7, 0xf1, 0x11, 0xc5, 0x4e, 0x14, 0x39, 0xb6, 0x63, 0xf9, 0xca, 0x55, 0x65, 0x27,
- 0x29, 0xc7, 0x71, 0x55, 0x24, 0x57, 0x5c, 0x59, 0x47, 0xeb, 0x54, 0xb9, 0xfc, 0x47, 0x6c, 0x97,
- 0x93, 0x3f, 0x92, 0x2d, 0x27, 0x4e, 0xbd, 0xb3, 0xdf, 0xeb, 0x63, 0x66, 0x16, 0x04, 0x56, 0x14,
- 0x8b, 0xff, 0xcd, 0xbc, 0xef, 0x7b, 0xdf, 0x7b, 0xfd, 0xce, 0xef, 0x7d, 0x27, 0xd8, 0x5b, 0x17,
- 0xc3, 0x19, 0xd7, 0x3f, 0xef, 0x34, 0xdd, 0xf3, 0x55, 0x3f, 0x20, 0xe7, 0xb7, 0x2f, 0x9c, 0xdf,
- 0x20, 0x1e, 0x09, 0x9c, 0x88, 0xd4, 0x66, 0x9a, 0x81, 0x1f, 0xf9, 0x08, 0x71, 0x9c, 0x19, 0xa7,
- 0xe9, 0xce, 0x50, 0x9c, 0x99, 0xed, 0x0b, 0xd3, 0xcf, 0x6c, 0xb8, 0xd1, 0x66, 0xeb, 0xd6, 0x4c,
- 0xd5, 0x6f, 0x9c, 0xdf, 0xf0, 0x37, 0xfc, 0xf3, 0x0c, 0xf5, 0x56, 0x6b, 0x9d, 0xfd, 0x63, 0x7f,
- 0xd8, 0x2f, 0x4e, 0x62, 0xfa, 0xf9, 0xb8, 0x99, 0x86, 0x53, 0xdd, 0x74, 0x3d, 0x12, 0xec, 0x9c,
- 0x6f, 0x6e, 0x6d, 0xb0, 0x76, 0x03, 0x12, 0xfa, 0xad, 0xa0, 0x4a, 0x92, 0x0d, 0xb7, 0xad, 0x15,
- 0x9e, 0x6f, 0x90, 0xc8, 0xc9, 0xe8, 0xee, 0xf4, 0xf9, 0xbc, 0x5a, 0x41, 0xcb, 0x8b, 0xdc, 0x46,
- 0xba, 0x99, 0x0f, 0x75, 0xaa, 0x10, 0x56, 0x37, 0x49, 0xc3, 0x49, 0xd5, 0x7b, 0x2e, 0xaf, 0x5e,
- 0x2b, 0x72, 0xeb, 0xe7, 0x5d, 0x2f, 0x0a, 0xa3, 0x20, 0x59, 0xc9, 0xfe, 0x86, 0x05, 0x67, 0x66,
- 0x6f, 0x56, 0x16, 0xeb, 0x4e, 0x18, 0xb9, 0xd5, 0xb9, 0xba, 0x5f, 0xdd, 0xaa, 0x44, 0x7e, 0x40,
- 0x6e, 0xf8, 0xf5, 0x56, 0x83, 0x54, 0xd8, 0x40, 0xa0, 0xa7, 0x61, 0x60, 0x9b, 0xfd, 0x5f, 0x5e,
- 0x98, 0xb2, 0xce, 0x58, 0xe7, 0x06, 0xe7, 0xc6, 0x7f, 0x67, 0xb7, 0xf4, 0x81, 0xbd, 0xdd, 0xd2,
- 0xc0, 0x0d, 0x51, 0x8e, 0x15, 0x06, 0x3a, 0x0b, 0x7d, 0xeb, 0xe1, 0xda, 0x4e, 0x93, 0x4c, 0x15,
- 0x18, 0xee, 0xa8, 0xc0, 0xed, 0x5b, 0xaa, 0xd0, 0x52, 0x2c, 0xa0, 0xe8, 0x3c, 0x0c, 0x36, 0x9d,
- 0x20, 0x72, 0x23, 0xd7, 0xf7, 0xa6, 0x8a, 0x67, 0xac, 0x73, 0xbd, 0x73, 0x13, 0x02, 0x75, 0xb0,
- 0x2c, 0x01, 0x38, 0xc6, 0xa1, 0xdd, 0x08, 0x88, 0x53, 0xbb, 0xe6, 0xd5, 0x77, 0xa6, 0x7a, 0xce,
- 0x58, 0xe7, 0x06, 0xe2, 0x6e, 0x60, 0x51, 0x8e, 0x15, 0x86, 0xfd, 0xa5, 0x02, 0x0c, 0xcc, 0xae,
- 0xaf, 0xbb, 0x9e, 0x1b, 0xed, 0xa0, 0x1b, 0x30, 0xec, 0xf9, 0x35, 0x22, 0xff, 0xb3, 0xaf, 0x18,
- 0x7a, 0xf6, 0xcc, 0x4c, 0x7a, 0x29, 0xcd, 0xac, 0x6a, 0x78, 0x73, 0xe3, 0x7b, 0xbb, 0xa5, 0x61,
- 0xbd, 0x04, 0x1b, 0x74, 0x10, 0x86, 0xa1, 0xa6, 0x5f, 0x53, 0x64, 0x0b, 0x8c, 0x6c, 0x29, 0x8b,
- 0x6c, 0x39, 0x46, 0x9b, 0x1b, 0xdb, 0xdb, 0x2d, 0x0d, 0x69, 0x05, 0x58, 0x27, 0x82, 0x6e, 0xc1,
- 0x18, 0xfd, 0xeb, 0x45, 0xae, 0xa2, 0x5b, 0x64, 0x74, 0x1f, 0xc9, 0xa3, 0xab, 0xa1, 0xce, 0x4d,
- 0xee, 0xed, 0x96, 0xc6, 0x12, 0x85, 0x38, 0x49, 0xd0, 0xfe, 0x61, 0x0b, 0xc6, 0x66, 0x9b, 0xcd,
- 0xd9, 0xa0, 0xe1, 0x07, 0xe5, 0xc0, 0x5f, 0x77, 0xeb, 0x04, 0xbd, 0x08, 0x3d, 0x11, 0x9d, 0x35,
- 0x3e, 0xc3, 0x8f, 0x88, 0xa1, 0xed, 0xa1, 0x73, 0xb5, 0xbf, 0x5b, 0x9a, 0x4c, 0xa0, 0xb3, 0xa9,
- 0x64, 0x15, 0xd0, 0x6b, 0x30, 0x5e, 0xf7, 0xab, 0x4e, 0x7d, 0xd3, 0x0f, 0x23, 0x01, 0x15, 0x53,
- 0x7f, 0x64, 0x6f, 0xb7, 0x34, 0x7e, 0x35, 0x01, 0xc3, 0x29, 0x6c, 0xfb, 0x2e, 0x8c, 0xce, 0x46,
- 0x91, 0x53, 0xdd, 0x24, 0x35, 0xbe, 0xa0, 0xd0, 0xf3, 0xd0, 0xe3, 0x39, 0x0d, 0xd9, 0x99, 0x33,
- 0xb2, 0x33, 0xab, 0x4e, 0x83, 0x76, 0x66, 0xfc, 0xba, 0xe7, 0xbe, 0xdd, 0x12, 0x8b, 0x94, 0x96,
- 0x61, 0x86, 0x8d, 0x9e, 0x05, 0xa8, 0x91, 0x6d, 0xb7, 0x4a, 0xca, 0x4e, 0xb4, 0x29, 0xfa, 0x80,
- 0x44, 0x5d, 0x58, 0x50, 0x10, 0xac, 0x61, 0xd9, 0x77, 0x60, 0x70, 0x76, 0xdb, 0x77, 0x6b, 0x65,
- 0xbf, 0x16, 0xa2, 0x2d, 0x18, 0x6b, 0x06, 0x64, 0x9d, 0x04, 0xaa, 0x68, 0xca, 0x3a, 0x53, 0x3c,
- 0x37, 0xf4, 0xec, 0xb9, 0xcc, 0xb1, 0x37, 0x51, 0x17, 0xbd, 0x28, 0xd8, 0x99, 0x3b, 0x2e, 0xda,
- 0x1b, 0x4b, 0x40, 0x71, 0x92, 0xb2, 0xfd, 0xaf, 0x0b, 0x70, 0x74, 0xf6, 0x6e, 0x2b, 0x20, 0x0b,
- 0x6e, 0xb8, 0x95, 0xdc, 0x70, 0x35, 0x37, 0xdc, 0x5a, 0x8d, 0x47, 0x40, 0xad, 0xf4, 0x05, 0x51,
- 0x8e, 0x15, 0x06, 0x7a, 0x06, 0xfa, 0xe9, 0xef, 0xeb, 0x78, 0x59, 0x7c, 0xf2, 0xa4, 0x40, 0x1e,
- 0x5a, 0x70, 0x22, 0x67, 0x81, 0x83, 0xb0, 0xc4, 0x41, 0x2b, 0x30, 0x54, 0x65, 0xe7, 0xc3, 0xc6,
- 0x8a, 0x5f, 0x23, 0x6c, 0x6d, 0x0d, 0xce, 0x3d, 0x45, 0xd1, 0xe7, 0xe3, 0xe2, 0xfd, 0xdd, 0xd2,
- 0x14, 0xef, 0x9b, 0x20, 0xa1, 0xc1, 0xb0, 0x5e, 0x1f, 0xd9, 0x6a, 0xbb, 0xf7, 0x30, 0x4a, 0x90,
- 0xb1, 0xd5, 0xcf, 0x69, 0x3b, 0xb7, 0x97, 0xed, 0xdc, 0xe1, 0xec, 0x5d, 0x8b, 0x2e, 0x40, 0xcf,
- 0x96, 0xeb, 0xd5, 0xa6, 0xfa, 0x18, 0xad, 0x53, 0x74, 0xce, 0xaf, 0xb8, 0x5e, 0x6d, 0x7f, 0xb7,
- 0x34, 0x61, 0x74, 0x87, 0x16, 0x62, 0x86, 0x6a, 0xff, 0x0f, 0x0b, 0x4a, 0x0c, 0xb6, 0xe4, 0xd6,
- 0x49, 0x99, 0x04, 0xa1, 0x1b, 0x46, 0xc4, 0x8b, 0x8c, 0x01, 0x7d, 0x16, 0x20, 0x24, 0xd5, 0x80,
- 0x44, 0xda, 0x90, 0xaa, 0x85, 0x51, 0x51, 0x10, 0xac, 0x61, 0xd1, 0xf3, 0x29, 0xdc, 0x74, 0x02,
- 0xb6, 0xbe, 0xc4, 0xc0, 0xaa, 0xf3, 0xa9, 0x22, 0x01, 0x38, 0xc6, 0x31, 0xce, 0xa7, 0x62, 0xa7,
- 0xf3, 0x09, 0x7d, 0x04, 0xc6, 0xe2, 0xc6, 0xc2, 0xa6, 0x53, 0x95, 0x03, 0xc8, 0x76, 0x70, 0xc5,
- 0x04, 0xe1, 0x24, 0xae, 0xfd, 0x0f, 0x2d, 0xb1, 0x78, 0xe8, 0x57, 0xbf, 0xcb, 0xbf, 0xd5, 0xfe,
- 0x55, 0x0b, 0xfa, 0xe7, 0x5c, 0xaf, 0xe6, 0x7a, 0x1b, 0xe8, 0x53, 0x30, 0x40, 0xaf, 0xca, 0x9a,
- 0x13, 0x39, 0xe2, 0x18, 0xfe, 0xa0, 0xb6, 0xb7, 0xd4, 0xcd, 0x35, 0xd3, 0xdc, 0xda, 0xa0, 0x05,
- 0xe1, 0x0c, 0xc5, 0xa6, 0xbb, 0xed, 0xda, 0xad, 0x4f, 0x93, 0x6a, 0xb4, 0x42, 0x22, 0x27, 0xfe,
- 0x9c, 0xb8, 0x0c, 0x2b, 0xaa, 0xe8, 0x0a, 0xf4, 0x45, 0x4e, 0xb0, 0x41, 0x22, 0x71, 0x1e, 0x67,
- 0x9e, 0x9b, 0xbc, 0x26, 0xa6, 0x3b, 0x92, 0x78, 0x55, 0x12, 0xdf, 0x52, 0x6b, 0xac, 0x2a, 0x16,
- 0x24, 0xec, 0xff, 0xd3, 0x0f, 0x27, 0xe6, 0x2b, 0xcb, 0x39, 0xeb, 0xea, 0x2c, 0xf4, 0xd5, 0x02,
- 0x77, 0x9b, 0x04, 0x62, 0x9c, 0x15, 0x95, 0x05, 0x56, 0x8a, 0x05, 0x14, 0x5d, 0x84, 0x61, 0x7e,
- 0x3f, 0x5e, 0x76, 0xbc, 0x5a, 0x7c, 0x3c, 0x0a, 0xec, 0xe1, 0x1b, 0x1a, 0x0c, 0x1b, 0x98, 0x07,
- 0x5c, 0x54, 0x67, 0x13, 0x9b, 0x31, 0xef, 0xee, 0xfd, 0xbc, 0x05, 0xe3, 0xbc, 0x99, 0xd9, 0x28,
- 0x0a, 0xdc, 0x5b, 0xad, 0x88, 0x84, 0x53, 0xbd, 0xec, 0xa4, 0x9b, 0xcf, 0x1a, 0xad, 0xdc, 0x11,
- 0x98, 0xb9, 0x91, 0xa0, 0xc2, 0x0f, 0xc1, 0x29, 0xd1, 0xee, 0x78, 0x12, 0x8c, 0x53, 0xcd, 0xa2,
- 0xef, 0xb3, 0x60, 0xba, 0xea, 0x7b, 0x51, 0xe0, 0xd7, 0xeb, 0x24, 0x28, 0xb7, 0x6e, 0xd5, 0xdd,
- 0x70, 0x93, 0xaf, 0x53, 0x4c, 0xd6, 0xd9, 0x49, 0x90, 0x33, 0x87, 0x0a, 0x49, 0xcc, 0xe1, 0xe9,
- 0xbd, 0xdd, 0xd2, 0xf4, 0x7c, 0x2e, 0x29, 0xdc, 0xa6, 0x19, 0xb4, 0x05, 0x88, 0xde, 0xec, 0x95,
- 0xc8, 0xd9, 0x20, 0x71, 0xe3, 0xfd, 0xdd, 0x37, 0x7e, 0x6c, 0x6f, 0xb7, 0x84, 0x56, 0x53, 0x24,
- 0x70, 0x06, 0x59, 0xf4, 0x36, 0x1c, 0xa1, 0xa5, 0xa9, 0x6f, 0x1d, 0xe8, 0xbe, 0xb9, 0xa9, 0xbd,
- 0xdd, 0xd2, 0x91, 0xd5, 0x0c, 0x22, 0x38, 0x93, 0x34, 0xfa, 0x1e, 0x0b, 0x4e, 0xc4, 0x9f, 0xbf,
- 0x78, 0xa7, 0xe9, 0x78, 0xb5, 0xb8, 0xe1, 0xc1, 0xee, 0x1b, 0xa6, 0x67, 0xf2, 0x89, 0xf9, 0x3c,
- 0x4a, 0x38, 0xbf, 0x11, 0xe4, 0xc1, 0x24, 0xed, 0x5a, 0xb2, 0x6d, 0xe8, 0xbe, 0xed, 0xe3, 0x7b,
- 0xbb, 0xa5, 0xc9, 0xd5, 0x34, 0x0d, 0x9c, 0x45, 0x78, 0x7a, 0x1e, 0x8e, 0x66, 0xae, 0x4e, 0x34,
- 0x0e, 0xc5, 0x2d, 0xc2, 0x99, 0xc0, 0x41, 0x4c, 0x7f, 0xa2, 0x23, 0xd0, 0xbb, 0xed, 0xd4, 0x5b,
- 0x62, 0x63, 0x62, 0xfe, 0xe7, 0xa5, 0xc2, 0x45, 0xcb, 0xfe, 0x37, 0x45, 0x18, 0x9b, 0xaf, 0x2c,
- 0xdf, 0xd3, 0xae, 0xd7, 0xaf, 0xbd, 0x42, 0xdb, 0x6b, 0x2f, 0xbe, 0x44, 0x8b, 0xb9, 0x97, 0xe8,
- 0x77, 0x67, 0x6c, 0xd9, 0x1e, 0xb6, 0x65, 0x3f, 0x9c, 0xb3, 0x65, 0xef, 0xf3, 0x46, 0xdd, 0xce,
- 0x59, 0xb5, 0xbd, 0x6c, 0x02, 0x33, 0x39, 0x24, 0xc6, 0xfb, 0x25, 0x8f, 0xda, 0x03, 0x2e, 0xdd,
- 0xfb, 0x33, 0x8f, 0x55, 0x18, 0x9e, 0x77, 0x9a, 0xce, 0x2d, 0xb7, 0xee, 0x46, 0x2e, 0x09, 0xd1,
- 0xe3, 0x50, 0x74, 0x6a, 0x35, 0xc6, 0xdd, 0x0d, 0xce, 0x1d, 0xdd, 0xdb, 0x2d, 0x15, 0x67, 0x6b,
- 0x94, 0xcd, 0x00, 0x85, 0xb5, 0x83, 0x29, 0x06, 0x7a, 0x12, 0x7a, 0x6a, 0x81, 0xdf, 0x9c, 0x2a,
- 0x30, 0x4c, 0xba, 0xcb, 0x7b, 0x16, 0x02, 0xbf, 0x99, 0x40, 0x65, 0x38, 0xf6, 0x6f, 0x17, 0xe0,
- 0xe4, 0x3c, 0x69, 0x6e, 0x2e, 0x55, 0x72, 0xee, 0x8b, 0x73, 0x30, 0xd0, 0xf0, 0x3d, 0x37, 0xf2,
- 0x83, 0x50, 0x34, 0xcd, 0x56, 0xc4, 0x8a, 0x28, 0xc3, 0x0a, 0x8a, 0xce, 0x40, 0x4f, 0x33, 0x66,
- 0x62, 0x87, 0x25, 0x03, 0xcc, 0xd8, 0x57, 0x06, 0xa1, 0x18, 0xad, 0x90, 0x04, 0x62, 0xc5, 0x28,
- 0x8c, 0xeb, 0x21, 0x09, 0x30, 0x83, 0xc4, 0x9c, 0x00, 0xe5, 0x11, 0xc4, 0x8d, 0x90, 0xe0, 0x04,
- 0x28, 0x04, 0x6b, 0x58, 0xa8, 0x0c, 0x83, 0x61, 0x62, 0x66, 0xbb, 0xda, 0x9a, 0x23, 0x8c, 0x55,
- 0x50, 0x33, 0x19, 0x13, 0x31, 0x6e, 0xb0, 0xbe, 0x8e, 0xac, 0xc2, 0xd7, 0x0a, 0x80, 0xf8, 0x10,
- 0x7e, 0x9b, 0x0d, 0xdc, 0xf5, 0xf4, 0xc0, 0x75, 0xbf, 0x25, 0xee, 0xd7, 0xe8, 0xfd, 0x4f, 0x0b,
- 0x4e, 0xce, 0xbb, 0x5e, 0x8d, 0x04, 0x39, 0x0b, 0xf0, 0xc1, 0x3c, 0xe5, 0x0f, 0xc6, 0xa4, 0x18,
- 0x4b, 0xac, 0xe7, 0x3e, 0x2c, 0x31, 0xfb, 0x2f, 0x2c, 0x40, 0xfc, 0xb3, 0xdf, 0x75, 0x1f, 0x7b,
- 0x3d, 0xfd, 0xb1, 0xf7, 0x61, 0x59, 0xd8, 0x57, 0x61, 0x74, 0xbe, 0xee, 0x12, 0x2f, 0x5a, 0x2e,
- 0xcf, 0xfb, 0xde, 0xba, 0xbb, 0x81, 0x5e, 0x82, 0xd1, 0xc8, 0x6d, 0x10, 0xbf, 0x15, 0x55, 0x48,
- 0xd5, 0xf7, 0xd8, 0xcb, 0xd5, 0x3a, 0xd7, 0x3b, 0x87, 0xf6, 0x76, 0x4b, 0xa3, 0x6b, 0x06, 0x04,
- 0x27, 0x30, 0xed, 0x9f, 0xa1, 0xe7, 0x56, 0xbd, 0x15, 0x46, 0x24, 0x58, 0x0b, 0x5a, 0x61, 0x34,
- 0xd7, 0xa2, 0xbc, 0x67, 0x39, 0xf0, 0x69, 0x77, 0x5c, 0xdf, 0x43, 0x27, 0x8d, 0xe7, 0xf8, 0x80,
- 0x7c, 0x8a, 0x8b, 0x67, 0xf7, 0x0c, 0x40, 0xe8, 0x6e, 0x78, 0x24, 0xd0, 0x9e, 0x0f, 0xa3, 0x6c,
- 0xab, 0xa8, 0x52, 0xac, 0x61, 0xa0, 0x3a, 0x8c, 0xd4, 0x9d, 0x5b, 0xa4, 0x5e, 0x21, 0x75, 0x52,
- 0x8d, 0xfc, 0x40, 0xc8, 0x37, 0x9e, 0xeb, 0xee, 0x1d, 0x70, 0x55, 0xaf, 0x3a, 0x37, 0xb1, 0xb7,
- 0x5b, 0x1a, 0x31, 0x8a, 0xb0, 0x49, 0x9c, 0x1e, 0x1d, 0x7e, 0x93, 0x7e, 0x85, 0x53, 0xd7, 0x1f,
- 0x9f, 0xd7, 0x44, 0x19, 0x56, 0x50, 0x75, 0x74, 0xf4, 0xe4, 0x1d, 0x1d, 0xf6, 0x1f, 0xd1, 0x85,
- 0xe6, 0x37, 0x9a, 0xbe, 0x47, 0xbc, 0x68, 0xde, 0xf7, 0x6a, 0x5c, 0x32, 0xf5, 0x92, 0x21, 0x3a,
- 0x39, 0x9b, 0x10, 0x9d, 0x1c, 0x4b, 0xd7, 0xd0, 0xa4, 0x27, 0x1f, 0x86, 0xbe, 0x30, 0x72, 0xa2,
- 0x56, 0x28, 0x06, 0xee, 0x61, 0xb9, 0xec, 0x2a, 0xac, 0x74, 0x7f, 0xb7, 0x34, 0xa6, 0xaa, 0xf1,
- 0x22, 0x2c, 0x2a, 0xa0, 0x27, 0xa0, 0xbf, 0x41, 0xc2, 0xd0, 0xd9, 0x90, 0x6c, 0xc3, 0x98, 0xa8,
- 0xdb, 0xbf, 0xc2, 0x8b, 0xb1, 0x84, 0xa3, 0x47, 0xa0, 0x97, 0x04, 0x81, 0x1f, 0x88, 0x6f, 0x1b,
- 0x11, 0x88, 0xbd, 0x8b, 0xb4, 0x10, 0x73, 0x98, 0xfd, 0x1f, 0x2c, 0x18, 0x53, 0x7d, 0xe5, 0x6d,
- 0x1d, 0xc2, 0x73, 0xed, 0x4d, 0x80, 0xaa, 0xfc, 0xc0, 0x90, 0x5d, 0xb3, 0x43, 0xcf, 0x9e, 0xcd,
- 0xe4, 0x68, 0x52, 0xc3, 0x18, 0x53, 0x56, 0x45, 0x21, 0xd6, 0xa8, 0xd9, 0xbf, 0x61, 0xc1, 0x64,
- 0xe2, 0x8b, 0xae, 0xba, 0x61, 0x84, 0xde, 0x4a, 0x7d, 0xd5, 0x4c, 0x97, 0x8b, 0xcf, 0x0d, 0xf9,
- 0x37, 0xa9, 0x3d, 0x2f, 0x4b, 0xb4, 0x2f, 0xba, 0x0c, 0xbd, 0x6e, 0x44, 0x1a, 0xf2, 0x63, 0x1e,
- 0x69, 0xfb, 0x31, 0xbc, 0x57, 0xf1, 0x8c, 0x2c, 0xd3, 0x9a, 0x98, 0x13, 0xb0, 0x7f, 0xbb, 0x08,
- 0x83, 0x7c, 0x7f, 0xaf, 0x38, 0xcd, 0x43, 0x98, 0x8b, 0xa7, 0x60, 0xd0, 0x6d, 0x34, 0x5a, 0x91,
- 0x73, 0x4b, 0xdc, 0x7b, 0x03, 0xfc, 0x0c, 0x5a, 0x96, 0x85, 0x38, 0x86, 0xa3, 0x65, 0xe8, 0x61,
- 0x5d, 0xe1, 0x5f, 0xf9, 0x78, 0xf6, 0x57, 0x8a, 0xbe, 0xcf, 0x2c, 0x38, 0x91, 0xc3, 0x59, 0x4e,
- 0xb5, 0xaf, 0x68, 0x11, 0x66, 0x24, 0x90, 0x03, 0x70, 0xcb, 0xf5, 0x9c, 0x60, 0x87, 0x96, 0x4d,
- 0x15, 0x19, 0xc1, 0x67, 0xda, 0x13, 0x9c, 0x53, 0xf8, 0x9c, 0xac, 0xfa, 0xb0, 0x18, 0x80, 0x35,
- 0xa2, 0xd3, 0x2f, 0xc2, 0xa0, 0x42, 0x3e, 0x08, 0xe7, 0x38, 0xfd, 0x11, 0x18, 0x4b, 0xb4, 0xd5,
- 0xa9, 0xfa, 0xb0, 0xce, 0x78, 0xfe, 0x1a, 0x3b, 0x32, 0x44, 0xaf, 0x17, 0xbd, 0x6d, 0x71, 0x37,
- 0xdd, 0x85, 0x23, 0xf5, 0x8c, 0x23, 0x5f, 0xcc, 0x6b, 0xf7, 0x57, 0xc4, 0x49, 0xf1, 0xd9, 0x47,
- 0xb2, 0xa0, 0x38, 0xb3, 0x0d, 0xe3, 0x44, 0x2c, 0xb4, 0x3b, 0x11, 0xe9, 0x79, 0x77, 0x44, 0x75,
- 0xfe, 0x0a, 0xd9, 0x51, 0x87, 0xea, 0xb7, 0xb2, 0xfb, 0xa7, 0xf8, 0xe8, 0xf3, 0xe3, 0x72, 0x48,
- 0x10, 0x28, 0x5e, 0x21, 0x3b, 0x7c, 0x2a, 0xf4, 0xaf, 0x2b, 0xb6, 0xfd, 0xba, 0xaf, 0x58, 0x30,
- 0xa2, 0xbe, 0xee, 0x10, 0xce, 0x85, 0x39, 0xf3, 0x5c, 0x38, 0xd5, 0x76, 0x81, 0xe7, 0x9c, 0x08,
- 0x5f, 0x2b, 0xc0, 0x09, 0x85, 0x43, 0x1f, 0x51, 0xfc, 0x8f, 0x58, 0x55, 0xe7, 0x61, 0xd0, 0x53,
- 0xe2, 0x44, 0xcb, 0x94, 0xe3, 0xc5, 0xc2, 0xc4, 0x18, 0x87, 0x5e, 0x79, 0x5e, 0x7c, 0x69, 0x0f,
- 0xeb, 0x72, 0x76, 0x71, 0xb9, 0xcf, 0x41, 0xb1, 0xe5, 0xd6, 0xc4, 0x05, 0xf3, 0x41, 0x39, 0xda,
- 0xd7, 0x97, 0x17, 0xf6, 0x77, 0x4b, 0x0f, 0xe7, 0xa9, 0x9c, 0xe8, 0xcd, 0x16, 0xce, 0x5c, 0x5f,
- 0x5e, 0xc0, 0xb4, 0x32, 0x9a, 0x85, 0x31, 0xa9, 0x55, 0xbb, 0x41, 0xf9, 0x52, 0xdf, 0x13, 0xf7,
- 0x90, 0x12, 0x96, 0x63, 0x13, 0x8c, 0x93, 0xf8, 0x68, 0x01, 0xc6, 0xb7, 0x5a, 0xb7, 0x48, 0x9d,
- 0x44, 0xfc, 0x83, 0xaf, 0x10, 0x2e, 0x4a, 0x1e, 0x8c, 0x9f, 0xb0, 0x57, 0x12, 0x70, 0x9c, 0xaa,
- 0x61, 0xff, 0x0d, 0xbb, 0x0f, 0xc4, 0xe8, 0x69, 0xfc, 0xcd, 0xb7, 0x72, 0x39, 0x77, 0xb3, 0x2a,
- 0xae, 0x90, 0x9d, 0x35, 0x9f, 0xf2, 0x21, 0xd9, 0xab, 0xc2, 0x58, 0xf3, 0x3d, 0x6d, 0xd7, 0xfc,
- 0x2f, 0x15, 0xe0, 0xa8, 0x1a, 0x01, 0x83, 0x5b, 0xfe, 0x76, 0x1f, 0x83, 0x0b, 0x30, 0x54, 0x23,
- 0xeb, 0x4e, 0xab, 0x1e, 0x29, 0xbd, 0x46, 0x2f, 0x57, 0xb5, 0x2d, 0xc4, 0xc5, 0x58, 0xc7, 0x39,
- 0xc0, 0xb0, 0xfd, 0xc2, 0x08, 0xbb, 0x88, 0x23, 0x87, 0xae, 0x71, 0xb5, 0x6b, 0xac, 0xdc, 0x5d,
- 0xf3, 0x08, 0xf4, 0xba, 0x0d, 0xca, 0x98, 0x15, 0x4c, 0x7e, 0x6b, 0x99, 0x16, 0x62, 0x0e, 0x43,
- 0x8f, 0x41, 0x7f, 0xd5, 0x6f, 0x34, 0x1c, 0xaf, 0xc6, 0xae, 0xbc, 0xc1, 0xb9, 0x21, 0xca, 0xbb,
- 0xcd, 0xf3, 0x22, 0x2c, 0x61, 0x94, 0xf9, 0x76, 0x82, 0x0d, 0x2e, 0xec, 0x11, 0xcc, 0xf7, 0x6c,
- 0xb0, 0x11, 0x62, 0x56, 0x4a, 0xdf, 0xaa, 0xb7, 0xfd, 0x60, 0xcb, 0xf5, 0x36, 0x16, 0xdc, 0x40,
- 0x6c, 0x09, 0x75, 0x17, 0xde, 0x54, 0x10, 0xac, 0x61, 0xa1, 0x25, 0xe8, 0x6d, 0xfa, 0x41, 0x14,
- 0x4e, 0xf5, 0xb1, 0xe1, 0x7e, 0x38, 0xe7, 0x20, 0xe2, 0x5f, 0x5b, 0xf6, 0x83, 0x28, 0xfe, 0x00,
- 0xfa, 0x2f, 0xc4, 0xbc, 0x3a, 0xba, 0x0a, 0xfd, 0xc4, 0xdb, 0x5e, 0x0a, 0xfc, 0xc6, 0xd4, 0x64,
- 0x3e, 0xa5, 0x45, 0x8e, 0xc2, 0x97, 0x59, 0xcc, 0xa3, 0x8a, 0x62, 0x2c, 0x49, 0xa0, 0x0f, 0x43,
- 0x91, 0x78, 0xdb, 0x53, 0xfd, 0x8c, 0xd2, 0x74, 0x0e, 0xa5, 0x1b, 0x4e, 0x10, 0x9f, 0xf9, 0x8b,
- 0xde, 0x36, 0xa6, 0x75, 0xd0, 0xc7, 0x60, 0x50, 0x1e, 0x18, 0xa1, 0x90, 0xa2, 0x66, 0x2e, 0x58,
- 0x79, 0xcc, 0x60, 0xf2, 0x76, 0xcb, 0x0d, 0x48, 0x83, 0x78, 0x51, 0x18, 0x9f, 0x90, 0x12, 0x1a,
- 0xe2, 0x98, 0x1a, 0xaa, 0xc2, 0x70, 0x40, 0x42, 0xf7, 0x2e, 0x29, 0xfb, 0x75, 0xb7, 0xba, 0x33,
- 0x75, 0x9c, 0x75, 0xef, 0x89, 0xb6, 0x43, 0x86, 0xb5, 0x0a, 0xb1, 0x94, 0x5f, 0x2f, 0xc5, 0x06,
- 0x51, 0xf4, 0x06, 0x8c, 0x04, 0x24, 0x8c, 0x9c, 0x20, 0x12, 0xad, 0x4c, 0x29, 0xad, 0xdc, 0x08,
- 0xd6, 0x01, 0xfc, 0x39, 0x11, 0x37, 0x13, 0x43, 0xb0, 0x49, 0x01, 0x7d, 0x4c, 0xaa, 0x1c, 0x56,
- 0xfc, 0x96, 0x17, 0x85, 0x53, 0x83, 0xac, 0xdf, 0x99, 0xba, 0xe9, 0x1b, 0x31, 0x5e, 0x52, 0x27,
- 0xc1, 0x2b, 0x63, 0x83, 0x14, 0xfa, 0x04, 0x8c, 0xf0, 0xff, 0x5c, 0xa5, 0x1a, 0x4e, 0x1d, 0x65,
- 0xb4, 0xcf, 0xe4, 0xd3, 0xe6, 0x88, 0x73, 0x47, 0x05, 0xf1, 0x11, 0xbd, 0x34, 0xc4, 0x26, 0x35,
- 0x84, 0x61, 0xa4, 0xee, 0x6e, 0x13, 0x8f, 0x84, 0x61, 0x39, 0xf0, 0x6f, 0x11, 0x21, 0x21, 0x3e,
- 0x91, 0xad, 0x82, 0xf5, 0x6f, 0x11, 0xf1, 0x08, 0xd4, 0xeb, 0x60, 0x93, 0x04, 0xba, 0x0e, 0xa3,
- 0xf4, 0x49, 0xee, 0xc6, 0x44, 0x87, 0x3a, 0x11, 0x65, 0x0f, 0x67, 0x6c, 0x54, 0xc2, 0x09, 0x22,
- 0xe8, 0x1a, 0x0c, 0xb3, 0x31, 0x6f, 0x35, 0x39, 0xd1, 0x63, 0x9d, 0x88, 0x32, 0x83, 0x82, 0x8a,
- 0x56, 0x05, 0x1b, 0x04, 0xd0, 0xeb, 0x30, 0x58, 0x77, 0xd7, 0x49, 0x75, 0xa7, 0x5a, 0x27, 0x53,
- 0xc3, 0x8c, 0x5a, 0xe6, 0x61, 0x78, 0x55, 0x22, 0x71, 0xfe, 0x5c, 0xfd, 0xc5, 0x71, 0x75, 0x74,
- 0x03, 0x8e, 0x45, 0x24, 0x68, 0xb8, 0x9e, 0x43, 0x0f, 0x31, 0xf1, 0x24, 0x64, 0x9a, 0xf1, 0x11,
- 0xb6, 0xba, 0x4e, 0x8b, 0xd9, 0x38, 0xb6, 0x96, 0x89, 0x85, 0x73, 0x6a, 0xa3, 0x3b, 0x30, 0x95,
- 0x01, 0xe1, 0xeb, 0xf6, 0x08, 0xa3, 0xfc, 0x8a, 0xa0, 0x3c, 0xb5, 0x96, 0x83, 0xb7, 0xdf, 0x06,
- 0x86, 0x73, 0xa9, 0xa3, 0x6b, 0x30, 0xc6, 0x4e, 0xce, 0x72, 0xab, 0x5e, 0x17, 0x0d, 0x8e, 0xb2,
- 0x06, 0x1f, 0x93, 0x7c, 0xc4, 0xb2, 0x09, 0xde, 0xdf, 0x2d, 0x41, 0xfc, 0x0f, 0x27, 0x6b, 0xa3,
- 0x5b, 0x4c, 0x09, 0xdb, 0x0a, 0xdc, 0x68, 0x87, 0xee, 0x2a, 0x72, 0x27, 0x9a, 0x1a, 0x6b, 0x2b,
- 0x90, 0xd2, 0x51, 0x95, 0xa6, 0x56, 0x2f, 0xc4, 0x49, 0x82, 0xf4, 0x2a, 0x08, 0xa3, 0x9a, 0xeb,
- 0x4d, 0x8d, 0xf3, 0xf7, 0x94, 0x3c, 0x49, 0x2b, 0xb4, 0x10, 0x73, 0x18, 0x53, 0xc0, 0xd2, 0x1f,
- 0xd7, 0xe8, 0x8d, 0x3b, 0xc1, 0x10, 0x63, 0x05, 0xac, 0x04, 0xe0, 0x18, 0x87, 0x32, 0xc1, 0x51,
- 0xb4, 0x33, 0x85, 0x18, 0xaa, 0x3a, 0x10, 0xd7, 0xd6, 0x3e, 0x86, 0x69, 0xb9, 0x7d, 0x0b, 0x46,
- 0xd5, 0x31, 0xc1, 0xc6, 0x04, 0x95, 0xa0, 0x97, 0xb1, 0x7d, 0x42, 0x7c, 0x3a, 0x48, 0xbb, 0xc0,
- 0x58, 0x42, 0xcc, 0xcb, 0x59, 0x17, 0xdc, 0xbb, 0x64, 0x6e, 0x27, 0x22, 0x5c, 0x16, 0x51, 0xd4,
- 0xba, 0x20, 0x01, 0x38, 0xc6, 0xb1, 0xff, 0x2f, 0x67, 0x9f, 0xe3, 0x5b, 0xa2, 0x8b, 0x7b, 0xf1,
- 0x69, 0x18, 0x60, 0x86, 0x1f, 0x7e, 0xc0, 0xb5, 0xb3, 0xbd, 0x31, 0xc3, 0x7c, 0x59, 0x94, 0x63,
- 0x85, 0x81, 0x5e, 0x86, 0x91, 0xaa, 0xde, 0x80, 0xb8, 0xd4, 0xd5, 0x31, 0x62, 0xb4, 0x8e, 0x4d,
- 0x5c, 0x74, 0x11, 0x06, 0x98, 0x8d, 0x53, 0xd5, 0xaf, 0x0b, 0x6e, 0x53, 0x72, 0x26, 0x03, 0x65,
- 0x51, 0xbe, 0xaf, 0xfd, 0xc6, 0x0a, 0x1b, 0x9d, 0x85, 0x3e, 0xda, 0x85, 0xe5, 0xb2, 0xb8, 0x4e,
- 0x95, 0x24, 0xf0, 0x32, 0x2b, 0xc5, 0x02, 0x6a, 0xff, 0x86, 0xc5, 0x78, 0xa9, 0xf4, 0x99, 0x8f,
- 0x2e, 0xb3, 0x4b, 0x83, 0xdd, 0x20, 0x9a, 0x16, 0xfe, 0x51, 0xed, 0x26, 0x50, 0xb0, 0xfd, 0xc4,
- 0x7f, 0x6c, 0xd4, 0x44, 0x6f, 0x26, 0x6f, 0x06, 0xce, 0x50, 0x3c, 0x2f, 0x87, 0x20, 0x79, 0x3b,
- 0x3c, 0x14, 0x5f, 0x71, 0xb4, 0x3f, 0xed, 0xae, 0x08, 0xfb, 0x47, 0x0a, 0xda, 0x2a, 0xa9, 0x44,
- 0x4e, 0x44, 0x50, 0x19, 0xfa, 0x6f, 0x3b, 0x6e, 0xe4, 0x7a, 0x1b, 0x82, 0xef, 0x6b, 0x7f, 0xd1,
- 0xb1, 0x4a, 0x37, 0x79, 0x05, 0xce, 0xbd, 0x88, 0x3f, 0x58, 0x92, 0xa1, 0x14, 0x83, 0x96, 0xe7,
- 0x51, 0x8a, 0x85, 0x6e, 0x29, 0x62, 0x5e, 0x81, 0x53, 0x14, 0x7f, 0xb0, 0x24, 0x83, 0xde, 0x02,
- 0x90, 0x27, 0x04, 0xa9, 0x09, 0xd9, 0xe1, 0xd3, 0x9d, 0x89, 0xae, 0xa9, 0x3a, 0x5c, 0x38, 0x19,
- 0xff, 0xc7, 0x1a, 0x3d, 0x3b, 0xd2, 0xe6, 0x54, 0xef, 0x0c, 0xfa, 0x38, 0xdd, 0xa2, 0x4e, 0x10,
- 0x91, 0xda, 0x6c, 0x24, 0x06, 0xe7, 0xc9, 0xee, 0x1e, 0x87, 0x6b, 0x6e, 0x83, 0xe8, 0xdb, 0x59,
- 0x10, 0xc1, 0x31, 0x3d, 0xfb, 0x57, 0x8a, 0x30, 0x95, 0xd7, 0x5d, 0xba, 0x69, 0xc8, 0x1d, 0x37,
- 0x9a, 0xa7, 0x6c, 0xad, 0x65, 0x6e, 0x9a, 0x45, 0x51, 0x8e, 0x15, 0x06, 0x5d, 0xbd, 0xa1, 0xbb,
- 0x21, 0xdf, 0xf6, 0xbd, 0xf1, 0xea, 0xad, 0xb0, 0x52, 0x2c, 0xa0, 0x14, 0x2f, 0x20, 0x4e, 0x28,
- 0x8c, 0xef, 0xb4, 0x55, 0x8e, 0x59, 0x29, 0x16, 0x50, 0x5d, 0xca, 0xd8, 0xd3, 0x41, 0xca, 0x68,
- 0x0c, 0x51, 0xef, 0xfd, 0x1d, 0x22, 0xf4, 0x49, 0x80, 0x75, 0xd7, 0x73, 0xc3, 0x4d, 0x46, 0xbd,
- 0xef, 0xc0, 0xd4, 0x15, 0x53, 0xbc, 0xa4, 0xa8, 0x60, 0x8d, 0x22, 0x7a, 0x01, 0x86, 0xd4, 0x01,
- 0xb2, 0xbc, 0xc0, 0x54, 0xff, 0x9a, 0x29, 0x55, 0x7c, 0x9a, 0x2e, 0x60, 0x1d, 0xcf, 0xfe, 0x74,
- 0x72, 0xbd, 0x88, 0x1d, 0xa0, 0x8d, 0xaf, 0xd5, 0xed, 0xf8, 0x16, 0xda, 0x8f, 0xaf, 0xfd, 0x63,
- 0x83, 0x30, 0x66, 0x34, 0xd6, 0x0a, 0xbb, 0x38, 0x73, 0x2f, 0xd1, 0x0b, 0xc8, 0x89, 0x88, 0xd8,
- 0x7f, 0x76, 0xe7, 0xad, 0xa2, 0x5f, 0x52, 0x74, 0x07, 0xf0, 0xfa, 0xe8, 0x93, 0x30, 0x58, 0x77,
- 0x42, 0x26, 0xb1, 0x24, 0x62, 0xdf, 0x75, 0x43, 0x2c, 0x7e, 0x10, 0x3a, 0x61, 0xa4, 0xdd, 0xfa,
- 0x9c, 0x76, 0x4c, 0x92, 0xde, 0x94, 0x94, 0xbf, 0x92, 0xd6, 0x9d, 0xaa, 0x13, 0x94, 0x09, 0xdb,
- 0xc1, 0x1c, 0x86, 0x2e, 0xb2, 0xa3, 0x95, 0xae, 0x8a, 0x79, 0xca, 0x8d, 0xb2, 0x65, 0xd6, 0x6b,
- 0x30, 0xd9, 0x0a, 0x86, 0x0d, 0xcc, 0xf8, 0x4d, 0xd6, 0xd7, 0xe6, 0x4d, 0xf6, 0x04, 0xf4, 0xb3,
- 0x1f, 0x6a, 0x05, 0xa8, 0xd9, 0x58, 0xe6, 0xc5, 0x58, 0xc2, 0x93, 0x0b, 0x66, 0xa0, 0xbb, 0x05,
- 0x43, 0x5f, 0x7d, 0x62, 0x51, 0x33, 0xb3, 0x8b, 0x01, 0x7e, 0xca, 0x89, 0x25, 0x8f, 0x25, 0x0c,
- 0xfd, 0xac, 0x05, 0xc8, 0xa9, 0xd3, 0xd7, 0x32, 0x2d, 0x56, 0x8f, 0x1b, 0x60, 0xac, 0xf6, 0xcb,
- 0x1d, 0x87, 0xbd, 0x15, 0xce, 0xcc, 0xa6, 0x6a, 0x73, 0x49, 0xe9, 0x4b, 0xa2, 0x8b, 0x28, 0x8d,
- 0xa0, 0x5f, 0x46, 0x57, 0xdd, 0x30, 0xfa, 0xec, 0x1f, 0x27, 0x2e, 0xa7, 0x8c, 0x2e, 0xa1, 0xeb,
- 0xfa, 0xe3, 0x6b, 0xe8, 0x80, 0x8f, 0xaf, 0x91, 0xdc, 0x87, 0xd7, 0x77, 0x26, 0x1e, 0x30, 0xc3,
- 0xec, 0xcb, 0x1f, 0xeb, 0xf0, 0x80, 0x11, 0xe2, 0xf4, 0x6e, 0x9e, 0x31, 0x65, 0xa1, 0x07, 0x1e,
- 0x61, 0x5d, 0x6e, 0xff, 0x08, 0xbe, 0x1e, 0x92, 0x60, 0xee, 0x84, 0x54, 0x13, 0xef, 0xeb, 0xbc,
- 0x87, 0xa6, 0x37, 0xfe, 0x1e, 0x0b, 0xa6, 0xd2, 0x03, 0xc4, 0xbb, 0x34, 0x35, 0xca, 0xfa, 0x6f,
- 0xb7, 0x1b, 0x19, 0xd1, 0x79, 0x69, 0xee, 0x3a, 0x35, 0x9b, 0x43, 0x0b, 0xe7, 0xb6, 0x32, 0xdd,
- 0x82, 0xe3, 0x39, 0xf3, 0x9e, 0x21, 0xb5, 0x5e, 0xd0, 0xa5, 0xd6, 0x1d, 0x64, 0x9d, 0x33, 0x72,
- 0x66, 0x66, 0xde, 0x68, 0x39, 0x5e, 0xe4, 0x46, 0x3b, 0xba, 0x94, 0xdb, 0x03, 0x73, 0x40, 0xd0,
- 0x27, 0xa0, 0xb7, 0xee, 0x7a, 0xad, 0x3b, 0xe2, 0xa6, 0x3c, 0x9b, 0xfd, 0x88, 0xf1, 0x5a, 0x77,
- 0xcc, 0x21, 0x2e, 0xd1, 0x0d, 0xc9, 0xca, 0xf7, 0x77, 0x4b, 0x28, 0x8d, 0x80, 0x39, 0x55, 0xfb,
- 0x49, 0x18, 0x5d, 0x70, 0x48, 0xc3, 0xf7, 0x16, 0xbd, 0x5a, 0xd3, 0x77, 0xbd, 0x08, 0x4d, 0x41,
- 0x0f, 0x63, 0x11, 0xf9, 0x05, 0xd9, 0x43, 0x87, 0x10, 0xb3, 0x12, 0x7b, 0x03, 0x8e, 0x2e, 0xf8,
- 0xb7, 0xbd, 0xdb, 0x4e, 0x50, 0x9b, 0x2d, 0x2f, 0x6b, 0x52, 0xbf, 0x55, 0x29, 0x75, 0xb2, 0xf2,
- 0xdf, 0xf4, 0x5a, 0x4d, 0xbe, 0x94, 0x96, 0xdc, 0x3a, 0xc9, 0x91, 0xcd, 0xfe, 0x58, 0xc1, 0x68,
- 0x29, 0xc6, 0x57, 0x9a, 0x45, 0x2b, 0xd7, 0x28, 0xe1, 0x0d, 0x18, 0x58, 0x77, 0x49, 0xbd, 0x86,
- 0xc9, 0xba, 0x98, 0x8d, 0xc7, 0xf3, 0xcd, 0x16, 0x97, 0x28, 0xa6, 0x52, 0x81, 0x32, 0x99, 0xd5,
- 0x92, 0xa8, 0x8c, 0x15, 0x19, 0xb4, 0x05, 0xe3, 0x72, 0xce, 0x24, 0x54, 0x9c, 0xda, 0x4f, 0xb4,
- 0x5b, 0x84, 0x26, 0x71, 0x66, 0xc2, 0x8d, 0x13, 0x64, 0x70, 0x8a, 0x30, 0x3a, 0x09, 0x3d, 0x0d,
- 0xca, 0x9f, 0xf4, 0xb0, 0xe1, 0x67, 0x42, 0x2a, 0x26, 0x6f, 0x63, 0xa5, 0xf6, 0x4f, 0x58, 0x70,
- 0x3c, 0x35, 0x32, 0x42, 0xee, 0x78, 0x9f, 0x67, 0x21, 0x29, 0x07, 0x2c, 0x74, 0x96, 0x03, 0xda,
- 0xff, 0xc8, 0x82, 0x23, 0x8b, 0x8d, 0x66, 0xb4, 0xb3, 0xe0, 0x9a, 0x16, 0x04, 0x2f, 0x42, 0x5f,
- 0x83, 0xd4, 0xdc, 0x56, 0x43, 0xcc, 0x5c, 0x49, 0xde, 0xe1, 0x2b, 0xac, 0x94, 0x9e, 0x03, 0x95,
- 0xc8, 0x0f, 0x9c, 0x0d, 0xc2, 0x0b, 0xb0, 0x40, 0x67, 0x9c, 0x90, 0x7b, 0x97, 0x5c, 0x75, 0x1b,
- 0x6e, 0x74, 0x6f, 0xbb, 0x4b, 0x28, 0xff, 0x25, 0x11, 0x1c, 0xd3, 0xb3, 0xbf, 0x61, 0xc1, 0x98,
- 0x5c, 0xf7, 0xb3, 0xb5, 0x5a, 0x40, 0xc2, 0x10, 0x4d, 0x43, 0xc1, 0x6d, 0x8a, 0x5e, 0x82, 0xe8,
- 0x65, 0x61, 0xb9, 0x8c, 0x0b, 0x6e, 0x53, 0x3e, 0xba, 0x18, 0x9b, 0x50, 0x34, 0xed, 0x20, 0x2e,
- 0x8b, 0x72, 0xac, 0x30, 0xd0, 0x39, 0x18, 0xf0, 0xfc, 0x1a, 0x7f, 0xb7, 0x08, 0x4d, 0x38, 0xc5,
- 0x5c, 0x15, 0x65, 0x58, 0x41, 0x51, 0x19, 0x06, 0xb9, 0x95, 0x6c, 0xbc, 0x68, 0xbb, 0xb2, 0xb5,
- 0x65, 0x5f, 0xb6, 0x26, 0x6b, 0xe2, 0x98, 0x88, 0xfd, 0x5b, 0x16, 0x0c, 0xcb, 0x2f, 0xeb, 0xf2,
- 0x45, 0x49, 0xb7, 0x56, 0xfc, 0x9a, 0x8c, 0xb7, 0x16, 0x7d, 0x11, 0x32, 0x88, 0xf1, 0x10, 0x2c,
- 0x1e, 0xe8, 0x21, 0x78, 0x01, 0x86, 0x9c, 0x66, 0xb3, 0x6c, 0xbe, 0x22, 0xd9, 0x52, 0x9a, 0x8d,
- 0x8b, 0xb1, 0x8e, 0x63, 0xff, 0x78, 0x01, 0x46, 0xe5, 0x17, 0x54, 0x5a, 0xb7, 0x42, 0x12, 0xa1,
- 0x35, 0x18, 0x74, 0xf8, 0x2c, 0x11, 0xb9, 0xc8, 0x1f, 0xc9, 0x96, 0x6e, 0x1a, 0x53, 0x1a, 0xb3,
- 0xc3, 0xb3, 0xb2, 0x36, 0x8e, 0x09, 0xa1, 0x3a, 0x4c, 0x78, 0x7e, 0xc4, 0x58, 0x23, 0x05, 0x6f,
- 0xa7, 0x70, 0x4e, 0x52, 0x3f, 0x21, 0xa8, 0x4f, 0xac, 0x26, 0xa9, 0xe0, 0x34, 0x61, 0xb4, 0x28,
- 0x25, 0xc6, 0xc5, 0x7c, 0x51, 0x9f, 0x3e, 0x71, 0xd9, 0x02, 0x63, 0xfb, 0xd7, 0x2d, 0x18, 0x94,
- 0x68, 0x87, 0x61, 0x5b, 0xb0, 0x02, 0xfd, 0x21, 0x9b, 0x04, 0x39, 0x34, 0x76, 0xbb, 0x8e, 0xf3,
- 0xf9, 0x8a, 0x39, 0x3e, 0xfe, 0x3f, 0xc4, 0x92, 0x06, 0x53, 0x18, 0xaa, 0xee, 0xbf, 0x4b, 0x14,
- 0x86, 0xaa, 0x3f, 0x39, 0x97, 0xd2, 0x9f, 0xb2, 0x3e, 0x6b, 0x12, 0x78, 0xfa, 0x30, 0x69, 0x06,
- 0x64, 0xdd, 0xbd, 0x93, 0x7c, 0x98, 0x94, 0x59, 0x29, 0x16, 0x50, 0xf4, 0x16, 0x0c, 0x57, 0xa5,
- 0xa6, 0x28, 0xde, 0xe1, 0x67, 0xdb, 0x6a, 0x2d, 0x95, 0x82, 0x9b, 0x4b, 0x3a, 0xe7, 0xb5, 0xfa,
- 0xd8, 0xa0, 0x66, 0x5a, 0x81, 0x15, 0x3b, 0x59, 0x81, 0xc5, 0x74, 0xf3, 0x6d, 0xa2, 0x7e, 0xd2,
- 0x82, 0x3e, 0xae, 0x21, 0xe8, 0x4e, 0x41, 0xa3, 0xe9, 0xfb, 0xe3, 0xb1, 0xbb, 0x41, 0x0b, 0x05,
- 0x67, 0x83, 0x56, 0x60, 0x90, 0xfd, 0x60, 0x1a, 0x8e, 0x62, 0xbe, 0xcf, 0x18, 0x6f, 0x55, 0xef,
- 0xe0, 0x0d, 0x59, 0x0d, 0xc7, 0x14, 0xec, 0x1f, 0x2d, 0xd2, 0xd3, 0x2d, 0x46, 0x35, 0x2e, 0x7d,
- 0xeb, 0xc1, 0x5d, 0xfa, 0x85, 0x07, 0x75, 0xe9, 0x6f, 0xc0, 0x58, 0x55, 0xb3, 0x0e, 0x88, 0x67,
- 0xf2, 0x5c, 0xdb, 0x45, 0xa2, 0x19, 0x12, 0x70, 0x19, 0xea, 0xbc, 0x49, 0x04, 0x27, 0xa9, 0xa2,
- 0x8f, 0xc3, 0x30, 0x9f, 0x67, 0xd1, 0x0a, 0x37, 0xa4, 0x7b, 0x2c, 0x7f, 0xbd, 0xe8, 0x4d, 0x70,
- 0x99, 0xbb, 0x56, 0x1d, 0x1b, 0xc4, 0xec, 0xbf, 0xb4, 0x00, 0x2d, 0x36, 0x37, 0x49, 0x83, 0x04,
- 0x4e, 0x3d, 0x56, 0xf2, 0x7d, 0xc1, 0x82, 0x29, 0x92, 0x2a, 0x9e, 0xf7, 0x1b, 0x0d, 0xf1, 0xa4,
- 0xcf, 0x91, 0x3a, 0x2d, 0xe6, 0xd4, 0x89, 0xd9, 0xfa, 0x3c, 0x0c, 0x9c, 0xdb, 0x1e, 0x5a, 0x81,
- 0x49, 0x7e, 0x4b, 0x2a, 0x80, 0x66, 0x6b, 0xf7, 0x90, 0x20, 0x3c, 0xb9, 0x96, 0x46, 0xc1, 0x59,
- 0xf5, 0xec, 0x5f, 0x1f, 0x81, 0xdc, 0x5e, 0xbc, 0xaf, 0xdd, 0x7c, 0x5f, 0xbb, 0xf9, 0xbe, 0x76,
- 0xf3, 0x7d, 0xed, 0xe6, 0xfb, 0xda, 0xcd, 0xf7, 0xb5, 0x9b, 0xef, 0x52, 0xed, 0xe6, 0xdf, 0xb6,
- 0xe0, 0xa8, 0xba, 0xbe, 0x8c, 0x07, 0xfb, 0x67, 0x60, 0x92, 0x6f, 0xb7, 0xf9, 0xba, 0xe3, 0x36,
- 0xd6, 0x48, 0xa3, 0x59, 0x77, 0x22, 0x69, 0xc3, 0x74, 0x21, 0x73, 0xe5, 0x26, 0x1c, 0x25, 0x8c,
- 0x8a, 0xdc, 0xe3, 0x2c, 0x03, 0x80, 0xb3, 0x9a, 0xb1, 0x7f, 0x65, 0x00, 0x7a, 0x17, 0xb7, 0x89,
- 0x17, 0x1d, 0xc2, 0xd3, 0xa6, 0x0a, 0xa3, 0xae, 0xb7, 0xed, 0xd7, 0xb7, 0x49, 0x8d, 0xc3, 0x0f,
- 0xf2, 0x02, 0x3f, 0x26, 0x48, 0x8f, 0x2e, 0x1b, 0x24, 0x70, 0x82, 0xe4, 0x83, 0xd0, 0x11, 0x5d,
- 0x82, 0x3e, 0x7e, 0xf9, 0x08, 0x05, 0x51, 0xe6, 0x99, 0xcd, 0x06, 0x51, 0x5c, 0xa9, 0xb1, 0xfe,
- 0x8a, 0x5f, 0x6e, 0xa2, 0x3a, 0xfa, 0x34, 0x8c, 0xae, 0xbb, 0x41, 0x18, 0xad, 0xb9, 0x0d, 0x7a,
- 0x35, 0x34, 0x9a, 0xf7, 0xa0, 0x13, 0x52, 0xe3, 0xb0, 0x64, 0x50, 0xc2, 0x09, 0xca, 0x68, 0x03,
- 0x46, 0xea, 0x8e, 0xde, 0x54, 0xff, 0x81, 0x9b, 0x52, 0xb7, 0xc3, 0x55, 0x9d, 0x10, 0x36, 0xe9,
- 0xd2, 0xed, 0x54, 0x65, 0x6a, 0x8d, 0x01, 0x26, 0xce, 0x50, 0xdb, 0x89, 0xeb, 0x33, 0x38, 0x8c,
- 0x32, 0x68, 0xcc, 0xdd, 0x60, 0xd0, 0x64, 0xd0, 0x34, 0xa7, 0x82, 0x4f, 0xc1, 0x20, 0xa1, 0x43,
- 0x48, 0x09, 0x8b, 0x0b, 0xe6, 0x7c, 0x77, 0x7d, 0x5d, 0x71, 0xab, 0x81, 0x6f, 0x6a, 0xe3, 0x16,
- 0x25, 0x25, 0x1c, 0x13, 0x45, 0xf3, 0xd0, 0x17, 0x92, 0xc0, 0x55, 0x12, 0xff, 0x36, 0xd3, 0xc8,
- 0xd0, 0xb8, 0x4b, 0x23, 0xff, 0x8d, 0x45, 0x55, 0xba, 0xbc, 0x1c, 0x26, 0x8a, 0x65, 0x97, 0x81,
- 0xb6, 0xbc, 0x66, 0x59, 0x29, 0x16, 0x50, 0xf4, 0x3a, 0xf4, 0x07, 0xa4, 0xce, 0xd4, 0xbd, 0x23,
- 0xdd, 0x2f, 0x72, 0xae, 0x3d, 0xe6, 0xf5, 0xb0, 0x24, 0x80, 0xae, 0x00, 0x0a, 0x08, 0x65, 0xf0,
- 0x5c, 0x6f, 0x43, 0x19, 0xe1, 0x8b, 0x83, 0x56, 0x31, 0xd2, 0x38, 0xc6, 0x90, 0xde, 0xac, 0x38,
- 0xa3, 0x1a, 0xba, 0x04, 0x13, 0xaa, 0x74, 0xd9, 0x0b, 0x23, 0x87, 0x1e, 0x70, 0x63, 0x8c, 0x96,
- 0x92, 0xaf, 0xe0, 0x24, 0x02, 0x4e, 0xd7, 0xb1, 0x7f, 0xde, 0x02, 0x3e, 0xce, 0x87, 0x20, 0x55,
- 0x78, 0xd5, 0x94, 0x2a, 0x9c, 0xc8, 0x9d, 0xb9, 0x1c, 0x89, 0xc2, 0xcf, 0x5b, 0x30, 0xa4, 0xcd,
- 0x6c, 0xbc, 0x66, 0xad, 0x36, 0x6b, 0xb6, 0x05, 0xe3, 0x74, 0xa5, 0x5f, 0xbb, 0x15, 0x92, 0x60,
- 0x9b, 0xd4, 0xd8, 0xc2, 0x2c, 0xdc, 0xdb, 0xc2, 0x54, 0x06, 0xbf, 0x57, 0x13, 0x04, 0x71, 0xaa,
- 0x09, 0xfb, 0x53, 0xb2, 0xab, 0xca, 0x3e, 0xba, 0xaa, 0xe6, 0x3c, 0x61, 0x1f, 0xad, 0x66, 0x15,
- 0xc7, 0x38, 0x74, 0xab, 0x6d, 0xfa, 0x61, 0x94, 0xb4, 0x8f, 0xbe, 0xec, 0x87, 0x11, 0x66, 0x10,
- 0xfb, 0x39, 0x80, 0xc5, 0x3b, 0xa4, 0xca, 0x57, 0xac, 0xfe, 0xe8, 0xb1, 0xf2, 0x1f, 0x3d, 0xf6,
- 0x1f, 0x58, 0x30, 0xba, 0x34, 0x6f, 0xdc, 0x5c, 0x33, 0x00, 0xfc, 0xa5, 0x76, 0xf3, 0xe6, 0xaa,
- 0x34, 0xd2, 0xe1, 0x76, 0x0a, 0xaa, 0x14, 0x6b, 0x18, 0xe8, 0x04, 0x14, 0xeb, 0x2d, 0x4f, 0x88,
- 0x3d, 0xfb, 0xe9, 0xf5, 0x78, 0xb5, 0xe5, 0x61, 0x5a, 0xa6, 0x79, 0xb2, 0x15, 0xbb, 0xf6, 0x64,
- 0xeb, 0x18, 0x50, 0x07, 0x95, 0xa0, 0xf7, 0xf6, 0x6d, 0xb7, 0xc6, 0xe3, 0x04, 0x08, 0x03, 0xa2,
- 0x9b, 0x37, 0x97, 0x17, 0x42, 0xcc, 0xcb, 0xed, 0x2f, 0x16, 0x61, 0x7a, 0xa9, 0x4e, 0xee, 0xbc,
- 0xc3, 0x58, 0x09, 0xdd, 0xfa, 0xe1, 0x1d, 0x4c, 0x80, 0x74, 0x50, 0x5f, 0xcb, 0xce, 0xe3, 0xb1,
- 0x0e, 0xfd, 0xdc, 0x3c, 0x58, 0x46, 0x4e, 0xc8, 0x54, 0xca, 0xe6, 0x0f, 0xc8, 0x0c, 0x37, 0x33,
- 0x16, 0x4a, 0x59, 0x75, 0x61, 0x8a, 0x52, 0x2c, 0x89, 0x4f, 0xbf, 0x04, 0xc3, 0x3a, 0xe6, 0x81,
- 0xbc, 0x9e, 0xbf, 0xb7, 0x08, 0xe3, 0xb4, 0x07, 0x0f, 0x74, 0x22, 0xae, 0xa7, 0x27, 0xe2, 0x7e,
- 0x7b, 0xbe, 0x76, 0x9e, 0x8d, 0xb7, 0x92, 0xb3, 0x71, 0x21, 0x6f, 0x36, 0x0e, 0x7b, 0x0e, 0xbe,
- 0xcf, 0x82, 0xc9, 0xa5, 0xba, 0x5f, 0xdd, 0x4a, 0x78, 0xa7, 0xbe, 0x00, 0x43, 0xf4, 0x38, 0x0e,
- 0x8d, 0x40, 0x2d, 0x46, 0xe8, 0x1e, 0x01, 0xc2, 0x3a, 0x9e, 0x56, 0xed, 0xfa, 0xf5, 0xe5, 0x85,
- 0xac, 0x88, 0x3f, 0x02, 0x84, 0x75, 0x3c, 0xfb, 0xf7, 0x2c, 0x38, 0x75, 0x69, 0x7e, 0x31, 0x5e,
- 0x8a, 0xa9, 0xa0, 0x43, 0x67, 0xa1, 0xaf, 0x59, 0xd3, 0xba, 0x12, 0x8b, 0x85, 0x17, 0x58, 0x2f,
- 0x04, 0xf4, 0xdd, 0x12, 0xdf, 0xeb, 0x3a, 0xc0, 0x25, 0x5c, 0x9e, 0x17, 0xe7, 0xae, 0xd4, 0x02,
- 0x59, 0xb9, 0x5a, 0xa0, 0xc7, 0xa0, 0x9f, 0xde, 0x0b, 0x6e, 0x55, 0xf6, 0x9b, 0x9b, 0x5d, 0xf0,
- 0x22, 0x2c, 0x61, 0xf6, 0xcf, 0x59, 0x30, 0x79, 0xc9, 0x8d, 0xe8, 0xa5, 0x9d, 0x8c, 0xaa, 0x43,
- 0x6f, 0xed, 0xd0, 0x8d, 0xfc, 0x60, 0x27, 0x19, 0x55, 0x07, 0x2b, 0x08, 0xd6, 0xb0, 0xf8, 0x07,
- 0x6d, 0xbb, 0xcc, 0xdf, 0xa5, 0x60, 0xea, 0xdd, 0xb0, 0x28, 0xc7, 0x0a, 0x83, 0x8e, 0x57, 0xcd,
- 0x0d, 0x98, 0xc8, 0x72, 0x47, 0x1c, 0xdc, 0x6a, 0xbc, 0x16, 0x24, 0x00, 0xc7, 0x38, 0xf6, 0x9f,
- 0x5b, 0x50, 0xba, 0xc4, 0xbd, 0x76, 0xd7, 0xc3, 0x9c, 0x43, 0xf7, 0x39, 0x18, 0x24, 0x52, 0x41,
- 0x20, 0x7a, 0xad, 0x18, 0x51, 0xa5, 0x39, 0xe0, 0xc1, 0x7d, 0x14, 0x5e, 0x17, 0x2e, 0xf4, 0x07,
- 0xf3, 0x81, 0x5e, 0x02, 0x44, 0xf4, 0xb6, 0xf4, 0x68, 0x47, 0x2c, 0x6c, 0xca, 0x62, 0x0a, 0x8a,
- 0x33, 0x6a, 0xd8, 0x3f, 0x61, 0xc1, 0x51, 0xf5, 0xc1, 0xef, 0xba, 0xcf, 0xb4, 0xbf, 0x5a, 0x80,
- 0x91, 0xcb, 0x6b, 0x6b, 0xe5, 0x4b, 0x24, 0xd2, 0x56, 0x65, 0x7b, 0xb5, 0x3f, 0xd6, 0xb4, 0x97,
- 0xed, 0xde, 0x88, 0xad, 0xc8, 0xad, 0xcf, 0xf0, 0x18, 0x7e, 0x33, 0xcb, 0x5e, 0x74, 0x2d, 0xa8,
- 0x44, 0x81, 0xeb, 0x6d, 0x64, 0xae, 0x74, 0xc9, 0xb3, 0x14, 0xf3, 0x78, 0x16, 0xf4, 0x1c, 0xf4,
- 0xb1, 0x20, 0x82, 0x72, 0x12, 0x1e, 0x52, 0x4f, 0x2c, 0x56, 0xba, 0xbf, 0x5b, 0x1a, 0xbc, 0x8e,
- 0x97, 0xf9, 0x1f, 0x2c, 0x50, 0xd1, 0x75, 0x18, 0xda, 0x8c, 0xa2, 0xe6, 0x65, 0xe2, 0xd4, 0x48,
- 0x20, 0x4f, 0xd9, 0xd3, 0x59, 0xa7, 0x2c, 0x1d, 0x04, 0x8e, 0x16, 0x1f, 0x4c, 0x71, 0x59, 0x88,
- 0x75, 0x3a, 0x76, 0x05, 0x20, 0x86, 0xdd, 0x27, 0xc5, 0x8d, 0xbd, 0x06, 0x83, 0xf4, 0x73, 0x67,
- 0xeb, 0xae, 0xd3, 0x5e, 0x35, 0xfe, 0x14, 0x0c, 0x4a, 0xc5, 0x77, 0x28, 0x42, 0x7c, 0xb0, 0x1b,
- 0x49, 0xea, 0xc5, 0x43, 0x1c, 0xc3, 0xed, 0x47, 0x41, 0x58, 0x00, 0xb7, 0x23, 0x69, 0xaf, 0xc3,
- 0x11, 0x66, 0xca, 0xec, 0x44, 0x9b, 0xc6, 0x1a, 0xed, 0xbc, 0x18, 0x9e, 0x16, 0xef, 0x3a, 0xfe,
- 0x65, 0x53, 0x9a, 0x0b, 0xf9, 0xb0, 0xa4, 0x18, 0xbf, 0xf1, 0xec, 0x3f, 0xeb, 0x81, 0x87, 0x96,
- 0x2b, 0xf9, 0xb1, 0xa9, 0x2e, 0xc2, 0x30, 0x67, 0x17, 0xe9, 0xd2, 0x70, 0xea, 0xa2, 0x5d, 0x25,
- 0x01, 0x5d, 0xd3, 0x60, 0xd8, 0xc0, 0x44, 0xa7, 0xa0, 0xe8, 0xbe, 0xed, 0x25, 0x1d, 0x2c, 0x97,
- 0xdf, 0x58, 0xc5, 0xb4, 0x9c, 0x82, 0x29, 0xe7, 0xc9, 0x8f, 0x74, 0x05, 0x56, 0xdc, 0xe7, 0xab,
- 0x30, 0xea, 0x86, 0xd5, 0xd0, 0x5d, 0xf6, 0xe8, 0x3e, 0xd5, 0x76, 0xba, 0x92, 0x39, 0xd0, 0x4e,
- 0x2b, 0x28, 0x4e, 0x60, 0x6b, 0xf7, 0x4b, 0x6f, 0xd7, 0xdc, 0x6b, 0xc7, 0xc8, 0x18, 0xf4, 0xf8,
- 0x6f, 0xb2, 0xaf, 0x0b, 0x99, 0x08, 0x5e, 0x1c, 0xff, 0xfc, 0x83, 0x43, 0x2c, 0x61, 0xf4, 0x41,
- 0x57, 0xdd, 0x74, 0x9a, 0xb3, 0xad, 0x68, 0x73, 0xc1, 0x0d, 0xab, 0xfe, 0x36, 0x09, 0x76, 0xd8,
- 0x5b, 0x7c, 0x20, 0x7e, 0xd0, 0x29, 0xc0, 0xfc, 0xe5, 0xd9, 0x32, 0xc5, 0xc4, 0xe9, 0x3a, 0x68,
- 0x16, 0xc6, 0x64, 0x61, 0x85, 0x84, 0xec, 0x0a, 0x18, 0x62, 0x64, 0x94, 0xcb, 0xa3, 0x28, 0x56,
- 0x44, 0x92, 0xf8, 0x26, 0x83, 0x0b, 0xf7, 0x83, 0xc1, 0x7d, 0x11, 0x46, 0x5c, 0xcf, 0x8d, 0x5c,
- 0x27, 0xf2, 0xb9, 0xfe, 0x88, 0x3f, 0xbb, 0x99, 0x80, 0x79, 0x59, 0x07, 0x60, 0x13, 0xcf, 0xfe,
- 0x6f, 0x3d, 0x30, 0xc1, 0xa6, 0xed, 0xfd, 0x15, 0xf6, 0x5e, 0x5a, 0x61, 0xd7, 0xd3, 0x2b, 0xec,
- 0x7e, 0x70, 0xee, 0xf7, 0xbc, 0xcc, 0x3e, 0x67, 0xc1, 0x04, 0x93, 0x71, 0x1b, 0xcb, 0xec, 0x3c,
- 0x0c, 0x06, 0x86, 0x37, 0xea, 0xa0, 0xae, 0xd4, 0x92, 0x8e, 0xa5, 0x31, 0x0e, 0x7a, 0x0d, 0xa0,
- 0x19, 0xcb, 0xd0, 0x0b, 0x46, 0x08, 0x51, 0xc8, 0x15, 0x9f, 0x6b, 0x75, 0xec, 0x4f, 0xc3, 0xa0,
- 0x72, 0x37, 0x95, 0xfe, 0xe6, 0x56, 0x8e, 0xbf, 0x79, 0x67, 0x36, 0x42, 0xda, 0xc6, 0x15, 0x33,
- 0x6d, 0xe3, 0xbe, 0x6c, 0x41, 0xac, 0xe1, 0x40, 0x6f, 0xc0, 0x60, 0xd3, 0x67, 0x06, 0xd1, 0x81,
- 0xf4, 0x32, 0x78, 0xb4, 0xad, 0x8a, 0x84, 0xc7, 0x09, 0x0c, 0xf8, 0x74, 0x94, 0x65, 0x55, 0x1c,
- 0x53, 0x41, 0x57, 0xa0, 0xbf, 0x19, 0x90, 0x4a, 0xc4, 0x82, 0x58, 0x75, 0x4f, 0x90, 0x2f, 0x5f,
- 0x5e, 0x11, 0x4b, 0x0a, 0xf6, 0x2f, 0x16, 0x60, 0x3c, 0x89, 0x8a, 0x5e, 0x81, 0x1e, 0x72, 0x87,
- 0x54, 0x45, 0x7f, 0x33, 0x79, 0x82, 0x58, 0x46, 0xc2, 0x07, 0x80, 0xfe, 0xc7, 0xac, 0x16, 0xba,
- 0x0c, 0xfd, 0x94, 0x21, 0xb8, 0xa4, 0x02, 0x36, 0x3e, 0x9c, 0xc7, 0x54, 0x28, 0xce, 0x8a, 0x77,
- 0x4e, 0x14, 0x61, 0x59, 0x9d, 0x19, 0xa4, 0x55, 0x9b, 0x15, 0xfa, 0xd6, 0x8a, 0xda, 0x89, 0x04,
- 0xd6, 0xe6, 0xcb, 0x1c, 0x49, 0x50, 0xe3, 0x06, 0x69, 0xb2, 0x10, 0xc7, 0x44, 0xd0, 0x6b, 0xd0,
- 0x1b, 0xd6, 0x09, 0x69, 0x0a, 0x8b, 0x83, 0x4c, 0x29, 0x67, 0x85, 0x22, 0x08, 0x4a, 0x4c, 0x2a,
- 0xc2, 0x0a, 0x30, 0xaf, 0x68, 0xff, 0x92, 0x05, 0xc0, 0x2d, 0xf8, 0x1c, 0x6f, 0x83, 0x1c, 0x82,
- 0x62, 0x60, 0x01, 0x7a, 0xc2, 0x26, 0xa9, 0xb6, 0xb3, 0xf6, 0x8f, 0xfb, 0x53, 0x69, 0x92, 0x6a,
- 0xbc, 0x66, 0xe9, 0x3f, 0xcc, 0x6a, 0xdb, 0xdf, 0x0f, 0x30, 0x1a, 0xa3, 0x2d, 0x47, 0xa4, 0x81,
- 0x9e, 0x31, 0xa2, 0xdc, 0x9c, 0x48, 0x44, 0xb9, 0x19, 0x64, 0xd8, 0x9a, 0x0c, 0xfa, 0xd3, 0x50,
- 0x6c, 0x38, 0x77, 0x84, 0x90, 0xf1, 0xa9, 0xf6, 0xdd, 0xa0, 0xf4, 0x67, 0x56, 0x9c, 0x3b, 0xfc,
- 0x1d, 0xfe, 0x94, 0xdc, 0x63, 0x2b, 0xce, 0x9d, 0x8e, 0x16, 0xe9, 0xb4, 0x11, 0xd6, 0x96, 0xeb,
- 0x09, 0xe3, 0xb4, 0xae, 0xda, 0x72, 0xbd, 0x64, 0x5b, 0xae, 0xd7, 0x45, 0x5b, 0xae, 0x87, 0xee,
- 0x42, 0xbf, 0xb0, 0x1d, 0x15, 0xe1, 0xf7, 0xce, 0x77, 0xd1, 0x9e, 0x30, 0x3d, 0xe5, 0x6d, 0x9e,
- 0x97, 0x72, 0x06, 0x51, 0xda, 0xb1, 0x5d, 0xd9, 0x20, 0xfa, 0x3b, 0x16, 0x8c, 0x8a, 0xdf, 0x98,
- 0xbc, 0xdd, 0x22, 0x61, 0x24, 0xf8, 0xf0, 0x0f, 0x75, 0xdf, 0x07, 0x51, 0x91, 0x77, 0xe5, 0x43,
- 0xf2, 0xca, 0x34, 0x81, 0x1d, 0x7b, 0x94, 0xe8, 0x05, 0xfa, 0x45, 0x0b, 0x8e, 0x34, 0x9c, 0x3b,
- 0xbc, 0x45, 0x5e, 0x86, 0x9d, 0xc8, 0xf5, 0x85, 0x0d, 0xc6, 0x2b, 0xdd, 0x4d, 0x7f, 0xaa, 0x3a,
- 0xef, 0xa4, 0x54, 0xb8, 0x1e, 0xc9, 0x42, 0xe9, 0xd8, 0xd5, 0xcc, 0x7e, 0x4d, 0xaf, 0xc3, 0x80,
- 0x5c, 0x6f, 0x0f, 0xd2, 0x30, 0x9e, 0xb5, 0x23, 0xd6, 0xda, 0x03, 0x6d, 0xe7, 0xd3, 0x30, 0xac,
- 0xaf, 0xb1, 0x07, 0xda, 0xd6, 0xdb, 0x30, 0x99, 0xb1, 0x96, 0x1e, 0x68, 0x93, 0xb7, 0xe1, 0x44,
- 0xee, 0xfa, 0x78, 0xa0, 0x8e, 0x0d, 0x5f, 0xb5, 0xf4, 0x73, 0xf0, 0x10, 0xb4, 0x33, 0xf3, 0xa6,
- 0x76, 0xe6, 0x74, 0xfb, 0x9d, 0x93, 0xa3, 0xa2, 0x79, 0x4b, 0xef, 0x34, 0x3d, 0xd5, 0xd1, 0xeb,
- 0xd0, 0x57, 0xa7, 0x25, 0xd2, 0x02, 0xd9, 0xee, 0xbc, 0x23, 0x63, 0xbe, 0x98, 0x95, 0x87, 0x58,
- 0x50, 0xb0, 0xbf, 0x64, 0x41, 0x86, 0x6b, 0x06, 0xe5, 0x93, 0x5a, 0x6e, 0x8d, 0x0d, 0x49, 0x31,
- 0xe6, 0x93, 0x54, 0x10, 0x98, 0x53, 0x50, 0xdc, 0x70, 0x6b, 0xc2, 0xb3, 0x58, 0x81, 0x2f, 0x51,
- 0xf0, 0x86, 0x5b, 0x43, 0x4b, 0x80, 0xc2, 0x56, 0xb3, 0x59, 0x67, 0x66, 0x4b, 0x4e, 0xfd, 0x52,
- 0xe0, 0xb7, 0x9a, 0xdc, 0xdc, 0xb8, 0xc8, 0x85, 0x44, 0x95, 0x14, 0x14, 0x67, 0xd4, 0xb0, 0x7f,
- 0xd5, 0x82, 0x9e, 0x43, 0x98, 0x26, 0x6c, 0x4e, 0xd3, 0x33, 0xb9, 0xa4, 0x45, 0xd6, 0x86, 0x19,
- 0xec, 0xdc, 0x5e, 0xbc, 0x13, 0x11, 0x2f, 0x64, 0x0c, 0x47, 0xe6, 0xac, 0xed, 0x5a, 0x30, 0x79,
- 0xd5, 0x77, 0x6a, 0x73, 0x4e, 0xdd, 0xf1, 0xaa, 0x24, 0x58, 0xf6, 0x36, 0x0e, 0x64, 0xdb, 0x5f,
- 0xe8, 0x68, 0xdb, 0x7f, 0x11, 0xfa, 0xdc, 0xa6, 0x16, 0xf6, 0xfd, 0x0c, 0x9d, 0xdd, 0xe5, 0xb2,
- 0x88, 0xf8, 0x8e, 0x8c, 0xc6, 0x59, 0x29, 0x16, 0xf8, 0x74, 0x59, 0x72, 0xa3, 0xba, 0x9e, 0xfc,
- 0x65, 0x49, 0xdf, 0x3a, 0xc9, 0x70, 0x66, 0x86, 0xf9, 0xf7, 0x26, 0x18, 0x4d, 0x08, 0x0f, 0x46,
- 0x0c, 0xfd, 0x2e, 0xff, 0x52, 0xb1, 0x36, 0x1f, 0xcf, 0x7e, 0x83, 0xa4, 0x06, 0x46, 0xf3, 0xcd,
- 0xe3, 0x05, 0x58, 0x12, 0xb2, 0x2f, 0x42, 0x66, 0xf8, 0x99, 0xce, 0xf2, 0x25, 0xfb, 0x63, 0x30,
- 0xc1, 0x6a, 0x1e, 0x50, 0x76, 0x63, 0x27, 0xa4, 0xe2, 0x19, 0x11, 0x7c, 0xed, 0xff, 0x6c, 0x01,
- 0x5a, 0xf1, 0x6b, 0xee, 0xfa, 0x8e, 0x20, 0xce, 0xbf, 0xff, 0x6d, 0x28, 0xf1, 0xc7, 0x71, 0x32,
- 0xca, 0xed, 0x7c, 0xdd, 0x09, 0x43, 0x4d, 0x22, 0xff, 0xb8, 0x68, 0xb7, 0xb4, 0xd6, 0x1e, 0x1d,
- 0x77, 0xa2, 0x87, 0xde, 0x48, 0x04, 0x1d, 0xfc, 0x70, 0x2a, 0xe8, 0xe0, 0xe3, 0x99, 0x76, 0x31,
- 0xe9, 0xde, 0xcb, 0x60, 0x84, 0xf6, 0xe7, 0x2d, 0x18, 0x5b, 0x4d, 0x44, 0x6d, 0x3d, 0xcb, 0x8c,
- 0x04, 0x32, 0x34, 0x4d, 0x15, 0x56, 0x8a, 0x05, 0xf4, 0xbe, 0x4b, 0x62, 0xff, 0xc6, 0x82, 0x38,
- 0xdc, 0xd5, 0x21, 0xb0, 0xdc, 0xf3, 0x06, 0xcb, 0x9d, 0xf9, 0x7c, 0x51, 0xdd, 0xc9, 0xe3, 0xb8,
- 0xd1, 0x15, 0x35, 0x27, 0x6d, 0x5e, 0x2e, 0x31, 0x19, 0xbe, 0xcf, 0x46, 0xcd, 0x89, 0x53, 0xb3,
- 0xf1, 0xf5, 0x02, 0x20, 0x85, 0xdb, 0x75, 0xa0, 0xca, 0x74, 0x8d, 0xfb, 0x13, 0xa8, 0x72, 0x1b,
- 0x10, 0x33, 0x73, 0x09, 0x1c, 0x2f, 0xe4, 0x64, 0x5d, 0x21, 0x7b, 0x3e, 0x98, 0x0d, 0xcd, 0xb4,
- 0xf4, 0x5c, 0xbd, 0x9a, 0xa2, 0x86, 0x33, 0x5a, 0xd0, 0xcc, 0x97, 0x7a, 0xbb, 0x35, 0x5f, 0xea,
- 0xeb, 0xe0, 0x82, 0xfd, 0x15, 0x0b, 0x46, 0xd4, 0x30, 0xbd, 0x4b, 0x5c, 0x40, 0x54, 0x7f, 0x72,
- 0xee, 0x95, 0xb2, 0xd6, 0x65, 0xc6, 0x0c, 0x7c, 0x07, 0x73, 0xa5, 0x77, 0xea, 0xee, 0x5d, 0xa2,
- 0xe2, 0x29, 0x97, 0x84, 0x6b, 0xbc, 0x28, 0xdd, 0xdf, 0x2d, 0x8d, 0xa8, 0x7f, 0x3c, 0x82, 0x6b,
- 0x5c, 0xc5, 0xfe, 0x69, 0xba, 0xd9, 0xcd, 0xa5, 0x88, 0x5e, 0x80, 0xde, 0xe6, 0xa6, 0x13, 0x92,
- 0x84, 0xab, 0x5c, 0x6f, 0x99, 0x16, 0xee, 0xef, 0x96, 0x46, 0x55, 0x05, 0x56, 0x82, 0x39, 0x76,
- 0xf7, 0xe1, 0x3f, 0xd3, 0x8b, 0xb3, 0x63, 0xf8, 0xcf, 0xbf, 0xb4, 0xa0, 0x67, 0x95, 0xde, 0x5e,
- 0x0f, 0xfe, 0x08, 0x78, 0xd5, 0x38, 0x02, 0x4e, 0xe6, 0x65, 0x16, 0xca, 0xdd, 0xfd, 0x4b, 0x89,
- 0xdd, 0x7f, 0x3a, 0x97, 0x42, 0xfb, 0x8d, 0xdf, 0x80, 0x21, 0x96, 0xaf, 0x48, 0xb8, 0x05, 0x3e,
- 0x67, 0x6c, 0xf8, 0x52, 0x62, 0xc3, 0x8f, 0x69, 0xa8, 0xda, 0x4e, 0x7f, 0x02, 0xfa, 0x85, 0x9f,
- 0x59, 0x32, 0x22, 0x81, 0xc0, 0xc5, 0x12, 0x6e, 0xff, 0x64, 0x11, 0x8c, 0xfc, 0x48, 0xe8, 0xd7,
- 0x2d, 0x98, 0x09, 0xb8, 0xfd, 0x79, 0x6d, 0xa1, 0x15, 0xb8, 0xde, 0x46, 0xa5, 0xba, 0x49, 0x6a,
- 0xad, 0xba, 0xeb, 0x6d, 0x2c, 0x6f, 0x78, 0xbe, 0x2a, 0x5e, 0xbc, 0x43, 0xaa, 0x2d, 0xa6, 0x1b,
- 0xee, 0x90, 0x8c, 0x49, 0xf9, 0x71, 0x3c, 0xbb, 0xb7, 0x5b, 0x9a, 0xc1, 0x07, 0xa2, 0x8d, 0x0f,
- 0xd8, 0x17, 0xf4, 0x7b, 0x16, 0x9c, 0xe7, 0x79, 0x7a, 0xba, 0xef, 0x7f, 0x1b, 0x09, 0x47, 0x59,
- 0x92, 0x8a, 0x89, 0xac, 0x91, 0xa0, 0x31, 0xf7, 0xa2, 0x18, 0xd0, 0xf3, 0xe5, 0x83, 0xb5, 0x85,
- 0x0f, 0xda, 0x39, 0xfb, 0x5f, 0x14, 0x61, 0x44, 0x84, 0x89, 0x14, 0x77, 0xc0, 0x0b, 0xc6, 0x92,
- 0x78, 0x38, 0xb1, 0x24, 0x26, 0x0c, 0xe4, 0xfb, 0x73, 0xfc, 0x87, 0x30, 0x41, 0x0f, 0xe7, 0xcb,
- 0xc4, 0x09, 0xa2, 0x5b, 0xc4, 0xe1, 0x56, 0x89, 0xc5, 0x03, 0x9f, 0xfe, 0x4a, 0x3c, 0x7e, 0x35,
- 0x49, 0x0c, 0xa7, 0xe9, 0xbf, 0x97, 0xee, 0x1c, 0x0f, 0xc6, 0x53, 0x91, 0x3e, 0xdf, 0x84, 0x41,
- 0xe5, 0x24, 0x25, 0x0e, 0x9d, 0xf6, 0x01, 0x73, 0x93, 0x14, 0xb8, 0xd0, 0x33, 0x76, 0xd0, 0x8b,
- 0xc9, 0xd9, 0xff, 0xa4, 0x60, 0x34, 0xc8, 0x27, 0x71, 0x15, 0x06, 0x9c, 0x90, 0x05, 0xf1, 0xae,
- 0xb5, 0x93, 0x4b, 0xa7, 0x9a, 0x61, 0x8e, 0x6a, 0xb3, 0xa2, 0x26, 0x56, 0x34, 0xd0, 0x65, 0x6e,
- 0xfb, 0xb9, 0x4d, 0xda, 0x09, 0xa5, 0x53, 0xd4, 0x40, 0x5a, 0x87, 0x6e, 0x13, 0x2c, 0xea, 0xa3,
- 0x4f, 0x70, 0xe3, 0xdc, 0x2b, 0x9e, 0x7f, 0xdb, 0xbb, 0xe4, 0xfb, 0x32, 0x24, 0x50, 0x77, 0x04,
- 0x27, 0xa4, 0x49, 0xae, 0xaa, 0x8e, 0x4d, 0x6a, 0xdd, 0x85, 0xce, 0xfe, 0x0c, 0xb0, 0xbc, 0x24,
- 0x66, 0x4c, 0x82, 0x10, 0x11, 0x18, 0x13, 0x31, 0x48, 0x65, 0x99, 0x18, 0xbb, 0xcc, 0xe7, 0xb7,
- 0x59, 0x3b, 0xd6, 0xe3, 0x5c, 0x31, 0x49, 0xe0, 0x24, 0x4d, 0x7b, 0x93, 0x1f, 0xc2, 0x4b, 0xc4,
- 0x89, 0x5a, 0x01, 0x09, 0xd1, 0x47, 0x61, 0x2a, 0xfd, 0x32, 0x16, 0xea, 0x10, 0x8b, 0x71, 0xcf,
- 0x27, 0xf7, 0x76, 0x4b, 0x53, 0x95, 0x1c, 0x1c, 0x9c, 0x5b, 0xdb, 0xfe, 0x59, 0x0b, 0x98, 0x27,
- 0xf8, 0x21, 0x70, 0x3e, 0x1f, 0x31, 0x39, 0x9f, 0xa9, 0xbc, 0xe9, 0xcc, 0x61, 0x7a, 0x9e, 0xe7,
- 0x6b, 0xb8, 0x1c, 0xf8, 0x77, 0x76, 0x84, 0xed, 0x56, 0xe7, 0x67, 0x9c, 0xfd, 0x45, 0x0b, 0x58,
- 0x12, 0x1f, 0xcc, 0x5f, 0xed, 0x52, 0xc1, 0xd1, 0xd9, 0x2c, 0xe1, 0xa3, 0x30, 0xb0, 0x2e, 0x86,
- 0x3f, 0x43, 0xe8, 0x64, 0x74, 0xd8, 0xa4, 0x2d, 0x27, 0x4d, 0x78, 0x74, 0x8a, 0x7f, 0x58, 0x51,
- 0xb3, 0xff, 0xb1, 0x05, 0xd3, 0xf9, 0xd5, 0xd0, 0x75, 0x38, 0x1e, 0x90, 0x6a, 0x2b, 0x08, 0xe9,
- 0x96, 0x10, 0x0f, 0x20, 0xe1, 0x14, 0xc5, 0xa7, 0xfa, 0xa1, 0xbd, 0xdd, 0xd2, 0x71, 0x9c, 0x8d,
- 0x82, 0xf3, 0xea, 0xa2, 0x97, 0x60, 0xb4, 0x15, 0x72, 0xce, 0x8f, 0x31, 0x5d, 0xa1, 0x88, 0x14,
- 0xcd, 0xfc, 0x86, 0xae, 0x1b, 0x10, 0x9c, 0xc0, 0xb4, 0xbf, 0x8b, 0x2f, 0x47, 0x15, 0x2c, 0xba,
- 0x01, 0x13, 0x9e, 0xf6, 0x9f, 0xde, 0x80, 0xf2, 0xa9, 0xff, 0x68, 0xa7, 0x5b, 0x9f, 0x5d, 0x97,
- 0x9a, 0xaf, 0x7a, 0x82, 0x0c, 0x4e, 0x53, 0xb6, 0x7f, 0xca, 0x82, 0xe3, 0x3a, 0xa2, 0xe6, 0x0e,
- 0xd7, 0x49, 0x97, 0xb7, 0x00, 0x03, 0x7e, 0x93, 0x04, 0x4e, 0xe4, 0x07, 0xe2, 0x9a, 0x3b, 0x27,
- 0x57, 0xe8, 0x35, 0x51, 0xbe, 0x2f, 0x92, 0xd7, 0x48, 0xea, 0xb2, 0x1c, 0xab, 0x9a, 0xc8, 0x86,
- 0x3e, 0x26, 0x40, 0x0c, 0x85, 0xe3, 0x23, 0x3b, 0xb4, 0x98, 0x7d, 0x4a, 0x88, 0x05, 0xc4, 0xfe,
- 0x33, 0x8b, 0xaf, 0x4f, 0xbd, 0xeb, 0xe8, 0x6d, 0x18, 0x6f, 0x38, 0x51, 0x75, 0x73, 0xf1, 0x4e,
- 0x33, 0xe0, 0x2a, 0x5a, 0x39, 0x4e, 0x4f, 0x75, 0x1a, 0x27, 0xed, 0x23, 0x63, 0x03, 0xe9, 0x95,
- 0x04, 0x31, 0x9c, 0x22, 0x8f, 0x6e, 0xc1, 0x10, 0x2b, 0x63, 0x3e, 0xbd, 0x61, 0x3b, 0x5e, 0x26,
- 0xaf, 0x35, 0x65, 0xe2, 0xb3, 0x12, 0xd3, 0xc1, 0x3a, 0x51, 0xfb, 0xcb, 0x45, 0x7e, 0x68, 0xb0,
- 0xb7, 0xc7, 0x13, 0xd0, 0xdf, 0xf4, 0x6b, 0xf3, 0xcb, 0x0b, 0x58, 0xcc, 0x82, 0xba, 0xf7, 0xca,
- 0xbc, 0x18, 0x4b, 0x38, 0x3a, 0x07, 0x03, 0xe2, 0xa7, 0x54, 0xa9, 0xb3, 0x3d, 0x22, 0xf0, 0x42,
- 0xac, 0xa0, 0xe8, 0x59, 0x80, 0x66, 0xe0, 0x6f, 0xbb, 0x35, 0x16, 0x89, 0xa9, 0x68, 0x5a, 0xe7,
- 0x95, 0x15, 0x04, 0x6b, 0x58, 0xe8, 0x65, 0x18, 0x69, 0x79, 0x21, 0xe7, 0x9f, 0xb4, 0x78, 0xf7,
- 0xca, 0x6e, 0xec, 0xba, 0x0e, 0xc4, 0x26, 0x2e, 0x9a, 0x85, 0xbe, 0xc8, 0x61, 0xd6, 0x66, 0xbd,
- 0xf9, 0x46, 0xf4, 0x6b, 0x14, 0x43, 0xcf, 0x2c, 0x47, 0x2b, 0x60, 0x51, 0x11, 0xbd, 0x29, 0xdd,
- 0xeb, 0xf9, 0x4d, 0x24, 0xbc, 0x57, 0xba, 0xbb, 0xb5, 0x34, 0xe7, 0x7a, 0xe1, 0x15, 0x63, 0xd0,
- 0x42, 0x2f, 0x01, 0x90, 0x3b, 0x11, 0x09, 0x3c, 0xa7, 0xae, 0x6c, 0x44, 0x15, 0x23, 0xb3, 0xe0,
- 0xaf, 0xfa, 0xd1, 0xf5, 0x90, 0x2c, 0x2a, 0x0c, 0xac, 0x61, 0xdb, 0xdf, 0x3f, 0x04, 0x10, 0x3f,
- 0x34, 0xd0, 0x5d, 0x18, 0xa8, 0x3a, 0x4d, 0xa7, 0xca, 0xd3, 0xa6, 0x16, 0xf3, 0xbc, 0x9e, 0xe3,
- 0x1a, 0x33, 0xf3, 0x02, 0x9d, 0x2b, 0x6f, 0x64, 0xc8, 0xf0, 0x01, 0x59, 0xdc, 0x51, 0x61, 0xa3,
- 0xda, 0x43, 0x9f, 0xb3, 0x60, 0x48, 0x44, 0x3a, 0x62, 0x33, 0x54, 0xc8, 0xd7, 0xb7, 0x69, 0xed,
- 0xcf, 0xc6, 0x35, 0x78, 0x17, 0x9e, 0x93, 0x2b, 0x54, 0x83, 0x74, 0xec, 0x85, 0xde, 0x30, 0xfa,
- 0xa0, 0x7c, 0xdb, 0x16, 0x8d, 0xa1, 0x54, 0x6f, 0xdb, 0x41, 0x76, 0xd5, 0xe8, 0xcf, 0xda, 0xeb,
- 0xc6, 0xb3, 0xb6, 0x27, 0xdf, 0x7f, 0xd8, 0xe0, 0xb7, 0x3b, 0xbd, 0x68, 0x51, 0x59, 0x8f, 0x25,
- 0xd2, 0x9b, 0xef, 0xf4, 0xaa, 0x3d, 0xec, 0x3a, 0xc4, 0x11, 0xf9, 0x34, 0x8c, 0xd5, 0x4c, 0xae,
- 0x45, 0xac, 0xc4, 0xc7, 0xf3, 0xe8, 0x26, 0x98, 0x9c, 0x98, 0x4f, 0x49, 0x00, 0x70, 0x92, 0x30,
- 0x2a, 0xf3, 0xd0, 0x32, 0xcb, 0xde, 0xba, 0x2f, 0x3c, 0xa8, 0xec, 0xdc, 0xb9, 0xdc, 0x09, 0x23,
- 0xd2, 0xa0, 0x98, 0x31, 0x93, 0xb0, 0x2a, 0xea, 0x62, 0x45, 0x05, 0xbd, 0x0e, 0x7d, 0xcc, 0xeb,
- 0x31, 0x9c, 0x1a, 0xc8, 0x57, 0x6b, 0x98, 0x91, 0x50, 0xe3, 0x0d, 0xc9, 0xfe, 0x86, 0x58, 0x50,
- 0x40, 0x97, 0xa5, 0x4f, 0x71, 0xb8, 0xec, 0x5d, 0x0f, 0x09, 0xf3, 0x29, 0x1e, 0x9c, 0x7b, 0x34,
- 0x76, 0x17, 0xe6, 0xe5, 0x99, 0xf9, 0x67, 0x8d, 0x9a, 0x94, 0xed, 0x13, 0xff, 0x65, 0x5a, 0x5b,
- 0x11, 0xb7, 0x2d, 0xb3, 0x7b, 0x66, 0xea, 0xdb, 0x78, 0x38, 0x6f, 0x98, 0x24, 0x70, 0x92, 0x26,
- 0x65, 0xa1, 0xf9, 0xae, 0x17, 0x3e, 0x58, 0x9d, 0xce, 0x0e, 0x2e, 0x39, 0x60, 0xb7, 0x11, 0x2f,
- 0xc1, 0xa2, 0x3e, 0x72, 0x61, 0x2c, 0x30, 0xd8, 0x0b, 0x19, 0x6e, 0xed, 0x6c, 0x77, 0x4c, 0x8c,
- 0x16, 0xc8, 0xdf, 0x24, 0x83, 0x93, 0x74, 0xd1, 0xeb, 0x1a, 0xa3, 0x34, 0xd2, 0xfe, 0xe5, 0xdf,
- 0x89, 0x35, 0x9a, 0xde, 0x82, 0x11, 0xe3, 0xb0, 0x79, 0xa0, 0x2a, 0x48, 0x0f, 0xc6, 0x93, 0x27,
- 0xcb, 0x03, 0xd5, 0x3c, 0xfe, 0x49, 0x0f, 0x8c, 0x9a, 0x3b, 0x01, 0x9d, 0x87, 0x41, 0x41, 0x44,
- 0x65, 0xb4, 0x52, 0x9b, 0x7b, 0x45, 0x02, 0x70, 0x8c, 0xc3, 0x12, 0x99, 0xb1, 0xea, 0x9a, 0xaf,
- 0x40, 0x9c, 0xc8, 0x4c, 0x41, 0xb0, 0x86, 0x45, 0x1f, 0xb0, 0xb7, 0x7c, 0x3f, 0x52, 0xf7, 0xa8,
- 0xda, 0x2e, 0x73, 0xac, 0x14, 0x0b, 0x28, 0xbd, 0x3f, 0xb7, 0x48, 0xe0, 0x91, 0xba, 0x99, 0xd2,
- 0x41, 0xdd, 0x9f, 0x57, 0x74, 0x20, 0x36, 0x71, 0x29, 0x17, 0xe0, 0x87, 0x6c, 0xff, 0x89, 0x67,
- 0x72, 0xec, 0x7b, 0x51, 0xe1, 0x51, 0x24, 0x24, 0x1c, 0x7d, 0x0c, 0x8e, 0xab, 0xf0, 0x89, 0x62,
- 0x75, 0xc9, 0x16, 0xfb, 0x0c, 0xa9, 0xd6, 0xf1, 0xf9, 0x6c, 0x34, 0x9c, 0x57, 0x1f, 0xbd, 0x0a,
- 0xa3, 0xe2, 0x29, 0x25, 0x29, 0xf6, 0x9b, 0x86, 0x84, 0x57, 0x0c, 0x28, 0x4e, 0x60, 0xcb, 0xa4,
- 0x14, 0xec, 0x8d, 0x21, 0x29, 0x0c, 0xa4, 0x93, 0x52, 0xe8, 0x70, 0x9c, 0xaa, 0x81, 0x66, 0x61,
- 0x8c, 0xb3, 0x8e, 0xae, 0xb7, 0xc1, 0xe7, 0x44, 0x78, 0x76, 0xaa, 0x4d, 0x75, 0xcd, 0x04, 0xe3,
- 0x24, 0x3e, 0xba, 0x08, 0xc3, 0x4e, 0x50, 0xdd, 0x74, 0x23, 0x52, 0xa5, 0x3b, 0x83, 0xd9, 0xf2,
- 0x69, 0x96, 0x98, 0xb3, 0x1a, 0x0c, 0x1b, 0x98, 0xf6, 0x5d, 0x98, 0xcc, 0x08, 0x2f, 0x43, 0x17,
- 0x8e, 0xd3, 0x74, 0xe5, 0x37, 0x25, 0xdc, 0x1d, 0x66, 0xcb, 0xcb, 0xf2, 0x6b, 0x34, 0x2c, 0xba,
- 0x3a, 0x59, 0x18, 0x1a, 0x2d, 0xf9, 0xb6, 0x5a, 0x9d, 0x4b, 0x12, 0x80, 0x63, 0x1c, 0xfb, 0xaf,
- 0x0a, 0x30, 0x96, 0xa1, 0xa0, 0x63, 0x09, 0xa0, 0x13, 0x2f, 0xad, 0x38, 0xdf, 0xb3, 0x99, 0xe3,
- 0xa4, 0x70, 0x80, 0x1c, 0x27, 0xc5, 0x4e, 0x39, 0x4e, 0x7a, 0xde, 0x49, 0x8e, 0x13, 0x73, 0xc4,
- 0x7a, 0xbb, 0x1a, 0xb1, 0x8c, 0xbc, 0x28, 0x7d, 0x07, 0xcc, 0x8b, 0x62, 0x0c, 0x7a, 0x7f, 0x17,
- 0x83, 0xfe, 0xa3, 0x05, 0x18, 0x4f, 0xea, 0xf6, 0x0e, 0x41, 0x3e, 0xfe, 0xba, 0x21, 0x1f, 0x3f,
- 0xd7, 0x8d, 0x27, 0x7e, 0xae, 0xac, 0x1c, 0x27, 0x64, 0xe5, 0x4f, 0x76, 0x45, 0xad, 0xbd, 0xdc,
- 0xfc, 0xef, 0x17, 0xe0, 0x68, 0xa6, 0xca, 0xf3, 0x10, 0xc6, 0xe6, 0x9a, 0x31, 0x36, 0xcf, 0x74,
- 0x1d, 0xa5, 0x20, 0x77, 0x80, 0x6e, 0x26, 0x06, 0xe8, 0x7c, 0xf7, 0x24, 0xdb, 0x8f, 0xd2, 0x37,
- 0x8a, 0x70, 0x3a, 0xb3, 0x5e, 0x2c, 0x5e, 0x5e, 0x32, 0xc4, 0xcb, 0xcf, 0x26, 0xc4, 0xcb, 0x76,
- 0xfb, 0xda, 0xf7, 0x47, 0xde, 0x2c, 0xbc, 0xf5, 0x59, 0xcc, 0x91, 0x7b, 0x94, 0x35, 0x1b, 0xde,
- 0xfa, 0x8a, 0x10, 0x36, 0xe9, 0xbe, 0x97, 0x64, 0xcc, 0xbf, 0x6b, 0xc1, 0x89, 0xcc, 0xb9, 0x39,
- 0x04, 0x49, 0xdf, 0xaa, 0x29, 0xe9, 0x7b, 0xa2, 0xeb, 0xd5, 0x9a, 0x23, 0xfa, 0xfb, 0x7c, 0x5f,
- 0xce, 0xb7, 0x30, 0x01, 0xc4, 0x35, 0x18, 0x72, 0xaa, 0x55, 0x12, 0x86, 0x2b, 0x7e, 0x4d, 0xa5,
- 0x43, 0x78, 0x86, 0x3d, 0x0f, 0xe3, 0xe2, 0xfd, 0xdd, 0xd2, 0x74, 0x92, 0x44, 0x0c, 0xc6, 0x3a,
- 0x05, 0xf4, 0x09, 0x18, 0x08, 0x65, 0x26, 0xcb, 0x9e, 0x7b, 0xcf, 0x64, 0xc9, 0x98, 0x5c, 0x25,
- 0x60, 0x51, 0x24, 0xd1, 0x77, 0xea, 0xd1, 0x9f, 0xda, 0x88, 0x16, 0x79, 0x27, 0xef, 0x21, 0x06,
- 0xd4, 0xb3, 0x00, 0xdb, 0xea, 0x25, 0x93, 0x14, 0x9e, 0x68, 0x6f, 0x1c, 0x0d, 0x0b, 0xbd, 0x06,
- 0xe3, 0x21, 0x0f, 0x7c, 0x1a, 0x1b, 0xa9, 0xf0, 0xb5, 0xc8, 0x62, 0xc7, 0x55, 0x12, 0x30, 0x9c,
- 0xc2, 0x46, 0x4b, 0xb2, 0x55, 0x66, 0x8e, 0xc4, 0x97, 0xe7, 0xd9, 0xb8, 0x45, 0x61, 0x92, 0x74,
- 0x24, 0x39, 0x09, 0x6c, 0xf8, 0xb5, 0x9a, 0xe8, 0x13, 0x00, 0x74, 0x11, 0x09, 0x21, 0x4a, 0x7f,
- 0xfe, 0x11, 0x4a, 0xcf, 0x96, 0x5a, 0xa6, 0x27, 0x03, 0x73, 0xb3, 0x5f, 0x50, 0x44, 0xb0, 0x46,
- 0x10, 0x39, 0x30, 0x12, 0xff, 0x8b, 0x73, 0xb4, 0x9f, 0xcb, 0x6d, 0x21, 0x49, 0x9c, 0x29, 0x18,
- 0x16, 0x74, 0x12, 0xd8, 0xa4, 0x88, 0x3e, 0x0e, 0x27, 0xb6, 0x73, 0x2d, 0x7f, 0x38, 0x27, 0xc8,
- 0x92, 0xae, 0xe7, 0xdb, 0xfb, 0xe4, 0xd7, 0xb7, 0xff, 0x2d, 0xc0, 0x43, 0x6d, 0x4e, 0x7a, 0x34,
- 0x6b, 0x6a, 0xed, 0x9f, 0x4a, 0x4a, 0x36, 0xa6, 0x33, 0x2b, 0x1b, 0xa2, 0x8e, 0xc4, 0x86, 0x2a,
- 0xbc, 0xe3, 0x0d, 0xf5, 0x43, 0x96, 0x26, 0x73, 0xe2, 0x36, 0xdd, 0x1f, 0x39, 0xe0, 0x0d, 0x76,
- 0x1f, 0x85, 0x50, 0xeb, 0x19, 0x92, 0x9c, 0x67, 0xbb, 0xee, 0x4e, 0xf7, 0xa2, 0x9d, 0xaf, 0x66,
- 0x07, 0x7c, 0xe7, 0x42, 0x9e, 0x4b, 0x07, 0xfd, 0xfe, 0xc3, 0x0a, 0xfe, 0xfe, 0x75, 0x0b, 0x4e,
- 0xa4, 0x8a, 0x79, 0x1f, 0x48, 0x28, 0xa2, 0xdd, 0xad, 0xbe, 0xe3, 0xce, 0x4b, 0x82, 0xfc, 0x1b,
- 0x2e, 0x8b, 0x6f, 0x38, 0x91, 0x8b, 0x97, 0xec, 0xfa, 0x17, 0xfe, 0xb8, 0x34, 0xc9, 0x1a, 0x30,
- 0x11, 0x71, 0x7e, 0xd7, 0x51, 0x13, 0xce, 0x54, 0x5b, 0x41, 0x10, 0x2f, 0xd6, 0x8c, 0xcd, 0xc9,
- 0xdf, 0x7a, 0x8f, 0xee, 0xed, 0x96, 0xce, 0xcc, 0x77, 0xc0, 0xc5, 0x1d, 0xa9, 0x21, 0x0f, 0x50,
- 0x23, 0x65, 0x5f, 0xc7, 0x0e, 0x80, 0x1c, 0x39, 0x4c, 0xda, 0x1a, 0x8f, 0x5b, 0xca, 0x66, 0x58,
- 0xe9, 0x65, 0x50, 0x3e, 0x5c, 0xe9, 0xc9, 0xb7, 0x26, 0x2e, 0xfd, 0xf4, 0x55, 0x38, 0xdd, 0x7e,
- 0x31, 0x1d, 0x28, 0x94, 0xc3, 0x1f, 0x58, 0x70, 0xaa, 0x6d, 0xbc, 0xb0, 0x6f, 0xc3, 0xc7, 0x82,
- 0xfd, 0x59, 0x0b, 0x1e, 0xce, 0xac, 0x91, 0x74, 0xc2, 0xab, 0xd2, 0x42, 0xcd, 0x1c, 0x35, 0x8e,
- 0x9c, 0x23, 0x01, 0x38, 0xc6, 0x31, 0x2c, 0x36, 0x0b, 0x1d, 0x2d, 0x36, 0x7f, 0xcb, 0x82, 0xd4,
- 0x55, 0x7f, 0x08, 0x9c, 0xe7, 0xb2, 0xc9, 0x79, 0x3e, 0xda, 0xcd, 0x68, 0xe6, 0x30, 0x9d, 0x7f,
- 0x31, 0x06, 0xc7, 0x72, 0x3c, 0xb1, 0xb7, 0x61, 0x62, 0xa3, 0x4a, 0xcc, 0xd0, 0x1b, 0xed, 0x42,
- 0xd2, 0xb5, 0x8d, 0xd3, 0x31, 0x77, 0x74, 0x6f, 0xb7, 0x34, 0x91, 0x42, 0xc1, 0xe9, 0x26, 0xd0,
- 0x67, 0x2d, 0x38, 0xe2, 0xdc, 0x0e, 0x17, 0xe9, 0x0b, 0xc2, 0xad, 0xce, 0xd5, 0xfd, 0xea, 0x16,
- 0x65, 0xcc, 0xe4, 0xb6, 0x7a, 0x3e, 0x53, 0x18, 0x7d, 0xb3, 0x92, 0xc2, 0x37, 0x9a, 0x9f, 0xda,
- 0xdb, 0x2d, 0x1d, 0xc9, 0xc2, 0xc2, 0x99, 0x6d, 0x21, 0x2c, 0x32, 0x7e, 0x39, 0xd1, 0x66, 0xbb,
- 0xe0, 0x30, 0x59, 0x2e, 0xf3, 0x9c, 0x25, 0x96, 0x10, 0xac, 0xe8, 0xa0, 0x4f, 0xc1, 0xe0, 0x86,
- 0x8c, 0x03, 0x91, 0xc1, 0x72, 0xc7, 0x03, 0xd9, 0x3e, 0x3a, 0x06, 0x37, 0x81, 0x51, 0x48, 0x38,
- 0x26, 0x8a, 0x5e, 0x85, 0xa2, 0xb7, 0x1e, 0x8a, 0x10, 0x75, 0xd9, 0x96, 0xb8, 0xa6, 0xad, 0x33,
- 0x0f, 0xc1, 0xb4, 0xba, 0x54, 0xc1, 0xb4, 0x22, 0xba, 0x0c, 0xc5, 0xe0, 0x56, 0x4d, 0x68, 0x52,
- 0x32, 0x37, 0x29, 0x9e, 0x5b, 0xc8, 0xe9, 0x15, 0xa3, 0x84, 0xe7, 0x16, 0x30, 0x25, 0x81, 0xca,
- 0xd0, 0xcb, 0xdc, 0x97, 0x05, 0x6b, 0x9b, 0xf9, 0x94, 0x6f, 0x13, 0x06, 0x80, 0x7b, 0x24, 0x32,
- 0x04, 0xcc, 0x09, 0xa1, 0x35, 0xe8, 0xab, 0xba, 0x5e, 0x8d, 0x04, 0x82, 0x97, 0xfd, 0x60, 0xa6,
- 0xce, 0x84, 0x61, 0xe4, 0xd0, 0xe4, 0x2a, 0x04, 0x86, 0x81, 0x05, 0x2d, 0x46, 0x95, 0x34, 0x37,
- 0xd7, 0xe5, 0x8d, 0x95, 0x4d, 0x95, 0x34, 0x37, 0x97, 0x2a, 0x6d, 0xa9, 0x32, 0x0c, 0x2c, 0x68,
- 0xa1, 0x97, 0xa0, 0xb0, 0x5e, 0x15, 0xae, 0xc9, 0x99, 0xca, 0x13, 0x33, 0x8a, 0xd6, 0x5c, 0xdf,
- 0xde, 0x6e, 0xa9, 0xb0, 0x34, 0x8f, 0x0b, 0xeb, 0x55, 0xb4, 0x0a, 0xfd, 0xeb, 0x3c, 0xee, 0x8e,
- 0xd0, 0x8f, 0x3c, 0x9e, 0x1d, 0x12, 0x28, 0x15, 0x9a, 0x87, 0x7b, 0x97, 0x0a, 0x00, 0x96, 0x44,
- 0x58, 0x02, 0x2a, 0x15, 0x3f, 0x48, 0x84, 0x2f, 0x9d, 0x39, 0x58, 0xcc, 0x27, 0xfe, 0xd4, 0x88,
- 0xa3, 0x10, 0x61, 0x8d, 0x22, 0x5d, 0xd5, 0xce, 0xdd, 0x56, 0xc0, 0x72, 0x5b, 0x08, 0xd5, 0x48,
- 0xe6, 0xaa, 0x9e, 0x95, 0x48, 0xed, 0x56, 0xb5, 0x42, 0xc2, 0x31, 0x51, 0xb4, 0x05, 0x23, 0xdb,
- 0x61, 0x73, 0x93, 0xc8, 0x2d, 0xcd, 0xc2, 0xde, 0xe5, 0x70, 0xb3, 0x37, 0x04, 0xa2, 0x1b, 0x44,
- 0x2d, 0xa7, 0x9e, 0x3a, 0x85, 0xd8, 0xb3, 0xe6, 0x86, 0x4e, 0x0c, 0x9b, 0xb4, 0xe9, 0xf0, 0xbf,
- 0xdd, 0xf2, 0x6f, 0xed, 0x44, 0x44, 0x44, 0x1d, 0xcd, 0x1c, 0xfe, 0x37, 0x38, 0x4a, 0x7a, 0xf8,
- 0x05, 0x00, 0x4b, 0x22, 0xe8, 0x86, 0x18, 0x1e, 0x76, 0x7a, 0x8e, 0xe7, 0x87, 0x34, 0x9f, 0x95,
- 0x48, 0x39, 0x83, 0xc2, 0x4e, 0xcb, 0x98, 0x14, 0x3b, 0x25, 0x9b, 0x9b, 0x7e, 0xe4, 0x7b, 0x89,
- 0x13, 0x7a, 0x22, 0xff, 0x94, 0x2c, 0x67, 0xe0, 0xa7, 0x4f, 0xc9, 0x2c, 0x2c, 0x9c, 0xd9, 0x16,
- 0xaa, 0xc1, 0x68, 0xd3, 0x0f, 0xa2, 0xdb, 0x7e, 0x20, 0xd7, 0x17, 0x6a, 0x23, 0x28, 0x35, 0x30,
- 0x45, 0x8b, 0xcc, 0x30, 0xc7, 0x84, 0xe0, 0x04, 0x4d, 0xf4, 0x51, 0xe8, 0x0f, 0xab, 0x4e, 0x9d,
- 0x2c, 0x5f, 0x9b, 0x9a, 0xcc, 0xbf, 0x7e, 0x2a, 0x1c, 0x25, 0x67, 0x75, 0xf1, 0xb0, 0x49, 0x1c,
- 0x05, 0x4b, 0x72, 0x68, 0x09, 0x7a, 0x59, 0x62, 0x67, 0x16, 0x22, 0x37, 0x27, 0x32, 0x7b, 0xca,
- 0xad, 0x86, 0x9f, 0x4d, 0xac, 0x18, 0xf3, 0xea, 0x74, 0x0f, 0x08, 0x49, 0x81, 0x1f, 0x4e, 0x1d,
- 0xcd, 0xdf, 0x03, 0x42, 0xc0, 0x70, 0xad, 0xd2, 0x6e, 0x0f, 0x28, 0x24, 0x1c, 0x13, 0xa5, 0x27,
- 0x33, 0x3d, 0x4d, 0x8f, 0xb5, 0x31, 0x99, 0xcc, 0x3d, 0x4b, 0xd9, 0xc9, 0x4c, 0x4f, 0x52, 0x4a,
- 0xc2, 0xfe, 0x8d, 0x81, 0x34, 0xcf, 0xc2, 0x24, 0x4c, 0xff, 0xbf, 0x95, 0xb2, 0x99, 0xf8, 0x50,
- 0xb7, 0x02, 0xef, 0xfb, 0xf8, 0x70, 0xfd, 0xac, 0x05, 0xc7, 0x9a, 0x99, 0x1f, 0x22, 0x18, 0x80,
- 0xee, 0xe4, 0xe6, 0xfc, 0xd3, 0x55, 0x38, 0xe5, 0x6c, 0x38, 0xce, 0x69, 0x29, 0x29, 0x1c, 0x28,
- 0xbe, 0x63, 0xe1, 0xc0, 0x0a, 0x0c, 0x54, 0xf9, 0x4b, 0x4e, 0xa6, 0x01, 0xe8, 0x2a, 0x18, 0x28,
- 0x63, 0x25, 0xc4, 0x13, 0x70, 0x1d, 0x2b, 0x12, 0xe8, 0x87, 0x2d, 0x38, 0x95, 0xec, 0x3a, 0x26,
- 0x0c, 0x2c, 0x0c, 0x26, 0xb9, 0x58, 0x6b, 0x49, 0x7c, 0x7f, 0x8a, 0xff, 0x37, 0x90, 0xf7, 0x3b,
- 0x21, 0xe0, 0xf6, 0x8d, 0xa1, 0x85, 0x0c, 0xb9, 0x5a, 0x9f, 0xa9, 0x51, 0xec, 0x42, 0xb6, 0xf6,
- 0x3c, 0x0c, 0x37, 0xfc, 0x96, 0x17, 0x09, 0xbb, 0x47, 0x61, 0x3c, 0xc5, 0x8c, 0x86, 0x56, 0xb4,
- 0x72, 0x6c, 0x60, 0x25, 0x24, 0x72, 0x03, 0xf7, 0x2c, 0x91, 0x7b, 0x0b, 0x86, 0x3d, 0xcd, 0x25,
- 0xa0, 0xdd, 0x0b, 0x56, 0x48, 0x17, 0x35, 0x6c, 0xde, 0x4b, 0xbd, 0x04, 0x1b, 0xd4, 0xda, 0x4b,
- 0xcb, 0xe0, 0x9d, 0x49, 0xcb, 0x0e, 0xf5, 0x49, 0x6c, 0xff, 0x42, 0x21, 0xe3, 0xc5, 0xc0, 0xa5,
- 0x72, 0xaf, 0x98, 0x52, 0xb9, 0xb3, 0x49, 0xa9, 0x5c, 0x4a, 0x55, 0x65, 0x08, 0xe4, 0xba, 0xcf,
- 0x28, 0xd9, 0x75, 0x80, 0xe7, 0xef, 0xb5, 0xe0, 0x38, 0xd3, 0x7d, 0xd0, 0x06, 0xde, 0xb1, 0xbe,
- 0x83, 0x99, 0xa4, 0x5e, 0xcd, 0x26, 0x87, 0xf3, 0xda, 0xb1, 0xeb, 0x70, 0xa6, 0xd3, 0xbd, 0xcb,
- 0x2c, 0x7c, 0x6b, 0xca, 0x38, 0x22, 0xb6, 0xf0, 0xad, 0x2d, 0x2f, 0x60, 0x06, 0xe9, 0x36, 0x7c,
- 0xa1, 0xfd, 0xdf, 0x2d, 0x28, 0x96, 0xfd, 0xda, 0x21, 0xbc, 0xe8, 0x3f, 0x62, 0xbc, 0xe8, 0x1f,
- 0xca, 0xbe, 0xf1, 0x6b, 0xb9, 0xca, 0xbe, 0xc5, 0x84, 0xb2, 0xef, 0x54, 0x1e, 0x81, 0xf6, 0xaa,
- 0xbd, 0x9f, 0x2e, 0xc2, 0x50, 0xd9, 0xaf, 0xa9, 0x7d, 0xf6, 0xaf, 0xee, 0xc5, 0x91, 0x27, 0x37,
- 0xfb, 0x94, 0x46, 0x99, 0x59, 0xf4, 0xca, 0xb8, 0x13, 0xdf, 0x66, 0xfe, 0x3c, 0x37, 0x89, 0xbb,
- 0xb1, 0x19, 0x91, 0x5a, 0xf2, 0x73, 0x0e, 0xcf, 0x9f, 0xe7, 0x9b, 0x45, 0x18, 0x4b, 0xb4, 0x8e,
- 0xea, 0x30, 0x52, 0xd7, 0x55, 0x49, 0x62, 0x9d, 0xde, 0x93, 0x16, 0x4a, 0xf8, 0x43, 0x68, 0x45,
- 0xd8, 0x24, 0x8e, 0x66, 0x00, 0x3c, 0xdd, 0x2a, 0x5c, 0x05, 0x2a, 0xd6, 0x2c, 0xc2, 0x35, 0x0c,
- 0xf4, 0x02, 0x0c, 0x45, 0x7e, 0xd3, 0xaf, 0xfb, 0x1b, 0x3b, 0x57, 0x88, 0x8c, 0x6c, 0xa9, 0x8c,
- 0x86, 0xd7, 0x62, 0x10, 0xd6, 0xf1, 0xd0, 0x1d, 0x98, 0x50, 0x44, 0x2a, 0xf7, 0x41, 0xbd, 0xc6,
- 0xc4, 0x26, 0xab, 0x49, 0x8a, 0x38, 0xdd, 0x08, 0x7a, 0x09, 0x46, 0x99, 0xf5, 0x32, 0xab, 0x7f,
- 0x85, 0xec, 0xc8, 0x88, 0xc7, 0x8c, 0xc3, 0x5e, 0x31, 0x20, 0x38, 0x81, 0x89, 0xe6, 0x61, 0xa2,
- 0xe1, 0x86, 0x89, 0xea, 0x7d, 0xac, 0x3a, 0xeb, 0xc0, 0x4a, 0x12, 0x88, 0xd3, 0xf8, 0xf6, 0xcf,
- 0x89, 0x39, 0xf6, 0x22, 0xf7, 0xfd, 0xed, 0xf8, 0xee, 0xde, 0x8e, 0xdf, 0xb0, 0x60, 0x9c, 0xb6,
- 0xce, 0x4c, 0x32, 0x25, 0x23, 0xa5, 0x72, 0x62, 0x58, 0x6d, 0x72, 0x62, 0x9c, 0xa5, 0xc7, 0x76,
- 0xcd, 0x6f, 0x45, 0x42, 0x3a, 0xaa, 0x9d, 0xcb, 0xb4, 0x14, 0x0b, 0xa8, 0xc0, 0x23, 0x41, 0x20,
- 0xfc, 0xde, 0x75, 0x3c, 0x12, 0x04, 0x58, 0x40, 0x65, 0xca, 0x8c, 0x9e, 0xec, 0x94, 0x19, 0x3c,
- 0xf2, 0xb9, 0xb0, 0x82, 0x13, 0x2c, 0xad, 0x16, 0xf9, 0x5c, 0x9a, 0xc7, 0xc5, 0x38, 0xf6, 0x57,
- 0x8b, 0x30, 0x5c, 0xf6, 0x6b, 0xb1, 0x61, 0xc7, 0xf3, 0x86, 0x61, 0xc7, 0x99, 0x84, 0x61, 0xc7,
- 0xb8, 0x8e, 0xfb, 0xbe, 0x19, 0xc7, 0xb7, 0xca, 0x8c, 0xe3, 0x37, 0x2d, 0x36, 0x6b, 0x0b, 0xab,
- 0x15, 0x6e, 0xe1, 0x8b, 0x2e, 0xc0, 0x10, 0x3b, 0xe1, 0x58, 0xa0, 0x05, 0x69, 0xed, 0xc0, 0x52,
- 0x58, 0xae, 0xc6, 0xc5, 0x58, 0xc7, 0x41, 0xe7, 0x60, 0x20, 0x24, 0x4e, 0x50, 0xdd, 0x54, 0xc7,
- 0xbb, 0x30, 0x4d, 0xe0, 0x65, 0x58, 0x41, 0xd1, 0x1b, 0x71, 0xd0, 0xed, 0x62, 0xbe, 0xb9, 0xb0,
- 0xde, 0x1f, 0xbe, 0x45, 0xf2, 0x23, 0x6d, 0xdb, 0x37, 0x01, 0xa5, 0xf1, 0xbb, 0xf0, 0xbf, 0x2a,
- 0x99, 0x61, 0x61, 0x07, 0x53, 0x21, 0x61, 0xff, 0xda, 0x82, 0xd1, 0xb2, 0x5f, 0xa3, 0x5b, 0xf7,
- 0xbd, 0xb4, 0x4f, 0xf5, 0x8c, 0x03, 0x7d, 0x6d, 0x32, 0x0e, 0x3c, 0x02, 0xbd, 0x65, 0xbf, 0xd6,
- 0x21, 0x74, 0xed, 0x3f, 0xb0, 0xa0, 0xbf, 0xec, 0xd7, 0x0e, 0x41, 0xf1, 0xf2, 0x8a, 0xa9, 0x78,
- 0x39, 0x9e, 0xb3, 0x6e, 0x72, 0x74, 0x2d, 0x7f, 0xaf, 0x07, 0x46, 0x68, 0x3f, 0xfd, 0x0d, 0x39,
- 0x95, 0xc6, 0xb0, 0x59, 0x5d, 0x0c, 0x1b, 0x7d, 0x06, 0xf8, 0xf5, 0xba, 0x7f, 0x3b, 0x39, 0xad,
- 0x4b, 0xac, 0x14, 0x0b, 0x28, 0x7a, 0x1a, 0x06, 0x9a, 0x01, 0xd9, 0x76, 0x7d, 0xc1, 0x5f, 0x6b,
- 0x6a, 0xac, 0xb2, 0x28, 0xc7, 0x0a, 0x83, 0x3e, 0xbc, 0x43, 0xd7, 0xa3, 0xbc, 0x44, 0xd5, 0xf7,
- 0x6a, 0x5c, 0x37, 0x51, 0x14, 0x69, 0xb1, 0xb4, 0x72, 0x6c, 0x60, 0xa1, 0x9b, 0x30, 0xc8, 0xfe,
- 0xb3, 0x63, 0xa7, 0xf7, 0xc0, 0xc7, 0x8e, 0x48, 0x14, 0x2c, 0x08, 0xe0, 0x98, 0x16, 0x7a, 0x16,
- 0x20, 0x92, 0xa9, 0x65, 0x42, 0x11, 0xc2, 0x54, 0xbd, 0x45, 0x54, 0xd2, 0x99, 0x10, 0x6b, 0x58,
- 0xe8, 0x29, 0x18, 0x8c, 0x1c, 0xb7, 0x7e, 0xd5, 0xf5, 0x98, 0xfe, 0x9e, 0xf6, 0x5f, 0xe4, 0xeb,
- 0x15, 0x85, 0x38, 0x86, 0x53, 0x5e, 0x90, 0xc5, 0x84, 0x9a, 0xdb, 0x89, 0x44, 0x6a, 0xba, 0x22,
- 0xe7, 0x05, 0xaf, 0xaa, 0x52, 0xac, 0x61, 0xa0, 0x4d, 0x38, 0xe9, 0x7a, 0x2c, 0x85, 0x14, 0xa9,
- 0x6c, 0xb9, 0xcd, 0xb5, 0xab, 0x95, 0x1b, 0x24, 0x70, 0xd7, 0x77, 0xe6, 0x9c, 0xea, 0x16, 0xf1,
- 0x64, 0x42, 0xfc, 0x47, 0x45, 0x17, 0x4f, 0x2e, 0xb7, 0xc1, 0xc5, 0x6d, 0x29, 0xd9, 0xcf, 0xb1,
- 0xf5, 0x7e, 0xad, 0x82, 0x9e, 0x34, 0x8e, 0x8e, 0x63, 0xfa, 0xd1, 0xb1, 0xbf, 0x5b, 0xea, 0xbb,
- 0x56, 0xd1, 0x62, 0xff, 0x5c, 0x84, 0xa3, 0x65, 0xbf, 0x56, 0xf6, 0x83, 0x68, 0xc9, 0x0f, 0x6e,
- 0x3b, 0x41, 0x4d, 0x2e, 0xaf, 0x92, 0x8c, 0x7e, 0x44, 0xcf, 0xcf, 0x5e, 0x7e, 0xba, 0x18, 0x91,
- 0x8d, 0x9e, 0x63, 0x1c, 0xdb, 0x01, 0x9d, 0x4d, 0xab, 0x8c, 0x77, 0x50, 0x49, 0xd8, 0x2e, 0x39,
- 0x11, 0x41, 0xd7, 0x60, 0xa4, 0xaa, 0x5f, 0xa3, 0xa2, 0xfa, 0x13, 0xf2, 0x22, 0x33, 0xee, 0xd8,
- 0xcc, 0x7b, 0xd7, 0xac, 0x6f, 0x7f, 0xdd, 0x12, 0xad, 0x70, 0x49, 0x04, 0xb7, 0x69, 0xed, 0x7c,
- 0x9e, 0xce, 0xc3, 0x44, 0xa0, 0x57, 0xd1, 0x6c, 0xc3, 0x8e, 0xf2, 0xac, 0x36, 0x09, 0x20, 0x4e,
- 0xe3, 0xa3, 0x8f, 0xc3, 0x09, 0xa3, 0x50, 0xaa, 0xc9, 0xb5, 0xdc, 0xd2, 0x4c, 0x56, 0x83, 0xf3,
- 0x90, 0x70, 0x7e, 0x7d, 0xfb, 0xbb, 0xe1, 0x58, 0xf2, 0xbb, 0x84, 0xf4, 0xe4, 0x1e, 0xbf, 0xae,
- 0x70, 0xb0, 0xaf, 0xb3, 0x5f, 0x80, 0x09, 0xfa, 0xac, 0x56, 0x2c, 0x22, 0x9b, 0xbf, 0xce, 0x01,
- 0xa6, 0xfe, 0x5d, 0x3f, 0xbb, 0xe2, 0x12, 0x99, 0xd5, 0xd0, 0x27, 0x61, 0x34, 0x24, 0x2c, 0xaa,
- 0x9a, 0x94, 0xda, 0xb5, 0xf1, 0x14, 0xaf, 0x2c, 0xea, 0x98, 0xfc, 0x65, 0x62, 0x96, 0xe1, 0x04,
- 0x35, 0xd4, 0x80, 0xd1, 0xdb, 0xae, 0x57, 0xf3, 0x6f, 0x87, 0x92, 0xfe, 0x40, 0xbe, 0x0a, 0xe0,
- 0x26, 0xc7, 0x4c, 0xf4, 0xd1, 0x68, 0xee, 0xa6, 0x41, 0x0c, 0x27, 0x88, 0xd3, 0x63, 0x24, 0x68,
- 0x79, 0xb3, 0xe1, 0xf5, 0x90, 0x04, 0x22, 0xe6, 0x1b, 0x3b, 0x46, 0xb0, 0x2c, 0xc4, 0x31, 0x9c,
- 0x1e, 0x23, 0xec, 0x0f, 0x73, 0x35, 0x67, 0xe7, 0x94, 0x38, 0x46, 0xb0, 0x2a, 0xc5, 0x1a, 0x06,
- 0x3d, 0x66, 0xd9, 0xbf, 0x55, 0xdf, 0xc3, 0xbe, 0x1f, 0xc9, 0x83, 0x99, 0xa5, 0xa1, 0xd4, 0xca,
- 0xb1, 0x81, 0x95, 0x13, 0x61, 0xae, 0xe7, 0xa0, 0x11, 0xe6, 0x50, 0xd4, 0xc6, 0xbb, 0x9e, 0x47,
- 0x3a, 0xbe, 0xd8, 0xce, 0xbb, 0x7e, 0xff, 0x9e, 0x3c, 0xef, 0xe9, 0x3d, 0xbf, 0x2e, 0x06, 0xa8,
- 0x97, 0x87, 0xd0, 0x63, 0x4a, 0xca, 0x0a, 0x1f, 0x1d, 0x09, 0x43, 0x8b, 0xd0, 0x1f, 0xee, 0x84,
- 0xd5, 0xa8, 0x1e, 0xb6, 0x4b, 0x35, 0x5a, 0x61, 0x28, 0x5a, 0xa6, 0x6b, 0x5e, 0x05, 0xcb, 0xba,
- 0xa8, 0x0a, 0x93, 0x82, 0xe2, 0xfc, 0xa6, 0xe3, 0xa9, 0x04, 0x88, 0xdc, 0x1a, 0xf1, 0xc2, 0xde,
- 0x6e, 0x69, 0x52, 0xb4, 0xac, 0x83, 0xf7, 0x77, 0x4b, 0x74, 0x4b, 0x66, 0x40, 0x70, 0x16, 0x35,
- 0xbe, 0xe4, 0xab, 0x55, 0xbf, 0xd1, 0x2c, 0x07, 0xfe, 0xba, 0x5b, 0x27, 0xed, 0x14, 0xbd, 0x15,
- 0x03, 0x53, 0x2c, 0x79, 0xa3, 0x0c, 0x27, 0xa8, 0xa1, 0x5b, 0x30, 0xe6, 0x34, 0x9b, 0xb3, 0x41,
- 0xc3, 0x0f, 0x64, 0x03, 0x43, 0xf9, 0x1a, 0x83, 0x59, 0x13, 0x95, 0xe7, 0x3f, 0x4c, 0x14, 0xe2,
- 0x24, 0x41, 0xfb, 0xbb, 0x18, 0xbf, 0x5d, 0x71, 0x37, 0x3c, 0xe6, 0x93, 0x86, 0x1a, 0x30, 0xd2,
- 0x64, 0x27, 0xb2, 0x48, 0x1b, 0x26, 0x76, 0xf1, 0xf3, 0x5d, 0xca, 0x0c, 0x6f, 0xb3, 0xc4, 0xa7,
- 0x86, 0xed, 0x68, 0x59, 0x27, 0x87, 0x4d, 0xea, 0xf6, 0xbf, 0x3f, 0xc1, 0x38, 0xb6, 0x0a, 0x17,
- 0x04, 0xf6, 0x0b, 0x0f, 0x41, 0xf1, 0xf4, 0x9f, 0xce, 0x17, 0xb9, 0xc7, 0x53, 0x2f, 0xbc, 0x0c,
- 0xb1, 0xac, 0x8b, 0x3e, 0x01, 0xa3, 0xf4, 0x25, 0xad, 0xb8, 0xa6, 0x70, 0xea, 0x48, 0x7e, 0xe8,
- 0x29, 0x85, 0xa5, 0xa7, 0x14, 0xd4, 0x2b, 0xe3, 0x04, 0x31, 0xf4, 0x06, 0x33, 0xa7, 0x94, 0xa4,
- 0x0b, 0xdd, 0x90, 0xd6, 0x2d, 0x27, 0x25, 0x59, 0x8d, 0x08, 0x6a, 0xc1, 0x64, 0x3a, 0x71, 0x72,
- 0x38, 0x65, 0xe7, 0x3f, 0x49, 0xd2, 0xb9, 0x8f, 0xe3, 0xdc, 0x6f, 0x69, 0x58, 0x88, 0xb3, 0xe8,
- 0xa3, 0xab, 0xc9, 0xb4, 0xb6, 0x45, 0x43, 0x58, 0x9f, 0x4a, 0x6d, 0x3b, 0xd2, 0x36, 0xa3, 0xed,
- 0x06, 0x9c, 0xd2, 0x32, 0x83, 0x5e, 0x0a, 0x1c, 0x66, 0xce, 0xe3, 0xb2, 0x8b, 0x42, 0xe3, 0x25,
- 0x1f, 0xde, 0xdb, 0x2d, 0x9d, 0x5a, 0x6b, 0x87, 0x88, 0xdb, 0xd3, 0x41, 0xd7, 0xe0, 0x28, 0x0f,
- 0x9c, 0xb2, 0x40, 0x9c, 0x5a, 0xdd, 0xf5, 0x14, 0xb3, 0xca, 0x8f, 0x95, 0x13, 0x7b, 0xbb, 0xa5,
- 0xa3, 0xb3, 0x59, 0x08, 0x38, 0xbb, 0x1e, 0x7a, 0x05, 0x06, 0x6b, 0x9e, 0x3c, 0x00, 0xfb, 0x8c,
- 0xe4, 0xab, 0x83, 0x0b, 0xab, 0x15, 0xf5, 0xfd, 0xf1, 0x1f, 0x1c, 0x57, 0x40, 0x1b, 0x5c, 0x5b,
- 0xa4, 0x44, 0x7c, 0xfd, 0xa9, 0x78, 0x9a, 0x49, 0x29, 0xb8, 0x11, 0x89, 0x80, 0xab, 0x49, 0x95,
- 0xa7, 0x9b, 0x11, 0xa4, 0xc0, 0x20, 0x8c, 0x5e, 0x07, 0x24, 0x92, 0xfc, 0xcc, 0x56, 0x59, 0x4e,
- 0x3a, 0xcd, 0x84, 0x53, 0xbd, 0xdc, 0x2b, 0x29, 0x0c, 0x9c, 0x51, 0x0b, 0x5d, 0xa6, 0x27, 0x97,
- 0x5e, 0x2a, 0x4e, 0x46, 0x95, 0xe2, 0x7b, 0x81, 0x34, 0x03, 0xc2, 0xac, 0x0e, 0x4d, 0x8a, 0x38,
- 0x51, 0x0f, 0xd5, 0xe0, 0xa4, 0xd3, 0x8a, 0x7c, 0xa6, 0x88, 0x33, 0x51, 0xd7, 0xfc, 0x2d, 0xe2,
- 0x31, 0x1d, 0xf8, 0x00, 0x8b, 0xd3, 0x79, 0x72, 0xb6, 0x0d, 0x1e, 0x6e, 0x4b, 0x85, 0xbe, 0x62,
- 0xe8, 0x58, 0x68, 0x3a, 0x32, 0xc3, 0xa9, 0x9a, 0x2b, 0x8e, 0x25, 0x06, 0x7a, 0x01, 0x86, 0x36,
- 0xfd, 0x30, 0x5a, 0x25, 0xd1, 0x6d, 0x3f, 0xd8, 0x12, 0x59, 0x05, 0xe2, 0x4c, 0x2e, 0x31, 0x08,
- 0xeb, 0x78, 0xe8, 0x09, 0xe8, 0x67, 0x16, 0x5a, 0xcb, 0x0b, 0xec, 0x1a, 0x1c, 0x88, 0xcf, 0x98,
- 0xcb, 0xbc, 0x18, 0x4b, 0xb8, 0x44, 0x5d, 0x2e, 0xcf, 0x33, 0x43, 0x97, 0x04, 0xea, 0x72, 0x79,
- 0x1e, 0x4b, 0x38, 0x5d, 0xae, 0xe1, 0xa6, 0x13, 0x90, 0x72, 0xe0, 0x57, 0x49, 0xa8, 0xe5, 0x0f,
- 0x7a, 0x88, 0xe7, 0x4c, 0xa0, 0xcb, 0xb5, 0x92, 0x85, 0x80, 0xb3, 0xeb, 0x21, 0x92, 0xce, 0x8a,
- 0x3b, 0x9a, 0xaf, 0xa1, 0x4c, 0x73, 0x6a, 0x5d, 0x26, 0xc6, 0xf5, 0x60, 0x5c, 0xe5, 0xe3, 0xe5,
- 0x59, 0x12, 0xc2, 0xa9, 0x31, 0xb6, 0xb6, 0xbb, 0x4f, 0xb1, 0xa0, 0x74, 0xbe, 0xcb, 0x09, 0x4a,
- 0x38, 0x45, 0xdb, 0x08, 0x04, 0x3b, 0xde, 0x31, 0x10, 0xec, 0x79, 0x18, 0x0c, 0x5b, 0xb7, 0x6a,
- 0x7e, 0xc3, 0x71, 0x3d, 0x66, 0xe8, 0xa2, 0xbd, 0x97, 0x2b, 0x12, 0x80, 0x63, 0x1c, 0xb4, 0x04,
- 0x03, 0x8e, 0x54, 0xe8, 0xa2, 0xfc, 0x18, 0x77, 0x4a, 0x8d, 0xcb, 0xc3, 0x3e, 0x49, 0x15, 0xae,
- 0xaa, 0x8b, 0x5e, 0x86, 0x11, 0x11, 0x47, 0x43, 0xa4, 0xb0, 0x9f, 0x34, 0xbd, 0x86, 0x2b, 0x3a,
- 0x10, 0x9b, 0xb8, 0xe8, 0x3a, 0x0c, 0x45, 0x7e, 0x9d, 0xb9, 0xbe, 0x52, 0x06, 0xf6, 0x58, 0x7e,
- 0x28, 0xda, 0x35, 0x85, 0xa6, 0xab, 0x1a, 0x54, 0x55, 0xac, 0xd3, 0x41, 0x6b, 0x7c, 0xbd, 0xb3,
- 0x6c, 0x41, 0x24, 0x14, 0x39, 0xd0, 0x4f, 0xe5, 0x59, 0x29, 0x32, 0x34, 0x73, 0x3b, 0x88, 0x9a,
- 0x58, 0x27, 0x83, 0x2e, 0xc1, 0x44, 0x33, 0x70, 0x7d, 0xb6, 0x26, 0x94, 0x82, 0x7a, 0xca, 0xcc,
- 0x0d, 0x5a, 0x4e, 0x22, 0xe0, 0x74, 0x1d, 0x16, 0x06, 0x45, 0x14, 0x4e, 0x9d, 0xe0, 0xf9, 0xcd,
- 0xb8, 0xf8, 0x81, 0x97, 0x61, 0x05, 0x45, 0x2b, 0xec, 0x24, 0xe6, 0x92, 0xb3, 0xa9, 0xe9, 0x7c,
- 0xe7, 0x7a, 0x5d, 0xc2, 0xc6, 0xd9, 0x72, 0xf5, 0x17, 0xc7, 0x14, 0x50, 0x4d, 0x4b, 0x2b, 0x4e,
- 0x1f, 0x37, 0xe1, 0xd4, 0xc9, 0x36, 0x66, 0xb2, 0x89, 0x97, 0x6c, 0xcc, 0x10, 0x18, 0xc5, 0x21,
- 0x4e, 0xd0, 0x44, 0xaf, 0xc1, 0xb8, 0x88, 0x11, 0x10, 0x0f, 0xd3, 0xa9, 0xd8, 0x95, 0x08, 0x27,
- 0x60, 0x38, 0x85, 0xcd, 0xf3, 0x8b, 0x39, 0xb7, 0xea, 0x44, 0x1c, 0x7d, 0x57, 0x5d, 0x6f, 0x2b,
- 0x9c, 0x3a, 0xcd, 0xce, 0x07, 0x91, 0x5f, 0x2c, 0x09, 0xc5, 0x19, 0x35, 0xd0, 0x1a, 0x8c, 0x37,
- 0x03, 0x42, 0x1a, 0xec, 0x09, 0x23, 0xee, 0xb3, 0x12, 0x8f, 0x02, 0x44, 0x7b, 0x52, 0x4e, 0xc0,
- 0xf6, 0x33, 0xca, 0x70, 0x8a, 0x02, 0xba, 0x0d, 0x03, 0xfe, 0x36, 0x09, 0x36, 0x89, 0x53, 0x9b,
- 0x3a, 0xd3, 0xc6, 0xc1, 0x4d, 0x5c, 0x6e, 0xd7, 0x04, 0x6e, 0xc2, 0xfe, 0x47, 0x16, 0x77, 0xb6,
- 0xff, 0x91, 0x8d, 0xa1, 0xbf, 0x65, 0xc1, 0x09, 0xa9, 0x51, 0xab, 0x34, 0xe9, 0xa8, 0xcf, 0xfb,
- 0x5e, 0x18, 0x05, 0x3c, 0x6e, 0xcd, 0xc3, 0xf9, 0xb1, 0x5c, 0xd6, 0x72, 0x2a, 0x29, 0xe1, 0xfd,
- 0x89, 0x3c, 0x8c, 0x10, 0xe7, 0xb7, 0x48, 0x1f, 0xdd, 0x21, 0x89, 0xe4, 0x61, 0x34, 0x1b, 0x2e,
- 0xbd, 0xb1, 0xb0, 0x3a, 0xf5, 0x08, 0x0f, 0xba, 0x43, 0x37, 0x43, 0x25, 0x09, 0xc4, 0x69, 0x7c,
- 0x74, 0x01, 0x0a, 0x7e, 0x38, 0xf5, 0x68, 0x9b, 0x4c, 0xf4, 0x7e, 0xed, 0x5a, 0x85, 0xdb, 0x81,
- 0x5e, 0xab, 0xe0, 0x82, 0x1f, 0xca, 0x1c, 0x5f, 0xf4, 0xa5, 0x19, 0x4e, 0x3d, 0xc6, 0x45, 0xbd,
- 0x32, 0xc7, 0x17, 0x2b, 0xc4, 0x31, 0x1c, 0x6d, 0xc2, 0x58, 0x68, 0xbc, 0xe8, 0xc3, 0xa9, 0xb3,
- 0x6c, 0xa4, 0x1e, 0xcb, 0x9b, 0x34, 0x03, 0x5b, 0x4b, 0xbe, 0x63, 0x52, 0xc1, 0x49, 0xb2, 0x7c,
- 0x77, 0x69, 0x32, 0x85, 0x70, 0xea, 0xf1, 0x0e, 0xbb, 0x4b, 0x43, 0xd6, 0x77, 0x97, 0x4e, 0x03,
- 0x27, 0x68, 0x4e, 0x7f, 0x07, 0x4c, 0xa4, 0xd8, 0xa5, 0x83, 0xf8, 0x3c, 0x4c, 0x6f, 0xc1, 0x88,
- 0xb1, 0x24, 0x1f, 0xa8, 0x49, 0xcc, 0xef, 0x0e, 0xc2, 0xa0, 0x32, 0x55, 0x40, 0xe7, 0x4d, 0x2b,
- 0x98, 0x13, 0x49, 0x2b, 0x98, 0x81, 0xb2, 0x5f, 0x33, 0x0c, 0x5f, 0xd6, 0x32, 0x62, 0xc9, 0xe6,
- 0x1d, 0x80, 0xdd, 0x3b, 0x66, 0x69, 0xea, 0x97, 0x62, 0xd7, 0xe6, 0x34, 0x3d, 0x6d, 0x35, 0x3a,
- 0x97, 0x60, 0xc2, 0xf3, 0x19, 0x8f, 0x4e, 0x6a, 0x92, 0x01, 0x63, 0x7c, 0xd6, 0xa0, 0x1e, 0xeb,
- 0x2c, 0x81, 0x80, 0xd3, 0x75, 0x68, 0x83, 0x9c, 0x51, 0x4a, 0xaa, 0x90, 0x38, 0x1f, 0x85, 0x05,
- 0x94, 0xbe, 0x0d, 0xf9, 0xaf, 0x70, 0x6a, 0x3c, 0xff, 0x6d, 0xc8, 0x2b, 0x25, 0x99, 0xb1, 0x50,
- 0x32, 0x63, 0x4c, 0x63, 0xd2, 0xf4, 0x6b, 0xcb, 0x65, 0xc1, 0xe6, 0x6b, 0x51, 0xde, 0x6b, 0xcb,
- 0x65, 0xcc, 0x61, 0x68, 0x16, 0xfa, 0xd8, 0x0f, 0x19, 0x43, 0x26, 0x6f, 0x9b, 0x2e, 0x97, 0xb5,
- 0x1c, 0xa3, 0xac, 0x02, 0x16, 0x15, 0x99, 0x44, 0x9c, 0xbe, 0x8d, 0x98, 0x44, 0xbc, 0xff, 0x1e,
- 0x25, 0xe2, 0x92, 0x00, 0x8e, 0x69, 0xa1, 0x3b, 0x70, 0xd4, 0x78, 0x8f, 0x2a, 0x4f, 0x35, 0xc8,
- 0x57, 0x96, 0x27, 0x90, 0xe7, 0x4e, 0x89, 0x4e, 0x1f, 0x5d, 0xce, 0xa2, 0x84, 0xb3, 0x1b, 0x40,
- 0x75, 0x98, 0xa8, 0xa6, 0x5a, 0x1d, 0xe8, 0xbe, 0x55, 0xb5, 0x2e, 0xd2, 0x2d, 0xa6, 0x09, 0xa3,
- 0x97, 0x61, 0xe0, 0x6d, 0x9f, 0x1b, 0xb6, 0x89, 0xa7, 0x89, 0x8c, 0x92, 0x32, 0xf0, 0xc6, 0xb5,
- 0x0a, 0x2b, 0xdf, 0xdf, 0x2d, 0x0d, 0x95, 0xfd, 0x9a, 0xfc, 0x8b, 0x55, 0x05, 0xf4, 0x03, 0x16,
- 0x4c, 0xa7, 0x1f, 0xbc, 0xaa, 0xd3, 0x23, 0xdd, 0x77, 0xda, 0x16, 0x8d, 0x4e, 0x2f, 0xe6, 0x92,
- 0xc3, 0x6d, 0x9a, 0x42, 0x1f, 0xa6, 0xfb, 0x29, 0x74, 0xef, 0x12, 0x91, 0xa0, 0xfd, 0xe1, 0x78,
- 0x3f, 0xd1, 0xd2, 0xfd, 0xdd, 0xd2, 0x18, 0x3f, 0x19, 0xdd, 0xbb, 0x2a, 0x1e, 0x3d, 0xaf, 0x80,
- 0xbe, 0x1b, 0x8e, 0x06, 0x69, 0xd9, 0x30, 0x91, 0x4c, 0xf8, 0x93, 0xdd, 0x9c, 0xb2, 0xc9, 0x09,
- 0xc7, 0x59, 0x04, 0x71, 0x76, 0x3b, 0xf6, 0xaf, 0x59, 0x4c, 0x27, 0x20, 0xba, 0x45, 0xc2, 0x56,
- 0x3d, 0x3a, 0x04, 0x63, 0xb2, 0x45, 0x43, 0xdf, 0x7e, 0xcf, 0xd6, 0x60, 0xff, 0xd2, 0x62, 0xd6,
- 0x60, 0x87, 0xe8, 0xd7, 0xf6, 0x06, 0x0c, 0x44, 0xa2, 0x35, 0xd1, 0xf5, 0x3c, 0xcb, 0x15, 0xd9,
- 0x29, 0x66, 0x11, 0xa7, 0x1e, 0x39, 0xb2, 0x14, 0x2b, 0x32, 0xf6, 0x3f, 0xe3, 0x33, 0x20, 0x21,
- 0x87, 0xa0, 0xd6, 0x5c, 0x30, 0xd5, 0x9a, 0xa5, 0x0e, 0x5f, 0x90, 0xa3, 0xde, 0xfc, 0xa7, 0x66,
- 0xbf, 0x99, 0x70, 0xef, 0xdd, 0x6e, 0x86, 0x68, 0x7f, 0xde, 0x02, 0x88, 0x13, 0x80, 0x74, 0x91,
- 0x90, 0xf9, 0x22, 0x7d, 0xd6, 0xf8, 0x91, 0x5f, 0xf5, 0xeb, 0x42, 0xf5, 0x72, 0x32, 0xd6, 0xac,
- 0xf2, 0xf2, 0x7d, 0xed, 0x37, 0x56, 0xd8, 0xa8, 0x24, 0x23, 0xf2, 0x16, 0x63, 0x5d, 0xbf, 0x11,
- 0x8d, 0xf7, 0x4b, 0x16, 0x1c, 0xc9, 0x72, 0x92, 0xa0, 0x8f, 0x64, 0x2e, 0xe6, 0x54, 0x26, 0xa2,
- 0x6a, 0x36, 0x6f, 0x88, 0x72, 0xac, 0x30, 0xba, 0xce, 0x74, 0x7d, 0xb0, 0xe4, 0x14, 0xd7, 0x60,
- 0xa4, 0x1c, 0x10, 0x8d, 0xbf, 0x78, 0x35, 0xce, 0x9b, 0x33, 0x38, 0xf7, 0xf4, 0x81, 0x23, 0x0f,
- 0xd9, 0x5f, 0x2e, 0xc0, 0x11, 0x6e, 0xe8, 0x34, 0xbb, 0xed, 0xbb, 0xb5, 0xb2, 0x5f, 0x13, 0xae,
- 0xad, 0x6f, 0xc2, 0x70, 0x53, 0x93, 0x4d, 0xb7, 0x0b, 0xb4, 0xae, 0xcb, 0xb0, 0x63, 0x69, 0x9a,
- 0x5e, 0x8a, 0x0d, 0x5a, 0xa8, 0x06, 0xc3, 0x64, 0xdb, 0xad, 0x2a, 0x6b, 0x99, 0xc2, 0x81, 0x2f,
- 0x69, 0xd5, 0xca, 0xa2, 0x46, 0x07, 0x1b, 0x54, 0xbb, 0x36, 0x4f, 0xd6, 0x58, 0xb4, 0x9e, 0x0e,
- 0x16, 0x32, 0x3f, 0x6e, 0xc1, 0xf1, 0x9c, 0xb0, 0xec, 0xb4, 0xb9, 0xdb, 0xcc, 0xa4, 0x4c, 0x2c,
- 0x5b, 0xd5, 0x1c, 0x37, 0x34, 0xc3, 0x02, 0x8a, 0x3e, 0x0a, 0xd0, 0x8c, 0x53, 0x52, 0x76, 0x88,
- 0x5f, 0x6d, 0x44, 0xb2, 0xd5, 0x82, 0x92, 0xaa, 0xcc, 0x95, 0x1a, 0x2d, 0xfb, 0x4b, 0x3d, 0xd0,
- 0xcb, 0x0c, 0x93, 0x50, 0x19, 0xfa, 0x37, 0x79, 0xcc, 0xbc, 0xb6, 0xf3, 0x46, 0x71, 0x65, 0x10,
- 0xbe, 0x78, 0xde, 0xb4, 0x52, 0x2c, 0xc9, 0xa0, 0x15, 0x98, 0xe4, 0xe9, 0x36, 0xeb, 0x0b, 0xa4,
- 0xee, 0xec, 0x48, 0xb1, 0x6f, 0x81, 0x7d, 0xaa, 0x12, 0x7f, 0x2f, 0xa7, 0x51, 0x70, 0x56, 0x3d,
- 0xf4, 0x2a, 0x8c, 0xd2, 0x67, 0xb8, 0xdf, 0x8a, 0x24, 0x25, 0x9e, 0xdf, 0x52, 0xbd, 0x4c, 0xd6,
- 0x0c, 0x28, 0x4e, 0x60, 0xa3, 0x97, 0x61, 0xa4, 0x99, 0x12, 0x70, 0xf7, 0xc6, 0x92, 0x20, 0x53,
- 0xa8, 0x6d, 0xe2, 0x32, 0x3f, 0x89, 0x16, 0xf3, 0x0a, 0x59, 0xdb, 0x0c, 0x48, 0xb8, 0xe9, 0xd7,
- 0x6b, 0x8c, 0x03, 0xee, 0xd5, 0xfc, 0x24, 0x12, 0x70, 0x9c, 0xaa, 0x41, 0xa9, 0xac, 0x3b, 0x6e,
- 0xbd, 0x15, 0x90, 0x98, 0x4a, 0x9f, 0x49, 0x65, 0x29, 0x01, 0xc7, 0xa9, 0x1a, 0x9d, 0x25, 0xf7,
- 0xfd, 0xf7, 0x47, 0x72, 0x6f, 0xff, 0x4c, 0x01, 0x8c, 0xa9, 0x7d, 0x0f, 0xe7, 0xdd, 0x7c, 0x05,
- 0x7a, 0x36, 0x82, 0x66, 0x55, 0x18, 0xe1, 0x65, 0x7e, 0x59, 0x9c, 0xfd, 0x9f, 0x7f, 0x19, 0xfd,
- 0x8f, 0x59, 0x2d, 0xba, 0xc7, 0x8f, 0x96, 0x03, 0x9f, 0x5e, 0x72, 0x32, 0xac, 0xa6, 0x72, 0x47,
- 0xea, 0x97, 0x81, 0x35, 0xda, 0x04, 0xa0, 0x16, 0x3e, 0x15, 0x9c, 0x82, 0x61, 0xaf, 0x56, 0x11,
- 0xe1, 0x73, 0x24, 0x15, 0x74, 0x01, 0x86, 0x44, 0x2a, 0x44, 0xe6, 0x35, 0xc3, 0x37, 0x13, 0xb3,
- 0xaf, 0x5b, 0x88, 0x8b, 0xb1, 0x8e, 0x63, 0xff, 0x60, 0x01, 0x26, 0x33, 0xdc, 0x1e, 0xf9, 0x35,
- 0xb2, 0xe1, 0x86, 0x51, 0xb0, 0x93, 0xbc, 0x9c, 0xb0, 0x28, 0xc7, 0x0a, 0x83, 0x9e, 0x55, 0xfc,
- 0xa2, 0x4a, 0x5e, 0x4e, 0xc2, 0xad, 0x48, 0x40, 0x0f, 0x98, 0xaa, 0xff, 0x0c, 0xf4, 0xb4, 0x42,
- 0x22, 0x63, 0xdd, 0xab, 0x6b, 0x9b, 0x29, 0xec, 0x19, 0x84, 0x3e, 0x01, 0x37, 0x94, 0x16, 0x5a,
- 0x7b, 0x02, 0x72, 0x3d, 0x34, 0x87, 0xd1, 0xce, 0x45, 0xc4, 0x73, 0xbc, 0x48, 0x3c, 0x14, 0xe3,
- 0x18, 0xc8, 0xac, 0x14, 0x0b, 0xa8, 0xfd, 0xc5, 0x22, 0x9c, 0xc8, 0x75, 0x84, 0xa6, 0x5d, 0x6f,
- 0xf8, 0x9e, 0x1b, 0xf9, 0xca, 0x70, 0x91, 0xc7, 0x3d, 0x26, 0xcd, 0xcd, 0x15, 0x51, 0x8e, 0x15,
- 0x06, 0x3a, 0x0b, 0xbd, 0x4c, 0x28, 0x9e, 0x4c, 0x83, 0x86, 0xe7, 0x16, 0x78, 0x44, 0x49, 0x0e,
- 0xd6, 0x6e, 0xf5, 0x62, 0xdb, 0x5b, 0xfd, 0x11, 0xca, 0xc1, 0xf8, 0xf5, 0xe4, 0x85, 0x42, 0xbb,
- 0xeb, 0xfb, 0x75, 0xcc, 0x80, 0xe8, 0x31, 0x31, 0x5e, 0x09, 0x4b, 0x3d, 0xec, 0xd4, 0xfc, 0x50,
- 0x1b, 0xb4, 0x27, 0xa0, 0x7f, 0x8b, 0xec, 0x04, 0xae, 0xb7, 0x91, 0xb4, 0xe0, 0xbc, 0xc2, 0x8b,
- 0xb1, 0x84, 0x9b, 0x59, 0xbf, 0xfb, 0xef, 0x47, 0xd6, 0x6f, 0x7d, 0x05, 0x0c, 0x74, 0x64, 0x4f,
- 0x7e, 0xa8, 0x08, 0x63, 0x78, 0x6e, 0xe1, 0xfd, 0x89, 0xb8, 0x9e, 0x9e, 0x88, 0xfb, 0x91, 0x1c,
- 0xfb, 0x60, 0xb3, 0xf1, 0xcb, 0x16, 0x8c, 0xb1, 0x84, 0x8c, 0x22, 0x8a, 0x89, 0xeb, 0x7b, 0x87,
- 0xf0, 0x14, 0x78, 0x04, 0x7a, 0x03, 0xda, 0xa8, 0x98, 0x41, 0xb5, 0xc7, 0x59, 0x4f, 0x30, 0x87,
- 0xa1, 0x93, 0xd0, 0xc3, 0xba, 0x40, 0x27, 0x6f, 0x98, 0x1f, 0xc1, 0x0b, 0x4e, 0xe4, 0x60, 0x56,
- 0xca, 0xe2, 0x29, 0x62, 0xd2, 0xac, 0xbb, 0xbc, 0xd3, 0xb1, 0xc9, 0xc2, 0xbb, 0x23, 0x44, 0x4a,
- 0x66, 0xd7, 0xde, 0x59, 0x3c, 0xc5, 0x6c, 0x92, 0xed, 0x9f, 0xd9, 0x7f, 0x5e, 0x80, 0xd3, 0x99,
- 0xf5, 0xba, 0x8e, 0xa7, 0xd8, 0xbe, 0xf6, 0x83, 0x4c, 0xdf, 0x56, 0x3c, 0x44, 0xfb, 0xf8, 0x9e,
- 0x6e, 0xb9, 0xff, 0xde, 0x2e, 0xc2, 0x1c, 0x66, 0x0e, 0xd9, 0xbb, 0x24, 0xcc, 0x61, 0x66, 0xdf,
- 0x72, 0xc4, 0x04, 0x7f, 0x53, 0xc8, 0xf9, 0x16, 0x26, 0x30, 0x38, 0x47, 0xcf, 0x19, 0x06, 0x0c,
- 0xe5, 0x23, 0x9c, 0x9f, 0x31, 0xbc, 0x0c, 0x2b, 0x28, 0x9a, 0x85, 0xb1, 0x86, 0xeb, 0xd1, 0xc3,
- 0x67, 0xc7, 0x64, 0xc5, 0x95, 0x2e, 0x63, 0xc5, 0x04, 0xe3, 0x24, 0x3e, 0x72, 0xb5, 0x10, 0x88,
- 0xfc, 0xeb, 0x5e, 0x3e, 0xd0, 0xae, 0x9b, 0x31, 0xcd, 0x39, 0xd4, 0x28, 0x66, 0x84, 0x43, 0x5c,
- 0xd1, 0xe4, 0x44, 0xc5, 0xee, 0xe5, 0x44, 0xc3, 0xd9, 0x32, 0xa2, 0xe9, 0x97, 0x61, 0xe4, 0x9e,
- 0x75, 0x23, 0xf6, 0x37, 0x8a, 0xf0, 0x50, 0x9b, 0x6d, 0xcf, 0xcf, 0x7a, 0x63, 0x0e, 0xb4, 0xb3,
- 0x3e, 0x35, 0x0f, 0x65, 0x38, 0xb2, 0xde, 0xaa, 0xd7, 0x77, 0x98, 0x23, 0x18, 0xa9, 0x49, 0x0c,
- 0xc1, 0x53, 0x4a, 0xe1, 0xc8, 0x91, 0xa5, 0x0c, 0x1c, 0x9c, 0x59, 0x93, 0x3e, 0xb1, 0xe8, 0x4d,
- 0xb2, 0xa3, 0x48, 0x25, 0x9e, 0x58, 0x58, 0x07, 0x62, 0x13, 0x17, 0x5d, 0x82, 0x09, 0x67, 0xdb,
- 0x71, 0x79, 0xfa, 0x0b, 0x49, 0x80, 0xbf, 0xb1, 0x94, 0x2c, 0x7a, 0x36, 0x89, 0x80, 0xd3, 0x75,
- 0xd0, 0xeb, 0x80, 0xfc, 0x5b, 0xcc, 0xb9, 0xa4, 0x76, 0x89, 0x78, 0x42, 0xeb, 0xce, 0xe6, 0xae,
- 0x18, 0x1f, 0x09, 0xd7, 0x52, 0x18, 0x38, 0xa3, 0x56, 0x22, 0x18, 0x5f, 0x5f, 0x7e, 0x30, 0xbe,
- 0xf6, 0xe7, 0x62, 0xc7, 0xcc, 0x81, 0x6f, 0xc1, 0xc8, 0x41, 0x2d, 0xa6, 0x9f, 0x80, 0xfe, 0x40,
- 0xe4, 0x64, 0x4f, 0x78, 0x5d, 0xcb, 0x8c, 0xd5, 0x12, 0x6e, 0xff, 0x17, 0x0b, 0x94, 0x2c, 0xd9,
- 0x8c, 0xbb, 0xfd, 0x32, 0x33, 0xff, 0xe6, 0x52, 0x70, 0x2d, 0xd4, 0xd6, 0x51, 0xcd, 0xfc, 0x3b,
- 0x06, 0x62, 0x13, 0x97, 0x2f, 0xb7, 0x30, 0x8e, 0xf0, 0x60, 0x3c, 0x20, 0x44, 0x58, 0x50, 0x85,
- 0x81, 0x3e, 0x06, 0xfd, 0x35, 0x77, 0xdb, 0x0d, 0x85, 0x1c, 0xed, 0xc0, 0x7a, 0xbb, 0xf8, 0xfb,
- 0x16, 0x38, 0x19, 0x2c, 0xe9, 0xd9, 0x3f, 0x62, 0x81, 0xd2, 0x4b, 0x5e, 0x26, 0x4e, 0x3d, 0xda,
- 0x44, 0xaf, 0x01, 0x48, 0x0a, 0x4a, 0xf6, 0x26, 0xad, 0xa5, 0x00, 0x2b, 0xc8, 0xbe, 0xf1, 0x0f,
- 0x6b, 0x75, 0xd0, 0xab, 0xd0, 0xb7, 0xc9, 0x68, 0x89, 0x6f, 0x3b, 0xab, 0x54, 0x5d, 0xac, 0x74,
- 0x7f, 0xb7, 0x74, 0xc4, 0x6c, 0x53, 0xde, 0x62, 0xbc, 0x96, 0xfd, 0x43, 0x85, 0x78, 0x4e, 0xdf,
- 0x68, 0xf9, 0x91, 0x73, 0x08, 0x9c, 0xc8, 0x25, 0x83, 0x13, 0x79, 0x2c, 0x7b, 0xa1, 0x6a, 0x5d,
- 0xca, 0xe5, 0x40, 0xae, 0x25, 0x38, 0x90, 0xc7, 0x3b, 0x93, 0x6a, 0xcf, 0x79, 0xfc, 0x73, 0x0b,
- 0x26, 0x0c, 0xfc, 0x43, 0xb8, 0x00, 0x97, 0xcc, 0x0b, 0xf0, 0xe1, 0x8e, 0xdf, 0x90, 0x73, 0xf1,
- 0x7d, 0x7f, 0x31, 0xd1, 0x77, 0x76, 0xe1, 0xbd, 0x0d, 0x3d, 0x9b, 0x4e, 0x50, 0x13, 0xef, 0xfa,
- 0xf3, 0x5d, 0x8d, 0xf5, 0xcc, 0x65, 0x27, 0x10, 0x96, 0x16, 0x4f, 0xcb, 0x51, 0xa7, 0x45, 0x1d,
- 0xad, 0x2c, 0x58, 0x53, 0xe8, 0x22, 0xf4, 0x85, 0x55, 0xbf, 0xa9, 0xfc, 0xe4, 0x58, 0x3a, 0xed,
- 0x0a, 0x2b, 0xd9, 0xdf, 0x2d, 0x21, 0xb3, 0x39, 0x5a, 0x8c, 0x05, 0x3e, 0x7a, 0x13, 0x46, 0xd8,
- 0x2f, 0x65, 0xf6, 0x58, 0xcc, 0x97, 0xc0, 0x54, 0x74, 0x44, 0x6e, 0x13, 0x6c, 0x14, 0x61, 0x93,
- 0xd4, 0xf4, 0x06, 0x0c, 0xaa, 0xcf, 0x7a, 0xa0, 0xda, 0xfa, 0xff, 0x58, 0x84, 0xc9, 0x8c, 0x35,
- 0x87, 0x42, 0x63, 0x26, 0x2e, 0x74, 0xb9, 0x54, 0xdf, 0xe1, 0x5c, 0x84, 0xec, 0x01, 0x58, 0x13,
- 0x6b, 0xab, 0xeb, 0x46, 0xaf, 0x87, 0x24, 0xd9, 0x28, 0x2d, 0xea, 0xdc, 0x28, 0x6d, 0xec, 0xd0,
- 0x86, 0x9a, 0x36, 0xa4, 0x7a, 0xfa, 0x40, 0xe7, 0xf4, 0x37, 0x7b, 0xe0, 0x48, 0x56, 0x0c, 0x69,
- 0xf4, 0x19, 0x10, 0xe9, 0xff, 0xc5, 0xb4, 0x3e, 0xdf, 0x6e, 0x84, 0xf5, 0x9a, 0x33, 0xcc, 0x17,
- 0x4c, 0x84, 0x6e, 0x9d, 0x91, 0xc7, 0x11, 0x2f, 0xec, 0x38, 0xcc, 0xa2, 0x4d, 0x16, 0x52, 0x49,
- 0xdc, 0x9e, 0xf2, 0xf8, 0xf8, 0x50, 0xd7, 0x1d, 0x10, 0xf7, 0x6f, 0x98, 0x30, 0xa9, 0x92, 0xc5,
- 0x9d, 0x4d, 0xaa, 0x64, 0xcb, 0x68, 0x19, 0xfa, 0xaa, 0xdc, 0x56, 0xa7, 0xd8, 0xf9, 0x08, 0xe3,
- 0x86, 0x3a, 0xea, 0x00, 0x16, 0x06, 0x3a, 0x82, 0xc0, 0xb4, 0x0b, 0x43, 0xda, 0xc0, 0x3c, 0xd0,
- 0xc5, 0xb3, 0x45, 0x2f, 0x3e, 0x6d, 0x08, 0x1e, 0xe8, 0x02, 0xfa, 0x31, 0xed, 0xee, 0x17, 0xe7,
- 0xc1, 0x07, 0x0d, 0xde, 0xe9, 0x64, 0xc2, 0x05, 0x2f, 0xb1, 0xaf, 0x18, 0x2f, 0x55, 0x31, 0x63,
- 0x9e, 0xe7, 0xa6, 0x4e, 0x32, 0x2f, 0xfc, 0xf6, 0x71, 0xce, 0xed, 0x1f, 0xb7, 0x20, 0xe1, 0x24,
- 0xa5, 0xc4, 0x9d, 0x56, 0xae, 0xb8, 0xf3, 0x0c, 0xf4, 0x04, 0x7e, 0x9d, 0x24, 0x53, 0xd3, 0x63,
- 0xbf, 0x4e, 0x30, 0x83, 0x50, 0x8c, 0x28, 0x16, 0x62, 0x0d, 0xeb, 0x0f, 0x74, 0xf1, 0xf4, 0x7e,
- 0x04, 0x7a, 0xeb, 0x64, 0x9b, 0xd4, 0x93, 0x19, 0x44, 0xaf, 0xd2, 0x42, 0xcc, 0x61, 0xf6, 0x2f,
- 0xf7, 0xc0, 0xa9, 0xb6, 0x91, 0xd7, 0x28, 0x83, 0xb9, 0xe1, 0x44, 0xe4, 0xb6, 0xb3, 0x93, 0xcc,
- 0x9c, 0x77, 0x89, 0x17, 0x63, 0x09, 0x67, 0xce, 0xc8, 0x3c, 0x93, 0x4c, 0x42, 0x38, 0x2c, 0x12,
- 0xc8, 0x08, 0xa8, 0x29, 0x6c, 0x2c, 0xde, 0x0f, 0x61, 0xe3, 0xb3, 0x00, 0x61, 0x58, 0xe7, 0x06,
- 0x97, 0x35, 0xe1, 0xe5, 0x1c, 0x67, 0x1c, 0xaa, 0x5c, 0x15, 0x10, 0xac, 0x61, 0xa1, 0x05, 0x18,
- 0x6f, 0x06, 0x7e, 0xc4, 0x65, 0xed, 0x0b, 0xdc, 0x26, 0xb9, 0xd7, 0x0c, 0x7a, 0x55, 0x4e, 0xc0,
- 0x71, 0xaa, 0x06, 0x7a, 0x01, 0x86, 0x44, 0x20, 0xac, 0xb2, 0xef, 0xd7, 0x85, 0x78, 0x4f, 0x99,
- 0xe9, 0x56, 0x62, 0x10, 0xd6, 0xf1, 0xb4, 0x6a, 0x4c, 0x80, 0xdf, 0x9f, 0x59, 0x8d, 0x0b, 0xf1,
- 0x35, 0xbc, 0x44, 0xd0, 0xfc, 0x81, 0xae, 0x82, 0xe6, 0xc7, 0x02, 0xcf, 0xc1, 0xae, 0xf5, 0xc9,
- 0xd0, 0x51, 0x44, 0xf8, 0x95, 0x1e, 0x98, 0x14, 0x0b, 0xe7, 0x41, 0x2f, 0x97, 0xeb, 0xe9, 0xe5,
- 0x72, 0x3f, 0x44, 0xa2, 0xef, 0xaf, 0x99, 0xc3, 0x5e, 0x33, 0x3f, 0x6c, 0x81, 0xc9, 0x43, 0xa2,
- 0xff, 0x2f, 0x37, 0xf5, 0xe8, 0x0b, 0xb9, 0x3c, 0x69, 0x1c, 0x51, 0xfb, 0x9d, 0x25, 0x21, 0xb5,
- 0xff, 0x93, 0x05, 0x0f, 0x77, 0xa4, 0x88, 0x16, 0x61, 0x90, 0x31, 0xba, 0xda, 0xbb, 0xf8, 0x71,
- 0xe5, 0xb3, 0x20, 0x01, 0x39, 0x7c, 0x77, 0x5c, 0x13, 0x2d, 0xa6, 0x72, 0xbc, 0x3e, 0x91, 0x91,
- 0xe3, 0xf5, 0xa8, 0x31, 0x3c, 0xf7, 0x98, 0xe4, 0xf5, 0x0b, 0xf4, 0xc6, 0x31, 0x7d, 0x12, 0x3f,
- 0x64, 0x88, 0x73, 0xed, 0x84, 0x38, 0x17, 0x99, 0xd8, 0xda, 0x1d, 0xf2, 0x1a, 0x8c, 0xb3, 0x08,
- 0x99, 0xcc, 0x83, 0x46, 0x38, 0x33, 0x16, 0x62, 0x2b, 0xf9, 0xab, 0x09, 0x18, 0x4e, 0x61, 0xdb,
- 0x7f, 0x5a, 0x84, 0x3e, 0xbe, 0xfd, 0x0e, 0xe1, 0xe1, 0xfb, 0x14, 0x0c, 0xba, 0x8d, 0x46, 0x8b,
- 0xa7, 0xed, 0xec, 0x8d, 0x6d, 0xae, 0x97, 0x65, 0x21, 0x8e, 0xe1, 0x68, 0x49, 0x68, 0x12, 0xda,
- 0x04, 0xe1, 0xe6, 0x1d, 0x9f, 0x59, 0x70, 0x22, 0x87, 0x73, 0x71, 0xea, 0x9e, 0x8d, 0x75, 0x0e,
- 0xe8, 0x93, 0x00, 0x61, 0x14, 0xb8, 0xde, 0x06, 0x2d, 0x13, 0x99, 0x1a, 0x9e, 0x6c, 0x43, 0xad,
- 0xa2, 0x90, 0x39, 0xcd, 0xf8, 0xcc, 0x51, 0x00, 0xac, 0x51, 0x44, 0x33, 0xc6, 0x4d, 0x3f, 0x9d,
- 0x98, 0x3b, 0xe0, 0x54, 0xe3, 0x39, 0x9b, 0x7e, 0x11, 0x06, 0x15, 0xf1, 0x4e, 0x72, 0xc5, 0x61,
- 0x9d, 0x61, 0xfb, 0x08, 0x8c, 0x25, 0xfa, 0x76, 0x20, 0xb1, 0xe4, 0xaf, 0x58, 0x30, 0xc6, 0x3b,
- 0xb3, 0xe8, 0x6d, 0x8b, 0xdb, 0xe0, 0x2e, 0x1c, 0xa9, 0x67, 0x9c, 0xca, 0x62, 0xfa, 0xbb, 0x3f,
- 0xc5, 0x95, 0x18, 0x32, 0x0b, 0x8a, 0x33, 0xdb, 0x40, 0xe7, 0xe8, 0x8e, 0xa3, 0xa7, 0xae, 0x53,
- 0x17, 0xd1, 0x36, 0x86, 0xf9, 0x6e, 0xe3, 0x65, 0x58, 0x41, 0xed, 0x3f, 0xb4, 0x60, 0x82, 0xf7,
- 0xfc, 0x0a, 0xd9, 0x51, 0x67, 0xd3, 0xb7, 0xb2, 0xef, 0x22, 0x61, 0x74, 0x21, 0x27, 0x61, 0xb4,
- 0xfe, 0x69, 0xc5, 0xb6, 0x9f, 0xf6, 0x65, 0x0b, 0xc4, 0x0a, 0x39, 0x04, 0x49, 0xcb, 0x77, 0x98,
- 0x92, 0x96, 0xe9, 0xfc, 0x4d, 0x90, 0x23, 0x62, 0xf9, 0x6b, 0x0b, 0xc6, 0x39, 0x42, 0x6c, 0x05,
- 0xf1, 0x2d, 0x9d, 0x87, 0x39, 0xf3, 0x8b, 0x32, 0xcd, 0x5a, 0xaf, 0x90, 0x9d, 0x35, 0xbf, 0xec,
- 0x44, 0x9b, 0xd9, 0x1f, 0x65, 0x4c, 0x56, 0x4f, 0xdb, 0xc9, 0xaa, 0xc9, 0x0d, 0x64, 0x24, 0x26,
- 0xec, 0x20, 0x00, 0x3e, 0x68, 0x62, 0x42, 0xfb, 0xcf, 0x2c, 0x40, 0xbc, 0x19, 0x83, 0x71, 0xa3,
- 0xec, 0x10, 0x2b, 0xd5, 0x2e, 0xba, 0xf8, 0x68, 0x52, 0x10, 0xac, 0x61, 0xdd, 0x97, 0xe1, 0x49,
- 0x98, 0xb2, 0x14, 0x3b, 0x9b, 0xb2, 0x1c, 0x60, 0x44, 0xbf, 0xdc, 0x0f, 0x49, 0x9f, 0x49, 0x74,
- 0x03, 0x86, 0xab, 0x4e, 0xd3, 0xb9, 0xe5, 0xd6, 0xdd, 0xc8, 0x25, 0x61, 0x3b, 0x3b, 0xb7, 0x79,
- 0x0d, 0x4f, 0x18, 0x1f, 0x68, 0x25, 0xd8, 0xa0, 0x83, 0x66, 0x00, 0x9a, 0x81, 0xbb, 0xed, 0xd6,
- 0xc9, 0x06, 0x13, 0x08, 0xb1, 0xf8, 0x3e, 0xdc, 0xe8, 0x4e, 0x96, 0x62, 0x0d, 0x23, 0x23, 0xf4,
- 0x46, 0xf1, 0x01, 0x87, 0xde, 0x80, 0x43, 0x0b, 0xbd, 0xd1, 0x73, 0xa0, 0xd0, 0x1b, 0x03, 0x07,
- 0x0e, 0xbd, 0xd1, 0xdb, 0x55, 0xe8, 0x0d, 0x0c, 0xc7, 0x24, 0xef, 0x49, 0xff, 0x2f, 0xb9, 0x75,
- 0x22, 0x1e, 0x1c, 0x3c, 0x28, 0xd1, 0xf4, 0xde, 0x6e, 0xe9, 0x18, 0xce, 0xc4, 0xc0, 0x39, 0x35,
- 0xd1, 0x47, 0x61, 0xca, 0xa9, 0xd7, 0xfd, 0xdb, 0x6a, 0x52, 0x17, 0xc3, 0xaa, 0x53, 0xe7, 0xca,
- 0xa5, 0x7e, 0x46, 0xf5, 0xe4, 0xde, 0x6e, 0x69, 0x6a, 0x36, 0x07, 0x07, 0xe7, 0xd6, 0x46, 0xaf,
- 0xc0, 0x60, 0x33, 0xf0, 0xab, 0x2b, 0x9a, 0x63, 0xf7, 0x69, 0x3a, 0x80, 0x65, 0x59, 0xb8, 0xbf,
- 0x5b, 0x1a, 0x51, 0x7f, 0xd8, 0x85, 0x1f, 0x57, 0xc8, 0x88, 0x6a, 0x31, 0xf4, 0xa0, 0xa3, 0x5a,
- 0x0c, 0xdf, 0xef, 0xa8, 0x16, 0x5b, 0x30, 0x59, 0x21, 0x81, 0xeb, 0xd4, 0xdd, 0xbb, 0x94, 0x27,
- 0x97, 0x67, 0xe0, 0x1a, 0x0c, 0x06, 0x89, 0x53, 0xbf, 0xab, 0xe0, 0xdb, 0x9a, 0x5c, 0x46, 0x9e,
- 0xf2, 0x31, 0x21, 0xfb, 0x7f, 0x5b, 0xd0, 0x2f, 0xfc, 0x30, 0x0f, 0x81, 0x33, 0x9d, 0x35, 0x54,
- 0x32, 0xa5, 0xec, 0x49, 0x61, 0x9d, 0xc9, 0x55, 0xc6, 0x2c, 0x27, 0x94, 0x31, 0x0f, 0xb7, 0x23,
- 0xd2, 0x5e, 0x0d, 0xf3, 0x77, 0x8b, 0xf4, 0x85, 0x60, 0x44, 0x04, 0x78, 0xf0, 0x43, 0xb0, 0x0a,
- 0xfd, 0xa1, 0xf0, 0x48, 0x2f, 0xe4, 0xfb, 0xf2, 0x24, 0x27, 0x31, 0xb6, 0x81, 0x14, 0x3e, 0xe8,
- 0x92, 0x48, 0xa6, 0xab, 0x7b, 0xf1, 0x01, 0xba, 0xba, 0x77, 0x8a, 0x99, 0xd0, 0x73, 0x3f, 0x62,
- 0x26, 0xd8, 0x5f, 0x63, 0xb7, 0xb3, 0x5e, 0x7e, 0x08, 0x8c, 0xdb, 0x25, 0xf3, 0x1e, 0xb7, 0xdb,
- 0xac, 0x2c, 0xd1, 0xa9, 0x1c, 0x06, 0xee, 0x97, 0x2c, 0x38, 0x95, 0xf1, 0x55, 0x1a, 0x37, 0xf7,
- 0x34, 0x0c, 0x38, 0xad, 0x9a, 0xab, 0xf6, 0xb2, 0xa6, 0x2d, 0x9e, 0x15, 0xe5, 0x58, 0x61, 0xa0,
- 0x79, 0x98, 0x20, 0x77, 0x9a, 0x2e, 0x57, 0xc3, 0xeb, 0xa6, 0xe3, 0x45, 0xee, 0xbc, 0xbb, 0x98,
- 0x04, 0xe2, 0x34, 0xbe, 0x0a, 0x89, 0x56, 0xcc, 0x0d, 0x89, 0xf6, 0x0b, 0x16, 0x0c, 0x29, 0x9f,
- 0xec, 0x07, 0x3e, 0xda, 0xaf, 0x99, 0xa3, 0xfd, 0x50, 0x9b, 0xd1, 0xce, 0x19, 0xe6, 0x3f, 0x28,
- 0xa8, 0xfe, 0x96, 0xfd, 0x20, 0xea, 0x82, 0x4b, 0xbc, 0x77, 0xb7, 0x97, 0x0b, 0x30, 0xe4, 0x34,
- 0x9b, 0x12, 0x20, 0xed, 0x17, 0x59, 0x2a, 0x85, 0xb8, 0x18, 0xeb, 0x38, 0xca, 0x0b, 0xa7, 0x98,
- 0xeb, 0x85, 0x53, 0x03, 0x88, 0x9c, 0x60, 0x83, 0x44, 0xb4, 0x4c, 0x98, 0x5b, 0xe7, 0x9f, 0x37,
- 0xad, 0xc8, 0xad, 0xcf, 0xb8, 0x5e, 0x14, 0x46, 0xc1, 0xcc, 0xb2, 0x17, 0x5d, 0x0b, 0xf8, 0x33,
- 0x55, 0x0b, 0x2a, 0xa8, 0x68, 0x61, 0x8d, 0xae, 0x8c, 0x3f, 0xc2, 0xda, 0xe8, 0x35, 0x0d, 0x61,
- 0x56, 0x45, 0x39, 0x56, 0x18, 0xf6, 0x8b, 0xec, 0xf6, 0x61, 0x63, 0x7a, 0xb0, 0x80, 0x7a, 0x7f,
- 0x3e, 0xac, 0x66, 0x83, 0xa9, 0x84, 0x17, 0xf4, 0xb0, 0x7d, 0xed, 0x0f, 0x7b, 0xda, 0xb0, 0xee,
- 0xcf, 0x1a, 0xc7, 0xf6, 0x43, 0x1f, 0x4f, 0x19, 0x37, 0x3d, 0xd3, 0xe1, 0xd6, 0x38, 0x80, 0x39,
- 0x13, 0xcb, 0xab, 0xc6, 0xb2, 0x4e, 0x2d, 0x97, 0xc5, 0xbe, 0xd0, 0xf2, 0xaa, 0x09, 0x00, 0x8e,
- 0x71, 0x28, 0xc3, 0xa6, 0xfe, 0x84, 0x53, 0x28, 0x0e, 0xbf, 0xad, 0xb0, 0x43, 0xac, 0x61, 0xa0,
- 0xf3, 0x42, 0x68, 0xc1, 0x75, 0x0f, 0x0f, 0x25, 0x84, 0x16, 0x72, 0xb8, 0x34, 0x49, 0xd3, 0x05,
- 0x18, 0x22, 0x77, 0x22, 0x12, 0x78, 0x4e, 0x9d, 0xb6, 0xd0, 0x1b, 0x47, 0x8c, 0x5d, 0x8c, 0x8b,
- 0xb1, 0x8e, 0x83, 0xd6, 0x60, 0x2c, 0xe4, 0xb2, 0x3c, 0x95, 0xf4, 0x81, 0xcb, 0x44, 0x9f, 0x54,
- 0xde, 0xf0, 0x26, 0x78, 0x9f, 0x15, 0xf1, 0xd3, 0x49, 0xc6, 0x08, 0x49, 0x92, 0x40, 0xaf, 0xc2,
- 0x68, 0xdd, 0x77, 0x6a, 0x73, 0x4e, 0xdd, 0xf1, 0xaa, 0x6c, 0x7c, 0x06, 0xcc, 0xec, 0xfc, 0x57,
- 0x0d, 0x28, 0x4e, 0x60, 0x53, 0x06, 0x51, 0x2f, 0x11, 0x89, 0x4a, 0x1c, 0x6f, 0x83, 0x84, 0x53,
- 0x83, 0xec, 0xab, 0x18, 0x83, 0x78, 0x35, 0x07, 0x07, 0xe7, 0xd6, 0x46, 0x17, 0x61, 0x58, 0x7e,
- 0xbe, 0x16, 0x52, 0x27, 0x76, 0x68, 0xd2, 0x60, 0xd8, 0xc0, 0x44, 0x21, 0x1c, 0x95, 0xff, 0xd7,
- 0x02, 0x67, 0x7d, 0xdd, 0xad, 0x8a, 0x38, 0x13, 0xdc, 0xf9, 0xfb, 0x23, 0xd2, 0xd3, 0x74, 0x31,
- 0x0b, 0x69, 0x7f, 0xb7, 0x74, 0x52, 0x8c, 0x5a, 0x26, 0x1c, 0x67, 0xd3, 0x46, 0x2b, 0x30, 0xc9,
- 0x6d, 0x60, 0xe6, 0x37, 0x49, 0x75, 0x4b, 0x6e, 0x38, 0xc6, 0x35, 0x6a, 0x8e, 0x3f, 0x97, 0xd3,
- 0x28, 0x38, 0xab, 0x1e, 0x7a, 0x0b, 0xa6, 0x9a, 0xad, 0x5b, 0x75, 0x37, 0xdc, 0x5c, 0xf5, 0x23,
- 0x66, 0x42, 0x36, 0x5b, 0xab, 0x05, 0x24, 0xe4, 0xbe, 0xc1, 0xec, 0xea, 0x95, 0x61, 0x90, 0xca,
- 0x39, 0x78, 0x38, 0x97, 0x02, 0xba, 0x0b, 0x47, 0x13, 0x0b, 0x41, 0xc4, 0x33, 0x19, 0xcd, 0x4f,
- 0xf9, 0x54, 0xc9, 0xaa, 0x20, 0x42, 0x03, 0x65, 0x81, 0x70, 0x76, 0x13, 0xe8, 0x25, 0x00, 0xb7,
- 0xb9, 0xe4, 0x34, 0xdc, 0x3a, 0x7d, 0x8e, 0x4e, 0xb2, 0x35, 0x42, 0x9f, 0x26, 0xb0, 0x5c, 0x96,
- 0xa5, 0xf4, 0x6c, 0x16, 0xff, 0x76, 0xb0, 0x86, 0x8d, 0xae, 0xc2, 0xa8, 0xf8, 0xb7, 0x23, 0xa6,
- 0x74, 0x42, 0x65, 0x07, 0x1d, 0x95, 0x35, 0xd4, 0x3c, 0x26, 0x4a, 0x70, 0xa2, 0x2e, 0xda, 0x80,
- 0x53, 0x32, 0x35, 0xa9, 0xbe, 0x3e, 0xe5, 0x1c, 0x84, 0x2c, 0xcf, 0xd2, 0x00, 0xf7, 0x29, 0x9a,
- 0x6d, 0x87, 0x88, 0xdb, 0xd3, 0xa1, 0xf7, 0xba, 0xbe, 0xcc, 0xb9, 0xc7, 0xf8, 0xd1, 0x38, 0x12,
- 0xe6, 0xd5, 0x24, 0x10, 0xa7, 0xf1, 0x91, 0x0f, 0x47, 0x5d, 0x2f, 0x6b, 0x55, 0x1f, 0x63, 0x84,
- 0x3e, 0xcc, 0x9d, 0xe5, 0xdb, 0xaf, 0xe8, 0x4c, 0x38, 0xce, 0xa6, 0x8b, 0x96, 0x61, 0x32, 0xe2,
- 0x05, 0x0b, 0x6e, 0xc8, 0xd3, 0xb8, 0xd0, 0x67, 0xdf, 0x71, 0xd6, 0xdc, 0x71, 0xba, 0x9a, 0xd7,
- 0xd2, 0x60, 0x9c, 0x55, 0xe7, 0x9d, 0x19, 0x80, 0x7e, 0xdd, 0xa2, 0xb5, 0x35, 0x46, 0x1f, 0x7d,
- 0x0a, 0x86, 0xf5, 0xf1, 0x11, 0x4c, 0xcb, 0xd9, 0x6c, 0x3e, 0x58, 0x3b, 0x5e, 0xf8, 0x33, 0x41,
- 0x1d, 0x21, 0x3a, 0x0c, 0x1b, 0x14, 0x51, 0x35, 0x23, 0xc8, 0xc5, 0xf9, 0xee, 0x98, 0xa2, 0xee,
- 0xed, 0x1f, 0x09, 0x64, 0xef, 0x1c, 0x74, 0x15, 0x06, 0xaa, 0x75, 0x97, 0x78, 0xd1, 0x72, 0xb9,
- 0x5d, 0x80, 0xd2, 0x79, 0x81, 0x23, 0xb6, 0xa2, 0xc8, 0xbe, 0xc4, 0xcb, 0xb0, 0xa2, 0x60, 0x5f,
- 0x84, 0xa1, 0x4a, 0x9d, 0x90, 0x26, 0xf7, 0xe3, 0x42, 0x4f, 0xb0, 0x87, 0x09, 0x63, 0x2d, 0x2d,
- 0xc6, 0x5a, 0xea, 0x6f, 0x0e, 0xc6, 0x54, 0x4a, 0xb8, 0xfd, 0xdb, 0x05, 0x28, 0x75, 0x48, 0x02,
- 0x96, 0xd0, 0xb7, 0x59, 0x5d, 0xe9, 0xdb, 0x66, 0x61, 0x2c, 0xfe, 0xa7, 0x8b, 0xf2, 0x94, 0x31,
- 0xf4, 0x0d, 0x13, 0x8c, 0x93, 0xf8, 0x5d, 0xfb, 0xb5, 0xe8, 0x2a, 0xbb, 0x9e, 0x8e, 0x9e, 0x59,
- 0x86, 0xaa, 0xbe, 0xb7, 0xfb, 0xb7, 0x77, 0xae, 0xda, 0xd5, 0xfe, 0x5a, 0x01, 0x8e, 0xaa, 0x21,
- 0x7c, 0xef, 0x0e, 0xdc, 0xf5, 0xf4, 0xc0, 0xdd, 0x07, 0xa5, 0xb5, 0x7d, 0x0d, 0xfa, 0x78, 0xd4,
- 0xd4, 0x2e, 0x78, 0xfe, 0x47, 0xcc, 0xe0, 0xf4, 0x8a, 0xcd, 0x34, 0x02, 0xd4, 0xff, 0x80, 0x05,
- 0x63, 0x09, 0x07, 0x49, 0x84, 0x35, 0x2f, 0xfa, 0x7b, 0xe1, 0xcb, 0xb3, 0x38, 0xfe, 0x33, 0xd0,
- 0xb3, 0xe9, 0x2b, 0x23, 0x65, 0x85, 0x71, 0xd9, 0x0f, 0x23, 0xcc, 0x20, 0xf6, 0x1f, 0x59, 0xd0,
- 0xbb, 0xe6, 0xb8, 0x5e, 0x24, 0xb5, 0x1f, 0x56, 0x8e, 0xf6, 0xa3, 0x9b, 0xef, 0x42, 0x2f, 0x40,
- 0x1f, 0x59, 0x5f, 0x27, 0xd5, 0x48, 0xcc, 0xaa, 0x8c, 0xa6, 0xd1, 0xb7, 0xc8, 0x4a, 0x29, 0x13,
- 0xca, 0x1a, 0xe3, 0x7f, 0xb1, 0x40, 0x46, 0x37, 0x61, 0x30, 0x72, 0x1b, 0x64, 0xb6, 0x56, 0x13,
- 0x36, 0x01, 0xf7, 0x10, 0x02, 0x66, 0x4d, 0x12, 0xc0, 0x31, 0x2d, 0xfb, 0x8b, 0x05, 0x80, 0x38,
- 0x14, 0x5c, 0xa7, 0x4f, 0x9c, 0x4b, 0x69, 0x8b, 0xcf, 0x66, 0x68, 0x8b, 0x51, 0x4c, 0x30, 0x43,
- 0x55, 0xac, 0x86, 0xa9, 0xd8, 0xd5, 0x30, 0xf5, 0x1c, 0x64, 0x98, 0xe6, 0x61, 0x22, 0x0e, 0x65,
- 0x67, 0x46, 0xf2, 0x64, 0xf7, 0xf7, 0x5a, 0x12, 0x88, 0xd3, 0xf8, 0x36, 0x81, 0x33, 0x2a, 0xa2,
- 0x97, 0xb8, 0x0b, 0x99, 0x2b, 0x81, 0xae, 0x7d, 0xef, 0x30, 0x4e, 0xb1, 0x3a, 0xbc, 0x90, 0xab,
- 0x0e, 0xff, 0x29, 0x0b, 0x8e, 0x24, 0xdb, 0x61, 0x7e, 0xf7, 0x9f, 0xb7, 0xe0, 0x68, 0x9c, 0x03,
- 0x27, 0x6d, 0x82, 0xf0, 0x7c, 0xdb, 0x28, 0x65, 0x39, 0x3d, 0x8e, 0xc3, 0xb6, 0xac, 0x64, 0x91,
- 0xc6, 0xd9, 0x2d, 0xda, 0xff, 0xab, 0x07, 0xa6, 0xf2, 0xc2, 0x9b, 0x31, 0x4f, 0x23, 0xe7, 0x4e,
- 0x65, 0x8b, 0xdc, 0x16, 0xfe, 0x1c, 0xb1, 0xa7, 0x11, 0x2f, 0xc6, 0x12, 0x9e, 0x4c, 0x7b, 0x54,
- 0xe8, 0x32, 0xed, 0xd1, 0x26, 0x4c, 0xdc, 0xde, 0x24, 0xde, 0x75, 0x2f, 0x74, 0x22, 0x37, 0x5c,
- 0x77, 0x99, 0x02, 0x9d, 0xaf, 0x1b, 0x99, 0xba, 0x7f, 0xe2, 0x66, 0x12, 0x61, 0x7f, 0xb7, 0x74,
- 0xca, 0x28, 0x88, 0xbb, 0xcc, 0x0f, 0x12, 0x9c, 0x26, 0x9a, 0xce, 0x1a, 0xd5, 0xf3, 0x80, 0xb3,
- 0x46, 0x35, 0x5c, 0x61, 0x76, 0x23, 0xdd, 0x48, 0xd8, 0xb3, 0x75, 0x45, 0x95, 0x62, 0x0d, 0x03,
- 0x7d, 0x02, 0x90, 0x9e, 0xf6, 0xcf, 0x88, 0x2e, 0xfb, 0xcc, 0xde, 0x6e, 0x09, 0xad, 0xa6, 0xa0,
- 0xfb, 0xbb, 0xa5, 0x49, 0x5a, 0xba, 0xec, 0xd1, 0xe7, 0x6f, 0x1c, 0x92, 0x2f, 0x83, 0x10, 0xba,
- 0x09, 0xe3, 0xb4, 0x94, 0xed, 0x28, 0x19, 0xba, 0x96, 0x3f, 0x59, 0x9f, 0xda, 0xdb, 0x2d, 0x8d,
- 0xaf, 0x26, 0x60, 0x79, 0xa4, 0x53, 0x44, 0x32, 0x92, 0x47, 0x0d, 0x74, 0x9b, 0x3c, 0xca, 0xfe,
- 0xbc, 0x05, 0x27, 0xe8, 0x05, 0x57, 0xbb, 0x9a, 0xa3, 0x45, 0x77, 0x9a, 0x2e, 0xd7, 0xd3, 0x88,
- 0xab, 0x86, 0xc9, 0xea, 0xca, 0xcb, 0x5c, 0x4b, 0xa3, 0xa0, 0xf4, 0x84, 0xdf, 0x72, 0xbd, 0x5a,
- 0xf2, 0x84, 0xbf, 0xe2, 0x7a, 0x35, 0xcc, 0x20, 0xea, 0xca, 0x2a, 0xe6, 0x46, 0xa9, 0xff, 0x0a,
- 0xdd, 0xab, 0xb4, 0x2f, 0xdf, 0xd2, 0x6e, 0xa0, 0xa7, 0x74, 0x9d, 0xaa, 0x30, 0x9f, 0xcc, 0xd5,
- 0xa7, 0x7e, 0xce, 0x02, 0xe1, 0xfd, 0xde, 0xc5, 0x9d, 0xfc, 0x26, 0x0c, 0x6f, 0xa7, 0x53, 0xa2,
- 0x9e, 0xc9, 0x0f, 0x07, 0x20, 0x12, 0xa1, 0x2a, 0x16, 0xdd, 0x48, 0x7f, 0x6a, 0xd0, 0xb2, 0x6b,
- 0x20, 0xa0, 0x0b, 0x84, 0x69, 0x35, 0x3a, 0xf7, 0xe6, 0x59, 0x80, 0x1a, 0xc3, 0x65, 0x79, 0xd2,
- 0x0b, 0x26, 0xc7, 0xb5, 0xa0, 0x20, 0x58, 0xc3, 0xb2, 0x7f, 0xae, 0x08, 0x43, 0x32, 0x05, 0x67,
- 0xcb, 0xeb, 0x46, 0xf6, 0x78, 0xa0, 0x9c, 0xfc, 0xe8, 0x2d, 0x98, 0x08, 0x48, 0xb5, 0x15, 0x84,
- 0xee, 0x36, 0x91, 0x60, 0xb1, 0x49, 0x66, 0x78, 0x92, 0x84, 0x04, 0x70, 0x9f, 0x85, 0xc8, 0x4a,
- 0x14, 0x32, 0xa5, 0x71, 0x9a, 0x10, 0x3a, 0x0f, 0x83, 0x4c, 0xf4, 0x5e, 0x8e, 0x05, 0xc2, 0x4a,
- 0xf0, 0xb5, 0x22, 0x01, 0x38, 0xc6, 0x61, 0x8f, 0x83, 0xd6, 0x2d, 0x86, 0x9e, 0xf0, 0x04, 0xaf,
- 0xf0, 0x62, 0x2c, 0xe1, 0xe8, 0xa3, 0x30, 0xce, 0xeb, 0x05, 0x7e, 0xd3, 0xd9, 0xe0, 0x2a, 0xc1,
- 0x5e, 0x15, 0x5e, 0x67, 0x7c, 0x25, 0x01, 0xdb, 0xdf, 0x2d, 0x1d, 0x49, 0x96, 0xb1, 0x6e, 0xa7,
- 0xa8, 0x30, 0xcb, 0x3f, 0xde, 0x08, 0xbd, 0x33, 0x52, 0x06, 0x83, 0x31, 0x08, 0xeb, 0x78, 0xf6,
- 0x5f, 0x59, 0x30, 0xa1, 0x4d, 0x55, 0xd7, 0x79, 0x2a, 0x8c, 0x41, 0x2a, 0x74, 0x31, 0x48, 0x07,
- 0x8b, 0xf6, 0x90, 0x39, 0xc3, 0x3d, 0xf7, 0x69, 0x86, 0xed, 0x4f, 0x01, 0x4a, 0xe7, 0x77, 0x45,
- 0xaf, 0x73, 0x43, 0x7e, 0x37, 0x20, 0xb5, 0x76, 0x0a, 0x7f, 0x3d, 0x72, 0x8e, 0xf4, 0x5c, 0xe5,
- 0xb5, 0xb0, 0xaa, 0x6f, 0xff, 0x60, 0x0f, 0x8c, 0x27, 0x63, 0x75, 0xa0, 0xcb, 0xd0, 0xc7, 0xb9,
- 0x74, 0x41, 0xbe, 0x8d, 0x3d, 0x99, 0x16, 0xe1, 0x83, 0xf1, 0x2b, 0x82, 0xd1, 0x17, 0xf5, 0xd1,
- 0x5b, 0x30, 0x54, 0xf3, 0x6f, 0x7b, 0xb7, 0x9d, 0xa0, 0x36, 0x5b, 0x5e, 0x16, 0x27, 0x44, 0xa6,
- 0x00, 0x6a, 0x21, 0x46, 0xd3, 0xa3, 0x86, 0x30, 0xdb, 0x89, 0x18, 0x84, 0x75, 0x72, 0x68, 0x8d,
- 0xa5, 0x2c, 0x5a, 0x77, 0x37, 0x56, 0x9c, 0x66, 0x3b, 0xaf, 0xae, 0x79, 0x89, 0xa4, 0x51, 0x1e,
- 0x11, 0x79, 0x8d, 0x38, 0x00, 0xc7, 0x84, 0xd0, 0x67, 0x60, 0x32, 0xcc, 0x51, 0x89, 0xe5, 0xa5,
- 0xfb, 0x6e, 0xa7, 0x25, 0xe2, 0xc2, 0x94, 0x2c, 0xe5, 0x59, 0x56, 0x33, 0xe8, 0x0e, 0x20, 0x21,
- 0x7a, 0x5e, 0x0b, 0x5a, 0x61, 0x34, 0xd7, 0xf2, 0x6a, 0x75, 0x99, 0xd2, 0xe8, 0x83, 0xd9, 0x72,
- 0x82, 0x24, 0xb6, 0xd6, 0x36, 0x8b, 0xdd, 0x9b, 0xc6, 0xc0, 0x19, 0x6d, 0xd8, 0x9f, 0xeb, 0x81,
- 0x69, 0x99, 0x50, 0x39, 0xc3, 0x7b, 0xe5, 0xb3, 0x56, 0xc2, 0x7d, 0xe5, 0xa5, 0xfc, 0x83, 0xfe,
- 0x81, 0x39, 0xb1, 0x7c, 0x21, 0xed, 0xc4, 0xf2, 0xca, 0x01, 0xbb, 0x71, 0xdf, 0x5c, 0x59, 0xde,
- 0xb3, 0xfe, 0x27, 0x7b, 0x47, 0xc0, 0xb8, 0x9a, 0x11, 0xe6, 0x81, 0xd1, 0xcb, 0x52, 0x75, 0x94,
- 0xf3, 0xfc, 0xbf, 0x2c, 0x70, 0x8c, 0xcb, 0x7e, 0x58, 0x86, 0x4f, 0x67, 0xe7, 0xac, 0xa2, 0x43,
- 0x69, 0x92, 0x46, 0x33, 0xda, 0x59, 0x70, 0x03, 0xd1, 0xe3, 0x4c, 0x9a, 0x8b, 0x02, 0x27, 0x4d,
- 0x53, 0x42, 0xb0, 0xa2, 0x83, 0xb6, 0x61, 0x62, 0x83, 0x45, 0x7c, 0xd2, 0x72, 0x1b, 0x8b, 0x73,
- 0x21, 0x73, 0xdf, 0x5e, 0x9a, 0x5f, 0xcc, 0x4f, 0x84, 0xcc, 0x1f, 0x7f, 0x29, 0x14, 0x9c, 0x6e,
- 0x82, 0x6e, 0x8d, 0x23, 0xce, 0xed, 0x70, 0xb1, 0xee, 0x84, 0x91, 0x5b, 0x9d, 0xab, 0xfb, 0xd5,
- 0xad, 0x4a, 0xe4, 0x07, 0x32, 0x01, 0x62, 0xe6, 0xdb, 0x6b, 0xf6, 0x66, 0x25, 0x85, 0x6f, 0x34,
- 0x3f, 0xb5, 0xb7, 0x5b, 0x3a, 0x92, 0x85, 0x85, 0x33, 0xdb, 0x42, 0xab, 0xd0, 0xbf, 0xe1, 0x46,
- 0x98, 0x34, 0x7d, 0x71, 0x5a, 0x64, 0x1e, 0x85, 0x97, 0x38, 0x8a, 0xd1, 0x12, 0x8b, 0x48, 0x25,
- 0x00, 0x58, 0x12, 0x41, 0xaf, 0xab, 0x4b, 0xa0, 0x2f, 0x5f, 0x00, 0x9b, 0xb6, 0xbd, 0xcb, 0xbc,
- 0x06, 0x5e, 0x85, 0xa2, 0xb7, 0x1e, 0xb6, 0x8b, 0xc5, 0xb3, 0xba, 0x64, 0xc8, 0xcf, 0xe6, 0xfa,
- 0xe9, 0xd3, 0x78, 0x75, 0xa9, 0x82, 0x69, 0x45, 0xe6, 0xf6, 0x1a, 0x56, 0x43, 0x57, 0x24, 0x5c,
- 0xca, 0xf4, 0x02, 0x5e, 0xae, 0xcc, 0x57, 0x96, 0x0d, 0x1a, 0x2c, 0xaa, 0x21, 0x2b, 0xc6, 0xbc,
- 0x3a, 0xba, 0x01, 0x83, 0x1b, 0xfc, 0xe0, 0x5b, 0x0f, 0x45, 0x52, 0xf5, 0xcc, 0xcb, 0xe8, 0x92,
- 0x44, 0x32, 0xe8, 0xb1, 0x2b, 0x43, 0x81, 0x70, 0x4c, 0x0a, 0x7d, 0xce, 0x82, 0xa3, 0xc9, 0xac,
- 0xf4, 0xcc, 0x59, 0x4d, 0x98, 0xa9, 0x65, 0x3a, 0x00, 0x94, 0xb3, 0x2a, 0x18, 0x0d, 0x32, 0xf5,
- 0x4b, 0x26, 0x1a, 0xce, 0x6e, 0x8e, 0x0e, 0x74, 0x70, 0xab, 0xd6, 0x2e, 0x47, 0x4f, 0x22, 0x30,
- 0x11, 0x1f, 0x68, 0x3c, 0xb7, 0x80, 0x69, 0x45, 0xb4, 0x06, 0xb0, 0x5e, 0x27, 0x22, 0xe2, 0xa3,
- 0x30, 0x8a, 0xca, 0xbc, 0xfd, 0x97, 0x14, 0x96, 0xa0, 0xc3, 0x5e, 0xa2, 0x71, 0x29, 0xd6, 0xe8,
- 0xd0, 0xa5, 0x54, 0x75, 0xbd, 0x1a, 0x09, 0x98, 0x72, 0x2b, 0x67, 0x29, 0xcd, 0x33, 0x8c, 0xf4,
- 0x52, 0xe2, 0xe5, 0x58, 0x50, 0x60, 0xb4, 0x48, 0x73, 0x73, 0x3d, 0x6c, 0x97, 0x72, 0x62, 0x9e,
- 0x34, 0x37, 0x13, 0x0b, 0x8a, 0xd3, 0x62, 0xe5, 0x58, 0x50, 0xa0, 0x5b, 0x66, 0x9d, 0x6e, 0x20,
- 0x12, 0x4c, 0x8d, 0xe5, 0x6f, 0x99, 0x25, 0x8e, 0x92, 0xde, 0x32, 0x02, 0x80, 0x25, 0x11, 0xf4,
- 0x49, 0x93, 0xdb, 0x19, 0x67, 0x34, 0x9f, 0xea, 0xc0, 0xed, 0x18, 0x74, 0xdb, 0xf3, 0x3b, 0x2f,
- 0x41, 0x61, 0xbd, 0xca, 0x94, 0x62, 0x39, 0x3a, 0x83, 0xa5, 0x79, 0x83, 0x1a, 0x0b, 0xe1, 0xbe,
- 0x34, 0x8f, 0x0b, 0xeb, 0x55, 0xba, 0xf4, 0x9d, 0xbb, 0xad, 0x80, 0x2c, 0xb9, 0x75, 0x22, 0xd2,
- 0x4f, 0x64, 0x2e, 0xfd, 0x59, 0x89, 0x94, 0x5e, 0xfa, 0x0a, 0x84, 0x63, 0x52, 0x94, 0x6e, 0xcc,
- 0x83, 0x4d, 0xe6, 0xd3, 0x55, 0xac, 0x56, 0x9a, 0x6e, 0x26, 0x17, 0xb6, 0x05, 0x23, 0xdb, 0x61,
- 0x73, 0x93, 0xc8, 0x53, 0x91, 0xa9, 0xeb, 0x72, 0x22, 0x55, 0xdc, 0x10, 0x88, 0x6e, 0x10, 0xb5,
- 0x9c, 0x7a, 0xea, 0x20, 0x67, 0xa2, 0x95, 0x1b, 0x3a, 0x31, 0x6c, 0xd2, 0xa6, 0x0b, 0xe1, 0x6d,
- 0x1e, 0x4e, 0x8e, 0x29, 0xee, 0x72, 0x16, 0x42, 0x46, 0xc4, 0x39, 0xbe, 0x10, 0x04, 0x00, 0x4b,
- 0x22, 0x6a, 0xb0, 0xd9, 0x05, 0x74, 0xac, 0xc3, 0x60, 0xa7, 0xfa, 0x1b, 0x0f, 0x36, 0xbb, 0x70,
- 0x62, 0x52, 0xec, 0xa2, 0x69, 0x66, 0x24, 0xf0, 0x67, 0x6a, 0xbb, 0x9c, 0x8b, 0xa6, 0x53, 0xc2,
- 0x7f, 0x7e, 0xd1, 0x64, 0x61, 0xe1, 0xcc, 0xb6, 0xe8, 0xc7, 0x35, 0x65, 0x64, 0x40, 0x91, 0x22,
- 0xe3, 0x89, 0x9c, 0xc0, 0x9a, 0xe9, 0xf0, 0x81, 0xfc, 0xe3, 0x14, 0x08, 0xc7, 0xa4, 0x50, 0x0d,
- 0x46, 0x9b, 0x46, 0xc4, 0x59, 0x96, 0xea, 0x23, 0x87, 0x2f, 0xc8, 0x8a, 0x4d, 0xcb, 0x25, 0x44,
- 0x26, 0x04, 0x27, 0x68, 0x32, 0xcb, 0x3d, 0xee, 0xea, 0xc7, 0x32, 0x81, 0xe4, 0x4c, 0x75, 0x86,
- 0x37, 0x20, 0x9f, 0x6a, 0x01, 0xc0, 0x92, 0x08, 0x1d, 0x0d, 0xe1, 0xa0, 0xe6, 0x87, 0x2c, 0xa1,
- 0x4e, 0x9e, 0x82, 0x3d, 0x4b, 0x4d, 0x24, 0xc3, 0xac, 0x0b, 0x10, 0x8e, 0x49, 0xd1, 0x93, 0x9c,
- 0x5e, 0x78, 0x27, 0xf3, 0x4f, 0xf2, 0xe4, 0x75, 0xc7, 0x4e, 0x72, 0x7a, 0xd9, 0x15, 0xc5, 0x55,
- 0xa7, 0xa2, 0x82, 0xb3, 0x64, 0x20, 0x39, 0xfd, 0x52, 0x61, 0xc5, 0xd3, 0xfd, 0x52, 0x20, 0x1c,
- 0x93, 0x62, 0x57, 0x31, 0x0b, 0x4d, 0x77, 0xba, 0xcd, 0x55, 0x4c, 0x11, 0x32, 0xae, 0x62, 0x2d,
- 0x74, 0x9d, 0xfd, 0x83, 0x05, 0x38, 0xdd, 0x7e, 0xdf, 0xc6, 0x3a, 0xb4, 0x72, 0x6c, 0xb3, 0x94,
- 0xd0, 0xa1, 0x71, 0x89, 0x4e, 0x8c, 0xd5, 0x75, 0xc0, 0xe1, 0x4b, 0x30, 0xa1, 0xdc, 0x11, 0xeb,
- 0x6e, 0x75, 0x47, 0x4b, 0xce, 0xa9, 0x42, 0xf3, 0x54, 0x92, 0x08, 0x38, 0x5d, 0x07, 0xcd, 0xc2,
- 0x98, 0x51, 0xb8, 0xbc, 0x20, 0x9e, 0xff, 0x71, 0x1a, 0x0b, 0x13, 0x8c, 0x93, 0xf8, 0xf6, 0xcf,
- 0x5b, 0x70, 0x3c, 0x27, 0x0f, 0x7b, 0xd7, 0xf1, 0x74, 0xd7, 0x61, 0xac, 0x69, 0x56, 0xed, 0x10,
- 0x02, 0xdc, 0xc8, 0xf6, 0xae, 0xfa, 0x9a, 0x00, 0xe0, 0x24, 0x51, 0xfb, 0x67, 0x0b, 0x70, 0xaa,
- 0xad, 0x7d, 0x3d, 0xc2, 0x70, 0x6c, 0xa3, 0x11, 0x3a, 0xf3, 0x01, 0xa9, 0x11, 0x2f, 0x72, 0x9d,
- 0x7a, 0xa5, 0x49, 0xaa, 0x9a, 0x16, 0x94, 0x19, 0xaa, 0x5f, 0x5a, 0xa9, 0xcc, 0xa6, 0x31, 0x70,
- 0x4e, 0x4d, 0xb4, 0x04, 0x28, 0x0d, 0x11, 0x33, 0xcc, 0x9e, 0xb8, 0x69, 0x7a, 0x38, 0xa3, 0x06,
- 0x7a, 0x11, 0x46, 0x94, 0xdd, 0xbe, 0x36, 0xe3, 0xec, 0x82, 0xc0, 0x3a, 0x00, 0x9b, 0x78, 0xe8,
- 0x02, 0xcf, 0x6f, 0x24, 0x32, 0x61, 0x09, 0x95, 0xe9, 0x98, 0x4c, 0x5e, 0x24, 0x8a, 0xb1, 0x8e,
- 0x33, 0x77, 0xf1, 0x77, 0xbe, 0x79, 0xfa, 0x03, 0xbf, 0xff, 0xcd, 0xd3, 0x1f, 0xf8, 0xc3, 0x6f,
- 0x9e, 0xfe, 0xc0, 0xf7, 0xec, 0x9d, 0xb6, 0x7e, 0x67, 0xef, 0xb4, 0xf5, 0xfb, 0x7b, 0xa7, 0xad,
- 0x3f, 0xdc, 0x3b, 0x6d, 0xfd, 0xd7, 0xbd, 0xd3, 0xd6, 0x17, 0xff, 0xe4, 0xf4, 0x07, 0xde, 0x44,
- 0x71, 0x84, 0xea, 0xf3, 0x74, 0x76, 0xce, 0x6f, 0x5f, 0xf8, 0x7f, 0x01, 0x00, 0x00, 0xff, 0xff,
- 0x67, 0xd5, 0x38, 0x2d, 0xc3, 0x23, 0x01, 0x00,
+ // 16114 bytes of a gzipped FileDescriptorProto
+ 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0xbd, 0x69, 0x90, 0x64, 0xd9,
+ 0x59, 0x28, 0xa6, 0x9b, 0x59, 0xeb, 0x57, 0xfb, 0xa9, 0x5e, 0xaa, 0x6b, 0xba, 0x3b, 0x7b, 0xee,
+ 0xcc, 0xf4, 0xf4, 0x6c, 0xd5, 0xea, 0x59, 0x34, 0xad, 0x99, 0xd1, 0x30, 0xb5, 0x76, 0xd7, 0x74,
+ 0x57, 0x75, 0xce, 0xc9, 0xaa, 0x6e, 0x69, 0x34, 0x12, 0xba, 0x9d, 0x79, 0xaa, 0xea, 0xaa, 0x32,
+ 0xef, 0xcd, 0xb9, 0xf7, 0x66, 0x75, 0x57, 0x5b, 0x04, 0x20, 0x8c, 0x40, 0x02, 0x47, 0x28, 0x08,
+ 0x6c, 0x1c, 0x82, 0xe0, 0x07, 0x60, 0x16, 0xcb, 0x60, 0x64, 0x61, 0xc0, 0x88, 0xcd, 0x36, 0x8e,
+ 0x00, 0xff, 0xc0, 0x98, 0x08, 0x4b, 0x84, 0x09, 0x17, 0x56, 0xe1, 0x08, 0x82, 0x1f, 0x06, 0x82,
+ 0xf7, 0x7e, 0xbc, 0x57, 0xc1, 0x7b, 0xbc, 0x38, 0xeb, 0x3d, 0xe7, 0x2e, 0x99, 0x59, 0x3d, 0xdd,
+ 0xa5, 0x91, 0x62, 0xfe, 0x65, 0x9e, 0xef, 0x3b, 0xdf, 0x39, 0xf7, 0xac, 0xdf, 0xf9, 0x56, 0xb0,
+ 0xb7, 0x2f, 0x87, 0x33, 0xae, 0x7f, 0xd1, 0x69, 0xba, 0x17, 0xab, 0x7e, 0x40, 0x2e, 0xee, 0x5c,
+ 0xba, 0xb8, 0x49, 0x3c, 0x12, 0x38, 0x11, 0xa9, 0xcd, 0x34, 0x03, 0x3f, 0xf2, 0x11, 0xe2, 0x38,
+ 0x33, 0x4e, 0xd3, 0x9d, 0xa1, 0x38, 0x33, 0x3b, 0x97, 0xa6, 0x9f, 0xdb, 0x74, 0xa3, 0xad, 0xd6,
+ 0xed, 0x99, 0xaa, 0xdf, 0xb8, 0xb8, 0xe9, 0x6f, 0xfa, 0x17, 0x19, 0xea, 0xed, 0xd6, 0x06, 0xfb,
+ 0xc7, 0xfe, 0xb0, 0x5f, 0x9c, 0xc4, 0xf4, 0x8b, 0x71, 0x33, 0x0d, 0xa7, 0xba, 0xe5, 0x7a, 0x24,
+ 0xd8, 0xbd, 0xd8, 0xdc, 0xde, 0x64, 0xed, 0x06, 0x24, 0xf4, 0x5b, 0x41, 0x95, 0x24, 0x1b, 0x6e,
+ 0x5b, 0x2b, 0xbc, 0xd8, 0x20, 0x91, 0x93, 0xd1, 0xdd, 0xe9, 0x8b, 0x79, 0xb5, 0x82, 0x96, 0x17,
+ 0xb9, 0x8d, 0x74, 0x33, 0x1f, 0xe9, 0x54, 0x21, 0xac, 0x6e, 0x91, 0x86, 0x93, 0xaa, 0xf7, 0x42,
+ 0x5e, 0xbd, 0x56, 0xe4, 0xd6, 0x2f, 0xba, 0x5e, 0x14, 0x46, 0x41, 0xb2, 0x92, 0xfd, 0x2d, 0x0b,
+ 0xce, 0xcd, 0xde, 0xaa, 0x2c, 0xd6, 0x9d, 0x30, 0x72, 0xab, 0x73, 0x75, 0xbf, 0xba, 0x5d, 0x89,
+ 0xfc, 0x80, 0xdc, 0xf4, 0xeb, 0xad, 0x06, 0xa9, 0xb0, 0x81, 0x40, 0xcf, 0xc2, 0xc0, 0x0e, 0xfb,
+ 0xbf, 0xbc, 0x30, 0x65, 0x9d, 0xb3, 0x2e, 0x0c, 0xce, 0x8d, 0xff, 0xe9, 0x5e, 0xe9, 0x43, 0xfb,
+ 0x7b, 0xa5, 0x81, 0x9b, 0xa2, 0x1c, 0x2b, 0x0c, 0x74, 0x1e, 0xfa, 0x36, 0xc2, 0xb5, 0xdd, 0x26,
+ 0x99, 0x2a, 0x30, 0xdc, 0x51, 0x81, 0xdb, 0xb7, 0x54, 0xa1, 0xa5, 0x58, 0x40, 0xd1, 0x45, 0x18,
+ 0x6c, 0x3a, 0x41, 0xe4, 0x46, 0xae, 0xef, 0x4d, 0x15, 0xcf, 0x59, 0x17, 0x7a, 0xe7, 0x26, 0x04,
+ 0xea, 0x60, 0x59, 0x02, 0x70, 0x8c, 0x43, 0xbb, 0x11, 0x10, 0xa7, 0x76, 0xc3, 0xab, 0xef, 0x4e,
+ 0xf5, 0x9c, 0xb3, 0x2e, 0x0c, 0xc4, 0xdd, 0xc0, 0xa2, 0x1c, 0x2b, 0x0c, 0xfb, 0x2b, 0x05, 0x18,
+ 0x98, 0xdd, 0xd8, 0x70, 0x3d, 0x37, 0xda, 0x45, 0x37, 0x61, 0xd8, 0xf3, 0x6b, 0x44, 0xfe, 0x67,
+ 0x5f, 0x31, 0xf4, 0xfc, 0xb9, 0x99, 0xf4, 0x52, 0x9a, 0x59, 0xd5, 0xf0, 0xe6, 0xc6, 0xf7, 0xf7,
+ 0x4a, 0xc3, 0x7a, 0x09, 0x36, 0xe8, 0x20, 0x0c, 0x43, 0x4d, 0xbf, 0xa6, 0xc8, 0x16, 0x18, 0xd9,
+ 0x52, 0x16, 0xd9, 0x72, 0x8c, 0x36, 0x37, 0xb6, 0xbf, 0x57, 0x1a, 0xd2, 0x0a, 0xb0, 0x4e, 0x04,
+ 0xdd, 0x86, 0x31, 0xfa, 0xd7, 0x8b, 0x5c, 0x45, 0xb7, 0xc8, 0xe8, 0x3e, 0x96, 0x47, 0x57, 0x43,
+ 0x9d, 0x9b, 0xdc, 0xdf, 0x2b, 0x8d, 0x25, 0x0a, 0x71, 0x92, 0xa0, 0xfd, 0x93, 0x16, 0x8c, 0xcd,
+ 0x36, 0x9b, 0xb3, 0x41, 0xc3, 0x0f, 0xca, 0x81, 0xbf, 0xe1, 0xd6, 0x09, 0x7a, 0x19, 0x7a, 0x22,
+ 0x3a, 0x6b, 0x7c, 0x86, 0x1f, 0x13, 0x43, 0xdb, 0x43, 0xe7, 0xea, 0x60, 0xaf, 0x34, 0x99, 0x40,
+ 0x67, 0x53, 0xc9, 0x2a, 0xa0, 0x37, 0x60, 0xbc, 0xee, 0x57, 0x9d, 0xfa, 0x96, 0x1f, 0x46, 0x02,
+ 0x2a, 0xa6, 0xfe, 0xd8, 0xfe, 0x5e, 0x69, 0xfc, 0x7a, 0x02, 0x86, 0x53, 0xd8, 0xf6, 0x3d, 0x18,
+ 0x9d, 0x8d, 0x22, 0xa7, 0xba, 0x45, 0x6a, 0x7c, 0x41, 0xa1, 0x17, 0xa1, 0xc7, 0x73, 0x1a, 0xb2,
+ 0x33, 0xe7, 0x64, 0x67, 0x56, 0x9d, 0x06, 0xed, 0xcc, 0xf8, 0xba, 0xe7, 0xbe, 0xdb, 0x12, 0x8b,
+ 0x94, 0x96, 0x61, 0x86, 0x8d, 0x9e, 0x07, 0xa8, 0x91, 0x1d, 0xb7, 0x4a, 0xca, 0x4e, 0xb4, 0x25,
+ 0xfa, 0x80, 0x44, 0x5d, 0x58, 0x50, 0x10, 0xac, 0x61, 0xd9, 0x77, 0x61, 0x70, 0x76, 0xc7, 0x77,
+ 0x6b, 0x65, 0xbf, 0x16, 0xa2, 0x6d, 0x18, 0x6b, 0x06, 0x64, 0x83, 0x04, 0xaa, 0x68, 0xca, 0x3a,
+ 0x57, 0xbc, 0x30, 0xf4, 0xfc, 0x85, 0xcc, 0xb1, 0x37, 0x51, 0x17, 0xbd, 0x28, 0xd8, 0x9d, 0x3b,
+ 0x29, 0xda, 0x1b, 0x4b, 0x40, 0x71, 0x92, 0xb2, 0xfd, 0x27, 0x05, 0x38, 0x3e, 0x7b, 0xaf, 0x15,
+ 0x90, 0x05, 0x37, 0xdc, 0x4e, 0x6e, 0xb8, 0x9a, 0x1b, 0x6e, 0xaf, 0xc6, 0x23, 0xa0, 0x56, 0xfa,
+ 0x82, 0x28, 0xc7, 0x0a, 0x03, 0x3d, 0x07, 0xfd, 0xf4, 0xf7, 0x3a, 0x5e, 0x16, 0x9f, 0x3c, 0x29,
+ 0x90, 0x87, 0x16, 0x9c, 0xc8, 0x59, 0xe0, 0x20, 0x2c, 0x71, 0xd0, 0x0a, 0x0c, 0x55, 0xd9, 0xf9,
+ 0xb0, 0xb9, 0xe2, 0xd7, 0x08, 0x5b, 0x5b, 0x83, 0x73, 0xcf, 0x50, 0xf4, 0xf9, 0xb8, 0xf8, 0x60,
+ 0xaf, 0x34, 0xc5, 0xfb, 0x26, 0x48, 0x68, 0x30, 0xac, 0xd7, 0x47, 0xb6, 0xda, 0xee, 0x3d, 0x8c,
+ 0x12, 0x64, 0x6c, 0xf5, 0x0b, 0xda, 0xce, 0xed, 0x65, 0x3b, 0x77, 0x38, 0x7b, 0xd7, 0xa2, 0x4b,
+ 0xd0, 0xb3, 0xed, 0x7a, 0xb5, 0xa9, 0x3e, 0x46, 0xeb, 0x0c, 0x9d, 0xf3, 0x6b, 0xae, 0x57, 0x3b,
+ 0xd8, 0x2b, 0x4d, 0x18, 0xdd, 0xa1, 0x85, 0x98, 0xa1, 0xda, 0xff, 0xc6, 0x82, 0x12, 0x83, 0x2d,
+ 0xb9, 0x75, 0x52, 0x26, 0x41, 0xe8, 0x86, 0x11, 0xf1, 0x22, 0x63, 0x40, 0x9f, 0x07, 0x08, 0x49,
+ 0x35, 0x20, 0x91, 0x36, 0xa4, 0x6a, 0x61, 0x54, 0x14, 0x04, 0x6b, 0x58, 0xf4, 0x7c, 0x0a, 0xb7,
+ 0x9c, 0x80, 0xad, 0x2f, 0x31, 0xb0, 0xea, 0x7c, 0xaa, 0x48, 0x00, 0x8e, 0x71, 0x8c, 0xf3, 0xa9,
+ 0xd8, 0xe9, 0x7c, 0x42, 0x1f, 0x83, 0xb1, 0xb8, 0xb1, 0xb0, 0xe9, 0x54, 0xe5, 0x00, 0xb2, 0x1d,
+ 0x5c, 0x31, 0x41, 0x38, 0x89, 0x6b, 0xff, 0xb7, 0x96, 0x58, 0x3c, 0xf4, 0xab, 0xdf, 0xe7, 0xdf,
+ 0x6a, 0xff, 0xae, 0x05, 0xfd, 0x73, 0xae, 0x57, 0x73, 0xbd, 0x4d, 0xf4, 0x19, 0x18, 0xa0, 0x57,
+ 0x65, 0xcd, 0x89, 0x1c, 0x71, 0x0c, 0x7f, 0x58, 0xdb, 0x5b, 0xea, 0xe6, 0x9a, 0x69, 0x6e, 0x6f,
+ 0xd2, 0x82, 0x70, 0x86, 0x62, 0xd3, 0xdd, 0x76, 0xe3, 0xf6, 0x67, 0x49, 0x35, 0x5a, 0x21, 0x91,
+ 0x13, 0x7f, 0x4e, 0x5c, 0x86, 0x15, 0x55, 0x74, 0x0d, 0xfa, 0x22, 0x27, 0xd8, 0x24, 0x91, 0x38,
+ 0x8f, 0x33, 0xcf, 0x4d, 0x5e, 0x13, 0xd3, 0x1d, 0x49, 0xbc, 0x2a, 0x89, 0x6f, 0xa9, 0x35, 0x56,
+ 0x15, 0x0b, 0x12, 0xf6, 0x7f, 0xe8, 0x87, 0x53, 0xf3, 0x95, 0xe5, 0x9c, 0x75, 0x75, 0x1e, 0xfa,
+ 0x6a, 0x81, 0xbb, 0x43, 0x02, 0x31, 0xce, 0x8a, 0xca, 0x02, 0x2b, 0xc5, 0x02, 0x8a, 0x2e, 0xc3,
+ 0x30, 0xbf, 0x1f, 0xaf, 0x3a, 0x5e, 0x2d, 0x3e, 0x1e, 0x05, 0xf6, 0xf0, 0x4d, 0x0d, 0x86, 0x0d,
+ 0xcc, 0x43, 0x2e, 0xaa, 0xf3, 0x89, 0xcd, 0x98, 0x77, 0xf7, 0x7e, 0xd1, 0x82, 0x71, 0xde, 0xcc,
+ 0x6c, 0x14, 0x05, 0xee, 0xed, 0x56, 0x44, 0xc2, 0xa9, 0x5e, 0x76, 0xd2, 0xcd, 0x67, 0x8d, 0x56,
+ 0xee, 0x08, 0xcc, 0xdc, 0x4c, 0x50, 0xe1, 0x87, 0xe0, 0x94, 0x68, 0x77, 0x3c, 0x09, 0xc6, 0xa9,
+ 0x66, 0xd1, 0x8f, 0x58, 0x30, 0x5d, 0xf5, 0xbd, 0x28, 0xf0, 0xeb, 0x75, 0x12, 0x94, 0x5b, 0xb7,
+ 0xeb, 0x6e, 0xb8, 0xc5, 0xd7, 0x29, 0x26, 0x1b, 0xec, 0x24, 0xc8, 0x99, 0x43, 0x85, 0x24, 0xe6,
+ 0xf0, 0xec, 0xfe, 0x5e, 0x69, 0x7a, 0x3e, 0x97, 0x14, 0x6e, 0xd3, 0x0c, 0xda, 0x06, 0x44, 0x6f,
+ 0xf6, 0x4a, 0xe4, 0x6c, 0x92, 0xb8, 0xf1, 0xfe, 0xee, 0x1b, 0x3f, 0xb1, 0xbf, 0x57, 0x42, 0xab,
+ 0x29, 0x12, 0x38, 0x83, 0x2c, 0x7a, 0x17, 0x8e, 0xd1, 0xd2, 0xd4, 0xb7, 0x0e, 0x74, 0xdf, 0xdc,
+ 0xd4, 0xfe, 0x5e, 0xe9, 0xd8, 0x6a, 0x06, 0x11, 0x9c, 0x49, 0x1a, 0xfd, 0x90, 0x05, 0xa7, 0xe2,
+ 0xcf, 0x5f, 0xbc, 0xdb, 0x74, 0xbc, 0x5a, 0xdc, 0xf0, 0x60, 0xf7, 0x0d, 0xd3, 0x33, 0xf9, 0xd4,
+ 0x7c, 0x1e, 0x25, 0x9c, 0xdf, 0x08, 0xf2, 0x60, 0x92, 0x76, 0x2d, 0xd9, 0x36, 0x74, 0xdf, 0xf6,
+ 0xc9, 0xfd, 0xbd, 0xd2, 0xe4, 0x6a, 0x9a, 0x06, 0xce, 0x22, 0x3c, 0x3d, 0x0f, 0xc7, 0x33, 0x57,
+ 0x27, 0x1a, 0x87, 0xe2, 0x36, 0xe1, 0x4c, 0xe0, 0x20, 0xa6, 0x3f, 0xd1, 0x31, 0xe8, 0xdd, 0x71,
+ 0xea, 0x2d, 0xb1, 0x31, 0x31, 0xff, 0xf3, 0x4a, 0xe1, 0xb2, 0x65, 0xff, 0x6f, 0x45, 0x18, 0x9b,
+ 0xaf, 0x2c, 0xdf, 0xd7, 0xae, 0xd7, 0xaf, 0xbd, 0x42, 0xdb, 0x6b, 0x2f, 0xbe, 0x44, 0x8b, 0xb9,
+ 0x97, 0xe8, 0x0f, 0x66, 0x6c, 0xd9, 0x1e, 0xb6, 0x65, 0x3f, 0x9a, 0xb3, 0x65, 0x1f, 0xf0, 0x46,
+ 0xdd, 0xc9, 0x59, 0xb5, 0xbd, 0x6c, 0x02, 0x33, 0x39, 0x24, 0xc6, 0xfb, 0x25, 0x8f, 0xda, 0x43,
+ 0x2e, 0xdd, 0x07, 0x33, 0x8f, 0x55, 0x18, 0x9e, 0x77, 0x9a, 0xce, 0x6d, 0xb7, 0xee, 0x46, 0x2e,
+ 0x09, 0xd1, 0x93, 0x50, 0x74, 0x6a, 0x35, 0xc6, 0xdd, 0x0d, 0xce, 0x1d, 0xdf, 0xdf, 0x2b, 0x15,
+ 0x67, 0x6b, 0x94, 0xcd, 0x00, 0x85, 0xb5, 0x8b, 0x29, 0x06, 0x7a, 0x1a, 0x7a, 0x6a, 0x81, 0xdf,
+ 0x9c, 0x2a, 0x30, 0x4c, 0xba, 0xcb, 0x7b, 0x16, 0x02, 0xbf, 0x99, 0x40, 0x65, 0x38, 0xf6, 0x1f,
+ 0x17, 0xe0, 0xf4, 0x3c, 0x69, 0x6e, 0x2d, 0x55, 0x72, 0xee, 0x8b, 0x0b, 0x30, 0xd0, 0xf0, 0x3d,
+ 0x37, 0xf2, 0x83, 0x50, 0x34, 0xcd, 0x56, 0xc4, 0x8a, 0x28, 0xc3, 0x0a, 0x8a, 0xce, 0x41, 0x4f,
+ 0x33, 0x66, 0x62, 0x87, 0x25, 0x03, 0xcc, 0xd8, 0x57, 0x06, 0xa1, 0x18, 0xad, 0x90, 0x04, 0x62,
+ 0xc5, 0x28, 0x8c, 0xf5, 0x90, 0x04, 0x98, 0x41, 0x62, 0x4e, 0x80, 0xf2, 0x08, 0xe2, 0x46, 0x48,
+ 0x70, 0x02, 0x14, 0x82, 0x35, 0x2c, 0x54, 0x86, 0xc1, 0x30, 0x31, 0xb3, 0x5d, 0x6d, 0xcd, 0x11,
+ 0xc6, 0x2a, 0xa8, 0x99, 0x8c, 0x89, 0x18, 0x37, 0x58, 0x5f, 0x47, 0x56, 0xe1, 0x1b, 0x05, 0x40,
+ 0x7c, 0x08, 0xbf, 0xcb, 0x06, 0x6e, 0x3d, 0x3d, 0x70, 0xdd, 0x6f, 0x89, 0x07, 0x35, 0x7a, 0xff,
+ 0xd6, 0x82, 0xd3, 0xf3, 0xae, 0x57, 0x23, 0x41, 0xce, 0x02, 0x7c, 0x38, 0x4f, 0xf9, 0xc3, 0x31,
+ 0x29, 0xc6, 0x12, 0xeb, 0x79, 0x00, 0x4b, 0xcc, 0xfe, 0x47, 0x0b, 0x10, 0xff, 0xec, 0xf7, 0xdd,
+ 0xc7, 0xae, 0xa7, 0x3f, 0xf6, 0x01, 0x2c, 0x0b, 0xfb, 0x3a, 0x8c, 0xce, 0xd7, 0x5d, 0xe2, 0x45,
+ 0xcb, 0xe5, 0x79, 0xdf, 0xdb, 0x70, 0x37, 0xd1, 0x2b, 0x30, 0x1a, 0xb9, 0x0d, 0xe2, 0xb7, 0xa2,
+ 0x0a, 0xa9, 0xfa, 0x1e, 0x7b, 0xb9, 0x5a, 0x17, 0x7a, 0xe7, 0xd0, 0xfe, 0x5e, 0x69, 0x74, 0xcd,
+ 0x80, 0xe0, 0x04, 0xa6, 0xfd, 0xcb, 0xf4, 0xdc, 0xaa, 0xb7, 0xc2, 0x88, 0x04, 0x6b, 0x41, 0x2b,
+ 0x8c, 0xe6, 0x5a, 0x94, 0xf7, 0x2c, 0x07, 0x3e, 0xed, 0x8e, 0xeb, 0x7b, 0xe8, 0xb4, 0xf1, 0x1c,
+ 0x1f, 0x90, 0x4f, 0x71, 0xf1, 0xec, 0x9e, 0x01, 0x08, 0xdd, 0x4d, 0x8f, 0x04, 0xda, 0xf3, 0x61,
+ 0x94, 0x6d, 0x15, 0x55, 0x8a, 0x35, 0x0c, 0x54, 0x87, 0x91, 0xba, 0x73, 0x9b, 0xd4, 0x2b, 0xa4,
+ 0x4e, 0xaa, 0x91, 0x1f, 0x08, 0xf9, 0xc6, 0x0b, 0xdd, 0xbd, 0x03, 0xae, 0xeb, 0x55, 0xe7, 0x26,
+ 0xf6, 0xf7, 0x4a, 0x23, 0x46, 0x11, 0x36, 0x89, 0xd3, 0xa3, 0xc3, 0x6f, 0xd2, 0xaf, 0x70, 0xea,
+ 0xfa, 0xe3, 0xf3, 0x86, 0x28, 0xc3, 0x0a, 0xaa, 0x8e, 0x8e, 0x9e, 0xbc, 0xa3, 0xc3, 0xfe, 0x6b,
+ 0xba, 0xd0, 0xfc, 0x46, 0xd3, 0xf7, 0x88, 0x17, 0xcd, 0xfb, 0x5e, 0x8d, 0x4b, 0xa6, 0x5e, 0x31,
+ 0x44, 0x27, 0xe7, 0x13, 0xa2, 0x93, 0x13, 0xe9, 0x1a, 0x9a, 0xf4, 0xe4, 0xa3, 0xd0, 0x17, 0x46,
+ 0x4e, 0xd4, 0x0a, 0xc5, 0xc0, 0x3d, 0x2a, 0x97, 0x5d, 0x85, 0x95, 0x1e, 0xec, 0x95, 0xc6, 0x54,
+ 0x35, 0x5e, 0x84, 0x45, 0x05, 0xf4, 0x14, 0xf4, 0x37, 0x48, 0x18, 0x3a, 0x9b, 0x92, 0x6d, 0x18,
+ 0x13, 0x75, 0xfb, 0x57, 0x78, 0x31, 0x96, 0x70, 0xf4, 0x18, 0xf4, 0x92, 0x20, 0xf0, 0x03, 0xf1,
+ 0x6d, 0x23, 0x02, 0xb1, 0x77, 0x91, 0x16, 0x62, 0x0e, 0xb3, 0xff, 0x0f, 0x0b, 0xc6, 0x54, 0x5f,
+ 0x79, 0x5b, 0x47, 0xf0, 0x5c, 0x7b, 0x1b, 0xa0, 0x2a, 0x3f, 0x30, 0x64, 0xd7, 0xec, 0xd0, 0xf3,
+ 0xe7, 0x33, 0x39, 0x9a, 0xd4, 0x30, 0xc6, 0x94, 0x55, 0x51, 0x88, 0x35, 0x6a, 0xf6, 0x1f, 0x58,
+ 0x30, 0x99, 0xf8, 0xa2, 0xeb, 0x6e, 0x18, 0xa1, 0x77, 0x52, 0x5f, 0x35, 0xd3, 0xe5, 0xe2, 0x73,
+ 0x43, 0xfe, 0x4d, 0x6a, 0xcf, 0xcb, 0x12, 0xed, 0x8b, 0xae, 0x42, 0xaf, 0x1b, 0x91, 0x86, 0xfc,
+ 0x98, 0xc7, 0xda, 0x7e, 0x0c, 0xef, 0x55, 0x3c, 0x23, 0xcb, 0xb4, 0x26, 0xe6, 0x04, 0xec, 0x3f,
+ 0x2e, 0xc2, 0x20, 0xdf, 0xdf, 0x2b, 0x4e, 0xf3, 0x08, 0xe6, 0xe2, 0x19, 0x18, 0x74, 0x1b, 0x8d,
+ 0x56, 0xe4, 0xdc, 0x16, 0xf7, 0xde, 0x00, 0x3f, 0x83, 0x96, 0x65, 0x21, 0x8e, 0xe1, 0x68, 0x19,
+ 0x7a, 0x58, 0x57, 0xf8, 0x57, 0x3e, 0x99, 0xfd, 0x95, 0xa2, 0xef, 0x33, 0x0b, 0x4e, 0xe4, 0x70,
+ 0x96, 0x53, 0xed, 0x2b, 0x5a, 0x84, 0x19, 0x09, 0xe4, 0x00, 0xdc, 0x76, 0x3d, 0x27, 0xd8, 0xa5,
+ 0x65, 0x53, 0x45, 0x46, 0xf0, 0xb9, 0xf6, 0x04, 0xe7, 0x14, 0x3e, 0x27, 0xab, 0x3e, 0x2c, 0x06,
+ 0x60, 0x8d, 0xe8, 0xf4, 0xcb, 0x30, 0xa8, 0x90, 0x0f, 0xc3, 0x39, 0x4e, 0x7f, 0x0c, 0xc6, 0x12,
+ 0x6d, 0x75, 0xaa, 0x3e, 0xac, 0x33, 0x9e, 0xbf, 0xc7, 0x8e, 0x0c, 0xd1, 0xeb, 0x45, 0x6f, 0x47,
+ 0xdc, 0x4d, 0xf7, 0xe0, 0x58, 0x3d, 0xe3, 0xc8, 0x17, 0xf3, 0xda, 0xfd, 0x15, 0x71, 0x5a, 0x7c,
+ 0xf6, 0xb1, 0x2c, 0x28, 0xce, 0x6c, 0xc3, 0x38, 0x11, 0x0b, 0xed, 0x4e, 0x44, 0x7a, 0xde, 0x1d,
+ 0x53, 0x9d, 0xbf, 0x46, 0x76, 0xd5, 0xa1, 0xfa, 0x9d, 0xec, 0xfe, 0x19, 0x3e, 0xfa, 0xfc, 0xb8,
+ 0x1c, 0x12, 0x04, 0x8a, 0xd7, 0xc8, 0x2e, 0x9f, 0x0a, 0xfd, 0xeb, 0x8a, 0x6d, 0xbf, 0xee, 0x6b,
+ 0x16, 0x8c, 0xa8, 0xaf, 0x3b, 0x82, 0x73, 0x61, 0xce, 0x3c, 0x17, 0xce, 0xb4, 0x5d, 0xe0, 0x39,
+ 0x27, 0xc2, 0x37, 0x0a, 0x70, 0x4a, 0xe1, 0xd0, 0x47, 0x14, 0xff, 0x23, 0x56, 0xd5, 0x45, 0x18,
+ 0xf4, 0x94, 0x38, 0xd1, 0x32, 0xe5, 0x78, 0xb1, 0x30, 0x31, 0xc6, 0xa1, 0x57, 0x9e, 0x17, 0x5f,
+ 0xda, 0xc3, 0xba, 0x9c, 0x5d, 0x5c, 0xee, 0x73, 0x50, 0x6c, 0xb9, 0x35, 0x71, 0xc1, 0x7c, 0x58,
+ 0x8e, 0xf6, 0xfa, 0xf2, 0xc2, 0xc1, 0x5e, 0xe9, 0xd1, 0x3c, 0x95, 0x13, 0xbd, 0xd9, 0xc2, 0x99,
+ 0xf5, 0xe5, 0x05, 0x4c, 0x2b, 0xa3, 0x59, 0x18, 0x93, 0x5a, 0xb5, 0x9b, 0x94, 0x2f, 0xf5, 0x3d,
+ 0x71, 0x0f, 0x29, 0x61, 0x39, 0x36, 0xc1, 0x38, 0x89, 0x8f, 0x16, 0x60, 0x7c, 0xbb, 0x75, 0x9b,
+ 0xd4, 0x49, 0xc4, 0x3f, 0xf8, 0x1a, 0xe1, 0xa2, 0xe4, 0xc1, 0xf8, 0x09, 0x7b, 0x2d, 0x01, 0xc7,
+ 0xa9, 0x1a, 0xf6, 0xbf, 0xb2, 0xfb, 0x40, 0x8c, 0x9e, 0xc6, 0xdf, 0x7c, 0x27, 0x97, 0x73, 0x37,
+ 0xab, 0xe2, 0x1a, 0xd9, 0x5d, 0xf3, 0x29, 0x1f, 0x92, 0xbd, 0x2a, 0x8c, 0x35, 0xdf, 0xd3, 0x76,
+ 0xcd, 0xff, 0x56, 0x01, 0x8e, 0xab, 0x11, 0x30, 0xb8, 0xe5, 0xef, 0xf6, 0x31, 0xb8, 0x04, 0x43,
+ 0x35, 0xb2, 0xe1, 0xb4, 0xea, 0x91, 0xd2, 0x6b, 0xf4, 0x72, 0x55, 0xdb, 0x42, 0x5c, 0x8c, 0x75,
+ 0x9c, 0x43, 0x0c, 0xdb, 0xaf, 0x8f, 0xb0, 0x8b, 0x38, 0x72, 0xe8, 0x1a, 0x57, 0xbb, 0xc6, 0xca,
+ 0xdd, 0x35, 0x8f, 0x41, 0xaf, 0xdb, 0xa0, 0x8c, 0x59, 0xc1, 0xe4, 0xb7, 0x96, 0x69, 0x21, 0xe6,
+ 0x30, 0xf4, 0x04, 0xf4, 0x57, 0xfd, 0x46, 0xc3, 0xf1, 0x6a, 0xec, 0xca, 0x1b, 0x9c, 0x1b, 0xa2,
+ 0xbc, 0xdb, 0x3c, 0x2f, 0xc2, 0x12, 0x46, 0x99, 0x6f, 0x27, 0xd8, 0xe4, 0xc2, 0x1e, 0xc1, 0x7c,
+ 0xcf, 0x06, 0x9b, 0x21, 0x66, 0xa5, 0xf4, 0xad, 0x7a, 0xc7, 0x0f, 0xb6, 0x5d, 0x6f, 0x73, 0xc1,
+ 0x0d, 0xc4, 0x96, 0x50, 0x77, 0xe1, 0x2d, 0x05, 0xc1, 0x1a, 0x16, 0x5a, 0x82, 0xde, 0xa6, 0x1f,
+ 0x44, 0xe1, 0x54, 0x1f, 0x1b, 0xee, 0x47, 0x73, 0x0e, 0x22, 0xfe, 0xb5, 0x65, 0x3f, 0x88, 0xe2,
+ 0x0f, 0xa0, 0xff, 0x42, 0xcc, 0xab, 0xa3, 0xeb, 0xd0, 0x4f, 0xbc, 0x9d, 0xa5, 0xc0, 0x6f, 0x4c,
+ 0x4d, 0xe6, 0x53, 0x5a, 0xe4, 0x28, 0x7c, 0x99, 0xc5, 0x3c, 0xaa, 0x28, 0xc6, 0x92, 0x04, 0xfa,
+ 0x28, 0x14, 0x89, 0xb7, 0x33, 0xd5, 0xcf, 0x28, 0x4d, 0xe7, 0x50, 0xba, 0xe9, 0x04, 0xf1, 0x99,
+ 0xbf, 0xe8, 0xed, 0x60, 0x5a, 0x07, 0x7d, 0x02, 0x06, 0xe5, 0x81, 0x11, 0x0a, 0x29, 0x6a, 0xe6,
+ 0x82, 0x95, 0xc7, 0x0c, 0x26, 0xef, 0xb6, 0xdc, 0x80, 0x34, 0x88, 0x17, 0x85, 0xf1, 0x09, 0x29,
+ 0xa1, 0x21, 0x8e, 0xa9, 0xa1, 0x2a, 0x0c, 0x07, 0x24, 0x74, 0xef, 0x91, 0xb2, 0x5f, 0x77, 0xab,
+ 0xbb, 0x53, 0x27, 0x59, 0xf7, 0x9e, 0x6a, 0x3b, 0x64, 0x58, 0xab, 0x10, 0x4b, 0xf9, 0xf5, 0x52,
+ 0x6c, 0x10, 0x45, 0x6f, 0xc1, 0x48, 0x40, 0xc2, 0xc8, 0x09, 0x22, 0xd1, 0xca, 0x94, 0xd2, 0xca,
+ 0x8d, 0x60, 0x1d, 0xc0, 0x9f, 0x13, 0x71, 0x33, 0x31, 0x04, 0x9b, 0x14, 0xd0, 0x27, 0xa4, 0xca,
+ 0x61, 0xc5, 0x6f, 0x79, 0x51, 0x38, 0x35, 0xc8, 0xfa, 0x9d, 0xa9, 0x9b, 0xbe, 0x19, 0xe3, 0x25,
+ 0x75, 0x12, 0xbc, 0x32, 0x36, 0x48, 0xa1, 0x4f, 0xc1, 0x08, 0xff, 0xcf, 0x55, 0xaa, 0xe1, 0xd4,
+ 0x71, 0x46, 0xfb, 0x5c, 0x3e, 0x6d, 0x8e, 0x38, 0x77, 0x5c, 0x10, 0x1f, 0xd1, 0x4b, 0x43, 0x6c,
+ 0x52, 0x43, 0x18, 0x46, 0xea, 0xee, 0x0e, 0xf1, 0x48, 0x18, 0x96, 0x03, 0xff, 0x36, 0x11, 0x12,
+ 0xe2, 0x53, 0xd9, 0x2a, 0x58, 0xff, 0x36, 0x11, 0x8f, 0x40, 0xbd, 0x0e, 0x36, 0x49, 0xa0, 0x75,
+ 0x18, 0xa5, 0x4f, 0x72, 0x37, 0x26, 0x3a, 0xd4, 0x89, 0x28, 0x7b, 0x38, 0x63, 0xa3, 0x12, 0x4e,
+ 0x10, 0x41, 0x37, 0x60, 0x98, 0x8d, 0x79, 0xab, 0xc9, 0x89, 0x9e, 0xe8, 0x44, 0x94, 0x19, 0x14,
+ 0x54, 0xb4, 0x2a, 0xd8, 0x20, 0x80, 0xde, 0x84, 0xc1, 0xba, 0xbb, 0x41, 0xaa, 0xbb, 0xd5, 0x3a,
+ 0x99, 0x1a, 0x66, 0xd4, 0x32, 0x0f, 0xc3, 0xeb, 0x12, 0x89, 0xf3, 0xe7, 0xea, 0x2f, 0x8e, 0xab,
+ 0xa3, 0x9b, 0x70, 0x22, 0x22, 0x41, 0xc3, 0xf5, 0x1c, 0x7a, 0x88, 0x89, 0x27, 0x21, 0xd3, 0x8c,
+ 0x8f, 0xb0, 0xd5, 0x75, 0x56, 0xcc, 0xc6, 0x89, 0xb5, 0x4c, 0x2c, 0x9c, 0x53, 0x1b, 0xdd, 0x85,
+ 0xa9, 0x0c, 0x08, 0x5f, 0xb7, 0xc7, 0x18, 0xe5, 0xd7, 0x04, 0xe5, 0xa9, 0xb5, 0x1c, 0xbc, 0x83,
+ 0x36, 0x30, 0x9c, 0x4b, 0x1d, 0xdd, 0x80, 0x31, 0x76, 0x72, 0x96, 0x5b, 0xf5, 0xba, 0x68, 0x70,
+ 0x94, 0x35, 0xf8, 0x84, 0xe4, 0x23, 0x96, 0x4d, 0xf0, 0xc1, 0x5e, 0x09, 0xe2, 0x7f, 0x38, 0x59,
+ 0x1b, 0xdd, 0x66, 0x4a, 0xd8, 0x56, 0xe0, 0x46, 0xbb, 0x74, 0x57, 0x91, 0xbb, 0xd1, 0xd4, 0x58,
+ 0x5b, 0x81, 0x94, 0x8e, 0xaa, 0x34, 0xb5, 0x7a, 0x21, 0x4e, 0x12, 0xa4, 0x57, 0x41, 0x18, 0xd5,
+ 0x5c, 0x6f, 0x6a, 0x9c, 0xbf, 0xa7, 0xe4, 0x49, 0x5a, 0xa1, 0x85, 0x98, 0xc3, 0x98, 0x02, 0x96,
+ 0xfe, 0xb8, 0x41, 0x6f, 0xdc, 0x09, 0x86, 0x18, 0x2b, 0x60, 0x25, 0x00, 0xc7, 0x38, 0x94, 0x09,
+ 0x8e, 0xa2, 0xdd, 0x29, 0xc4, 0x50, 0xd5, 0x81, 0xb8, 0xb6, 0xf6, 0x09, 0x4c, 0xcb, 0xed, 0xdb,
+ 0x30, 0xaa, 0x8e, 0x09, 0x36, 0x26, 0xa8, 0x04, 0xbd, 0x8c, 0xed, 0x13, 0xe2, 0xd3, 0x41, 0xda,
+ 0x05, 0xc6, 0x12, 0x62, 0x5e, 0xce, 0xba, 0xe0, 0xde, 0x23, 0x73, 0xbb, 0x11, 0xe1, 0xb2, 0x88,
+ 0xa2, 0xd6, 0x05, 0x09, 0xc0, 0x31, 0x8e, 0xfd, 0x1f, 0x39, 0xfb, 0x1c, 0xdf, 0x12, 0x5d, 0xdc,
+ 0x8b, 0xcf, 0xc2, 0x00, 0x33, 0xfc, 0xf0, 0x03, 0xae, 0x9d, 0xed, 0x8d, 0x19, 0xe6, 0xab, 0xa2,
+ 0x1c, 0x2b, 0x0c, 0xf4, 0x2a, 0x8c, 0x54, 0xf5, 0x06, 0xc4, 0xa5, 0xae, 0x8e, 0x11, 0xa3, 0x75,
+ 0x6c, 0xe2, 0xa2, 0xcb, 0x30, 0xc0, 0x6c, 0x9c, 0xaa, 0x7e, 0x5d, 0x70, 0x9b, 0x92, 0x33, 0x19,
+ 0x28, 0x8b, 0xf2, 0x03, 0xed, 0x37, 0x56, 0xd8, 0xe8, 0x3c, 0xf4, 0xd1, 0x2e, 0x2c, 0x97, 0xc5,
+ 0x75, 0xaa, 0x24, 0x81, 0x57, 0x59, 0x29, 0x16, 0x50, 0xfb, 0x0f, 0x2c, 0xc6, 0x4b, 0xa5, 0xcf,
+ 0x7c, 0x74, 0x95, 0x5d, 0x1a, 0xec, 0x06, 0xd1, 0xb4, 0xf0, 0x8f, 0x6b, 0x37, 0x81, 0x82, 0x1d,
+ 0x24, 0xfe, 0x63, 0xa3, 0x26, 0x7a, 0x3b, 0x79, 0x33, 0x70, 0x86, 0xe2, 0x45, 0x39, 0x04, 0xc9,
+ 0xdb, 0xe1, 0x91, 0xf8, 0x8a, 0xa3, 0xfd, 0x69, 0x77, 0x45, 0xd8, 0x3f, 0x55, 0xd0, 0x56, 0x49,
+ 0x25, 0x72, 0x22, 0x82, 0xca, 0xd0, 0x7f, 0xc7, 0x71, 0x23, 0xd7, 0xdb, 0x14, 0x7c, 0x5f, 0xfb,
+ 0x8b, 0x8e, 0x55, 0xba, 0xc5, 0x2b, 0x70, 0xee, 0x45, 0xfc, 0xc1, 0x92, 0x0c, 0xa5, 0x18, 0xb4,
+ 0x3c, 0x8f, 0x52, 0x2c, 0x74, 0x4b, 0x11, 0xf3, 0x0a, 0x9c, 0xa2, 0xf8, 0x83, 0x25, 0x19, 0xf4,
+ 0x0e, 0x80, 0x3c, 0x21, 0x48, 0x4d, 0xc8, 0x0e, 0x9f, 0xed, 0x4c, 0x74, 0x4d, 0xd5, 0xe1, 0xc2,
+ 0xc9, 0xf8, 0x3f, 0xd6, 0xe8, 0xd9, 0x91, 0x36, 0xa7, 0x7a, 0x67, 0xd0, 0x27, 0xe9, 0x16, 0x75,
+ 0x82, 0x88, 0xd4, 0x66, 0x23, 0x31, 0x38, 0x4f, 0x77, 0xf7, 0x38, 0x5c, 0x73, 0x1b, 0x44, 0xdf,
+ 0xce, 0x82, 0x08, 0x8e, 0xe9, 0xd9, 0xbf, 0x53, 0x84, 0xa9, 0xbc, 0xee, 0xd2, 0x4d, 0x43, 0xee,
+ 0xba, 0xd1, 0x3c, 0x65, 0x6b, 0x2d, 0x73, 0xd3, 0x2c, 0x8a, 0x72, 0xac, 0x30, 0xe8, 0xea, 0x0d,
+ 0xdd, 0x4d, 0xf9, 0xb6, 0xef, 0x8d, 0x57, 0x6f, 0x85, 0x95, 0x62, 0x01, 0xa5, 0x78, 0x01, 0x71,
+ 0x42, 0x61, 0x7c, 0xa7, 0xad, 0x72, 0xcc, 0x4a, 0xb1, 0x80, 0xea, 0x52, 0xc6, 0x9e, 0x0e, 0x52,
+ 0x46, 0x63, 0x88, 0x7a, 0x1f, 0xec, 0x10, 0xa1, 0x4f, 0x03, 0x6c, 0xb8, 0x9e, 0x1b, 0x6e, 0x31,
+ 0xea, 0x7d, 0x87, 0xa6, 0xae, 0x98, 0xe2, 0x25, 0x45, 0x05, 0x6b, 0x14, 0xd1, 0x4b, 0x30, 0xa4,
+ 0x0e, 0x90, 0xe5, 0x05, 0xa6, 0xfa, 0xd7, 0x4c, 0xa9, 0xe2, 0xd3, 0x74, 0x01, 0xeb, 0x78, 0xf6,
+ 0x67, 0x93, 0xeb, 0x45, 0xec, 0x00, 0x6d, 0x7c, 0xad, 0x6e, 0xc7, 0xb7, 0xd0, 0x7e, 0x7c, 0xed,
+ 0x9f, 0x19, 0x84, 0x31, 0xa3, 0xb1, 0x56, 0xd8, 0xc5, 0x99, 0x7b, 0x85, 0x5e, 0x40, 0x4e, 0x44,
+ 0xc4, 0xfe, 0xb3, 0x3b, 0x6f, 0x15, 0xfd, 0x92, 0xa2, 0x3b, 0x80, 0xd7, 0x47, 0x9f, 0x86, 0xc1,
+ 0xba, 0x13, 0x32, 0x89, 0x25, 0x11, 0xfb, 0xae, 0x1b, 0x62, 0xf1, 0x83, 0xd0, 0x09, 0x23, 0xed,
+ 0xd6, 0xe7, 0xb4, 0x63, 0x92, 0xf4, 0xa6, 0xa4, 0xfc, 0x95, 0xb4, 0xee, 0x54, 0x9d, 0xa0, 0x4c,
+ 0xd8, 0x2e, 0xe6, 0x30, 0x74, 0x99, 0x1d, 0xad, 0x74, 0x55, 0xcc, 0x53, 0x6e, 0x94, 0x2d, 0xb3,
+ 0x5e, 0x83, 0xc9, 0x56, 0x30, 0x6c, 0x60, 0xc6, 0x6f, 0xb2, 0xbe, 0x36, 0x6f, 0xb2, 0xa7, 0xa0,
+ 0x9f, 0xfd, 0x50, 0x2b, 0x40, 0xcd, 0xc6, 0x32, 0x2f, 0xc6, 0x12, 0x9e, 0x5c, 0x30, 0x03, 0xdd,
+ 0x2d, 0x18, 0xfa, 0xea, 0x13, 0x8b, 0x9a, 0x99, 0x5d, 0x0c, 0xf0, 0x53, 0x4e, 0x2c, 0x79, 0x2c,
+ 0x61, 0xe8, 0x57, 0x2c, 0x40, 0x4e, 0x9d, 0xbe, 0x96, 0x69, 0xb1, 0x7a, 0xdc, 0x00, 0x63, 0xb5,
+ 0x5f, 0xed, 0x38, 0xec, 0xad, 0x70, 0x66, 0x36, 0x55, 0x9b, 0x4b, 0x4a, 0x5f, 0x11, 0x5d, 0x44,
+ 0x69, 0x04, 0xfd, 0x32, 0xba, 0xee, 0x86, 0xd1, 0xe7, 0xff, 0x26, 0x71, 0x39, 0x65, 0x74, 0x09,
+ 0xad, 0xeb, 0x8f, 0xaf, 0xa1, 0x43, 0x3e, 0xbe, 0x46, 0x72, 0x1f, 0x5e, 0xdf, 0x9f, 0x78, 0xc0,
+ 0x0c, 0xb3, 0x2f, 0x7f, 0xa2, 0xc3, 0x03, 0x46, 0x88, 0xd3, 0xbb, 0x79, 0xc6, 0x94, 0x85, 0x1e,
+ 0x78, 0x84, 0x75, 0xb9, 0xfd, 0x23, 0x78, 0x3d, 0x24, 0xc1, 0xdc, 0x29, 0xa9, 0x26, 0x3e, 0xd0,
+ 0x79, 0x0f, 0x4d, 0x6f, 0xfc, 0x43, 0x16, 0x4c, 0xa5, 0x07, 0x88, 0x77, 0x69, 0x6a, 0x94, 0xf5,
+ 0xdf, 0x6e, 0x37, 0x32, 0xa2, 0xf3, 0xd2, 0xdc, 0x75, 0x6a, 0x36, 0x87, 0x16, 0xce, 0x6d, 0x65,
+ 0xba, 0x05, 0x27, 0x73, 0xe6, 0x3d, 0x43, 0x6a, 0xbd, 0xa0, 0x4b, 0xad, 0x3b, 0xc8, 0x3a, 0x67,
+ 0xe4, 0xcc, 0xcc, 0xbc, 0xd5, 0x72, 0xbc, 0xc8, 0x8d, 0x76, 0x75, 0x29, 0xb7, 0x07, 0xe6, 0x80,
+ 0xa0, 0x4f, 0x41, 0x6f, 0xdd, 0xf5, 0x5a, 0x77, 0xc5, 0x4d, 0x79, 0x3e, 0xfb, 0x11, 0xe3, 0xb5,
+ 0xee, 0x9a, 0x43, 0x5c, 0xa2, 0x1b, 0x92, 0x95, 0x1f, 0xec, 0x95, 0x50, 0x1a, 0x01, 0x73, 0xaa,
+ 0xf6, 0xd3, 0x30, 0xba, 0xe0, 0x90, 0x86, 0xef, 0x2d, 0x7a, 0xb5, 0xa6, 0xef, 0x7a, 0x11, 0x9a,
+ 0x82, 0x1e, 0xc6, 0x22, 0xf2, 0x0b, 0xb2, 0x87, 0x0e, 0x21, 0x66, 0x25, 0xf6, 0x26, 0x1c, 0x5f,
+ 0xf0, 0xef, 0x78, 0x77, 0x9c, 0xa0, 0x36, 0x5b, 0x5e, 0xd6, 0xa4, 0x7e, 0xab, 0x52, 0xea, 0x64,
+ 0xe5, 0xbf, 0xe9, 0xb5, 0x9a, 0x7c, 0x29, 0x2d, 0xb9, 0x75, 0x92, 0x23, 0x9b, 0xfd, 0x99, 0x82,
+ 0xd1, 0x52, 0x8c, 0xaf, 0x34, 0x8b, 0x56, 0xae, 0x51, 0xc2, 0x5b, 0x30, 0xb0, 0xe1, 0x92, 0x7a,
+ 0x0d, 0x93, 0x0d, 0x31, 0x1b, 0x4f, 0xe6, 0x9b, 0x2d, 0x2e, 0x51, 0x4c, 0xa5, 0x02, 0x65, 0x32,
+ 0xab, 0x25, 0x51, 0x19, 0x2b, 0x32, 0x68, 0x1b, 0xc6, 0xe5, 0x9c, 0x49, 0xa8, 0x38, 0xb5, 0x9f,
+ 0x6a, 0xb7, 0x08, 0x4d, 0xe2, 0xcc, 0x84, 0x1b, 0x27, 0xc8, 0xe0, 0x14, 0x61, 0x74, 0x1a, 0x7a,
+ 0x1a, 0x94, 0x3f, 0xe9, 0x61, 0xc3, 0xcf, 0x84, 0x54, 0x4c, 0xde, 0xc6, 0x4a, 0xed, 0x9f, 0xb3,
+ 0xe0, 0x64, 0x6a, 0x64, 0x84, 0xdc, 0xf1, 0x01, 0xcf, 0x42, 0x52, 0x0e, 0x58, 0xe8, 0x2c, 0x07,
+ 0xb4, 0xff, 0x3b, 0x0b, 0x8e, 0x2d, 0x36, 0x9a, 0xd1, 0xee, 0x82, 0x6b, 0x5a, 0x10, 0xbc, 0x0c,
+ 0x7d, 0x0d, 0x52, 0x73, 0x5b, 0x0d, 0x31, 0x73, 0x25, 0x79, 0x87, 0xaf, 0xb0, 0x52, 0x7a, 0x0e,
+ 0x54, 0x22, 0x3f, 0x70, 0x36, 0x09, 0x2f, 0xc0, 0x02, 0x9d, 0x71, 0x42, 0xee, 0x3d, 0x72, 0xdd,
+ 0x6d, 0xb8, 0xd1, 0xfd, 0xed, 0x2e, 0xa1, 0xfc, 0x97, 0x44, 0x70, 0x4c, 0xcf, 0xfe, 0x96, 0x05,
+ 0x63, 0x72, 0xdd, 0xcf, 0xd6, 0x6a, 0x01, 0x09, 0x43, 0x34, 0x0d, 0x05, 0xb7, 0x29, 0x7a, 0x09,
+ 0xa2, 0x97, 0x85, 0xe5, 0x32, 0x2e, 0xb8, 0x4d, 0xf9, 0xe8, 0x62, 0x6c, 0x42, 0xd1, 0xb4, 0x83,
+ 0xb8, 0x2a, 0xca, 0xb1, 0xc2, 0x40, 0x17, 0x60, 0xc0, 0xf3, 0x6b, 0xfc, 0xdd, 0x22, 0x34, 0xe1,
+ 0x14, 0x73, 0x55, 0x94, 0x61, 0x05, 0x45, 0x65, 0x18, 0xe4, 0x56, 0xb2, 0xf1, 0xa2, 0xed, 0xca,
+ 0xd6, 0x96, 0x7d, 0xd9, 0x9a, 0xac, 0x89, 0x63, 0x22, 0xf6, 0x1f, 0x59, 0x30, 0x2c, 0xbf, 0xac,
+ 0xcb, 0x17, 0x25, 0xdd, 0x5a, 0xf1, 0x6b, 0x32, 0xde, 0x5a, 0xf4, 0x45, 0xc8, 0x20, 0xc6, 0x43,
+ 0xb0, 0x78, 0xa8, 0x87, 0xe0, 0x25, 0x18, 0x72, 0x9a, 0xcd, 0xb2, 0xf9, 0x8a, 0x64, 0x4b, 0x69,
+ 0x36, 0x2e, 0xc6, 0x3a, 0x8e, 0xfd, 0xb3, 0x05, 0x18, 0x95, 0x5f, 0x50, 0x69, 0xdd, 0x0e, 0x49,
+ 0x84, 0xd6, 0x60, 0xd0, 0xe1, 0xb3, 0x44, 0xe4, 0x22, 0x7f, 0x2c, 0x5b, 0xba, 0x69, 0x4c, 0x69,
+ 0xcc, 0x0e, 0xcf, 0xca, 0xda, 0x38, 0x26, 0x84, 0xea, 0x30, 0xe1, 0xf9, 0x11, 0x63, 0x8d, 0x14,
+ 0xbc, 0x9d, 0xc2, 0x39, 0x49, 0xfd, 0x94, 0xa0, 0x3e, 0xb1, 0x9a, 0xa4, 0x82, 0xd3, 0x84, 0xd1,
+ 0xa2, 0x94, 0x18, 0x17, 0xf3, 0x45, 0x7d, 0xfa, 0xc4, 0x65, 0x0b, 0x8c, 0xed, 0xdf, 0xb7, 0x60,
+ 0x50, 0xa2, 0x1d, 0x85, 0x6d, 0xc1, 0x0a, 0xf4, 0x87, 0x6c, 0x12, 0xe4, 0xd0, 0xd8, 0xed, 0x3a,
+ 0xce, 0xe7, 0x2b, 0xe6, 0xf8, 0xf8, 0xff, 0x10, 0x4b, 0x1a, 0x4c, 0x61, 0xa8, 0xba, 0xff, 0x3e,
+ 0x51, 0x18, 0xaa, 0xfe, 0xe4, 0x5c, 0x4a, 0x7f, 0xc7, 0xfa, 0xac, 0x49, 0xe0, 0xe9, 0xc3, 0xa4,
+ 0x19, 0x90, 0x0d, 0xf7, 0x6e, 0xf2, 0x61, 0x52, 0x66, 0xa5, 0x58, 0x40, 0xd1, 0x3b, 0x30, 0x5c,
+ 0x95, 0x9a, 0xa2, 0x78, 0x87, 0x9f, 0x6f, 0xab, 0xb5, 0x54, 0x0a, 0x6e, 0x2e, 0xe9, 0x9c, 0xd7,
+ 0xea, 0x63, 0x83, 0x9a, 0x69, 0x05, 0x56, 0xec, 0x64, 0x05, 0x16, 0xd3, 0xcd, 0xb7, 0x89, 0xfa,
+ 0x79, 0x0b, 0xfa, 0xb8, 0x86, 0xa0, 0x3b, 0x05, 0x8d, 0xa6, 0xef, 0x8f, 0xc7, 0xee, 0x26, 0x2d,
+ 0x14, 0x9c, 0x0d, 0x5a, 0x81, 0x41, 0xf6, 0x83, 0x69, 0x38, 0x8a, 0xf9, 0x3e, 0x63, 0xbc, 0x55,
+ 0xbd, 0x83, 0x37, 0x65, 0x35, 0x1c, 0x53, 0xb0, 0x7f, 0xba, 0x48, 0x4f, 0xb7, 0x18, 0xd5, 0xb8,
+ 0xf4, 0xad, 0x87, 0x77, 0xe9, 0x17, 0x1e, 0xd6, 0xa5, 0xbf, 0x09, 0x63, 0x55, 0xcd, 0x3a, 0x20,
+ 0x9e, 0xc9, 0x0b, 0x6d, 0x17, 0x89, 0x66, 0x48, 0xc0, 0x65, 0xa8, 0xf3, 0x26, 0x11, 0x9c, 0xa4,
+ 0x8a, 0x3e, 0x09, 0xc3, 0x7c, 0x9e, 0x45, 0x2b, 0xdc, 0x90, 0xee, 0x89, 0xfc, 0xf5, 0xa2, 0x37,
+ 0xc1, 0x65, 0xee, 0x5a, 0x75, 0x6c, 0x10, 0xb3, 0xff, 0xc9, 0x02, 0xb4, 0xd8, 0xdc, 0x22, 0x0d,
+ 0x12, 0x38, 0xf5, 0x58, 0xc9, 0xf7, 0x25, 0x0b, 0xa6, 0x48, 0xaa, 0x78, 0xde, 0x6f, 0x34, 0xc4,
+ 0x93, 0x3e, 0x47, 0xea, 0xb4, 0x98, 0x53, 0x27, 0x66, 0xeb, 0xf3, 0x30, 0x70, 0x6e, 0x7b, 0x68,
+ 0x05, 0x26, 0xf9, 0x2d, 0xa9, 0x00, 0x9a, 0xad, 0xdd, 0x23, 0x82, 0xf0, 0xe4, 0x5a, 0x1a, 0x05,
+ 0x67, 0xd5, 0xb3, 0x7f, 0x7f, 0x04, 0x72, 0x7b, 0xf1, 0x81, 0x76, 0xf3, 0x03, 0xed, 0xe6, 0x07,
+ 0xda, 0xcd, 0x0f, 0xb4, 0x9b, 0x1f, 0x68, 0x37, 0x3f, 0xd0, 0x6e, 0xbe, 0x4f, 0xb5, 0x9b, 0xff,
+ 0xa5, 0x05, 0xc7, 0xd5, 0xf5, 0x65, 0x3c, 0xd8, 0x3f, 0x07, 0x93, 0x7c, 0xbb, 0xcd, 0xd7, 0x1d,
+ 0xb7, 0xb1, 0x46, 0x1a, 0xcd, 0xba, 0x13, 0x49, 0x1b, 0xa6, 0x4b, 0x99, 0x2b, 0x37, 0xe1, 0x28,
+ 0x61, 0x54, 0xe4, 0x1e, 0x67, 0x19, 0x00, 0x9c, 0xd5, 0x8c, 0xfd, 0x3b, 0x03, 0xd0, 0xbb, 0xb8,
+ 0x43, 0xbc, 0xe8, 0x08, 0x9e, 0x36, 0x55, 0x18, 0x75, 0xbd, 0x1d, 0xbf, 0xbe, 0x43, 0x6a, 0x1c,
+ 0x7e, 0x98, 0x17, 0xf8, 0x09, 0x41, 0x7a, 0x74, 0xd9, 0x20, 0x81, 0x13, 0x24, 0x1f, 0x86, 0x8e,
+ 0xe8, 0x0a, 0xf4, 0xf1, 0xcb, 0x47, 0x28, 0x88, 0x32, 0xcf, 0x6c, 0x36, 0x88, 0xe2, 0x4a, 0x8d,
+ 0xf5, 0x57, 0xfc, 0x72, 0x13, 0xd5, 0xd1, 0x67, 0x61, 0x74, 0xc3, 0x0d, 0xc2, 0x68, 0xcd, 0x6d,
+ 0xd0, 0xab, 0xa1, 0xd1, 0xbc, 0x0f, 0x9d, 0x90, 0x1a, 0x87, 0x25, 0x83, 0x12, 0x4e, 0x50, 0x46,
+ 0x9b, 0x30, 0x52, 0x77, 0xf4, 0xa6, 0xfa, 0x0f, 0xdd, 0x94, 0xba, 0x1d, 0xae, 0xeb, 0x84, 0xb0,
+ 0x49, 0x97, 0x6e, 0xa7, 0x2a, 0x53, 0x6b, 0x0c, 0x30, 0x71, 0x86, 0xda, 0x4e, 0x5c, 0x9f, 0xc1,
+ 0x61, 0x94, 0x41, 0x63, 0xee, 0x06, 0x83, 0x26, 0x83, 0xa6, 0x39, 0x15, 0x7c, 0x06, 0x06, 0x09,
+ 0x1d, 0x42, 0x4a, 0x58, 0x5c, 0x30, 0x17, 0xbb, 0xeb, 0xeb, 0x8a, 0x5b, 0x0d, 0x7c, 0x53, 0x1b,
+ 0xb7, 0x28, 0x29, 0xe1, 0x98, 0x28, 0x9a, 0x87, 0xbe, 0x90, 0x04, 0xae, 0x92, 0xf8, 0xb7, 0x99,
+ 0x46, 0x86, 0xc6, 0x5d, 0x1a, 0xf9, 0x6f, 0x2c, 0xaa, 0xd2, 0xe5, 0xe5, 0x30, 0x51, 0x2c, 0xbb,
+ 0x0c, 0xb4, 0xe5, 0x35, 0xcb, 0x4a, 0xb1, 0x80, 0xa2, 0x37, 0xa1, 0x3f, 0x20, 0x75, 0xa6, 0xee,
+ 0x1d, 0xe9, 0x7e, 0x91, 0x73, 0xed, 0x31, 0xaf, 0x87, 0x25, 0x01, 0x74, 0x0d, 0x50, 0x40, 0x28,
+ 0x83, 0xe7, 0x7a, 0x9b, 0xca, 0x08, 0x5f, 0x1c, 0xb4, 0x8a, 0x91, 0xc6, 0x31, 0x86, 0xf4, 0x66,
+ 0xc5, 0x19, 0xd5, 0xd0, 0x15, 0x98, 0x50, 0xa5, 0xcb, 0x5e, 0x18, 0x39, 0xf4, 0x80, 0x1b, 0x63,
+ 0xb4, 0x94, 0x7c, 0x05, 0x27, 0x11, 0x70, 0xba, 0x8e, 0xfd, 0x6b, 0x16, 0xf0, 0x71, 0x3e, 0x02,
+ 0xa9, 0xc2, 0xeb, 0xa6, 0x54, 0xe1, 0x54, 0xee, 0xcc, 0xe5, 0x48, 0x14, 0x7e, 0xcd, 0x82, 0x21,
+ 0x6d, 0x66, 0xe3, 0x35, 0x6b, 0xb5, 0x59, 0xb3, 0x2d, 0x18, 0xa7, 0x2b, 0xfd, 0xc6, 0xed, 0x90,
+ 0x04, 0x3b, 0xa4, 0xc6, 0x16, 0x66, 0xe1, 0xfe, 0x16, 0xa6, 0x32, 0xf8, 0xbd, 0x9e, 0x20, 0x88,
+ 0x53, 0x4d, 0xd8, 0x9f, 0x91, 0x5d, 0x55, 0xf6, 0xd1, 0x55, 0x35, 0xe7, 0x09, 0xfb, 0x68, 0x35,
+ 0xab, 0x38, 0xc6, 0xa1, 0x5b, 0x6d, 0xcb, 0x0f, 0xa3, 0xa4, 0x7d, 0xf4, 0x55, 0x3f, 0x8c, 0x30,
+ 0x83, 0xd8, 0x2f, 0x00, 0x2c, 0xde, 0x25, 0x55, 0xbe, 0x62, 0xf5, 0x47, 0x8f, 0x95, 0xff, 0xe8,
+ 0xb1, 0xff, 0xd2, 0x82, 0xd1, 0xa5, 0x79, 0xe3, 0xe6, 0x9a, 0x01, 0xe0, 0x2f, 0xb5, 0x5b, 0xb7,
+ 0x56, 0xa5, 0x91, 0x0e, 0xb7, 0x53, 0x50, 0xa5, 0x58, 0xc3, 0x40, 0xa7, 0xa0, 0x58, 0x6f, 0x79,
+ 0x42, 0xec, 0xd9, 0x4f, 0xaf, 0xc7, 0xeb, 0x2d, 0x0f, 0xd3, 0x32, 0xcd, 0x93, 0xad, 0xd8, 0xb5,
+ 0x27, 0x5b, 0xc7, 0x80, 0x3a, 0xa8, 0x04, 0xbd, 0x77, 0xee, 0xb8, 0x35, 0x1e, 0x27, 0x40, 0x18,
+ 0x10, 0xdd, 0xba, 0xb5, 0xbc, 0x10, 0x62, 0x5e, 0x6e, 0x7f, 0xb9, 0x08, 0xd3, 0x4b, 0x75, 0x72,
+ 0xf7, 0x3d, 0xc6, 0x4a, 0xe8, 0xd6, 0x0f, 0xef, 0x70, 0x02, 0xa4, 0xc3, 0xfa, 0x5a, 0x76, 0x1e,
+ 0x8f, 0x0d, 0xe8, 0xe7, 0xe6, 0xc1, 0x32, 0x72, 0x42, 0xa6, 0x52, 0x36, 0x7f, 0x40, 0x66, 0xb8,
+ 0x99, 0xb1, 0x50, 0xca, 0xaa, 0x0b, 0x53, 0x94, 0x62, 0x49, 0x7c, 0xfa, 0x15, 0x18, 0xd6, 0x31,
+ 0x0f, 0xe5, 0xf5, 0xfc, 0xc3, 0x45, 0x18, 0xa7, 0x3d, 0x78, 0xa8, 0x13, 0xb1, 0x9e, 0x9e, 0x88,
+ 0x07, 0xed, 0xf9, 0xda, 0x79, 0x36, 0xde, 0x49, 0xce, 0xc6, 0xa5, 0xbc, 0xd9, 0x38, 0xea, 0x39,
+ 0xf8, 0x11, 0x0b, 0x26, 0x97, 0xea, 0x7e, 0x75, 0x3b, 0xe1, 0x9d, 0xfa, 0x12, 0x0c, 0xd1, 0xe3,
+ 0x38, 0x34, 0x02, 0xb5, 0x18, 0xa1, 0x7b, 0x04, 0x08, 0xeb, 0x78, 0x5a, 0xb5, 0xf5, 0xf5, 0xe5,
+ 0x85, 0xac, 0x88, 0x3f, 0x02, 0x84, 0x75, 0x3c, 0xfb, 0xcf, 0x2d, 0x38, 0x73, 0x65, 0x7e, 0x31,
+ 0x5e, 0x8a, 0xa9, 0xa0, 0x43, 0xe7, 0xa1, 0xaf, 0x59, 0xd3, 0xba, 0x12, 0x8b, 0x85, 0x17, 0x58,
+ 0x2f, 0x04, 0xf4, 0xfd, 0x12, 0xdf, 0x6b, 0x1d, 0xe0, 0x0a, 0x2e, 0xcf, 0x8b, 0x73, 0x57, 0x6a,
+ 0x81, 0xac, 0x5c, 0x2d, 0xd0, 0x13, 0xd0, 0x4f, 0xef, 0x05, 0xb7, 0x2a, 0xfb, 0xcd, 0xcd, 0x2e,
+ 0x78, 0x11, 0x96, 0x30, 0xfb, 0x57, 0x2d, 0x98, 0xbc, 0xe2, 0x46, 0xf4, 0xd2, 0x4e, 0x46, 0xd5,
+ 0xa1, 0xb7, 0x76, 0xe8, 0x46, 0x7e, 0xb0, 0x9b, 0x8c, 0xaa, 0x83, 0x15, 0x04, 0x6b, 0x58, 0xfc,
+ 0x83, 0x76, 0x5c, 0xe6, 0xef, 0x52, 0x30, 0xf5, 0x6e, 0x58, 0x94, 0x63, 0x85, 0x41, 0xc7, 0xab,
+ 0xe6, 0x06, 0x4c, 0x64, 0xb9, 0x2b, 0x0e, 0x6e, 0x35, 0x5e, 0x0b, 0x12, 0x80, 0x63, 0x1c, 0xfb,
+ 0x1f, 0x2c, 0x28, 0x5d, 0xe1, 0x5e, 0xbb, 0x1b, 0x61, 0xce, 0xa1, 0xfb, 0x02, 0x0c, 0x12, 0xa9,
+ 0x20, 0x10, 0xbd, 0x56, 0x8c, 0xa8, 0xd2, 0x1c, 0xf0, 0xe0, 0x3e, 0x0a, 0xaf, 0x0b, 0x17, 0xfa,
+ 0xc3, 0xf9, 0x40, 0x2f, 0x01, 0x22, 0x7a, 0x5b, 0x7a, 0xb4, 0x23, 0x16, 0x36, 0x65, 0x31, 0x05,
+ 0xc5, 0x19, 0x35, 0xec, 0x9f, 0xb3, 0xe0, 0xb8, 0xfa, 0xe0, 0xf7, 0xdd, 0x67, 0xda, 0x5f, 0x2f,
+ 0xc0, 0xc8, 0xd5, 0xb5, 0xb5, 0xf2, 0x15, 0x12, 0x69, 0xab, 0xb2, 0xbd, 0xda, 0x1f, 0x6b, 0xda,
+ 0xcb, 0x76, 0x6f, 0xc4, 0x56, 0xe4, 0xd6, 0x67, 0x78, 0x0c, 0xbf, 0x99, 0x65, 0x2f, 0xba, 0x11,
+ 0x54, 0xa2, 0xc0, 0xf5, 0x36, 0x33, 0x57, 0xba, 0xe4, 0x59, 0x8a, 0x79, 0x3c, 0x0b, 0x7a, 0x01,
+ 0xfa, 0x58, 0x10, 0x41, 0x39, 0x09, 0x8f, 0xa8, 0x27, 0x16, 0x2b, 0x3d, 0xd8, 0x2b, 0x0d, 0xae,
+ 0xe3, 0x65, 0xfe, 0x07, 0x0b, 0x54, 0xb4, 0x0e, 0x43, 0x5b, 0x51, 0xd4, 0xbc, 0x4a, 0x9c, 0x1a,
+ 0x09, 0xe4, 0x29, 0x7b, 0x36, 0xeb, 0x94, 0xa5, 0x83, 0xc0, 0xd1, 0xe2, 0x83, 0x29, 0x2e, 0x0b,
+ 0xb1, 0x4e, 0xc7, 0xae, 0x00, 0xc4, 0xb0, 0x07, 0xa4, 0xb8, 0xb1, 0xd7, 0x60, 0x90, 0x7e, 0xee,
+ 0x6c, 0xdd, 0x75, 0xda, 0xab, 0xc6, 0x9f, 0x81, 0x41, 0xa9, 0xf8, 0x0e, 0x45, 0x88, 0x0f, 0x76,
+ 0x23, 0x49, 0xbd, 0x78, 0x88, 0x63, 0xb8, 0xfd, 0x38, 0x08, 0x0b, 0xe0, 0x76, 0x24, 0xed, 0x0d,
+ 0x38, 0xc6, 0x4c, 0x99, 0x9d, 0x68, 0xcb, 0x58, 0xa3, 0x9d, 0x17, 0xc3, 0xb3, 0xe2, 0x5d, 0xc7,
+ 0xbf, 0x6c, 0x4a, 0x73, 0x21, 0x1f, 0x96, 0x14, 0xe3, 0x37, 0x9e, 0xfd, 0xf7, 0x3d, 0xf0, 0xc8,
+ 0x72, 0x25, 0x3f, 0x36, 0xd5, 0x65, 0x18, 0xe6, 0xec, 0x22, 0x5d, 0x1a, 0x4e, 0x5d, 0xb4, 0xab,
+ 0x24, 0xa0, 0x6b, 0x1a, 0x0c, 0x1b, 0x98, 0xe8, 0x0c, 0x14, 0xdd, 0x77, 0xbd, 0xa4, 0x83, 0xe5,
+ 0xf2, 0x5b, 0xab, 0x98, 0x96, 0x53, 0x30, 0xe5, 0x3c, 0xf9, 0x91, 0xae, 0xc0, 0x8a, 0xfb, 0x7c,
+ 0x1d, 0x46, 0xdd, 0xb0, 0x1a, 0xba, 0xcb, 0x1e, 0xdd, 0xa7, 0xda, 0x4e, 0x57, 0x32, 0x07, 0xda,
+ 0x69, 0x05, 0xc5, 0x09, 0x6c, 0xed, 0x7e, 0xe9, 0xed, 0x9a, 0x7b, 0xed, 0x18, 0x19, 0x83, 0x1e,
+ 0xff, 0x4d, 0xf6, 0x75, 0x21, 0x13, 0xc1, 0x8b, 0xe3, 0x9f, 0x7f, 0x70, 0x88, 0x25, 0x8c, 0x3e,
+ 0xe8, 0xaa, 0x5b, 0x4e, 0x73, 0xb6, 0x15, 0x6d, 0x2d, 0xb8, 0x61, 0xd5, 0xdf, 0x21, 0xc1, 0x2e,
+ 0x7b, 0x8b, 0x0f, 0xc4, 0x0f, 0x3a, 0x05, 0x98, 0xbf, 0x3a, 0x5b, 0xa6, 0x98, 0x38, 0x5d, 0x07,
+ 0xcd, 0xc2, 0x98, 0x2c, 0xac, 0x90, 0x90, 0x5d, 0x01, 0x43, 0x8c, 0x8c, 0x72, 0x79, 0x14, 0xc5,
+ 0x8a, 0x48, 0x12, 0xdf, 0x64, 0x70, 0xe1, 0x41, 0x30, 0xb8, 0x2f, 0xc3, 0x88, 0xeb, 0xb9, 0x91,
+ 0xeb, 0x44, 0x3e, 0xd7, 0x1f, 0xf1, 0x67, 0x37, 0x13, 0x30, 0x2f, 0xeb, 0x00, 0x6c, 0xe2, 0xd9,
+ 0xff, 0x5f, 0x0f, 0x4c, 0xb0, 0x69, 0xfb, 0x60, 0x85, 0x7d, 0x2f, 0xad, 0xb0, 0xf5, 0xf4, 0x0a,
+ 0x7b, 0x10, 0x9c, 0xfb, 0x7d, 0x2f, 0xb3, 0x2f, 0x58, 0x30, 0xc1, 0x64, 0xdc, 0xc6, 0x32, 0xbb,
+ 0x08, 0x83, 0x81, 0xe1, 0x8d, 0x3a, 0xa8, 0x2b, 0xb5, 0xa4, 0x63, 0x69, 0x8c, 0x83, 0xde, 0x00,
+ 0x68, 0xc6, 0x32, 0xf4, 0x82, 0x11, 0x42, 0x14, 0x72, 0xc5, 0xe7, 0x5a, 0x1d, 0xfb, 0xb3, 0x30,
+ 0xa8, 0xdc, 0x4d, 0xa5, 0xbf, 0xb9, 0x95, 0xe3, 0x6f, 0xde, 0x99, 0x8d, 0x90, 0xb6, 0x71, 0xc5,
+ 0x4c, 0xdb, 0xb8, 0xaf, 0x5a, 0x10, 0x6b, 0x38, 0xd0, 0x5b, 0x30, 0xd8, 0xf4, 0x99, 0x41, 0x74,
+ 0x20, 0xbd, 0x0c, 0x1e, 0x6f, 0xab, 0x22, 0xe1, 0x71, 0x02, 0x03, 0x3e, 0x1d, 0x65, 0x59, 0x15,
+ 0xc7, 0x54, 0xd0, 0x35, 0xe8, 0x6f, 0x06, 0xa4, 0x12, 0xb1, 0x20, 0x56, 0xdd, 0x13, 0xe4, 0xcb,
+ 0x97, 0x57, 0xc4, 0x92, 0x82, 0xfd, 0x1b, 0x05, 0x18, 0x4f, 0xa2, 0xa2, 0xd7, 0xa0, 0x87, 0xdc,
+ 0x25, 0x55, 0xd1, 0xdf, 0x4c, 0x9e, 0x20, 0x96, 0x91, 0xf0, 0x01, 0xa0, 0xff, 0x31, 0xab, 0x85,
+ 0xae, 0x42, 0x3f, 0x65, 0x08, 0xae, 0xa8, 0x80, 0x8d, 0x8f, 0xe6, 0x31, 0x15, 0x8a, 0xb3, 0xe2,
+ 0x9d, 0x13, 0x45, 0x58, 0x56, 0x67, 0x06, 0x69, 0xd5, 0x66, 0x85, 0xbe, 0xb5, 0xa2, 0x76, 0x22,
+ 0x81, 0xb5, 0xf9, 0x32, 0x47, 0x12, 0xd4, 0xb8, 0x41, 0x9a, 0x2c, 0xc4, 0x31, 0x11, 0xf4, 0x06,
+ 0xf4, 0x86, 0x75, 0x42, 0x9a, 0xc2, 0xe2, 0x20, 0x53, 0xca, 0x59, 0xa1, 0x08, 0x82, 0x12, 0x93,
+ 0x8a, 0xb0, 0x02, 0xcc, 0x2b, 0xda, 0xbf, 0x65, 0x01, 0x70, 0x0b, 0x3e, 0xc7, 0xdb, 0x24, 0x47,
+ 0xa0, 0x18, 0x58, 0x80, 0x9e, 0xb0, 0x49, 0xaa, 0xed, 0xac, 0xfd, 0xe3, 0xfe, 0x54, 0x9a, 0xa4,
+ 0x1a, 0xaf, 0x59, 0xfa, 0x0f, 0xb3, 0xda, 0xf6, 0x8f, 0x02, 0x8c, 0xc6, 0x68, 0xcb, 0x11, 0x69,
+ 0xa0, 0xe7, 0x8c, 0x28, 0x37, 0xa7, 0x12, 0x51, 0x6e, 0x06, 0x19, 0xb6, 0x26, 0x83, 0xfe, 0x2c,
+ 0x14, 0x1b, 0xce, 0x5d, 0x21, 0x64, 0x7c, 0xa6, 0x7d, 0x37, 0x28, 0xfd, 0x99, 0x15, 0xe7, 0x2e,
+ 0x7f, 0x87, 0x3f, 0x23, 0xf7, 0xd8, 0x8a, 0x73, 0xb7, 0xa3, 0x45, 0x3a, 0x6d, 0x84, 0xb5, 0xe5,
+ 0x7a, 0xc2, 0x38, 0xad, 0xab, 0xb6, 0x5c, 0x2f, 0xd9, 0x96, 0xeb, 0x75, 0xd1, 0x96, 0xeb, 0xa1,
+ 0x7b, 0xd0, 0x2f, 0x6c, 0x47, 0x45, 0xf8, 0xbd, 0x8b, 0x5d, 0xb4, 0x27, 0x4c, 0x4f, 0x79, 0x9b,
+ 0x17, 0xa5, 0x9c, 0x41, 0x94, 0x76, 0x6c, 0x57, 0x36, 0x88, 0xfe, 0x2b, 0x0b, 0x46, 0xc5, 0x6f,
+ 0x4c, 0xde, 0x6d, 0x91, 0x30, 0x12, 0x7c, 0xf8, 0x47, 0xba, 0xef, 0x83, 0xa8, 0xc8, 0xbb, 0xf2,
+ 0x11, 0x79, 0x65, 0x9a, 0xc0, 0x8e, 0x3d, 0x4a, 0xf4, 0x02, 0xfd, 0x86, 0x05, 0xc7, 0x1a, 0xce,
+ 0x5d, 0xde, 0x22, 0x2f, 0xc3, 0x4e, 0xe4, 0xfa, 0xc2, 0x06, 0xe3, 0xb5, 0xee, 0xa6, 0x3f, 0x55,
+ 0x9d, 0x77, 0x52, 0x2a, 0x5c, 0x8f, 0x65, 0xa1, 0x74, 0xec, 0x6a, 0x66, 0xbf, 0xa6, 0x37, 0x60,
+ 0x40, 0xae, 0xb7, 0x87, 0x69, 0x18, 0xcf, 0xda, 0x11, 0x6b, 0xed, 0xa1, 0xb6, 0xf3, 0x59, 0x18,
+ 0xd6, 0xd7, 0xd8, 0x43, 0x6d, 0xeb, 0x5d, 0x98, 0xcc, 0x58, 0x4b, 0x0f, 0xb5, 0xc9, 0x3b, 0x70,
+ 0x2a, 0x77, 0x7d, 0x3c, 0x54, 0xc7, 0x86, 0xaf, 0x5b, 0xfa, 0x39, 0x78, 0x04, 0xda, 0x99, 0x79,
+ 0x53, 0x3b, 0x73, 0xb6, 0xfd, 0xce, 0xc9, 0x51, 0xd1, 0xbc, 0xa3, 0x77, 0x9a, 0x9e, 0xea, 0xe8,
+ 0x4d, 0xe8, 0xab, 0xd3, 0x12, 0x69, 0x81, 0x6c, 0x77, 0xde, 0x91, 0x31, 0x5f, 0xcc, 0xca, 0x43,
+ 0x2c, 0x28, 0xd8, 0x5f, 0xb1, 0x20, 0xc3, 0x35, 0x83, 0xf2, 0x49, 0x2d, 0xb7, 0xc6, 0x86, 0xa4,
+ 0x18, 0xf3, 0x49, 0x2a, 0x08, 0xcc, 0x19, 0x28, 0x6e, 0xba, 0x35, 0xe1, 0x59, 0xac, 0xc0, 0x57,
+ 0x28, 0x78, 0xd3, 0xad, 0xa1, 0x25, 0x40, 0x61, 0xab, 0xd9, 0xac, 0x33, 0xb3, 0x25, 0xa7, 0x7e,
+ 0x25, 0xf0, 0x5b, 0x4d, 0x6e, 0x6e, 0x5c, 0xe4, 0x42, 0xa2, 0x4a, 0x0a, 0x8a, 0x33, 0x6a, 0xd8,
+ 0xbf, 0x6b, 0x41, 0xcf, 0x11, 0x4c, 0x13, 0x36, 0xa7, 0xe9, 0xb9, 0x5c, 0xd2, 0x22, 0x6b, 0xc3,
+ 0x0c, 0x76, 0xee, 0x2c, 0xde, 0x8d, 0x88, 0x17, 0x32, 0x86, 0x23, 0x73, 0xd6, 0xf6, 0x2c, 0x98,
+ 0xbc, 0xee, 0x3b, 0xb5, 0x39, 0xa7, 0xee, 0x78, 0x55, 0x12, 0x2c, 0x7b, 0x9b, 0x87, 0xb2, 0xed,
+ 0x2f, 0x74, 0xb4, 0xed, 0xbf, 0x0c, 0x7d, 0x6e, 0x53, 0x0b, 0xfb, 0x7e, 0x8e, 0xce, 0xee, 0x72,
+ 0x59, 0x44, 0x7c, 0x47, 0x46, 0xe3, 0xac, 0x14, 0x0b, 0x7c, 0xba, 0x2c, 0xb9, 0x51, 0x5d, 0x4f,
+ 0xfe, 0xb2, 0xa4, 0x6f, 0x9d, 0x64, 0x38, 0x33, 0xc3, 0xfc, 0x7b, 0x0b, 0x8c, 0x26, 0x84, 0x07,
+ 0x23, 0x86, 0x7e, 0x97, 0x7f, 0xa9, 0x58, 0x9b, 0x4f, 0x66, 0xbf, 0x41, 0x52, 0x03, 0xa3, 0xf9,
+ 0xe6, 0xf1, 0x02, 0x2c, 0x09, 0xd9, 0x97, 0x21, 0x33, 0xfc, 0x4c, 0x67, 0xf9, 0x92, 0xfd, 0x09,
+ 0x98, 0x60, 0x35, 0x0f, 0x29, 0xbb, 0xb1, 0x13, 0x52, 0xf1, 0x8c, 0x08, 0xbe, 0xf6, 0xff, 0x6d,
+ 0x01, 0x5a, 0xf1, 0x6b, 0xee, 0xc6, 0xae, 0x20, 0xce, 0xbf, 0xff, 0x5d, 0x28, 0xf1, 0xc7, 0x71,
+ 0x32, 0xca, 0xed, 0x7c, 0xdd, 0x09, 0x43, 0x4d, 0x22, 0xff, 0xa4, 0x68, 0xb7, 0xb4, 0xd6, 0x1e,
+ 0x1d, 0x77, 0xa2, 0x87, 0xde, 0x4a, 0x04, 0x1d, 0xfc, 0x68, 0x2a, 0xe8, 0xe0, 0x93, 0x99, 0x76,
+ 0x31, 0xe9, 0xde, 0xcb, 0x60, 0x84, 0xf6, 0x17, 0x2d, 0x18, 0x5b, 0x4d, 0x44, 0x6d, 0x3d, 0xcf,
+ 0x8c, 0x04, 0x32, 0x34, 0x4d, 0x15, 0x56, 0x8a, 0x05, 0xf4, 0x81, 0x4b, 0x62, 0xff, 0xd5, 0x82,
+ 0x38, 0xdc, 0xd5, 0x11, 0xb0, 0xdc, 0xf3, 0x06, 0xcb, 0x9d, 0xf9, 0x7c, 0x51, 0xdd, 0xc9, 0xe3,
+ 0xb8, 0xd1, 0x35, 0x35, 0x27, 0x6d, 0x5e, 0x2e, 0x31, 0x19, 0xbe, 0xcf, 0x46, 0xcd, 0x89, 0x53,
+ 0xb3, 0xf1, 0xcd, 0x02, 0x20, 0x85, 0xdb, 0x75, 0xa0, 0xca, 0x74, 0x8d, 0x07, 0x13, 0xa8, 0x72,
+ 0x07, 0x10, 0x33, 0x73, 0x09, 0x1c, 0x2f, 0xe4, 0x64, 0x5d, 0x21, 0x7b, 0x3e, 0x9c, 0x0d, 0xcd,
+ 0xb4, 0xf4, 0x5c, 0xbd, 0x9e, 0xa2, 0x86, 0x33, 0x5a, 0xd0, 0xcc, 0x97, 0x7a, 0xbb, 0x35, 0x5f,
+ 0xea, 0xeb, 0xe0, 0x82, 0xfd, 0x35, 0x0b, 0x46, 0xd4, 0x30, 0xbd, 0x4f, 0x5c, 0x40, 0x54, 0x7f,
+ 0x72, 0xee, 0x95, 0xb2, 0xd6, 0x65, 0xc6, 0x0c, 0x7c, 0x1f, 0x73, 0xa5, 0x77, 0xea, 0xee, 0x3d,
+ 0xa2, 0xe2, 0x29, 0x97, 0x84, 0x6b, 0xbc, 0x28, 0x3d, 0xd8, 0x2b, 0x8d, 0xa8, 0x7f, 0x3c, 0x82,
+ 0x6b, 0x5c, 0xc5, 0xfe, 0x25, 0xba, 0xd9, 0xcd, 0xa5, 0x88, 0x5e, 0x82, 0xde, 0xe6, 0x96, 0x13,
+ 0x92, 0x84, 0xab, 0x5c, 0x6f, 0x99, 0x16, 0x1e, 0xec, 0x95, 0x46, 0x55, 0x05, 0x56, 0x82, 0x39,
+ 0x76, 0xf7, 0xe1, 0x3f, 0xd3, 0x8b, 0xb3, 0x63, 0xf8, 0xcf, 0x7f, 0xb2, 0xa0, 0x67, 0x95, 0xde,
+ 0x5e, 0x0f, 0xff, 0x08, 0x78, 0xdd, 0x38, 0x02, 0x4e, 0xe7, 0x65, 0x16, 0xca, 0xdd, 0xfd, 0x4b,
+ 0x89, 0xdd, 0x7f, 0x36, 0x97, 0x42, 0xfb, 0x8d, 0xdf, 0x80, 0x21, 0x96, 0xaf, 0x48, 0xb8, 0x05,
+ 0xbe, 0x60, 0x6c, 0xf8, 0x52, 0x62, 0xc3, 0x8f, 0x69, 0xa8, 0xda, 0x4e, 0x7f, 0x0a, 0xfa, 0x85,
+ 0x9f, 0x59, 0x32, 0x22, 0x81, 0xc0, 0xc5, 0x12, 0x6e, 0xff, 0x7c, 0x11, 0x8c, 0xfc, 0x48, 0xe8,
+ 0xf7, 0x2d, 0x98, 0x09, 0xb8, 0xfd, 0x79, 0x6d, 0xa1, 0x15, 0xb8, 0xde, 0x66, 0xa5, 0xba, 0x45,
+ 0x6a, 0xad, 0xba, 0xeb, 0x6d, 0x2e, 0x6f, 0x7a, 0xbe, 0x2a, 0x5e, 0xbc, 0x4b, 0xaa, 0x2d, 0xa6,
+ 0x1b, 0xee, 0x90, 0x8c, 0x49, 0xf9, 0x71, 0x3c, 0xbf, 0xbf, 0x57, 0x9a, 0xc1, 0x87, 0xa2, 0x8d,
+ 0x0f, 0xd9, 0x17, 0xf4, 0xe7, 0x16, 0x5c, 0xe4, 0x79, 0x7a, 0xba, 0xef, 0x7f, 0x1b, 0x09, 0x47,
+ 0x59, 0x92, 0x8a, 0x89, 0xac, 0x91, 0xa0, 0x31, 0xf7, 0xb2, 0x18, 0xd0, 0x8b, 0xe5, 0xc3, 0xb5,
+ 0x85, 0x0f, 0xdb, 0x39, 0xfb, 0x7f, 0x2e, 0xc2, 0x88, 0x08, 0x13, 0x29, 0xee, 0x80, 0x97, 0x8c,
+ 0x25, 0xf1, 0x68, 0x62, 0x49, 0x4c, 0x18, 0xc8, 0x0f, 0xe6, 0xf8, 0x0f, 0x61, 0x82, 0x1e, 0xce,
+ 0x57, 0x89, 0x13, 0x44, 0xb7, 0x89, 0xc3, 0xad, 0x12, 0x8b, 0x87, 0x3e, 0xfd, 0x95, 0x78, 0xfc,
+ 0x7a, 0x92, 0x18, 0x4e, 0xd3, 0xff, 0x5e, 0xba, 0x73, 0x3c, 0x18, 0x4f, 0x45, 0xfa, 0x7c, 0x1b,
+ 0x06, 0x95, 0x93, 0x94, 0x38, 0x74, 0xda, 0x07, 0xcc, 0x4d, 0x52, 0xe0, 0x42, 0xcf, 0xd8, 0x41,
+ 0x2f, 0x26, 0x67, 0xff, 0x66, 0xc1, 0x68, 0x90, 0x4f, 0xe2, 0x2a, 0x0c, 0x38, 0x21, 0x0b, 0xe2,
+ 0x5d, 0x6b, 0x27, 0x97, 0x4e, 0x35, 0xc3, 0x1c, 0xd5, 0x66, 0x45, 0x4d, 0xac, 0x68, 0xa0, 0xab,
+ 0xdc, 0xf6, 0x73, 0x87, 0xb4, 0x13, 0x4a, 0xa7, 0xa8, 0x81, 0xb4, 0x0e, 0xdd, 0x21, 0x58, 0xd4,
+ 0x47, 0x9f, 0xe2, 0xc6, 0xb9, 0xd7, 0x3c, 0xff, 0x8e, 0x77, 0xc5, 0xf7, 0x65, 0x48, 0xa0, 0xee,
+ 0x08, 0x4e, 0x48, 0x93, 0x5c, 0x55, 0x1d, 0x9b, 0xd4, 0xba, 0x0b, 0x9d, 0xfd, 0x39, 0x60, 0x79,
+ 0x49, 0xcc, 0x98, 0x04, 0x21, 0x22, 0x30, 0x26, 0x62, 0x90, 0xca, 0x32, 0x31, 0x76, 0x99, 0xcf,
+ 0x6f, 0xb3, 0x76, 0xac, 0xc7, 0xb9, 0x66, 0x92, 0xc0, 0x49, 0x9a, 0xf6, 0x16, 0x3f, 0x84, 0x97,
+ 0x88, 0x13, 0xb5, 0x02, 0x12, 0xa2, 0x8f, 0xc3, 0x54, 0xfa, 0x65, 0x2c, 0xd4, 0x21, 0x16, 0xe3,
+ 0x9e, 0x4f, 0xef, 0xef, 0x95, 0xa6, 0x2a, 0x39, 0x38, 0x38, 0xb7, 0xb6, 0xfd, 0x2b, 0x16, 0x30,
+ 0x4f, 0xf0, 0x23, 0xe0, 0x7c, 0x3e, 0x66, 0x72, 0x3e, 0x53, 0x79, 0xd3, 0x99, 0xc3, 0xf4, 0xbc,
+ 0xc8, 0xd7, 0x70, 0x39, 0xf0, 0xef, 0xee, 0x0a, 0xdb, 0xad, 0xce, 0xcf, 0x38, 0xfb, 0xcb, 0x16,
+ 0xb0, 0x24, 0x3e, 0x98, 0xbf, 0xda, 0xa5, 0x82, 0xa3, 0xb3, 0x59, 0xc2, 0xc7, 0x61, 0x60, 0x43,
+ 0x0c, 0x7f, 0x86, 0xd0, 0xc9, 0xe8, 0xb0, 0x49, 0x5b, 0x4e, 0x9a, 0xf0, 0xe8, 0x14, 0xff, 0xb0,
+ 0xa2, 0x66, 0xff, 0xf7, 0x16, 0x4c, 0xe7, 0x57, 0x43, 0xeb, 0x70, 0x32, 0x20, 0xd5, 0x56, 0x10,
+ 0xd2, 0x2d, 0x21, 0x1e, 0x40, 0xc2, 0x29, 0x8a, 0x4f, 0xf5, 0x23, 0xfb, 0x7b, 0xa5, 0x93, 0x38,
+ 0x1b, 0x05, 0xe7, 0xd5, 0x45, 0xaf, 0xc0, 0x68, 0x2b, 0xe4, 0x9c, 0x1f, 0x63, 0xba, 0x42, 0x11,
+ 0x29, 0x9a, 0xf9, 0x0d, 0xad, 0x1b, 0x10, 0x9c, 0xc0, 0xb4, 0x7f, 0x80, 0x2f, 0x47, 0x15, 0x2c,
+ 0xba, 0x01, 0x13, 0x9e, 0xf6, 0x9f, 0xde, 0x80, 0xf2, 0xa9, 0xff, 0x78, 0xa7, 0x5b, 0x9f, 0x5d,
+ 0x97, 0x9a, 0xaf, 0x7a, 0x82, 0x0c, 0x4e, 0x53, 0xb6, 0x7f, 0xc1, 0x82, 0x93, 0x3a, 0xa2, 0xe6,
+ 0x0e, 0xd7, 0x49, 0x97, 0xb7, 0x00, 0x03, 0x7e, 0x93, 0x04, 0x4e, 0xe4, 0x07, 0xe2, 0x9a, 0xbb,
+ 0x20, 0x57, 0xe8, 0x0d, 0x51, 0x7e, 0x20, 0x92, 0xd7, 0x48, 0xea, 0xb2, 0x1c, 0xab, 0x9a, 0xc8,
+ 0x86, 0x3e, 0x26, 0x40, 0x0c, 0x85, 0xe3, 0x23, 0x3b, 0xb4, 0x98, 0x7d, 0x4a, 0x88, 0x05, 0xc4,
+ 0xfe, 0x7b, 0x8b, 0xaf, 0x4f, 0xbd, 0xeb, 0xe8, 0x5d, 0x18, 0x6f, 0x38, 0x51, 0x75, 0x6b, 0xf1,
+ 0x6e, 0x33, 0xe0, 0x2a, 0x5a, 0x39, 0x4e, 0xcf, 0x74, 0x1a, 0x27, 0xed, 0x23, 0x63, 0x03, 0xe9,
+ 0x95, 0x04, 0x31, 0x9c, 0x22, 0x8f, 0x6e, 0xc3, 0x10, 0x2b, 0x63, 0x3e, 0xbd, 0x61, 0x3b, 0x5e,
+ 0x26, 0xaf, 0x35, 0x65, 0xe2, 0xb3, 0x12, 0xd3, 0xc1, 0x3a, 0x51, 0xfb, 0xab, 0x45, 0x7e, 0x68,
+ 0xb0, 0xb7, 0xc7, 0x53, 0xd0, 0xdf, 0xf4, 0x6b, 0xf3, 0xcb, 0x0b, 0x58, 0xcc, 0x82, 0xba, 0xf7,
+ 0xca, 0xbc, 0x18, 0x4b, 0x38, 0xba, 0x00, 0x03, 0xe2, 0xa7, 0x54, 0xa9, 0xb3, 0x3d, 0x22, 0xf0,
+ 0x42, 0xac, 0xa0, 0xe8, 0x79, 0x80, 0x66, 0xe0, 0xef, 0xb8, 0x35, 0x16, 0x89, 0xa9, 0x68, 0x5a,
+ 0xe7, 0x95, 0x15, 0x04, 0x6b, 0x58, 0xe8, 0x55, 0x18, 0x69, 0x79, 0x21, 0xe7, 0x9f, 0xb4, 0x78,
+ 0xf7, 0xca, 0x6e, 0x6c, 0x5d, 0x07, 0x62, 0x13, 0x17, 0xcd, 0x42, 0x5f, 0xe4, 0x30, 0x6b, 0xb3,
+ 0xde, 0x7c, 0x23, 0xfa, 0x35, 0x8a, 0xa1, 0x67, 0x96, 0xa3, 0x15, 0xb0, 0xa8, 0x88, 0xde, 0x96,
+ 0xee, 0xf5, 0xfc, 0x26, 0x12, 0xde, 0x2b, 0xdd, 0xdd, 0x5a, 0x9a, 0x73, 0xbd, 0xf0, 0x8a, 0x31,
+ 0x68, 0xa1, 0x57, 0x00, 0xc8, 0xdd, 0x88, 0x04, 0x9e, 0x53, 0x57, 0x36, 0xa2, 0x8a, 0x91, 0x59,
+ 0xf0, 0x57, 0xfd, 0x68, 0x3d, 0x24, 0x8b, 0x0a, 0x03, 0x6b, 0xd8, 0xf6, 0x8f, 0x0e, 0x01, 0xc4,
+ 0x0f, 0x0d, 0x74, 0x0f, 0x06, 0xaa, 0x4e, 0xd3, 0xa9, 0xf2, 0xb4, 0xa9, 0xc5, 0x3c, 0xaf, 0xe7,
+ 0xb8, 0xc6, 0xcc, 0xbc, 0x40, 0xe7, 0xca, 0x1b, 0x19, 0x32, 0x7c, 0x40, 0x16, 0x77, 0x54, 0xd8,
+ 0xa8, 0xf6, 0xd0, 0x17, 0x2c, 0x18, 0x12, 0x91, 0x8e, 0xd8, 0x0c, 0x15, 0xf2, 0xf5, 0x6d, 0x5a,
+ 0xfb, 0xb3, 0x71, 0x0d, 0xde, 0x85, 0x17, 0xe4, 0x0a, 0xd5, 0x20, 0x1d, 0x7b, 0xa1, 0x37, 0x8c,
+ 0x3e, 0x2c, 0xdf, 0xb6, 0x45, 0x63, 0x28, 0xd5, 0xdb, 0x76, 0x90, 0x5d, 0x35, 0xfa, 0xb3, 0x76,
+ 0xdd, 0x78, 0xd6, 0xf6, 0xe4, 0xfb, 0x0f, 0x1b, 0xfc, 0x76, 0xa7, 0x17, 0x2d, 0x2a, 0xeb, 0xb1,
+ 0x44, 0x7a, 0xf3, 0x9d, 0x5e, 0xb5, 0x87, 0x5d, 0x87, 0x38, 0x22, 0x9f, 0x85, 0xb1, 0x9a, 0xc9,
+ 0xb5, 0x88, 0x95, 0xf8, 0x64, 0x1e, 0xdd, 0x04, 0x93, 0x13, 0xf3, 0x29, 0x09, 0x00, 0x4e, 0x12,
+ 0x46, 0x65, 0x1e, 0x5a, 0x66, 0xd9, 0xdb, 0xf0, 0x85, 0x07, 0x95, 0x9d, 0x3b, 0x97, 0xbb, 0x61,
+ 0x44, 0x1a, 0x14, 0x33, 0x66, 0x12, 0x56, 0x45, 0x5d, 0xac, 0xa8, 0xa0, 0x37, 0xa1, 0x8f, 0x79,
+ 0x3d, 0x86, 0x53, 0x03, 0xf9, 0x6a, 0x0d, 0x33, 0x12, 0x6a, 0xbc, 0x21, 0xd9, 0xdf, 0x10, 0x0b,
+ 0x0a, 0xe8, 0xaa, 0xf4, 0x29, 0x0e, 0x97, 0xbd, 0xf5, 0x90, 0x30, 0x9f, 0xe2, 0xc1, 0xb9, 0xc7,
+ 0x63, 0x77, 0x61, 0x5e, 0x9e, 0x99, 0x7f, 0xd6, 0xa8, 0x49, 0xd9, 0x3e, 0xf1, 0x5f, 0xa6, 0xb5,
+ 0x15, 0x71, 0xdb, 0x32, 0xbb, 0x67, 0xa6, 0xbe, 0x8d, 0x87, 0xf3, 0xa6, 0x49, 0x02, 0x27, 0x69,
+ 0x52, 0x16, 0x9a, 0xef, 0x7a, 0xe1, 0x83, 0xd5, 0xe9, 0xec, 0xe0, 0x92, 0x03, 0x76, 0x1b, 0xf1,
+ 0x12, 0x2c, 0xea, 0x23, 0x17, 0xc6, 0x02, 0x83, 0xbd, 0x90, 0xe1, 0xd6, 0xce, 0x77, 0xc7, 0xc4,
+ 0x68, 0x81, 0xfc, 0x4d, 0x32, 0x38, 0x49, 0x17, 0xbd, 0xa9, 0x31, 0x4a, 0x23, 0xed, 0x5f, 0xfe,
+ 0x9d, 0x58, 0xa3, 0xe9, 0x6d, 0x18, 0x31, 0x0e, 0x9b, 0x87, 0xaa, 0x82, 0xf4, 0x60, 0x3c, 0x79,
+ 0xb2, 0x3c, 0x54, 0xcd, 0xe3, 0xdf, 0xf6, 0xc0, 0xa8, 0xb9, 0x13, 0xd0, 0x45, 0x18, 0x14, 0x44,
+ 0x54, 0x46, 0x2b, 0xb5, 0xb9, 0x57, 0x24, 0x00, 0xc7, 0x38, 0x2c, 0x91, 0x19, 0xab, 0xae, 0xf9,
+ 0x0a, 0xc4, 0x89, 0xcc, 0x14, 0x04, 0x6b, 0x58, 0xf4, 0x01, 0x7b, 0xdb, 0xf7, 0x23, 0x75, 0x8f,
+ 0xaa, 0xed, 0x32, 0xc7, 0x4a, 0xb1, 0x80, 0xd2, 0xfb, 0x73, 0x9b, 0x04, 0x1e, 0xa9, 0x9b, 0x29,
+ 0x1d, 0xd4, 0xfd, 0x79, 0x4d, 0x07, 0x62, 0x13, 0x97, 0x72, 0x01, 0x7e, 0xc8, 0xf6, 0x9f, 0x78,
+ 0x26, 0xc7, 0xbe, 0x17, 0x15, 0x1e, 0x45, 0x42, 0xc2, 0xd1, 0x27, 0xe0, 0xa4, 0x0a, 0x9f, 0x28,
+ 0x56, 0x97, 0x6c, 0xb1, 0xcf, 0x90, 0x6a, 0x9d, 0x9c, 0xcf, 0x46, 0xc3, 0x79, 0xf5, 0xd1, 0xeb,
+ 0x30, 0x2a, 0x9e, 0x52, 0x92, 0x62, 0xbf, 0x69, 0x48, 0x78, 0xcd, 0x80, 0xe2, 0x04, 0xb6, 0x4c,
+ 0x4a, 0xc1, 0xde, 0x18, 0x92, 0xc2, 0x40, 0x3a, 0x29, 0x85, 0x0e, 0xc7, 0xa9, 0x1a, 0x68, 0x16,
+ 0xc6, 0x38, 0xeb, 0xe8, 0x7a, 0x9b, 0x7c, 0x4e, 0x84, 0x67, 0xa7, 0xda, 0x54, 0x37, 0x4c, 0x30,
+ 0x4e, 0xe2, 0xa3, 0xcb, 0x30, 0xec, 0x04, 0xd5, 0x2d, 0x37, 0x22, 0x55, 0xba, 0x33, 0x98, 0x2d,
+ 0x9f, 0x66, 0x89, 0x39, 0xab, 0xc1, 0xb0, 0x81, 0x69, 0xdf, 0x83, 0xc9, 0x8c, 0xf0, 0x32, 0x74,
+ 0xe1, 0x38, 0x4d, 0x57, 0x7e, 0x53, 0xc2, 0xdd, 0x61, 0xb6, 0xbc, 0x2c, 0xbf, 0x46, 0xc3, 0xa2,
+ 0xab, 0x93, 0x85, 0xa1, 0xd1, 0x92, 0x6f, 0xab, 0xd5, 0xb9, 0x24, 0x01, 0x38, 0xc6, 0xb1, 0xff,
+ 0xb9, 0x00, 0x63, 0x19, 0x0a, 0x3a, 0x96, 0x00, 0x3a, 0xf1, 0xd2, 0x8a, 0xf3, 0x3d, 0x9b, 0x39,
+ 0x4e, 0x0a, 0x87, 0xc8, 0x71, 0x52, 0xec, 0x94, 0xe3, 0xa4, 0xe7, 0xbd, 0xe4, 0x38, 0x31, 0x47,
+ 0xac, 0xb7, 0xab, 0x11, 0xcb, 0xc8, 0x8b, 0xd2, 0x77, 0xc8, 0xbc, 0x28, 0xc6, 0xa0, 0xf7, 0x77,
+ 0x31, 0xe8, 0x3f, 0x5d, 0x80, 0xf1, 0xa4, 0x6e, 0xef, 0x08, 0xe4, 0xe3, 0x6f, 0x1a, 0xf2, 0xf1,
+ 0x0b, 0xdd, 0x78, 0xe2, 0xe7, 0xca, 0xca, 0x71, 0x42, 0x56, 0xfe, 0x74, 0x57, 0xd4, 0xda, 0xcb,
+ 0xcd, 0x7f, 0xb1, 0x00, 0xc7, 0x33, 0x55, 0x9e, 0x47, 0x30, 0x36, 0x37, 0x8c, 0xb1, 0x79, 0xae,
+ 0xeb, 0x28, 0x05, 0xb9, 0x03, 0x74, 0x2b, 0x31, 0x40, 0x17, 0xbb, 0x27, 0xd9, 0x7e, 0x94, 0xbe,
+ 0x55, 0x84, 0xb3, 0x99, 0xf5, 0x62, 0xf1, 0xf2, 0x92, 0x21, 0x5e, 0x7e, 0x3e, 0x21, 0x5e, 0xb6,
+ 0xdb, 0xd7, 0x7e, 0x30, 0xf2, 0x66, 0xe1, 0xad, 0xcf, 0x62, 0x8e, 0xdc, 0xa7, 0xac, 0xd9, 0xf0,
+ 0xd6, 0x57, 0x84, 0xb0, 0x49, 0xf7, 0x7b, 0x49, 0xc6, 0xfc, 0x67, 0x16, 0x9c, 0xca, 0x9c, 0x9b,
+ 0x23, 0x90, 0xf4, 0xad, 0x9a, 0x92, 0xbe, 0xa7, 0xba, 0x5e, 0xad, 0x39, 0xa2, 0xbf, 0x2f, 0xf6,
+ 0xe5, 0x7c, 0x0b, 0x13, 0x40, 0xdc, 0x80, 0x21, 0xa7, 0x5a, 0x25, 0x61, 0xb8, 0xe2, 0xd7, 0x54,
+ 0x3a, 0x84, 0xe7, 0xd8, 0xf3, 0x30, 0x2e, 0x3e, 0xd8, 0x2b, 0x4d, 0x27, 0x49, 0xc4, 0x60, 0xac,
+ 0x53, 0x40, 0x9f, 0x82, 0x81, 0x50, 0x66, 0xb2, 0xec, 0xb9, 0xff, 0x4c, 0x96, 0x8c, 0xc9, 0x55,
+ 0x02, 0x16, 0x45, 0x12, 0x7d, 0xbf, 0x1e, 0xfd, 0xa9, 0x8d, 0x68, 0x91, 0x77, 0xf2, 0x3e, 0x62,
+ 0x40, 0x3d, 0x0f, 0xb0, 0xa3, 0x5e, 0x32, 0x49, 0xe1, 0x89, 0xf6, 0xc6, 0xd1, 0xb0, 0xd0, 0x1b,
+ 0x30, 0x1e, 0xf2, 0xc0, 0xa7, 0xb1, 0x91, 0x0a, 0x5f, 0x8b, 0x2c, 0x76, 0x5c, 0x25, 0x01, 0xc3,
+ 0x29, 0x6c, 0xb4, 0x24, 0x5b, 0x65, 0xe6, 0x48, 0x7c, 0x79, 0x9e, 0x8f, 0x5b, 0x14, 0x26, 0x49,
+ 0xc7, 0x92, 0x93, 0xc0, 0x86, 0x5f, 0xab, 0x89, 0x3e, 0x05, 0x40, 0x17, 0x91, 0x10, 0xa2, 0xf4,
+ 0xe7, 0x1f, 0xa1, 0xf4, 0x6c, 0xa9, 0x65, 0x7a, 0x32, 0x30, 0x37, 0xfb, 0x05, 0x45, 0x04, 0x6b,
+ 0x04, 0x91, 0x03, 0x23, 0xf1, 0xbf, 0x38, 0x47, 0xfb, 0x85, 0xdc, 0x16, 0x92, 0xc4, 0x99, 0x82,
+ 0x61, 0x41, 0x27, 0x81, 0x4d, 0x8a, 0xe8, 0x93, 0x70, 0x6a, 0x27, 0xd7, 0xf2, 0x87, 0x73, 0x82,
+ 0x2c, 0xe9, 0x7a, 0xbe, 0xbd, 0x4f, 0x7e, 0x7d, 0xfb, 0x7f, 0x07, 0x78, 0xa4, 0xcd, 0x49, 0x8f,
+ 0x66, 0x4d, 0xad, 0xfd, 0x33, 0x49, 0xc9, 0xc6, 0x74, 0x66, 0x65, 0x43, 0xd4, 0x91, 0xd8, 0x50,
+ 0x85, 0xf7, 0xbc, 0xa1, 0x7e, 0xc2, 0xd2, 0x64, 0x4e, 0xdc, 0xa6, 0xfb, 0x63, 0x87, 0xbc, 0xc1,
+ 0x1e, 0xa0, 0x10, 0x6a, 0x23, 0x43, 0x92, 0xf3, 0x7c, 0xd7, 0xdd, 0xe9, 0x5e, 0xb4, 0xf3, 0xf5,
+ 0xec, 0x80, 0xef, 0x5c, 0xc8, 0x73, 0xe5, 0xb0, 0xdf, 0x7f, 0x54, 0xc1, 0xdf, 0xbf, 0x69, 0xc1,
+ 0xa9, 0x54, 0x31, 0xef, 0x03, 0x09, 0x45, 0xb4, 0xbb, 0xd5, 0xf7, 0xdc, 0x79, 0x49, 0x90, 0x7f,
+ 0xc3, 0x55, 0xf1, 0x0d, 0xa7, 0x72, 0xf1, 0x92, 0x5d, 0xff, 0xd2, 0xdf, 0x94, 0x26, 0x59, 0x03,
+ 0x26, 0x22, 0xce, 0xef, 0x3a, 0x6a, 0xc2, 0xb9, 0x6a, 0x2b, 0x08, 0xe2, 0xc5, 0x9a, 0xb1, 0x39,
+ 0xf9, 0x5b, 0xef, 0xf1, 0xfd, 0xbd, 0xd2, 0xb9, 0xf9, 0x0e, 0xb8, 0xb8, 0x23, 0x35, 0xe4, 0x01,
+ 0x6a, 0xa4, 0xec, 0xeb, 0xd8, 0x01, 0x90, 0x23, 0x87, 0x49, 0x5b, 0xe3, 0x71, 0x4b, 0xd9, 0x0c,
+ 0x2b, 0xbd, 0x0c, 0xca, 0x47, 0x2b, 0x3d, 0xf9, 0xce, 0xc4, 0xa5, 0x9f, 0xbe, 0x0e, 0x67, 0xdb,
+ 0x2f, 0xa6, 0x43, 0x85, 0x72, 0xf8, 0x4b, 0x0b, 0xce, 0xb4, 0x8d, 0x17, 0xf6, 0x5d, 0xf8, 0x58,
+ 0xb0, 0x3f, 0x6f, 0xc1, 0xa3, 0x99, 0x35, 0x92, 0x4e, 0x78, 0x55, 0x5a, 0xa8, 0x99, 0xa3, 0xc6,
+ 0x91, 0x73, 0x24, 0x00, 0xc7, 0x38, 0x86, 0xc5, 0x66, 0xa1, 0xa3, 0xc5, 0xe6, 0x1f, 0x59, 0x90,
+ 0xba, 0xea, 0x8f, 0x80, 0xf3, 0x5c, 0x36, 0x39, 0xcf, 0xc7, 0xbb, 0x19, 0xcd, 0x1c, 0xa6, 0xf3,
+ 0x1f, 0xc7, 0xe0, 0x44, 0x8e, 0x27, 0xf6, 0x0e, 0x4c, 0x6c, 0x56, 0x89, 0x19, 0x7a, 0xa3, 0x5d,
+ 0x48, 0xba, 0xb6, 0x71, 0x3a, 0xe6, 0x8e, 0xef, 0xef, 0x95, 0x26, 0x52, 0x28, 0x38, 0xdd, 0x04,
+ 0xfa, 0xbc, 0x05, 0xc7, 0x9c, 0x3b, 0xe1, 0x22, 0x7d, 0x41, 0xb8, 0xd5, 0xb9, 0xba, 0x5f, 0xdd,
+ 0xa6, 0x8c, 0x99, 0xdc, 0x56, 0x2f, 0x66, 0x0a, 0xa3, 0x6f, 0x55, 0x52, 0xf8, 0x46, 0xf3, 0x53,
+ 0xfb, 0x7b, 0xa5, 0x63, 0x59, 0x58, 0x38, 0xb3, 0x2d, 0x84, 0x45, 0xc6, 0x2f, 0x27, 0xda, 0x6a,
+ 0x17, 0x1c, 0x26, 0xcb, 0x65, 0x9e, 0xb3, 0xc4, 0x12, 0x82, 0x15, 0x1d, 0xf4, 0x19, 0x18, 0xdc,
+ 0x94, 0x71, 0x20, 0x32, 0x58, 0xee, 0x78, 0x20, 0xdb, 0x47, 0xc7, 0xe0, 0x26, 0x30, 0x0a, 0x09,
+ 0xc7, 0x44, 0xd1, 0xeb, 0x50, 0xf4, 0x36, 0x42, 0x11, 0xa2, 0x2e, 0xdb, 0x12, 0xd7, 0xb4, 0x75,
+ 0xe6, 0x21, 0x98, 0x56, 0x97, 0x2a, 0x98, 0x56, 0x44, 0x57, 0xa1, 0x18, 0xdc, 0xae, 0x09, 0x4d,
+ 0x4a, 0xe6, 0x26, 0xc5, 0x73, 0x0b, 0x39, 0xbd, 0x62, 0x94, 0xf0, 0xdc, 0x02, 0xa6, 0x24, 0x50,
+ 0x19, 0x7a, 0x99, 0xfb, 0xb2, 0x60, 0x6d, 0x33, 0x9f, 0xf2, 0x6d, 0xc2, 0x00, 0x70, 0x8f, 0x44,
+ 0x86, 0x80, 0x39, 0x21, 0xb4, 0x06, 0x7d, 0x55, 0xd7, 0xab, 0x91, 0x40, 0xf0, 0xb2, 0x1f, 0xce,
+ 0xd4, 0x99, 0x30, 0x8c, 0x1c, 0x9a, 0x5c, 0x85, 0xc0, 0x30, 0xb0, 0xa0, 0xc5, 0xa8, 0x92, 0xe6,
+ 0xd6, 0x86, 0xbc, 0xb1, 0xb2, 0xa9, 0x92, 0xe6, 0xd6, 0x52, 0xa5, 0x2d, 0x55, 0x86, 0x81, 0x05,
+ 0x2d, 0xf4, 0x0a, 0x14, 0x36, 0xaa, 0xc2, 0x35, 0x39, 0x53, 0x79, 0x62, 0x46, 0xd1, 0x9a, 0xeb,
+ 0xdb, 0xdf, 0x2b, 0x15, 0x96, 0xe6, 0x71, 0x61, 0xa3, 0x8a, 0x56, 0xa1, 0x7f, 0x83, 0xc7, 0xdd,
+ 0x11, 0xfa, 0x91, 0x27, 0xb3, 0x43, 0x02, 0xa5, 0x42, 0xf3, 0x70, 0xef, 0x52, 0x01, 0xc0, 0x92,
+ 0x08, 0x4b, 0x40, 0xa5, 0xe2, 0x07, 0x89, 0xf0, 0xa5, 0x33, 0x87, 0x8b, 0xf9, 0xc4, 0x9f, 0x1a,
+ 0x71, 0x14, 0x22, 0xac, 0x51, 0xa4, 0xab, 0xda, 0xb9, 0xd7, 0x0a, 0x58, 0x6e, 0x0b, 0xa1, 0x1a,
+ 0xc9, 0x5c, 0xd5, 0xb3, 0x12, 0xa9, 0xdd, 0xaa, 0x56, 0x48, 0x38, 0x26, 0x8a, 0xb6, 0x61, 0x64,
+ 0x27, 0x6c, 0x6e, 0x11, 0xb9, 0xa5, 0x59, 0xd8, 0xbb, 0x1c, 0x6e, 0xf6, 0xa6, 0x40, 0x74, 0x83,
+ 0xa8, 0xe5, 0xd4, 0x53, 0xa7, 0x10, 0x7b, 0xd6, 0xdc, 0xd4, 0x89, 0x61, 0x93, 0x36, 0x1d, 0xfe,
+ 0x77, 0x5b, 0xfe, 0xed, 0xdd, 0x88, 0x88, 0xa8, 0xa3, 0x99, 0xc3, 0xff, 0x16, 0x47, 0x49, 0x0f,
+ 0xbf, 0x00, 0x60, 0x49, 0x04, 0xdd, 0x14, 0xc3, 0xc3, 0x4e, 0xcf, 0xf1, 0xfc, 0x90, 0xe6, 0xb3,
+ 0x12, 0x29, 0x67, 0x50, 0xd8, 0x69, 0x19, 0x93, 0x62, 0xa7, 0x64, 0x73, 0xcb, 0x8f, 0x7c, 0x2f,
+ 0x71, 0x42, 0x4f, 0xe4, 0x9f, 0x92, 0xe5, 0x0c, 0xfc, 0xf4, 0x29, 0x99, 0x85, 0x85, 0x33, 0xdb,
+ 0x42, 0x35, 0x18, 0x6d, 0xfa, 0x41, 0x74, 0xc7, 0x0f, 0xe4, 0xfa, 0x42, 0x6d, 0x04, 0xa5, 0x06,
+ 0xa6, 0x68, 0x91, 0x19, 0xe6, 0x98, 0x10, 0x9c, 0xa0, 0x89, 0x3e, 0x0e, 0xfd, 0x61, 0xd5, 0xa9,
+ 0x93, 0xe5, 0x1b, 0x53, 0x93, 0xf9, 0xd7, 0x4f, 0x85, 0xa3, 0xe4, 0xac, 0x2e, 0x1e, 0x36, 0x89,
+ 0xa3, 0x60, 0x49, 0x0e, 0x2d, 0x41, 0x2f, 0x4b, 0xec, 0xcc, 0x42, 0xe4, 0xe6, 0x44, 0x66, 0x4f,
+ 0xb9, 0xd5, 0xf0, 0xb3, 0x89, 0x15, 0x63, 0x5e, 0x9d, 0xee, 0x01, 0x21, 0x29, 0xf0, 0xc3, 0xa9,
+ 0xe3, 0xf9, 0x7b, 0x40, 0x08, 0x18, 0x6e, 0x54, 0xda, 0xed, 0x01, 0x85, 0x84, 0x63, 0xa2, 0xf4,
+ 0x64, 0xa6, 0xa7, 0xe9, 0x89, 0x36, 0x26, 0x93, 0xb9, 0x67, 0x29, 0x3b, 0x99, 0xe9, 0x49, 0x4a,
+ 0x49, 0xd8, 0x7f, 0x30, 0x90, 0xe6, 0x59, 0x98, 0x84, 0xe9, 0x3f, 0xb7, 0x52, 0x36, 0x13, 0x1f,
+ 0xe9, 0x56, 0xe0, 0xfd, 0x00, 0x1f, 0xae, 0x9f, 0xb7, 0xe0, 0x44, 0x33, 0xf3, 0x43, 0x04, 0x03,
+ 0xd0, 0x9d, 0xdc, 0x9c, 0x7f, 0xba, 0x0a, 0xa7, 0x9c, 0x0d, 0xc7, 0x39, 0x2d, 0x25, 0x85, 0x03,
+ 0xc5, 0xf7, 0x2c, 0x1c, 0x58, 0x81, 0x81, 0x2a, 0x7f, 0xc9, 0xc9, 0x34, 0x00, 0x5d, 0x05, 0x03,
+ 0x65, 0xac, 0x84, 0x78, 0x02, 0x6e, 0x60, 0x45, 0x02, 0xfd, 0xa4, 0x05, 0x67, 0x92, 0x5d, 0xc7,
+ 0x84, 0x81, 0x85, 0xc1, 0x24, 0x17, 0x6b, 0x2d, 0x89, 0xef, 0x4f, 0xf1, 0xff, 0x06, 0xf2, 0x41,
+ 0x27, 0x04, 0xdc, 0xbe, 0x31, 0xb4, 0x90, 0x21, 0x57, 0xeb, 0x33, 0x35, 0x8a, 0x5d, 0xc8, 0xd6,
+ 0x5e, 0x84, 0xe1, 0x86, 0xdf, 0xf2, 0x22, 0x61, 0xf7, 0x28, 0x8c, 0xa7, 0x98, 0xd1, 0xd0, 0x8a,
+ 0x56, 0x8e, 0x0d, 0xac, 0x84, 0x44, 0x6e, 0xe0, 0xbe, 0x25, 0x72, 0xef, 0xc0, 0xb0, 0xa7, 0xb9,
+ 0x04, 0xb4, 0x7b, 0xc1, 0x0a, 0xe9, 0xa2, 0x86, 0xcd, 0x7b, 0xa9, 0x97, 0x60, 0x83, 0x5a, 0x7b,
+ 0x69, 0x19, 0xbc, 0x37, 0x69, 0xd9, 0x91, 0x3e, 0x89, 0xed, 0x5f, 0x2f, 0x64, 0xbc, 0x18, 0xb8,
+ 0x54, 0xee, 0x35, 0x53, 0x2a, 0x77, 0x3e, 0x29, 0x95, 0x4b, 0xa9, 0xaa, 0x0c, 0x81, 0x5c, 0xf7,
+ 0x19, 0x25, 0xbb, 0x0e, 0xf0, 0xfc, 0xc3, 0x16, 0x9c, 0x64, 0xba, 0x0f, 0xda, 0xc0, 0x7b, 0xd6,
+ 0x77, 0x30, 0x93, 0xd4, 0xeb, 0xd9, 0xe4, 0x70, 0x5e, 0x3b, 0x76, 0x1d, 0xce, 0x75, 0xba, 0x77,
+ 0x99, 0x85, 0x6f, 0x4d, 0x19, 0x47, 0xc4, 0x16, 0xbe, 0xb5, 0xe5, 0x05, 0xcc, 0x20, 0xdd, 0x86,
+ 0x2f, 0xb4, 0xff, 0x7f, 0x0b, 0x8a, 0x65, 0xbf, 0x76, 0x04, 0x2f, 0xfa, 0x8f, 0x19, 0x2f, 0xfa,
+ 0x47, 0xb2, 0x6f, 0xfc, 0x5a, 0xae, 0xb2, 0x6f, 0x31, 0xa1, 0xec, 0x3b, 0x93, 0x47, 0xa0, 0xbd,
+ 0x6a, 0xef, 0x97, 0x8a, 0x30, 0x54, 0xf6, 0x6b, 0x6a, 0x9f, 0xfd, 0xaf, 0xf7, 0xe3, 0xc8, 0x93,
+ 0x9b, 0x7d, 0x4a, 0xa3, 0xcc, 0x2c, 0x7a, 0x65, 0xdc, 0x89, 0xef, 0x32, 0x7f, 0x9e, 0x5b, 0xc4,
+ 0xdd, 0xdc, 0x8a, 0x48, 0x2d, 0xf9, 0x39, 0x47, 0xe7, 0xcf, 0xf3, 0xed, 0x22, 0x8c, 0x25, 0x5a,
+ 0x47, 0x75, 0x18, 0xa9, 0xeb, 0xaa, 0x24, 0xb1, 0x4e, 0xef, 0x4b, 0x0b, 0x25, 0xfc, 0x21, 0xb4,
+ 0x22, 0x6c, 0x12, 0x47, 0x33, 0x00, 0x9e, 0x6e, 0x15, 0xae, 0x02, 0x15, 0x6b, 0x16, 0xe1, 0x1a,
+ 0x06, 0x7a, 0x09, 0x86, 0x22, 0xbf, 0xe9, 0xd7, 0xfd, 0xcd, 0xdd, 0x6b, 0x44, 0x46, 0xb6, 0x54,
+ 0x46, 0xc3, 0x6b, 0x31, 0x08, 0xeb, 0x78, 0xe8, 0x2e, 0x4c, 0x28, 0x22, 0x95, 0x07, 0xa0, 0x5e,
+ 0x63, 0x62, 0x93, 0xd5, 0x24, 0x45, 0x9c, 0x6e, 0x04, 0xbd, 0x02, 0xa3, 0xcc, 0x7a, 0x99, 0xd5,
+ 0xbf, 0x46, 0x76, 0x65, 0xc4, 0x63, 0xc6, 0x61, 0xaf, 0x18, 0x10, 0x9c, 0xc0, 0x44, 0xf3, 0x30,
+ 0xd1, 0x70, 0xc3, 0x44, 0xf5, 0x3e, 0x56, 0x9d, 0x75, 0x60, 0x25, 0x09, 0xc4, 0x69, 0x7c, 0xfb,
+ 0x57, 0xc5, 0x1c, 0x7b, 0x91, 0xfb, 0xc1, 0x76, 0x7c, 0x7f, 0x6f, 0xc7, 0x6f, 0x59, 0x30, 0x4e,
+ 0x5b, 0x67, 0x26, 0x99, 0x92, 0x91, 0x52, 0x39, 0x31, 0xac, 0x36, 0x39, 0x31, 0xce, 0xd3, 0x63,
+ 0xbb, 0xe6, 0xb7, 0x22, 0x21, 0x1d, 0xd5, 0xce, 0x65, 0x5a, 0x8a, 0x05, 0x54, 0xe0, 0x91, 0x20,
+ 0x10, 0x7e, 0xef, 0x3a, 0x1e, 0x09, 0x02, 0x2c, 0xa0, 0x32, 0x65, 0x46, 0x4f, 0x76, 0xca, 0x0c,
+ 0x1e, 0xf9, 0x5c, 0x58, 0xc1, 0x09, 0x96, 0x56, 0x8b, 0x7c, 0x2e, 0xcd, 0xe3, 0x62, 0x1c, 0xfb,
+ 0xeb, 0x45, 0x18, 0x2e, 0xfb, 0xb5, 0xd8, 0xb0, 0xe3, 0x45, 0xc3, 0xb0, 0xe3, 0x5c, 0xc2, 0xb0,
+ 0x63, 0x5c, 0xc7, 0xfd, 0xc0, 0x8c, 0xe3, 0x3b, 0x65, 0xc6, 0xf1, 0x87, 0x16, 0x9b, 0xb5, 0x85,
+ 0xd5, 0x0a, 0xb7, 0xf0, 0x45, 0x97, 0x60, 0x88, 0x9d, 0x70, 0x2c, 0xd0, 0x82, 0xb4, 0x76, 0x60,
+ 0x29, 0x2c, 0x57, 0xe3, 0x62, 0xac, 0xe3, 0xa0, 0x0b, 0x30, 0x10, 0x12, 0x27, 0xa8, 0x6e, 0xa9,
+ 0xe3, 0x5d, 0x98, 0x26, 0xf0, 0x32, 0xac, 0xa0, 0xe8, 0xad, 0x38, 0xe8, 0x76, 0x31, 0xdf, 0x5c,
+ 0x58, 0xef, 0x0f, 0xdf, 0x22, 0xf9, 0x91, 0xb6, 0xed, 0x5b, 0x80, 0xd2, 0xf8, 0x5d, 0xf8, 0x5f,
+ 0x95, 0xcc, 0xb0, 0xb0, 0x83, 0xa9, 0x90, 0xb0, 0xff, 0x62, 0xc1, 0x68, 0xd9, 0xaf, 0xd1, 0xad,
+ 0xfb, 0xbd, 0xb4, 0x4f, 0xf5, 0x8c, 0x03, 0x7d, 0x6d, 0x32, 0x0e, 0x3c, 0x06, 0xbd, 0x65, 0xbf,
+ 0xd6, 0x21, 0x74, 0xed, 0x7f, 0x63, 0x41, 0x7f, 0xd9, 0xaf, 0x1d, 0x81, 0xe2, 0xe5, 0x35, 0x53,
+ 0xf1, 0x72, 0x32, 0x67, 0xdd, 0xe4, 0xe8, 0x5a, 0xfe, 0xa4, 0x07, 0x46, 0x68, 0x3f, 0xfd, 0x4d,
+ 0x39, 0x95, 0xc6, 0xb0, 0x59, 0x5d, 0x0c, 0x1b, 0x7d, 0x06, 0xf8, 0xf5, 0xba, 0x7f, 0x27, 0x39,
+ 0xad, 0x4b, 0xac, 0x14, 0x0b, 0x28, 0x7a, 0x16, 0x06, 0x9a, 0x01, 0xd9, 0x71, 0x7d, 0xc1, 0x5f,
+ 0x6b, 0x6a, 0xac, 0xb2, 0x28, 0xc7, 0x0a, 0x83, 0x3e, 0xbc, 0x43, 0xd7, 0xa3, 0xbc, 0x44, 0xd5,
+ 0xf7, 0x6a, 0x5c, 0x37, 0x51, 0x14, 0x69, 0xb1, 0xb4, 0x72, 0x6c, 0x60, 0xa1, 0x5b, 0x30, 0xc8,
+ 0xfe, 0xb3, 0x63, 0xa7, 0xf7, 0xd0, 0xc7, 0x8e, 0x48, 0x14, 0x2c, 0x08, 0xe0, 0x98, 0x16, 0x7a,
+ 0x1e, 0x20, 0x92, 0xa9, 0x65, 0x42, 0x11, 0xc2, 0x54, 0xbd, 0x45, 0x54, 0xd2, 0x99, 0x10, 0x6b,
+ 0x58, 0xe8, 0x19, 0x18, 0x8c, 0x1c, 0xb7, 0x7e, 0xdd, 0xf5, 0x98, 0xfe, 0x9e, 0xf6, 0x5f, 0xe4,
+ 0xeb, 0x15, 0x85, 0x38, 0x86, 0x53, 0x5e, 0x90, 0xc5, 0x84, 0x9a, 0xdb, 0x8d, 0x44, 0x6a, 0xba,
+ 0x22, 0xe7, 0x05, 0xaf, 0xab, 0x52, 0xac, 0x61, 0xa0, 0x2d, 0x38, 0xed, 0x7a, 0x2c, 0x85, 0x14,
+ 0xa9, 0x6c, 0xbb, 0xcd, 0xb5, 0xeb, 0x95, 0x9b, 0x24, 0x70, 0x37, 0x76, 0xe7, 0x9c, 0xea, 0x36,
+ 0xf1, 0x64, 0x42, 0xfc, 0xc7, 0x45, 0x17, 0x4f, 0x2f, 0xb7, 0xc1, 0xc5, 0x6d, 0x29, 0x21, 0x9b,
+ 0x6e, 0xc7, 0x80, 0x38, 0x0d, 0x21, 0x13, 0xe0, 0xe9, 0x67, 0x58, 0x09, 0x16, 0x10, 0xfb, 0x05,
+ 0xb6, 0x27, 0x6e, 0x54, 0xd0, 0xd3, 0xc6, 0xf1, 0x72, 0x42, 0x3f, 0x5e, 0x0e, 0xf6, 0x4a, 0x7d,
+ 0x37, 0x2a, 0x5a, 0x7c, 0xa0, 0xcb, 0x70, 0xbc, 0xec, 0xd7, 0xca, 0x7e, 0x10, 0x2d, 0xf9, 0xc1,
+ 0x1d, 0x27, 0xa8, 0xc9, 0x25, 0x58, 0x92, 0x11, 0x92, 0xe8, 0x19, 0xdb, 0xcb, 0x4f, 0x20, 0x23,
+ 0xfa, 0xd1, 0x0b, 0x8c, 0xab, 0x3b, 0xa4, 0x43, 0x6a, 0x95, 0xf1, 0x17, 0x2a, 0x51, 0xdb, 0x15,
+ 0x27, 0x22, 0xe8, 0x06, 0x8c, 0x54, 0xf5, 0xab, 0x56, 0x54, 0x7f, 0x4a, 0x5e, 0x76, 0xc6, 0x3d,
+ 0x9c, 0x79, 0x37, 0x9b, 0xf5, 0xed, 0x6f, 0x5a, 0xa2, 0x15, 0x2e, 0xad, 0xe0, 0x76, 0xaf, 0x9d,
+ 0xcf, 0xdc, 0x79, 0x98, 0x08, 0xf4, 0x2a, 0x9a, 0xfd, 0xd8, 0x71, 0x9e, 0xf9, 0x26, 0x01, 0xc4,
+ 0x69, 0x7c, 0xf4, 0x49, 0x38, 0x65, 0x14, 0x4a, 0x55, 0xba, 0x96, 0x7f, 0x9a, 0xc9, 0x73, 0x70,
+ 0x1e, 0x12, 0xce, 0xaf, 0x6f, 0xff, 0x20, 0x9c, 0x48, 0x7e, 0x97, 0x90, 0xb0, 0xdc, 0xe7, 0xd7,
+ 0x15, 0x0e, 0xf7, 0x75, 0xf6, 0x4b, 0x30, 0x41, 0x9f, 0xde, 0x8a, 0x8d, 0x64, 0xf3, 0xd7, 0x39,
+ 0x08, 0xd5, 0x6f, 0x0e, 0xb0, 0x6b, 0x30, 0x91, 0x7d, 0x0d, 0x7d, 0x1a, 0x46, 0x43, 0xc2, 0x22,
+ 0xaf, 0x49, 0xc9, 0x5e, 0x1b, 0x6f, 0xf2, 0xca, 0xa2, 0x8e, 0xc9, 0x5f, 0x2f, 0x66, 0x19, 0x4e,
+ 0x50, 0x43, 0x0d, 0x18, 0xbd, 0xe3, 0x7a, 0x35, 0xff, 0x4e, 0x28, 0xe9, 0x0f, 0xe4, 0xab, 0x09,
+ 0x6e, 0x71, 0xcc, 0x44, 0x1f, 0x8d, 0xe6, 0x6e, 0x19, 0xc4, 0x70, 0x82, 0x38, 0x3d, 0x6a, 0x82,
+ 0x96, 0x37, 0x1b, 0xae, 0x87, 0x24, 0x10, 0x71, 0xe1, 0xd8, 0x51, 0x83, 0x65, 0x21, 0x8e, 0xe1,
+ 0xf4, 0xa8, 0x61, 0x7f, 0x98, 0x3b, 0x3a, 0x3b, 0xcb, 0xc4, 0x51, 0x83, 0x55, 0x29, 0xd6, 0x30,
+ 0xe8, 0x51, 0xcc, 0xfe, 0xad, 0xfa, 0x1e, 0xf6, 0xfd, 0x48, 0x1e, 0xde, 0x2c, 0x55, 0xa5, 0x56,
+ 0x8e, 0x0d, 0xac, 0x9c, 0x28, 0x74, 0x3d, 0x87, 0x8d, 0x42, 0x87, 0xa2, 0x36, 0x1e, 0xf8, 0x3c,
+ 0x1a, 0xf2, 0xe5, 0x76, 0x1e, 0xf8, 0x07, 0xf7, 0xe5, 0x9d, 0x4f, 0x79, 0x81, 0x0d, 0x31, 0x40,
+ 0xbd, 0x3c, 0xcc, 0x1e, 0x53, 0x64, 0x56, 0xf8, 0xe8, 0x48, 0x18, 0x5a, 0x84, 0xfe, 0x70, 0x37,
+ 0xac, 0x46, 0xf5, 0xb0, 0x5d, 0x3a, 0xd2, 0x0a, 0x43, 0xd1, 0xb2, 0x61, 0xf3, 0x2a, 0x58, 0xd6,
+ 0x45, 0x55, 0x98, 0x14, 0x14, 0xe7, 0xb7, 0x1c, 0x4f, 0x25, 0x49, 0xe4, 0x16, 0x8b, 0x97, 0xf6,
+ 0xf7, 0x4a, 0x93, 0xa2, 0x65, 0x1d, 0x7c, 0xb0, 0x57, 0xa2, 0x5b, 0x32, 0x03, 0x82, 0xb3, 0xa8,
+ 0xf1, 0x25, 0x5f, 0xad, 0xfa, 0x8d, 0x66, 0x39, 0xf0, 0x37, 0xdc, 0x3a, 0x69, 0xa7, 0x0c, 0xae,
+ 0x18, 0x98, 0x62, 0xc9, 0x1b, 0x65, 0x38, 0x41, 0x0d, 0xdd, 0x86, 0x31, 0xa7, 0xd9, 0x9c, 0x0d,
+ 0x1a, 0x7e, 0x20, 0x1b, 0x18, 0xca, 0xd7, 0x2a, 0xcc, 0x9a, 0xa8, 0x3c, 0x47, 0x62, 0xa2, 0x10,
+ 0x27, 0x09, 0xd2, 0x81, 0x12, 0x1b, 0xcd, 0x18, 0xa8, 0x91, 0x78, 0xa0, 0xc4, 0xbe, 0xcc, 0x18,
+ 0xa8, 0x0c, 0x08, 0xce, 0xa2, 0x66, 0xff, 0x00, 0x63, 0xfc, 0x2b, 0xee, 0xa6, 0xc7, 0x9c, 0xe3,
+ 0x50, 0x03, 0x46, 0x9a, 0xec, 0xd8, 0x17, 0xf9, 0xcb, 0xc4, 0x51, 0xf1, 0x62, 0x97, 0xc2, 0xcb,
+ 0x3b, 0x2c, 0x03, 0xab, 0x61, 0xc4, 0x5a, 0xd6, 0xc9, 0x61, 0x93, 0xba, 0xfd, 0x8b, 0xd3, 0x8c,
+ 0x75, 0xac, 0x70, 0x89, 0x64, 0xbf, 0x70, 0x55, 0x14, 0x32, 0x88, 0xe9, 0x7c, 0xd9, 0x7f, 0xbc,
+ 0xbe, 0x84, 0xbb, 0x23, 0x96, 0x75, 0xd1, 0xa7, 0x60, 0x94, 0x3e, 0xe9, 0x15, 0xfb, 0x16, 0x4e,
+ 0x1d, 0xcb, 0x8f, 0x81, 0xa5, 0xb0, 0xf4, 0xdc, 0x86, 0x7a, 0x65, 0x9c, 0x20, 0x86, 0xde, 0x62,
+ 0x76, 0x9d, 0x92, 0x74, 0xa1, 0x1b, 0xd2, 0xba, 0x09, 0xa7, 0x24, 0xab, 0x11, 0x41, 0x2d, 0x98,
+ 0x4c, 0x67, 0x70, 0x0e, 0xa7, 0xec, 0xfc, 0xb7, 0x51, 0x3a, 0x09, 0x73, 0x9c, 0x84, 0x2e, 0x0d,
+ 0x0b, 0x71, 0x16, 0x7d, 0x74, 0x3d, 0x99, 0x5f, 0xb7, 0x68, 0x68, 0x0d, 0x52, 0x39, 0x76, 0x47,
+ 0xda, 0xa6, 0xd6, 0xdd, 0x84, 0x33, 0x5a, 0x8a, 0xd2, 0x2b, 0x81, 0xc3, 0xec, 0x8a, 0x5c, 0x76,
+ 0x1b, 0x69, 0x4c, 0xed, 0xa3, 0xfb, 0x7b, 0xa5, 0x33, 0x6b, 0xed, 0x10, 0x71, 0x7b, 0x3a, 0xe8,
+ 0x06, 0x1c, 0xe7, 0x11, 0x5c, 0x16, 0x88, 0x53, 0xab, 0xbb, 0x9e, 0xe2, 0x9a, 0xf9, 0xd9, 0x75,
+ 0x6a, 0x7f, 0xaf, 0x74, 0x7c, 0x36, 0x0b, 0x01, 0x67, 0xd7, 0x43, 0xaf, 0xc1, 0x60, 0xcd, 0x93,
+ 0xa7, 0x6c, 0x9f, 0x91, 0x05, 0x76, 0x70, 0x61, 0xb5, 0xa2, 0xbe, 0x3f, 0xfe, 0x83, 0xe3, 0x0a,
+ 0x68, 0x93, 0xab, 0xad, 0x94, 0xac, 0xb1, 0x3f, 0x15, 0xd8, 0x33, 0x29, 0x8e, 0x37, 0x42, 0x22,
+ 0x70, 0x7d, 0xad, 0x72, 0xb9, 0x33, 0xa2, 0x25, 0x18, 0x84, 0xd1, 0x9b, 0x80, 0x44, 0xb6, 0xa1,
+ 0xd9, 0x2a, 0x4b, 0x8e, 0xa7, 0xd9, 0x92, 0x2a, 0x11, 0x42, 0x25, 0x85, 0x81, 0x33, 0x6a, 0xa1,
+ 0xab, 0xf4, 0x78, 0xd4, 0x4b, 0xc5, 0xf1, 0xab, 0x72, 0x8d, 0x2f, 0x90, 0x66, 0x40, 0x98, 0xf9,
+ 0xa3, 0x49, 0x11, 0x27, 0xea, 0xa1, 0x1a, 0x9c, 0x76, 0x5a, 0x91, 0xcf, 0x34, 0x82, 0x26, 0xea,
+ 0x9a, 0xbf, 0x4d, 0x3c, 0xa6, 0x8c, 0x1f, 0x60, 0x01, 0x43, 0x4f, 0xcf, 0xb6, 0xc1, 0xc3, 0x6d,
+ 0xa9, 0xd0, 0xe7, 0x14, 0x1d, 0x0b, 0x4d, 0x59, 0x67, 0x78, 0x77, 0x73, 0x0d, 0xb6, 0xc4, 0x40,
+ 0x2f, 0xc1, 0xd0, 0x96, 0x1f, 0x46, 0xab, 0x24, 0xba, 0xe3, 0x07, 0xdb, 0x22, 0xbd, 0x41, 0x9c,
+ 0x52, 0x26, 0x06, 0x61, 0x1d, 0x0f, 0x3d, 0x05, 0xfd, 0xcc, 0x54, 0x6c, 0x79, 0x81, 0xdd, 0xb5,
+ 0x03, 0xf1, 0x19, 0x73, 0x95, 0x17, 0x63, 0x09, 0x97, 0xa8, 0xcb, 0xe5, 0x79, 0x76, 0x1c, 0x27,
+ 0x50, 0x97, 0xcb, 0xf3, 0x58, 0xc2, 0xe9, 0x72, 0x0d, 0xb7, 0x9c, 0x80, 0x94, 0x03, 0xbf, 0x4a,
+ 0x42, 0x2d, 0x91, 0xd1, 0x23, 0x3c, 0x79, 0x03, 0x5d, 0xae, 0x95, 0x2c, 0x04, 0x9c, 0x5d, 0x0f,
+ 0x91, 0x74, 0x7a, 0xde, 0xd1, 0x7c, 0x55, 0x69, 0x9a, 0x1d, 0xec, 0x32, 0x43, 0xaf, 0x07, 0xe3,
+ 0x2a, 0x31, 0x30, 0x4f, 0xd7, 0x10, 0x4e, 0x8d, 0xb1, 0xb5, 0xdd, 0x7d, 0xae, 0x07, 0xa5, 0x7c,
+ 0x5e, 0x4e, 0x50, 0xc2, 0x29, 0xda, 0x46, 0x44, 0xda, 0xf1, 0x8e, 0x11, 0x69, 0x2f, 0xc2, 0x60,
+ 0xd8, 0xba, 0x5d, 0xf3, 0x1b, 0x8e, 0xeb, 0x31, 0x8b, 0x1b, 0xed, 0xe1, 0x5e, 0x91, 0x00, 0x1c,
+ 0xe3, 0xa0, 0x25, 0x18, 0x70, 0xa4, 0x66, 0x19, 0xe5, 0x07, 0xdb, 0x53, 0xfa, 0x64, 0x1e, 0x7f,
+ 0x4a, 0xea, 0x92, 0x55, 0x5d, 0xf4, 0x2a, 0x8c, 0x88, 0x80, 0x1e, 0x22, 0x97, 0xfe, 0xa4, 0xe9,
+ 0xbe, 0x5c, 0xd1, 0x81, 0xd8, 0xc4, 0x45, 0xeb, 0x30, 0x14, 0xf9, 0x75, 0xe6, 0x83, 0x4b, 0xb9,
+ 0xe4, 0x13, 0xf9, 0x31, 0x71, 0xd7, 0x14, 0x9a, 0xae, 0xf3, 0x50, 0x55, 0xb1, 0x4e, 0x07, 0xad,
+ 0xf1, 0xf5, 0xce, 0xd2, 0x16, 0x91, 0x50, 0x24, 0x63, 0x3f, 0x93, 0x67, 0x2e, 0xc9, 0xd0, 0xcc,
+ 0xed, 0x20, 0x6a, 0x62, 0x9d, 0x0c, 0xba, 0x02, 0x13, 0xcd, 0xc0, 0xf5, 0xd9, 0x9a, 0x50, 0x9a,
+ 0xf2, 0x29, 0x33, 0x49, 0x69, 0x39, 0x89, 0x80, 0xd3, 0x75, 0x58, 0x3c, 0x16, 0x51, 0x38, 0x75,
+ 0x8a, 0x27, 0x5a, 0xe3, 0x72, 0x10, 0x5e, 0x86, 0x15, 0x14, 0xad, 0xb0, 0x93, 0x98, 0x8b, 0xf0,
+ 0xa6, 0xa6, 0xf3, 0xbd, 0xfc, 0x75, 0x51, 0x1f, 0xe7, 0xfd, 0xd5, 0x5f, 0x1c, 0x53, 0x40, 0x35,
+ 0x2d, 0xbf, 0x39, 0x7d, 0x41, 0x85, 0x53, 0xa7, 0xdb, 0xd8, 0xeb, 0x26, 0x9e, 0xcb, 0x31, 0x43,
+ 0x60, 0x14, 0x87, 0x38, 0x41, 0x13, 0xbd, 0x01, 0xe3, 0x22, 0x58, 0x41, 0x3c, 0x4c, 0x67, 0x62,
+ 0x9f, 0x26, 0x9c, 0x80, 0xe1, 0x14, 0x36, 0x4f, 0x74, 0xe6, 0xdc, 0xae, 0x13, 0x71, 0xf4, 0x5d,
+ 0x77, 0xbd, 0xed, 0x70, 0xea, 0x2c, 0x3b, 0x1f, 0x44, 0xa2, 0xb3, 0x24, 0x14, 0x67, 0xd4, 0x40,
+ 0x6b, 0x30, 0xde, 0x0c, 0x08, 0x69, 0xb0, 0x77, 0x92, 0xb8, 0xcf, 0x4a, 0x3c, 0x1c, 0x11, 0xed,
+ 0x49, 0x39, 0x01, 0x3b, 0xc8, 0x28, 0xc3, 0x29, 0x0a, 0xe8, 0x0e, 0x0c, 0xf8, 0x3b, 0x24, 0xd8,
+ 0x22, 0x4e, 0x6d, 0xea, 0x5c, 0x1b, 0x4f, 0x3b, 0x71, 0xb9, 0xdd, 0x10, 0xb8, 0x09, 0x43, 0x24,
+ 0x59, 0xdc, 0xd9, 0x10, 0x49, 0x36, 0x86, 0xfe, 0x0b, 0x0b, 0x4e, 0x49, 0xd5, 0x5e, 0xa5, 0x49,
+ 0x47, 0x7d, 0xde, 0xf7, 0xc2, 0x28, 0xe0, 0x01, 0x74, 0x1e, 0xcd, 0x0f, 0x2a, 0xb3, 0x96, 0x53,
+ 0x49, 0x69, 0x11, 0x4e, 0xe5, 0x61, 0x84, 0x38, 0xbf, 0x45, 0xfa, 0xb2, 0x0f, 0x49, 0x24, 0x0f,
+ 0xa3, 0xd9, 0x70, 0xe9, 0xad, 0x85, 0xd5, 0xa9, 0xc7, 0x78, 0xf4, 0x1f, 0xba, 0x19, 0x2a, 0x49,
+ 0x20, 0x4e, 0xe3, 0xa3, 0x4b, 0x50, 0xf0, 0xc3, 0xa9, 0xc7, 0xdb, 0xa4, 0xc4, 0xf7, 0x6b, 0x37,
+ 0x2a, 0xdc, 0x20, 0xf5, 0x46, 0x05, 0x17, 0xfc, 0x50, 0x26, 0x1b, 0xa3, 0xcf, 0xd9, 0x70, 0xea,
+ 0x09, 0x2e, 0x73, 0x96, 0xc9, 0xc6, 0x58, 0x21, 0x8e, 0xe1, 0x68, 0x0b, 0xc6, 0x42, 0x43, 0x6c,
+ 0x10, 0x4e, 0x9d, 0x67, 0x23, 0xf5, 0x44, 0xde, 0xa4, 0x19, 0xd8, 0x5a, 0x16, 0x20, 0x93, 0x0a,
+ 0x4e, 0x92, 0xe5, 0xbb, 0x4b, 0x13, 0x5c, 0x84, 0x53, 0x4f, 0x76, 0xd8, 0x5d, 0x1a, 0xb2, 0xbe,
+ 0xbb, 0x74, 0x1a, 0x38, 0x41, 0x13, 0xad, 0xeb, 0x6e, 0x8c, 0x17, 0xf2, 0x8d, 0x1b, 0x33, 0x1d,
+ 0x18, 0x47, 0xf2, 0x9c, 0x17, 0xa7, 0xbf, 0x0f, 0x26, 0x52, 0x5c, 0xd8, 0x61, 0x7c, 0x3a, 0xa6,
+ 0xb7, 0x61, 0xc4, 0x58, 0xe9, 0x0f, 0xd5, 0xe4, 0xe7, 0xcf, 0x06, 0x61, 0x50, 0x99, 0x62, 0xa0,
+ 0x8b, 0xa6, 0x95, 0xcf, 0xa9, 0xa4, 0x95, 0xcf, 0x40, 0xd9, 0xaf, 0x19, 0x86, 0x3d, 0x6b, 0x19,
+ 0xb1, 0x72, 0xf3, 0xce, 0xd5, 0xee, 0x1d, 0xcf, 0x34, 0xf5, 0x52, 0xb1, 0x6b, 0x73, 0xa1, 0x9e,
+ 0xb6, 0x1a, 0xab, 0x2b, 0x30, 0xe1, 0xf9, 0x8c, 0xf5, 0x27, 0x35, 0xc9, 0xd7, 0x31, 0xf6, 0x6d,
+ 0x50, 0x8f, 0xe5, 0x96, 0x40, 0xc0, 0xe9, 0x3a, 0xb4, 0x41, 0xce, 0x7f, 0x25, 0x55, 0x64, 0x9c,
+ 0x3d, 0xc3, 0x02, 0x4a, 0x9f, 0x9c, 0xfc, 0x57, 0x38, 0x35, 0x9e, 0xff, 0xe4, 0xe4, 0x95, 0x92,
+ 0x3c, 0x5e, 0x28, 0x79, 0x3c, 0xa6, 0x11, 0x6a, 0xfa, 0xb5, 0xe5, 0xb2, 0x78, 0x3d, 0x68, 0x51,
+ 0xec, 0x6b, 0xcb, 0x65, 0xcc, 0x61, 0x68, 0x16, 0xfa, 0xd8, 0x0f, 0x19, 0x23, 0x27, 0x6f, 0xf7,
+ 0x2f, 0x97, 0xb5, 0x1c, 0xaa, 0xac, 0x02, 0x16, 0x15, 0x99, 0xc4, 0x9f, 0x3e, 0xb9, 0x98, 0xc4,
+ 0xbf, 0xff, 0x3e, 0x25, 0xfe, 0x92, 0x00, 0x8e, 0x69, 0xa1, 0xbb, 0x70, 0xdc, 0x78, 0xe6, 0x2a,
+ 0x4f, 0x3c, 0xc8, 0x37, 0x06, 0x48, 0x20, 0xcf, 0x9d, 0x11, 0x9d, 0x3e, 0xbe, 0x9c, 0x45, 0x09,
+ 0x67, 0x37, 0x80, 0xea, 0x30, 0x51, 0x4d, 0xb5, 0x3a, 0xd0, 0x7d, 0xab, 0x6a, 0x5d, 0xa4, 0x5b,
+ 0x4c, 0x13, 0x46, 0xaf, 0xc2, 0xc0, 0xbb, 0x3e, 0x37, 0xdc, 0x13, 0x2f, 0x1e, 0x19, 0x05, 0x66,
+ 0xe0, 0xad, 0x1b, 0x15, 0x56, 0x7e, 0xb0, 0x57, 0x1a, 0x2a, 0xfb, 0x35, 0xf9, 0x17, 0xab, 0x0a,
+ 0xe8, 0xc7, 0x2c, 0x98, 0x4e, 0xbf, 0xa3, 0x55, 0xa7, 0x47, 0xba, 0xef, 0xb4, 0x2d, 0x1a, 0x9d,
+ 0x5e, 0xcc, 0x25, 0x87, 0xdb, 0x34, 0x85, 0x3e, 0x4a, 0xf7, 0x53, 0xe8, 0xde, 0x23, 0x22, 0x01,
+ 0xfd, 0xa3, 0xf1, 0x7e, 0xa2, 0xa5, 0x07, 0x7b, 0xa5, 0x31, 0x7e, 0xe0, 0xba, 0xf7, 0x54, 0xbc,
+ 0x7d, 0x5e, 0x01, 0xfd, 0x20, 0x1c, 0x0f, 0xd2, 0x72, 0x6d, 0x22, 0x79, 0xfb, 0xa7, 0xbb, 0x39,
+ 0xbc, 0x93, 0x13, 0x8e, 0xb3, 0x08, 0xe2, 0xec, 0x76, 0xec, 0xdf, 0xb3, 0x98, 0x3e, 0x43, 0x74,
+ 0x8b, 0x84, 0xad, 0x7a, 0x74, 0x04, 0xc6, 0x72, 0x8b, 0x86, 0x3d, 0xc1, 0x7d, 0x5b, 0xbb, 0xfd,
+ 0x2f, 0x16, 0xb3, 0x76, 0x3b, 0x42, 0xbf, 0xbd, 0xb7, 0x60, 0x20, 0x12, 0xad, 0x89, 0xae, 0xe7,
+ 0x59, 0xe6, 0xc8, 0x4e, 0x31, 0x8b, 0x3f, 0xf5, 0x76, 0x92, 0xa5, 0x58, 0x91, 0xb1, 0xff, 0x47,
+ 0x3e, 0x03, 0x12, 0x72, 0x04, 0x6a, 0xdb, 0x05, 0x53, 0x6d, 0x5b, 0xea, 0xf0, 0x05, 0x39, 0xea,
+ 0xdb, 0xff, 0xc1, 0xec, 0x37, 0x93, 0x19, 0xbe, 0xdf, 0xcd, 0x2c, 0xed, 0x2f, 0x5a, 0x00, 0x71,
+ 0x82, 0x93, 0x2e, 0x12, 0x4e, 0x5f, 0xa6, 0xaf, 0x25, 0x3f, 0xf2, 0xab, 0x7e, 0x5d, 0xa8, 0x8d,
+ 0x4e, 0xc7, 0x9a, 0x63, 0x5e, 0x7e, 0xa0, 0xfd, 0xc6, 0x0a, 0x1b, 0x95, 0x64, 0xc4, 0xe1, 0x62,
+ 0x6c, 0xcb, 0x60, 0x44, 0x1b, 0xfe, 0x8a, 0x05, 0xc7, 0xb2, 0x9c, 0x40, 0xe8, 0xdb, 0x9b, 0x4b,
+ 0x4f, 0x95, 0x09, 0xac, 0x9a, 0xcd, 0x9b, 0xa2, 0x1c, 0x2b, 0x8c, 0xae, 0x33, 0x79, 0x1f, 0x2e,
+ 0xf9, 0xc6, 0x0d, 0x18, 0x29, 0x07, 0x44, 0xe3, 0x2f, 0x5e, 0x8f, 0xf3, 0x02, 0x0d, 0xce, 0x3d,
+ 0x7b, 0xe8, 0xc8, 0x4a, 0xf6, 0x57, 0x0b, 0x70, 0x8c, 0x1b, 0x72, 0xcd, 0xee, 0xf8, 0x6e, 0xad,
+ 0xec, 0xd7, 0x84, 0xeb, 0xee, 0xdb, 0x30, 0xdc, 0xd4, 0x44, 0xde, 0xed, 0x02, 0xc9, 0xeb, 0xa2,
+ 0xf1, 0x58, 0x48, 0xa7, 0x97, 0x62, 0x83, 0x16, 0xaa, 0xc1, 0x30, 0xd9, 0x71, 0xab, 0xca, 0x1a,
+ 0xa8, 0x70, 0xe8, 0x4b, 0x5a, 0xb5, 0xb2, 0xa8, 0xd1, 0xc1, 0x06, 0xd5, 0xae, 0xcd, 0xaf, 0x35,
+ 0x16, 0xad, 0xa7, 0x83, 0x05, 0xd0, 0xcf, 0x5a, 0x70, 0x32, 0x27, 0xec, 0x3c, 0x6d, 0xee, 0x0e,
+ 0x33, 0x99, 0x13, 0xcb, 0x56, 0x35, 0xc7, 0x0d, 0xe9, 0xb0, 0x80, 0xa2, 0x8f, 0x03, 0x34, 0xe3,
+ 0x94, 0x9b, 0x1d, 0xe2, 0x73, 0x1b, 0x91, 0x7a, 0xb5, 0xa0, 0xab, 0x2a, 0x33, 0xa7, 0x46, 0xcb,
+ 0xfe, 0x4a, 0x0f, 0xf4, 0x32, 0xc3, 0x2b, 0x54, 0x86, 0xfe, 0x2d, 0x1e, 0x13, 0xb0, 0xed, 0xbc,
+ 0x51, 0x5c, 0x19, 0x64, 0x30, 0x9e, 0x37, 0xad, 0x14, 0x4b, 0x32, 0x68, 0x05, 0x26, 0x79, 0x3a,
+ 0xd1, 0xfa, 0x02, 0xa9, 0x3b, 0xbb, 0x52, 0x9a, 0x5c, 0x60, 0x9f, 0xaa, 0xa4, 0xea, 0xcb, 0x69,
+ 0x14, 0x9c, 0x55, 0x0f, 0xbd, 0x0e, 0xa3, 0xf4, 0x75, 0xef, 0xb7, 0x22, 0x49, 0x89, 0xe7, 0xef,
+ 0x54, 0x0f, 0x9e, 0x35, 0x03, 0x8a, 0x13, 0xd8, 0xe8, 0x55, 0x18, 0x69, 0xa6, 0xe4, 0xe6, 0xbd,
+ 0xb1, 0x80, 0xc9, 0x94, 0x95, 0x9b, 0xb8, 0xcc, 0x0f, 0xa4, 0xc5, 0xbc, 0x5e, 0xd6, 0xb6, 0x02,
+ 0x12, 0x6e, 0xf9, 0xf5, 0x1a, 0xe3, 0x80, 0x7b, 0x35, 0x3f, 0x90, 0x04, 0x1c, 0xa7, 0x6a, 0x50,
+ 0x2a, 0x1b, 0x8e, 0x5b, 0x6f, 0x05, 0x24, 0xa6, 0xd2, 0x67, 0x52, 0x59, 0x4a, 0xc0, 0x71, 0xaa,
+ 0x46, 0x67, 0x85, 0x40, 0xff, 0x83, 0x51, 0x08, 0xd8, 0xbf, 0x5c, 0x00, 0x63, 0x6a, 0xbf, 0x87,
+ 0xf3, 0x8a, 0xbe, 0x06, 0x3d, 0x9b, 0x41, 0xb3, 0x2a, 0x8c, 0x0c, 0x33, 0xbf, 0xec, 0x0a, 0x2e,
+ 0xcf, 0xeb, 0x5f, 0x46, 0xff, 0x63, 0x56, 0x8b, 0xee, 0xf1, 0xe3, 0xe5, 0xc0, 0xa7, 0x97, 0x9c,
+ 0x0c, 0x1b, 0xaa, 0xdc, 0xad, 0xfa, 0xe5, 0x1b, 0xbb, 0x4d, 0x80, 0x6d, 0xe1, 0x33, 0xc2, 0x29,
+ 0x18, 0xf6, 0x78, 0x15, 0xf1, 0xc2, 0x96, 0x54, 0xd0, 0x25, 0x18, 0x12, 0xa9, 0x1e, 0x99, 0x57,
+ 0x10, 0xdf, 0x4c, 0xcc, 0x7e, 0x70, 0x21, 0x2e, 0xc6, 0x3a, 0x8e, 0xfd, 0xe3, 0x05, 0x98, 0xcc,
+ 0x70, 0xeb, 0xe4, 0xd7, 0xc8, 0xa6, 0x1b, 0x46, 0xc1, 0x6e, 0xf2, 0x72, 0xc2, 0xa2, 0x1c, 0x2b,
+ 0x0c, 0x7a, 0x56, 0xf1, 0x8b, 0x2a, 0x79, 0x39, 0x09, 0xb7, 0x29, 0x01, 0x3d, 0xdc, 0xe5, 0x44,
+ 0xaf, 0xed, 0x56, 0x48, 0x64, 0x2c, 0x7f, 0x75, 0x6d, 0x33, 0x63, 0x03, 0x06, 0xa1, 0x4f, 0xc0,
+ 0x4d, 0xa5, 0x41, 0xd7, 0x9e, 0x80, 0x5c, 0x87, 0xce, 0x61, 0xb4, 0x73, 0x11, 0xf1, 0x1c, 0x2f,
+ 0x12, 0x0f, 0xc5, 0x38, 0xc6, 0x33, 0x2b, 0xc5, 0x02, 0x6a, 0x7f, 0xb9, 0x08, 0xa7, 0x72, 0x1d,
+ 0xbd, 0x69, 0xd7, 0x1b, 0xbe, 0xe7, 0x46, 0xbe, 0x32, 0xcc, 0xe4, 0x71, 0x9d, 0x49, 0x73, 0x6b,
+ 0x45, 0x94, 0x63, 0x85, 0x81, 0xce, 0x43, 0x2f, 0x93, 0xb5, 0x27, 0xd3, 0xbc, 0xe1, 0xb9, 0x05,
+ 0x1e, 0x31, 0x93, 0x83, 0xb5, 0x5b, 0xbd, 0xd8, 0xf6, 0x56, 0x7f, 0x8c, 0x72, 0x30, 0x7e, 0x3d,
+ 0x79, 0xa1, 0xd0, 0xee, 0xfa, 0x7e, 0x1d, 0x33, 0x20, 0x7a, 0x42, 0x8c, 0x57, 0xc2, 0x12, 0x11,
+ 0x3b, 0x35, 0x3f, 0xd4, 0x06, 0xed, 0x29, 0xe8, 0xdf, 0x26, 0xbb, 0x81, 0xeb, 0x6d, 0x26, 0x2d,
+ 0x54, 0xaf, 0xf1, 0x62, 0x2c, 0xe1, 0x66, 0x56, 0xf3, 0xfe, 0x07, 0x91, 0xd5, 0x5c, 0x5f, 0x01,
+ 0x03, 0x1d, 0xd9, 0x93, 0x9f, 0x28, 0xc2, 0x18, 0x9e, 0x5b, 0xf8, 0x60, 0x22, 0xd6, 0xd3, 0x13,
+ 0xf1, 0x20, 0x92, 0x7f, 0x1f, 0x6e, 0x36, 0x7e, 0xdb, 0x82, 0x31, 0x96, 0x70, 0x52, 0x44, 0x69,
+ 0x71, 0x7d, 0xef, 0x08, 0x9e, 0x02, 0x8f, 0x41, 0x6f, 0x40, 0x1b, 0x15, 0x33, 0xa8, 0xf6, 0x38,
+ 0xeb, 0x09, 0xe6, 0x30, 0x74, 0x1a, 0x7a, 0x58, 0x17, 0xe8, 0xe4, 0x0d, 0xf3, 0x23, 0x78, 0xc1,
+ 0x89, 0x1c, 0xcc, 0x4a, 0x59, 0xbc, 0x48, 0x4c, 0x9a, 0x75, 0x97, 0x77, 0x3a, 0xb6, 0x84, 0x78,
+ 0x7f, 0x84, 0x80, 0xc9, 0xec, 0xda, 0x7b, 0x8b, 0x17, 0x99, 0x4d, 0xb2, 0xfd, 0x33, 0xfb, 0x1f,
+ 0x0a, 0x70, 0x36, 0xb3, 0x5e, 0xd7, 0xf1, 0x22, 0xdb, 0xd7, 0x7e, 0x98, 0xe9, 0xe9, 0x8a, 0x47,
+ 0x68, 0xff, 0xdf, 0xd3, 0x2d, 0xf7, 0xdf, 0xdb, 0x45, 0x18, 0xc7, 0xcc, 0x21, 0x7b, 0x9f, 0x84,
+ 0x71, 0xcc, 0xec, 0x5b, 0x8e, 0x98, 0xe0, 0x5f, 0x0b, 0x39, 0xdf, 0xc2, 0x04, 0x06, 0x17, 0xe8,
+ 0x39, 0xc3, 0x80, 0xa1, 0x7c, 0x84, 0xf3, 0x33, 0x86, 0x97, 0x61, 0x05, 0x45, 0xb3, 0x30, 0xd6,
+ 0x70, 0x3d, 0x7a, 0xf8, 0xec, 0x9a, 0xac, 0xb8, 0x52, 0x91, 0xac, 0x98, 0x60, 0x9c, 0xc4, 0x47,
+ 0xae, 0x16, 0xe2, 0x91, 0x7f, 0xdd, 0xab, 0x87, 0xda, 0x75, 0x33, 0xa6, 0x95, 0x88, 0x1a, 0xc5,
+ 0x8c, 0x70, 0x8f, 0x2b, 0x9a, 0x9c, 0xa8, 0xd8, 0xbd, 0x9c, 0x68, 0x38, 0x5b, 0x46, 0x34, 0xfd,
+ 0x2a, 0x8c, 0xdc, 0xb7, 0x6e, 0xc4, 0xfe, 0x56, 0x11, 0x1e, 0x69, 0xb3, 0xed, 0xf9, 0x59, 0x6f,
+ 0xcc, 0x81, 0x76, 0xd6, 0xa7, 0xe6, 0xa1, 0x0c, 0xc7, 0x36, 0x5a, 0xf5, 0xfa, 0x2e, 0x73, 0x74,
+ 0x23, 0x35, 0x89, 0x21, 0x78, 0x4a, 0x29, 0x1c, 0x39, 0xb6, 0x94, 0x81, 0x83, 0x33, 0x6b, 0xd2,
+ 0x27, 0x16, 0xbd, 0x49, 0x76, 0x15, 0xa9, 0xc4, 0x13, 0x0b, 0xeb, 0x40, 0x6c, 0xe2, 0xa2, 0x2b,
+ 0x30, 0xe1, 0xec, 0x38, 0x2e, 0x4f, 0xef, 0x21, 0x09, 0xf0, 0x37, 0x96, 0x92, 0x45, 0xcf, 0x26,
+ 0x11, 0x70, 0xba, 0x0e, 0x7a, 0x13, 0x90, 0x7f, 0x9b, 0x39, 0xcf, 0xd4, 0xae, 0x10, 0x4f, 0x28,
+ 0xf3, 0xd9, 0xdc, 0x15, 0xe3, 0x23, 0xe1, 0x46, 0x0a, 0x03, 0x67, 0xd4, 0x4a, 0x04, 0x1b, 0xec,
+ 0xcb, 0x0f, 0x36, 0xd8, 0xfe, 0x5c, 0xec, 0x98, 0x19, 0xf1, 0x1d, 0x18, 0x39, 0xac, 0xb5, 0xf7,
+ 0x53, 0xd0, 0x1f, 0x88, 0x9c, 0xf3, 0x09, 0xaf, 0x72, 0x99, 0x91, 0x5b, 0xc2, 0xed, 0xff, 0xc7,
+ 0x02, 0x25, 0x4b, 0x36, 0xe3, 0x8a, 0xbf, 0xca, 0x4c, 0xd7, 0xb9, 0x14, 0x5c, 0x0b, 0x25, 0x76,
+ 0x5c, 0x33, 0x5d, 0x8f, 0x81, 0xd8, 0xc4, 0xe5, 0xcb, 0x2d, 0x8c, 0x23, 0x58, 0x18, 0x0f, 0x08,
+ 0xa1, 0x35, 0x54, 0x18, 0xe8, 0x13, 0xd0, 0x5f, 0x73, 0x77, 0xdc, 0x50, 0xc8, 0xd1, 0x0e, 0xad,
+ 0xb7, 0x8b, 0xbf, 0x6f, 0x81, 0x93, 0xc1, 0x92, 0x9e, 0xfd, 0x53, 0x16, 0x28, 0x75, 0xe7, 0x55,
+ 0xe2, 0xd4, 0xa3, 0x2d, 0xf4, 0x06, 0x80, 0xa4, 0xa0, 0x64, 0x6f, 0xd2, 0x08, 0x0b, 0xb0, 0x82,
+ 0x1c, 0x18, 0xff, 0xb0, 0x56, 0x07, 0xbd, 0x0e, 0x7d, 0x5b, 0x8c, 0x96, 0xf8, 0xb6, 0xf3, 0x4a,
+ 0xd5, 0xc5, 0x4a, 0x0f, 0xf6, 0x4a, 0xc7, 0xcc, 0x36, 0xe5, 0x2d, 0xc6, 0x6b, 0xd9, 0x3f, 0x51,
+ 0x88, 0xe7, 0xf4, 0xad, 0x96, 0x1f, 0x39, 0x47, 0xc0, 0x89, 0x5c, 0x31, 0x38, 0x91, 0x27, 0xda,
+ 0xe9, 0x73, 0x59, 0x97, 0x72, 0x39, 0x90, 0x1b, 0x09, 0x0e, 0xe4, 0xc9, 0xce, 0xa4, 0xda, 0x73,
+ 0x1e, 0xff, 0x93, 0x05, 0x13, 0x06, 0xfe, 0x11, 0x5c, 0x80, 0x4b, 0xe6, 0x05, 0xf8, 0x68, 0xc7,
+ 0x6f, 0xc8, 0xb9, 0xf8, 0x7e, 0xb4, 0x98, 0xe8, 0x3b, 0xbb, 0xf0, 0xde, 0x85, 0x9e, 0x2d, 0x27,
+ 0xa8, 0x89, 0x77, 0xfd, 0xc5, 0xae, 0xc6, 0x7a, 0xe6, 0xaa, 0x13, 0x08, 0x03, 0x8e, 0x67, 0xe5,
+ 0xa8, 0xd3, 0xa2, 0x8e, 0xc6, 0x1b, 0xac, 0x29, 0x74, 0x19, 0xfa, 0xc2, 0xaa, 0xdf, 0x54, 0x7e,
+ 0x80, 0x2c, 0x5d, 0x78, 0x85, 0x95, 0x1c, 0xec, 0x95, 0x90, 0xd9, 0x1c, 0x2d, 0xc6, 0x02, 0x1f,
+ 0xbd, 0x0d, 0x23, 0xec, 0x97, 0xb2, 0xa6, 0x2c, 0xe6, 0x4b, 0x60, 0x2a, 0x3a, 0x22, 0x37, 0x35,
+ 0x36, 0x8a, 0xb0, 0x49, 0x6a, 0x7a, 0x13, 0x06, 0xd5, 0x67, 0x3d, 0x54, 0x6d, 0xfd, 0xff, 0x59,
+ 0x84, 0xc9, 0x8c, 0x35, 0x87, 0x42, 0x63, 0x26, 0x2e, 0x75, 0xb9, 0x54, 0xdf, 0xe3, 0x5c, 0x84,
+ 0xec, 0x01, 0x58, 0x13, 0x6b, 0xab, 0xeb, 0x46, 0xd7, 0x43, 0x92, 0x6c, 0x94, 0x16, 0x75, 0x6e,
+ 0x94, 0x36, 0x76, 0x64, 0x43, 0x4d, 0x1b, 0x52, 0x3d, 0x7d, 0xa8, 0x73, 0xfa, 0x87, 0x3d, 0x70,
+ 0x2c, 0xcb, 0xc4, 0x04, 0x7d, 0x0e, 0xfa, 0x98, 0xa3, 0x9a, 0x14, 0x9c, 0xbd, 0xd8, 0xad, 0x71,
+ 0xca, 0x0c, 0xf3, 0x75, 0x13, 0xa1, 0x69, 0x67, 0xe4, 0x71, 0xc4, 0x0b, 0x3b, 0x0e, 0xb3, 0x68,
+ 0x93, 0x85, 0x8c, 0x12, 0xb7, 0xa7, 0x3c, 0x3e, 0x3e, 0xd2, 0x75, 0x07, 0xc4, 0xfd, 0x1b, 0x26,
+ 0x2c, 0xb5, 0x64, 0x71, 0x67, 0x4b, 0x2d, 0xd9, 0x32, 0x5a, 0x86, 0xbe, 0x2a, 0x37, 0x01, 0x2a,
+ 0x76, 0x3e, 0xc2, 0xb8, 0xfd, 0x8f, 0x3a, 0x80, 0x85, 0xdd, 0x8f, 0x20, 0x30, 0xed, 0xc2, 0x90,
+ 0x36, 0x30, 0x0f, 0x75, 0xf1, 0x6c, 0xd3, 0x8b, 0x4f, 0x1b, 0x82, 0x87, 0xba, 0x80, 0x7e, 0x46,
+ 0xbb, 0xfb, 0xc5, 0x79, 0xf0, 0x61, 0x83, 0x77, 0x3a, 0x9d, 0x70, 0x1f, 0x4c, 0xec, 0x2b, 0xc6,
+ 0x4b, 0x55, 0xcc, 0x98, 0xee, 0xb9, 0xa9, 0xa1, 0xcc, 0x0b, 0xbf, 0x7d, 0x1c, 0x77, 0xfb, 0x67,
+ 0x2d, 0x48, 0x38, 0x78, 0x29, 0x71, 0xa7, 0x95, 0x2b, 0xee, 0x3c, 0x07, 0x3d, 0x81, 0x5f, 0x27,
+ 0xc9, 0xd4, 0xfb, 0xd8, 0xaf, 0x13, 0xcc, 0x20, 0x14, 0x23, 0x8a, 0x85, 0x58, 0xc3, 0xfa, 0x03,
+ 0x5d, 0x3c, 0xbd, 0x1f, 0x83, 0xde, 0x3a, 0xd9, 0x21, 0xf5, 0x64, 0x86, 0xd4, 0xeb, 0xb4, 0x10,
+ 0x73, 0x98, 0xfd, 0xdb, 0x3d, 0x70, 0xa6, 0x6d, 0x64, 0x39, 0xca, 0x60, 0x6e, 0x3a, 0x11, 0xb9,
+ 0xe3, 0xec, 0x26, 0x33, 0x03, 0x5e, 0xe1, 0xc5, 0x58, 0xc2, 0x99, 0xb3, 0x35, 0xcf, 0x94, 0x93,
+ 0x10, 0x0e, 0x8b, 0x04, 0x39, 0x02, 0x6a, 0x0a, 0x1b, 0x8b, 0x0f, 0x42, 0xd8, 0xf8, 0x3c, 0x40,
+ 0x18, 0xd6, 0xb9, 0x1d, 0x67, 0x4d, 0x78, 0x71, 0xc7, 0x19, 0x95, 0x2a, 0xd7, 0x05, 0x04, 0x6b,
+ 0x58, 0x68, 0x01, 0xc6, 0x9b, 0x81, 0x1f, 0x71, 0x59, 0xfb, 0x02, 0x37, 0x75, 0xee, 0x35, 0x83,
+ 0x7a, 0x95, 0x13, 0x70, 0x9c, 0xaa, 0x81, 0x5e, 0x82, 0x21, 0x11, 0xe8, 0xab, 0xec, 0xfb, 0x75,
+ 0x21, 0xde, 0x53, 0xd6, 0xbf, 0x95, 0x18, 0x84, 0x75, 0x3c, 0xad, 0x1a, 0x13, 0xe0, 0xf7, 0x67,
+ 0x56, 0xe3, 0x42, 0x7c, 0x0d, 0x2f, 0x91, 0x14, 0x60, 0xa0, 0xab, 0xa4, 0x00, 0xb1, 0xc0, 0x73,
+ 0xb0, 0x6b, 0x7d, 0x32, 0x74, 0x14, 0x11, 0x7e, 0xad, 0x07, 0x26, 0xc5, 0xc2, 0x79, 0xd8, 0xcb,
+ 0x65, 0x3d, 0xbd, 0x5c, 0x1e, 0x84, 0x48, 0xf4, 0x83, 0x35, 0x73, 0xd4, 0x6b, 0xe6, 0x27, 0x2d,
+ 0x30, 0x79, 0x48, 0xf4, 0x9f, 0xe5, 0xa6, 0x56, 0x7d, 0x29, 0x97, 0x27, 0x8d, 0x23, 0x86, 0xbf,
+ 0xb7, 0x24, 0xab, 0xf6, 0xff, 0x65, 0xc1, 0xa3, 0x1d, 0x29, 0xa2, 0x45, 0x18, 0x64, 0x8c, 0xae,
+ 0xf6, 0x2e, 0x7e, 0x52, 0xb9, 0x42, 0x48, 0x40, 0x0e, 0xdf, 0x1d, 0xd7, 0x44, 0x8b, 0xa9, 0x1c,
+ 0xb6, 0x4f, 0x65, 0xe4, 0xb0, 0x3d, 0x6e, 0x0c, 0xcf, 0x7d, 0x26, 0xb1, 0xfd, 0x12, 0xbd, 0x71,
+ 0x4c, 0x7f, 0xca, 0x8f, 0x18, 0xe2, 0x5c, 0x3b, 0x21, 0xce, 0x45, 0x26, 0xb6, 0x76, 0x87, 0xbc,
+ 0x01, 0xe3, 0x2c, 0x02, 0x28, 0x73, 0xcc, 0x11, 0x8e, 0x98, 0x85, 0xd8, 0xf8, 0xfe, 0x7a, 0x02,
+ 0x86, 0x53, 0xd8, 0xf6, 0xdf, 0x15, 0xa1, 0x8f, 0x6f, 0xbf, 0x23, 0x78, 0xf8, 0x3e, 0x03, 0x83,
+ 0x6e, 0xa3, 0xd1, 0xe2, 0x69, 0x49, 0x7b, 0x63, 0x53, 0xee, 0x65, 0x59, 0x88, 0x63, 0x38, 0x5a,
+ 0x12, 0x9a, 0x84, 0x36, 0x41, 0xc6, 0x79, 0xc7, 0x67, 0x16, 0x9c, 0xc8, 0xe1, 0x5c, 0x9c, 0xba,
+ 0x67, 0x63, 0x9d, 0x03, 0xfa, 0x34, 0x40, 0x18, 0x05, 0xae, 0xb7, 0x49, 0xcb, 0x44, 0x26, 0x8a,
+ 0xa7, 0xdb, 0x50, 0xab, 0x28, 0x64, 0x4e, 0x33, 0x3e, 0x73, 0x14, 0x00, 0x6b, 0x14, 0xd1, 0x8c,
+ 0x71, 0xd3, 0x4f, 0x27, 0xe6, 0x0e, 0x38, 0xd5, 0x78, 0xce, 0xa6, 0x5f, 0x86, 0x41, 0x45, 0xbc,
+ 0x93, 0x5c, 0x71, 0x58, 0x67, 0xd8, 0x3e, 0x06, 0x63, 0x89, 0xbe, 0x1d, 0x4a, 0x2c, 0xf9, 0x3b,
+ 0x16, 0x8c, 0xf1, 0xce, 0x2c, 0x7a, 0x3b, 0xe2, 0x36, 0xb8, 0x07, 0xc7, 0xea, 0x19, 0xa7, 0xb2,
+ 0x98, 0xfe, 0xee, 0x4f, 0x71, 0x25, 0x86, 0xcc, 0x82, 0xe2, 0xcc, 0x36, 0xd0, 0x05, 0xba, 0xe3,
+ 0xe8, 0xa9, 0xeb, 0xd4, 0x45, 0x34, 0x91, 0x61, 0xbe, 0xdb, 0x78, 0x19, 0x56, 0x50, 0xfb, 0xaf,
+ 0x2c, 0x98, 0xe0, 0x3d, 0xbf, 0x46, 0x76, 0xd5, 0xd9, 0xf4, 0x9d, 0xec, 0xbb, 0x48, 0x88, 0x5d,
+ 0xc8, 0x49, 0x88, 0xad, 0x7f, 0x5a, 0xb1, 0xed, 0xa7, 0x7d, 0xd5, 0x02, 0xb1, 0x42, 0x8e, 0x40,
+ 0xd2, 0xf2, 0x7d, 0xa6, 0xa4, 0x65, 0x3a, 0x7f, 0x13, 0xe4, 0x88, 0x58, 0xfe, 0xc5, 0x82, 0x71,
+ 0x8e, 0x10, 0x5b, 0x41, 0x7c, 0x47, 0xe7, 0x61, 0xce, 0xfc, 0xa2, 0x4c, 0xb3, 0xd6, 0x6b, 0x64,
+ 0x77, 0xcd, 0x2f, 0x3b, 0xd1, 0x56, 0xf6, 0x47, 0x19, 0x93, 0xd5, 0xd3, 0x76, 0xb2, 0x6a, 0x72,
+ 0x03, 0x19, 0x89, 0x17, 0x3b, 0x08, 0x80, 0x0f, 0x9b, 0x78, 0xd1, 0xfe, 0x7b, 0x0b, 0x10, 0x6f,
+ 0xc6, 0x60, 0xdc, 0x28, 0x3b, 0xc4, 0x4a, 0xb5, 0x8b, 0x2e, 0x3e, 0x9a, 0x14, 0x04, 0x6b, 0x58,
+ 0x0f, 0x64, 0x78, 0x12, 0xa6, 0x2c, 0xc5, 0xce, 0xa6, 0x2c, 0x87, 0x18, 0xd1, 0xaf, 0xf6, 0x43,
+ 0xd2, 0x15, 0x13, 0xdd, 0x84, 0xe1, 0xaa, 0xd3, 0x74, 0x6e, 0xbb, 0x75, 0x37, 0x72, 0x49, 0xd8,
+ 0xce, 0xce, 0x6d, 0x5e, 0xc3, 0x13, 0xc6, 0x07, 0x5a, 0x09, 0x36, 0xe8, 0xa0, 0x19, 0x80, 0x66,
+ 0xe0, 0xee, 0xb8, 0x75, 0xb2, 0xc9, 0x04, 0x42, 0x2c, 0x7e, 0x11, 0x37, 0xba, 0x93, 0xa5, 0x58,
+ 0xc3, 0xc8, 0x08, 0x1b, 0x52, 0x7c, 0xc8, 0x61, 0x43, 0xe0, 0xc8, 0xc2, 0x86, 0xf4, 0x1c, 0x2a,
+ 0x6c, 0xc8, 0xc0, 0xa1, 0xc3, 0x86, 0xf4, 0x76, 0x15, 0x36, 0x04, 0xc3, 0x09, 0xc9, 0x7b, 0xd2,
+ 0xff, 0x4b, 0x6e, 0x9d, 0x88, 0x07, 0x07, 0x0f, 0xba, 0x34, 0xbd, 0xbf, 0x57, 0x3a, 0x81, 0x33,
+ 0x31, 0x70, 0x4e, 0x4d, 0xf4, 0x71, 0x98, 0x72, 0xea, 0x75, 0xff, 0x8e, 0x9a, 0xd4, 0xc5, 0xb0,
+ 0xea, 0xd4, 0xb9, 0x72, 0xa9, 0x9f, 0x51, 0x3d, 0xbd, 0xbf, 0x57, 0x9a, 0x9a, 0xcd, 0xc1, 0xc1,
+ 0xb9, 0xb5, 0xd1, 0x6b, 0x30, 0xd8, 0x0c, 0xfc, 0xea, 0x8a, 0xe6, 0x2f, 0x7e, 0x96, 0x0e, 0x60,
+ 0x59, 0x16, 0x1e, 0xec, 0x95, 0x46, 0xd4, 0x1f, 0x76, 0xe1, 0xc7, 0x15, 0x32, 0x22, 0x72, 0x0c,
+ 0x3d, 0xec, 0x88, 0x1c, 0xc3, 0x0f, 0x38, 0x22, 0x87, 0xbd, 0x0d, 0x93, 0x15, 0x12, 0xb8, 0x4e,
+ 0xdd, 0xbd, 0x47, 0x79, 0x72, 0x79, 0x06, 0xae, 0xc1, 0x60, 0x90, 0x38, 0xf5, 0xbb, 0x0a, 0x2e,
+ 0xae, 0xc9, 0x65, 0xe4, 0x29, 0x1f, 0x13, 0xb2, 0xff, 0xbd, 0x05, 0xfd, 0xc2, 0xbd, 0xf3, 0x08,
+ 0x38, 0xd3, 0x59, 0x43, 0x25, 0x53, 0xca, 0x9e, 0x14, 0xd6, 0x99, 0x5c, 0x65, 0xcc, 0x72, 0x42,
+ 0x19, 0xf3, 0x68, 0x3b, 0x22, 0xed, 0xd5, 0x30, 0xff, 0x75, 0x91, 0xbe, 0x10, 0x8c, 0x40, 0x03,
+ 0x0f, 0x7f, 0x08, 0x56, 0xa1, 0x3f, 0x14, 0x8e, 0xee, 0x85, 0x7c, 0x5f, 0x9e, 0xe4, 0x24, 0xc6,
+ 0x36, 0x90, 0xc2, 0xb5, 0x5d, 0x12, 0xc9, 0xf4, 0xa0, 0x2f, 0x3e, 0x44, 0x0f, 0xfa, 0x4e, 0xa1,
+ 0x18, 0x7a, 0x1e, 0x44, 0x28, 0x06, 0xfb, 0x1b, 0xec, 0x76, 0xd6, 0xcb, 0x8f, 0x80, 0x71, 0xbb,
+ 0x62, 0xde, 0xe3, 0x76, 0x9b, 0x95, 0x25, 0x3a, 0x95, 0xc3, 0xc0, 0xfd, 0x96, 0x05, 0x67, 0x32,
+ 0xbe, 0x4a, 0xe3, 0xe6, 0x9e, 0x85, 0x01, 0xa7, 0x55, 0x73, 0xd5, 0x5e, 0xd6, 0xb4, 0xc5, 0xb3,
+ 0xa2, 0x1c, 0x2b, 0x0c, 0x34, 0x0f, 0x13, 0xe4, 0x6e, 0xd3, 0xe5, 0x6a, 0x78, 0xdd, 0x74, 0xbc,
+ 0xc8, 0x7d, 0x82, 0x17, 0x93, 0x40, 0x9c, 0xc6, 0x57, 0xe1, 0xdc, 0x8a, 0xb9, 0xe1, 0xdc, 0x7e,
+ 0xdd, 0x82, 0x21, 0xe5, 0xea, 0xfd, 0xd0, 0x47, 0xfb, 0x0d, 0x73, 0xb4, 0x1f, 0x69, 0x33, 0xda,
+ 0x39, 0xc3, 0xfc, 0x97, 0x05, 0xd5, 0xdf, 0xb2, 0x1f, 0x44, 0x5d, 0x70, 0x89, 0xf7, 0xef, 0xf6,
+ 0x72, 0x09, 0x86, 0x9c, 0x66, 0x53, 0x02, 0xa4, 0xfd, 0x22, 0x4b, 0x15, 0x11, 0x17, 0x63, 0x1d,
+ 0x47, 0x79, 0xe1, 0x14, 0x73, 0xbd, 0x70, 0x6a, 0x00, 0x91, 0x13, 0x6c, 0x92, 0x88, 0x96, 0x09,
+ 0x73, 0xeb, 0xfc, 0xf3, 0xa6, 0x15, 0xb9, 0xf5, 0x19, 0xd7, 0x8b, 0xc2, 0x28, 0x98, 0x59, 0xf6,
+ 0xa2, 0x1b, 0x01, 0x7f, 0xa6, 0x6a, 0x41, 0x13, 0x15, 0x2d, 0xac, 0xd1, 0x95, 0x61, 0x4d, 0x58,
+ 0x1b, 0xbd, 0xa6, 0x21, 0xcc, 0xaa, 0x28, 0xc7, 0x0a, 0xc3, 0x7e, 0x99, 0xdd, 0x3e, 0x6c, 0x4c,
+ 0x0f, 0x17, 0x0c, 0xf0, 0x1f, 0x86, 0xd5, 0x6c, 0x30, 0x95, 0xf0, 0x82, 0x1e, 0x72, 0xb0, 0xfd,
+ 0x61, 0x4f, 0x1b, 0xd6, 0xfd, 0x59, 0xe3, 0xb8, 0x84, 0xe8, 0x93, 0x29, 0xe3, 0xa6, 0xe7, 0x3a,
+ 0xdc, 0x1a, 0x87, 0x30, 0x67, 0x62, 0x79, 0xe3, 0x58, 0x56, 0xad, 0xe5, 0xb2, 0xd8, 0x17, 0x5a,
+ 0xde, 0x38, 0x01, 0xc0, 0x31, 0x0e, 0x65, 0xd8, 0xd4, 0x9f, 0x70, 0x0a, 0xc5, 0xe1, 0xc5, 0x15,
+ 0x76, 0x88, 0x35, 0x0c, 0x74, 0x51, 0x08, 0x2d, 0xb8, 0xee, 0xe1, 0x91, 0x84, 0xd0, 0x42, 0x0e,
+ 0x97, 0x26, 0x69, 0xba, 0x04, 0x43, 0xe4, 0x6e, 0x44, 0x02, 0xcf, 0xa9, 0xd3, 0x16, 0x7a, 0xe3,
+ 0x88, 0xb8, 0x8b, 0x71, 0x31, 0xd6, 0x71, 0xd0, 0x1a, 0x8c, 0x85, 0x5c, 0x96, 0xa7, 0x92, 0x5a,
+ 0x70, 0x99, 0xe8, 0xd3, 0xca, 0xc9, 0xde, 0x04, 0x1f, 0xb0, 0x22, 0x7e, 0x3a, 0xc9, 0xd0, 0x23,
+ 0x49, 0x12, 0xe8, 0x75, 0x18, 0xad, 0xfb, 0x4e, 0x6d, 0xce, 0xa9, 0x3b, 0x5e, 0x95, 0x8d, 0xcf,
+ 0x80, 0x11, 0x7f, 0x72, 0xf4, 0xba, 0x01, 0xc5, 0x09, 0x6c, 0xca, 0x20, 0xea, 0x25, 0x22, 0x11,
+ 0x8b, 0xe3, 0x6d, 0x92, 0x70, 0x6a, 0x90, 0x7d, 0x15, 0x63, 0x10, 0xaf, 0xe7, 0xe0, 0xe0, 0xdc,
+ 0xda, 0xe8, 0x32, 0x0c, 0xcb, 0xcf, 0xd7, 0x22, 0xf5, 0xc4, 0x0e, 0x4d, 0x1a, 0x0c, 0x1b, 0x98,
+ 0x28, 0x84, 0xe3, 0xf2, 0xff, 0x5a, 0xe0, 0x6c, 0x6c, 0xb8, 0x55, 0x11, 0xbe, 0x82, 0x3b, 0x7f,
+ 0x7f, 0x4c, 0x7a, 0x9a, 0x2e, 0x66, 0x21, 0x1d, 0xec, 0x95, 0x4e, 0x8b, 0x51, 0xcb, 0x84, 0xe3,
+ 0x6c, 0xda, 0x68, 0x05, 0x26, 0xb9, 0x0d, 0xcc, 0xfc, 0x16, 0xa9, 0x6e, 0xcb, 0x0d, 0xc7, 0xb8,
+ 0x46, 0xcd, 0xf1, 0xe7, 0x6a, 0x1a, 0x05, 0x67, 0xd5, 0x43, 0xef, 0xc0, 0x54, 0xb3, 0x75, 0xbb,
+ 0xee, 0x86, 0x5b, 0xab, 0x7e, 0xc4, 0x4c, 0xc8, 0x66, 0x6b, 0xb5, 0x80, 0x84, 0xdc, 0x37, 0x98,
+ 0x5d, 0xbd, 0x32, 0xba, 0x52, 0x39, 0x07, 0x0f, 0xe7, 0x52, 0x40, 0xf7, 0xe0, 0x78, 0x62, 0x21,
+ 0x88, 0x30, 0x29, 0xa3, 0xf9, 0x29, 0xad, 0x2a, 0x59, 0x15, 0x44, 0xc4, 0xa1, 0x2c, 0x10, 0xce,
+ 0x6e, 0x02, 0xbd, 0x02, 0xe0, 0x36, 0x97, 0x9c, 0x86, 0x5b, 0xa7, 0xcf, 0xd1, 0x49, 0xb6, 0x46,
+ 0xe8, 0xd3, 0x04, 0x96, 0xcb, 0xb2, 0x94, 0x9e, 0xcd, 0xe2, 0xdf, 0x2e, 0xd6, 0xb0, 0xd1, 0x75,
+ 0x18, 0x15, 0xff, 0x76, 0xc5, 0x94, 0x4e, 0xa8, 0xec, 0xa7, 0xa3, 0xb2, 0x86, 0x9a, 0xc7, 0x44,
+ 0x09, 0x4e, 0xd4, 0x45, 0x9b, 0x70, 0x46, 0xa6, 0x5e, 0xd5, 0xd7, 0xa7, 0x9c, 0x83, 0x90, 0xe5,
+ 0x91, 0x1a, 0xe0, 0x3e, 0x45, 0xb3, 0xed, 0x10, 0x71, 0x7b, 0x3a, 0xf4, 0x5e, 0xd7, 0x97, 0x39,
+ 0xf7, 0x18, 0x3f, 0x1e, 0x47, 0xf1, 0xbc, 0x9e, 0x04, 0xe2, 0x34, 0x3e, 0xf2, 0xe1, 0xb8, 0xeb,
+ 0x65, 0xad, 0xea, 0x13, 0x8c, 0xd0, 0x47, 0xb9, 0xb3, 0x7c, 0xfb, 0x15, 0x9d, 0x09, 0xc7, 0xd9,
+ 0x74, 0xd1, 0x32, 0x4c, 0x46, 0xbc, 0x60, 0xc1, 0x0d, 0x79, 0x9a, 0x1a, 0xfa, 0xec, 0x3b, 0xc9,
+ 0x9a, 0x3b, 0x49, 0x57, 0xf3, 0x5a, 0x1a, 0x8c, 0xb3, 0xea, 0xbc, 0x37, 0x03, 0xd0, 0x6f, 0x5a,
+ 0xb4, 0xb6, 0xc6, 0xe8, 0xa3, 0xcf, 0xc0, 0xb0, 0x3e, 0x3e, 0x82, 0x69, 0x39, 0x9f, 0xcd, 0x07,
+ 0x6b, 0xc7, 0x0b, 0x7f, 0x26, 0xa8, 0x23, 0x44, 0x87, 0x61, 0x83, 0x22, 0xaa, 0x66, 0x04, 0xb9,
+ 0xb8, 0xd8, 0x1d, 0x53, 0xd4, 0xbd, 0xfd, 0x23, 0x81, 0xec, 0x9d, 0x83, 0xae, 0xc3, 0x40, 0xb5,
+ 0xee, 0x12, 0x2f, 0x5a, 0x2e, 0xb7, 0x0b, 0xae, 0x3a, 0x2f, 0x70, 0xc4, 0x56, 0x14, 0xd9, 0xa5,
+ 0x78, 0x19, 0x56, 0x14, 0xec, 0xcb, 0x30, 0x54, 0xa9, 0x13, 0xd2, 0xe4, 0x7e, 0x5c, 0xe8, 0x29,
+ 0xf6, 0x30, 0x61, 0xac, 0xa5, 0xc5, 0x58, 0x4b, 0xfd, 0xcd, 0xc1, 0x98, 0x4a, 0x09, 0xb7, 0xff,
+ 0xb8, 0x00, 0xa5, 0x0e, 0x49, 0xce, 0x12, 0xfa, 0x36, 0xab, 0x2b, 0x7d, 0xdb, 0x2c, 0x8c, 0xc5,
+ 0xff, 0x74, 0x51, 0x9e, 0x32, 0x86, 0xbe, 0x69, 0x82, 0x71, 0x12, 0xbf, 0x6b, 0xbf, 0x16, 0x5d,
+ 0x65, 0xd7, 0xd3, 0xd1, 0x33, 0xcb, 0x50, 0xd5, 0xf7, 0x76, 0xff, 0xf6, 0xce, 0x55, 0xbb, 0xda,
+ 0xdf, 0x28, 0xc0, 0x71, 0x35, 0x84, 0xdf, 0xbb, 0x03, 0xb7, 0x9e, 0x1e, 0xb8, 0x07, 0xa0, 0xb4,
+ 0xb6, 0x6f, 0x40, 0x1f, 0x8f, 0xf8, 0xda, 0x05, 0xcf, 0xff, 0x98, 0x19, 0x7c, 0x5f, 0xb1, 0x99,
+ 0x46, 0x00, 0xfe, 0x1f, 0xb3, 0x60, 0x2c, 0xe1, 0x20, 0x89, 0xb0, 0xe6, 0x45, 0x7f, 0x3f, 0x7c,
+ 0x79, 0x16, 0xc7, 0x7f, 0x0e, 0x7a, 0xb6, 0x7c, 0x65, 0xa4, 0xac, 0x30, 0xae, 0xfa, 0x61, 0x84,
+ 0x19, 0xc4, 0xfe, 0x6b, 0x0b, 0x7a, 0xd7, 0x1c, 0xd7, 0x8b, 0xa4, 0xf6, 0xc3, 0xca, 0xd1, 0x7e,
+ 0x74, 0xf3, 0x5d, 0xe8, 0x25, 0xe8, 0x23, 0x1b, 0x1b, 0xa4, 0x1a, 0x89, 0x59, 0x95, 0xd1, 0x34,
+ 0xfa, 0x16, 0x59, 0x29, 0x65, 0x42, 0x59, 0x63, 0xfc, 0x2f, 0x16, 0xc8, 0xe8, 0x16, 0x0c, 0x46,
+ 0x6e, 0x83, 0xcc, 0xd6, 0x6a, 0xc2, 0x26, 0xe0, 0x3e, 0x42, 0xc0, 0xac, 0x49, 0x02, 0x38, 0xa6,
+ 0x65, 0x7f, 0xb9, 0x00, 0x10, 0x47, 0x98, 0xeb, 0xf4, 0x89, 0x73, 0x29, 0x6d, 0xf1, 0xf9, 0x0c,
+ 0x6d, 0x31, 0x8a, 0x09, 0x66, 0xa8, 0x8a, 0xd5, 0x30, 0x15, 0xbb, 0x1a, 0xa6, 0x9e, 0xc3, 0x0c,
+ 0xd3, 0x3c, 0x4c, 0xc4, 0x11, 0xf2, 0xcc, 0x00, 0xa1, 0xec, 0xfe, 0x5e, 0x4b, 0x02, 0x71, 0x1a,
+ 0xdf, 0x26, 0x70, 0x4e, 0x05, 0x0a, 0x13, 0x77, 0x21, 0x73, 0x25, 0xd0, 0xb5, 0xef, 0x1d, 0xc6,
+ 0x29, 0x56, 0x87, 0x17, 0x72, 0xd5, 0xe1, 0xbf, 0x60, 0xc1, 0xb1, 0x64, 0x3b, 0xcc, 0xef, 0xfe,
+ 0x8b, 0x16, 0x1c, 0x8f, 0x73, 0xfc, 0xa4, 0x4d, 0x10, 0x5e, 0x6c, 0x1b, 0xfc, 0x2c, 0xa7, 0xc7,
+ 0x71, 0xd8, 0x96, 0x95, 0x2c, 0xd2, 0x38, 0xbb, 0x45, 0xfb, 0xdf, 0xf5, 0xc0, 0x54, 0x5e, 0xd4,
+ 0x34, 0xe6, 0x69, 0xe4, 0xdc, 0xad, 0x6c, 0x93, 0x3b, 0xc2, 0x9f, 0x23, 0xf6, 0x34, 0xe2, 0xc5,
+ 0x58, 0xc2, 0x93, 0x69, 0x9d, 0x0a, 0x5d, 0xa6, 0x75, 0xda, 0x82, 0x89, 0x3b, 0x5b, 0xc4, 0x5b,
+ 0xf7, 0x42, 0x27, 0x72, 0xc3, 0x0d, 0x97, 0x29, 0xd0, 0xf9, 0xba, 0x79, 0x45, 0x7a, 0x5d, 0xdc,
+ 0x4a, 0x22, 0x1c, 0xec, 0x95, 0xce, 0x18, 0x05, 0x71, 0x97, 0xf9, 0x41, 0x82, 0xd3, 0x44, 0xd3,
+ 0x59, 0xb1, 0x7a, 0x1e, 0x72, 0x56, 0xac, 0x86, 0x2b, 0xcc, 0x6e, 0xa4, 0x1b, 0x09, 0x7b, 0xb6,
+ 0xae, 0xa8, 0x52, 0xac, 0x61, 0xa0, 0x4f, 0x01, 0xd2, 0xd3, 0x1a, 0x1a, 0x41, 0x6b, 0x9f, 0xdb,
+ 0xdf, 0x2b, 0xa1, 0xd5, 0x14, 0xf4, 0x60, 0xaf, 0x34, 0x49, 0x4b, 0x97, 0x3d, 0xfa, 0xfc, 0x8d,
+ 0x23, 0xfd, 0x65, 0x10, 0x42, 0xb7, 0x60, 0x9c, 0x96, 0xb2, 0x1d, 0x25, 0x23, 0xe2, 0xf2, 0x27,
+ 0xeb, 0x33, 0xfb, 0x7b, 0xa5, 0xf1, 0xd5, 0x04, 0x2c, 0x8f, 0x74, 0x8a, 0x48, 0x46, 0x72, 0xac,
+ 0x81, 0x6e, 0x93, 0x63, 0xd9, 0x5f, 0xb4, 0xe0, 0x14, 0xbd, 0xe0, 0x6a, 0xd7, 0x73, 0xb4, 0xe8,
+ 0x4e, 0xd3, 0xe5, 0x7a, 0x1a, 0x71, 0xd5, 0x30, 0x59, 0x5d, 0x79, 0x99, 0x6b, 0x69, 0x14, 0x94,
+ 0x9e, 0xf0, 0xdb, 0xae, 0x57, 0x4b, 0x9e, 0xf0, 0xd7, 0x5c, 0xaf, 0x86, 0x19, 0x44, 0x5d, 0x59,
+ 0xc5, 0xdc, 0x08, 0xfb, 0x5f, 0xa3, 0x7b, 0x95, 0xf6, 0xe5, 0x3b, 0xda, 0x0d, 0xf4, 0x8c, 0xae,
+ 0x53, 0x15, 0xe6, 0x93, 0xb9, 0xfa, 0xd4, 0x2f, 0x58, 0x20, 0xbc, 0xdf, 0xbb, 0xb8, 0x93, 0xdf,
+ 0x86, 0xe1, 0x9d, 0x74, 0xca, 0xd7, 0x73, 0xf9, 0xe1, 0x00, 0x44, 0xa2, 0x57, 0xc5, 0xa2, 0x1b,
+ 0xe9, 0x5d, 0x0d, 0x5a, 0x76, 0x0d, 0x04, 0x74, 0x81, 0x30, 0xad, 0x46, 0xe7, 0xde, 0x3c, 0x0f,
+ 0x50, 0x63, 0xb8, 0x2c, 0x0f, 0x7c, 0xc1, 0xe4, 0xb8, 0x16, 0x14, 0x04, 0x6b, 0x58, 0xf6, 0xaf,
+ 0x16, 0x61, 0x48, 0xa6, 0x18, 0x6d, 0x79, 0xdd, 0xc8, 0x1e, 0x75, 0xc6, 0xa9, 0xd0, 0x91, 0x71,
+ 0x7a, 0x07, 0x26, 0x02, 0x52, 0x6d, 0x05, 0xa1, 0xbb, 0x43, 0x24, 0x58, 0x6c, 0x92, 0x19, 0x9e,
+ 0xe0, 0x21, 0x01, 0x3c, 0x60, 0x21, 0xb2, 0x12, 0x85, 0x4c, 0x69, 0x9c, 0x26, 0x84, 0x2e, 0xc2,
+ 0x20, 0x13, 0xbd, 0x97, 0x63, 0x81, 0xb0, 0x12, 0x7c, 0xad, 0x48, 0x00, 0x8e, 0x71, 0xd8, 0xe3,
+ 0xa0, 0x75, 0x9b, 0xa1, 0x27, 0x3c, 0xc1, 0x2b, 0xbc, 0x18, 0x4b, 0x38, 0xfa, 0x38, 0x8c, 0xf3,
+ 0x7a, 0x81, 0xdf, 0x74, 0x36, 0xb9, 0x4a, 0xb0, 0x57, 0x85, 0xd7, 0x19, 0x5f, 0x49, 0xc0, 0x0e,
+ 0xf6, 0x4a, 0xc7, 0x92, 0x65, 0xac, 0xdb, 0x29, 0x2a, 0xcc, 0xf2, 0x8f, 0x37, 0x42, 0xef, 0x8c,
+ 0x94, 0xc1, 0x60, 0x0c, 0xc2, 0x3a, 0x9e, 0xfd, 0xcf, 0x16, 0x4c, 0x68, 0x53, 0xd5, 0x75, 0x8e,
+ 0x0d, 0x63, 0x90, 0x0a, 0x5d, 0x0c, 0xd2, 0xe1, 0xa2, 0x3d, 0x64, 0xce, 0x70, 0xcf, 0x03, 0x9a,
+ 0x61, 0xfb, 0x33, 0x80, 0xd2, 0xf9, 0x6b, 0xd1, 0x9b, 0xdc, 0x90, 0xdf, 0x0d, 0x48, 0xad, 0x9d,
+ 0xc2, 0x5f, 0x8f, 0x9c, 0x23, 0x3d, 0x57, 0x79, 0x2d, 0xac, 0xea, 0xdb, 0x3f, 0xde, 0x03, 0xe3,
+ 0xc9, 0x58, 0x1d, 0xe8, 0x2a, 0xf4, 0x71, 0x2e, 0x5d, 0x90, 0x6f, 0x63, 0x4f, 0xa6, 0x45, 0xf8,
+ 0xe0, 0xf9, 0x6f, 0x38, 0x77, 0x2f, 0xea, 0xa3, 0x77, 0x60, 0xa8, 0xe6, 0xdf, 0xf1, 0xee, 0x38,
+ 0x41, 0x6d, 0xb6, 0xbc, 0x2c, 0x4e, 0x88, 0x4c, 0x01, 0xd4, 0x42, 0x8c, 0xa6, 0x47, 0x0d, 0x61,
+ 0xb6, 0x13, 0x31, 0x08, 0xeb, 0xe4, 0xd0, 0x1a, 0x4b, 0xc9, 0xb4, 0xe1, 0x6e, 0xae, 0x38, 0xcd,
+ 0x76, 0x5e, 0x5d, 0xf3, 0x12, 0x49, 0xa3, 0x3c, 0x22, 0xf2, 0x36, 0x71, 0x00, 0x8e, 0x09, 0xa1,
+ 0xcf, 0xc1, 0x64, 0x98, 0xa3, 0x12, 0xcb, 0x4b, 0x67, 0xde, 0x4e, 0x4b, 0xc4, 0x85, 0x29, 0x59,
+ 0xca, 0xb3, 0xac, 0x66, 0xd0, 0x5d, 0x40, 0x42, 0xf4, 0xbc, 0x16, 0xb4, 0xc2, 0x68, 0xae, 0xe5,
+ 0xd5, 0xea, 0x32, 0x65, 0xd3, 0x87, 0xb3, 0xe5, 0x04, 0x49, 0x6c, 0xad, 0x6d, 0x16, 0x12, 0x38,
+ 0x8d, 0x81, 0x33, 0xda, 0xb0, 0xbf, 0xd0, 0x03, 0xd3, 0x32, 0x61, 0x74, 0x86, 0xf7, 0xca, 0xe7,
+ 0xad, 0x84, 0xfb, 0xca, 0x2b, 0xf9, 0x07, 0xfd, 0x43, 0x73, 0x62, 0xf9, 0x52, 0xda, 0x89, 0xe5,
+ 0xb5, 0x43, 0x76, 0xe3, 0x81, 0xb9, 0xb2, 0x7c, 0xcf, 0xfa, 0x9f, 0xec, 0x1f, 0x03, 0xe3, 0x6a,
+ 0x46, 0x98, 0xc7, 0x5b, 0x2f, 0x4b, 0xd5, 0x51, 0xce, 0xf3, 0xff, 0xaa, 0xc0, 0x31, 0x2e, 0xfb,
+ 0x61, 0x19, 0x95, 0x9d, 0x9d, 0xb3, 0x8a, 0x0e, 0xa5, 0x49, 0x1a, 0xcd, 0x68, 0x77, 0xc1, 0x0d,
+ 0x44, 0x8f, 0x33, 0x69, 0x2e, 0x0a, 0x9c, 0x34, 0x4d, 0x09, 0xc1, 0x8a, 0x0e, 0xda, 0x81, 0x89,
+ 0x4d, 0x16, 0xf1, 0x49, 0xcb, 0xdd, 0x2c, 0xce, 0x85, 0xcc, 0x7d, 0x7b, 0x65, 0x7e, 0x31, 0x3f,
+ 0xd1, 0x33, 0x7f, 0xfc, 0xa5, 0x50, 0x70, 0xba, 0x09, 0xba, 0x35, 0x8e, 0x39, 0x77, 0xc2, 0xc5,
+ 0xba, 0x13, 0x46, 0x6e, 0x75, 0xae, 0xee, 0x57, 0xb7, 0x2b, 0x91, 0x1f, 0xc8, 0x04, 0x8f, 0x99,
+ 0x6f, 0xaf, 0xd9, 0x5b, 0x95, 0x14, 0xbe, 0xd1, 0xfc, 0xd4, 0xfe, 0x5e, 0xe9, 0x58, 0x16, 0x16,
+ 0xce, 0x6c, 0x0b, 0xad, 0x42, 0xff, 0xa6, 0x1b, 0x61, 0xd2, 0xf4, 0xc5, 0x69, 0x91, 0x79, 0x14,
+ 0x5e, 0xe1, 0x28, 0x46, 0x4b, 0x2c, 0x22, 0x95, 0x00, 0x60, 0x49, 0x04, 0xbd, 0xa9, 0x2e, 0x81,
+ 0xbe, 0x7c, 0x01, 0x6c, 0xda, 0xf6, 0x2e, 0xf3, 0x1a, 0x78, 0x1d, 0x8a, 0xde, 0x46, 0xd8, 0x2e,
+ 0x16, 0xcf, 0xea, 0x92, 0x21, 0x3f, 0x9b, 0xeb, 0xa7, 0x4f, 0xe3, 0xd5, 0xa5, 0x0a, 0xa6, 0x15,
+ 0x99, 0xdb, 0x6b, 0x58, 0x0d, 0x5d, 0x91, 0x2c, 0x2a, 0xd3, 0x0b, 0x78, 0xb9, 0x32, 0x5f, 0x59,
+ 0x36, 0x68, 0xb0, 0xa8, 0x86, 0xac, 0x18, 0xf3, 0xea, 0xe8, 0x26, 0x0c, 0x6e, 0xf2, 0x83, 0x6f,
+ 0x23, 0x14, 0x49, 0xe3, 0x33, 0x2f, 0xa3, 0x2b, 0x12, 0xc9, 0xa0, 0xc7, 0xae, 0x0c, 0x05, 0xc2,
+ 0x31, 0x29, 0xf4, 0x05, 0x0b, 0x8e, 0x27, 0xb3, 0xee, 0x33, 0x67, 0x35, 0x61, 0xa6, 0x96, 0xe9,
+ 0x00, 0x50, 0xce, 0xaa, 0x60, 0x34, 0xc8, 0xd4, 0x2f, 0x99, 0x68, 0x38, 0xbb, 0x39, 0x3a, 0xd0,
+ 0xc1, 0xed, 0x5a, 0xbb, 0xfc, 0x42, 0x89, 0xc0, 0x44, 0x7c, 0xa0, 0xf1, 0xdc, 0x02, 0xa6, 0x15,
+ 0xd1, 0x1a, 0xc0, 0x46, 0x9d, 0x88, 0x88, 0x8f, 0xc2, 0x28, 0x2a, 0xf3, 0xf6, 0x5f, 0x52, 0x58,
+ 0x82, 0x0e, 0x7b, 0x89, 0xc6, 0xa5, 0x58, 0xa3, 0x43, 0x97, 0x52, 0xd5, 0xf5, 0x6a, 0x24, 0x60,
+ 0xca, 0xad, 0x9c, 0xa5, 0x34, 0xcf, 0x30, 0xd2, 0x4b, 0x89, 0x97, 0x63, 0x41, 0x81, 0xd1, 0x22,
+ 0xcd, 0xad, 0x8d, 0xb0, 0x5d, 0x26, 0x8b, 0x79, 0xd2, 0xdc, 0x4a, 0x2c, 0x28, 0x4e, 0x8b, 0x95,
+ 0x63, 0x41, 0x81, 0x6e, 0x99, 0x0d, 0xba, 0x81, 0x48, 0x30, 0x35, 0x96, 0xbf, 0x65, 0x96, 0x38,
+ 0x4a, 0x7a, 0xcb, 0x08, 0x00, 0x96, 0x44, 0xd0, 0xa7, 0x4d, 0x6e, 0x67, 0x9c, 0xd1, 0x7c, 0xa6,
+ 0x03, 0xb7, 0x63, 0xd0, 0x6d, 0xcf, 0xef, 0xbc, 0x02, 0x85, 0x8d, 0x2a, 0x53, 0x8a, 0xe5, 0xe8,
+ 0x0c, 0x96, 0xe6, 0x0d, 0x6a, 0x2c, 0x32, 0xfc, 0xd2, 0x3c, 0x2e, 0x6c, 0x54, 0xe9, 0xd2, 0x77,
+ 0xee, 0xb5, 0x02, 0xb2, 0xe4, 0xd6, 0x89, 0xc8, 0x6a, 0x91, 0xb9, 0xf4, 0x67, 0x25, 0x52, 0x7a,
+ 0xe9, 0x2b, 0x10, 0x8e, 0x49, 0x51, 0xba, 0x31, 0x0f, 0x36, 0x99, 0x4f, 0x57, 0xb1, 0x5a, 0x69,
+ 0xba, 0x99, 0x5c, 0xd8, 0x36, 0x8c, 0xec, 0x84, 0xcd, 0x2d, 0x22, 0x4f, 0x45, 0xa6, 0xae, 0xcb,
+ 0x89, 0x54, 0x71, 0x53, 0x20, 0xba, 0x41, 0xd4, 0x72, 0xea, 0xa9, 0x83, 0x9c, 0x89, 0x56, 0x6e,
+ 0xea, 0xc4, 0xb0, 0x49, 0x9b, 0x2e, 0x84, 0x77, 0x79, 0x38, 0x39, 0xa6, 0xb8, 0xcb, 0x59, 0x08,
+ 0x19, 0x11, 0xe7, 0xf8, 0x42, 0x10, 0x00, 0x2c, 0x89, 0xa8, 0xc1, 0x66, 0x17, 0xd0, 0x89, 0x0e,
+ 0x83, 0x9d, 0xea, 0x6f, 0x3c, 0xd8, 0xec, 0xc2, 0x89, 0x49, 0xb1, 0x8b, 0xa6, 0xb9, 0xe5, 0x47,
+ 0xbe, 0x97, 0xb8, 0xe4, 0x4e, 0xe6, 0x5f, 0x34, 0xe5, 0x0c, 0xfc, 0xf4, 0x45, 0x93, 0x85, 0x85,
+ 0x33, 0xdb, 0xa2, 0x1f, 0xd7, 0x94, 0x91, 0x01, 0x45, 0xe6, 0x8d, 0xa7, 0x72, 0x02, 0x6b, 0xa6,
+ 0xc3, 0x07, 0xf2, 0x8f, 0x53, 0x20, 0x1c, 0x93, 0x42, 0x35, 0x18, 0x6d, 0x1a, 0x11, 0x67, 0x59,
+ 0x06, 0x91, 0x1c, 0xbe, 0x20, 0x2b, 0x36, 0x2d, 0x97, 0x10, 0x99, 0x10, 0x9c, 0xa0, 0xc9, 0x2c,
+ 0xf7, 0xb8, 0xab, 0x1f, 0x4b, 0x30, 0x92, 0x33, 0xd5, 0x19, 0xde, 0x80, 0x7c, 0xaa, 0x05, 0x00,
+ 0x4b, 0x22, 0x74, 0x34, 0x84, 0x83, 0x9a, 0x1f, 0xb2, 0x3c, 0x3d, 0x79, 0x0a, 0xf6, 0x2c, 0x35,
+ 0x91, 0x0c, 0xb3, 0x2e, 0x40, 0x38, 0x26, 0x45, 0x4f, 0x72, 0x7a, 0xe1, 0x9d, 0xce, 0x3f, 0xc9,
+ 0x93, 0xd7, 0x1d, 0x3b, 0xc9, 0xe9, 0x65, 0x57, 0x14, 0x57, 0x9d, 0x8a, 0x0a, 0xce, 0x72, 0x8c,
+ 0xe4, 0xf4, 0x4b, 0x85, 0x15, 0x4f, 0xf7, 0x4b, 0x81, 0x70, 0x4c, 0x8a, 0x5d, 0xc5, 0x2c, 0x34,
+ 0xdd, 0xd9, 0x36, 0x57, 0x31, 0x45, 0xc8, 0xb8, 0x8a, 0xb5, 0xd0, 0x75, 0xf6, 0x8f, 0x17, 0xe0,
+ 0x6c, 0xfb, 0x7d, 0x1b, 0xeb, 0xd0, 0xca, 0xb1, 0xcd, 0x52, 0x42, 0x87, 0xc6, 0x25, 0x3a, 0x31,
+ 0x56, 0xd7, 0x01, 0x87, 0xaf, 0xc0, 0x84, 0x72, 0x47, 0xac, 0xbb, 0xd5, 0x5d, 0x2d, 0xb1, 0xa8,
+ 0x0a, 0xcd, 0x53, 0x49, 0x22, 0xe0, 0x74, 0x1d, 0x34, 0x0b, 0x63, 0x46, 0xe1, 0xf2, 0x82, 0x78,
+ 0xfe, 0xc7, 0xd9, 0x31, 0x4c, 0x30, 0x4e, 0xe2, 0xdb, 0xbf, 0x66, 0xc1, 0xc9, 0x9c, 0x3c, 0xf3,
+ 0x5d, 0xc7, 0xd3, 0xdd, 0x80, 0xb1, 0xa6, 0x59, 0xb5, 0x43, 0x08, 0x70, 0x23, 0x9b, 0xbd, 0xea,
+ 0x6b, 0x02, 0x80, 0x93, 0x44, 0xed, 0x5f, 0x29, 0xc0, 0x99, 0xb6, 0xf6, 0xf5, 0x08, 0xc3, 0x89,
+ 0xcd, 0x46, 0xe8, 0xcc, 0x07, 0xa4, 0x46, 0xbc, 0xc8, 0x75, 0xea, 0x95, 0x26, 0xa9, 0x6a, 0x5a,
+ 0x50, 0x66, 0xa8, 0x7e, 0x65, 0xa5, 0x32, 0x9b, 0xc6, 0xc0, 0x39, 0x35, 0xd1, 0x12, 0xa0, 0x34,
+ 0x44, 0xcc, 0x30, 0x7b, 0xe2, 0xa6, 0xe9, 0xe1, 0x8c, 0x1a, 0xe8, 0x65, 0x18, 0x51, 0x76, 0xfb,
+ 0xda, 0x8c, 0xb3, 0x0b, 0x02, 0xeb, 0x00, 0x6c, 0xe2, 0xa1, 0x4b, 0x3c, 0x6d, 0x92, 0x48, 0xb0,
+ 0x25, 0x54, 0xa6, 0x63, 0x32, 0x27, 0x92, 0x28, 0xc6, 0x3a, 0xce, 0xdc, 0xe5, 0x3f, 0xfd, 0xf6,
+ 0xd9, 0x0f, 0xfd, 0xc5, 0xb7, 0xcf, 0x7e, 0xe8, 0xaf, 0xbe, 0x7d, 0xf6, 0x43, 0x3f, 0xb4, 0x7f,
+ 0xd6, 0xfa, 0xd3, 0xfd, 0xb3, 0xd6, 0x5f, 0xec, 0x9f, 0xb5, 0xfe, 0x6a, 0xff, 0xac, 0xf5, 0xff,
+ 0xee, 0x9f, 0xb5, 0xbe, 0xfc, 0xb7, 0x67, 0x3f, 0xf4, 0x36, 0x8a, 0x23, 0x54, 0x5f, 0xa4, 0xb3,
+ 0x73, 0x71, 0xe7, 0xd2, 0x7f, 0x0a, 0x00, 0x00, 0xff, 0xff, 0x60, 0x45, 0x7a, 0xd6, 0xa3, 0x24,
+ 0x01, 0x00,
}
func (m *AWSElasticBlockStoreVolumeSource) Marshal() (dAtA []byte, err error) {
@@ -16016,6 +16020,13 @@ func (m *PodLogOptions) MarshalToSizedBuffer(dAtA []byte) (int, error) {
_ = i
var l int
_ = l
+ if m.Stream != nil {
+ i -= len(*m.Stream)
+ copy(dAtA[i:], *m.Stream)
+ i = encodeVarintGenerated(dAtA, i, uint64(len(*m.Stream)))
+ i--
+ dAtA[i] = 0x52
+ }
i--
if m.InsecureSkipTLSVerifyBackend {
dAtA[i] = 1
@@ -16322,6 +16333,13 @@ func (m *PodSecurityContext) MarshalToSizedBuffer(dAtA []byte) (int, error) {
_ = i
var l int
_ = l
+ if m.SELinuxChangePolicy != nil {
+ i -= len(*m.SELinuxChangePolicy)
+ copy(dAtA[i:], *m.SELinuxChangePolicy)
+ i = encodeVarintGenerated(dAtA, i, uint64(len(*m.SELinuxChangePolicy)))
+ i--
+ dAtA[i] = 0x6a
+ }
if m.SupplementalGroupsPolicy != nil {
i -= len(*m.SupplementalGroupsPolicy)
copy(dAtA[i:], *m.SupplementalGroupsPolicy)
@@ -16488,6 +16506,20 @@ func (m *PodSpec) MarshalToSizedBuffer(dAtA []byte) (int, error) {
_ = i
var l int
_ = l
+ if m.Resources != nil {
+ {
+ size, err := m.Resources.MarshalToSizedBuffer(dAtA[:i])
+ if err != nil {
+ return 0, err
+ }
+ i -= size
+ i = encodeVarintGenerated(dAtA, i, uint64(size))
+ }
+ i--
+ dAtA[i] = 0x2
+ i--
+ dAtA[i] = 0xc2
+ }
if len(m.ResourceClaims) > 0 {
for iNdEx := len(m.ResourceClaims) - 1; iNdEx >= 0; iNdEx-- {
{
@@ -24737,6 +24769,10 @@ func (m *PodLogOptions) Size() (n int) {
n += 1 + sovGenerated(uint64(*m.LimitBytes))
}
n += 2
+ if m.Stream != nil {
+ l = len(*m.Stream)
+ n += 1 + l + sovGenerated(uint64(l))
+ }
return n
}
@@ -24885,6 +24921,10 @@ func (m *PodSecurityContext) Size() (n int) {
l = len(*m.SupplementalGroupsPolicy)
n += 1 + l + sovGenerated(uint64(l))
}
+ if m.SELinuxChangePolicy != nil {
+ l = len(*m.SELinuxChangePolicy)
+ n += 1 + l + sovGenerated(uint64(l))
+ }
return n
}
@@ -25059,6 +25099,10 @@ func (m *PodSpec) Size() (n int) {
n += 2 + l + sovGenerated(uint64(l))
}
}
+ if m.Resources != nil {
+ l = m.Resources.Size()
+ n += 2 + l + sovGenerated(uint64(l))
+ }
return n
}
@@ -29088,6 +29132,7 @@ func (this *PodLogOptions) String() string {
`TailLines:` + valueToStringGenerated(this.TailLines) + `,`,
`LimitBytes:` + valueToStringGenerated(this.LimitBytes) + `,`,
`InsecureSkipTLSVerifyBackend:` + fmt.Sprintf("%v", this.InsecureSkipTLSVerifyBackend) + `,`,
+ `Stream:` + valueToStringGenerated(this.Stream) + `,`,
`}`,
}, "")
return s
@@ -29187,6 +29232,7 @@ func (this *PodSecurityContext) String() string {
`SeccompProfile:` + strings.Replace(this.SeccompProfile.String(), "SeccompProfile", "SeccompProfile", 1) + `,`,
`AppArmorProfile:` + strings.Replace(this.AppArmorProfile.String(), "AppArmorProfile", "AppArmorProfile", 1) + `,`,
`SupplementalGroupsPolicy:` + valueToStringGenerated(this.SupplementalGroupsPolicy) + `,`,
+ `SELinuxChangePolicy:` + valueToStringGenerated(this.SELinuxChangePolicy) + `,`,
`}`,
}, "")
return s
@@ -29320,6 +29366,7 @@ func (this *PodSpec) String() string {
`HostUsers:` + valueToStringGenerated(this.HostUsers) + `,`,
`SchedulingGates:` + repeatedStringForSchedulingGates + `,`,
`ResourceClaims:` + repeatedStringForResourceClaims + `,`,
+ `Resources:` + strings.Replace(this.Resources.String(), "ResourceRequirements", "ResourceRequirements", 1) + `,`,
`}`,
}, "")
return s
@@ -56954,6 +57001,39 @@ func (m *PodLogOptions) Unmarshal(dAtA []byte) error {
}
}
m.InsecureSkipTLSVerifyBackend = bool(v != 0)
+ case 10:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field Stream", wireType)
+ }
+ var stringLen uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ stringLen |= uint64(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ intStringLen := int(stringLen)
+ if intStringLen < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ postIndex := iNdEx + intStringLen
+ if postIndex < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ s := string(dAtA[iNdEx:postIndex])
+ m.Stream = &s
+ iNdEx = postIndex
default:
iNdEx = preIndex
skippy, err := skipGenerated(dAtA[iNdEx:])
@@ -58122,6 +58202,39 @@ func (m *PodSecurityContext) Unmarshal(dAtA []byte) error {
s := SupplementalGroupsPolicy(dAtA[iNdEx:postIndex])
m.SupplementalGroupsPolicy = &s
iNdEx = postIndex
+ case 13:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field SELinuxChangePolicy", wireType)
+ }
+ var stringLen uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ stringLen |= uint64(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ intStringLen := int(stringLen)
+ if intStringLen < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ postIndex := iNdEx + intStringLen
+ if postIndex < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ s := PodSELinuxChangePolicy(dAtA[iNdEx:postIndex])
+ m.SELinuxChangePolicy = &s
+ iNdEx = postIndex
default:
iNdEx = preIndex
skippy, err := skipGenerated(dAtA[iNdEx:])
@@ -59611,6 +59724,42 @@ func (m *PodSpec) Unmarshal(dAtA []byte) error {
return err
}
iNdEx = postIndex
+ case 40:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field Resources", wireType)
+ }
+ var msglen int
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ msglen |= int(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ if msglen < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ postIndex := iNdEx + msglen
+ if postIndex < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ if m.Resources == nil {
+ m.Resources = &ResourceRequirements{}
+ }
+ if err := m.Resources.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
+ return err
+ }
+ iNdEx = postIndex
default:
iNdEx = preIndex
skippy, err := skipGenerated(dAtA[iNdEx:])
diff --git a/vendor/k8s.io/api/core/v1/generated.proto b/vendor/k8s.io/api/core/v1/generated.proto
index 68ac80ed..08706987 100644
--- a/vendor/k8s.io/api/core/v1/generated.proto
+++ b/vendor/k8s.io/api/core/v1/generated.proto
@@ -181,7 +181,6 @@ message AzureFileVolumeSource {
}
// Binding ties one object to another; for example, a pod is bound to a node by a scheduler.
-// Deprecated in 1.7, please use the bindings subresource of pods instead.
message Binding {
// Standard object's metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
@@ -192,7 +191,7 @@ message Binding {
optional ObjectReference target = 2;
}
-// Represents storage that is managed by an external CSI volume driver (Beta feature)
+// Represents storage that is managed by an external CSI volume driver
message CSIPersistentVolumeSource {
// driver is the name of the driver to use for this volume.
// Required.
@@ -1071,7 +1070,7 @@ message ContainerStatus {
// AllocatedResources represents the compute resources allocated for this container by the
// node. Kubelet sets this value to Container.Resources.Requests upon successful pod admission
// and after successfully admitting desired pod resize.
- // +featureGate=InPlacePodVerticalScaling
+ // +featureGate=InPlacePodVerticalScalingAllocatedStatus
// +optional
map allocatedResources = 10;
@@ -1870,6 +1869,7 @@ message GCEPersistentDiskVolumeSource {
optional bool readOnly = 4;
}
+// GRPCAction specifies an action involving a GRPC service.
message GRPCAction {
// Port number of the gRPC service. Number must be in the range 1 to 65535.
optional int32 port = 1;
@@ -2203,21 +2203,21 @@ message Lifecycle {
// LifecycleHandler defines a specific action that should be taken in a lifecycle
// hook. One and only one of the fields, except TCPSocket must be specified.
message LifecycleHandler {
- // Exec specifies the action to take.
+ // Exec specifies a command to execute in the container.
// +optional
optional ExecAction exec = 1;
- // HTTPGet specifies the http request to perform.
+ // HTTPGet specifies an HTTP GET request to perform.
// +optional
optional HTTPGetAction httpGet = 2;
// Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept
- // for the backward compatibility. There are no validation of this field and
- // lifecycle hooks will fail in runtime when tcp handler is specified.
+ // for backward compatibility. There is no validation of this field and
+ // lifecycle hooks will fail at runtime when it is specified.
// +optional
optional TCPSocketAction tcpSocket = 3;
- // Sleep represents the duration that the container should sleep before being terminated.
+ // Sleep represents a duration that the container should sleep.
// +featureGate=PodLifecycleSleepAction
// +optional
optional SleepAction sleep = 4;
@@ -2346,13 +2346,23 @@ message LoadBalancerStatus {
// LocalObjectReference contains enough information to let you locate the
// referenced object inside the same namespace.
+// ---
+// New uses of this type are discouraged because of difficulty describing its usage when embedded in APIs.
+// 1. Invalid usage help. It is impossible to add specific help for individual usage. In most embedded usages, there are particular
+// restrictions like, "must refer only to types A and B" or "UID not honored" or "name must be restricted".
+// Those cannot be well described when embedded.
+// 2. Inconsistent validation. Because the usages are different, the validation rules are different by usage, which makes it hard for users to predict what will happen.
+// 3. We cannot easily change it. Because this type is embedded in many locations, updates to this type
+// will affect numerous schemas. Don't make new APIs embed an underspecified API type they do not control.
+//
+// Instead of using this type, create a locally provided and used type that is well-focused on your reference.
+// For example, ServiceReferences for admission registration: https://github.com/kubernetes/api/blob/release-1.17/admissionregistration/v1/types.go#L533 .
// +structType=atomic
message LocalObjectReference {
// Name of the referent.
// This field is effectively required, but due to backwards compatibility is
// allowed to be empty. Instances of this type with an empty value here are
// almost certainly wrong.
- // TODO: Add other useful fields. apiVersion, kind, uid?
// More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
// +optional
// +default=""
@@ -2361,7 +2371,7 @@ message LocalObjectReference {
optional string name = 1;
}
-// Local represents directly-attached storage with node affinity (Beta feature)
+// Local represents directly-attached storage with node affinity
message LocalVolumeSource {
// path of the full path to the volume on the node.
// It can be either a directory or block device (disk, partition, ...).
@@ -2438,12 +2448,15 @@ message NamespaceCondition {
// Status of the condition, one of True, False, Unknown.
optional string status = 2;
+ // Last time the condition transitioned from one status to another.
// +optional
optional .k8s.io.apimachinery.pkg.apis.meta.v1.Time lastTransitionTime = 4;
+ // Unique, one-word, CamelCase reason for the condition's last transition.
// +optional
optional string reason = 5;
+ // Human-readable message indicating details about last transition.
// +optional
optional string message = 6;
}
@@ -2783,7 +2796,7 @@ message NodeStatus {
optional string phase = 3;
// Conditions is an array of current observed node conditions.
- // More info: https://kubernetes.io/docs/concepts/nodes/node/#condition
+ // More info: https://kubernetes.io/docs/reference/node/node-status/#condition
// +optional
// +patchMergeKey=type
// +patchStrategy=merge
@@ -2793,7 +2806,7 @@ message NodeStatus {
// List of addresses reachable to the node.
// Queried from cloud provider, if available.
- // More info: https://kubernetes.io/docs/concepts/nodes/node/#addresses
+ // More info: https://kubernetes.io/docs/reference/node/node-status/#addresses
// Note: This field is declared as mergeable, but the merge key is not sufficiently
// unique, which can cause data corruption when it is merged. Callers should instead
// use a full-replacement patch. See https://pr.k8s.io/79391 for an example.
@@ -2813,7 +2826,7 @@ message NodeStatus {
optional NodeDaemonEndpoints daemonEndpoints = 6;
// Set of ids/uuids to uniquely identify the node.
- // More info: https://kubernetes.io/docs/concepts/nodes/node/#info
+ // More info: https://kubernetes.io/docs/reference/node/node-status/#info
// +optional
optional NodeSystemInfo nodeInfo = 7;
@@ -3001,8 +3014,13 @@ message PersistentVolumeClaim {
// PersistentVolumeClaimCondition contains details about state of pvc
message PersistentVolumeClaimCondition {
+ // Type is the type of the condition.
+ // More info: https://kubernetes.io/docs/reference/kubernetes-api/config-and-storage-resources/persistent-volume-claim-v1/#:~:text=set%20to%20%27ResizeStarted%27.-,PersistentVolumeClaimCondition,-contains%20details%20about
optional string type = 1;
+ // Status is the status of the condition.
+ // Can be True, False, Unknown.
+ // More info: https://kubernetes.io/docs/reference/kubernetes-api/config-and-storage-resources/persistent-volume-claim-v1/#:~:text=state%20of%20pvc-,conditions.status,-(string)%2C%20required
optional string status = 2;
// lastProbeTime is the time we probed the condition.
@@ -3280,12 +3298,16 @@ message PersistentVolumeList {
message PersistentVolumeSource {
// gcePersistentDisk represents a GCE Disk resource that is attached to a
// kubelet's host machine and then exposed to the pod. Provisioned by an admin.
+ // Deprecated: GCEPersistentDisk is deprecated. All operations for the in-tree
+ // gcePersistentDisk type are redirected to the pd.csi.storage.gke.io CSI driver.
// More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk
// +optional
optional GCEPersistentDiskVolumeSource gcePersistentDisk = 1;
// awsElasticBlockStore represents an AWS Disk resource that is attached to a
// kubelet's host machine and then exposed to the pod.
+ // Deprecated: AWSElasticBlockStore is deprecated. All operations for the in-tree
+ // awsElasticBlockStore type are redirected to the ebs.csi.aws.com CSI driver.
// More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore
// +optional
optional AWSElasticBlockStoreVolumeSource awsElasticBlockStore = 2;
@@ -3300,6 +3322,7 @@ message PersistentVolumeSource {
// glusterfs represents a Glusterfs volume that is attached to a host and
// exposed to the pod. Provisioned by an admin.
+ // Deprecated: Glusterfs is deprecated and the in-tree glusterfs type is no longer supported.
// More info: https://examples.k8s.io/volumes/glusterfs/README.md
// +optional
optional GlusterfsPersistentVolumeSource glusterfs = 4;
@@ -3310,6 +3333,7 @@ message PersistentVolumeSource {
optional NFSVolumeSource nfs = 5;
// rbd represents a Rados Block Device mount on the host that shares a pod's lifetime.
+ // Deprecated: RBD is deprecated and the in-tree rbd type is no longer supported.
// More info: https://examples.k8s.io/volumes/rbd/README.md
// +optional
optional RBDPersistentVolumeSource rbd = 6;
@@ -3320,11 +3344,14 @@ message PersistentVolumeSource {
optional ISCSIPersistentVolumeSource iscsi = 7;
// cinder represents a cinder volume attached and mounted on kubelets host machine.
+ // Deprecated: Cinder is deprecated. All operations for the in-tree cinder type
+ // are redirected to the cinder.csi.openstack.org CSI driver.
// More info: https://examples.k8s.io/mysql-cinder-pd/README.md
// +optional
optional CinderPersistentVolumeSource cinder = 8;
- // cephFS represents a Ceph FS mount on the host that shares a pod's lifetime
+ // cephFS represents a Ceph FS mount on the host that shares a pod's lifetime.
+ // Deprecated: CephFS is deprecated and the in-tree cephfs type is no longer supported.
// +optional
optional CephFSPersistentVolumeSource cephfs = 9;
@@ -3332,39 +3359,53 @@ message PersistentVolumeSource {
// +optional
optional FCVolumeSource fc = 10;
- // flocker represents a Flocker volume attached to a kubelet's host machine and exposed to the pod for its usage. This depends on the Flocker control service being running
+ // flocker represents a Flocker volume attached to a kubelet's host machine and exposed to the pod for its usage. This depends on the Flocker control service being running.
+ // Deprecated: Flocker is deprecated and the in-tree flocker type is no longer supported.
// +optional
optional FlockerVolumeSource flocker = 11;
// flexVolume represents a generic volume resource that is
// provisioned/attached using an exec based plugin.
+ // Deprecated: FlexVolume is deprecated. Consider using a CSIDriver instead.
// +optional
optional FlexPersistentVolumeSource flexVolume = 12;
// azureFile represents an Azure File Service mount on the host and bind mount to the pod.
+ // Deprecated: AzureFile is deprecated. All operations for the in-tree azureFile type
+ // are redirected to the file.csi.azure.com CSI driver.
// +optional
optional AzureFilePersistentVolumeSource azureFile = 13;
- // vsphereVolume represents a vSphere volume attached and mounted on kubelets host machine
+ // vsphereVolume represents a vSphere volume attached and mounted on kubelets host machine.
+ // Deprecated: VsphereVolume is deprecated. All operations for the in-tree vsphereVolume type
+ // are redirected to the csi.vsphere.vmware.com CSI driver.
// +optional
optional VsphereVirtualDiskVolumeSource vsphereVolume = 14;
- // quobyte represents a Quobyte mount on the host that shares a pod's lifetime
+ // quobyte represents a Quobyte mount on the host that shares a pod's lifetime.
+ // Deprecated: Quobyte is deprecated and the in-tree quobyte type is no longer supported.
// +optional
optional QuobyteVolumeSource quobyte = 15;
// azureDisk represents an Azure Data Disk mount on the host and bind mount to the pod.
+ // Deprecated: AzureDisk is deprecated. All operations for the in-tree azureDisk type
+ // are redirected to the disk.csi.azure.com CSI driver.
// +optional
optional AzureDiskVolumeSource azureDisk = 16;
- // photonPersistentDisk represents a PhotonController persistent disk attached and mounted on kubelets host machine
+ // photonPersistentDisk represents a PhotonController persistent disk attached and mounted on kubelets host machine.
+ // Deprecated: PhotonPersistentDisk is deprecated and the in-tree photonPersistentDisk type is no longer supported.
optional PhotonPersistentDiskVolumeSource photonPersistentDisk = 17;
- // portworxVolume represents a portworx volume attached and mounted on kubelets host machine
+ // portworxVolume represents a portworx volume attached and mounted on kubelets host machine.
+ // Deprecated: PortworxVolume is deprecated. All operations for the in-tree portworxVolume type
+ // are redirected to the pxd.portworx.com CSI driver when the CSIMigrationPortworx feature-gate
+ // is on.
// +optional
optional PortworxVolumeSource portworxVolume = 18;
// scaleIO represents a ScaleIO persistent volume attached and mounted on Kubernetes nodes.
+ // Deprecated: ScaleIO is deprecated and the in-tree scaleIO type is no longer supported.
// +optional
optional ScaleIOPersistentVolumeSource scaleIO = 19;
@@ -3372,12 +3413,13 @@ message PersistentVolumeSource {
// +optional
optional LocalVolumeSource local = 20;
- // storageOS represents a StorageOS volume that is attached to the kubelet's host machine and mounted into the pod
+ // storageOS represents a StorageOS volume that is attached to the kubelet's host machine and mounted into the pod.
+ // Deprecated: StorageOS is deprecated and the in-tree storageos type is no longer supported.
// More info: https://examples.k8s.io/volumes/storageos/README.md
// +optional
optional StorageOSPersistentVolumeSource storageos = 21;
- // csi represents storage that is handled by an external CSI driver (Beta feature).
+ // csi represents storage that is handled by an external CSI driver.
// +optional
optional CSIPersistentVolumeSource csi = 22;
}
@@ -3710,9 +3752,11 @@ message PodDNSConfig {
// PodDNSConfigOption defines DNS resolver options of a pod.
message PodDNSConfigOption {
+ // Name is this DNS resolver option's name.
// Required.
optional string name = 1;
+ // Value is this DNS resolver option's value.
// +optional
optional string value = 2;
}
@@ -3803,7 +3847,8 @@ message PodLogOptions {
optional bool timestamps = 6;
// If set, the number of lines from the end of the logs to show. If not specified,
- // logs are shown from the creation of the container or sinceSeconds or sinceTime
+ // logs are shown from the creation of the container or sinceSeconds or sinceTime.
+ // Note that when "TailLines" is specified, "Stream" can only be set to nil or "All".
// +optional
optional int64 tailLines = 7;
@@ -3821,6 +3866,14 @@ message PodLogOptions {
// the actual log data coming from the real kubelet).
// +optional
optional bool insecureSkipTLSVerifyBackend = 9;
+
+ // Specify which container log stream to return to the client.
+ // Acceptable values are "All", "Stdout" and "Stderr". If not specified, "All" is used, and both stdout and stderr
+ // are returned interleaved.
+ // Note that when "TailLines" is specified, "Stream" can only be set to nil or "All".
+ // +featureGate=PodLogsQuerySplitStreams
+ // +optional
+ optional string stream = 10;
}
// PodOS defines the OS parameters of a pod.
@@ -4029,6 +4082,33 @@ message PodSecurityContext {
// Note that this field cannot be set when spec.os.name is windows.
// +optional
optional AppArmorProfile appArmorProfile = 11;
+
+ // seLinuxChangePolicy defines how the container's SELinux label is applied to all volumes used by the Pod.
+ // It has no effect on nodes that do not support SELinux or to volumes does not support SELinux.
+ // Valid values are "MountOption" and "Recursive".
+ //
+ // "Recursive" means relabeling of all files on all Pod volumes by the container runtime.
+ // This may be slow for large volumes, but allows mixing privileged and unprivileged Pods sharing the same volume on the same node.
+ //
+ // "MountOption" mounts all eligible Pod volumes with `-o context` mount option.
+ // This requires all Pods that share the same volume to use the same SELinux label.
+ // It is not possible to share the same volume among privileged and unprivileged Pods.
+ // Eligible volumes are in-tree FibreChannel and iSCSI volumes, and all CSI volumes
+ // whose CSI driver announces SELinux support by setting spec.seLinuxMount: true in their
+ // CSIDriver instance. Other volumes are always re-labelled recursively.
+ // "MountOption" value is allowed only when SELinuxMount feature gate is enabled.
+ //
+ // If not specified and SELinuxMount feature gate is enabled, "MountOption" is used.
+ // If not specified and SELinuxMount feature gate is disabled, "MountOption" is used for ReadWriteOncePod volumes
+ // and "Recursive" for all other volumes.
+ //
+ // This field affects only Pods that have SELinux label set, either in PodSecurityContext or in SecurityContext of all containers.
+ //
+ // All Pods that use the same volume should use the same seLinuxChangePolicy, otherwise some pods can get stuck in ContainerCreating state.
+ // Note that this field cannot be set when spec.os.name is windows.
+ // +featureGate=SELinuxChangePolicy
+ // +optional
+ optional string seLinuxChangePolicy = 13;
}
// Describes the class of pods that should avoid this node.
@@ -4386,6 +4466,21 @@ message PodSpec {
// +featureGate=DynamicResourceAllocation
// +optional
repeated PodResourceClaim resourceClaims = 39;
+
+ // Resources is the total amount of CPU and Memory resources required by all
+ // containers in the pod. It supports specifying Requests and Limits for
+ // "cpu" and "memory" resource names only. ResourceClaims are not supported.
+ //
+ // This field enables fine-grained control over resource allocation for the
+ // entire pod, allowing resource sharing among containers in a pod.
+ // TODO: For beta graduation, expand this comment with a detailed explanation.
+ //
+ // This is an alpha field and requires enabling the PodLevelResources feature
+ // gate.
+ //
+ // +featureGate=PodLevelResources
+ // +optional
+ optional ResourceRequirements resources = 40;
}
// PodStatus represents information about the status of a pod. Status may trail the actual
@@ -4477,14 +4572,26 @@ message PodStatus {
// +optional
optional .k8s.io.apimachinery.pkg.apis.meta.v1.Time startTime = 7;
- // The list has one entry per init container in the manifest. The most recent successful
+ // Statuses of init containers in this pod. The most recent successful non-restartable
// init container will have ready = true, the most recently started container will have
// startTime set.
- // More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#pod-and-container-status
+ // Each init container in the pod should have at most one status in this list,
+ // and all statuses should be for containers in the pod.
+ // However this is not enforced.
+ // If a status for a non-existent container is present in the list, or the list has duplicate names,
+ // the behavior of various Kubernetes components is not defined and those statuses might be
+ // ignored.
+ // More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#pod-and-container-status
// +listType=atomic
repeated ContainerStatus initContainerStatuses = 10;
- // The list has one entry per container in the manifest.
+ // Statuses of containers in this pod.
+ // Each container in the pod should have at most one status in this list,
+ // and all statuses should be for containers in the pod.
+ // However this is not enforced.
+ // If a status for a non-existent container is present in the list, or the list has duplicate names,
+ // the behavior of various Kubernetes components is not defined and those statuses might be
+ // ignored.
// More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#pod-and-container-status
// +optional
// +listType=atomic
@@ -4496,7 +4603,14 @@ message PodStatus {
// +optional
optional string qosClass = 9;
- // Status for any ephemeral containers that have run in this pod.
+ // Statuses for any ephemeral containers that have run in this pod.
+ // Each ephemeral container in the pod should have at most one status in this list,
+ // and all statuses should be for containers in the pod.
+ // However this is not enforced.
+ // If a status for a non-existent container is present in the list, or the list has duplicate names,
+ // the behavior of various Kubernetes components is not defined and those statuses might be
+ // ignored.
+ // More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#pod-and-container-status
// +optional
// +listType=atomic
repeated ContainerStatus ephemeralContainerStatuses = 13;
@@ -4571,6 +4685,7 @@ message PodTemplateSpec {
optional PodSpec spec = 2;
}
+// PortStatus represents the error condition of a service port
message PortStatus {
// Port is the port number of the service port of which status is recorded here
optional int32 port = 1;
@@ -4695,19 +4810,19 @@ message Probe {
// ProbeHandler defines a specific action that should be taken in a probe.
// One and only one of the fields must be specified.
message ProbeHandler {
- // Exec specifies the action to take.
+ // Exec specifies a command to execute in the container.
// +optional
optional ExecAction exec = 1;
- // HTTPGet specifies the http request to perform.
+ // HTTPGet specifies an HTTP GET request to perform.
// +optional
optional HTTPGetAction httpGet = 2;
- // TCPSocket specifies an action involving a TCP port.
+ // TCPSocket specifies a connection to a TCP port.
// +optional
optional TCPSocketAction tcpSocket = 3;
- // GRPC specifies an action involving a GRPC port.
+ // GRPC specifies a GRPC HealthCheckRequest.
// +optional
optional GRPCAction grpc = 4;
}
@@ -5036,7 +5151,7 @@ message ResourceFieldSelector {
}
// ResourceHealth represents the health of a resource. It has the latest device health information.
-// This is a part of KEP https://kep.k8s.io/4680 and historical health changes are planned to be added in future iterations of a KEP.
+// This is a part of KEP https://kep.k8s.io/4680.
message ResourceHealth {
// ResourceID is the unique identifier of the resource. See the ResourceID type for more information.
optional string resourceID = 1;
@@ -5145,15 +5260,18 @@ message ResourceRequirements {
repeated ResourceClaim claims = 3;
}
+// ResourceStatus represents the status of a single resource allocated to a Pod.
message ResourceStatus {
- // Name of the resource. Must be unique within the pod and match one of the resources from the pod spec.
+ // Name of the resource. Must be unique within the pod and in case of non-DRA resource, match one of the resources from the pod spec.
+ // For DRA resources, the value must be "claim:/".
+ // When this status is reported about a container, the "claim_name" and "request" must match one of the claims of this container.
// +required
optional string name = 1;
- // List of unique Resources health. Each element in the list contains an unique resource ID and resource health.
- // At a minimum, ResourceID must uniquely identify the Resource
- // allocated to the Pod on the Node for the lifetime of a Pod.
- // See ResourceID type for it's definition.
+ // List of unique resources health. Each element in the list contains an unique resource ID and its health.
+ // At a minimum, for the lifetime of a Pod, resource ID must uniquely identify the resource allocated to the Pod on the Node.
+ // If other Pod on the same Node reports the status with the same resource ID, it must be the same resource they share.
+ // See ResourceID type definition for a specific format it has in various use cases.
// +listType=map
// +listMapKey=resourceID
repeated ResourceHealth resources = 2;
@@ -5611,6 +5729,8 @@ message ServiceAccount {
// Secrets is a list of the secrets in the same namespace that pods running using this ServiceAccount are allowed to use.
// Pods are only limited to this list if this service account has a "kubernetes.io/enforce-mountable-secrets" annotation set to "true".
+ // The "kubernetes.io/enforce-mountable-secrets" annotation is deprecated since v1.32.
+ // Prefer separate namespaces to isolate access to mounted secrets.
// This field should not be used to find auto-generated service account token secrets for use outside of pods.
// Instead, tokens can be requested directly using the TokenRequest API, or service account token secrets can be manually created.
// More info: https://kubernetes.io/docs/concepts/configuration/secret
@@ -5996,7 +6116,7 @@ message ServiceSpec {
// not set, the implementation will apply its default routing strategy. If set
// to "PreferClose", implementations should prioritize endpoints that are
// topologically close (e.g., same zone).
- // This is an alpha field and requires enabling ServiceTrafficDistribution feature.
+ // This is a beta field and requires enabling ServiceTrafficDistribution feature.
// +featureGate=ServiceTrafficDistribution
// +optional
optional string trafficDistribution = 23;
@@ -6323,6 +6443,20 @@ message TopologySpreadConstraint {
// TypedLocalObjectReference contains enough information to let you locate the
// typed referenced object inside the same namespace.
+// ---
+// New uses of this type are discouraged because of difficulty describing its usage when embedded in APIs.
+// 1. Invalid usage help. It is impossible to add specific help for individual usage. In most embedded usages, there are particular
+// restrictions like, "must refer only to types A and B" or "UID not honored" or "name must be restricted".
+// Those cannot be well described when embedded.
+// 2. Inconsistent validation. Because the usages are different, the validation rules are different by usage, which makes it hard for users to predict what will happen.
+// 3. The fields are both imprecise and overly precise. Kind is not a precise mapping to a URL. This can produce ambiguity
+// during interpretation and require a REST mapping. In most cases, the dependency is on the group,resource tuple
+// and the version of the actual struct is irrelevant.
+// 4. We cannot easily change it. Because this type is embedded in many locations, updates to this type
+// will affect numerous schemas. Don't make new APIs embed an underspecified API type they do not control.
+//
+// Instead of using this type, create a locally provided and used type that is well-focused on your reference.
+// For example, ServiceReferences for admission registration: https://github.com/kubernetes/api/blob/release-1.17/admissionregistration/v1/types.go#L533 .
// +structType=atomic
message TypedLocalObjectReference {
// APIGroup is the group for the resource being referenced.
@@ -6338,6 +6472,7 @@ message TypedLocalObjectReference {
optional string name = 3;
}
+// TypedObjectReference contains enough information to let you locate the typed referenced object
message TypedObjectReference {
// APIGroup is the group for the resource being referenced.
// If APIGroup is not specified, the specified Kind must be in the core API group.
@@ -6538,18 +6673,22 @@ message VolumeSource {
// gcePersistentDisk represents a GCE Disk resource that is attached to a
// kubelet's host machine and then exposed to the pod.
+ // Deprecated: GCEPersistentDisk is deprecated. All operations for the in-tree
+ // gcePersistentDisk type are redirected to the pd.csi.storage.gke.io CSI driver.
// More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk
// +optional
optional GCEPersistentDiskVolumeSource gcePersistentDisk = 3;
// awsElasticBlockStore represents an AWS Disk resource that is attached to a
// kubelet's host machine and then exposed to the pod.
+ // Deprecated: AWSElasticBlockStore is deprecated. All operations for the in-tree
+ // awsElasticBlockStore type are redirected to the ebs.csi.aws.com CSI driver.
// More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore
// +optional
optional AWSElasticBlockStoreVolumeSource awsElasticBlockStore = 4;
// gitRepo represents a git repository at a particular revision.
- // DEPRECATED: GitRepo is deprecated. To provision a container with a git repo, mount an
+ // Deprecated: GitRepo is deprecated. To provision a container with a git repo, mount an
// EmptyDir into an InitContainer that clones the repo using git, then mount the EmptyDir
// into the Pod's container.
// +optional
@@ -6572,6 +6711,7 @@ message VolumeSource {
optional ISCSIVolumeSource iscsi = 8;
// glusterfs represents a Glusterfs mount on the host that shares a pod's lifetime.
+ // Deprecated: Glusterfs is deprecated and the in-tree glusterfs type is no longer supported.
// More info: https://examples.k8s.io/volumes/glusterfs/README.md
// +optional
optional GlusterfsVolumeSource glusterfs = 9;
@@ -6583,25 +6723,31 @@ message VolumeSource {
optional PersistentVolumeClaimVolumeSource persistentVolumeClaim = 10;
// rbd represents a Rados Block Device mount on the host that shares a pod's lifetime.
+ // Deprecated: RBD is deprecated and the in-tree rbd type is no longer supported.
// More info: https://examples.k8s.io/volumes/rbd/README.md
// +optional
optional RBDVolumeSource rbd = 11;
// flexVolume represents a generic volume resource that is
// provisioned/attached using an exec based plugin.
+ // Deprecated: FlexVolume is deprecated. Consider using a CSIDriver instead.
// +optional
optional FlexVolumeSource flexVolume = 12;
// cinder represents a cinder volume attached and mounted on kubelets host machine.
+ // Deprecated: Cinder is deprecated. All operations for the in-tree cinder type
+ // are redirected to the cinder.csi.openstack.org CSI driver.
// More info: https://examples.k8s.io/mysql-cinder-pd/README.md
// +optional
optional CinderVolumeSource cinder = 13;
- // cephFS represents a Ceph FS mount on the host that shares a pod's lifetime
+ // cephFS represents a Ceph FS mount on the host that shares a pod's lifetime.
+ // Deprecated: CephFS is deprecated and the in-tree cephfs type is no longer supported.
// +optional
optional CephFSVolumeSource cephfs = 14;
- // flocker represents a Flocker volume attached to a kubelet's host machine. This depends on the Flocker control service being running
+ // flocker represents a Flocker volume attached to a kubelet's host machine. This depends on the Flocker control service being running.
+ // Deprecated: Flocker is deprecated and the in-tree flocker type is no longer supported.
// +optional
optional FlockerVolumeSource flocker = 15;
@@ -6614,6 +6760,8 @@ message VolumeSource {
optional FCVolumeSource fc = 17;
// azureFile represents an Azure File Service mount on the host and bind mount to the pod.
+ // Deprecated: AzureFile is deprecated. All operations for the in-tree azureFile type
+ // are redirected to the file.csi.azure.com CSI driver.
// +optional
optional AzureFileVolumeSource azureFile = 18;
@@ -6621,37 +6769,48 @@ message VolumeSource {
// +optional
optional ConfigMapVolumeSource configMap = 19;
- // vsphereVolume represents a vSphere volume attached and mounted on kubelets host machine
+ // vsphereVolume represents a vSphere volume attached and mounted on kubelets host machine.
+ // Deprecated: VsphereVolume is deprecated. All operations for the in-tree vsphereVolume type
+ // are redirected to the csi.vsphere.vmware.com CSI driver.
// +optional
optional VsphereVirtualDiskVolumeSource vsphereVolume = 20;
- // quobyte represents a Quobyte mount on the host that shares a pod's lifetime
+ // quobyte represents a Quobyte mount on the host that shares a pod's lifetime.
+ // Deprecated: Quobyte is deprecated and the in-tree quobyte type is no longer supported.
// +optional
optional QuobyteVolumeSource quobyte = 21;
// azureDisk represents an Azure Data Disk mount on the host and bind mount to the pod.
+ // Deprecated: AzureDisk is deprecated. All operations for the in-tree azureDisk type
+ // are redirected to the disk.csi.azure.com CSI driver.
// +optional
optional AzureDiskVolumeSource azureDisk = 22;
- // photonPersistentDisk represents a PhotonController persistent disk attached and mounted on kubelets host machine
+ // photonPersistentDisk represents a PhotonController persistent disk attached and mounted on kubelets host machine.
+ // Deprecated: PhotonPersistentDisk is deprecated and the in-tree photonPersistentDisk type is no longer supported.
optional PhotonPersistentDiskVolumeSource photonPersistentDisk = 23;
// projected items for all in one resources secrets, configmaps, and downward API
optional ProjectedVolumeSource projected = 26;
- // portworxVolume represents a portworx volume attached and mounted on kubelets host machine
+ // portworxVolume represents a portworx volume attached and mounted on kubelets host machine.
+ // Deprecated: PortworxVolume is deprecated. All operations for the in-tree portworxVolume type
+ // are redirected to the pxd.portworx.com CSI driver when the CSIMigrationPortworx feature-gate
+ // is on.
// +optional
optional PortworxVolumeSource portworxVolume = 24;
// scaleIO represents a ScaleIO persistent volume attached and mounted on Kubernetes nodes.
+ // Deprecated: ScaleIO is deprecated and the in-tree scaleIO type is no longer supported.
// +optional
optional ScaleIOVolumeSource scaleIO = 25;
// storageOS represents a StorageOS volume attached and mounted on Kubernetes nodes.
+ // Deprecated: StorageOS is deprecated and the in-tree storageos type is no longer supported.
// +optional
optional StorageOSVolumeSource storageos = 27;
- // csi (Container Storage Interface) represents ephemeral storage that is handled by certain external CSI drivers (Beta feature).
+ // csi (Container Storage Interface) represents ephemeral storage that is handled by certain external CSI drivers.
// +optional
optional CSIVolumeSource csi = 28;
diff --git a/vendor/k8s.io/api/core/v1/objectreference.go b/vendor/k8s.io/api/core/v1/objectreference.go
index ee5335ee..609cadc7 100644
--- a/vendor/k8s.io/api/core/v1/objectreference.go
+++ b/vendor/k8s.io/api/core/v1/objectreference.go
@@ -20,7 +20,7 @@ import (
"k8s.io/apimachinery/pkg/runtime/schema"
)
-// IsAnAPIObject allows clients to preemptively get a reference to an API object and pass it to places that
+// SetGroupVersionKind allows clients to preemptively get a reference to an API object and pass it to places that
// intend only to get a reference to that object. This simplifies the event recording interface.
func (obj *ObjectReference) SetGroupVersionKind(gvk schema.GroupVersionKind) {
obj.APIVersion, obj.Kind = gvk.ToAPIVersionAndKind()
diff --git a/vendor/k8s.io/api/core/v1/types.go b/vendor/k8s.io/api/core/v1/types.go
index 3a74138b..fb2c1c74 100644
--- a/vendor/k8s.io/api/core/v1/types.go
+++ b/vendor/k8s.io/api/core/v1/types.go
@@ -63,16 +63,20 @@ type VolumeSource struct {
EmptyDir *EmptyDirVolumeSource `json:"emptyDir,omitempty" protobuf:"bytes,2,opt,name=emptyDir"`
// gcePersistentDisk represents a GCE Disk resource that is attached to a
// kubelet's host machine and then exposed to the pod.
+ // Deprecated: GCEPersistentDisk is deprecated. All operations for the in-tree
+ // gcePersistentDisk type are redirected to the pd.csi.storage.gke.io CSI driver.
// More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk
// +optional
GCEPersistentDisk *GCEPersistentDiskVolumeSource `json:"gcePersistentDisk,omitempty" protobuf:"bytes,3,opt,name=gcePersistentDisk"`
// awsElasticBlockStore represents an AWS Disk resource that is attached to a
// kubelet's host machine and then exposed to the pod.
+ // Deprecated: AWSElasticBlockStore is deprecated. All operations for the in-tree
+ // awsElasticBlockStore type are redirected to the ebs.csi.aws.com CSI driver.
// More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore
// +optional
AWSElasticBlockStore *AWSElasticBlockStoreVolumeSource `json:"awsElasticBlockStore,omitempty" protobuf:"bytes,4,opt,name=awsElasticBlockStore"`
// gitRepo represents a git repository at a particular revision.
- // DEPRECATED: GitRepo is deprecated. To provision a container with a git repo, mount an
+ // Deprecated: GitRepo is deprecated. To provision a container with a git repo, mount an
// EmptyDir into an InitContainer that clones the repo using git, then mount the EmptyDir
// into the Pod's container.
// +optional
@@ -91,6 +95,7 @@ type VolumeSource struct {
// +optional
ISCSI *ISCSIVolumeSource `json:"iscsi,omitempty" protobuf:"bytes,8,opt,name=iscsi"`
// glusterfs represents a Glusterfs mount on the host that shares a pod's lifetime.
+ // Deprecated: Glusterfs is deprecated and the in-tree glusterfs type is no longer supported.
// More info: https://examples.k8s.io/volumes/glusterfs/README.md
// +optional
Glusterfs *GlusterfsVolumeSource `json:"glusterfs,omitempty" protobuf:"bytes,9,opt,name=glusterfs"`
@@ -100,21 +105,27 @@ type VolumeSource struct {
// +optional
PersistentVolumeClaim *PersistentVolumeClaimVolumeSource `json:"persistentVolumeClaim,omitempty" protobuf:"bytes,10,opt,name=persistentVolumeClaim"`
// rbd represents a Rados Block Device mount on the host that shares a pod's lifetime.
+ // Deprecated: RBD is deprecated and the in-tree rbd type is no longer supported.
// More info: https://examples.k8s.io/volumes/rbd/README.md
// +optional
RBD *RBDVolumeSource `json:"rbd,omitempty" protobuf:"bytes,11,opt,name=rbd"`
// flexVolume represents a generic volume resource that is
// provisioned/attached using an exec based plugin.
+ // Deprecated: FlexVolume is deprecated. Consider using a CSIDriver instead.
// +optional
FlexVolume *FlexVolumeSource `json:"flexVolume,omitempty" protobuf:"bytes,12,opt,name=flexVolume"`
// cinder represents a cinder volume attached and mounted on kubelets host machine.
+ // Deprecated: Cinder is deprecated. All operations for the in-tree cinder type
+ // are redirected to the cinder.csi.openstack.org CSI driver.
// More info: https://examples.k8s.io/mysql-cinder-pd/README.md
// +optional
Cinder *CinderVolumeSource `json:"cinder,omitempty" protobuf:"bytes,13,opt,name=cinder"`
- // cephFS represents a Ceph FS mount on the host that shares a pod's lifetime
+ // cephFS represents a Ceph FS mount on the host that shares a pod's lifetime.
+ // Deprecated: CephFS is deprecated and the in-tree cephfs type is no longer supported.
// +optional
CephFS *CephFSVolumeSource `json:"cephfs,omitempty" protobuf:"bytes,14,opt,name=cephfs"`
- // flocker represents a Flocker volume attached to a kubelet's host machine. This depends on the Flocker control service being running
+ // flocker represents a Flocker volume attached to a kubelet's host machine. This depends on the Flocker control service being running.
+ // Deprecated: Flocker is deprecated and the in-tree flocker type is no longer supported.
// +optional
Flocker *FlockerVolumeSource `json:"flocker,omitempty" protobuf:"bytes,15,opt,name=flocker"`
// downwardAPI represents downward API about the pod that should populate this volume
@@ -124,34 +135,47 @@ type VolumeSource struct {
// +optional
FC *FCVolumeSource `json:"fc,omitempty" protobuf:"bytes,17,opt,name=fc"`
// azureFile represents an Azure File Service mount on the host and bind mount to the pod.
+ // Deprecated: AzureFile is deprecated. All operations for the in-tree azureFile type
+ // are redirected to the file.csi.azure.com CSI driver.
// +optional
AzureFile *AzureFileVolumeSource `json:"azureFile,omitempty" protobuf:"bytes,18,opt,name=azureFile"`
// configMap represents a configMap that should populate this volume
// +optional
ConfigMap *ConfigMapVolumeSource `json:"configMap,omitempty" protobuf:"bytes,19,opt,name=configMap"`
- // vsphereVolume represents a vSphere volume attached and mounted on kubelets host machine
+ // vsphereVolume represents a vSphere volume attached and mounted on kubelets host machine.
+ // Deprecated: VsphereVolume is deprecated. All operations for the in-tree vsphereVolume type
+ // are redirected to the csi.vsphere.vmware.com CSI driver.
// +optional
VsphereVolume *VsphereVirtualDiskVolumeSource `json:"vsphereVolume,omitempty" protobuf:"bytes,20,opt,name=vsphereVolume"`
- // quobyte represents a Quobyte mount on the host that shares a pod's lifetime
+ // quobyte represents a Quobyte mount on the host that shares a pod's lifetime.
+ // Deprecated: Quobyte is deprecated and the in-tree quobyte type is no longer supported.
// +optional
Quobyte *QuobyteVolumeSource `json:"quobyte,omitempty" protobuf:"bytes,21,opt,name=quobyte"`
// azureDisk represents an Azure Data Disk mount on the host and bind mount to the pod.
+ // Deprecated: AzureDisk is deprecated. All operations for the in-tree azureDisk type
+ // are redirected to the disk.csi.azure.com CSI driver.
// +optional
AzureDisk *AzureDiskVolumeSource `json:"azureDisk,omitempty" protobuf:"bytes,22,opt,name=azureDisk"`
- // photonPersistentDisk represents a PhotonController persistent disk attached and mounted on kubelets host machine
+ // photonPersistentDisk represents a PhotonController persistent disk attached and mounted on kubelets host machine.
+ // Deprecated: PhotonPersistentDisk is deprecated and the in-tree photonPersistentDisk type is no longer supported.
PhotonPersistentDisk *PhotonPersistentDiskVolumeSource `json:"photonPersistentDisk,omitempty" protobuf:"bytes,23,opt,name=photonPersistentDisk"`
// projected items for all in one resources secrets, configmaps, and downward API
Projected *ProjectedVolumeSource `json:"projected,omitempty" protobuf:"bytes,26,opt,name=projected"`
- // portworxVolume represents a portworx volume attached and mounted on kubelets host machine
+ // portworxVolume represents a portworx volume attached and mounted on kubelets host machine.
+ // Deprecated: PortworxVolume is deprecated. All operations for the in-tree portworxVolume type
+ // are redirected to the pxd.portworx.com CSI driver when the CSIMigrationPortworx feature-gate
+ // is on.
// +optional
PortworxVolume *PortworxVolumeSource `json:"portworxVolume,omitempty" protobuf:"bytes,24,opt,name=portworxVolume"`
// scaleIO represents a ScaleIO persistent volume attached and mounted on Kubernetes nodes.
+ // Deprecated: ScaleIO is deprecated and the in-tree scaleIO type is no longer supported.
// +optional
ScaleIO *ScaleIOVolumeSource `json:"scaleIO,omitempty" protobuf:"bytes,25,opt,name=scaleIO"`
// storageOS represents a StorageOS volume attached and mounted on Kubernetes nodes.
+ // Deprecated: StorageOS is deprecated and the in-tree storageos type is no longer supported.
// +optional
StorageOS *StorageOSVolumeSource `json:"storageos,omitempty" protobuf:"bytes,27,opt,name=storageos"`
- // csi (Container Storage Interface) represents ephemeral storage that is handled by certain external CSI drivers (Beta feature).
+ // csi (Container Storage Interface) represents ephemeral storage that is handled by certain external CSI drivers.
// +optional
CSI *CSIVolumeSource `json:"csi,omitempty" protobuf:"bytes,28,opt,name=csi"`
// ephemeral represents a volume that is handled by a cluster storage driver.
@@ -219,11 +243,15 @@ type PersistentVolumeClaimVolumeSource struct {
type PersistentVolumeSource struct {
// gcePersistentDisk represents a GCE Disk resource that is attached to a
// kubelet's host machine and then exposed to the pod. Provisioned by an admin.
+ // Deprecated: GCEPersistentDisk is deprecated. All operations for the in-tree
+ // gcePersistentDisk type are redirected to the pd.csi.storage.gke.io CSI driver.
// More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk
// +optional
GCEPersistentDisk *GCEPersistentDiskVolumeSource `json:"gcePersistentDisk,omitempty" protobuf:"bytes,1,opt,name=gcePersistentDisk"`
// awsElasticBlockStore represents an AWS Disk resource that is attached to a
// kubelet's host machine and then exposed to the pod.
+ // Deprecated: AWSElasticBlockStore is deprecated. All operations for the in-tree
+ // awsElasticBlockStore type are redirected to the ebs.csi.aws.com CSI driver.
// More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore
// +optional
AWSElasticBlockStore *AWSElasticBlockStoreVolumeSource `json:"awsElasticBlockStore,omitempty" protobuf:"bytes,2,opt,name=awsElasticBlockStore"`
@@ -236,6 +264,7 @@ type PersistentVolumeSource struct {
HostPath *HostPathVolumeSource `json:"hostPath,omitempty" protobuf:"bytes,3,opt,name=hostPath"`
// glusterfs represents a Glusterfs volume that is attached to a host and
// exposed to the pod. Provisioned by an admin.
+ // Deprecated: Glusterfs is deprecated and the in-tree glusterfs type is no longer supported.
// More info: https://examples.k8s.io/volumes/glusterfs/README.md
// +optional
Glusterfs *GlusterfsPersistentVolumeSource `json:"glusterfs,omitempty" protobuf:"bytes,4,opt,name=glusterfs"`
@@ -244,6 +273,7 @@ type PersistentVolumeSource struct {
// +optional
NFS *NFSVolumeSource `json:"nfs,omitempty" protobuf:"bytes,5,opt,name=nfs"`
// rbd represents a Rados Block Device mount on the host that shares a pod's lifetime.
+ // Deprecated: RBD is deprecated and the in-tree rbd type is no longer supported.
// More info: https://examples.k8s.io/volumes/rbd/README.md
// +optional
RBD *RBDPersistentVolumeSource `json:"rbd,omitempty" protobuf:"bytes,6,opt,name=rbd"`
@@ -252,50 +282,68 @@ type PersistentVolumeSource struct {
// +optional
ISCSI *ISCSIPersistentVolumeSource `json:"iscsi,omitempty" protobuf:"bytes,7,opt,name=iscsi"`
// cinder represents a cinder volume attached and mounted on kubelets host machine.
+ // Deprecated: Cinder is deprecated. All operations for the in-tree cinder type
+ // are redirected to the cinder.csi.openstack.org CSI driver.
// More info: https://examples.k8s.io/mysql-cinder-pd/README.md
// +optional
Cinder *CinderPersistentVolumeSource `json:"cinder,omitempty" protobuf:"bytes,8,opt,name=cinder"`
- // cephFS represents a Ceph FS mount on the host that shares a pod's lifetime
+ // cephFS represents a Ceph FS mount on the host that shares a pod's lifetime.
+ // Deprecated: CephFS is deprecated and the in-tree cephfs type is no longer supported.
// +optional
CephFS *CephFSPersistentVolumeSource `json:"cephfs,omitempty" protobuf:"bytes,9,opt,name=cephfs"`
// fc represents a Fibre Channel resource that is attached to a kubelet's host machine and then exposed to the pod.
// +optional
FC *FCVolumeSource `json:"fc,omitempty" protobuf:"bytes,10,opt,name=fc"`
- // flocker represents a Flocker volume attached to a kubelet's host machine and exposed to the pod for its usage. This depends on the Flocker control service being running
+ // flocker represents a Flocker volume attached to a kubelet's host machine and exposed to the pod for its usage. This depends on the Flocker control service being running.
+ // Deprecated: Flocker is deprecated and the in-tree flocker type is no longer supported.
// +optional
Flocker *FlockerVolumeSource `json:"flocker,omitempty" protobuf:"bytes,11,opt,name=flocker"`
// flexVolume represents a generic volume resource that is
// provisioned/attached using an exec based plugin.
+ // Deprecated: FlexVolume is deprecated. Consider using a CSIDriver instead.
// +optional
FlexVolume *FlexPersistentVolumeSource `json:"flexVolume,omitempty" protobuf:"bytes,12,opt,name=flexVolume"`
// azureFile represents an Azure File Service mount on the host and bind mount to the pod.
+ // Deprecated: AzureFile is deprecated. All operations for the in-tree azureFile type
+ // are redirected to the file.csi.azure.com CSI driver.
// +optional
AzureFile *AzureFilePersistentVolumeSource `json:"azureFile,omitempty" protobuf:"bytes,13,opt,name=azureFile"`
- // vsphereVolume represents a vSphere volume attached and mounted on kubelets host machine
+ // vsphereVolume represents a vSphere volume attached and mounted on kubelets host machine.
+ // Deprecated: VsphereVolume is deprecated. All operations for the in-tree vsphereVolume type
+ // are redirected to the csi.vsphere.vmware.com CSI driver.
// +optional
VsphereVolume *VsphereVirtualDiskVolumeSource `json:"vsphereVolume,omitempty" protobuf:"bytes,14,opt,name=vsphereVolume"`
- // quobyte represents a Quobyte mount on the host that shares a pod's lifetime
+ // quobyte represents a Quobyte mount on the host that shares a pod's lifetime.
+ // Deprecated: Quobyte is deprecated and the in-tree quobyte type is no longer supported.
// +optional
Quobyte *QuobyteVolumeSource `json:"quobyte,omitempty" protobuf:"bytes,15,opt,name=quobyte"`
// azureDisk represents an Azure Data Disk mount on the host and bind mount to the pod.
+ // Deprecated: AzureDisk is deprecated. All operations for the in-tree azureDisk type
+ // are redirected to the disk.csi.azure.com CSI driver.
// +optional
AzureDisk *AzureDiskVolumeSource `json:"azureDisk,omitempty" protobuf:"bytes,16,opt,name=azureDisk"`
- // photonPersistentDisk represents a PhotonController persistent disk attached and mounted on kubelets host machine
+ // photonPersistentDisk represents a PhotonController persistent disk attached and mounted on kubelets host machine.
+ // Deprecated: PhotonPersistentDisk is deprecated and the in-tree photonPersistentDisk type is no longer supported.
PhotonPersistentDisk *PhotonPersistentDiskVolumeSource `json:"photonPersistentDisk,omitempty" protobuf:"bytes,17,opt,name=photonPersistentDisk"`
- // portworxVolume represents a portworx volume attached and mounted on kubelets host machine
+ // portworxVolume represents a portworx volume attached and mounted on kubelets host machine.
+ // Deprecated: PortworxVolume is deprecated. All operations for the in-tree portworxVolume type
+ // are redirected to the pxd.portworx.com CSI driver when the CSIMigrationPortworx feature-gate
+ // is on.
// +optional
PortworxVolume *PortworxVolumeSource `json:"portworxVolume,omitempty" protobuf:"bytes,18,opt,name=portworxVolume"`
// scaleIO represents a ScaleIO persistent volume attached and mounted on Kubernetes nodes.
+ // Deprecated: ScaleIO is deprecated and the in-tree scaleIO type is no longer supported.
// +optional
ScaleIO *ScaleIOPersistentVolumeSource `json:"scaleIO,omitempty" protobuf:"bytes,19,opt,name=scaleIO"`
// local represents directly-attached storage with node affinity
// +optional
Local *LocalVolumeSource `json:"local,omitempty" protobuf:"bytes,20,opt,name=local"`
- // storageOS represents a StorageOS volume that is attached to the kubelet's host machine and mounted into the pod
+ // storageOS represents a StorageOS volume that is attached to the kubelet's host machine and mounted into the pod.
+ // Deprecated: StorageOS is deprecated and the in-tree storageos type is no longer supported.
// More info: https://examples.k8s.io/volumes/storageos/README.md
// +optional
StorageOS *StorageOSPersistentVolumeSource `json:"storageos,omitempty" protobuf:"bytes,21,opt,name=storageos"`
- // csi represents storage that is handled by an external CSI driver (Beta feature).
+ // csi represents storage that is handled by an external CSI driver.
// +optional
CSI *CSIPersistentVolumeSource `json:"csi,omitempty" protobuf:"bytes,22,opt,name=csi"`
}
@@ -582,6 +630,7 @@ type PersistentVolumeClaimSpec struct {
VolumeAttributesClassName *string `json:"volumeAttributesClassName,omitempty" protobuf:"bytes,9,opt,name=volumeAttributesClassName"`
}
+// TypedObjectReference contains enough information to let you locate the typed referenced object
type TypedObjectReference struct {
// APIGroup is the group for the resource being referenced.
// If APIGroup is not specified, the specified Kind must be in the core API group.
@@ -688,8 +737,13 @@ type ModifyVolumeStatus struct {
// PersistentVolumeClaimCondition contains details about state of pvc
type PersistentVolumeClaimCondition struct {
- Type PersistentVolumeClaimConditionType `json:"type" protobuf:"bytes,1,opt,name=type,casttype=PersistentVolumeClaimConditionType"`
- Status ConditionStatus `json:"status" protobuf:"bytes,2,opt,name=status,casttype=ConditionStatus"`
+ // Type is the type of the condition.
+ // More info: https://kubernetes.io/docs/reference/kubernetes-api/config-and-storage-resources/persistent-volume-claim-v1/#:~:text=set%20to%20%27ResizeStarted%27.-,PersistentVolumeClaimCondition,-contains%20details%20about
+ Type PersistentVolumeClaimConditionType `json:"type" protobuf:"bytes,1,opt,name=type,casttype=PersistentVolumeClaimConditionType"`
+ // Status is the status of the condition.
+ // Can be True, False, Unknown.
+ // More info: https://kubernetes.io/docs/reference/kubernetes-api/config-and-storage-resources/persistent-volume-claim-v1/#:~:text=state%20of%20pvc-,conditions.status,-(string)%2C%20required
+ Status ConditionStatus `json:"status" protobuf:"bytes,2,opt,name=status,casttype=ConditionStatus"`
// lastProbeTime is the time we probed the condition.
// +optional
LastProbeTime metav1.Time `json:"lastProbeTime,omitempty" protobuf:"bytes,3,opt,name=lastProbeTime"`
@@ -2015,7 +2069,7 @@ type KeyToPath struct {
Mode *int32 `json:"mode,omitempty" protobuf:"varint,3,opt,name=mode"`
}
-// Local represents directly-attached storage with node affinity (Beta feature)
+// Local represents directly-attached storage with node affinity
type LocalVolumeSource struct {
// path of the full path to the volume on the node.
// It can be either a directory or block device (disk, partition, ...).
@@ -2029,7 +2083,7 @@ type LocalVolumeSource struct {
FSType *string `json:"fsType,omitempty" protobuf:"bytes,2,opt,name=fsType"`
}
-// Represents storage that is managed by an external CSI volume driver (Beta feature)
+// Represents storage that is managed by an external CSI volume driver
type CSIPersistentVolumeSource struct {
// driver is the name of the driver to use for this volume.
// Required.
@@ -2476,6 +2530,7 @@ type TCPSocketAction struct {
Host string `json:"host,omitempty" protobuf:"bytes,2,opt,name=host"`
}
+// GRPCAction specifies an action involving a GRPC service.
type GRPCAction struct {
// Port number of the gRPC service. Number must be in the range 1 to 65535.
Port int32 `json:"port" protobuf:"bytes,1,opt,name=port"`
@@ -2891,17 +2946,16 @@ type Container struct {
// ProbeHandler defines a specific action that should be taken in a probe.
// One and only one of the fields must be specified.
type ProbeHandler struct {
- // Exec specifies the action to take.
+ // Exec specifies a command to execute in the container.
// +optional
Exec *ExecAction `json:"exec,omitempty" protobuf:"bytes,1,opt,name=exec"`
- // HTTPGet specifies the http request to perform.
+ // HTTPGet specifies an HTTP GET request to perform.
// +optional
HTTPGet *HTTPGetAction `json:"httpGet,omitempty" protobuf:"bytes,2,opt,name=httpGet"`
- // TCPSocket specifies an action involving a TCP port.
+ // TCPSocket specifies a connection to a TCP port.
// +optional
TCPSocket *TCPSocketAction `json:"tcpSocket,omitempty" protobuf:"bytes,3,opt,name=tcpSocket"`
-
- // GRPC specifies an action involving a GRPC port.
+ // GRPC specifies a GRPC HealthCheckRequest.
// +optional
GRPC *GRPCAction `json:"grpc,omitempty" protobuf:"bytes,4,opt,name=grpc"`
}
@@ -2909,18 +2963,18 @@ type ProbeHandler struct {
// LifecycleHandler defines a specific action that should be taken in a lifecycle
// hook. One and only one of the fields, except TCPSocket must be specified.
type LifecycleHandler struct {
- // Exec specifies the action to take.
+ // Exec specifies a command to execute in the container.
// +optional
Exec *ExecAction `json:"exec,omitempty" protobuf:"bytes,1,opt,name=exec"`
- // HTTPGet specifies the http request to perform.
+ // HTTPGet specifies an HTTP GET request to perform.
// +optional
HTTPGet *HTTPGetAction `json:"httpGet,omitempty" protobuf:"bytes,2,opt,name=httpGet"`
// Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept
- // for the backward compatibility. There are no validation of this field and
- // lifecycle hooks will fail in runtime when tcp handler is specified.
+ // for backward compatibility. There is no validation of this field and
+ // lifecycle hooks will fail at runtime when it is specified.
// +optional
TCPSocket *TCPSocketAction `json:"tcpSocket,omitempty" protobuf:"bytes,3,opt,name=tcpSocket"`
- // Sleep represents the duration that the container should sleep before being terminated.
+ // Sleep represents a duration that the container should sleep.
// +featureGate=PodLifecycleSleepAction
// +optional
Sleep *SleepAction `json:"sleep,omitempty" protobuf:"bytes,4,opt,name=sleep"`
@@ -3071,7 +3125,7 @@ type ContainerStatus struct {
// AllocatedResources represents the compute resources allocated for this container by the
// node. Kubelet sets this value to Container.Resources.Requests upon successful pod admission
// and after successfully admitting desired pod resize.
- // +featureGate=InPlacePodVerticalScaling
+ // +featureGate=InPlacePodVerticalScalingAllocatedStatus
// +optional
AllocatedResources ResourceList `json:"allocatedResources,omitempty" protobuf:"bytes,10,rep,name=allocatedResources,casttype=ResourceList,castkey=ResourceName"`
// Resources represents the compute resource requests and limits that have been successfully
@@ -3102,14 +3156,17 @@ type ContainerStatus struct {
AllocatedResourcesStatus []ResourceStatus `json:"allocatedResourcesStatus,omitempty" patchStrategy:"merge" patchMergeKey:"name" protobuf:"bytes,14,rep,name=allocatedResourcesStatus"`
}
+// ResourceStatus represents the status of a single resource allocated to a Pod.
type ResourceStatus struct {
- // Name of the resource. Must be unique within the pod and match one of the resources from the pod spec.
+ // Name of the resource. Must be unique within the pod and in case of non-DRA resource, match one of the resources from the pod spec.
+ // For DRA resources, the value must be "claim:/".
+ // When this status is reported about a container, the "claim_name" and "request" must match one of the claims of this container.
// +required
Name ResourceName `json:"name" protobuf:"bytes,1,opt,name=name"`
- // List of unique Resources health. Each element in the list contains an unique resource ID and resource health.
- // At a minimum, ResourceID must uniquely identify the Resource
- // allocated to the Pod on the Node for the lifetime of a Pod.
- // See ResourceID type for it's definition.
+ // List of unique resources health. Each element in the list contains an unique resource ID and its health.
+ // At a minimum, for the lifetime of a Pod, resource ID must uniquely identify the resource allocated to the Pod on the Node.
+ // If other Pod on the same Node reports the status with the same resource ID, it must be the same resource they share.
+ // See ResourceID type definition for a specific format it has in various use cases.
// +listType=map
// +listMapKey=resourceID
Resources []ResourceHealth `json:"resources,omitempty" protobuf:"bytes,2,rep,name=resources"`
@@ -3126,16 +3183,16 @@ const (
// ResourceID is calculated based on the source of this resource health information.
// For DevicePlugin:
//
-// deviceplugin:DeviceID, where DeviceID is from the Device structure of DevicePlugin's ListAndWatchResponse type: https://github.com/kubernetes/kubernetes/blob/eda1c780543a27c078450e2f17d674471e00f494/staging/src/k8s.io/kubelet/pkg/apis/deviceplugin/v1alpha/api.proto#L61-L73
+// DeviceID, where DeviceID is from the Device structure of DevicePlugin's ListAndWatchResponse type: https://github.com/kubernetes/kubernetes/blob/eda1c780543a27c078450e2f17d674471e00f494/staging/src/k8s.io/kubelet/pkg/apis/deviceplugin/v1alpha/api.proto#L61-L73
//
// DevicePlugin ID is usually a constant for the lifetime of a Node and typically can be used to uniquely identify the device on the node.
// For DRA:
//
-// dra://: such a device can be looked up in the information published by that DRA driver to learn more about it. It is designed to be globally unique in a cluster.
+// //: such a device can be looked up in the information published by that DRA driver to learn more about it. It is designed to be globally unique in a cluster.
type ResourceID string
// ResourceHealth represents the health of a resource. It has the latest device health information.
-// This is a part of KEP https://kep.k8s.io/4680 and historical health changes are planned to be added in future iterations of a KEP.
+// This is a part of KEP https://kep.k8s.io/4680.
type ResourceHealth struct {
// ResourceID is the unique identifier of the resource. See the ResourceID type for more information.
ResourceID ResourceID `json:"resourceID" protobuf:"bytes,1,opt,name=resourceID"`
@@ -3237,7 +3294,7 @@ const (
// during scheduling, for example due to nodeAffinity parsing errors.
PodReasonSchedulerError = "SchedulerError"
- // TerminationByKubelet reason in DisruptionTarget pod condition indicates that the termination
+ // PodReasonTerminationByKubelet reason in DisruptionTarget pod condition indicates that the termination
// is initiated by kubelet
PodReasonTerminationByKubelet = "TerminationByKubelet"
@@ -4030,6 +4087,20 @@ type PodSpec struct {
// +featureGate=DynamicResourceAllocation
// +optional
ResourceClaims []PodResourceClaim `json:"resourceClaims,omitempty" patchStrategy:"merge,retainKeys" patchMergeKey:"name" protobuf:"bytes,39,rep,name=resourceClaims"`
+ // Resources is the total amount of CPU and Memory resources required by all
+ // containers in the pod. It supports specifying Requests and Limits for
+ // "cpu" and "memory" resource names only. ResourceClaims are not supported.
+ //
+ // This field enables fine-grained control over resource allocation for the
+ // entire pod, allowing resource sharing among containers in a pod.
+ // TODO: For beta graduation, expand this comment with a detailed explanation.
+ //
+ // This is an alpha field and requires enabling the PodLevelResources feature
+ // gate.
+ //
+ // +featureGate=PodLevelResources
+ // +optional
+ Resources *ResourceRequirements `json:"resources,omitempty" protobuf:"bytes,40,opt,name=resources"`
}
// PodResourceClaim references exactly one ResourceClaim, either directly
@@ -4308,6 +4379,22 @@ const (
SupplementalGroupsPolicyStrict SupplementalGroupsPolicy = "Strict"
)
+// PodSELinuxChangePolicy defines how the container's SELinux label is applied to all volumes used by the Pod.
+type PodSELinuxChangePolicy string
+
+const (
+ // Recursive relabeling of all Pod volumes by the container runtime.
+ // This may be slow for large volumes, but allows mixing privileged and unprivileged Pods sharing the same volume on the same node.
+ SELinuxChangePolicyRecursive PodSELinuxChangePolicy = "Recursive"
+ // MountOption mounts all eligible Pod volumes with `-o context` mount option.
+ // This requires all Pods that share the same volume to use the same SELinux label.
+ // It is not possible to share the same volume among privileged and unprivileged Pods.
+ // Eligible volumes are in-tree FibreChannel and iSCSI volumes, and all CSI volumes
+ // whose CSI driver announces SELinux support by setting spec.seLinuxMount: true in their
+ // CSIDriver instance. Other volumes are always re-labelled recursively.
+ SELinuxChangePolicyMountOption PodSELinuxChangePolicy = "MountOption"
+)
+
// PodSecurityContext holds pod-level security attributes and common container settings.
// Some fields are also present in container.securityContext. Field values of
// container.securityContext take precedence over field values of PodSecurityContext.
@@ -4406,6 +4493,32 @@ type PodSecurityContext struct {
// Note that this field cannot be set when spec.os.name is windows.
// +optional
AppArmorProfile *AppArmorProfile `json:"appArmorProfile,omitempty" protobuf:"bytes,11,opt,name=appArmorProfile"`
+ // seLinuxChangePolicy defines how the container's SELinux label is applied to all volumes used by the Pod.
+ // It has no effect on nodes that do not support SELinux or to volumes does not support SELinux.
+ // Valid values are "MountOption" and "Recursive".
+ //
+ // "Recursive" means relabeling of all files on all Pod volumes by the container runtime.
+ // This may be slow for large volumes, but allows mixing privileged and unprivileged Pods sharing the same volume on the same node.
+ //
+ // "MountOption" mounts all eligible Pod volumes with `-o context` mount option.
+ // This requires all Pods that share the same volume to use the same SELinux label.
+ // It is not possible to share the same volume among privileged and unprivileged Pods.
+ // Eligible volumes are in-tree FibreChannel and iSCSI volumes, and all CSI volumes
+ // whose CSI driver announces SELinux support by setting spec.seLinuxMount: true in their
+ // CSIDriver instance. Other volumes are always re-labelled recursively.
+ // "MountOption" value is allowed only when SELinuxMount feature gate is enabled.
+ //
+ // If not specified and SELinuxMount feature gate is enabled, "MountOption" is used.
+ // If not specified and SELinuxMount feature gate is disabled, "MountOption" is used for ReadWriteOncePod volumes
+ // and "Recursive" for all other volumes.
+ //
+ // This field affects only Pods that have SELinux label set, either in PodSecurityContext or in SecurityContext of all containers.
+ //
+ // All Pods that use the same volume should use the same seLinuxChangePolicy, otherwise some pods can get stuck in ContainerCreating state.
+ // Note that this field cannot be set when spec.os.name is windows.
+ // +featureGate=SELinuxChangePolicy
+ // +optional
+ SELinuxChangePolicy *PodSELinuxChangePolicy `json:"seLinuxChangePolicy,omitempty" protobuf:"bytes,13,opt,name=seLinuxChangePolicy"`
}
// SeccompProfile defines a pod/container's seccomp profile settings.
@@ -4513,8 +4626,10 @@ type PodDNSConfig struct {
// PodDNSConfigOption defines DNS resolver options of a pod.
type PodDNSConfigOption struct {
+ // Name is this DNS resolver option's name.
// Required.
Name string `json:"name,omitempty" protobuf:"bytes,1,opt,name=name"`
+ // Value is this DNS resolver option's value.
// +optional
Value *string `json:"value,omitempty" protobuf:"bytes,2,opt,name=value"`
}
@@ -4807,24 +4922,45 @@ type PodStatus struct {
// +optional
StartTime *metav1.Time `json:"startTime,omitempty" protobuf:"bytes,7,opt,name=startTime"`
- // The list has one entry per init container in the manifest. The most recent successful
+ // Statuses of init containers in this pod. The most recent successful non-restartable
// init container will have ready = true, the most recently started container will have
// startTime set.
- // More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#pod-and-container-status
+ // Each init container in the pod should have at most one status in this list,
+ // and all statuses should be for containers in the pod.
+ // However this is not enforced.
+ // If a status for a non-existent container is present in the list, or the list has duplicate names,
+ // the behavior of various Kubernetes components is not defined and those statuses might be
+ // ignored.
+ // More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#pod-and-container-status
// +listType=atomic
InitContainerStatuses []ContainerStatus `json:"initContainerStatuses,omitempty" protobuf:"bytes,10,rep,name=initContainerStatuses"`
- // The list has one entry per container in the manifest.
+ // Statuses of containers in this pod.
+ // Each container in the pod should have at most one status in this list,
+ // and all statuses should be for containers in the pod.
+ // However this is not enforced.
+ // If a status for a non-existent container is present in the list, or the list has duplicate names,
+ // the behavior of various Kubernetes components is not defined and those statuses might be
+ // ignored.
// More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#pod-and-container-status
// +optional
// +listType=atomic
ContainerStatuses []ContainerStatus `json:"containerStatuses,omitempty" protobuf:"bytes,8,rep,name=containerStatuses"`
+
// The Quality of Service (QOS) classification assigned to the pod based on resource requirements
// See PodQOSClass type for available QOS classes
// More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-qos/#quality-of-service-classes
// +optional
QOSClass PodQOSClass `json:"qosClass,omitempty" protobuf:"bytes,9,rep,name=qosClass"`
- // Status for any ephemeral containers that have run in this pod.
+
+ // Statuses for any ephemeral containers that have run in this pod.
+ // Each ephemeral container in the pod should have at most one status in this list,
+ // and all statuses should be for containers in the pod.
+ // However this is not enforced.
+ // If a status for a non-existent container is present in the list, or the list has duplicate names,
+ // the behavior of various Kubernetes components is not defined and those statuses might be
+ // ignored.
+ // More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#pod-and-container-status
// +optional
// +listType=atomic
EphemeralContainerStatuses []ContainerStatus `json:"ephemeralContainerStatuses,omitempty" protobuf:"bytes,13,rep,name=ephemeralContainerStatuses"`
@@ -4867,6 +5003,7 @@ type PodStatusResult struct {
// +genclient
// +genclient:method=UpdateEphemeralContainers,verb=update,subresource=ephemeralcontainers
+// +genclient:method=UpdateResize,verb=update,subresource=resize
// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
// +k8s:prerelease-lifecycle-gen:introduced=1.0
@@ -5558,7 +5695,7 @@ type ServiceSpec struct {
// not set, the implementation will apply its default routing strategy. If set
// to "PreferClose", implementations should prioritize endpoints that are
// topologically close (e.g., same zone).
- // This is an alpha field and requires enabling ServiceTrafficDistribution feature.
+ // This is a beta field and requires enabling ServiceTrafficDistribution feature.
// +featureGate=ServiceTrafficDistribution
// +optional
TrafficDistribution *string `json:"trafficDistribution,omitempty" protobuf:"bytes,23,opt,name=trafficDistribution"`
@@ -5692,6 +5829,8 @@ type ServiceAccount struct {
// Secrets is a list of the secrets in the same namespace that pods running using this ServiceAccount are allowed to use.
// Pods are only limited to this list if this service account has a "kubernetes.io/enforce-mountable-secrets" annotation set to "true".
+ // The "kubernetes.io/enforce-mountable-secrets" annotation is deprecated since v1.32.
+ // Prefer separate namespaces to isolate access to mounted secrets.
// This field should not be used to find auto-generated service account token secrets for use outside of pods.
// Instead, tokens can be requested directly using the TokenRequest API, or service account token secrets can be manually created.
// More info: https://kubernetes.io/docs/concepts/configuration/secret
@@ -6092,7 +6231,7 @@ type NodeStatus struct {
// +optional
Phase NodePhase `json:"phase,omitempty" protobuf:"bytes,3,opt,name=phase,casttype=NodePhase"`
// Conditions is an array of current observed node conditions.
- // More info: https://kubernetes.io/docs/concepts/nodes/node/#condition
+ // More info: https://kubernetes.io/docs/reference/node/node-status/#condition
// +optional
// +patchMergeKey=type
// +patchStrategy=merge
@@ -6101,7 +6240,7 @@ type NodeStatus struct {
Conditions []NodeCondition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,4,rep,name=conditions"`
// List of addresses reachable to the node.
// Queried from cloud provider, if available.
- // More info: https://kubernetes.io/docs/concepts/nodes/node/#addresses
+ // More info: https://kubernetes.io/docs/reference/node/node-status/#addresses
// Note: This field is declared as mergeable, but the merge key is not sufficiently
// unique, which can cause data corruption when it is merged. Callers should instead
// use a full-replacement patch. See https://pr.k8s.io/79391 for an example.
@@ -6119,7 +6258,7 @@ type NodeStatus struct {
// +optional
DaemonEndpoints NodeDaemonEndpoints `json:"daemonEndpoints,omitempty" protobuf:"bytes,6,opt,name=daemonEndpoints"`
// Set of ids/uuids to uniquely identify the node.
- // More info: https://kubernetes.io/docs/concepts/nodes/node/#info
+ // More info: https://kubernetes.io/docs/reference/node/node-status/#info
// +optional
NodeInfo NodeSystemInfo `json:"nodeInfo,omitempty" protobuf:"bytes,7,opt,name=nodeInfo"`
// List of container images on this node
@@ -6454,10 +6593,13 @@ type NamespaceCondition struct {
Type NamespaceConditionType `json:"type" protobuf:"bytes,1,opt,name=type,casttype=NamespaceConditionType"`
// Status of the condition, one of True, False, Unknown.
Status ConditionStatus `json:"status" protobuf:"bytes,2,opt,name=status,casttype=ConditionStatus"`
+ // Last time the condition transitioned from one status to another.
// +optional
LastTransitionTime metav1.Time `json:"lastTransitionTime,omitempty" protobuf:"bytes,4,opt,name=lastTransitionTime"`
+ // Unique, one-word, CamelCase reason for the condition's last transition.
// +optional
Reason string `json:"reason,omitempty" protobuf:"bytes,5,opt,name=reason"`
+ // Human-readable message indicating details about last transition.
// +optional
Message string `json:"message,omitempty" protobuf:"bytes,6,opt,name=message"`
}
@@ -6508,7 +6650,6 @@ type NamespaceList struct {
// +k8s:prerelease-lifecycle-gen:introduced=1.0
// Binding ties one object to another; for example, a pod is bound to a node by a scheduler.
-// Deprecated in 1.7, please use the bindings subresource of pods instead.
type Binding struct {
metav1.TypeMeta `json:",inline"`
// Standard object's metadata.
@@ -6528,6 +6669,15 @@ type Preconditions struct {
UID *types.UID `json:"uid,omitempty" protobuf:"bytes,1,opt,name=uid,casttype=k8s.io/apimachinery/pkg/types.UID"`
}
+const (
+ // LogStreamStdout is the stream type for stdout.
+ LogStreamStdout = "Stdout"
+ // LogStreamStderr is the stream type for stderr.
+ LogStreamStderr = "Stderr"
+ // LogStreamAll represents the combined stdout and stderr.
+ LogStreamAll = "All"
+)
+
// +k8s:conversion-gen:explicit-from=net/url.Values
// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
// +k8s:prerelease-lifecycle-gen:introduced=1.0
@@ -6562,7 +6712,8 @@ type PodLogOptions struct {
// +optional
Timestamps bool `json:"timestamps,omitempty" protobuf:"varint,6,opt,name=timestamps"`
// If set, the number of lines from the end of the logs to show. If not specified,
- // logs are shown from the creation of the container or sinceSeconds or sinceTime
+ // logs are shown from the creation of the container or sinceSeconds or sinceTime.
+ // Note that when "TailLines" is specified, "Stream" can only be set to nil or "All".
// +optional
TailLines *int64 `json:"tailLines,omitempty" protobuf:"varint,7,opt,name=tailLines"`
// If set, the number of bytes to read from the server before terminating the
@@ -6579,6 +6730,14 @@ type PodLogOptions struct {
// the actual log data coming from the real kubelet).
// +optional
InsecureSkipTLSVerifyBackend bool `json:"insecureSkipTLSVerifyBackend,omitempty" protobuf:"varint,9,opt,name=insecureSkipTLSVerifyBackend"`
+
+ // Specify which container log stream to return to the client.
+ // Acceptable values are "All", "Stdout" and "Stderr". If not specified, "All" is used, and both stdout and stderr
+ // are returned interleaved.
+ // Note that when "TailLines" is specified, "Stream" can only be set to nil or "All".
+ // +featureGate=PodLogsQuerySplitStreams
+ // +optional
+ Stream *string `json:"stream,omitempty" protobuf:"varint,10,opt,name=stream"`
}
// +k8s:conversion-gen:explicit-from=net/url.Values
@@ -6779,13 +6938,23 @@ type ObjectReference struct {
// LocalObjectReference contains enough information to let you locate the
// referenced object inside the same namespace.
+// ---
+// New uses of this type are discouraged because of difficulty describing its usage when embedded in APIs.
+// 1. Invalid usage help. It is impossible to add specific help for individual usage. In most embedded usages, there are particular
+// restrictions like, "must refer only to types A and B" or "UID not honored" or "name must be restricted".
+// Those cannot be well described when embedded.
+// 2. Inconsistent validation. Because the usages are different, the validation rules are different by usage, which makes it hard for users to predict what will happen.
+// 3. We cannot easily change it. Because this type is embedded in many locations, updates to this type
+// will affect numerous schemas. Don't make new APIs embed an underspecified API type they do not control.
+//
+// Instead of using this type, create a locally provided and used type that is well-focused on your reference.
+// For example, ServiceReferences for admission registration: https://github.com/kubernetes/api/blob/release-1.17/admissionregistration/v1/types.go#L533 .
// +structType=atomic
type LocalObjectReference struct {
// Name of the referent.
// This field is effectively required, but due to backwards compatibility is
// allowed to be empty. Instances of this type with an empty value here are
// almost certainly wrong.
- // TODO: Add other useful fields. apiVersion, kind, uid?
// More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
// +optional
// +default=""
@@ -6796,6 +6965,20 @@ type LocalObjectReference struct {
// TypedLocalObjectReference contains enough information to let you locate the
// typed referenced object inside the same namespace.
+// ---
+// New uses of this type are discouraged because of difficulty describing its usage when embedded in APIs.
+// 1. Invalid usage help. It is impossible to add specific help for individual usage. In most embedded usages, there are particular
+// restrictions like, "must refer only to types A and B" or "UID not honored" or "name must be restricted".
+// Those cannot be well described when embedded.
+// 2. Inconsistent validation. Because the usages are different, the validation rules are different by usage, which makes it hard for users to predict what will happen.
+// 3. The fields are both imprecise and overly precise. Kind is not a precise mapping to a URL. This can produce ambiguity
+// during interpretation and require a REST mapping. In most cases, the dependency is on the group,resource tuple
+// and the version of the actual struct is irrelevant.
+// 4. We cannot easily change it. Because this type is embedded in many locations, updates to this type
+// will affect numerous schemas. Don't make new APIs embed an underspecified API type they do not control.
+//
+// Instead of using this type, create a locally provided and used type that is well-focused on your reference.
+// For example, ServiceReferences for admission registration: https://github.com/kubernetes/api/blob/release-1.17/admissionregistration/v1/types.go#L533 .
// +structType=atomic
type TypedLocalObjectReference struct {
// APIGroup is the group for the resource being referenced.
@@ -7729,7 +7912,6 @@ const (
)
// PortStatus represents the error condition of a service port
-
type PortStatus struct {
// Port is the port number of the service port of which status is recorded here
Port int32 `json:"port" protobuf:"varint,1,opt,name=port"`
diff --git a/vendor/k8s.io/api/core/v1/types_swagger_doc_generated.go b/vendor/k8s.io/api/core/v1/types_swagger_doc_generated.go
index 950806ef..89ce3d23 100644
--- a/vendor/k8s.io/api/core/v1/types_swagger_doc_generated.go
+++ b/vendor/k8s.io/api/core/v1/types_swagger_doc_generated.go
@@ -117,7 +117,7 @@ func (AzureFileVolumeSource) SwaggerDoc() map[string]string {
}
var map_Binding = map[string]string{
- "": "Binding ties one object to another; for example, a pod is bound to a node by a scheduler. Deprecated in 1.7, please use the bindings subresource of pods instead.",
+ "": "Binding ties one object to another; for example, a pod is bound to a node by a scheduler.",
"metadata": "Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata",
"target": "The target object that you want to bind to the standard object.",
}
@@ -127,7 +127,7 @@ func (Binding) SwaggerDoc() map[string]string {
}
var map_CSIPersistentVolumeSource = map[string]string{
- "": "Represents storage that is managed by an external CSI volume driver (Beta feature)",
+ "": "Represents storage that is managed by an external CSI volume driver",
"driver": "driver is the name of the driver to use for this volume. Required.",
"volumeHandle": "volumeHandle is the unique volume name returned by the CSI volume plugin’s CreateVolume to refer to the volume on all subsequent calls. Required.",
"readOnly": "readOnly value to pass to ControllerPublishVolumeRequest. Defaults to false (read/write).",
@@ -802,6 +802,7 @@ func (GCEPersistentDiskVolumeSource) SwaggerDoc() map[string]string {
}
var map_GRPCAction = map[string]string{
+ "": "GRPCAction specifies an action involving a GRPC service.",
"port": "Port number of the gRPC service. Number must be in the range 1 to 65535.",
"service": "Service is the name of the service to place in the gRPC HealthCheckRequest (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md).\n\nIf this is not specified, the default behavior is defined by gRPC.",
}
@@ -967,10 +968,10 @@ func (Lifecycle) SwaggerDoc() map[string]string {
var map_LifecycleHandler = map[string]string{
"": "LifecycleHandler defines a specific action that should be taken in a lifecycle hook. One and only one of the fields, except TCPSocket must be specified.",
- "exec": "Exec specifies the action to take.",
- "httpGet": "HTTPGet specifies the http request to perform.",
- "tcpSocket": "Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept for the backward compatibility. There are no validation of this field and lifecycle hooks will fail in runtime when tcp handler is specified.",
- "sleep": "Sleep represents the duration that the container should sleep before being terminated.",
+ "exec": "Exec specifies a command to execute in the container.",
+ "httpGet": "HTTPGet specifies an HTTP GET request to perform.",
+ "tcpSocket": "Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept for backward compatibility. There is no validation of this field and lifecycle hooks will fail at runtime when it is specified.",
+ "sleep": "Sleep represents a duration that the container should sleep.",
}
func (LifecycleHandler) SwaggerDoc() map[string]string {
@@ -1062,7 +1063,7 @@ func (LocalObjectReference) SwaggerDoc() map[string]string {
}
var map_LocalVolumeSource = map[string]string{
- "": "Local represents directly-attached storage with node affinity (Beta feature)",
+ "": "Local represents directly-attached storage with node affinity",
"path": "path of the full path to the volume on the node. It can be either a directory or block device (disk, partition, ...).",
"fsType": "fsType is the filesystem type to mount. It applies only when the Path is a block device. Must be a filesystem type supported by the host operating system. Ex. \"ext4\", \"xfs\", \"ntfs\". The default value is to auto-select a filesystem if unspecified.",
}
@@ -1104,9 +1105,12 @@ func (Namespace) SwaggerDoc() map[string]string {
}
var map_NamespaceCondition = map[string]string{
- "": "NamespaceCondition contains details about state of namespace.",
- "type": "Type of namespace controller condition.",
- "status": "Status of the condition, one of True, False, Unknown.",
+ "": "NamespaceCondition contains details about state of namespace.",
+ "type": "Type of namespace controller condition.",
+ "status": "Status of the condition, one of True, False, Unknown.",
+ "lastTransitionTime": "Last time the condition transitioned from one status to another.",
+ "reason": "Unique, one-word, CamelCase reason for the condition's last transition.",
+ "message": "Human-readable message indicating details about last transition.",
}
func (NamespaceCondition) SwaggerDoc() map[string]string {
@@ -1315,10 +1319,10 @@ var map_NodeStatus = map[string]string{
"capacity": "Capacity represents the total resources of a node. More info: https://kubernetes.io/docs/reference/node/node-status/#capacity",
"allocatable": "Allocatable represents the resources of a node that are available for scheduling. Defaults to Capacity.",
"phase": "NodePhase is the recently observed lifecycle phase of the node. More info: https://kubernetes.io/docs/concepts/nodes/node/#phase The field is never populated, and now is deprecated.",
- "conditions": "Conditions is an array of current observed node conditions. More info: https://kubernetes.io/docs/concepts/nodes/node/#condition",
- "addresses": "List of addresses reachable to the node. Queried from cloud provider, if available. More info: https://kubernetes.io/docs/concepts/nodes/node/#addresses Note: This field is declared as mergeable, but the merge key is not sufficiently unique, which can cause data corruption when it is merged. Callers should instead use a full-replacement patch. See https://pr.k8s.io/79391 for an example. Consumers should assume that addresses can change during the lifetime of a Node. However, there are some exceptions where this may not be possible, such as Pods that inherit a Node's address in its own status or consumers of the downward API (status.hostIP).",
+ "conditions": "Conditions is an array of current observed node conditions. More info: https://kubernetes.io/docs/reference/node/node-status/#condition",
+ "addresses": "List of addresses reachable to the node. Queried from cloud provider, if available. More info: https://kubernetes.io/docs/reference/node/node-status/#addresses Note: This field is declared as mergeable, but the merge key is not sufficiently unique, which can cause data corruption when it is merged. Callers should instead use a full-replacement patch. See https://pr.k8s.io/79391 for an example. Consumers should assume that addresses can change during the lifetime of a Node. However, there are some exceptions where this may not be possible, such as Pods that inherit a Node's address in its own status or consumers of the downward API (status.hostIP).",
"daemonEndpoints": "Endpoints of daemons running on the Node.",
- "nodeInfo": "Set of ids/uuids to uniquely identify the node. More info: https://kubernetes.io/docs/concepts/nodes/node/#info",
+ "nodeInfo": "Set of ids/uuids to uniquely identify the node. More info: https://kubernetes.io/docs/reference/node/node-status/#info",
"images": "List of container images on this node",
"volumesInUse": "List of attachable volumes in use (mounted) by the node.",
"volumesAttached": "List of volumes that are attached to the node.",
@@ -1398,6 +1402,8 @@ func (PersistentVolumeClaim) SwaggerDoc() map[string]string {
var map_PersistentVolumeClaimCondition = map[string]string{
"": "PersistentVolumeClaimCondition contains details about state of pvc",
+ "type": "Type is the type of the condition. More info: https://kubernetes.io/docs/reference/kubernetes-api/config-and-storage-resources/persistent-volume-claim-v1/#:~:text=set%20to%20%27ResizeStarted%27.-,PersistentVolumeClaimCondition,-contains%20details%20about",
+ "status": "Status is the status of the condition. Can be True, False, Unknown. More info: https://kubernetes.io/docs/reference/kubernetes-api/config-and-storage-resources/persistent-volume-claim-v1/#:~:text=state%20of%20pvc-,conditions.status,-(string)%2C%20required",
"lastProbeTime": "lastProbeTime is the time we probed the condition.",
"lastTransitionTime": "lastTransitionTime is the time the condition transitioned from one status to another.",
"reason": "reason is a unique, this should be a short, machine understandable string that gives the reason for condition's last transition. If it reports \"Resizing\" that means the underlying persistent volume is being resized.",
@@ -1483,28 +1489,28 @@ func (PersistentVolumeList) SwaggerDoc() map[string]string {
var map_PersistentVolumeSource = map[string]string{
"": "PersistentVolumeSource is similar to VolumeSource but meant for the administrator who creates PVs. Exactly one of its members must be set.",
- "gcePersistentDisk": "gcePersistentDisk represents a GCE Disk resource that is attached to a kubelet's host machine and then exposed to the pod. Provisioned by an admin. More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk",
- "awsElasticBlockStore": "awsElasticBlockStore represents an AWS Disk resource that is attached to a kubelet's host machine and then exposed to the pod. More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore",
+ "gcePersistentDisk": "gcePersistentDisk represents a GCE Disk resource that is attached to a kubelet's host machine and then exposed to the pod. Provisioned by an admin. Deprecated: GCEPersistentDisk is deprecated. All operations for the in-tree gcePersistentDisk type are redirected to the pd.csi.storage.gke.io CSI driver. More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk",
+ "awsElasticBlockStore": "awsElasticBlockStore represents an AWS Disk resource that is attached to a kubelet's host machine and then exposed to the pod. Deprecated: AWSElasticBlockStore is deprecated. All operations for the in-tree awsElasticBlockStore type are redirected to the ebs.csi.aws.com CSI driver. More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore",
"hostPath": "hostPath represents a directory on the host. Provisioned by a developer or tester. This is useful for single-node development and testing only! On-host storage is not supported in any way and WILL NOT WORK in a multi-node cluster. More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath",
- "glusterfs": "glusterfs represents a Glusterfs volume that is attached to a host and exposed to the pod. Provisioned by an admin. More info: https://examples.k8s.io/volumes/glusterfs/README.md",
+ "glusterfs": "glusterfs represents a Glusterfs volume that is attached to a host and exposed to the pod. Provisioned by an admin. Deprecated: Glusterfs is deprecated and the in-tree glusterfs type is no longer supported. More info: https://examples.k8s.io/volumes/glusterfs/README.md",
"nfs": "nfs represents an NFS mount on the host. Provisioned by an admin. More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs",
- "rbd": "rbd represents a Rados Block Device mount on the host that shares a pod's lifetime. More info: https://examples.k8s.io/volumes/rbd/README.md",
+ "rbd": "rbd represents a Rados Block Device mount on the host that shares a pod's lifetime. Deprecated: RBD is deprecated and the in-tree rbd type is no longer supported. More info: https://examples.k8s.io/volumes/rbd/README.md",
"iscsi": "iscsi represents an ISCSI Disk resource that is attached to a kubelet's host machine and then exposed to the pod. Provisioned by an admin.",
- "cinder": "cinder represents a cinder volume attached and mounted on kubelets host machine. More info: https://examples.k8s.io/mysql-cinder-pd/README.md",
- "cephfs": "cephFS represents a Ceph FS mount on the host that shares a pod's lifetime",
+ "cinder": "cinder represents a cinder volume attached and mounted on kubelets host machine. Deprecated: Cinder is deprecated. All operations for the in-tree cinder type are redirected to the cinder.csi.openstack.org CSI driver. More info: https://examples.k8s.io/mysql-cinder-pd/README.md",
+ "cephfs": "cephFS represents a Ceph FS mount on the host that shares a pod's lifetime. Deprecated: CephFS is deprecated and the in-tree cephfs type is no longer supported.",
"fc": "fc represents a Fibre Channel resource that is attached to a kubelet's host machine and then exposed to the pod.",
- "flocker": "flocker represents a Flocker volume attached to a kubelet's host machine and exposed to the pod for its usage. This depends on the Flocker control service being running",
- "flexVolume": "flexVolume represents a generic volume resource that is provisioned/attached using an exec based plugin.",
- "azureFile": "azureFile represents an Azure File Service mount on the host and bind mount to the pod.",
- "vsphereVolume": "vsphereVolume represents a vSphere volume attached and mounted on kubelets host machine",
- "quobyte": "quobyte represents a Quobyte mount on the host that shares a pod's lifetime",
- "azureDisk": "azureDisk represents an Azure Data Disk mount on the host and bind mount to the pod.",
- "photonPersistentDisk": "photonPersistentDisk represents a PhotonController persistent disk attached and mounted on kubelets host machine",
- "portworxVolume": "portworxVolume represents a portworx volume attached and mounted on kubelets host machine",
- "scaleIO": "scaleIO represents a ScaleIO persistent volume attached and mounted on Kubernetes nodes.",
+ "flocker": "flocker represents a Flocker volume attached to a kubelet's host machine and exposed to the pod for its usage. This depends on the Flocker control service being running. Deprecated: Flocker is deprecated and the in-tree flocker type is no longer supported.",
+ "flexVolume": "flexVolume represents a generic volume resource that is provisioned/attached using an exec based plugin. Deprecated: FlexVolume is deprecated. Consider using a CSIDriver instead.",
+ "azureFile": "azureFile represents an Azure File Service mount on the host and bind mount to the pod. Deprecated: AzureFile is deprecated. All operations for the in-tree azureFile type are redirected to the file.csi.azure.com CSI driver.",
+ "vsphereVolume": "vsphereVolume represents a vSphere volume attached and mounted on kubelets host machine. Deprecated: VsphereVolume is deprecated. All operations for the in-tree vsphereVolume type are redirected to the csi.vsphere.vmware.com CSI driver.",
+ "quobyte": "quobyte represents a Quobyte mount on the host that shares a pod's lifetime. Deprecated: Quobyte is deprecated and the in-tree quobyte type is no longer supported.",
+ "azureDisk": "azureDisk represents an Azure Data Disk mount on the host and bind mount to the pod. Deprecated: AzureDisk is deprecated. All operations for the in-tree azureDisk type are redirected to the disk.csi.azure.com CSI driver.",
+ "photonPersistentDisk": "photonPersistentDisk represents a PhotonController persistent disk attached and mounted on kubelets host machine. Deprecated: PhotonPersistentDisk is deprecated and the in-tree photonPersistentDisk type is no longer supported.",
+ "portworxVolume": "portworxVolume represents a portworx volume attached and mounted on kubelets host machine. Deprecated: PortworxVolume is deprecated. All operations for the in-tree portworxVolume type are redirected to the pxd.portworx.com CSI driver when the CSIMigrationPortworx feature-gate is on.",
+ "scaleIO": "scaleIO represents a ScaleIO persistent volume attached and mounted on Kubernetes nodes. Deprecated: ScaleIO is deprecated and the in-tree scaleIO type is no longer supported.",
"local": "local represents directly-attached storage with node affinity",
- "storageos": "storageOS represents a StorageOS volume that is attached to the kubelet's host machine and mounted into the pod More info: https://examples.k8s.io/volumes/storageos/README.md",
- "csi": "csi represents storage that is handled by an external CSI driver (Beta feature).",
+ "storageos": "storageOS represents a StorageOS volume that is attached to the kubelet's host machine and mounted into the pod. Deprecated: StorageOS is deprecated and the in-tree storageos type is no longer supported. More info: https://examples.k8s.io/volumes/storageos/README.md",
+ "csi": "csi represents storage that is handled by an external CSI driver.",
}
func (PersistentVolumeSource) SwaggerDoc() map[string]string {
@@ -1634,8 +1640,9 @@ func (PodDNSConfig) SwaggerDoc() map[string]string {
}
var map_PodDNSConfigOption = map[string]string{
- "": "PodDNSConfigOption defines DNS resolver options of a pod.",
- "name": "Required.",
+ "": "PodDNSConfigOption defines DNS resolver options of a pod.",
+ "name": "Name is this DNS resolver option's name. Required.",
+ "value": "Value is this DNS resolver option's value.",
}
func (PodDNSConfigOption) SwaggerDoc() map[string]string {
@@ -1683,9 +1690,10 @@ var map_PodLogOptions = map[string]string{
"sinceSeconds": "A relative time in seconds before the current time from which to show logs. If this value precedes the time a pod was started, only logs since the pod start will be returned. If this value is in the future, no logs will be returned. Only one of sinceSeconds or sinceTime may be specified.",
"sinceTime": "An RFC3339 timestamp from which to show logs. If this value precedes the time a pod was started, only logs since the pod start will be returned. If this value is in the future, no logs will be returned. Only one of sinceSeconds or sinceTime may be specified.",
"timestamps": "If true, add an RFC3339 or RFC3339Nano timestamp at the beginning of every line of log output. Defaults to false.",
- "tailLines": "If set, the number of lines from the end of the logs to show. If not specified, logs are shown from the creation of the container or sinceSeconds or sinceTime",
+ "tailLines": "If set, the number of lines from the end of the logs to show. If not specified, logs are shown from the creation of the container or sinceSeconds or sinceTime. Note that when \"TailLines\" is specified, \"Stream\" can only be set to nil or \"All\".",
"limitBytes": "If set, the number of bytes to read from the server before terminating the log output. This may not display a complete final line of logging, and may return slightly more or slightly less than the specified limit.",
"insecureSkipTLSVerifyBackend": "insecureSkipTLSVerifyBackend indicates that the apiserver should not confirm the validity of the serving certificate of the backend it is connecting to. This will make the HTTPS connection between the apiserver and the backend insecure. This means the apiserver cannot verify the log data it is receiving came from the real kubelet. If the kubelet is configured to verify the apiserver's TLS credentials, it does not mean the connection to the real kubelet is vulnerable to a man in the middle attack (e.g. an attacker could not intercept the actual log data coming from the real kubelet).",
+ "stream": "Specify which container log stream to return to the client. Acceptable values are \"All\", \"Stdout\" and \"Stderr\". If not specified, \"All\" is used, and both stdout and stderr are returned interleaved. Note that when \"TailLines\" is specified, \"Stream\" can only be set to nil or \"All\".",
}
func (PodLogOptions) SwaggerDoc() map[string]string {
@@ -1772,6 +1780,7 @@ var map_PodSecurityContext = map[string]string{
"fsGroupChangePolicy": "fsGroupChangePolicy defines behavior of changing ownership and permission of the volume before being exposed inside Pod. This field will only apply to volume types which support fsGroup based ownership(and permissions). It will have no effect on ephemeral volume types such as: secret, configmaps and emptydir. Valid values are \"OnRootMismatch\" and \"Always\". If not specified, \"Always\" is used. Note that this field cannot be set when spec.os.name is windows.",
"seccompProfile": "The seccomp options to use by the containers in this pod. Note that this field cannot be set when spec.os.name is windows.",
"appArmorProfile": "appArmorProfile is the AppArmor options to use by the containers in this pod. Note that this field cannot be set when spec.os.name is windows.",
+ "seLinuxChangePolicy": "seLinuxChangePolicy defines how the container's SELinux label is applied to all volumes used by the Pod. It has no effect on nodes that do not support SELinux or to volumes does not support SELinux. Valid values are \"MountOption\" and \"Recursive\".\n\n\"Recursive\" means relabeling of all files on all Pod volumes by the container runtime. This may be slow for large volumes, but allows mixing privileged and unprivileged Pods sharing the same volume on the same node.\n\n\"MountOption\" mounts all eligible Pod volumes with `-o context` mount option. This requires all Pods that share the same volume to use the same SELinux label. It is not possible to share the same volume among privileged and unprivileged Pods. Eligible volumes are in-tree FibreChannel and iSCSI volumes, and all CSI volumes whose CSI driver announces SELinux support by setting spec.seLinuxMount: true in their CSIDriver instance. Other volumes are always re-labelled recursively. \"MountOption\" value is allowed only when SELinuxMount feature gate is enabled.\n\nIf not specified and SELinuxMount feature gate is enabled, \"MountOption\" is used. If not specified and SELinuxMount feature gate is disabled, \"MountOption\" is used for ReadWriteOncePod volumes and \"Recursive\" for all other volumes.\n\nThis field affects only Pods that have SELinux label set, either in PodSecurityContext or in SecurityContext of all containers.\n\nAll Pods that use the same volume should use the same seLinuxChangePolicy, otherwise some pods can get stuck in ContainerCreating state. Note that this field cannot be set when spec.os.name is windows.",
}
func (PodSecurityContext) SwaggerDoc() map[string]string {
@@ -1828,6 +1837,7 @@ var map_PodSpec = map[string]string{
"hostUsers": "Use the host's user namespace. Optional: Default to true. If set to true or not present, the pod will be run in the host user namespace, useful for when the pod needs a feature only available to the host user namespace, such as loading a kernel module with CAP_SYS_MODULE. When set to false, a new userns is created for the pod. Setting false is useful for mitigating container breakout vulnerabilities even allowing users to run their containers as root without actually having root privileges on the host. This field is alpha-level and is only honored by servers that enable the UserNamespacesSupport feature.",
"schedulingGates": "SchedulingGates is an opaque list of values that if specified will block scheduling the pod. If schedulingGates is not empty, the pod will stay in the SchedulingGated state and the scheduler will not attempt to schedule the pod.\n\nSchedulingGates can only be set at pod creation time, and be removed only afterwards.",
"resourceClaims": "ResourceClaims defines which ResourceClaims must be allocated and reserved before the Pod is allowed to start. The resources will be made available to those containers which consume them by name.\n\nThis is an alpha field and requires enabling the DynamicResourceAllocation feature gate.\n\nThis field is immutable.",
+ "resources": "Resources is the total amount of CPU and Memory resources required by all containers in the pod. It supports specifying Requests and Limits for \"cpu\" and \"memory\" resource names only. ResourceClaims are not supported.\n\nThis field enables fine-grained control over resource allocation for the entire pod, allowing resource sharing among containers in a pod.\n\nThis is an alpha field and requires enabling the PodLevelResources feature gate.",
}
func (PodSpec) SwaggerDoc() map[string]string {
@@ -1846,10 +1856,10 @@ var map_PodStatus = map[string]string{
"podIP": "podIP address allocated to the pod. Routable at least within the cluster. Empty if not yet allocated.",
"podIPs": "podIPs holds the IP addresses allocated to the pod. If this field is specified, the 0th entry must match the podIP field. Pods may be allocated at most 1 value for each of IPv4 and IPv6. This list is empty if no IPs have been allocated yet.",
"startTime": "RFC 3339 date and time at which the object was acknowledged by the Kubelet. This is before the Kubelet pulled the container image(s) for the pod.",
- "initContainerStatuses": "The list has one entry per init container in the manifest. The most recent successful init container will have ready = true, the most recently started container will have startTime set. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#pod-and-container-status",
- "containerStatuses": "The list has one entry per container in the manifest. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#pod-and-container-status",
+ "initContainerStatuses": "Statuses of init containers in this pod. The most recent successful non-restartable init container will have ready = true, the most recently started container will have startTime set. Each init container in the pod should have at most one status in this list, and all statuses should be for containers in the pod. However this is not enforced. If a status for a non-existent container is present in the list, or the list has duplicate names, the behavior of various Kubernetes components is not defined and those statuses might be ignored. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#pod-and-container-status",
+ "containerStatuses": "Statuses of containers in this pod. Each container in the pod should have at most one status in this list, and all statuses should be for containers in the pod. However this is not enforced. If a status for a non-existent container is present in the list, or the list has duplicate names, the behavior of various Kubernetes components is not defined and those statuses might be ignored. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#pod-and-container-status",
"qosClass": "The Quality of Service (QOS) classification assigned to the pod based on resource requirements See PodQOSClass type for available QOS classes More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-qos/#quality-of-service-classes",
- "ephemeralContainerStatuses": "Status for any ephemeral containers that have run in this pod.",
+ "ephemeralContainerStatuses": "Statuses for any ephemeral containers that have run in this pod. Each ephemeral container in the pod should have at most one status in this list, and all statuses should be for containers in the pod. However this is not enforced. If a status for a non-existent container is present in the list, or the list has duplicate names, the behavior of various Kubernetes components is not defined and those statuses might be ignored. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#pod-and-container-status",
"resize": "Status of resources resize desired for pod's containers. It is empty if no resources resize is pending. Any changes to container resources will automatically set this to \"Proposed\"",
"resourceClaimStatuses": "Status of resource claims.",
}
@@ -1899,6 +1909,7 @@ func (PodTemplateSpec) SwaggerDoc() map[string]string {
}
var map_PortStatus = map[string]string{
+ "": "PortStatus represents the error condition of a service port",
"port": "Port is the port number of the service port of which status is recorded here",
"protocol": "Protocol is the protocol of the service port of which status is recorded here The supported values are: \"TCP\", \"UDP\", \"SCTP\"",
"error": "Error is to record the problem with the service port The format of the error shall comply with the following rules: - built-in error values shall be specified in this file and those shall use\n CamelCase names\n- cloud provider specific error values must have names that comply with the\n format foo.example.com/CamelCase.",
@@ -1966,10 +1977,10 @@ func (Probe) SwaggerDoc() map[string]string {
var map_ProbeHandler = map[string]string{
"": "ProbeHandler defines a specific action that should be taken in a probe. One and only one of the fields must be specified.",
- "exec": "Exec specifies the action to take.",
- "httpGet": "HTTPGet specifies the http request to perform.",
- "tcpSocket": "TCPSocket specifies an action involving a TCP port.",
- "grpc": "GRPC specifies an action involving a GRPC port.",
+ "exec": "Exec specifies a command to execute in the container.",
+ "httpGet": "HTTPGet specifies an HTTP GET request to perform.",
+ "tcpSocket": "TCPSocket specifies a connection to a TCP port.",
+ "grpc": "GRPC specifies a GRPC HealthCheckRequest.",
}
func (ProbeHandler) SwaggerDoc() map[string]string {
@@ -2125,7 +2136,7 @@ func (ResourceFieldSelector) SwaggerDoc() map[string]string {
}
var map_ResourceHealth = map[string]string{
- "": "ResourceHealth represents the health of a resource. It has the latest device health information. This is a part of KEP https://kep.k8s.io/4680 and historical health changes are planned to be added in future iterations of a KEP.",
+ "": "ResourceHealth represents the health of a resource. It has the latest device health information. This is a part of KEP https://kep.k8s.io/4680.",
"resourceID": "ResourceID is the unique identifier of the resource. See the ResourceID type for more information.",
"health": "Health of the resource. can be one of:\n - Healthy: operates as normal\n - Unhealthy: reported unhealthy. We consider this a temporary health issue\n since we do not have a mechanism today to distinguish\n temporary and permanent issues.\n - Unknown: The status cannot be determined.\n For example, Device Plugin got unregistered and hasn't been re-registered since.\n\nIn future we may want to introduce the PermanentlyUnhealthy Status.",
}
@@ -2188,8 +2199,9 @@ func (ResourceRequirements) SwaggerDoc() map[string]string {
}
var map_ResourceStatus = map[string]string{
- "name": "Name of the resource. Must be unique within the pod and match one of the resources from the pod spec.",
- "resources": "List of unique Resources health. Each element in the list contains an unique resource ID and resource health. At a minimum, ResourceID must uniquely identify the Resource allocated to the Pod on the Node for the lifetime of a Pod. See ResourceID type for it's definition.",
+ "": "ResourceStatus represents the status of a single resource allocated to a Pod.",
+ "name": "Name of the resource. Must be unique within the pod and in case of non-DRA resource, match one of the resources from the pod spec. For DRA resources, the value must be \"claim:/\". When this status is reported about a container, the \"claim_name\" and \"request\" must match one of the claims of this container.",
+ "resources": "List of unique resources health. Each element in the list contains an unique resource ID and its health. At a minimum, for the lifetime of a Pod, resource ID must uniquely identify the resource allocated to the Pod on the Node. If other Pod on the same Node reports the status with the same resource ID, it must be the same resource they share. See ResourceID type definition for a specific format it has in various use cases.",
}
func (ResourceStatus) SwaggerDoc() map[string]string {
@@ -2391,7 +2403,7 @@ func (Service) SwaggerDoc() map[string]string {
var map_ServiceAccount = map[string]string{
"": "ServiceAccount binds together: * a name, understood by users, and perhaps by peripheral systems, for an identity * a principal that can be authenticated and authorized * a set of secrets",
"metadata": "Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata",
- "secrets": "Secrets is a list of the secrets in the same namespace that pods running using this ServiceAccount are allowed to use. Pods are only limited to this list if this service account has a \"kubernetes.io/enforce-mountable-secrets\" annotation set to \"true\". This field should not be used to find auto-generated service account token secrets for use outside of pods. Instead, tokens can be requested directly using the TokenRequest API, or service account token secrets can be manually created. More info: https://kubernetes.io/docs/concepts/configuration/secret",
+ "secrets": "Secrets is a list of the secrets in the same namespace that pods running using this ServiceAccount are allowed to use. Pods are only limited to this list if this service account has a \"kubernetes.io/enforce-mountable-secrets\" annotation set to \"true\". The \"kubernetes.io/enforce-mountable-secrets\" annotation is deprecated since v1.32. Prefer separate namespaces to isolate access to mounted secrets. This field should not be used to find auto-generated service account token secrets for use outside of pods. Instead, tokens can be requested directly using the TokenRequest API, or service account token secrets can be manually created. More info: https://kubernetes.io/docs/concepts/configuration/secret",
"imagePullSecrets": "ImagePullSecrets is a list of references to secrets in the same namespace to use for pulling any images in pods that reference this ServiceAccount. ImagePullSecrets are distinct from Secrets because Secrets can be mounted in the pod, but ImagePullSecrets are only accessed by the kubelet. More info: https://kubernetes.io/docs/concepts/containers/images/#specifying-imagepullsecrets-on-a-pod",
"automountServiceAccountToken": "AutomountServiceAccountToken indicates whether pods running as this service account should have an API token automatically mounted. Can be overridden at the pod level.",
}
@@ -2475,7 +2487,7 @@ var map_ServiceSpec = map[string]string{
"allocateLoadBalancerNodePorts": "allocateLoadBalancerNodePorts defines if NodePorts will be automatically allocated for services with type LoadBalancer. Default is \"true\". It may be set to \"false\" if the cluster load-balancer does not rely on NodePorts. If the caller requests specific NodePorts (by specifying a value), those requests will be respected, regardless of this field. This field may only be set for services with type LoadBalancer and will be cleared if the type is changed to any other type.",
"loadBalancerClass": "loadBalancerClass is the class of the load balancer implementation this Service belongs to. If specified, the value of this field must be a label-style identifier, with an optional prefix, e.g. \"internal-vip\" or \"example.com/internal-vip\". Unprefixed names are reserved for end-users. This field can only be set when the Service type is 'LoadBalancer'. If not set, the default load balancer implementation is used, today this is typically done through the cloud provider integration, but should apply for any default implementation. If set, it is assumed that a load balancer implementation is watching for Services with a matching class. Any default load balancer implementation (e.g. cloud providers) should ignore Services that set this field. This field can only be set when creating or updating a Service to type 'LoadBalancer'. Once set, it can not be changed. This field will be wiped when a service is updated to a non 'LoadBalancer' type.",
"internalTrafficPolicy": "InternalTrafficPolicy describes how nodes distribute service traffic they receive on the ClusterIP. If set to \"Local\", the proxy will assume that pods only want to talk to endpoints of the service on the same node as the pod, dropping the traffic if there are no local endpoints. The default value, \"Cluster\", uses the standard behavior of routing to all endpoints evenly (possibly modified by topology and other features).",
- "trafficDistribution": "TrafficDistribution offers a way to express preferences for how traffic is distributed to Service endpoints. Implementations can use this field as a hint, but are not required to guarantee strict adherence. If the field is not set, the implementation will apply its default routing strategy. If set to \"PreferClose\", implementations should prioritize endpoints that are topologically close (e.g., same zone). This is an alpha field and requires enabling ServiceTrafficDistribution feature.",
+ "trafficDistribution": "TrafficDistribution offers a way to express preferences for how traffic is distributed to Service endpoints. Implementations can use this field as a hint, but are not required to guarantee strict adherence. If the field is not set, the implementation will apply its default routing strategy. If set to \"PreferClose\", implementations should prioritize endpoints that are topologically close (e.g., same zone). This is a beta field and requires enabling ServiceTrafficDistribution feature.",
}
func (ServiceSpec) SwaggerDoc() map[string]string {
@@ -2628,6 +2640,7 @@ func (TypedLocalObjectReference) SwaggerDoc() map[string]string {
}
var map_TypedObjectReference = map[string]string{
+ "": "TypedObjectReference contains enough information to let you locate the typed referenced object",
"apiGroup": "APIGroup is the group for the resource being referenced. If APIGroup is not specified, the specified Kind must be in the core API group. For any other third-party types, APIGroup is required.",
"kind": "Kind is the type of resource being referenced",
"name": "Name is the name of resource being referenced",
@@ -2720,32 +2733,32 @@ var map_VolumeSource = map[string]string{
"": "Represents the source of a volume to mount. Only one of its members may be specified.",
"hostPath": "hostPath represents a pre-existing file or directory on the host machine that is directly exposed to the container. This is generally used for system agents or other privileged things that are allowed to see the host machine. Most containers will NOT need this. More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath",
"emptyDir": "emptyDir represents a temporary directory that shares a pod's lifetime. More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir",
- "gcePersistentDisk": "gcePersistentDisk represents a GCE Disk resource that is attached to a kubelet's host machine and then exposed to the pod. More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk",
- "awsElasticBlockStore": "awsElasticBlockStore represents an AWS Disk resource that is attached to a kubelet's host machine and then exposed to the pod. More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore",
- "gitRepo": "gitRepo represents a git repository at a particular revision. DEPRECATED: GitRepo is deprecated. To provision a container with a git repo, mount an EmptyDir into an InitContainer that clones the repo using git, then mount the EmptyDir into the Pod's container.",
+ "gcePersistentDisk": "gcePersistentDisk represents a GCE Disk resource that is attached to a kubelet's host machine and then exposed to the pod. Deprecated: GCEPersistentDisk is deprecated. All operations for the in-tree gcePersistentDisk type are redirected to the pd.csi.storage.gke.io CSI driver. More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk",
+ "awsElasticBlockStore": "awsElasticBlockStore represents an AWS Disk resource that is attached to a kubelet's host machine and then exposed to the pod. Deprecated: AWSElasticBlockStore is deprecated. All operations for the in-tree awsElasticBlockStore type are redirected to the ebs.csi.aws.com CSI driver. More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore",
+ "gitRepo": "gitRepo represents a git repository at a particular revision. Deprecated: GitRepo is deprecated. To provision a container with a git repo, mount an EmptyDir into an InitContainer that clones the repo using git, then mount the EmptyDir into the Pod's container.",
"secret": "secret represents a secret that should populate this volume. More info: https://kubernetes.io/docs/concepts/storage/volumes#secret",
"nfs": "nfs represents an NFS mount on the host that shares a pod's lifetime More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs",
"iscsi": "iscsi represents an ISCSI Disk resource that is attached to a kubelet's host machine and then exposed to the pod. More info: https://examples.k8s.io/volumes/iscsi/README.md",
- "glusterfs": "glusterfs represents a Glusterfs mount on the host that shares a pod's lifetime. More info: https://examples.k8s.io/volumes/glusterfs/README.md",
+ "glusterfs": "glusterfs represents a Glusterfs mount on the host that shares a pod's lifetime. Deprecated: Glusterfs is deprecated and the in-tree glusterfs type is no longer supported. More info: https://examples.k8s.io/volumes/glusterfs/README.md",
"persistentVolumeClaim": "persistentVolumeClaimVolumeSource represents a reference to a PersistentVolumeClaim in the same namespace. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims",
- "rbd": "rbd represents a Rados Block Device mount on the host that shares a pod's lifetime. More info: https://examples.k8s.io/volumes/rbd/README.md",
- "flexVolume": "flexVolume represents a generic volume resource that is provisioned/attached using an exec based plugin.",
- "cinder": "cinder represents a cinder volume attached and mounted on kubelets host machine. More info: https://examples.k8s.io/mysql-cinder-pd/README.md",
- "cephfs": "cephFS represents a Ceph FS mount on the host that shares a pod's lifetime",
- "flocker": "flocker represents a Flocker volume attached to a kubelet's host machine. This depends on the Flocker control service being running",
+ "rbd": "rbd represents a Rados Block Device mount on the host that shares a pod's lifetime. Deprecated: RBD is deprecated and the in-tree rbd type is no longer supported. More info: https://examples.k8s.io/volumes/rbd/README.md",
+ "flexVolume": "flexVolume represents a generic volume resource that is provisioned/attached using an exec based plugin. Deprecated: FlexVolume is deprecated. Consider using a CSIDriver instead.",
+ "cinder": "cinder represents a cinder volume attached and mounted on kubelets host machine. Deprecated: Cinder is deprecated. All operations for the in-tree cinder type are redirected to the cinder.csi.openstack.org CSI driver. More info: https://examples.k8s.io/mysql-cinder-pd/README.md",
+ "cephfs": "cephFS represents a Ceph FS mount on the host that shares a pod's lifetime. Deprecated: CephFS is deprecated and the in-tree cephfs type is no longer supported.",
+ "flocker": "flocker represents a Flocker volume attached to a kubelet's host machine. This depends on the Flocker control service being running. Deprecated: Flocker is deprecated and the in-tree flocker type is no longer supported.",
"downwardAPI": "downwardAPI represents downward API about the pod that should populate this volume",
"fc": "fc represents a Fibre Channel resource that is attached to a kubelet's host machine and then exposed to the pod.",
- "azureFile": "azureFile represents an Azure File Service mount on the host and bind mount to the pod.",
+ "azureFile": "azureFile represents an Azure File Service mount on the host and bind mount to the pod. Deprecated: AzureFile is deprecated. All operations for the in-tree azureFile type are redirected to the file.csi.azure.com CSI driver.",
"configMap": "configMap represents a configMap that should populate this volume",
- "vsphereVolume": "vsphereVolume represents a vSphere volume attached and mounted on kubelets host machine",
- "quobyte": "quobyte represents a Quobyte mount on the host that shares a pod's lifetime",
- "azureDisk": "azureDisk represents an Azure Data Disk mount on the host and bind mount to the pod.",
- "photonPersistentDisk": "photonPersistentDisk represents a PhotonController persistent disk attached and mounted on kubelets host machine",
+ "vsphereVolume": "vsphereVolume represents a vSphere volume attached and mounted on kubelets host machine. Deprecated: VsphereVolume is deprecated. All operations for the in-tree vsphereVolume type are redirected to the csi.vsphere.vmware.com CSI driver.",
+ "quobyte": "quobyte represents a Quobyte mount on the host that shares a pod's lifetime. Deprecated: Quobyte is deprecated and the in-tree quobyte type is no longer supported.",
+ "azureDisk": "azureDisk represents an Azure Data Disk mount on the host and bind mount to the pod. Deprecated: AzureDisk is deprecated. All operations for the in-tree azureDisk type are redirected to the disk.csi.azure.com CSI driver.",
+ "photonPersistentDisk": "photonPersistentDisk represents a PhotonController persistent disk attached and mounted on kubelets host machine. Deprecated: PhotonPersistentDisk is deprecated and the in-tree photonPersistentDisk type is no longer supported.",
"projected": "projected items for all in one resources secrets, configmaps, and downward API",
- "portworxVolume": "portworxVolume represents a portworx volume attached and mounted on kubelets host machine",
- "scaleIO": "scaleIO represents a ScaleIO persistent volume attached and mounted on Kubernetes nodes.",
- "storageos": "storageOS represents a StorageOS volume attached and mounted on Kubernetes nodes.",
- "csi": "csi (Container Storage Interface) represents ephemeral storage that is handled by certain external CSI drivers (Beta feature).",
+ "portworxVolume": "portworxVolume represents a portworx volume attached and mounted on kubelets host machine. Deprecated: PortworxVolume is deprecated. All operations for the in-tree portworxVolume type are redirected to the pxd.portworx.com CSI driver when the CSIMigrationPortworx feature-gate is on.",
+ "scaleIO": "scaleIO represents a ScaleIO persistent volume attached and mounted on Kubernetes nodes. Deprecated: ScaleIO is deprecated and the in-tree scaleIO type is no longer supported.",
+ "storageos": "storageOS represents a StorageOS volume attached and mounted on Kubernetes nodes. Deprecated: StorageOS is deprecated and the in-tree storageos type is no longer supported.",
+ "csi": "csi (Container Storage Interface) represents ephemeral storage that is handled by certain external CSI drivers.",
"ephemeral": "ephemeral represents a volume that is handled by a cluster storage driver. The volume's lifecycle is tied to the pod that defines it - it will be created before the pod starts, and deleted when the pod is removed.\n\nUse this if: a) the volume is only needed while the pod runs, b) features of normal volumes like restoring from snapshot or capacity\n tracking are needed,\nc) the storage driver is specified through a storage class, and d) the storage driver supports dynamic volume provisioning through\n a PersistentVolumeClaim (see EphemeralVolumeSource for more\n information on the connection between this volume type\n and PersistentVolumeClaim).\n\nUse PersistentVolumeClaim or one of the vendor-specific APIs for volumes that persist for longer than the lifecycle of an individual pod.\n\nUse CSI for light-weight local ephemeral volumes if the CSI driver is meant to be used that way - see the documentation of the driver for more information.\n\nA pod can use both types of ephemeral volumes and persistent volumes at the same time.",
"image": "image represents an OCI object (a container image or artifact) pulled and mounted on the kubelet's host machine. The volume is resolved at pod startup depending on which PullPolicy value is provided:\n\n- Always: the kubelet always attempts to pull the reference. Container creation will fail If the pull fails. - Never: the kubelet never pulls the reference and only uses a local image or artifact. Container creation will fail if the reference isn't present. - IfNotPresent: the kubelet pulls if the reference isn't already present on disk. Container creation will fail if the reference isn't present and the pull fails.\n\nThe volume gets re-resolved if the pod gets deleted and recreated, which means that new remote content will become available on pod recreation. A failure to resolve or pull the image during pod startup will block containers from starting and may add significant latency. Failures will be retried using normal volume backoff and will be reported on the pod reason and message. The types of objects that may be mounted by this volume are defined by the container runtime implementation on a host machine and at minimum must include all valid types supported by the container image field. The OCI object gets mounted in a single directory (spec.containers[*].volumeMounts.mountPath) by merging the manifest layers in the same way as for container images. The volume will be mounted read-only (ro) and non-executable files (noexec). Sub path mounts for containers are not supported (spec.containers[*].volumeMounts.subpath). The field spec.securityContext.fsGroupChangePolicy has no effect on this volume type.",
}
diff --git a/vendor/k8s.io/api/core/v1/zz_generated.deepcopy.go b/vendor/k8s.io/api/core/v1/zz_generated.deepcopy.go
index 3d23f7f6..3f669092 100644
--- a/vendor/k8s.io/api/core/v1/zz_generated.deepcopy.go
+++ b/vendor/k8s.io/api/core/v1/zz_generated.deepcopy.go
@@ -3935,6 +3935,11 @@ func (in *PodLogOptions) DeepCopyInto(out *PodLogOptions) {
*out = new(int64)
**out = **in
}
+ if in.Stream != nil {
+ in, out := &in.Stream, &out.Stream
+ *out = new(string)
+ **out = **in
+ }
return
}
@@ -4169,6 +4174,11 @@ func (in *PodSecurityContext) DeepCopyInto(out *PodSecurityContext) {
*out = new(AppArmorProfile)
(*in).DeepCopyInto(*out)
}
+ if in.SELinuxChangePolicy != nil {
+ in, out := &in.SELinuxChangePolicy, &out.SELinuxChangePolicy
+ *out = new(PodSELinuxChangePolicy)
+ **out = **in
+ }
return
}
@@ -4361,6 +4371,11 @@ func (in *PodSpec) DeepCopyInto(out *PodSpec) {
(*in)[i].DeepCopyInto(&(*out)[i])
}
}
+ if in.Resources != nil {
+ in, out := &in.Resources, &out.Resources
+ *out = new(ResourceRequirements)
+ (*in).DeepCopyInto(*out)
+ }
return
}
diff --git a/vendor/k8s.io/api/resource/v1alpha3/doc.go b/vendor/k8s.io/api/resource/v1alpha3/doc.go
index aeb66561..ffc21307 100644
--- a/vendor/k8s.io/api/resource/v1alpha3/doc.go
+++ b/vendor/k8s.io/api/resource/v1alpha3/doc.go
@@ -17,7 +17,7 @@ limitations under the License.
// +k8s:openapi-gen=true
// +k8s:deepcopy-gen=package
// +k8s:protobuf-gen=package
-
+// +k8s:prerelease-lifecycle-gen=true
// +groupName=resource.k8s.io
// Package v1alpha3 is the v1alpha3 version of the resource API.
diff --git a/vendor/k8s.io/api/resource/v1alpha3/generated.pb.go b/vendor/k8s.io/api/resource/v1alpha3/generated.pb.go
index 4ac01cc6..540f7b81 100644
--- a/vendor/k8s.io/api/resource/v1alpha3/generated.pb.go
+++ b/vendor/k8s.io/api/resource/v1alpha3/generated.pb.go
@@ -26,8 +26,9 @@ import (
proto "github.com/gogo/protobuf/proto"
github_com_gogo_protobuf_sortkeys "github.com/gogo/protobuf/sortkeys"
- v1 "k8s.io/api/core/v1"
+ v11 "k8s.io/api/core/v1"
resource "k8s.io/apimachinery/pkg/api/resource"
+ v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
math "math"
math_bits "math/bits"
@@ -48,10 +49,38 @@ var _ = math.Inf
// proto package needs to be updated.
const _ = proto.GoGoProtoPackageIsVersion3 // please upgrade the proto package
+func (m *AllocatedDeviceStatus) Reset() { *m = AllocatedDeviceStatus{} }
+func (*AllocatedDeviceStatus) ProtoMessage() {}
+func (*AllocatedDeviceStatus) Descriptor() ([]byte, []int) {
+ return fileDescriptor_66649ee9bbcd89d2, []int{0}
+}
+func (m *AllocatedDeviceStatus) XXX_Unmarshal(b []byte) error {
+ return m.Unmarshal(b)
+}
+func (m *AllocatedDeviceStatus) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ b = b[:cap(b)]
+ n, err := m.MarshalToSizedBuffer(b)
+ if err != nil {
+ return nil, err
+ }
+ return b[:n], nil
+}
+func (m *AllocatedDeviceStatus) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_AllocatedDeviceStatus.Merge(m, src)
+}
+func (m *AllocatedDeviceStatus) XXX_Size() int {
+ return m.Size()
+}
+func (m *AllocatedDeviceStatus) XXX_DiscardUnknown() {
+ xxx_messageInfo_AllocatedDeviceStatus.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_AllocatedDeviceStatus proto.InternalMessageInfo
+
func (m *AllocationResult) Reset() { *m = AllocationResult{} }
func (*AllocationResult) ProtoMessage() {}
func (*AllocationResult) Descriptor() ([]byte, []int) {
- return fileDescriptor_66649ee9bbcd89d2, []int{0}
+ return fileDescriptor_66649ee9bbcd89d2, []int{1}
}
func (m *AllocationResult) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -79,7 +108,7 @@ var xxx_messageInfo_AllocationResult proto.InternalMessageInfo
func (m *BasicDevice) Reset() { *m = BasicDevice{} }
func (*BasicDevice) ProtoMessage() {}
func (*BasicDevice) Descriptor() ([]byte, []int) {
- return fileDescriptor_66649ee9bbcd89d2, []int{1}
+ return fileDescriptor_66649ee9bbcd89d2, []int{2}
}
func (m *BasicDevice) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -107,7 +136,7 @@ var xxx_messageInfo_BasicDevice proto.InternalMessageInfo
func (m *CELDeviceSelector) Reset() { *m = CELDeviceSelector{} }
func (*CELDeviceSelector) ProtoMessage() {}
func (*CELDeviceSelector) Descriptor() ([]byte, []int) {
- return fileDescriptor_66649ee9bbcd89d2, []int{2}
+ return fileDescriptor_66649ee9bbcd89d2, []int{3}
}
func (m *CELDeviceSelector) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -135,7 +164,7 @@ var xxx_messageInfo_CELDeviceSelector proto.InternalMessageInfo
func (m *Device) Reset() { *m = Device{} }
func (*Device) ProtoMessage() {}
func (*Device) Descriptor() ([]byte, []int) {
- return fileDescriptor_66649ee9bbcd89d2, []int{3}
+ return fileDescriptor_66649ee9bbcd89d2, []int{4}
}
func (m *Device) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -163,7 +192,7 @@ var xxx_messageInfo_Device proto.InternalMessageInfo
func (m *DeviceAllocationConfiguration) Reset() { *m = DeviceAllocationConfiguration{} }
func (*DeviceAllocationConfiguration) ProtoMessage() {}
func (*DeviceAllocationConfiguration) Descriptor() ([]byte, []int) {
- return fileDescriptor_66649ee9bbcd89d2, []int{4}
+ return fileDescriptor_66649ee9bbcd89d2, []int{5}
}
func (m *DeviceAllocationConfiguration) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -191,7 +220,7 @@ var xxx_messageInfo_DeviceAllocationConfiguration proto.InternalMessageInfo
func (m *DeviceAllocationResult) Reset() { *m = DeviceAllocationResult{} }
func (*DeviceAllocationResult) ProtoMessage() {}
func (*DeviceAllocationResult) Descriptor() ([]byte, []int) {
- return fileDescriptor_66649ee9bbcd89d2, []int{5}
+ return fileDescriptor_66649ee9bbcd89d2, []int{6}
}
func (m *DeviceAllocationResult) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -219,7 +248,7 @@ var xxx_messageInfo_DeviceAllocationResult proto.InternalMessageInfo
func (m *DeviceAttribute) Reset() { *m = DeviceAttribute{} }
func (*DeviceAttribute) ProtoMessage() {}
func (*DeviceAttribute) Descriptor() ([]byte, []int) {
- return fileDescriptor_66649ee9bbcd89d2, []int{6}
+ return fileDescriptor_66649ee9bbcd89d2, []int{7}
}
func (m *DeviceAttribute) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -247,7 +276,7 @@ var xxx_messageInfo_DeviceAttribute proto.InternalMessageInfo
func (m *DeviceClaim) Reset() { *m = DeviceClaim{} }
func (*DeviceClaim) ProtoMessage() {}
func (*DeviceClaim) Descriptor() ([]byte, []int) {
- return fileDescriptor_66649ee9bbcd89d2, []int{7}
+ return fileDescriptor_66649ee9bbcd89d2, []int{8}
}
func (m *DeviceClaim) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -275,7 +304,7 @@ var xxx_messageInfo_DeviceClaim proto.InternalMessageInfo
func (m *DeviceClaimConfiguration) Reset() { *m = DeviceClaimConfiguration{} }
func (*DeviceClaimConfiguration) ProtoMessage() {}
func (*DeviceClaimConfiguration) Descriptor() ([]byte, []int) {
- return fileDescriptor_66649ee9bbcd89d2, []int{8}
+ return fileDescriptor_66649ee9bbcd89d2, []int{9}
}
func (m *DeviceClaimConfiguration) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -303,7 +332,7 @@ var xxx_messageInfo_DeviceClaimConfiguration proto.InternalMessageInfo
func (m *DeviceClass) Reset() { *m = DeviceClass{} }
func (*DeviceClass) ProtoMessage() {}
func (*DeviceClass) Descriptor() ([]byte, []int) {
- return fileDescriptor_66649ee9bbcd89d2, []int{9}
+ return fileDescriptor_66649ee9bbcd89d2, []int{10}
}
func (m *DeviceClass) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -331,7 +360,7 @@ var xxx_messageInfo_DeviceClass proto.InternalMessageInfo
func (m *DeviceClassConfiguration) Reset() { *m = DeviceClassConfiguration{} }
func (*DeviceClassConfiguration) ProtoMessage() {}
func (*DeviceClassConfiguration) Descriptor() ([]byte, []int) {
- return fileDescriptor_66649ee9bbcd89d2, []int{10}
+ return fileDescriptor_66649ee9bbcd89d2, []int{11}
}
func (m *DeviceClassConfiguration) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -359,7 +388,7 @@ var xxx_messageInfo_DeviceClassConfiguration proto.InternalMessageInfo
func (m *DeviceClassList) Reset() { *m = DeviceClassList{} }
func (*DeviceClassList) ProtoMessage() {}
func (*DeviceClassList) Descriptor() ([]byte, []int) {
- return fileDescriptor_66649ee9bbcd89d2, []int{11}
+ return fileDescriptor_66649ee9bbcd89d2, []int{12}
}
func (m *DeviceClassList) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -387,7 +416,7 @@ var xxx_messageInfo_DeviceClassList proto.InternalMessageInfo
func (m *DeviceClassSpec) Reset() { *m = DeviceClassSpec{} }
func (*DeviceClassSpec) ProtoMessage() {}
func (*DeviceClassSpec) Descriptor() ([]byte, []int) {
- return fileDescriptor_66649ee9bbcd89d2, []int{12}
+ return fileDescriptor_66649ee9bbcd89d2, []int{13}
}
func (m *DeviceClassSpec) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -415,7 +444,7 @@ var xxx_messageInfo_DeviceClassSpec proto.InternalMessageInfo
func (m *DeviceConfiguration) Reset() { *m = DeviceConfiguration{} }
func (*DeviceConfiguration) ProtoMessage() {}
func (*DeviceConfiguration) Descriptor() ([]byte, []int) {
- return fileDescriptor_66649ee9bbcd89d2, []int{13}
+ return fileDescriptor_66649ee9bbcd89d2, []int{14}
}
func (m *DeviceConfiguration) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -443,7 +472,7 @@ var xxx_messageInfo_DeviceConfiguration proto.InternalMessageInfo
func (m *DeviceConstraint) Reset() { *m = DeviceConstraint{} }
func (*DeviceConstraint) ProtoMessage() {}
func (*DeviceConstraint) Descriptor() ([]byte, []int) {
- return fileDescriptor_66649ee9bbcd89d2, []int{14}
+ return fileDescriptor_66649ee9bbcd89d2, []int{15}
}
func (m *DeviceConstraint) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -471,7 +500,7 @@ var xxx_messageInfo_DeviceConstraint proto.InternalMessageInfo
func (m *DeviceRequest) Reset() { *m = DeviceRequest{} }
func (*DeviceRequest) ProtoMessage() {}
func (*DeviceRequest) Descriptor() ([]byte, []int) {
- return fileDescriptor_66649ee9bbcd89d2, []int{15}
+ return fileDescriptor_66649ee9bbcd89d2, []int{16}
}
func (m *DeviceRequest) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -499,7 +528,7 @@ var xxx_messageInfo_DeviceRequest proto.InternalMessageInfo
func (m *DeviceRequestAllocationResult) Reset() { *m = DeviceRequestAllocationResult{} }
func (*DeviceRequestAllocationResult) ProtoMessage() {}
func (*DeviceRequestAllocationResult) Descriptor() ([]byte, []int) {
- return fileDescriptor_66649ee9bbcd89d2, []int{16}
+ return fileDescriptor_66649ee9bbcd89d2, []int{17}
}
func (m *DeviceRequestAllocationResult) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -527,7 +556,7 @@ var xxx_messageInfo_DeviceRequestAllocationResult proto.InternalMessageInfo
func (m *DeviceSelector) Reset() { *m = DeviceSelector{} }
func (*DeviceSelector) ProtoMessage() {}
func (*DeviceSelector) Descriptor() ([]byte, []int) {
- return fileDescriptor_66649ee9bbcd89d2, []int{17}
+ return fileDescriptor_66649ee9bbcd89d2, []int{18}
}
func (m *DeviceSelector) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -552,43 +581,15 @@ func (m *DeviceSelector) XXX_DiscardUnknown() {
var xxx_messageInfo_DeviceSelector proto.InternalMessageInfo
-func (m *OpaqueDeviceConfiguration) Reset() { *m = OpaqueDeviceConfiguration{} }
-func (*OpaqueDeviceConfiguration) ProtoMessage() {}
-func (*OpaqueDeviceConfiguration) Descriptor() ([]byte, []int) {
- return fileDescriptor_66649ee9bbcd89d2, []int{18}
-}
-func (m *OpaqueDeviceConfiguration) XXX_Unmarshal(b []byte) error {
- return m.Unmarshal(b)
-}
-func (m *OpaqueDeviceConfiguration) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- b = b[:cap(b)]
- n, err := m.MarshalToSizedBuffer(b)
- if err != nil {
- return nil, err
- }
- return b[:n], nil
-}
-func (m *OpaqueDeviceConfiguration) XXX_Merge(src proto.Message) {
- xxx_messageInfo_OpaqueDeviceConfiguration.Merge(m, src)
-}
-func (m *OpaqueDeviceConfiguration) XXX_Size() int {
- return m.Size()
-}
-func (m *OpaqueDeviceConfiguration) XXX_DiscardUnknown() {
- xxx_messageInfo_OpaqueDeviceConfiguration.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_OpaqueDeviceConfiguration proto.InternalMessageInfo
-
-func (m *PodSchedulingContext) Reset() { *m = PodSchedulingContext{} }
-func (*PodSchedulingContext) ProtoMessage() {}
-func (*PodSchedulingContext) Descriptor() ([]byte, []int) {
+func (m *NetworkDeviceData) Reset() { *m = NetworkDeviceData{} }
+func (*NetworkDeviceData) ProtoMessage() {}
+func (*NetworkDeviceData) Descriptor() ([]byte, []int) {
return fileDescriptor_66649ee9bbcd89d2, []int{19}
}
-func (m *PodSchedulingContext) XXX_Unmarshal(b []byte) error {
+func (m *NetworkDeviceData) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
}
-func (m *PodSchedulingContext) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+func (m *NetworkDeviceData) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
b = b[:cap(b)]
n, err := m.MarshalToSizedBuffer(b)
if err != nil {
@@ -596,83 +597,27 @@ func (m *PodSchedulingContext) XXX_Marshal(b []byte, deterministic bool) ([]byte
}
return b[:n], nil
}
-func (m *PodSchedulingContext) XXX_Merge(src proto.Message) {
- xxx_messageInfo_PodSchedulingContext.Merge(m, src)
+func (m *NetworkDeviceData) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_NetworkDeviceData.Merge(m, src)
}
-func (m *PodSchedulingContext) XXX_Size() int {
+func (m *NetworkDeviceData) XXX_Size() int {
return m.Size()
}
-func (m *PodSchedulingContext) XXX_DiscardUnknown() {
- xxx_messageInfo_PodSchedulingContext.DiscardUnknown(m)
+func (m *NetworkDeviceData) XXX_DiscardUnknown() {
+ xxx_messageInfo_NetworkDeviceData.DiscardUnknown(m)
}
-var xxx_messageInfo_PodSchedulingContext proto.InternalMessageInfo
+var xxx_messageInfo_NetworkDeviceData proto.InternalMessageInfo
-func (m *PodSchedulingContextList) Reset() { *m = PodSchedulingContextList{} }
-func (*PodSchedulingContextList) ProtoMessage() {}
-func (*PodSchedulingContextList) Descriptor() ([]byte, []int) {
+func (m *OpaqueDeviceConfiguration) Reset() { *m = OpaqueDeviceConfiguration{} }
+func (*OpaqueDeviceConfiguration) ProtoMessage() {}
+func (*OpaqueDeviceConfiguration) Descriptor() ([]byte, []int) {
return fileDescriptor_66649ee9bbcd89d2, []int{20}
}
-func (m *PodSchedulingContextList) XXX_Unmarshal(b []byte) error {
- return m.Unmarshal(b)
-}
-func (m *PodSchedulingContextList) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- b = b[:cap(b)]
- n, err := m.MarshalToSizedBuffer(b)
- if err != nil {
- return nil, err
- }
- return b[:n], nil
-}
-func (m *PodSchedulingContextList) XXX_Merge(src proto.Message) {
- xxx_messageInfo_PodSchedulingContextList.Merge(m, src)
-}
-func (m *PodSchedulingContextList) XXX_Size() int {
- return m.Size()
-}
-func (m *PodSchedulingContextList) XXX_DiscardUnknown() {
- xxx_messageInfo_PodSchedulingContextList.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_PodSchedulingContextList proto.InternalMessageInfo
-
-func (m *PodSchedulingContextSpec) Reset() { *m = PodSchedulingContextSpec{} }
-func (*PodSchedulingContextSpec) ProtoMessage() {}
-func (*PodSchedulingContextSpec) Descriptor() ([]byte, []int) {
- return fileDescriptor_66649ee9bbcd89d2, []int{21}
-}
-func (m *PodSchedulingContextSpec) XXX_Unmarshal(b []byte) error {
- return m.Unmarshal(b)
-}
-func (m *PodSchedulingContextSpec) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- b = b[:cap(b)]
- n, err := m.MarshalToSizedBuffer(b)
- if err != nil {
- return nil, err
- }
- return b[:n], nil
-}
-func (m *PodSchedulingContextSpec) XXX_Merge(src proto.Message) {
- xxx_messageInfo_PodSchedulingContextSpec.Merge(m, src)
-}
-func (m *PodSchedulingContextSpec) XXX_Size() int {
- return m.Size()
-}
-func (m *PodSchedulingContextSpec) XXX_DiscardUnknown() {
- xxx_messageInfo_PodSchedulingContextSpec.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_PodSchedulingContextSpec proto.InternalMessageInfo
-
-func (m *PodSchedulingContextStatus) Reset() { *m = PodSchedulingContextStatus{} }
-func (*PodSchedulingContextStatus) ProtoMessage() {}
-func (*PodSchedulingContextStatus) Descriptor() ([]byte, []int) {
- return fileDescriptor_66649ee9bbcd89d2, []int{22}
-}
-func (m *PodSchedulingContextStatus) XXX_Unmarshal(b []byte) error {
+func (m *OpaqueDeviceConfiguration) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
}
-func (m *PodSchedulingContextStatus) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+func (m *OpaqueDeviceConfiguration) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
b = b[:cap(b)]
n, err := m.MarshalToSizedBuffer(b)
if err != nil {
@@ -680,22 +625,22 @@ func (m *PodSchedulingContextStatus) XXX_Marshal(b []byte, deterministic bool) (
}
return b[:n], nil
}
-func (m *PodSchedulingContextStatus) XXX_Merge(src proto.Message) {
- xxx_messageInfo_PodSchedulingContextStatus.Merge(m, src)
+func (m *OpaqueDeviceConfiguration) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_OpaqueDeviceConfiguration.Merge(m, src)
}
-func (m *PodSchedulingContextStatus) XXX_Size() int {
+func (m *OpaqueDeviceConfiguration) XXX_Size() int {
return m.Size()
}
-func (m *PodSchedulingContextStatus) XXX_DiscardUnknown() {
- xxx_messageInfo_PodSchedulingContextStatus.DiscardUnknown(m)
+func (m *OpaqueDeviceConfiguration) XXX_DiscardUnknown() {
+ xxx_messageInfo_OpaqueDeviceConfiguration.DiscardUnknown(m)
}
-var xxx_messageInfo_PodSchedulingContextStatus proto.InternalMessageInfo
+var xxx_messageInfo_OpaqueDeviceConfiguration proto.InternalMessageInfo
func (m *ResourceClaim) Reset() { *m = ResourceClaim{} }
func (*ResourceClaim) ProtoMessage() {}
func (*ResourceClaim) Descriptor() ([]byte, []int) {
- return fileDescriptor_66649ee9bbcd89d2, []int{23}
+ return fileDescriptor_66649ee9bbcd89d2, []int{21}
}
func (m *ResourceClaim) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -723,7 +668,7 @@ var xxx_messageInfo_ResourceClaim proto.InternalMessageInfo
func (m *ResourceClaimConsumerReference) Reset() { *m = ResourceClaimConsumerReference{} }
func (*ResourceClaimConsumerReference) ProtoMessage() {}
func (*ResourceClaimConsumerReference) Descriptor() ([]byte, []int) {
- return fileDescriptor_66649ee9bbcd89d2, []int{24}
+ return fileDescriptor_66649ee9bbcd89d2, []int{22}
}
func (m *ResourceClaimConsumerReference) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -751,7 +696,7 @@ var xxx_messageInfo_ResourceClaimConsumerReference proto.InternalMessageInfo
func (m *ResourceClaimList) Reset() { *m = ResourceClaimList{} }
func (*ResourceClaimList) ProtoMessage() {}
func (*ResourceClaimList) Descriptor() ([]byte, []int) {
- return fileDescriptor_66649ee9bbcd89d2, []int{25}
+ return fileDescriptor_66649ee9bbcd89d2, []int{23}
}
func (m *ResourceClaimList) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -776,38 +721,10 @@ func (m *ResourceClaimList) XXX_DiscardUnknown() {
var xxx_messageInfo_ResourceClaimList proto.InternalMessageInfo
-func (m *ResourceClaimSchedulingStatus) Reset() { *m = ResourceClaimSchedulingStatus{} }
-func (*ResourceClaimSchedulingStatus) ProtoMessage() {}
-func (*ResourceClaimSchedulingStatus) Descriptor() ([]byte, []int) {
- return fileDescriptor_66649ee9bbcd89d2, []int{26}
-}
-func (m *ResourceClaimSchedulingStatus) XXX_Unmarshal(b []byte) error {
- return m.Unmarshal(b)
-}
-func (m *ResourceClaimSchedulingStatus) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- b = b[:cap(b)]
- n, err := m.MarshalToSizedBuffer(b)
- if err != nil {
- return nil, err
- }
- return b[:n], nil
-}
-func (m *ResourceClaimSchedulingStatus) XXX_Merge(src proto.Message) {
- xxx_messageInfo_ResourceClaimSchedulingStatus.Merge(m, src)
-}
-func (m *ResourceClaimSchedulingStatus) XXX_Size() int {
- return m.Size()
-}
-func (m *ResourceClaimSchedulingStatus) XXX_DiscardUnknown() {
- xxx_messageInfo_ResourceClaimSchedulingStatus.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_ResourceClaimSchedulingStatus proto.InternalMessageInfo
-
func (m *ResourceClaimSpec) Reset() { *m = ResourceClaimSpec{} }
func (*ResourceClaimSpec) ProtoMessage() {}
func (*ResourceClaimSpec) Descriptor() ([]byte, []int) {
- return fileDescriptor_66649ee9bbcd89d2, []int{27}
+ return fileDescriptor_66649ee9bbcd89d2, []int{24}
}
func (m *ResourceClaimSpec) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -835,7 +752,7 @@ var xxx_messageInfo_ResourceClaimSpec proto.InternalMessageInfo
func (m *ResourceClaimStatus) Reset() { *m = ResourceClaimStatus{} }
func (*ResourceClaimStatus) ProtoMessage() {}
func (*ResourceClaimStatus) Descriptor() ([]byte, []int) {
- return fileDescriptor_66649ee9bbcd89d2, []int{28}
+ return fileDescriptor_66649ee9bbcd89d2, []int{25}
}
func (m *ResourceClaimStatus) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -863,7 +780,7 @@ var xxx_messageInfo_ResourceClaimStatus proto.InternalMessageInfo
func (m *ResourceClaimTemplate) Reset() { *m = ResourceClaimTemplate{} }
func (*ResourceClaimTemplate) ProtoMessage() {}
func (*ResourceClaimTemplate) Descriptor() ([]byte, []int) {
- return fileDescriptor_66649ee9bbcd89d2, []int{29}
+ return fileDescriptor_66649ee9bbcd89d2, []int{26}
}
func (m *ResourceClaimTemplate) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -891,7 +808,7 @@ var xxx_messageInfo_ResourceClaimTemplate proto.InternalMessageInfo
func (m *ResourceClaimTemplateList) Reset() { *m = ResourceClaimTemplateList{} }
func (*ResourceClaimTemplateList) ProtoMessage() {}
func (*ResourceClaimTemplateList) Descriptor() ([]byte, []int) {
- return fileDescriptor_66649ee9bbcd89d2, []int{30}
+ return fileDescriptor_66649ee9bbcd89d2, []int{27}
}
func (m *ResourceClaimTemplateList) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -919,7 +836,7 @@ var xxx_messageInfo_ResourceClaimTemplateList proto.InternalMessageInfo
func (m *ResourceClaimTemplateSpec) Reset() { *m = ResourceClaimTemplateSpec{} }
func (*ResourceClaimTemplateSpec) ProtoMessage() {}
func (*ResourceClaimTemplateSpec) Descriptor() ([]byte, []int) {
- return fileDescriptor_66649ee9bbcd89d2, []int{31}
+ return fileDescriptor_66649ee9bbcd89d2, []int{28}
}
func (m *ResourceClaimTemplateSpec) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -947,7 +864,7 @@ var xxx_messageInfo_ResourceClaimTemplateSpec proto.InternalMessageInfo
func (m *ResourcePool) Reset() { *m = ResourcePool{} }
func (*ResourcePool) ProtoMessage() {}
func (*ResourcePool) Descriptor() ([]byte, []int) {
- return fileDescriptor_66649ee9bbcd89d2, []int{32}
+ return fileDescriptor_66649ee9bbcd89d2, []int{29}
}
func (m *ResourcePool) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -975,7 +892,7 @@ var xxx_messageInfo_ResourcePool proto.InternalMessageInfo
func (m *ResourceSlice) Reset() { *m = ResourceSlice{} }
func (*ResourceSlice) ProtoMessage() {}
func (*ResourceSlice) Descriptor() ([]byte, []int) {
- return fileDescriptor_66649ee9bbcd89d2, []int{33}
+ return fileDescriptor_66649ee9bbcd89d2, []int{30}
}
func (m *ResourceSlice) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -1003,7 +920,7 @@ var xxx_messageInfo_ResourceSlice proto.InternalMessageInfo
func (m *ResourceSliceList) Reset() { *m = ResourceSliceList{} }
func (*ResourceSliceList) ProtoMessage() {}
func (*ResourceSliceList) Descriptor() ([]byte, []int) {
- return fileDescriptor_66649ee9bbcd89d2, []int{34}
+ return fileDescriptor_66649ee9bbcd89d2, []int{31}
}
func (m *ResourceSliceList) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -1031,7 +948,7 @@ var xxx_messageInfo_ResourceSliceList proto.InternalMessageInfo
func (m *ResourceSliceSpec) Reset() { *m = ResourceSliceSpec{} }
func (*ResourceSliceSpec) ProtoMessage() {}
func (*ResourceSliceSpec) Descriptor() ([]byte, []int) {
- return fileDescriptor_66649ee9bbcd89d2, []int{35}
+ return fileDescriptor_66649ee9bbcd89d2, []int{32}
}
func (m *ResourceSliceSpec) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -1057,6 +974,7 @@ func (m *ResourceSliceSpec) XXX_DiscardUnknown() {
var xxx_messageInfo_ResourceSliceSpec proto.InternalMessageInfo
func init() {
+ proto.RegisterType((*AllocatedDeviceStatus)(nil), "k8s.io.api.resource.v1alpha3.AllocatedDeviceStatus")
proto.RegisterType((*AllocationResult)(nil), "k8s.io.api.resource.v1alpha3.AllocationResult")
proto.RegisterType((*BasicDevice)(nil), "k8s.io.api.resource.v1alpha3.BasicDevice")
proto.RegisterMapType((map[QualifiedName]DeviceAttribute)(nil), "k8s.io.api.resource.v1alpha3.BasicDevice.AttributesEntry")
@@ -1077,15 +995,11 @@ func init() {
proto.RegisterType((*DeviceRequest)(nil), "k8s.io.api.resource.v1alpha3.DeviceRequest")
proto.RegisterType((*DeviceRequestAllocationResult)(nil), "k8s.io.api.resource.v1alpha3.DeviceRequestAllocationResult")
proto.RegisterType((*DeviceSelector)(nil), "k8s.io.api.resource.v1alpha3.DeviceSelector")
+ proto.RegisterType((*NetworkDeviceData)(nil), "k8s.io.api.resource.v1alpha3.NetworkDeviceData")
proto.RegisterType((*OpaqueDeviceConfiguration)(nil), "k8s.io.api.resource.v1alpha3.OpaqueDeviceConfiguration")
- proto.RegisterType((*PodSchedulingContext)(nil), "k8s.io.api.resource.v1alpha3.PodSchedulingContext")
- proto.RegisterType((*PodSchedulingContextList)(nil), "k8s.io.api.resource.v1alpha3.PodSchedulingContextList")
- proto.RegisterType((*PodSchedulingContextSpec)(nil), "k8s.io.api.resource.v1alpha3.PodSchedulingContextSpec")
- proto.RegisterType((*PodSchedulingContextStatus)(nil), "k8s.io.api.resource.v1alpha3.PodSchedulingContextStatus")
proto.RegisterType((*ResourceClaim)(nil), "k8s.io.api.resource.v1alpha3.ResourceClaim")
proto.RegisterType((*ResourceClaimConsumerReference)(nil), "k8s.io.api.resource.v1alpha3.ResourceClaimConsumerReference")
proto.RegisterType((*ResourceClaimList)(nil), "k8s.io.api.resource.v1alpha3.ResourceClaimList")
- proto.RegisterType((*ResourceClaimSchedulingStatus)(nil), "k8s.io.api.resource.v1alpha3.ResourceClaimSchedulingStatus")
proto.RegisterType((*ResourceClaimSpec)(nil), "k8s.io.api.resource.v1alpha3.ResourceClaimSpec")
proto.RegisterType((*ResourceClaimStatus)(nil), "k8s.io.api.resource.v1alpha3.ResourceClaimStatus")
proto.RegisterType((*ResourceClaimTemplate)(nil), "k8s.io.api.resource.v1alpha3.ResourceClaimTemplate")
@@ -1102,138 +1016,208 @@ func init() {
}
var fileDescriptor_66649ee9bbcd89d2 = []byte{
- // 2085 bytes of a gzipped FileDescriptorProto
- 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xd4, 0x1a, 0xcd, 0x6f, 0x1c, 0x57,
- 0x3d, 0xb3, 0xeb, 0xcf, 0x9f, 0xbf, 0x9f, 0x93, 0xe0, 0x9a, 0x66, 0x37, 0x99, 0x22, 0x70, 0xda,
- 0x74, 0xb6, 0x71, 0x4b, 0x1b, 0x5a, 0x90, 0xf0, 0xd8, 0x6e, 0xe4, 0x28, 0x1f, 0xce, 0xdb, 0x26,
- 0x34, 0x50, 0x4a, 0x9f, 0x67, 0x9f, 0xed, 0xc1, 0xb3, 0x33, 0xd3, 0x99, 0x37, 0x26, 0x16, 0x12,
- 0x8a, 0xb8, 0x70, 0x8b, 0x7a, 0xe5, 0x80, 0xb8, 0x21, 0x21, 0x0e, 0x70, 0xe0, 0x88, 0x54, 0x24,
- 0x90, 0xc8, 0x31, 0x08, 0x0e, 0x3d, 0x2d, 0xcd, 0x22, 0xfe, 0x89, 0x5c, 0x40, 0xef, 0xcd, 0x9b,
- 0x4f, 0xcf, 0x6c, 0x66, 0xa3, 0xca, 0x2a, 0x37, 0xcf, 0xef, 0xfb, 0xfd, 0xbe, 0xdf, 0x5b, 0xc3,
- 0xa5, 0x83, 0x2b, 0xbe, 0x66, 0x3a, 0x2d, 0xe2, 0x9a, 0x2d, 0x8f, 0xfa, 0x4e, 0xe0, 0x19, 0xb4,
- 0x75, 0x78, 0x99, 0x58, 0xee, 0x3e, 0x79, 0xbd, 0xb5, 0x47, 0x6d, 0xea, 0x11, 0x46, 0x3b, 0x9a,
- 0xeb, 0x39, 0xcc, 0x41, 0x2f, 0x86, 0xd4, 0x1a, 0x71, 0x4d, 0x2d, 0xa2, 0xd6, 0x22, 0xea, 0xe5,
- 0x57, 0xf7, 0x4c, 0xb6, 0x1f, 0xec, 0x68, 0x86, 0xd3, 0x6d, 0xed, 0x39, 0x7b, 0x4e, 0x4b, 0x30,
- 0xed, 0x04, 0xbb, 0xe2, 0x4b, 0x7c, 0x88, 0xbf, 0x42, 0x61, 0xcb, 0x6a, 0x4a, 0xb5, 0xe1, 0x78,
- 0x5c, 0x6d, 0x5e, 0xe1, 0xf2, 0x1b, 0x09, 0x4d, 0x97, 0x18, 0xfb, 0xa6, 0x4d, 0xbd, 0xa3, 0x96,
- 0x7b, 0xb0, 0x97, 0xb5, 0x77, 0x18, 0x2e, 0xbf, 0xd5, 0xa5, 0x8c, 0x14, 0xe9, 0x6a, 0x95, 0x71,
- 0x79, 0x81, 0xcd, 0xcc, 0xee, 0x71, 0x35, 0x6f, 0x3e, 0x8b, 0xc1, 0x37, 0xf6, 0x69, 0x97, 0xe4,
- 0xf9, 0xd4, 0xff, 0x2a, 0x30, 0xbf, 0x66, 0x59, 0x8e, 0x41, 0x98, 0xe9, 0xd8, 0x98, 0xfa, 0x81,
- 0xc5, 0xd0, 0x8f, 0x60, 0xbc, 0x43, 0x0f, 0x4d, 0x83, 0xfa, 0x4b, 0xca, 0x79, 0x65, 0x65, 0x6a,
- 0xf5, 0x0d, 0x6d, 0x90, 0xb3, 0xb5, 0x0d, 0x41, 0x9c, 0x17, 0xa3, 0xcf, 0x3d, 0xea, 0x35, 0x4f,
- 0xf5, 0x7b, 0xcd, 0xf1, 0x10, 0xef, 0xe3, 0x48, 0x2a, 0xba, 0x0b, 0xd3, 0xb6, 0xd3, 0xa1, 0x6d,
- 0x6a, 0x51, 0x83, 0x39, 0xde, 0x52, 0x5d, 0x68, 0x39, 0x9f, 0xd6, 0xc2, 0xa3, 0xa0, 0x1d, 0x5e,
- 0xd6, 0x6e, 0xa6, 0xe8, 0xf4, 0xf9, 0x7e, 0xaf, 0x39, 0x9d, 0x86, 0xe0, 0x8c, 0x1c, 0xb4, 0x0a,
- 0x60, 0x38, 0x36, 0xf3, 0x1c, 0xcb, 0xa2, 0xde, 0xd2, 0xc8, 0x79, 0x65, 0x65, 0x52, 0x47, 0xd2,
- 0x0a, 0x58, 0x8f, 0x31, 0x38, 0x45, 0xa5, 0x7e, 0x5e, 0x87, 0x29, 0x9d, 0xf8, 0xa6, 0x11, 0x5a,
- 0x89, 0x7e, 0x06, 0x40, 0x18, 0xf3, 0xcc, 0x9d, 0x80, 0x89, 0xf3, 0xd7, 0x57, 0xa6, 0x56, 0xbf,
- 0x35, 0xf8, 0xfc, 0x29, 0x76, 0x6d, 0x2d, 0xe6, 0xdd, 0xb4, 0x99, 0x77, 0xa4, 0xbf, 0x14, 0xa9,
- 0x4f, 0x10, 0x3f, 0xff, 0x57, 0x73, 0xe6, 0x76, 0x40, 0x2c, 0x73, 0xd7, 0xa4, 0x9d, 0x9b, 0xa4,
- 0x4b, 0x71, 0x4a, 0x23, 0x3a, 0x84, 0x09, 0x83, 0xb8, 0xc4, 0x30, 0xd9, 0xd1, 0x52, 0x4d, 0x68,
- 0x7f, 0xab, 0xba, 0xf6, 0x75, 0xc9, 0x19, 0xea, 0xbe, 0x20, 0x75, 0x4f, 0x44, 0xe0, 0xe3, 0x9a,
- 0x63, 0x5d, 0xcb, 0x16, 0xcc, 0xe5, 0x6c, 0x47, 0xf3, 0x50, 0x3f, 0xa0, 0x47, 0x22, 0x07, 0x26,
- 0x31, 0xff, 0x13, 0xad, 0xc3, 0xe8, 0x21, 0xb1, 0x02, 0xba, 0x54, 0x13, 0x11, 0x7b, 0xb5, 0x52,
- 0x5e, 0x44, 0x52, 0x71, 0xc8, 0xfb, 0x76, 0xed, 0x8a, 0xb2, 0x7c, 0x00, 0x33, 0x19, 0x5b, 0x0b,
- 0x74, 0x6d, 0x64, 0x75, 0x69, 0x29, 0x5d, 0x71, 0x8a, 0x6b, 0xee, 0xc1, 0x5e, 0x56, 0xf9, 0xed,
- 0x80, 0xd8, 0xcc, 0x64, 0x47, 0x29, 0x65, 0xea, 0x55, 0x58, 0x58, 0xdf, 0xbc, 0x1e, 0x5a, 0x93,
- 0xce, 0x15, 0x7a, 0xdf, 0xf5, 0xa8, 0xef, 0x9b, 0x8e, 0x1d, 0xea, 0x4d, 0x72, 0x65, 0x33, 0xc6,
- 0xe0, 0x14, 0x95, 0x7a, 0x08, 0x63, 0x32, 0x4b, 0xce, 0xc3, 0x88, 0x4d, 0xba, 0x54, 0xf2, 0x4d,
- 0x4b, 0xbe, 0x11, 0xe1, 0x53, 0x81, 0x41, 0xd7, 0x60, 0x74, 0x87, 0x47, 0x46, 0x9a, 0x7f, 0xb1,
- 0x72, 0x10, 0xf5, 0xc9, 0x7e, 0xaf, 0x39, 0x2a, 0x00, 0x38, 0x14, 0xa1, 0x3e, 0xac, 0xc1, 0xb9,
- 0x7c, 0x91, 0xad, 0x3b, 0xf6, 0xae, 0xb9, 0x17, 0x78, 0xe2, 0x03, 0x7d, 0x17, 0xc6, 0x42, 0x91,
- 0xd2, 0xa2, 0x15, 0x69, 0xd1, 0x58, 0x5b, 0x40, 0x9f, 0xf6, 0x9a, 0x67, 0xf3, 0xac, 0x21, 0x06,
- 0x4b, 0x3e, 0xb4, 0x02, 0x13, 0x1e, 0xfd, 0x38, 0xa0, 0x3e, 0xf3, 0x45, 0xde, 0x4d, 0xea, 0xd3,
- 0x3c, 0x75, 0xb0, 0x84, 0xe1, 0x18, 0x8b, 0x1e, 0x28, 0xb0, 0x18, 0x56, 0x72, 0xc6, 0x06, 0x59,
- 0xc5, 0x97, 0xab, 0xe4, 0x44, 0x86, 0x51, 0xff, 0xaa, 0x34, 0x76, 0xb1, 0x00, 0x89, 0x8b, 0x54,
- 0xa9, 0xff, 0x51, 0xe0, 0x6c, 0x71, 0xd7, 0x41, 0xbb, 0x30, 0xee, 0x89, 0xbf, 0xa2, 0xe2, 0x7d,
- 0xa7, 0x8a, 0x41, 0xf2, 0x98, 0xe5, 0x3d, 0x2c, 0xfc, 0xf6, 0x71, 0x24, 0x1c, 0x19, 0x30, 0x66,
- 0x08, 0x9b, 0x64, 0x95, 0xbe, 0x33, 0x5c, 0x8f, 0xcc, 0x7a, 0x60, 0x36, 0x0a, 0x57, 0x08, 0xc6,
- 0x52, 0xb4, 0xfa, 0x5b, 0x05, 0xe6, 0x72, 0x55, 0x84, 0x1a, 0x50, 0x37, 0x6d, 0x26, 0xd2, 0xaa,
- 0x1e, 0xc6, 0x68, 0xcb, 0x66, 0x77, 0x79, 0xb2, 0x63, 0x8e, 0x40, 0x17, 0x60, 0x64, 0xc7, 0x71,
- 0x2c, 0x11, 0x8e, 0x09, 0x7d, 0xa6, 0xdf, 0x6b, 0x4e, 0xea, 0x8e, 0x63, 0x85, 0x14, 0x02, 0x85,
- 0xbe, 0x01, 0x63, 0x3e, 0xf3, 0x4c, 0x7b, 0x4f, 0xf6, 0xc8, 0xb9, 0x7e, 0xaf, 0x39, 0xd5, 0x16,
- 0x90, 0x90, 0x4c, 0xa2, 0xd1, 0xcb, 0x30, 0x7e, 0x48, 0x3d, 0x51, 0x21, 0xa3, 0x82, 0x52, 0x74,
- 0xe0, 0xbb, 0x21, 0x28, 0x24, 0x8d, 0x08, 0xd4, 0xdf, 0xd7, 0x60, 0x4a, 0x06, 0xd0, 0x22, 0x66,
- 0x17, 0xdd, 0x4b, 0x25, 0x54, 0x18, 0x89, 0x57, 0x86, 0x88, 0x84, 0x3e, 0x1f, 0x35, 0xaf, 0x82,
- 0x0c, 0xa4, 0x30, 0x65, 0x38, 0xb6, 0xcf, 0x3c, 0x62, 0xda, 0x32, 0x5d, 0xb3, 0x0d, 0x62, 0x50,
- 0xe2, 0x49, 0x36, 0x7d, 0x51, 0x2a, 0x98, 0x4a, 0x60, 0x3e, 0x4e, 0xcb, 0x45, 0x1f, 0xc6, 0x21,
- 0xae, 0x0b, 0x0d, 0x6f, 0x56, 0xd2, 0xc0, 0x0f, 0x5f, 0x2d, 0xba, 0x7f, 0x53, 0x60, 0xa9, 0x8c,
- 0x29, 0x53, 0x8f, 0xca, 0x73, 0xd5, 0x63, 0xed, 0xe4, 0xea, 0xf1, 0xcf, 0x4a, 0x2a, 0xf6, 0xbe,
- 0x8f, 0x3e, 0x82, 0x09, 0xbe, 0xda, 0x74, 0x08, 0x23, 0x72, 0x85, 0x78, 0x6d, 0x50, 0xfb, 0xf6,
- 0x35, 0x4e, 0xcd, 0xc7, 0xfd, 0xad, 0x9d, 0x1f, 0x53, 0x83, 0xdd, 0xa0, 0x8c, 0x24, 0xcd, 0x38,
- 0x81, 0xe1, 0x58, 0x2a, 0xba, 0x05, 0x23, 0xbe, 0x4b, 0x8d, 0x61, 0x06, 0x91, 0x30, 0xad, 0xed,
- 0x52, 0x23, 0xe9, 0xd7, 0xfc, 0x0b, 0x0b, 0x41, 0xea, 0xaf, 0xd2, 0xc1, 0xf0, 0xfd, 0x6c, 0x30,
- 0xca, 0x5c, 0xac, 0x9c, 0x9c, 0x8b, 0x3f, 0x8d, 0x5b, 0x81, 0xb0, 0xef, 0xba, 0xe9, 0x33, 0xf4,
- 0xc1, 0x31, 0x37, 0x6b, 0xd5, 0xdc, 0xcc, 0xb9, 0x85, 0x93, 0xe3, 0x2a, 0x8b, 0x20, 0x29, 0x17,
- 0xdf, 0x84, 0x51, 0x93, 0xd1, 0x6e, 0x54, 0x5f, 0x17, 0x2b, 0xfb, 0x58, 0x9f, 0x91, 0x52, 0x47,
- 0xb7, 0x38, 0x3f, 0x0e, 0xc5, 0xa8, 0xbf, 0xab, 0x65, 0x4e, 0xc0, 0x7d, 0x8f, 0x7e, 0x08, 0x93,
- 0xbe, 0x9c, 0xc8, 0x51, 0x97, 0xb8, 0x54, 0x45, 0x4f, 0xbc, 0x12, 0x2e, 0x48, 0x55, 0x93, 0x11,
- 0xc4, 0xc7, 0x89, 0xc4, 0x54, 0x05, 0xd7, 0x86, 0xaa, 0xe0, 0x5c, 0xfc, 0xcb, 0x2a, 0x18, 0xdd,
- 0x83, 0x19, 0x3f, 0x30, 0x19, 0xd9, 0xb1, 0x28, 0x5f, 0x4b, 0xfd, 0xca, 0x9b, 0xec, 0x42, 0xbf,
- 0xd7, 0x9c, 0x69, 0xa7, 0x59, 0x71, 0x56, 0x92, 0xea, 0x41, 0x51, 0x6e, 0xa0, 0x1f, 0xc0, 0x98,
- 0xe3, 0x92, 0x8f, 0x03, 0x2a, 0x03, 0xfe, 0x8c, 0xe5, 0xf0, 0x96, 0xa0, 0x2d, 0xca, 0x40, 0xe0,
- 0xc7, 0x09, 0xd1, 0x58, 0x8a, 0x54, 0x1f, 0x2a, 0x30, 0x9f, 0xef, 0x93, 0x43, 0x34, 0xa2, 0x6d,
- 0x98, 0xed, 0x12, 0x66, 0xec, 0xc7, 0xb3, 0x4a, 0x54, 0xe7, 0xa4, 0xbe, 0xd2, 0xef, 0x35, 0x67,
- 0x6f, 0x64, 0x30, 0x4f, 0x7b, 0x4d, 0xf4, 0x6e, 0x60, 0x59, 0x47, 0xd9, 0x75, 0x34, 0xc7, 0xaf,
- 0xfe, 0xa2, 0x0e, 0x33, 0x99, 0xb1, 0x50, 0x61, 0xf1, 0x5a, 0x83, 0xb9, 0x4e, 0x12, 0x47, 0x8e,
- 0x90, 0x66, 0x7c, 0x45, 0x12, 0xa7, 0x93, 0x50, 0xf0, 0xe5, 0xe9, 0xb3, 0x59, 0x59, 0xff, 0xc2,
- 0xb3, 0xf2, 0x2e, 0xcc, 0x92, 0x78, 0x11, 0xb8, 0xe1, 0x74, 0xa8, 0x1c, 0xc3, 0x9a, 0xe4, 0x9a,
- 0x5d, 0xcb, 0x60, 0x9f, 0xf6, 0x9a, 0xa7, 0xf3, 0xeb, 0x03, 0x87, 0xe3, 0x9c, 0x14, 0xf4, 0x12,
- 0x8c, 0x1a, 0x4e, 0x60, 0x33, 0x31, 0xab, 0xeb, 0x49, 0x15, 0xae, 0x73, 0x20, 0x0e, 0x71, 0xe8,
- 0x9b, 0x30, 0x45, 0x3a, 0x5d, 0xd3, 0x5e, 0x33, 0x0c, 0xea, 0xfb, 0x4b, 0x63, 0x62, 0x4b, 0x88,
- 0x67, 0xe1, 0x5a, 0x82, 0xc2, 0x69, 0x3a, 0xf5, 0x4f, 0x4a, 0xb4, 0x82, 0x96, 0xac, 0x4a, 0xe8,
- 0x22, 0x5f, 0xbc, 0x04, 0x4a, 0x06, 0x27, 0xb5, 0x3b, 0x09, 0x30, 0x8e, 0xf0, 0xe8, 0xeb, 0x30,
- 0xd6, 0xf1, 0xcc, 0x43, 0xea, 0xc9, 0xc8, 0xc4, 0xe5, 0xb5, 0x21, 0xa0, 0x58, 0x62, 0x79, 0xb0,
- 0xdd, 0x68, 0x95, 0x49, 0x05, 0x7b, 0xdb, 0x71, 0x2c, 0x2c, 0x30, 0x42, 0x92, 0xb0, 0x4a, 0xba,
- 0x30, 0x91, 0x14, 0xda, 0x2a, 0xb1, 0xea, 0x07, 0x30, 0x9b, 0xdb, 0xff, 0xaf, 0x41, 0xdd, 0xa0,
- 0x96, 0xac, 0xa2, 0xd6, 0xe0, 0xe8, 0x1e, 0xbb, 0x3d, 0xe8, 0xe3, 0xfd, 0x5e, 0xb3, 0xbe, 0xbe,
- 0x79, 0x1d, 0x73, 0x21, 0xea, 0x6f, 0x14, 0x78, 0xa1, 0xb4, 0xd2, 0x52, 0xa7, 0x55, 0x06, 0x9e,
- 0x96, 0x00, 0xb8, 0xc4, 0x23, 0x5d, 0xca, 0xa8, 0xe7, 0x17, 0x0c, 0xb6, 0x6c, 0x3f, 0x97, 0x17,
- 0x7b, 0x0d, 0x93, 0x9f, 0x6c, 0xde, 0x67, 0xd4, 0xe6, 0x3b, 0x58, 0x32, 0x33, 0xb7, 0x63, 0x41,
- 0x38, 0x25, 0x54, 0xfd, 0x63, 0x0d, 0x4e, 0x6f, 0x3b, 0x9d, 0xb6, 0xb1, 0x4f, 0x3b, 0x81, 0x65,
- 0xda, 0x7b, 0xfc, 0x52, 0x4c, 0xef, 0xb3, 0x13, 0x18, 0xd8, 0xef, 0x67, 0x06, 0xf6, 0x33, 0x1a,
- 0x71, 0x91, 0x8d, 0x65, 0x93, 0x1b, 0x7d, 0xc4, 0xb7, 0x59, 0xc2, 0x82, 0xa8, 0xfb, 0x5e, 0x79,
- 0x0e, 0xd9, 0x82, 0x3f, 0x89, 0x4c, 0xf8, 0x8d, 0xa5, 0x5c, 0xf5, 0xef, 0x0a, 0x2c, 0x15, 0xb1,
- 0x9d, 0xc0, 0x10, 0xfe, 0x5e, 0x76, 0x08, 0xaf, 0x0e, 0x7f, 0xb6, 0x92, 0x69, 0xfc, 0x49, 0xc9,
- 0x99, 0xc4, 0x58, 0xbe, 0x02, 0xd3, 0x61, 0xbb, 0xa2, 0x1d, 0x3e, 0x8d, 0x64, 0xe2, 0x9e, 0x96,
- 0x82, 0xa6, 0xdb, 0x29, 0x1c, 0xce, 0x50, 0xa2, 0xb7, 0x61, 0xd6, 0x75, 0x18, 0xb5, 0x99, 0x49,
- 0xac, 0x70, 0x24, 0x86, 0x97, 0x49, 0xc4, 0xfb, 0xda, 0x76, 0x06, 0x83, 0x73, 0x94, 0xea, 0x2f,
- 0x15, 0x58, 0x2e, 0x8f, 0x0e, 0xfa, 0x29, 0xcc, 0x46, 0x27, 0x16, 0xfb, 0x72, 0xc5, 0x0b, 0x1e,
- 0x4e, 0xf3, 0x24, 0xb2, 0x65, 0xc8, 0xcf, 0x46, 0x3d, 0x37, 0x43, 0xe6, 0xe3, 0x9c, 0x2a, 0xf5,
- 0xd7, 0x35, 0x98, 0xc9, 0x90, 0x9c, 0x40, 0xc9, 0xdc, 0xce, 0x94, 0x4c, 0x6b, 0x98, 0x63, 0x96,
- 0xd5, 0xca, 0xbd, 0x5c, 0xad, 0x5c, 0x1e, 0x46, 0xe8, 0xe0, 0x22, 0xe9, 0x2b, 0xd0, 0xc8, 0xd0,
- 0xf3, 0x1d, 0x22, 0xe8, 0x52, 0x0f, 0xd3, 0x5d, 0xea, 0x51, 0xdb, 0xa0, 0xe8, 0x12, 0x4c, 0x10,
- 0xd7, 0xbc, 0xea, 0x39, 0x81, 0x2b, 0x53, 0x2a, 0x4e, 0xfd, 0xb5, 0xed, 0x2d, 0x01, 0xc7, 0x31,
- 0x05, 0xa7, 0x8e, 0x2c, 0x92, 0x13, 0x20, 0x75, 0x27, 0x0c, 0xe1, 0x38, 0xa6, 0x88, 0x17, 0x83,
- 0x91, 0xd2, 0xc5, 0x40, 0x87, 0x7a, 0x60, 0x76, 0xe4, 0x45, 0xf6, 0x35, 0x49, 0x50, 0xbf, 0xb3,
- 0xb5, 0xf1, 0xb4, 0xd7, 0xbc, 0x50, 0xf6, 0x7e, 0xca, 0x8e, 0x5c, 0xea, 0x6b, 0x77, 0xb6, 0x36,
- 0x30, 0x67, 0x56, 0xff, 0xa2, 0xc0, 0x42, 0xe6, 0x90, 0x27, 0xd0, 0x02, 0xb6, 0xb3, 0x2d, 0xe0,
- 0x95, 0x21, 0x42, 0x56, 0x52, 0xfb, 0x0f, 0x14, 0x38, 0x37, 0xb0, 0x2c, 0x2a, 0xac, 0x59, 0xdf,
- 0x81, 0xb9, 0xc0, 0xce, 0x2e, 0xbf, 0x61, 0xa5, 0x2f, 0xf2, 0x15, 0xeb, 0x4e, 0x16, 0x85, 0xf3,
- 0xb4, 0xfc, 0xba, 0xb5, 0x70, 0x2c, 0x65, 0xd1, 0x7b, 0xf9, 0x97, 0xe7, 0x8b, 0x95, 0xaf, 0xdc,
- 0x03, 0x9e, 0x9b, 0xb3, 0xcf, 0xc2, 0xb5, 0x4a, 0xcf, 0xc2, 0x9f, 0xd6, 0x60, 0xb1, 0x20, 0xfb,
- 0xd1, 0x87, 0x00, 0xc9, 0xd6, 0x55, 0x10, 0xec, 0x02, 0x23, 0x8f, 0x3d, 0x2a, 0xcd, 0x8a, 0xf7,
- 0xe0, 0x04, 0x9a, 0x92, 0x88, 0x7c, 0x98, 0xf2, 0xa8, 0x4f, 0xbd, 0x43, 0xda, 0x79, 0xd7, 0xf1,
- 0x64, 0xc8, 0xbf, 0x3d, 0x44, 0xc8, 0x8f, 0x55, 0x5d, 0xb2, 0xdc, 0xe1, 0x44, 0x30, 0x4e, 0x6b,
- 0x41, 0x6d, 0x38, 0xd3, 0xa1, 0x24, 0x65, 0xa6, 0x58, 0xd3, 0x68, 0x47, 0xbe, 0x21, 0x9d, 0x93,
- 0x02, 0xce, 0x6c, 0x14, 0x11, 0xe1, 0x62, 0x5e, 0xf5, 0x9f, 0x0a, 0x9c, 0xc9, 0x58, 0xf6, 0x1e,
- 0xed, 0xba, 0x16, 0x61, 0xf4, 0x04, 0x3a, 0xe7, 0xbd, 0x4c, 0xe7, 0x7c, 0x6b, 0x08, 0xf7, 0x45,
- 0x46, 0x96, 0xbe, 0x13, 0xfc, 0x43, 0x81, 0x17, 0x0a, 0x39, 0x4e, 0xa0, 0x13, 0xbc, 0x9f, 0xed,
- 0x04, 0xaf, 0x3f, 0xc7, 0xb9, 0x4a, 0x3a, 0xc2, 0xe3, 0xb2, 0x53, 0xb5, 0xc3, 0x0d, 0xeb, 0xff,
- 0x6f, 0xd4, 0xa9, 0x7f, 0x50, 0x60, 0x3a, 0xa2, 0xe4, 0x37, 0x86, 0x0a, 0x3d, 0x6d, 0x15, 0x40,
- 0xfe, 0x40, 0x16, 0xbd, 0x9f, 0xd5, 0x13, 0xbb, 0xaf, 0xc6, 0x18, 0x9c, 0xa2, 0x42, 0xd7, 0x00,
- 0x45, 0x16, 0xb6, 0x2d, 0xb1, 0xfb, 0xf3, 0x1b, 0x58, 0x5d, 0xf0, 0x2e, 0x4b, 0x5e, 0x84, 0x8f,
- 0x51, 0xe0, 0x02, 0x2e, 0xf5, 0xaf, 0x4a, 0xb2, 0x64, 0x08, 0xf0, 0x97, 0xd5, 0xf3, 0xc2, 0xb8,
- 0x52, 0xcf, 0xa7, 0x87, 0xa4, 0xa0, 0xfc, 0xd2, 0x0e, 0x49, 0x61, 0x5d, 0x49, 0x49, 0x3c, 0xac,
- 0xe7, 0x4e, 0x21, 0x4a, 0xa1, 0xea, 0x65, 0xee, 0xba, 0xbc, 0xba, 0x86, 0x6e, 0x7d, 0xb9, 0x9a,
- 0x39, 0x3c, 0x4d, 0x0b, 0xaf, 0xb9, 0x97, 0x60, 0xc2, 0x76, 0x3a, 0x54, 0x3c, 0x66, 0xe4, 0x56,
- 0xa1, 0x9b, 0x12, 0x8e, 0x63, 0x8a, 0x63, 0x3f, 0xaf, 0x8e, 0x7c, 0x41, 0x3f, 0xaf, 0xf2, 0xf5,
- 0xcd, 0x92, 0x5b, 0xfd, 0xa8, 0x98, 0x0c, 0xc9, 0xfa, 0x26, 0xe1, 0x38, 0xa6, 0x40, 0xb7, 0x92,
- 0x59, 0x3e, 0x26, 0x62, 0xf2, 0xb5, 0x2a, 0xb3, 0xbc, 0x7c, 0x8c, 0xeb, 0xfa, 0xa3, 0x27, 0x8d,
- 0x53, 0x8f, 0x9f, 0x34, 0x4e, 0x7d, 0xf6, 0xa4, 0x71, 0xea, 0x41, 0xbf, 0xa1, 0x3c, 0xea, 0x37,
- 0x94, 0xc7, 0xfd, 0x86, 0xf2, 0x59, 0xbf, 0xa1, 0x7c, 0xde, 0x6f, 0x28, 0x9f, 0xfc, 0xbb, 0x71,
- 0xea, 0xfb, 0x2f, 0x0e, 0xfa, 0x2f, 0x82, 0xff, 0x05, 0x00, 0x00, 0xff, 0xff, 0x23, 0x3d, 0xa6,
- 0x20, 0x64, 0x20, 0x00, 0x00,
+ // 2030 bytes of a gzipped FileDescriptorProto
+ 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xd4, 0x19, 0xcd, 0x6f, 0x1c, 0x57,
+ 0xdd, 0xb3, 0xe3, 0xcf, 0xdf, 0xfa, 0x2b, 0x2f, 0xa4, 0x38, 0xa6, 0xec, 0x3a, 0x53, 0x04, 0x4e,
+ 0x9b, 0xee, 0x36, 0x4e, 0xd5, 0x16, 0xc2, 0x01, 0x8f, 0xed, 0x06, 0x47, 0x89, 0xe3, 0x3c, 0xb7,
+ 0x11, 0x81, 0x12, 0x78, 0x9e, 0x7d, 0xb6, 0x07, 0xcf, 0xce, 0x4c, 0xe7, 0xbd, 0x71, 0xea, 0x0b,
+ 0xaa, 0xe0, 0x1e, 0xf1, 0x0f, 0x20, 0x0e, 0x48, 0x48, 0x5c, 0x80, 0xff, 0x00, 0x24, 0x90, 0x88,
+ 0xe0, 0x12, 0x09, 0x0e, 0x3d, 0x2d, 0xcd, 0x22, 0xce, 0xdc, 0x73, 0x42, 0xef, 0xcd, 0x9b, 0xcf,
+ 0xdd, 0x71, 0xc6, 0x55, 0xb1, 0xd2, 0xdb, 0xce, 0xef, 0xfb, 0xfd, 0xbe, 0xdf, 0x5b, 0xb8, 0x72,
+ 0xf8, 0x0e, 0x6b, 0xd9, 0x5e, 0x9b, 0xf8, 0x76, 0x3b, 0xa0, 0xcc, 0x0b, 0x03, 0x8b, 0xb6, 0x8f,
+ 0xae, 0x12, 0xc7, 0x3f, 0x20, 0xd7, 0xda, 0xfb, 0xd4, 0xa5, 0x01, 0xe1, 0xb4, 0xd3, 0xf2, 0x03,
+ 0x8f, 0x7b, 0xe8, 0xe5, 0x88, 0xba, 0x45, 0x7c, 0xbb, 0x15, 0x53, 0xb7, 0x62, 0xea, 0xc5, 0xd7,
+ 0xf7, 0x6d, 0x7e, 0x10, 0xee, 0xb6, 0x2c, 0xaf, 0xdb, 0xde, 0xf7, 0xf6, 0xbd, 0xb6, 0x64, 0xda,
+ 0x0d, 0xf7, 0xe4, 0x97, 0xfc, 0x90, 0xbf, 0x22, 0x61, 0x8b, 0x46, 0x46, 0xb5, 0xe5, 0x05, 0x42,
+ 0x6d, 0x51, 0xe1, 0xe2, 0x9b, 0x29, 0x4d, 0x97, 0x58, 0x07, 0xb6, 0x4b, 0x83, 0xe3, 0xb6, 0x7f,
+ 0xb8, 0x9f, 0xb7, 0xf7, 0x34, 0x5c, 0xac, 0xdd, 0xa5, 0x9c, 0x0c, 0xd3, 0xd5, 0x2e, 0xe3, 0x0a,
+ 0x42, 0x97, 0xdb, 0xdd, 0x41, 0x35, 0x6f, 0x3d, 0x8f, 0x81, 0x59, 0x07, 0xb4, 0x4b, 0x8a, 0x7c,
+ 0xc6, 0xaf, 0x75, 0xb8, 0xb0, 0xea, 0x38, 0x9e, 0x25, 0x60, 0xeb, 0xf4, 0xc8, 0xb6, 0xe8, 0x0e,
+ 0x27, 0x3c, 0x64, 0xe8, 0xeb, 0x30, 0xde, 0x09, 0xec, 0x23, 0x1a, 0x2c, 0x68, 0x4b, 0xda, 0xf2,
+ 0x94, 0x39, 0xfb, 0xb8, 0xd7, 0x1c, 0xe9, 0xf7, 0x9a, 0xe3, 0xeb, 0x12, 0x8a, 0x15, 0x16, 0x2d,
+ 0xc1, 0xa8, 0xef, 0x79, 0xce, 0x42, 0x4d, 0x52, 0x4d, 0x2b, 0xaa, 0xd1, 0x6d, 0xcf, 0x73, 0xb0,
+ 0xc4, 0x48, 0x49, 0x52, 0xf2, 0x82, 0x5e, 0x90, 0x24, 0xa1, 0x58, 0x61, 0x91, 0x05, 0x60, 0x79,
+ 0x6e, 0xc7, 0xe6, 0xb6, 0xe7, 0xb2, 0x85, 0xd1, 0x25, 0x7d, 0xb9, 0xbe, 0xd2, 0x6e, 0xa5, 0x61,
+ 0x4e, 0x0e, 0xd6, 0xf2, 0x0f, 0xf7, 0x05, 0x80, 0xb5, 0x84, 0xff, 0x5a, 0x47, 0x57, 0x5b, 0x6b,
+ 0x31, 0x9f, 0x89, 0x94, 0x70, 0x48, 0x40, 0x0c, 0x67, 0xc4, 0xa2, 0x3b, 0x30, 0xda, 0x21, 0x9c,
+ 0x2c, 0x8c, 0x2d, 0x69, 0xcb, 0xf5, 0x95, 0xd7, 0x4b, 0xc5, 0x2b, 0xbf, 0xb5, 0x30, 0x79, 0xb8,
+ 0xf1, 0x11, 0xa7, 0x2e, 0x13, 0xc2, 0x93, 0xd3, 0xad, 0x13, 0x4e, 0xb0, 0x14, 0x84, 0x76, 0xa1,
+ 0xee, 0x52, 0xfe, 0xd0, 0x0b, 0x0e, 0x05, 0x70, 0x61, 0x5c, 0xca, 0xcd, 0x9a, 0x3d, 0x98, 0x9d,
+ 0xad, 0x2d, 0xc5, 0x20, 0xcf, 0x2d, 0xd8, 0xcc, 0xb9, 0x7e, 0xaf, 0x59, 0xdf, 0x4a, 0xe5, 0xe0,
+ 0xac, 0x50, 0xe3, 0xef, 0x1a, 0xcc, 0xab, 0x28, 0xd9, 0x9e, 0x8b, 0x29, 0x0b, 0x1d, 0x8e, 0x7e,
+ 0x04, 0x13, 0x91, 0xe3, 0x98, 0x8c, 0x50, 0x7d, 0xe5, 0xcd, 0x93, 0x95, 0x46, 0xda, 0x8a, 0x62,
+ 0xcc, 0x39, 0x75, 0xa6, 0x89, 0x08, 0xcf, 0x70, 0x2c, 0x15, 0xdd, 0x83, 0x69, 0xd7, 0xeb, 0xd0,
+ 0x1d, 0xea, 0x50, 0x8b, 0x7b, 0x81, 0x8c, 0x5e, 0x7d, 0x65, 0x29, 0xab, 0x45, 0xd4, 0x8a, 0xf0,
+ 0xff, 0x56, 0x86, 0xce, 0x9c, 0xef, 0xf7, 0x9a, 0xd3, 0x59, 0x08, 0xce, 0xc9, 0x31, 0x3e, 0xd5,
+ 0xa1, 0x6e, 0x12, 0x66, 0x5b, 0x91, 0x46, 0xf4, 0x53, 0x00, 0xc2, 0x79, 0x60, 0xef, 0x86, 0x5c,
+ 0x9e, 0x45, 0xc4, 0xfd, 0x9b, 0x27, 0x9f, 0x25, 0xc3, 0xde, 0x5a, 0x4d, 0x78, 0x37, 0x5c, 0x1e,
+ 0x1c, 0x9b, 0xaf, 0xc4, 0x19, 0x90, 0x22, 0x7e, 0xf6, 0xaf, 0xe6, 0xcc, 0xdd, 0x90, 0x38, 0xf6,
+ 0x9e, 0x4d, 0x3b, 0x5b, 0xa4, 0x4b, 0x71, 0x46, 0x23, 0x3a, 0x82, 0x49, 0x8b, 0xf8, 0xc4, 0xb2,
+ 0xf9, 0xf1, 0x42, 0x4d, 0x6a, 0x7f, 0xbb, 0xba, 0xf6, 0x35, 0xc5, 0x19, 0xe9, 0xbe, 0xa4, 0x74,
+ 0x4f, 0xc6, 0xe0, 0x41, 0xcd, 0x89, 0xae, 0x45, 0x07, 0xe6, 0x0a, 0xb6, 0xa3, 0x79, 0xd0, 0x0f,
+ 0xe9, 0x71, 0x54, 0x71, 0x58, 0xfc, 0x44, 0x6b, 0x30, 0x76, 0x44, 0x9c, 0x90, 0xca, 0xfa, 0xca,
+ 0x27, 0x6c, 0x79, 0x8c, 0x63, 0xa9, 0x38, 0xe2, 0xfd, 0x56, 0xed, 0x1d, 0x6d, 0xf1, 0x10, 0x66,
+ 0x72, 0xb6, 0x0e, 0xd1, 0xb5, 0x9e, 0xd7, 0xd5, 0x3a, 0xa9, 0xf6, 0x52, 0xe5, 0x77, 0x43, 0xe2,
+ 0x72, 0x9b, 0x1f, 0x67, 0x94, 0x19, 0x37, 0xe0, 0xdc, 0xda, 0xc6, 0x2d, 0xd5, 0x4f, 0x54, 0xdc,
+ 0xd1, 0x0a, 0x00, 0xfd, 0xc8, 0x0f, 0x28, 0x13, 0xb5, 0xa4, 0xba, 0x4a, 0x52, 0xae, 0x1b, 0x09,
+ 0x06, 0x67, 0xa8, 0x8c, 0x23, 0x50, 0x5d, 0x42, 0xf4, 0x19, 0x97, 0x74, 0xa9, 0xe2, 0x4b, 0x2a,
+ 0x51, 0xfa, 0x54, 0x62, 0xd0, 0x4d, 0x18, 0xdb, 0x15, 0x91, 0x51, 0xe6, 0x5f, 0xae, 0x1c, 0x44,
+ 0x73, 0xaa, 0xdf, 0x6b, 0x8e, 0x49, 0x00, 0x8e, 0x44, 0x18, 0x8f, 0x6a, 0xf0, 0xd5, 0x62, 0xc1,
+ 0xac, 0x79, 0xee, 0x9e, 0xbd, 0x1f, 0x06, 0xf2, 0x03, 0x7d, 0x07, 0xc6, 0x23, 0x91, 0xca, 0xa2,
+ 0xe5, 0xb8, 0xab, 0xed, 0x48, 0xe8, 0xb3, 0x5e, 0xf3, 0xa5, 0x22, 0x6b, 0x84, 0xc1, 0x8a, 0x0f,
+ 0x2d, 0xc3, 0x64, 0x40, 0x3f, 0x0c, 0x29, 0xe3, 0x4c, 0xe6, 0xdd, 0x94, 0x39, 0x2d, 0x52, 0x07,
+ 0x2b, 0x18, 0x4e, 0xb0, 0xe8, 0x63, 0x0d, 0xce, 0x47, 0x55, 0x99, 0xb3, 0x41, 0x55, 0xe4, 0xd5,
+ 0x2a, 0x39, 0x91, 0x63, 0x34, 0xbf, 0xa2, 0x8c, 0x3d, 0x3f, 0x04, 0x89, 0x87, 0xa9, 0x32, 0xfe,
+ 0xa3, 0xc1, 0x4b, 0xc3, 0x3b, 0x08, 0xda, 0x83, 0x89, 0x40, 0xfe, 0x8a, 0x8b, 0xf7, 0x7a, 0x15,
+ 0x83, 0xd4, 0x31, 0xcb, 0xfb, 0x51, 0xf4, 0xcd, 0x70, 0x2c, 0x1c, 0x59, 0x30, 0x6e, 0x49, 0x9b,
+ 0x54, 0x95, 0x5e, 0x3f, 0x5d, 0xbf, 0xcb, 0x7b, 0x20, 0x19, 0x42, 0x11, 0x18, 0x2b, 0xd1, 0xc6,
+ 0x6f, 0x35, 0x98, 0x2b, 0x54, 0x11, 0x6a, 0x80, 0x6e, 0xbb, 0x5c, 0xa6, 0x95, 0x1e, 0xc5, 0x68,
+ 0xd3, 0xe5, 0xf7, 0x44, 0xb2, 0x63, 0x81, 0x40, 0x97, 0x60, 0x74, 0x57, 0x8c, 0x40, 0x11, 0x8e,
+ 0x49, 0x73, 0xa6, 0xdf, 0x6b, 0x4e, 0x99, 0x9e, 0xe7, 0x44, 0x14, 0x12, 0x85, 0xbe, 0x01, 0xe3,
+ 0x8c, 0x07, 0xb6, 0xbb, 0xbf, 0x30, 0x2a, 0xb3, 0x45, 0xf6, 0xfb, 0x1d, 0x09, 0x89, 0xc8, 0x14,
+ 0x1a, 0xbd, 0x0a, 0x13, 0x47, 0x34, 0x90, 0x15, 0x32, 0x26, 0x29, 0x65, 0x37, 0xbd, 0x17, 0x81,
+ 0x22, 0xd2, 0x98, 0xc0, 0xf8, 0x7d, 0x0d, 0xea, 0x2a, 0x80, 0x0e, 0xb1, 0xbb, 0xe8, 0x7e, 0x26,
+ 0xa1, 0xa2, 0x48, 0xbc, 0x76, 0x8a, 0x48, 0x98, 0xf3, 0x71, 0xf3, 0x1a, 0x92, 0x81, 0x14, 0xea,
+ 0x96, 0xe7, 0x32, 0x1e, 0x10, 0xdb, 0x55, 0xe9, 0x9a, 0x6f, 0x10, 0x27, 0x25, 0x9e, 0x62, 0x33,
+ 0xcf, 0x2b, 0x05, 0xf5, 0x14, 0xc6, 0x70, 0x56, 0x2e, 0x7a, 0x90, 0x84, 0x58, 0x97, 0x1a, 0xde,
+ 0xaa, 0xa4, 0x41, 0x1c, 0xbe, 0x5a, 0x74, 0xff, 0xaa, 0xc1, 0x42, 0x19, 0x53, 0xae, 0x1e, 0xb5,
+ 0xcf, 0x54, 0x8f, 0xb5, 0xb3, 0xab, 0xc7, 0x3f, 0x69, 0x99, 0xd8, 0x33, 0x86, 0x7e, 0x0c, 0x93,
+ 0x62, 0x19, 0x92, 0xbb, 0x4d, 0xb4, 0x0e, 0xbc, 0x51, 0x6d, 0x75, 0xba, 0xb3, 0xfb, 0x13, 0x6a,
+ 0xf1, 0xdb, 0x94, 0x93, 0xb4, 0x19, 0xa7, 0x30, 0x9c, 0x48, 0x15, 0x9b, 0x13, 0xf3, 0xa9, 0x75,
+ 0x9a, 0x41, 0x24, 0x4d, 0xdb, 0xf1, 0xa9, 0x95, 0xf6, 0x6b, 0xf1, 0x85, 0xa5, 0x20, 0xe3, 0x97,
+ 0xd9, 0x60, 0x30, 0x96, 0x0f, 0x46, 0x99, 0x8b, 0xb5, 0xb3, 0x73, 0xf1, 0x1f, 0x93, 0x56, 0x20,
+ 0xed, 0xbb, 0x65, 0x33, 0x8e, 0x3e, 0x18, 0x70, 0x73, 0xab, 0x9a, 0x9b, 0x05, 0xb7, 0x74, 0x72,
+ 0x52, 0x65, 0x31, 0x24, 0xe3, 0xe2, 0x2d, 0x18, 0xb3, 0x39, 0xed, 0xc6, 0xf5, 0x75, 0xb9, 0xb2,
+ 0x8f, 0xcd, 0x19, 0x25, 0x75, 0x6c, 0x53, 0xf0, 0xe3, 0x48, 0x8c, 0xf1, 0x24, 0x7f, 0x02, 0xe1,
+ 0x7b, 0xf4, 0x43, 0x98, 0x62, 0x6a, 0x22, 0xc7, 0x5d, 0xe2, 0x4a, 0x15, 0x3d, 0xc9, 0x7a, 0x77,
+ 0x4e, 0xa9, 0x9a, 0x8a, 0x21, 0x0c, 0xa7, 0x12, 0x33, 0x15, 0x5c, 0x3b, 0x55, 0x05, 0x17, 0xe2,
+ 0x5f, 0x5a, 0xc1, 0x01, 0x0c, 0x0b, 0x20, 0xfa, 0x01, 0x8c, 0x7b, 0x3e, 0xf9, 0x30, 0xa4, 0x2a,
+ 0x2a, 0xcf, 0xd9, 0xe0, 0xee, 0x48, 0xda, 0x61, 0x69, 0x02, 0x42, 0x67, 0x84, 0xc6, 0x4a, 0xa4,
+ 0xf1, 0x48, 0x83, 0xf9, 0x62, 0x33, 0x3b, 0x45, 0xb7, 0xd8, 0x86, 0xd9, 0x2e, 0xe1, 0xd6, 0x41,
+ 0x32, 0x50, 0xd4, 0x5d, 0x69, 0xb9, 0xdf, 0x6b, 0xce, 0xde, 0xce, 0x61, 0x9e, 0xf5, 0x9a, 0xe8,
+ 0xdd, 0xd0, 0x71, 0x8e, 0xf3, 0x3b, 0x63, 0x81, 0xdf, 0xf8, 0xb9, 0x0e, 0x33, 0xb9, 0xde, 0x5d,
+ 0x61, 0x3b, 0x5a, 0x85, 0xb9, 0x4e, 0xea, 0x6c, 0x81, 0x50, 0x66, 0x7c, 0x59, 0x11, 0x67, 0x33,
+ 0x45, 0xf2, 0x15, 0xe9, 0xf3, 0xa9, 0xa3, 0x7f, 0xee, 0xa9, 0x73, 0x0f, 0x66, 0x49, 0x32, 0xad,
+ 0x6f, 0x7b, 0x1d, 0xaa, 0x66, 0x65, 0x4b, 0x71, 0xcd, 0xae, 0xe6, 0xb0, 0xcf, 0x7a, 0xcd, 0x2f,
+ 0x15, 0x67, 0xbc, 0x80, 0xe3, 0x82, 0x14, 0xf4, 0x0a, 0x8c, 0x59, 0x5e, 0xe8, 0x72, 0x39, 0x50,
+ 0xf5, 0xb4, 0x54, 0xd6, 0x04, 0x10, 0x47, 0x38, 0x74, 0x15, 0xea, 0xa4, 0xd3, 0xb5, 0xdd, 0x55,
+ 0xcb, 0xa2, 0x8c, 0xc9, 0x6b, 0xdc, 0x64, 0x34, 0xa5, 0x57, 0x53, 0x30, 0xce, 0xd2, 0x18, 0xff,
+ 0xd5, 0xe2, 0x1d, 0xb1, 0x64, 0x97, 0x41, 0x97, 0xc5, 0x66, 0x24, 0x51, 0x2a, 0x30, 0x99, 0xe5,
+ 0x46, 0x82, 0x71, 0x8c, 0xcf, 0x5c, 0xb7, 0x6b, 0x95, 0xae, 0xdb, 0x7a, 0x85, 0xeb, 0xf6, 0xe8,
+ 0x89, 0xd7, 0xed, 0xc2, 0x89, 0xc7, 0x2a, 0x9c, 0xf8, 0x03, 0x98, 0x2d, 0xec, 0xf4, 0x37, 0x41,
+ 0xb7, 0xa8, 0xa3, 0x8a, 0xee, 0x39, 0xb7, 0xde, 0x81, 0x1b, 0x81, 0x39, 0xd1, 0xef, 0x35, 0xf5,
+ 0xb5, 0x8d, 0x5b, 0x58, 0x08, 0x31, 0x7e, 0xa7, 0xc1, 0xb9, 0x81, 0x9b, 0x31, 0xba, 0x0e, 0x33,
+ 0xb6, 0xcb, 0x69, 0xb0, 0x47, 0x2c, 0xba, 0x95, 0xa6, 0xf8, 0x05, 0x75, 0xaa, 0x99, 0xcd, 0x2c,
+ 0x12, 0xe7, 0x69, 0xd1, 0x45, 0xd0, 0x6d, 0x3f, 0xde, 0xae, 0xa5, 0xb6, 0xcd, 0x6d, 0x86, 0x05,
+ 0x4c, 0xd4, 0xc3, 0x01, 0x09, 0x3a, 0x0f, 0x49, 0x40, 0x57, 0x3b, 0x1d, 0x71, 0xdf, 0x50, 0x3e,
+ 0x4d, 0xea, 0xe1, 0xbb, 0x79, 0x34, 0x2e, 0xd2, 0x1b, 0xbf, 0xd1, 0xe0, 0x62, 0x69, 0x27, 0xa9,
+ 0xfc, 0x80, 0x42, 0x00, 0x7c, 0x12, 0x90, 0x2e, 0xe5, 0x34, 0x60, 0x43, 0xa6, 0x6b, 0x85, 0x77,
+ 0x89, 0x64, 0x70, 0x6f, 0x27, 0x82, 0x70, 0x46, 0xa8, 0xf1, 0xab, 0x1a, 0xcc, 0x60, 0x15, 0x8f,
+ 0x68, 0x55, 0xfc, 0xff, 0xaf, 0x0b, 0x77, 0x73, 0xeb, 0xc2, 0x73, 0x52, 0x23, 0x67, 0x5c, 0xd9,
+ 0xc2, 0x80, 0xee, 0x8b, 0x25, 0x9a, 0xf0, 0x90, 0x55, 0xbb, 0xf8, 0xe4, 0x85, 0x4a, 0xc6, 0x34,
+ 0x08, 0xd1, 0x37, 0x56, 0x02, 0x8d, 0xbe, 0x06, 0x8d, 0x1c, 0xbd, 0xe8, 0xf4, 0x61, 0x97, 0x06,
+ 0x98, 0xee, 0xd1, 0x80, 0xba, 0x16, 0x45, 0x57, 0x60, 0x92, 0xf8, 0xf6, 0x8d, 0xc0, 0x0b, 0x7d,
+ 0x15, 0xd1, 0x64, 0x94, 0xaf, 0x6e, 0x6f, 0x4a, 0x38, 0x4e, 0x28, 0x04, 0x75, 0x6c, 0x91, 0xca,
+ 0xab, 0xcc, 0x7a, 0x1d, 0xc1, 0x71, 0x42, 0x91, 0xb4, 0xef, 0xd1, 0xd2, 0xf6, 0x6d, 0x82, 0x1e,
+ 0xda, 0x1d, 0x75, 0x27, 0x78, 0x43, 0x11, 0xe8, 0xef, 0x6f, 0xae, 0x3f, 0xeb, 0x35, 0x2f, 0x95,
+ 0x3d, 0xfe, 0xf1, 0x63, 0x9f, 0xb2, 0xd6, 0xfb, 0x9b, 0xeb, 0x58, 0x30, 0x1b, 0x7f, 0xd6, 0xe0,
+ 0x5c, 0xee, 0x90, 0x67, 0xb0, 0xd2, 0x6c, 0xe7, 0x57, 0x9a, 0xd7, 0x4e, 0x11, 0xb2, 0x92, 0xa5,
+ 0xc6, 0x2e, 0x1c, 0x42, 0x6e, 0x35, 0xef, 0x15, 0x1f, 0xc3, 0x2e, 0x57, 0xbe, 0x39, 0x94, 0xbf,
+ 0x80, 0x19, 0x7f, 0xab, 0xc1, 0xf9, 0x21, 0x59, 0x84, 0x1e, 0x00, 0xa4, 0x33, 0x66, 0x88, 0xd3,
+ 0x86, 0x28, 0x1c, 0xb8, 0xe7, 0xce, 0xca, 0x27, 0xaa, 0x14, 0x9a, 0x91, 0x88, 0x18, 0xd4, 0x03,
+ 0xca, 0x68, 0x70, 0x44, 0x3b, 0xef, 0x7a, 0x81, 0x72, 0xdd, 0xb7, 0x4f, 0xe1, 0xba, 0x81, 0xec,
+ 0x4d, 0xef, 0x5e, 0x38, 0x15, 0x8c, 0xb3, 0x5a, 0xd0, 0x83, 0xd4, 0x85, 0xd1, 0xdb, 0xeb, 0xb5,
+ 0x4a, 0x27, 0xca, 0x3f, 0x1b, 0x9f, 0xe0, 0xcc, 0x7f, 0x6a, 0x70, 0x21, 0x67, 0xe4, 0x7b, 0xb4,
+ 0xeb, 0x3b, 0x84, 0xd3, 0x33, 0x68, 0x46, 0xf7, 0x73, 0xcd, 0xe8, 0xed, 0x53, 0x78, 0x32, 0x36,
+ 0xb2, 0xf4, 0x16, 0xf3, 0x0f, 0x0d, 0x2e, 0x0e, 0xe5, 0x38, 0x83, 0xe2, 0xfa, 0x5e, 0xbe, 0xb8,
+ 0xae, 0x7d, 0x86, 0x73, 0x95, 0xdf, 0x1c, 0x2e, 0x96, 0xfa, 0xe1, 0x0b, 0x39, 0x3d, 0x8c, 0x3f,
+ 0x68, 0x30, 0x1d, 0x53, 0x8a, 0x75, 0xa9, 0xc2, 0xce, 0xbc, 0x02, 0xa0, 0xfe, 0x30, 0x89, 0x6f,
+ 0xf7, 0x7a, 0x6a, 0xf7, 0x8d, 0x04, 0x83, 0x33, 0x54, 0xe8, 0x26, 0xa0, 0xd8, 0xc2, 0x1d, 0x47,
+ 0x2e, 0x05, 0x62, 0xf5, 0xd4, 0x25, 0xef, 0xa2, 0xe2, 0x45, 0x78, 0x80, 0x02, 0x0f, 0xe1, 0x32,
+ 0xfe, 0xa2, 0xa5, 0x73, 0x5b, 0x82, 0x5f, 0x54, 0xcf, 0x4b, 0xe3, 0x4a, 0x3d, 0x9f, 0x9d, 0x3b,
+ 0x92, 0xf2, 0x85, 0x9d, 0x3b, 0xd2, 0xba, 0x92, 0x92, 0x78, 0xa4, 0x17, 0x4e, 0x21, 0x4b, 0xa1,
+ 0xea, 0x96, 0x77, 0x2b, 0xf3, 0x37, 0x59, 0x7d, 0xe5, 0xd5, 0x6a, 0xe6, 0x88, 0x34, 0x1d, 0xba,
+ 0xe3, 0x5f, 0x81, 0x49, 0xd7, 0xeb, 0x44, 0xfb, 0x70, 0x61, 0xbb, 0xd8, 0x52, 0x70, 0x9c, 0x50,
+ 0x0c, 0xfc, 0x91, 0x33, 0xfa, 0xf9, 0xfc, 0x91, 0x23, 0x37, 0x22, 0xc7, 0x11, 0x04, 0xf1, 0xf5,
+ 0x21, 0xdd, 0x88, 0x14, 0x1c, 0x27, 0x14, 0xe8, 0x4e, 0x3a, 0x5f, 0xc6, 0x65, 0x4c, 0xbe, 0x56,
+ 0x65, 0x44, 0x97, 0x0f, 0x14, 0xd3, 0x7c, 0xfc, 0xb4, 0x31, 0xf2, 0xe4, 0x69, 0x63, 0xe4, 0x93,
+ 0xa7, 0x8d, 0x91, 0x8f, 0xfb, 0x0d, 0xed, 0x71, 0xbf, 0xa1, 0x3d, 0xe9, 0x37, 0xb4, 0x4f, 0xfa,
+ 0x0d, 0xed, 0xd3, 0x7e, 0x43, 0xfb, 0xc5, 0xbf, 0x1b, 0x23, 0xdf, 0x7f, 0xf9, 0xa4, 0x7f, 0x95,
+ 0xff, 0x17, 0x00, 0x00, 0xff, 0xff, 0xbd, 0x60, 0x85, 0x64, 0x74, 0x1e, 0x00, 0x00,
+}
+
+func (m *AllocatedDeviceStatus) Marshal() (dAtA []byte, err error) {
+ size := m.Size()
+ dAtA = make([]byte, size)
+ n, err := m.MarshalToSizedBuffer(dAtA[:size])
+ if err != nil {
+ return nil, err
+ }
+ return dAtA[:n], nil
+}
+
+func (m *AllocatedDeviceStatus) MarshalTo(dAtA []byte) (int, error) {
+ size := m.Size()
+ return m.MarshalToSizedBuffer(dAtA[:size])
+}
+
+func (m *AllocatedDeviceStatus) MarshalToSizedBuffer(dAtA []byte) (int, error) {
+ i := len(dAtA)
+ _ = i
+ var l int
+ _ = l
+ if m.NetworkData != nil {
+ {
+ size, err := m.NetworkData.MarshalToSizedBuffer(dAtA[:i])
+ if err != nil {
+ return 0, err
+ }
+ i -= size
+ i = encodeVarintGenerated(dAtA, i, uint64(size))
+ }
+ i--
+ dAtA[i] = 0x32
+ }
+ {
+ size, err := m.Data.MarshalToSizedBuffer(dAtA[:i])
+ if err != nil {
+ return 0, err
+ }
+ i -= size
+ i = encodeVarintGenerated(dAtA, i, uint64(size))
+ }
+ i--
+ dAtA[i] = 0x2a
+ if len(m.Conditions) > 0 {
+ for iNdEx := len(m.Conditions) - 1; iNdEx >= 0; iNdEx-- {
+ {
+ size, err := m.Conditions[iNdEx].MarshalToSizedBuffer(dAtA[:i])
+ if err != nil {
+ return 0, err
+ }
+ i -= size
+ i = encodeVarintGenerated(dAtA, i, uint64(size))
+ }
+ i--
+ dAtA[i] = 0x22
+ }
+ }
+ i -= len(m.Device)
+ copy(dAtA[i:], m.Device)
+ i = encodeVarintGenerated(dAtA, i, uint64(len(m.Device)))
+ i--
+ dAtA[i] = 0x1a
+ i -= len(m.Pool)
+ copy(dAtA[i:], m.Pool)
+ i = encodeVarintGenerated(dAtA, i, uint64(len(m.Pool)))
+ i--
+ dAtA[i] = 0x12
+ i -= len(m.Driver)
+ copy(dAtA[i:], m.Driver)
+ i = encodeVarintGenerated(dAtA, i, uint64(len(m.Driver)))
+ i--
+ dAtA[i] = 0xa
+ return len(dAtA) - i, nil
}
func (m *AllocationResult) Marshal() (dAtA []byte, err error) {
@@ -1256,11 +1240,6 @@ func (m *AllocationResult) MarshalToSizedBuffer(dAtA []byte) (int, error) {
_ = i
var l int
_ = l
- i -= len(m.Controller)
- copy(dAtA[i:], m.Controller)
- i = encodeVarintGenerated(dAtA, i, uint64(len(m.Controller)))
- i--
- dAtA[i] = 0x22
if m.NodeSelector != nil {
{
size, err := m.NodeSelector.MarshalToSizedBuffer(dAtA[:i])
@@ -1835,18 +1814,6 @@ func (m *DeviceClassSpec) MarshalToSizedBuffer(dAtA []byte) (int, error) {
_ = i
var l int
_ = l
- if m.SuitableNodes != nil {
- {
- size, err := m.SuitableNodes.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintGenerated(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x1a
- }
if len(m.Config) > 0 {
for iNdEx := len(m.Config) - 1; iNdEx >= 0; iNdEx-- {
{
@@ -1972,14 +1939,16 @@ func (m *DeviceRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) {
_ = i
var l int
_ = l
- i--
- if m.AdminAccess {
- dAtA[i] = 1
- } else {
- dAtA[i] = 0
+ if m.AdminAccess != nil {
+ i--
+ if *m.AdminAccess {
+ dAtA[i] = 1
+ } else {
+ dAtA[i] = 0
+ }
+ i--
+ dAtA[i] = 0x30
}
- i--
- dAtA[i] = 0x30
i = encodeVarintGenerated(dAtA, i, uint64(m.Count))
i--
dAtA[i] = 0x28
@@ -2035,6 +2004,16 @@ func (m *DeviceRequestAllocationResult) MarshalToSizedBuffer(dAtA []byte) (int,
_ = i
var l int
_ = l
+ if m.AdminAccess != nil {
+ i--
+ if *m.AdminAccess {
+ dAtA[i] = 1
+ } else {
+ dAtA[i] = 0
+ }
+ i--
+ dAtA[i] = 0x28
+ }
i -= len(m.Device)
copy(dAtA[i:], m.Device)
i = encodeVarintGenerated(dAtA, i, uint64(len(m.Device)))
@@ -2093,7 +2072,7 @@ func (m *DeviceSelector) MarshalToSizedBuffer(dAtA []byte) (int, error) {
return len(dAtA) - i, nil
}
-func (m *OpaqueDeviceConfiguration) Marshal() (dAtA []byte, err error) {
+func (m *NetworkDeviceData) Marshal() (dAtA []byte, err error) {
size := m.Size()
dAtA = make([]byte, size)
n, err := m.MarshalToSizedBuffer(dAtA[:size])
@@ -2103,88 +2082,39 @@ func (m *OpaqueDeviceConfiguration) Marshal() (dAtA []byte, err error) {
return dAtA[:n], nil
}
-func (m *OpaqueDeviceConfiguration) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
-}
-
-func (m *OpaqueDeviceConfiguration) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- _ = i
- var l int
- _ = l
- {
- size, err := m.Parameters.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintGenerated(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x12
- i -= len(m.Driver)
- copy(dAtA[i:], m.Driver)
- i = encodeVarintGenerated(dAtA, i, uint64(len(m.Driver)))
- i--
- dAtA[i] = 0xa
- return len(dAtA) - i, nil
-}
-
-func (m *PodSchedulingContext) Marshal() (dAtA []byte, err error) {
- size := m.Size()
- dAtA = make([]byte, size)
- n, err := m.MarshalToSizedBuffer(dAtA[:size])
- if err != nil {
- return nil, err
- }
- return dAtA[:n], nil
-}
-
-func (m *PodSchedulingContext) MarshalTo(dAtA []byte) (int, error) {
+func (m *NetworkDeviceData) MarshalTo(dAtA []byte) (int, error) {
size := m.Size()
return m.MarshalToSizedBuffer(dAtA[:size])
}
-func (m *PodSchedulingContext) MarshalToSizedBuffer(dAtA []byte) (int, error) {
+func (m *NetworkDeviceData) MarshalToSizedBuffer(dAtA []byte) (int, error) {
i := len(dAtA)
_ = i
var l int
_ = l
- {
- size, err := m.Status.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintGenerated(dAtA, i, uint64(size))
- }
+ i -= len(m.HardwareAddress)
+ copy(dAtA[i:], m.HardwareAddress)
+ i = encodeVarintGenerated(dAtA, i, uint64(len(m.HardwareAddress)))
i--
dAtA[i] = 0x1a
- {
- size, err := m.Spec.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintGenerated(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x12
- {
- size, err := m.ObjectMeta.MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
+ if len(m.IPs) > 0 {
+ for iNdEx := len(m.IPs) - 1; iNdEx >= 0; iNdEx-- {
+ i -= len(m.IPs[iNdEx])
+ copy(dAtA[i:], m.IPs[iNdEx])
+ i = encodeVarintGenerated(dAtA, i, uint64(len(m.IPs[iNdEx])))
+ i--
+ dAtA[i] = 0x12
}
- i -= size
- i = encodeVarintGenerated(dAtA, i, uint64(size))
}
+ i -= len(m.InterfaceName)
+ copy(dAtA[i:], m.InterfaceName)
+ i = encodeVarintGenerated(dAtA, i, uint64(len(m.InterfaceName)))
i--
dAtA[i] = 0xa
return len(dAtA) - i, nil
}
-func (m *PodSchedulingContextList) Marshal() (dAtA []byte, err error) {
+func (m *OpaqueDeviceConfiguration) Marshal() (dAtA []byte, err error) {
size := m.Size()
dAtA = make([]byte, size)
n, err := m.MarshalToSizedBuffer(dAtA[:size])
@@ -2194,32 +2124,18 @@ func (m *PodSchedulingContextList) Marshal() (dAtA []byte, err error) {
return dAtA[:n], nil
}
-func (m *PodSchedulingContextList) MarshalTo(dAtA []byte) (int, error) {
+func (m *OpaqueDeviceConfiguration) MarshalTo(dAtA []byte) (int, error) {
size := m.Size()
return m.MarshalToSizedBuffer(dAtA[:size])
}
-func (m *PodSchedulingContextList) MarshalToSizedBuffer(dAtA []byte) (int, error) {
+func (m *OpaqueDeviceConfiguration) MarshalToSizedBuffer(dAtA []byte) (int, error) {
i := len(dAtA)
_ = i
var l int
_ = l
- if len(m.Items) > 0 {
- for iNdEx := len(m.Items) - 1; iNdEx >= 0; iNdEx-- {
- {
- size, err := m.Items[iNdEx].MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintGenerated(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0x12
- }
- }
{
- size, err := m.ListMeta.MarshalToSizedBuffer(dAtA[:i])
+ size, err := m.Parameters.MarshalToSizedBuffer(dAtA[:i])
if err != nil {
return 0, err
}
@@ -2227,84 +2143,15 @@ func (m *PodSchedulingContextList) MarshalToSizedBuffer(dAtA []byte) (int, error
i = encodeVarintGenerated(dAtA, i, uint64(size))
}
i--
- dAtA[i] = 0xa
- return len(dAtA) - i, nil
-}
-
-func (m *PodSchedulingContextSpec) Marshal() (dAtA []byte, err error) {
- size := m.Size()
- dAtA = make([]byte, size)
- n, err := m.MarshalToSizedBuffer(dAtA[:size])
- if err != nil {
- return nil, err
- }
- return dAtA[:n], nil
-}
-
-func (m *PodSchedulingContextSpec) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
-}
-
-func (m *PodSchedulingContextSpec) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- _ = i
- var l int
- _ = l
- if len(m.PotentialNodes) > 0 {
- for iNdEx := len(m.PotentialNodes) - 1; iNdEx >= 0; iNdEx-- {
- i -= len(m.PotentialNodes[iNdEx])
- copy(dAtA[i:], m.PotentialNodes[iNdEx])
- i = encodeVarintGenerated(dAtA, i, uint64(len(m.PotentialNodes[iNdEx])))
- i--
- dAtA[i] = 0x12
- }
- }
- i -= len(m.SelectedNode)
- copy(dAtA[i:], m.SelectedNode)
- i = encodeVarintGenerated(dAtA, i, uint64(len(m.SelectedNode)))
+ dAtA[i] = 0x12
+ i -= len(m.Driver)
+ copy(dAtA[i:], m.Driver)
+ i = encodeVarintGenerated(dAtA, i, uint64(len(m.Driver)))
i--
dAtA[i] = 0xa
return len(dAtA) - i, nil
}
-func (m *PodSchedulingContextStatus) Marshal() (dAtA []byte, err error) {
- size := m.Size()
- dAtA = make([]byte, size)
- n, err := m.MarshalToSizedBuffer(dAtA[:size])
- if err != nil {
- return nil, err
- }
- return dAtA[:n], nil
-}
-
-func (m *PodSchedulingContextStatus) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
-}
-
-func (m *PodSchedulingContextStatus) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- _ = i
- var l int
- _ = l
- if len(m.ResourceClaims) > 0 {
- for iNdEx := len(m.ResourceClaims) - 1; iNdEx >= 0; iNdEx-- {
- {
- size, err := m.ResourceClaims[iNdEx].MarshalToSizedBuffer(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarintGenerated(dAtA, i, uint64(size))
- }
- i--
- dAtA[i] = 0xa
- }
- }
- return len(dAtA) - i, nil
-}
-
func (m *ResourceClaim) Marshal() (dAtA []byte, err error) {
size := m.Size()
dAtA = make([]byte, size)
@@ -2448,43 +2295,6 @@ func (m *ResourceClaimList) MarshalToSizedBuffer(dAtA []byte) (int, error) {
return len(dAtA) - i, nil
}
-func (m *ResourceClaimSchedulingStatus) Marshal() (dAtA []byte, err error) {
- size := m.Size()
- dAtA = make([]byte, size)
- n, err := m.MarshalToSizedBuffer(dAtA[:size])
- if err != nil {
- return nil, err
- }
- return dAtA[:n], nil
-}
-
-func (m *ResourceClaimSchedulingStatus) MarshalTo(dAtA []byte) (int, error) {
- size := m.Size()
- return m.MarshalToSizedBuffer(dAtA[:size])
-}
-
-func (m *ResourceClaimSchedulingStatus) MarshalToSizedBuffer(dAtA []byte) (int, error) {
- i := len(dAtA)
- _ = i
- var l int
- _ = l
- if len(m.UnsuitableNodes) > 0 {
- for iNdEx := len(m.UnsuitableNodes) - 1; iNdEx >= 0; iNdEx-- {
- i -= len(m.UnsuitableNodes[iNdEx])
- copy(dAtA[i:], m.UnsuitableNodes[iNdEx])
- i = encodeVarintGenerated(dAtA, i, uint64(len(m.UnsuitableNodes[iNdEx])))
- i--
- dAtA[i] = 0x12
- }
- }
- i -= len(m.Name)
- copy(dAtA[i:], m.Name)
- i = encodeVarintGenerated(dAtA, i, uint64(len(m.Name)))
- i--
- dAtA[i] = 0xa
- return len(dAtA) - i, nil
-}
-
func (m *ResourceClaimSpec) Marshal() (dAtA []byte, err error) {
size := m.Size()
dAtA = make([]byte, size)
@@ -2505,11 +2315,6 @@ func (m *ResourceClaimSpec) MarshalToSizedBuffer(dAtA []byte) (int, error) {
_ = i
var l int
_ = l
- i -= len(m.Controller)
- copy(dAtA[i:], m.Controller)
- i = encodeVarintGenerated(dAtA, i, uint64(len(m.Controller)))
- i--
- dAtA[i] = 0x12
{
size, err := m.Devices.MarshalToSizedBuffer(dAtA[:i])
if err != nil {
@@ -2543,14 +2348,20 @@ func (m *ResourceClaimStatus) MarshalToSizedBuffer(dAtA []byte) (int, error) {
_ = i
var l int
_ = l
- i--
- if m.DeallocationRequested {
- dAtA[i] = 1
- } else {
- dAtA[i] = 0
+ if len(m.Devices) > 0 {
+ for iNdEx := len(m.Devices) - 1; iNdEx >= 0; iNdEx-- {
+ {
+ size, err := m.Devices[iNdEx].MarshalToSizedBuffer(dAtA[:i])
+ if err != nil {
+ return 0, err
+ }
+ i -= size
+ i = encodeVarintGenerated(dAtA, i, uint64(size))
+ }
+ i--
+ dAtA[i] = 0x22
+ }
}
- i--
- dAtA[i] = 0x18
if len(m.ReservedFor) > 0 {
for iNdEx := len(m.ReservedFor) - 1; iNdEx >= 0; iNdEx-- {
{
@@ -2925,6 +2736,33 @@ func encodeVarintGenerated(dAtA []byte, offset int, v uint64) int {
dAtA[offset] = uint8(v)
return base
}
+func (m *AllocatedDeviceStatus) Size() (n int) {
+ if m == nil {
+ return 0
+ }
+ var l int
+ _ = l
+ l = len(m.Driver)
+ n += 1 + l + sovGenerated(uint64(l))
+ l = len(m.Pool)
+ n += 1 + l + sovGenerated(uint64(l))
+ l = len(m.Device)
+ n += 1 + l + sovGenerated(uint64(l))
+ if len(m.Conditions) > 0 {
+ for _, e := range m.Conditions {
+ l = e.Size()
+ n += 1 + l + sovGenerated(uint64(l))
+ }
+ }
+ l = m.Data.Size()
+ n += 1 + l + sovGenerated(uint64(l))
+ if m.NetworkData != nil {
+ l = m.NetworkData.Size()
+ n += 1 + l + sovGenerated(uint64(l))
+ }
+ return n
+}
+
func (m *AllocationResult) Size() (n int) {
if m == nil {
return 0
@@ -2937,8 +2775,6 @@ func (m *AllocationResult) Size() (n int) {
l = m.NodeSelector.Size()
n += 1 + l + sovGenerated(uint64(l))
}
- l = len(m.Controller)
- n += 1 + l + sovGenerated(uint64(l))
return n
}
@@ -3161,10 +2997,6 @@ func (m *DeviceClassSpec) Size() (n int) {
n += 1 + l + sovGenerated(uint64(l))
}
}
- if m.SuitableNodes != nil {
- l = m.SuitableNodes.Size()
- n += 1 + l + sovGenerated(uint64(l))
- }
return n
}
@@ -3219,7 +3051,9 @@ func (m *DeviceRequest) Size() (n int) {
l = len(m.AllocationMode)
n += 1 + l + sovGenerated(uint64(l))
n += 1 + sovGenerated(uint64(m.Count))
- n += 2
+ if m.AdminAccess != nil {
+ n += 2
+ }
return n
}
@@ -3237,6 +3071,9 @@ func (m *DeviceRequestAllocationResult) Size() (n int) {
n += 1 + l + sovGenerated(uint64(l))
l = len(m.Device)
n += 1 + l + sovGenerated(uint64(l))
+ if m.AdminAccess != nil {
+ n += 2
+ }
return n
}
@@ -3253,6 +3090,25 @@ func (m *DeviceSelector) Size() (n int) {
return n
}
+func (m *NetworkDeviceData) Size() (n int) {
+ if m == nil {
+ return 0
+ }
+ var l int
+ _ = l
+ l = len(m.InterfaceName)
+ n += 1 + l + sovGenerated(uint64(l))
+ if len(m.IPs) > 0 {
+ for _, s := range m.IPs {
+ l = len(s)
+ n += 1 + l + sovGenerated(uint64(l))
+ }
+ }
+ l = len(m.HardwareAddress)
+ n += 1 + l + sovGenerated(uint64(l))
+ return n
+}
+
func (m *OpaqueDeviceConfiguration) Size() (n int) {
if m == nil {
return 0
@@ -3266,7 +3122,7 @@ func (m *OpaqueDeviceConfiguration) Size() (n int) {
return n
}
-func (m *PodSchedulingContext) Size() (n int) {
+func (m *ResourceClaim) Size() (n int) {
if m == nil {
return 0
}
@@ -3281,7 +3137,24 @@ func (m *PodSchedulingContext) Size() (n int) {
return n
}
-func (m *PodSchedulingContextList) Size() (n int) {
+func (m *ResourceClaimConsumerReference) Size() (n int) {
+ if m == nil {
+ return 0
+ }
+ var l int
+ _ = l
+ l = len(m.APIGroup)
+ n += 1 + l + sovGenerated(uint64(l))
+ l = len(m.Resource)
+ n += 1 + l + sovGenerated(uint64(l))
+ l = len(m.Name)
+ n += 1 + l + sovGenerated(uint64(l))
+ l = len(m.UID)
+ n += 1 + l + sovGenerated(uint64(l))
+ return n
+}
+
+func (m *ResourceClaimList) Size() (n int) {
if m == nil {
return 0
}
@@ -3298,113 +3171,13 @@ func (m *PodSchedulingContextList) Size() (n int) {
return n
}
-func (m *PodSchedulingContextSpec) Size() (n int) {
+func (m *ResourceClaimSpec) Size() (n int) {
if m == nil {
return 0
}
var l int
_ = l
- l = len(m.SelectedNode)
- n += 1 + l + sovGenerated(uint64(l))
- if len(m.PotentialNodes) > 0 {
- for _, s := range m.PotentialNodes {
- l = len(s)
- n += 1 + l + sovGenerated(uint64(l))
- }
- }
- return n
-}
-
-func (m *PodSchedulingContextStatus) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- if len(m.ResourceClaims) > 0 {
- for _, e := range m.ResourceClaims {
- l = e.Size()
- n += 1 + l + sovGenerated(uint64(l))
- }
- }
- return n
-}
-
-func (m *ResourceClaim) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- l = m.ObjectMeta.Size()
- n += 1 + l + sovGenerated(uint64(l))
- l = m.Spec.Size()
- n += 1 + l + sovGenerated(uint64(l))
- l = m.Status.Size()
- n += 1 + l + sovGenerated(uint64(l))
- return n
-}
-
-func (m *ResourceClaimConsumerReference) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- l = len(m.APIGroup)
- n += 1 + l + sovGenerated(uint64(l))
- l = len(m.Resource)
- n += 1 + l + sovGenerated(uint64(l))
- l = len(m.Name)
- n += 1 + l + sovGenerated(uint64(l))
- l = len(m.UID)
- n += 1 + l + sovGenerated(uint64(l))
- return n
-}
-
-func (m *ResourceClaimList) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- l = m.ListMeta.Size()
- n += 1 + l + sovGenerated(uint64(l))
- if len(m.Items) > 0 {
- for _, e := range m.Items {
- l = e.Size()
- n += 1 + l + sovGenerated(uint64(l))
- }
- }
- return n
-}
-
-func (m *ResourceClaimSchedulingStatus) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- l = len(m.Name)
- n += 1 + l + sovGenerated(uint64(l))
- if len(m.UnsuitableNodes) > 0 {
- for _, s := range m.UnsuitableNodes {
- l = len(s)
- n += 1 + l + sovGenerated(uint64(l))
- }
- }
- return n
-}
-
-func (m *ResourceClaimSpec) Size() (n int) {
- if m == nil {
- return 0
- }
- var l int
- _ = l
- l = m.Devices.Size()
- n += 1 + l + sovGenerated(uint64(l))
- l = len(m.Controller)
+ l = m.Devices.Size()
n += 1 + l + sovGenerated(uint64(l))
return n
}
@@ -3425,7 +3198,12 @@ func (m *ResourceClaimStatus) Size() (n int) {
n += 1 + l + sovGenerated(uint64(l))
}
}
- n += 2
+ if len(m.Devices) > 0 {
+ for _, e := range m.Devices {
+ l = e.Size()
+ n += 1 + l + sovGenerated(uint64(l))
+ }
+ }
return n
}
@@ -3547,14 +3325,33 @@ func sovGenerated(x uint64) (n int) {
func sozGenerated(x uint64) (n int) {
return sovGenerated(uint64((x << 1) ^ uint64((int64(x) >> 63))))
}
+func (this *AllocatedDeviceStatus) String() string {
+ if this == nil {
+ return "nil"
+ }
+ repeatedStringForConditions := "[]Condition{"
+ for _, f := range this.Conditions {
+ repeatedStringForConditions += fmt.Sprintf("%v", f) + ","
+ }
+ repeatedStringForConditions += "}"
+ s := strings.Join([]string{`&AllocatedDeviceStatus{`,
+ `Driver:` + fmt.Sprintf("%v", this.Driver) + `,`,
+ `Pool:` + fmt.Sprintf("%v", this.Pool) + `,`,
+ `Device:` + fmt.Sprintf("%v", this.Device) + `,`,
+ `Conditions:` + repeatedStringForConditions + `,`,
+ `Data:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.Data), "RawExtension", "runtime.RawExtension", 1), `&`, ``, 1) + `,`,
+ `NetworkData:` + strings.Replace(this.NetworkData.String(), "NetworkDeviceData", "NetworkDeviceData", 1) + `,`,
+ `}`,
+ }, "")
+ return s
+}
func (this *AllocationResult) String() string {
if this == nil {
return "nil"
}
s := strings.Join([]string{`&AllocationResult{`,
`Devices:` + strings.Replace(strings.Replace(this.Devices.String(), "DeviceAllocationResult", "DeviceAllocationResult", 1), `&`, ``, 1) + `,`,
- `NodeSelector:` + strings.Replace(fmt.Sprintf("%v", this.NodeSelector), "NodeSelector", "v1.NodeSelector", 1) + `,`,
- `Controller:` + fmt.Sprintf("%v", this.Controller) + `,`,
+ `NodeSelector:` + strings.Replace(fmt.Sprintf("%v", this.NodeSelector), "NodeSelector", "v11.NodeSelector", 1) + `,`,
`}`,
}, "")
return s
@@ -3700,7 +3497,7 @@ func (this *DeviceClass) String() string {
return "nil"
}
s := strings.Join([]string{`&DeviceClass{`,
- `ObjectMeta:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.ObjectMeta), "ObjectMeta", "v11.ObjectMeta", 1), `&`, ``, 1) + `,`,
+ `ObjectMeta:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.ObjectMeta), "ObjectMeta", "v1.ObjectMeta", 1), `&`, ``, 1) + `,`,
`Spec:` + strings.Replace(strings.Replace(this.Spec.String(), "DeviceClassSpec", "DeviceClassSpec", 1), `&`, ``, 1) + `,`,
`}`,
}, "")
@@ -3726,7 +3523,7 @@ func (this *DeviceClassList) String() string {
}
repeatedStringForItems += "}"
s := strings.Join([]string{`&DeviceClassList{`,
- `ListMeta:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.ListMeta), "ListMeta", "v11.ListMeta", 1), `&`, ``, 1) + `,`,
+ `ListMeta:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.ListMeta), "ListMeta", "v1.ListMeta", 1), `&`, ``, 1) + `,`,
`Items:` + repeatedStringForItems + `,`,
`}`,
}, "")
@@ -3749,7 +3546,6 @@ func (this *DeviceClassSpec) String() string {
s := strings.Join([]string{`&DeviceClassSpec{`,
`Selectors:` + repeatedStringForSelectors + `,`,
`Config:` + repeatedStringForConfig + `,`,
- `SuitableNodes:` + strings.Replace(fmt.Sprintf("%v", this.SuitableNodes), "NodeSelector", "v1.NodeSelector", 1) + `,`,
`}`,
}, "")
return s
@@ -3790,7 +3586,7 @@ func (this *DeviceRequest) String() string {
`Selectors:` + repeatedStringForSelectors + `,`,
`AllocationMode:` + fmt.Sprintf("%v", this.AllocationMode) + `,`,
`Count:` + fmt.Sprintf("%v", this.Count) + `,`,
- `AdminAccess:` + fmt.Sprintf("%v", this.AdminAccess) + `,`,
+ `AdminAccess:` + valueToStringGenerated(this.AdminAccess) + `,`,
`}`,
}, "")
return s
@@ -3804,6 +3600,7 @@ func (this *DeviceRequestAllocationResult) String() string {
`Driver:` + fmt.Sprintf("%v", this.Driver) + `,`,
`Pool:` + fmt.Sprintf("%v", this.Pool) + `,`,
`Device:` + fmt.Sprintf("%v", this.Device) + `,`,
+ `AdminAccess:` + valueToStringGenerated(this.AdminAccess) + `,`,
`}`,
}, "")
return s
@@ -3818,67 +3615,25 @@ func (this *DeviceSelector) String() string {
}, "")
return s
}
-func (this *OpaqueDeviceConfiguration) String() string {
- if this == nil {
- return "nil"
- }
- s := strings.Join([]string{`&OpaqueDeviceConfiguration{`,
- `Driver:` + fmt.Sprintf("%v", this.Driver) + `,`,
- `Parameters:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.Parameters), "RawExtension", "runtime.RawExtension", 1), `&`, ``, 1) + `,`,
- `}`,
- }, "")
- return s
-}
-func (this *PodSchedulingContext) String() string {
- if this == nil {
- return "nil"
- }
- s := strings.Join([]string{`&PodSchedulingContext{`,
- `ObjectMeta:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.ObjectMeta), "ObjectMeta", "v11.ObjectMeta", 1), `&`, ``, 1) + `,`,
- `Spec:` + strings.Replace(strings.Replace(this.Spec.String(), "PodSchedulingContextSpec", "PodSchedulingContextSpec", 1), `&`, ``, 1) + `,`,
- `Status:` + strings.Replace(strings.Replace(this.Status.String(), "PodSchedulingContextStatus", "PodSchedulingContextStatus", 1), `&`, ``, 1) + `,`,
- `}`,
- }, "")
- return s
-}
-func (this *PodSchedulingContextList) String() string {
- if this == nil {
- return "nil"
- }
- repeatedStringForItems := "[]PodSchedulingContext{"
- for _, f := range this.Items {
- repeatedStringForItems += strings.Replace(strings.Replace(f.String(), "PodSchedulingContext", "PodSchedulingContext", 1), `&`, ``, 1) + ","
- }
- repeatedStringForItems += "}"
- s := strings.Join([]string{`&PodSchedulingContextList{`,
- `ListMeta:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.ListMeta), "ListMeta", "v11.ListMeta", 1), `&`, ``, 1) + `,`,
- `Items:` + repeatedStringForItems + `,`,
- `}`,
- }, "")
- return s
-}
-func (this *PodSchedulingContextSpec) String() string {
+func (this *NetworkDeviceData) String() string {
if this == nil {
return "nil"
}
- s := strings.Join([]string{`&PodSchedulingContextSpec{`,
- `SelectedNode:` + fmt.Sprintf("%v", this.SelectedNode) + `,`,
- `PotentialNodes:` + fmt.Sprintf("%v", this.PotentialNodes) + `,`,
+ s := strings.Join([]string{`&NetworkDeviceData{`,
+ `InterfaceName:` + fmt.Sprintf("%v", this.InterfaceName) + `,`,
+ `IPs:` + fmt.Sprintf("%v", this.IPs) + `,`,
+ `HardwareAddress:` + fmt.Sprintf("%v", this.HardwareAddress) + `,`,
`}`,
}, "")
return s
}
-func (this *PodSchedulingContextStatus) String() string {
+func (this *OpaqueDeviceConfiguration) String() string {
if this == nil {
return "nil"
}
- repeatedStringForResourceClaims := "[]ResourceClaimSchedulingStatus{"
- for _, f := range this.ResourceClaims {
- repeatedStringForResourceClaims += strings.Replace(strings.Replace(f.String(), "ResourceClaimSchedulingStatus", "ResourceClaimSchedulingStatus", 1), `&`, ``, 1) + ","
- }
- repeatedStringForResourceClaims += "}"
- s := strings.Join([]string{`&PodSchedulingContextStatus{`,
- `ResourceClaims:` + repeatedStringForResourceClaims + `,`,
+ s := strings.Join([]string{`&OpaqueDeviceConfiguration{`,
+ `Driver:` + fmt.Sprintf("%v", this.Driver) + `,`,
+ `Parameters:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.Parameters), "RawExtension", "runtime.RawExtension", 1), `&`, ``, 1) + `,`,
`}`,
}, "")
return s
@@ -3888,7 +3643,7 @@ func (this *ResourceClaim) String() string {
return "nil"
}
s := strings.Join([]string{`&ResourceClaim{`,
- `ObjectMeta:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.ObjectMeta), "ObjectMeta", "v11.ObjectMeta", 1), `&`, ``, 1) + `,`,
+ `ObjectMeta:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.ObjectMeta), "ObjectMeta", "v1.ObjectMeta", 1), `&`, ``, 1) + `,`,
`Spec:` + strings.Replace(strings.Replace(this.Spec.String(), "ResourceClaimSpec", "ResourceClaimSpec", 1), `&`, ``, 1) + `,`,
`Status:` + strings.Replace(strings.Replace(this.Status.String(), "ResourceClaimStatus", "ResourceClaimStatus", 1), `&`, ``, 1) + `,`,
`}`,
@@ -3918,30 +3673,18 @@ func (this *ResourceClaimList) String() string {
}
repeatedStringForItems += "}"
s := strings.Join([]string{`&ResourceClaimList{`,
- `ListMeta:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.ListMeta), "ListMeta", "v11.ListMeta", 1), `&`, ``, 1) + `,`,
+ `ListMeta:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.ListMeta), "ListMeta", "v1.ListMeta", 1), `&`, ``, 1) + `,`,
`Items:` + repeatedStringForItems + `,`,
`}`,
}, "")
return s
}
-func (this *ResourceClaimSchedulingStatus) String() string {
- if this == nil {
- return "nil"
- }
- s := strings.Join([]string{`&ResourceClaimSchedulingStatus{`,
- `Name:` + fmt.Sprintf("%v", this.Name) + `,`,
- `UnsuitableNodes:` + fmt.Sprintf("%v", this.UnsuitableNodes) + `,`,
- `}`,
- }, "")
- return s
-}
func (this *ResourceClaimSpec) String() string {
if this == nil {
return "nil"
}
s := strings.Join([]string{`&ResourceClaimSpec{`,
`Devices:` + strings.Replace(strings.Replace(this.Devices.String(), "DeviceClaim", "DeviceClaim", 1), `&`, ``, 1) + `,`,
- `Controller:` + fmt.Sprintf("%v", this.Controller) + `,`,
`}`,
}, "")
return s
@@ -3955,10 +3698,15 @@ func (this *ResourceClaimStatus) String() string {
repeatedStringForReservedFor += strings.Replace(strings.Replace(f.String(), "ResourceClaimConsumerReference", "ResourceClaimConsumerReference", 1), `&`, ``, 1) + ","
}
repeatedStringForReservedFor += "}"
+ repeatedStringForDevices := "[]AllocatedDeviceStatus{"
+ for _, f := range this.Devices {
+ repeatedStringForDevices += strings.Replace(strings.Replace(f.String(), "AllocatedDeviceStatus", "AllocatedDeviceStatus", 1), `&`, ``, 1) + ","
+ }
+ repeatedStringForDevices += "}"
s := strings.Join([]string{`&ResourceClaimStatus{`,
`Allocation:` + strings.Replace(this.Allocation.String(), "AllocationResult", "AllocationResult", 1) + `,`,
`ReservedFor:` + repeatedStringForReservedFor + `,`,
- `DeallocationRequested:` + fmt.Sprintf("%v", this.DeallocationRequested) + `,`,
+ `Devices:` + repeatedStringForDevices + `,`,
`}`,
}, "")
return s
@@ -3968,7 +3716,7 @@ func (this *ResourceClaimTemplate) String() string {
return "nil"
}
s := strings.Join([]string{`&ResourceClaimTemplate{`,
- `ObjectMeta:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.ObjectMeta), "ObjectMeta", "v11.ObjectMeta", 1), `&`, ``, 1) + `,`,
+ `ObjectMeta:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.ObjectMeta), "ObjectMeta", "v1.ObjectMeta", 1), `&`, ``, 1) + `,`,
`Spec:` + strings.Replace(strings.Replace(this.Spec.String(), "ResourceClaimTemplateSpec", "ResourceClaimTemplateSpec", 1), `&`, ``, 1) + `,`,
`}`,
}, "")
@@ -3984,7 +3732,7 @@ func (this *ResourceClaimTemplateList) String() string {
}
repeatedStringForItems += "}"
s := strings.Join([]string{`&ResourceClaimTemplateList{`,
- `ListMeta:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.ListMeta), "ListMeta", "v11.ListMeta", 1), `&`, ``, 1) + `,`,
+ `ListMeta:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.ListMeta), "ListMeta", "v1.ListMeta", 1), `&`, ``, 1) + `,`,
`Items:` + repeatedStringForItems + `,`,
`}`,
}, "")
@@ -3995,7 +3743,7 @@ func (this *ResourceClaimTemplateSpec) String() string {
return "nil"
}
s := strings.Join([]string{`&ResourceClaimTemplateSpec{`,
- `ObjectMeta:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.ObjectMeta), "ObjectMeta", "v11.ObjectMeta", 1), `&`, ``, 1) + `,`,
+ `ObjectMeta:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.ObjectMeta), "ObjectMeta", "v1.ObjectMeta", 1), `&`, ``, 1) + `,`,
`Spec:` + strings.Replace(strings.Replace(this.Spec.String(), "ResourceClaimSpec", "ResourceClaimSpec", 1), `&`, ``, 1) + `,`,
`}`,
}, "")
@@ -4018,7 +3766,7 @@ func (this *ResourceSlice) String() string {
return "nil"
}
s := strings.Join([]string{`&ResourceSlice{`,
- `ObjectMeta:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.ObjectMeta), "ObjectMeta", "v11.ObjectMeta", 1), `&`, ``, 1) + `,`,
+ `ObjectMeta:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.ObjectMeta), "ObjectMeta", "v1.ObjectMeta", 1), `&`, ``, 1) + `,`,
`Spec:` + strings.Replace(strings.Replace(this.Spec.String(), "ResourceSliceSpec", "ResourceSliceSpec", 1), `&`, ``, 1) + `,`,
`}`,
}, "")
@@ -4034,7 +3782,7 @@ func (this *ResourceSliceList) String() string {
}
repeatedStringForItems += "}"
s := strings.Join([]string{`&ResourceSliceList{`,
- `ListMeta:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.ListMeta), "ListMeta", "v11.ListMeta", 1), `&`, ``, 1) + `,`,
+ `ListMeta:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.ListMeta), "ListMeta", "v1.ListMeta", 1), `&`, ``, 1) + `,`,
`Items:` + repeatedStringForItems + `,`,
`}`,
}, "")
@@ -4053,7 +3801,7 @@ func (this *ResourceSliceSpec) String() string {
`Driver:` + fmt.Sprintf("%v", this.Driver) + `,`,
`Pool:` + strings.Replace(strings.Replace(this.Pool.String(), "ResourcePool", "ResourcePool", 1), `&`, ``, 1) + `,`,
`NodeName:` + fmt.Sprintf("%v", this.NodeName) + `,`,
- `NodeSelector:` + strings.Replace(fmt.Sprintf("%v", this.NodeSelector), "NodeSelector", "v1.NodeSelector", 1) + `,`,
+ `NodeSelector:` + strings.Replace(fmt.Sprintf("%v", this.NodeSelector), "NodeSelector", "v11.NodeSelector", 1) + `,`,
`AllNodes:` + fmt.Sprintf("%v", this.AllNodes) + `,`,
`Devices:` + repeatedStringForDevices + `,`,
`}`,
@@ -4068,7 +3816,7 @@ func valueToStringGenerated(v interface{}) string {
pv := reflect.Indirect(rv).Interface()
return fmt.Sprintf("*%v", pv)
}
-func (m *AllocationResult) Unmarshal(dAtA []byte) error {
+func (m *AllocatedDeviceStatus) Unmarshal(dAtA []byte) error {
l := len(dAtA)
iNdEx := 0
for iNdEx < l {
@@ -4091,17 +3839,17 @@ func (m *AllocationResult) Unmarshal(dAtA []byte) error {
fieldNum := int32(wire >> 3)
wireType := int(wire & 0x7)
if wireType == 4 {
- return fmt.Errorf("proto: AllocationResult: wiretype end group for non-group")
+ return fmt.Errorf("proto: AllocatedDeviceStatus: wiretype end group for non-group")
}
if fieldNum <= 0 {
- return fmt.Errorf("proto: AllocationResult: illegal tag %d (wire type %d)", fieldNum, wire)
+ return fmt.Errorf("proto: AllocatedDeviceStatus: illegal tag %d (wire type %d)", fieldNum, wire)
}
switch fieldNum {
case 1:
if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Devices", wireType)
+ return fmt.Errorf("proto: wrong wireType = %d for field Driver", wireType)
}
- var msglen int
+ var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowGenerated
@@ -4111,30 +3859,29 @@ func (m *AllocationResult) Unmarshal(dAtA []byte) error {
}
b := dAtA[iNdEx]
iNdEx++
- msglen |= int(b&0x7F) << shift
+ stringLen |= uint64(b&0x7F) << shift
if b < 0x80 {
break
}
}
- if msglen < 0 {
+ intStringLen := int(stringLen)
+ if intStringLen < 0 {
return ErrInvalidLengthGenerated
}
- postIndex := iNdEx + msglen
+ postIndex := iNdEx + intStringLen
if postIndex < 0 {
return ErrInvalidLengthGenerated
}
if postIndex > l {
return io.ErrUnexpectedEOF
}
- if err := m.Devices.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
+ m.Driver = string(dAtA[iNdEx:postIndex])
iNdEx = postIndex
- case 3:
+ case 2:
if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field NodeSelector", wireType)
+ return fmt.Errorf("proto: wrong wireType = %d for field Pool", wireType)
}
- var msglen int
+ var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowGenerated
@@ -4144,31 +3891,27 @@ func (m *AllocationResult) Unmarshal(dAtA []byte) error {
}
b := dAtA[iNdEx]
iNdEx++
- msglen |= int(b&0x7F) << shift
+ stringLen |= uint64(b&0x7F) << shift
if b < 0x80 {
break
}
}
- if msglen < 0 {
+ intStringLen := int(stringLen)
+ if intStringLen < 0 {
return ErrInvalidLengthGenerated
}
- postIndex := iNdEx + msglen
+ postIndex := iNdEx + intStringLen
if postIndex < 0 {
return ErrInvalidLengthGenerated
}
if postIndex > l {
return io.ErrUnexpectedEOF
}
- if m.NodeSelector == nil {
- m.NodeSelector = &v1.NodeSelector{}
- }
- if err := m.NodeSelector.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
+ m.Pool = string(dAtA[iNdEx:postIndex])
iNdEx = postIndex
- case 4:
+ case 3:
if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Controller", wireType)
+ return fmt.Errorf("proto: wrong wireType = %d for field Device", wireType)
}
var stringLen uint64
for shift := uint(0); ; shift += 7 {
@@ -4196,61 +3939,11 @@ func (m *AllocationResult) Unmarshal(dAtA []byte) error {
if postIndex > l {
return io.ErrUnexpectedEOF
}
- m.Controller = string(dAtA[iNdEx:postIndex])
+ m.Device = string(dAtA[iNdEx:postIndex])
iNdEx = postIndex
- default:
- iNdEx = preIndex
- skippy, err := skipGenerated(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthGenerated
- }
- if (iNdEx + skippy) > l {
- return io.ErrUnexpectedEOF
- }
- iNdEx += skippy
- }
- }
-
- if iNdEx > l {
- return io.ErrUnexpectedEOF
- }
- return nil
-}
-func (m *BasicDevice) Unmarshal(dAtA []byte) error {
- l := len(dAtA)
- iNdEx := 0
- for iNdEx < l {
- preIndex := iNdEx
- var wire uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- wire |= uint64(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- fieldNum := int32(wire >> 3)
- wireType := int(wire & 0x7)
- if wireType == 4 {
- return fmt.Errorf("proto: BasicDevice: wiretype end group for non-group")
- }
- if fieldNum <= 0 {
- return fmt.Errorf("proto: BasicDevice: illegal tag %d (wire type %d)", fieldNum, wire)
- }
- switch fieldNum {
- case 1:
+ case 4:
if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Attributes", wireType)
+ return fmt.Errorf("proto: wrong wireType = %d for field Conditions", wireType)
}
var msglen int
for shift := uint(0); ; shift += 7 {
@@ -4277,109 +3970,14 @@ func (m *BasicDevice) Unmarshal(dAtA []byte) error {
if postIndex > l {
return io.ErrUnexpectedEOF
}
- if m.Attributes == nil {
- m.Attributes = make(map[QualifiedName]DeviceAttribute)
+ m.Conditions = append(m.Conditions, v1.Condition{})
+ if err := m.Conditions[len(m.Conditions)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
+ return err
}
- var mapkey QualifiedName
- mapvalue := &DeviceAttribute{}
- for iNdEx < postIndex {
- entryPreIndex := iNdEx
- var wire uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- wire |= uint64(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- fieldNum := int32(wire >> 3)
- if fieldNum == 1 {
- var stringLenmapkey uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- stringLenmapkey |= uint64(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- intStringLenmapkey := int(stringLenmapkey)
- if intStringLenmapkey < 0 {
- return ErrInvalidLengthGenerated
- }
- postStringIndexmapkey := iNdEx + intStringLenmapkey
- if postStringIndexmapkey < 0 {
- return ErrInvalidLengthGenerated
- }
- if postStringIndexmapkey > l {
- return io.ErrUnexpectedEOF
- }
- mapkey = QualifiedName(dAtA[iNdEx:postStringIndexmapkey])
- iNdEx = postStringIndexmapkey
- } else if fieldNum == 2 {
- var mapmsglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- mapmsglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if mapmsglen < 0 {
- return ErrInvalidLengthGenerated
- }
- postmsgIndex := iNdEx + mapmsglen
- if postmsgIndex < 0 {
- return ErrInvalidLengthGenerated
- }
- if postmsgIndex > l {
- return io.ErrUnexpectedEOF
- }
- mapvalue = &DeviceAttribute{}
- if err := mapvalue.Unmarshal(dAtA[iNdEx:postmsgIndex]); err != nil {
- return err
- }
- iNdEx = postmsgIndex
- } else {
- iNdEx = entryPreIndex
- skippy, err := skipGenerated(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthGenerated
- }
- if (iNdEx + skippy) > postIndex {
- return io.ErrUnexpectedEOF
- }
- iNdEx += skippy
- }
- }
- m.Attributes[QualifiedName(mapkey)] = *mapvalue
iNdEx = postIndex
- case 2:
+ case 5:
if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Capacity", wireType)
+ return fmt.Errorf("proto: wrong wireType = %d for field Data", wireType)
}
var msglen int
for shift := uint(0); ; shift += 7 {
@@ -4406,161 +4004,15 @@ func (m *BasicDevice) Unmarshal(dAtA []byte) error {
if postIndex > l {
return io.ErrUnexpectedEOF
}
- if m.Capacity == nil {
- m.Capacity = make(map[QualifiedName]resource.Quantity)
- }
- var mapkey QualifiedName
- mapvalue := &resource.Quantity{}
- for iNdEx < postIndex {
- entryPreIndex := iNdEx
- var wire uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- wire |= uint64(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- fieldNum := int32(wire >> 3)
- if fieldNum == 1 {
- var stringLenmapkey uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- stringLenmapkey |= uint64(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- intStringLenmapkey := int(stringLenmapkey)
- if intStringLenmapkey < 0 {
- return ErrInvalidLengthGenerated
- }
- postStringIndexmapkey := iNdEx + intStringLenmapkey
- if postStringIndexmapkey < 0 {
- return ErrInvalidLengthGenerated
- }
- if postStringIndexmapkey > l {
- return io.ErrUnexpectedEOF
- }
- mapkey = QualifiedName(dAtA[iNdEx:postStringIndexmapkey])
- iNdEx = postStringIndexmapkey
- } else if fieldNum == 2 {
- var mapmsglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- mapmsglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if mapmsglen < 0 {
- return ErrInvalidLengthGenerated
- }
- postmsgIndex := iNdEx + mapmsglen
- if postmsgIndex < 0 {
- return ErrInvalidLengthGenerated
- }
- if postmsgIndex > l {
- return io.ErrUnexpectedEOF
- }
- mapvalue = &resource.Quantity{}
- if err := mapvalue.Unmarshal(dAtA[iNdEx:postmsgIndex]); err != nil {
- return err
- }
- iNdEx = postmsgIndex
- } else {
- iNdEx = entryPreIndex
- skippy, err := skipGenerated(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthGenerated
- }
- if (iNdEx + skippy) > postIndex {
- return io.ErrUnexpectedEOF
- }
- iNdEx += skippy
- }
- }
- m.Capacity[QualifiedName(mapkey)] = *mapvalue
- iNdEx = postIndex
- default:
- iNdEx = preIndex
- skippy, err := skipGenerated(dAtA[iNdEx:])
- if err != nil {
+ if err := m.Data.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
return err
}
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthGenerated
- }
- if (iNdEx + skippy) > l {
- return io.ErrUnexpectedEOF
- }
- iNdEx += skippy
- }
- }
-
- if iNdEx > l {
- return io.ErrUnexpectedEOF
- }
- return nil
-}
-func (m *CELDeviceSelector) Unmarshal(dAtA []byte) error {
- l := len(dAtA)
- iNdEx := 0
- for iNdEx < l {
- preIndex := iNdEx
- var wire uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- wire |= uint64(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- fieldNum := int32(wire >> 3)
- wireType := int(wire & 0x7)
- if wireType == 4 {
- return fmt.Errorf("proto: CELDeviceSelector: wiretype end group for non-group")
- }
- if fieldNum <= 0 {
- return fmt.Errorf("proto: CELDeviceSelector: illegal tag %d (wire type %d)", fieldNum, wire)
- }
- switch fieldNum {
- case 1:
+ iNdEx = postIndex
+ case 6:
if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Expression", wireType)
+ return fmt.Errorf("proto: wrong wireType = %d for field NetworkData", wireType)
}
- var stringLen uint64
+ var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowGenerated
@@ -4570,23 +4022,27 @@ func (m *CELDeviceSelector) Unmarshal(dAtA []byte) error {
}
b := dAtA[iNdEx]
iNdEx++
- stringLen |= uint64(b&0x7F) << shift
+ msglen |= int(b&0x7F) << shift
if b < 0x80 {
break
}
}
- intStringLen := int(stringLen)
- if intStringLen < 0 {
+ if msglen < 0 {
return ErrInvalidLengthGenerated
}
- postIndex := iNdEx + intStringLen
+ postIndex := iNdEx + msglen
if postIndex < 0 {
return ErrInvalidLengthGenerated
}
if postIndex > l {
return io.ErrUnexpectedEOF
}
- m.Expression = string(dAtA[iNdEx:postIndex])
+ if m.NetworkData == nil {
+ m.NetworkData = &NetworkDeviceData{}
+ }
+ if err := m.NetworkData.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
+ return err
+ }
iNdEx = postIndex
default:
iNdEx = preIndex
@@ -4609,7 +4065,7 @@ func (m *CELDeviceSelector) Unmarshal(dAtA []byte) error {
}
return nil
}
-func (m *Device) Unmarshal(dAtA []byte) error {
+func (m *AllocationResult) Unmarshal(dAtA []byte) error {
l := len(dAtA)
iNdEx := 0
for iNdEx < l {
@@ -4632,17 +4088,17 @@ func (m *Device) Unmarshal(dAtA []byte) error {
fieldNum := int32(wire >> 3)
wireType := int(wire & 0x7)
if wireType == 4 {
- return fmt.Errorf("proto: Device: wiretype end group for non-group")
+ return fmt.Errorf("proto: AllocationResult: wiretype end group for non-group")
}
if fieldNum <= 0 {
- return fmt.Errorf("proto: Device: illegal tag %d (wire type %d)", fieldNum, wire)
+ return fmt.Errorf("proto: AllocationResult: illegal tag %d (wire type %d)", fieldNum, wire)
}
switch fieldNum {
case 1:
if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Name", wireType)
+ return fmt.Errorf("proto: wrong wireType = %d for field Devices", wireType)
}
- var stringLen uint64
+ var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowGenerated
@@ -4652,27 +4108,28 @@ func (m *Device) Unmarshal(dAtA []byte) error {
}
b := dAtA[iNdEx]
iNdEx++
- stringLen |= uint64(b&0x7F) << shift
+ msglen |= int(b&0x7F) << shift
if b < 0x80 {
break
}
}
- intStringLen := int(stringLen)
- if intStringLen < 0 {
+ if msglen < 0 {
return ErrInvalidLengthGenerated
}
- postIndex := iNdEx + intStringLen
+ postIndex := iNdEx + msglen
if postIndex < 0 {
return ErrInvalidLengthGenerated
}
if postIndex > l {
return io.ErrUnexpectedEOF
}
- m.Name = string(dAtA[iNdEx:postIndex])
+ if err := m.Devices.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
+ return err
+ }
iNdEx = postIndex
- case 2:
+ case 3:
if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Basic", wireType)
+ return fmt.Errorf("proto: wrong wireType = %d for field NodeSelector", wireType)
}
var msglen int
for shift := uint(0); ; shift += 7 {
@@ -4699,10 +4156,10 @@ func (m *Device) Unmarshal(dAtA []byte) error {
if postIndex > l {
return io.ErrUnexpectedEOF
}
- if m.Basic == nil {
- m.Basic = &BasicDevice{}
+ if m.NodeSelector == nil {
+ m.NodeSelector = &v11.NodeSelector{}
}
- if err := m.Basic.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
+ if err := m.NodeSelector.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
return err
}
iNdEx = postIndex
@@ -4727,7 +4184,7 @@ func (m *Device) Unmarshal(dAtA []byte) error {
}
return nil
}
-func (m *DeviceAllocationConfiguration) Unmarshal(dAtA []byte) error {
+func (m *BasicDevice) Unmarshal(dAtA []byte) error {
l := len(dAtA)
iNdEx := 0
for iNdEx < l {
@@ -4750,17 +4207,17 @@ func (m *DeviceAllocationConfiguration) Unmarshal(dAtA []byte) error {
fieldNum := int32(wire >> 3)
wireType := int(wire & 0x7)
if wireType == 4 {
- return fmt.Errorf("proto: DeviceAllocationConfiguration: wiretype end group for non-group")
+ return fmt.Errorf("proto: BasicDevice: wiretype end group for non-group")
}
if fieldNum <= 0 {
- return fmt.Errorf("proto: DeviceAllocationConfiguration: illegal tag %d (wire type %d)", fieldNum, wire)
+ return fmt.Errorf("proto: BasicDevice: illegal tag %d (wire type %d)", fieldNum, wire)
}
switch fieldNum {
case 1:
if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Source", wireType)
+ return fmt.Errorf("proto: wrong wireType = %d for field Attributes", wireType)
}
- var stringLen uint64
+ var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowGenerated
@@ -4770,59 +4227,124 @@ func (m *DeviceAllocationConfiguration) Unmarshal(dAtA []byte) error {
}
b := dAtA[iNdEx]
iNdEx++
- stringLen |= uint64(b&0x7F) << shift
+ msglen |= int(b&0x7F) << shift
if b < 0x80 {
break
}
}
- intStringLen := int(stringLen)
- if intStringLen < 0 {
- return ErrInvalidLengthGenerated
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthGenerated
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.Source = AllocationConfigSource(dAtA[iNdEx:postIndex])
+ if msglen < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ postIndex := iNdEx + msglen
+ if postIndex < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ if m.Attributes == nil {
+ m.Attributes = make(map[QualifiedName]DeviceAttribute)
+ }
+ var mapkey QualifiedName
+ mapvalue := &DeviceAttribute{}
+ for iNdEx < postIndex {
+ entryPreIndex := iNdEx
+ var wire uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ wire |= uint64(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ fieldNum := int32(wire >> 3)
+ if fieldNum == 1 {
+ var stringLenmapkey uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ stringLenmapkey |= uint64(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ intStringLenmapkey := int(stringLenmapkey)
+ if intStringLenmapkey < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ postStringIndexmapkey := iNdEx + intStringLenmapkey
+ if postStringIndexmapkey < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if postStringIndexmapkey > l {
+ return io.ErrUnexpectedEOF
+ }
+ mapkey = QualifiedName(dAtA[iNdEx:postStringIndexmapkey])
+ iNdEx = postStringIndexmapkey
+ } else if fieldNum == 2 {
+ var mapmsglen int
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ mapmsglen |= int(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ if mapmsglen < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ postmsgIndex := iNdEx + mapmsglen
+ if postmsgIndex < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if postmsgIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ mapvalue = &DeviceAttribute{}
+ if err := mapvalue.Unmarshal(dAtA[iNdEx:postmsgIndex]); err != nil {
+ return err
+ }
+ iNdEx = postmsgIndex
+ } else {
+ iNdEx = entryPreIndex
+ skippy, err := skipGenerated(dAtA[iNdEx:])
+ if err != nil {
+ return err
+ }
+ if (skippy < 0) || (iNdEx+skippy) < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if (iNdEx + skippy) > postIndex {
+ return io.ErrUnexpectedEOF
+ }
+ iNdEx += skippy
+ }
+ }
+ m.Attributes[QualifiedName(mapkey)] = *mapvalue
iNdEx = postIndex
case 2:
if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Requests", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- stringLen |= uint64(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- intStringLen := int(stringLen)
- if intStringLen < 0 {
- return ErrInvalidLengthGenerated
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthGenerated
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.Requests = append(m.Requests, string(dAtA[iNdEx:postIndex]))
- iNdEx = postIndex
- case 3:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field DeviceConfiguration", wireType)
+ return fmt.Errorf("proto: wrong wireType = %d for field Capacity", wireType)
}
var msglen int
for shift := uint(0); ; shift += 7 {
@@ -4849,9 +4371,105 @@ func (m *DeviceAllocationConfiguration) Unmarshal(dAtA []byte) error {
if postIndex > l {
return io.ErrUnexpectedEOF
}
- if err := m.DeviceConfiguration.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
+ if m.Capacity == nil {
+ m.Capacity = make(map[QualifiedName]resource.Quantity)
+ }
+ var mapkey QualifiedName
+ mapvalue := &resource.Quantity{}
+ for iNdEx < postIndex {
+ entryPreIndex := iNdEx
+ var wire uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ wire |= uint64(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ fieldNum := int32(wire >> 3)
+ if fieldNum == 1 {
+ var stringLenmapkey uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ stringLenmapkey |= uint64(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ intStringLenmapkey := int(stringLenmapkey)
+ if intStringLenmapkey < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ postStringIndexmapkey := iNdEx + intStringLenmapkey
+ if postStringIndexmapkey < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if postStringIndexmapkey > l {
+ return io.ErrUnexpectedEOF
+ }
+ mapkey = QualifiedName(dAtA[iNdEx:postStringIndexmapkey])
+ iNdEx = postStringIndexmapkey
+ } else if fieldNum == 2 {
+ var mapmsglen int
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ mapmsglen |= int(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ if mapmsglen < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ postmsgIndex := iNdEx + mapmsglen
+ if postmsgIndex < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if postmsgIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ mapvalue = &resource.Quantity{}
+ if err := mapvalue.Unmarshal(dAtA[iNdEx:postmsgIndex]); err != nil {
+ return err
+ }
+ iNdEx = postmsgIndex
+ } else {
+ iNdEx = entryPreIndex
+ skippy, err := skipGenerated(dAtA[iNdEx:])
+ if err != nil {
+ return err
+ }
+ if (skippy < 0) || (iNdEx+skippy) < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if (iNdEx + skippy) > postIndex {
+ return io.ErrUnexpectedEOF
+ }
+ iNdEx += skippy
+ }
}
+ m.Capacity[QualifiedName(mapkey)] = *mapvalue
iNdEx = postIndex
default:
iNdEx = preIndex
@@ -4874,7 +4492,7 @@ func (m *DeviceAllocationConfiguration) Unmarshal(dAtA []byte) error {
}
return nil
}
-func (m *DeviceAllocationResult) Unmarshal(dAtA []byte) error {
+func (m *CELDeviceSelector) Unmarshal(dAtA []byte) error {
l := len(dAtA)
iNdEx := 0
for iNdEx < l {
@@ -4897,51 +4515,17 @@ func (m *DeviceAllocationResult) Unmarshal(dAtA []byte) error {
fieldNum := int32(wire >> 3)
wireType := int(wire & 0x7)
if wireType == 4 {
- return fmt.Errorf("proto: DeviceAllocationResult: wiretype end group for non-group")
+ return fmt.Errorf("proto: CELDeviceSelector: wiretype end group for non-group")
}
if fieldNum <= 0 {
- return fmt.Errorf("proto: DeviceAllocationResult: illegal tag %d (wire type %d)", fieldNum, wire)
+ return fmt.Errorf("proto: CELDeviceSelector: illegal tag %d (wire type %d)", fieldNum, wire)
}
switch fieldNum {
case 1:
if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Results", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthGenerated
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthGenerated
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.Results = append(m.Results, DeviceRequestAllocationResult{})
- if err := m.Results[len(m.Results)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- case 2:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Config", wireType)
+ return fmt.Errorf("proto: wrong wireType = %d for field Expression", wireType)
}
- var msglen int
+ var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowGenerated
@@ -4951,25 +4535,23 @@ func (m *DeviceAllocationResult) Unmarshal(dAtA []byte) error {
}
b := dAtA[iNdEx]
iNdEx++
- msglen |= int(b&0x7F) << shift
+ stringLen |= uint64(b&0x7F) << shift
if b < 0x80 {
break
}
}
- if msglen < 0 {
+ intStringLen := int(stringLen)
+ if intStringLen < 0 {
return ErrInvalidLengthGenerated
}
- postIndex := iNdEx + msglen
+ postIndex := iNdEx + intStringLen
if postIndex < 0 {
return ErrInvalidLengthGenerated
}
if postIndex > l {
return io.ErrUnexpectedEOF
}
- m.Config = append(m.Config, DeviceAllocationConfiguration{})
- if err := m.Config[len(m.Config)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
+ m.Expression = string(dAtA[iNdEx:postIndex])
iNdEx = postIndex
default:
iNdEx = preIndex
@@ -4992,7 +4574,7 @@ func (m *DeviceAllocationResult) Unmarshal(dAtA []byte) error {
}
return nil
}
-func (m *DeviceAttribute) Unmarshal(dAtA []byte) error {
+func (m *Device) Unmarshal(dAtA []byte) error {
l := len(dAtA)
iNdEx := 0
for iNdEx < l {
@@ -5012,59 +4594,18 @@ func (m *DeviceAttribute) Unmarshal(dAtA []byte) error {
break
}
}
- fieldNum := int32(wire >> 3)
- wireType := int(wire & 0x7)
- if wireType == 4 {
- return fmt.Errorf("proto: DeviceAttribute: wiretype end group for non-group")
- }
- if fieldNum <= 0 {
- return fmt.Errorf("proto: DeviceAttribute: illegal tag %d (wire type %d)", fieldNum, wire)
- }
- switch fieldNum {
- case 2:
- if wireType != 0 {
- return fmt.Errorf("proto: wrong wireType = %d for field IntValue", wireType)
- }
- var v int64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- v |= int64(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- m.IntValue = &v
- case 3:
- if wireType != 0 {
- return fmt.Errorf("proto: wrong wireType = %d for field BoolValue", wireType)
- }
- var v int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- v |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- b := bool(v != 0)
- m.BoolValue = &b
- case 4:
+ fieldNum := int32(wire >> 3)
+ wireType := int(wire & 0x7)
+ if wireType == 4 {
+ return fmt.Errorf("proto: Device: wiretype end group for non-group")
+ }
+ if fieldNum <= 0 {
+ return fmt.Errorf("proto: Device: illegal tag %d (wire type %d)", fieldNum, wire)
+ }
+ switch fieldNum {
+ case 1:
if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field StringValue", wireType)
+ return fmt.Errorf("proto: wrong wireType = %d for field Name", wireType)
}
var stringLen uint64
for shift := uint(0); ; shift += 7 {
@@ -5092,14 +4633,13 @@ func (m *DeviceAttribute) Unmarshal(dAtA []byte) error {
if postIndex > l {
return io.ErrUnexpectedEOF
}
- s := string(dAtA[iNdEx:postIndex])
- m.StringValue = &s
+ m.Name = string(dAtA[iNdEx:postIndex])
iNdEx = postIndex
- case 5:
+ case 2:
if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field VersionValue", wireType)
+ return fmt.Errorf("proto: wrong wireType = %d for field Basic", wireType)
}
- var stringLen uint64
+ var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowGenerated
@@ -5109,24 +4649,27 @@ func (m *DeviceAttribute) Unmarshal(dAtA []byte) error {
}
b := dAtA[iNdEx]
iNdEx++
- stringLen |= uint64(b&0x7F) << shift
+ msglen |= int(b&0x7F) << shift
if b < 0x80 {
break
}
}
- intStringLen := int(stringLen)
- if intStringLen < 0 {
+ if msglen < 0 {
return ErrInvalidLengthGenerated
}
- postIndex := iNdEx + intStringLen
+ postIndex := iNdEx + msglen
if postIndex < 0 {
return ErrInvalidLengthGenerated
}
if postIndex > l {
return io.ErrUnexpectedEOF
}
- s := string(dAtA[iNdEx:postIndex])
- m.VersionValue = &s
+ if m.Basic == nil {
+ m.Basic = &BasicDevice{}
+ }
+ if err := m.Basic.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
+ return err
+ }
iNdEx = postIndex
default:
iNdEx = preIndex
@@ -5149,7 +4692,7 @@ func (m *DeviceAttribute) Unmarshal(dAtA []byte) error {
}
return nil
}
-func (m *DeviceClaim) Unmarshal(dAtA []byte) error {
+func (m *DeviceAllocationConfiguration) Unmarshal(dAtA []byte) error {
l := len(dAtA)
iNdEx := 0
for iNdEx < l {
@@ -5172,17 +4715,17 @@ func (m *DeviceClaim) Unmarshal(dAtA []byte) error {
fieldNum := int32(wire >> 3)
wireType := int(wire & 0x7)
if wireType == 4 {
- return fmt.Errorf("proto: DeviceClaim: wiretype end group for non-group")
+ return fmt.Errorf("proto: DeviceAllocationConfiguration: wiretype end group for non-group")
}
if fieldNum <= 0 {
- return fmt.Errorf("proto: DeviceClaim: illegal tag %d (wire type %d)", fieldNum, wire)
+ return fmt.Errorf("proto: DeviceAllocationConfiguration: illegal tag %d (wire type %d)", fieldNum, wire)
}
switch fieldNum {
case 1:
if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Requests", wireType)
+ return fmt.Errorf("proto: wrong wireType = %d for field Source", wireType)
}
- var msglen int
+ var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowGenerated
@@ -5192,31 +4735,29 @@ func (m *DeviceClaim) Unmarshal(dAtA []byte) error {
}
b := dAtA[iNdEx]
iNdEx++
- msglen |= int(b&0x7F) << shift
+ stringLen |= uint64(b&0x7F) << shift
if b < 0x80 {
break
}
}
- if msglen < 0 {
+ intStringLen := int(stringLen)
+ if intStringLen < 0 {
return ErrInvalidLengthGenerated
}
- postIndex := iNdEx + msglen
+ postIndex := iNdEx + intStringLen
if postIndex < 0 {
return ErrInvalidLengthGenerated
}
if postIndex > l {
return io.ErrUnexpectedEOF
}
- m.Requests = append(m.Requests, DeviceRequest{})
- if err := m.Requests[len(m.Requests)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
+ m.Source = AllocationConfigSource(dAtA[iNdEx:postIndex])
iNdEx = postIndex
case 2:
if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Constraints", wireType)
+ return fmt.Errorf("proto: wrong wireType = %d for field Requests", wireType)
}
- var msglen int
+ var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowGenerated
@@ -5226,29 +4767,27 @@ func (m *DeviceClaim) Unmarshal(dAtA []byte) error {
}
b := dAtA[iNdEx]
iNdEx++
- msglen |= int(b&0x7F) << shift
+ stringLen |= uint64(b&0x7F) << shift
if b < 0x80 {
break
}
}
- if msglen < 0 {
+ intStringLen := int(stringLen)
+ if intStringLen < 0 {
return ErrInvalidLengthGenerated
}
- postIndex := iNdEx + msglen
+ postIndex := iNdEx + intStringLen
if postIndex < 0 {
return ErrInvalidLengthGenerated
}
if postIndex > l {
return io.ErrUnexpectedEOF
}
- m.Constraints = append(m.Constraints, DeviceConstraint{})
- if err := m.Constraints[len(m.Constraints)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
+ m.Requests = append(m.Requests, string(dAtA[iNdEx:postIndex]))
iNdEx = postIndex
case 3:
if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Config", wireType)
+ return fmt.Errorf("proto: wrong wireType = %d for field DeviceConfiguration", wireType)
}
var msglen int
for shift := uint(0); ; shift += 7 {
@@ -5275,8 +4814,7 @@ func (m *DeviceClaim) Unmarshal(dAtA []byte) error {
if postIndex > l {
return io.ErrUnexpectedEOF
}
- m.Config = append(m.Config, DeviceClaimConfiguration{})
- if err := m.Config[len(m.Config)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
+ if err := m.DeviceConfiguration.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
return err
}
iNdEx = postIndex
@@ -5301,7 +4839,7 @@ func (m *DeviceClaim) Unmarshal(dAtA []byte) error {
}
return nil
}
-func (m *DeviceClaimConfiguration) Unmarshal(dAtA []byte) error {
+func (m *DeviceAllocationResult) Unmarshal(dAtA []byte) error {
l := len(dAtA)
iNdEx := 0
for iNdEx < l {
@@ -5324,17 +4862,17 @@ func (m *DeviceClaimConfiguration) Unmarshal(dAtA []byte) error {
fieldNum := int32(wire >> 3)
wireType := int(wire & 0x7)
if wireType == 4 {
- return fmt.Errorf("proto: DeviceClaimConfiguration: wiretype end group for non-group")
+ return fmt.Errorf("proto: DeviceAllocationResult: wiretype end group for non-group")
}
if fieldNum <= 0 {
- return fmt.Errorf("proto: DeviceClaimConfiguration: illegal tag %d (wire type %d)", fieldNum, wire)
+ return fmt.Errorf("proto: DeviceAllocationResult: illegal tag %d (wire type %d)", fieldNum, wire)
}
switch fieldNum {
case 1:
if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Requests", wireType)
+ return fmt.Errorf("proto: wrong wireType = %d for field Results", wireType)
}
- var stringLen uint64
+ var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowGenerated
@@ -5344,27 +4882,29 @@ func (m *DeviceClaimConfiguration) Unmarshal(dAtA []byte) error {
}
b := dAtA[iNdEx]
iNdEx++
- stringLen |= uint64(b&0x7F) << shift
+ msglen |= int(b&0x7F) << shift
if b < 0x80 {
break
}
}
- intStringLen := int(stringLen)
- if intStringLen < 0 {
+ if msglen < 0 {
return ErrInvalidLengthGenerated
}
- postIndex := iNdEx + intStringLen
+ postIndex := iNdEx + msglen
if postIndex < 0 {
return ErrInvalidLengthGenerated
}
if postIndex > l {
return io.ErrUnexpectedEOF
}
- m.Requests = append(m.Requests, string(dAtA[iNdEx:postIndex]))
+ m.Results = append(m.Results, DeviceRequestAllocationResult{})
+ if err := m.Results[len(m.Results)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
+ return err
+ }
iNdEx = postIndex
case 2:
if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field DeviceConfiguration", wireType)
+ return fmt.Errorf("proto: wrong wireType = %d for field Config", wireType)
}
var msglen int
for shift := uint(0); ; shift += 7 {
@@ -5391,7 +4931,8 @@ func (m *DeviceClaimConfiguration) Unmarshal(dAtA []byte) error {
if postIndex > l {
return io.ErrUnexpectedEOF
}
- if err := m.DeviceConfiguration.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
+ m.Config = append(m.Config, DeviceAllocationConfiguration{})
+ if err := m.Config[len(m.Config)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
return err
}
iNdEx = postIndex
@@ -5416,7 +4957,7 @@ func (m *DeviceClaimConfiguration) Unmarshal(dAtA []byte) error {
}
return nil
}
-func (m *DeviceClass) Unmarshal(dAtA []byte) error {
+func (m *DeviceAttribute) Unmarshal(dAtA []byte) error {
l := len(dAtA)
iNdEx := 0
for iNdEx < l {
@@ -5439,17 +4980,58 @@ func (m *DeviceClass) Unmarshal(dAtA []byte) error {
fieldNum := int32(wire >> 3)
wireType := int(wire & 0x7)
if wireType == 4 {
- return fmt.Errorf("proto: DeviceClass: wiretype end group for non-group")
+ return fmt.Errorf("proto: DeviceAttribute: wiretype end group for non-group")
}
if fieldNum <= 0 {
- return fmt.Errorf("proto: DeviceClass: illegal tag %d (wire type %d)", fieldNum, wire)
+ return fmt.Errorf("proto: DeviceAttribute: illegal tag %d (wire type %d)", fieldNum, wire)
}
switch fieldNum {
- case 1:
+ case 2:
+ if wireType != 0 {
+ return fmt.Errorf("proto: wrong wireType = %d for field IntValue", wireType)
+ }
+ var v int64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ v |= int64(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ m.IntValue = &v
+ case 3:
+ if wireType != 0 {
+ return fmt.Errorf("proto: wrong wireType = %d for field BoolValue", wireType)
+ }
+ var v int
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ v |= int(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ b := bool(v != 0)
+ m.BoolValue = &b
+ case 4:
if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field ObjectMeta", wireType)
+ return fmt.Errorf("proto: wrong wireType = %d for field StringValue", wireType)
}
- var msglen int
+ var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowGenerated
@@ -5459,30 +5041,30 @@ func (m *DeviceClass) Unmarshal(dAtA []byte) error {
}
b := dAtA[iNdEx]
iNdEx++
- msglen |= int(b&0x7F) << shift
+ stringLen |= uint64(b&0x7F) << shift
if b < 0x80 {
break
}
}
- if msglen < 0 {
+ intStringLen := int(stringLen)
+ if intStringLen < 0 {
return ErrInvalidLengthGenerated
}
- postIndex := iNdEx + msglen
+ postIndex := iNdEx + intStringLen
if postIndex < 0 {
return ErrInvalidLengthGenerated
}
if postIndex > l {
return io.ErrUnexpectedEOF
}
- if err := m.ObjectMeta.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
+ s := string(dAtA[iNdEx:postIndex])
+ m.StringValue = &s
iNdEx = postIndex
- case 2:
+ case 5:
if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Spec", wireType)
+ return fmt.Errorf("proto: wrong wireType = %d for field VersionValue", wireType)
}
- var msglen int
+ var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowGenerated
@@ -5492,24 +5074,24 @@ func (m *DeviceClass) Unmarshal(dAtA []byte) error {
}
b := dAtA[iNdEx]
iNdEx++
- msglen |= int(b&0x7F) << shift
+ stringLen |= uint64(b&0x7F) << shift
if b < 0x80 {
break
}
}
- if msglen < 0 {
+ intStringLen := int(stringLen)
+ if intStringLen < 0 {
return ErrInvalidLengthGenerated
}
- postIndex := iNdEx + msglen
+ postIndex := iNdEx + intStringLen
if postIndex < 0 {
return ErrInvalidLengthGenerated
}
if postIndex > l {
return io.ErrUnexpectedEOF
}
- if err := m.Spec.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
+ s := string(dAtA[iNdEx:postIndex])
+ m.VersionValue = &s
iNdEx = postIndex
default:
iNdEx = preIndex
@@ -5532,7 +5114,7 @@ func (m *DeviceClass) Unmarshal(dAtA []byte) error {
}
return nil
}
-func (m *DeviceClassConfiguration) Unmarshal(dAtA []byte) error {
+func (m *DeviceClaim) Unmarshal(dAtA []byte) error {
l := len(dAtA)
iNdEx := 0
for iNdEx < l {
@@ -5542,28 +5124,96 @@ func (m *DeviceClassConfiguration) Unmarshal(dAtA []byte) error {
if shift >= 64 {
return ErrIntOverflowGenerated
}
- if iNdEx >= l {
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ wire |= uint64(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ fieldNum := int32(wire >> 3)
+ wireType := int(wire & 0x7)
+ if wireType == 4 {
+ return fmt.Errorf("proto: DeviceClaim: wiretype end group for non-group")
+ }
+ if fieldNum <= 0 {
+ return fmt.Errorf("proto: DeviceClaim: illegal tag %d (wire type %d)", fieldNum, wire)
+ }
+ switch fieldNum {
+ case 1:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field Requests", wireType)
+ }
+ var msglen int
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ msglen |= int(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ if msglen < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ postIndex := iNdEx + msglen
+ if postIndex < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ m.Requests = append(m.Requests, DeviceRequest{})
+ if err := m.Requests[len(m.Requests)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
+ return err
+ }
+ iNdEx = postIndex
+ case 2:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field Constraints", wireType)
+ }
+ var msglen int
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ msglen |= int(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ if msglen < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ postIndex := iNdEx + msglen
+ if postIndex < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if postIndex > l {
return io.ErrUnexpectedEOF
}
- b := dAtA[iNdEx]
- iNdEx++
- wire |= uint64(b&0x7F) << shift
- if b < 0x80 {
- break
+ m.Constraints = append(m.Constraints, DeviceConstraint{})
+ if err := m.Constraints[len(m.Constraints)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
+ return err
}
- }
- fieldNum := int32(wire >> 3)
- wireType := int(wire & 0x7)
- if wireType == 4 {
- return fmt.Errorf("proto: DeviceClassConfiguration: wiretype end group for non-group")
- }
- if fieldNum <= 0 {
- return fmt.Errorf("proto: DeviceClassConfiguration: illegal tag %d (wire type %d)", fieldNum, wire)
- }
- switch fieldNum {
- case 1:
+ iNdEx = postIndex
+ case 3:
if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field DeviceConfiguration", wireType)
+ return fmt.Errorf("proto: wrong wireType = %d for field Config", wireType)
}
var msglen int
for shift := uint(0); ; shift += 7 {
@@ -5590,7 +5240,8 @@ func (m *DeviceClassConfiguration) Unmarshal(dAtA []byte) error {
if postIndex > l {
return io.ErrUnexpectedEOF
}
- if err := m.DeviceConfiguration.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
+ m.Config = append(m.Config, DeviceClaimConfiguration{})
+ if err := m.Config[len(m.Config)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
return err
}
iNdEx = postIndex
@@ -5615,7 +5266,7 @@ func (m *DeviceClassConfiguration) Unmarshal(dAtA []byte) error {
}
return nil
}
-func (m *DeviceClassList) Unmarshal(dAtA []byte) error {
+func (m *DeviceClaimConfiguration) Unmarshal(dAtA []byte) error {
l := len(dAtA)
iNdEx := 0
for iNdEx < l {
@@ -5638,17 +5289,17 @@ func (m *DeviceClassList) Unmarshal(dAtA []byte) error {
fieldNum := int32(wire >> 3)
wireType := int(wire & 0x7)
if wireType == 4 {
- return fmt.Errorf("proto: DeviceClassList: wiretype end group for non-group")
+ return fmt.Errorf("proto: DeviceClaimConfiguration: wiretype end group for non-group")
}
if fieldNum <= 0 {
- return fmt.Errorf("proto: DeviceClassList: illegal tag %d (wire type %d)", fieldNum, wire)
+ return fmt.Errorf("proto: DeviceClaimConfiguration: illegal tag %d (wire type %d)", fieldNum, wire)
}
switch fieldNum {
case 1:
if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field ListMeta", wireType)
+ return fmt.Errorf("proto: wrong wireType = %d for field Requests", wireType)
}
- var msglen int
+ var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowGenerated
@@ -5658,28 +5309,27 @@ func (m *DeviceClassList) Unmarshal(dAtA []byte) error {
}
b := dAtA[iNdEx]
iNdEx++
- msglen |= int(b&0x7F) << shift
+ stringLen |= uint64(b&0x7F) << shift
if b < 0x80 {
break
}
}
- if msglen < 0 {
+ intStringLen := int(stringLen)
+ if intStringLen < 0 {
return ErrInvalidLengthGenerated
}
- postIndex := iNdEx + msglen
+ postIndex := iNdEx + intStringLen
if postIndex < 0 {
return ErrInvalidLengthGenerated
}
if postIndex > l {
return io.ErrUnexpectedEOF
}
- if err := m.ListMeta.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
+ m.Requests = append(m.Requests, string(dAtA[iNdEx:postIndex]))
iNdEx = postIndex
case 2:
if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Items", wireType)
+ return fmt.Errorf("proto: wrong wireType = %d for field DeviceConfiguration", wireType)
}
var msglen int
for shift := uint(0); ; shift += 7 {
@@ -5706,8 +5356,7 @@ func (m *DeviceClassList) Unmarshal(dAtA []byte) error {
if postIndex > l {
return io.ErrUnexpectedEOF
}
- m.Items = append(m.Items, DeviceClass{})
- if err := m.Items[len(m.Items)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
+ if err := m.DeviceConfiguration.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
return err
}
iNdEx = postIndex
@@ -5732,7 +5381,7 @@ func (m *DeviceClassList) Unmarshal(dAtA []byte) error {
}
return nil
}
-func (m *DeviceClassSpec) Unmarshal(dAtA []byte) error {
+func (m *DeviceClass) Unmarshal(dAtA []byte) error {
l := len(dAtA)
iNdEx := 0
for iNdEx < l {
@@ -5755,15 +5404,15 @@ func (m *DeviceClassSpec) Unmarshal(dAtA []byte) error {
fieldNum := int32(wire >> 3)
wireType := int(wire & 0x7)
if wireType == 4 {
- return fmt.Errorf("proto: DeviceClassSpec: wiretype end group for non-group")
+ return fmt.Errorf("proto: DeviceClass: wiretype end group for non-group")
}
if fieldNum <= 0 {
- return fmt.Errorf("proto: DeviceClassSpec: illegal tag %d (wire type %d)", fieldNum, wire)
+ return fmt.Errorf("proto: DeviceClass: illegal tag %d (wire type %d)", fieldNum, wire)
}
switch fieldNum {
case 1:
if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Selectors", wireType)
+ return fmt.Errorf("proto: wrong wireType = %d for field ObjectMeta", wireType)
}
var msglen int
for shift := uint(0); ; shift += 7 {
@@ -5790,48 +5439,13 @@ func (m *DeviceClassSpec) Unmarshal(dAtA []byte) error {
if postIndex > l {
return io.ErrUnexpectedEOF
}
- m.Selectors = append(m.Selectors, DeviceSelector{})
- if err := m.Selectors[len(m.Selectors)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
+ if err := m.ObjectMeta.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
return err
}
iNdEx = postIndex
case 2:
if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Config", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthGenerated
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthGenerated
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.Config = append(m.Config, DeviceClassConfiguration{})
- if err := m.Config[len(m.Config)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- case 3:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field SuitableNodes", wireType)
+ return fmt.Errorf("proto: wrong wireType = %d for field Spec", wireType)
}
var msglen int
for shift := uint(0); ; shift += 7 {
@@ -5858,10 +5472,7 @@ func (m *DeviceClassSpec) Unmarshal(dAtA []byte) error {
if postIndex > l {
return io.ErrUnexpectedEOF
}
- if m.SuitableNodes == nil {
- m.SuitableNodes = &v1.NodeSelector{}
- }
- if err := m.SuitableNodes.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
+ if err := m.Spec.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
return err
}
iNdEx = postIndex
@@ -5886,7 +5497,7 @@ func (m *DeviceClassSpec) Unmarshal(dAtA []byte) error {
}
return nil
}
-func (m *DeviceConfiguration) Unmarshal(dAtA []byte) error {
+func (m *DeviceClassConfiguration) Unmarshal(dAtA []byte) error {
l := len(dAtA)
iNdEx := 0
for iNdEx < l {
@@ -5909,15 +5520,15 @@ func (m *DeviceConfiguration) Unmarshal(dAtA []byte) error {
fieldNum := int32(wire >> 3)
wireType := int(wire & 0x7)
if wireType == 4 {
- return fmt.Errorf("proto: DeviceConfiguration: wiretype end group for non-group")
+ return fmt.Errorf("proto: DeviceClassConfiguration: wiretype end group for non-group")
}
if fieldNum <= 0 {
- return fmt.Errorf("proto: DeviceConfiguration: illegal tag %d (wire type %d)", fieldNum, wire)
+ return fmt.Errorf("proto: DeviceClassConfiguration: illegal tag %d (wire type %d)", fieldNum, wire)
}
switch fieldNum {
case 1:
if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Opaque", wireType)
+ return fmt.Errorf("proto: wrong wireType = %d for field DeviceConfiguration", wireType)
}
var msglen int
for shift := uint(0); ; shift += 7 {
@@ -5944,10 +5555,7 @@ func (m *DeviceConfiguration) Unmarshal(dAtA []byte) error {
if postIndex > l {
return io.ErrUnexpectedEOF
}
- if m.Opaque == nil {
- m.Opaque = &OpaqueDeviceConfiguration{}
- }
- if err := m.Opaque.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
+ if err := m.DeviceConfiguration.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
return err
}
iNdEx = postIndex
@@ -5972,7 +5580,7 @@ func (m *DeviceConfiguration) Unmarshal(dAtA []byte) error {
}
return nil
}
-func (m *DeviceConstraint) Unmarshal(dAtA []byte) error {
+func (m *DeviceClassList) Unmarshal(dAtA []byte) error {
l := len(dAtA)
iNdEx := 0
for iNdEx < l {
@@ -5995,17 +5603,17 @@ func (m *DeviceConstraint) Unmarshal(dAtA []byte) error {
fieldNum := int32(wire >> 3)
wireType := int(wire & 0x7)
if wireType == 4 {
- return fmt.Errorf("proto: DeviceConstraint: wiretype end group for non-group")
+ return fmt.Errorf("proto: DeviceClassList: wiretype end group for non-group")
}
if fieldNum <= 0 {
- return fmt.Errorf("proto: DeviceConstraint: illegal tag %d (wire type %d)", fieldNum, wire)
+ return fmt.Errorf("proto: DeviceClassList: illegal tag %d (wire type %d)", fieldNum, wire)
}
switch fieldNum {
case 1:
if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Requests", wireType)
+ return fmt.Errorf("proto: wrong wireType = %d for field ListMeta", wireType)
}
- var stringLen uint64
+ var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowGenerated
@@ -6015,29 +5623,30 @@ func (m *DeviceConstraint) Unmarshal(dAtA []byte) error {
}
b := dAtA[iNdEx]
iNdEx++
- stringLen |= uint64(b&0x7F) << shift
+ msglen |= int(b&0x7F) << shift
if b < 0x80 {
break
}
}
- intStringLen := int(stringLen)
- if intStringLen < 0 {
+ if msglen < 0 {
return ErrInvalidLengthGenerated
}
- postIndex := iNdEx + intStringLen
+ postIndex := iNdEx + msglen
if postIndex < 0 {
return ErrInvalidLengthGenerated
}
if postIndex > l {
return io.ErrUnexpectedEOF
}
- m.Requests = append(m.Requests, string(dAtA[iNdEx:postIndex]))
+ if err := m.ListMeta.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
+ return err
+ }
iNdEx = postIndex
case 2:
if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field MatchAttribute", wireType)
+ return fmt.Errorf("proto: wrong wireType = %d for field Items", wireType)
}
- var stringLen uint64
+ var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowGenerated
@@ -6047,24 +5656,25 @@ func (m *DeviceConstraint) Unmarshal(dAtA []byte) error {
}
b := dAtA[iNdEx]
iNdEx++
- stringLen |= uint64(b&0x7F) << shift
+ msglen |= int(b&0x7F) << shift
if b < 0x80 {
break
}
}
- intStringLen := int(stringLen)
- if intStringLen < 0 {
+ if msglen < 0 {
return ErrInvalidLengthGenerated
}
- postIndex := iNdEx + intStringLen
+ postIndex := iNdEx + msglen
if postIndex < 0 {
return ErrInvalidLengthGenerated
}
if postIndex > l {
return io.ErrUnexpectedEOF
}
- s := FullyQualifiedName(dAtA[iNdEx:postIndex])
- m.MatchAttribute = &s
+ m.Items = append(m.Items, DeviceClass{})
+ if err := m.Items[len(m.Items)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
+ return err
+ }
iNdEx = postIndex
default:
iNdEx = preIndex
@@ -6085,102 +5695,38 @@ func (m *DeviceConstraint) Unmarshal(dAtA []byte) error {
if iNdEx > l {
return io.ErrUnexpectedEOF
}
- return nil
-}
-func (m *DeviceRequest) Unmarshal(dAtA []byte) error {
- l := len(dAtA)
- iNdEx := 0
- for iNdEx < l {
- preIndex := iNdEx
- var wire uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- wire |= uint64(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- fieldNum := int32(wire >> 3)
- wireType := int(wire & 0x7)
- if wireType == 4 {
- return fmt.Errorf("proto: DeviceRequest: wiretype end group for non-group")
- }
- if fieldNum <= 0 {
- return fmt.Errorf("proto: DeviceRequest: illegal tag %d (wire type %d)", fieldNum, wire)
- }
- switch fieldNum {
- case 1:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Name", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- stringLen |= uint64(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- intStringLen := int(stringLen)
- if intStringLen < 0 {
- return ErrInvalidLengthGenerated
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthGenerated
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.Name = string(dAtA[iNdEx:postIndex])
- iNdEx = postIndex
- case 2:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field DeviceClassName", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- stringLen |= uint64(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- intStringLen := int(stringLen)
- if intStringLen < 0 {
- return ErrInvalidLengthGenerated
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthGenerated
+ return nil
+}
+func (m *DeviceClassSpec) Unmarshal(dAtA []byte) error {
+ l := len(dAtA)
+ iNdEx := 0
+ for iNdEx < l {
+ preIndex := iNdEx
+ var wire uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
}
- if postIndex > l {
+ if iNdEx >= l {
return io.ErrUnexpectedEOF
}
- m.DeviceClassName = string(dAtA[iNdEx:postIndex])
- iNdEx = postIndex
- case 3:
+ b := dAtA[iNdEx]
+ iNdEx++
+ wire |= uint64(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ fieldNum := int32(wire >> 3)
+ wireType := int(wire & 0x7)
+ if wireType == 4 {
+ return fmt.Errorf("proto: DeviceClassSpec: wiretype end group for non-group")
+ }
+ if fieldNum <= 0 {
+ return fmt.Errorf("proto: DeviceClassSpec: illegal tag %d (wire type %d)", fieldNum, wire)
+ }
+ switch fieldNum {
+ case 1:
if wireType != 2 {
return fmt.Errorf("proto: wrong wireType = %d for field Selectors", wireType)
}
@@ -6214,11 +5760,11 @@ func (m *DeviceRequest) Unmarshal(dAtA []byte) error {
return err
}
iNdEx = postIndex
- case 4:
+ case 2:
if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field AllocationMode", wireType)
+ return fmt.Errorf("proto: wrong wireType = %d for field Config", wireType)
}
- var stringLen uint64
+ var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowGenerated
@@ -6228,63 +5774,26 @@ func (m *DeviceRequest) Unmarshal(dAtA []byte) error {
}
b := dAtA[iNdEx]
iNdEx++
- stringLen |= uint64(b&0x7F) << shift
+ msglen |= int(b&0x7F) << shift
if b < 0x80 {
break
}
}
- intStringLen := int(stringLen)
- if intStringLen < 0 {
+ if msglen < 0 {
return ErrInvalidLengthGenerated
}
- postIndex := iNdEx + intStringLen
+ postIndex := iNdEx + msglen
if postIndex < 0 {
return ErrInvalidLengthGenerated
}
if postIndex > l {
return io.ErrUnexpectedEOF
}
- m.AllocationMode = DeviceAllocationMode(dAtA[iNdEx:postIndex])
- iNdEx = postIndex
- case 5:
- if wireType != 0 {
- return fmt.Errorf("proto: wrong wireType = %d for field Count", wireType)
- }
- m.Count = 0
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- m.Count |= int64(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- case 6:
- if wireType != 0 {
- return fmt.Errorf("proto: wrong wireType = %d for field AdminAccess", wireType)
- }
- var v int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- v |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
+ m.Config = append(m.Config, DeviceClassConfiguration{})
+ if err := m.Config[len(m.Config)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
+ return err
}
- m.AdminAccess = bool(v != 0)
+ iNdEx = postIndex
default:
iNdEx = preIndex
skippy, err := skipGenerated(dAtA[iNdEx:])
@@ -6306,7 +5815,7 @@ func (m *DeviceRequest) Unmarshal(dAtA []byte) error {
}
return nil
}
-func (m *DeviceRequestAllocationResult) Unmarshal(dAtA []byte) error {
+func (m *DeviceConfiguration) Unmarshal(dAtA []byte) error {
l := len(dAtA)
iNdEx := 0
for iNdEx < l {
@@ -6329,17 +5838,17 @@ func (m *DeviceRequestAllocationResult) Unmarshal(dAtA []byte) error {
fieldNum := int32(wire >> 3)
wireType := int(wire & 0x7)
if wireType == 4 {
- return fmt.Errorf("proto: DeviceRequestAllocationResult: wiretype end group for non-group")
+ return fmt.Errorf("proto: DeviceConfiguration: wiretype end group for non-group")
}
if fieldNum <= 0 {
- return fmt.Errorf("proto: DeviceRequestAllocationResult: illegal tag %d (wire type %d)", fieldNum, wire)
+ return fmt.Errorf("proto: DeviceConfiguration: illegal tag %d (wire type %d)", fieldNum, wire)
}
switch fieldNum {
case 1:
if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Request", wireType)
+ return fmt.Errorf("proto: wrong wireType = %d for field Opaque", wireType)
}
- var stringLen uint64
+ var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowGenerated
@@ -6349,59 +5858,81 @@ func (m *DeviceRequestAllocationResult) Unmarshal(dAtA []byte) error {
}
b := dAtA[iNdEx]
iNdEx++
- stringLen |= uint64(b&0x7F) << shift
+ msglen |= int(b&0x7F) << shift
if b < 0x80 {
break
}
}
- intStringLen := int(stringLen)
- if intStringLen < 0 {
+ if msglen < 0 {
return ErrInvalidLengthGenerated
}
- postIndex := iNdEx + intStringLen
+ postIndex := iNdEx + msglen
if postIndex < 0 {
return ErrInvalidLengthGenerated
}
if postIndex > l {
return io.ErrUnexpectedEOF
}
- m.Request = string(dAtA[iNdEx:postIndex])
- iNdEx = postIndex
- case 2:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Driver", wireType)
+ if m.Opaque == nil {
+ m.Opaque = &OpaqueDeviceConfiguration{}
}
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- stringLen |= uint64(b&0x7F) << shift
- if b < 0x80 {
- break
- }
+ if err := m.Opaque.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
+ return err
}
- intStringLen := int(stringLen)
- if intStringLen < 0 {
- return ErrInvalidLengthGenerated
+ iNdEx = postIndex
+ default:
+ iNdEx = preIndex
+ skippy, err := skipGenerated(dAtA[iNdEx:])
+ if err != nil {
+ return err
}
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
+ if (skippy < 0) || (iNdEx+skippy) < 0 {
return ErrInvalidLengthGenerated
}
- if postIndex > l {
+ if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
}
- m.Driver = string(dAtA[iNdEx:postIndex])
- iNdEx = postIndex
- case 3:
+ iNdEx += skippy
+ }
+ }
+
+ if iNdEx > l {
+ return io.ErrUnexpectedEOF
+ }
+ return nil
+}
+func (m *DeviceConstraint) Unmarshal(dAtA []byte) error {
+ l := len(dAtA)
+ iNdEx := 0
+ for iNdEx < l {
+ preIndex := iNdEx
+ var wire uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ wire |= uint64(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ fieldNum := int32(wire >> 3)
+ wireType := int(wire & 0x7)
+ if wireType == 4 {
+ return fmt.Errorf("proto: DeviceConstraint: wiretype end group for non-group")
+ }
+ if fieldNum <= 0 {
+ return fmt.Errorf("proto: DeviceConstraint: illegal tag %d (wire type %d)", fieldNum, wire)
+ }
+ switch fieldNum {
+ case 1:
if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Pool", wireType)
+ return fmt.Errorf("proto: wrong wireType = %d for field Requests", wireType)
}
var stringLen uint64
for shift := uint(0); ; shift += 7 {
@@ -6429,11 +5960,11 @@ func (m *DeviceRequestAllocationResult) Unmarshal(dAtA []byte) error {
if postIndex > l {
return io.ErrUnexpectedEOF
}
- m.Pool = string(dAtA[iNdEx:postIndex])
+ m.Requests = append(m.Requests, string(dAtA[iNdEx:postIndex]))
iNdEx = postIndex
- case 4:
+ case 2:
if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Device", wireType)
+ return fmt.Errorf("proto: wrong wireType = %d for field MatchAttribute", wireType)
}
var stringLen uint64
for shift := uint(0); ; shift += 7 {
@@ -6461,7 +5992,8 @@ func (m *DeviceRequestAllocationResult) Unmarshal(dAtA []byte) error {
if postIndex > l {
return io.ErrUnexpectedEOF
}
- m.Device = string(dAtA[iNdEx:postIndex])
+ s := FullyQualifiedName(dAtA[iNdEx:postIndex])
+ m.MatchAttribute = &s
iNdEx = postIndex
default:
iNdEx = preIndex
@@ -6484,7 +6016,7 @@ func (m *DeviceRequestAllocationResult) Unmarshal(dAtA []byte) error {
}
return nil
}
-func (m *DeviceSelector) Unmarshal(dAtA []byte) error {
+func (m *DeviceRequest) Unmarshal(dAtA []byte) error {
l := len(dAtA)
iNdEx := 0
for iNdEx < l {
@@ -6507,15 +6039,79 @@ func (m *DeviceSelector) Unmarshal(dAtA []byte) error {
fieldNum := int32(wire >> 3)
wireType := int(wire & 0x7)
if wireType == 4 {
- return fmt.Errorf("proto: DeviceSelector: wiretype end group for non-group")
+ return fmt.Errorf("proto: DeviceRequest: wiretype end group for non-group")
}
if fieldNum <= 0 {
- return fmt.Errorf("proto: DeviceSelector: illegal tag %d (wire type %d)", fieldNum, wire)
+ return fmt.Errorf("proto: DeviceRequest: illegal tag %d (wire type %d)", fieldNum, wire)
}
switch fieldNum {
case 1:
if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field CEL", wireType)
+ return fmt.Errorf("proto: wrong wireType = %d for field Name", wireType)
+ }
+ var stringLen uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ stringLen |= uint64(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ intStringLen := int(stringLen)
+ if intStringLen < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ postIndex := iNdEx + intStringLen
+ if postIndex < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ m.Name = string(dAtA[iNdEx:postIndex])
+ iNdEx = postIndex
+ case 2:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field DeviceClassName", wireType)
+ }
+ var stringLen uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ stringLen |= uint64(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ intStringLen := int(stringLen)
+ if intStringLen < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ postIndex := iNdEx + intStringLen
+ if postIndex < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ m.DeviceClassName = string(dAtA[iNdEx:postIndex])
+ iNdEx = postIndex
+ case 3:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field Selectors", wireType)
}
var msglen int
for shift := uint(0); ; shift += 7 {
@@ -6542,66 +6138,14 @@ func (m *DeviceSelector) Unmarshal(dAtA []byte) error {
if postIndex > l {
return io.ErrUnexpectedEOF
}
- if m.CEL == nil {
- m.CEL = &CELDeviceSelector{}
- }
- if err := m.CEL.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
+ m.Selectors = append(m.Selectors, DeviceSelector{})
+ if err := m.Selectors[len(m.Selectors)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
return err
}
iNdEx = postIndex
- default:
- iNdEx = preIndex
- skippy, err := skipGenerated(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthGenerated
- }
- if (iNdEx + skippy) > l {
- return io.ErrUnexpectedEOF
- }
- iNdEx += skippy
- }
- }
-
- if iNdEx > l {
- return io.ErrUnexpectedEOF
- }
- return nil
-}
-func (m *OpaqueDeviceConfiguration) Unmarshal(dAtA []byte) error {
- l := len(dAtA)
- iNdEx := 0
- for iNdEx < l {
- preIndex := iNdEx
- var wire uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- wire |= uint64(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- fieldNum := int32(wire >> 3)
- wireType := int(wire & 0x7)
- if wireType == 4 {
- return fmt.Errorf("proto: OpaqueDeviceConfiguration: wiretype end group for non-group")
- }
- if fieldNum <= 0 {
- return fmt.Errorf("proto: OpaqueDeviceConfiguration: illegal tag %d (wire type %d)", fieldNum, wire)
- }
- switch fieldNum {
- case 1:
+ case 4:
if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Driver", wireType)
+ return fmt.Errorf("proto: wrong wireType = %d for field AllocationMode", wireType)
}
var stringLen uint64
for shift := uint(0); ; shift += 7 {
@@ -6629,13 +6173,13 @@ func (m *OpaqueDeviceConfiguration) Unmarshal(dAtA []byte) error {
if postIndex > l {
return io.ErrUnexpectedEOF
}
- m.Driver = string(dAtA[iNdEx:postIndex])
+ m.AllocationMode = DeviceAllocationMode(dAtA[iNdEx:postIndex])
iNdEx = postIndex
- case 2:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Parameters", wireType)
+ case 5:
+ if wireType != 0 {
+ return fmt.Errorf("proto: wrong wireType = %d for field Count", wireType)
}
- var msglen int
+ m.Count = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowGenerated
@@ -6645,25 +6189,32 @@ func (m *OpaqueDeviceConfiguration) Unmarshal(dAtA []byte) error {
}
b := dAtA[iNdEx]
iNdEx++
- msglen |= int(b&0x7F) << shift
+ m.Count |= int64(b&0x7F) << shift
if b < 0x80 {
break
}
}
- if msglen < 0 {
- return ErrInvalidLengthGenerated
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthGenerated
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
+ case 6:
+ if wireType != 0 {
+ return fmt.Errorf("proto: wrong wireType = %d for field AdminAccess", wireType)
}
- if err := m.Parameters.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
+ var v int
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ v |= int(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
}
- iNdEx = postIndex
+ b := bool(v != 0)
+ m.AdminAccess = &b
default:
iNdEx = preIndex
skippy, err := skipGenerated(dAtA[iNdEx:])
@@ -6685,7 +6236,7 @@ func (m *OpaqueDeviceConfiguration) Unmarshal(dAtA []byte) error {
}
return nil
}
-func (m *PodSchedulingContext) Unmarshal(dAtA []byte) error {
+func (m *DeviceRequestAllocationResult) Unmarshal(dAtA []byte) error {
l := len(dAtA)
iNdEx := 0
for iNdEx < l {
@@ -6708,17 +6259,17 @@ func (m *PodSchedulingContext) Unmarshal(dAtA []byte) error {
fieldNum := int32(wire >> 3)
wireType := int(wire & 0x7)
if wireType == 4 {
- return fmt.Errorf("proto: PodSchedulingContext: wiretype end group for non-group")
+ return fmt.Errorf("proto: DeviceRequestAllocationResult: wiretype end group for non-group")
}
if fieldNum <= 0 {
- return fmt.Errorf("proto: PodSchedulingContext: illegal tag %d (wire type %d)", fieldNum, wire)
+ return fmt.Errorf("proto: DeviceRequestAllocationResult: illegal tag %d (wire type %d)", fieldNum, wire)
}
switch fieldNum {
case 1:
if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field ObjectMeta", wireType)
+ return fmt.Errorf("proto: wrong wireType = %d for field Request", wireType)
}
- var msglen int
+ var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowGenerated
@@ -6728,30 +6279,29 @@ func (m *PodSchedulingContext) Unmarshal(dAtA []byte) error {
}
b := dAtA[iNdEx]
iNdEx++
- msglen |= int(b&0x7F) << shift
+ stringLen |= uint64(b&0x7F) << shift
if b < 0x80 {
break
}
}
- if msglen < 0 {
+ intStringLen := int(stringLen)
+ if intStringLen < 0 {
return ErrInvalidLengthGenerated
}
- postIndex := iNdEx + msglen
+ postIndex := iNdEx + intStringLen
if postIndex < 0 {
return ErrInvalidLengthGenerated
}
if postIndex > l {
return io.ErrUnexpectedEOF
}
- if err := m.ObjectMeta.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
+ m.Request = string(dAtA[iNdEx:postIndex])
iNdEx = postIndex
case 2:
if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Spec", wireType)
+ return fmt.Errorf("proto: wrong wireType = %d for field Driver", wireType)
}
- var msglen int
+ var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowGenerated
@@ -6761,30 +6311,29 @@ func (m *PodSchedulingContext) Unmarshal(dAtA []byte) error {
}
b := dAtA[iNdEx]
iNdEx++
- msglen |= int(b&0x7F) << shift
+ stringLen |= uint64(b&0x7F) << shift
if b < 0x80 {
break
}
}
- if msglen < 0 {
+ intStringLen := int(stringLen)
+ if intStringLen < 0 {
return ErrInvalidLengthGenerated
}
- postIndex := iNdEx + msglen
+ postIndex := iNdEx + intStringLen
if postIndex < 0 {
return ErrInvalidLengthGenerated
}
if postIndex > l {
return io.ErrUnexpectedEOF
}
- if err := m.Spec.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
+ m.Driver = string(dAtA[iNdEx:postIndex])
iNdEx = postIndex
case 3:
if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Status", wireType)
+ return fmt.Errorf("proto: wrong wireType = %d for field Pool", wireType)
}
- var msglen int
+ var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowGenerated
@@ -6794,25 +6343,77 @@ func (m *PodSchedulingContext) Unmarshal(dAtA []byte) error {
}
b := dAtA[iNdEx]
iNdEx++
- msglen |= int(b&0x7F) << shift
+ stringLen |= uint64(b&0x7F) << shift
if b < 0x80 {
break
}
}
- if msglen < 0 {
+ intStringLen := int(stringLen)
+ if intStringLen < 0 {
return ErrInvalidLengthGenerated
}
- postIndex := iNdEx + msglen
+ postIndex := iNdEx + intStringLen
if postIndex < 0 {
return ErrInvalidLengthGenerated
}
if postIndex > l {
return io.ErrUnexpectedEOF
}
- if err := m.Status.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
+ m.Pool = string(dAtA[iNdEx:postIndex])
+ iNdEx = postIndex
+ case 4:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field Device", wireType)
+ }
+ var stringLen uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ stringLen |= uint64(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ intStringLen := int(stringLen)
+ if intStringLen < 0 {
+ return ErrInvalidLengthGenerated
}
+ postIndex := iNdEx + intStringLen
+ if postIndex < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ m.Device = string(dAtA[iNdEx:postIndex])
iNdEx = postIndex
+ case 5:
+ if wireType != 0 {
+ return fmt.Errorf("proto: wrong wireType = %d for field AdminAccess", wireType)
+ }
+ var v int
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ v |= int(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ b := bool(v != 0)
+ m.AdminAccess = &b
default:
iNdEx = preIndex
skippy, err := skipGenerated(dAtA[iNdEx:])
@@ -6834,7 +6435,7 @@ func (m *PodSchedulingContext) Unmarshal(dAtA []byte) error {
}
return nil
}
-func (m *PodSchedulingContextList) Unmarshal(dAtA []byte) error {
+func (m *DeviceSelector) Unmarshal(dAtA []byte) error {
l := len(dAtA)
iNdEx := 0
for iNdEx < l {
@@ -6847,58 +6448,25 @@ func (m *PodSchedulingContextList) Unmarshal(dAtA []byte) error {
if iNdEx >= l {
return io.ErrUnexpectedEOF
}
- b := dAtA[iNdEx]
- iNdEx++
- wire |= uint64(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- fieldNum := int32(wire >> 3)
- wireType := int(wire & 0x7)
- if wireType == 4 {
- return fmt.Errorf("proto: PodSchedulingContextList: wiretype end group for non-group")
- }
- if fieldNum <= 0 {
- return fmt.Errorf("proto: PodSchedulingContextList: illegal tag %d (wire type %d)", fieldNum, wire)
- }
- switch fieldNum {
- case 1:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field ListMeta", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthGenerated
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLengthGenerated
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if err := m.ListMeta.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
+ b := dAtA[iNdEx]
+ iNdEx++
+ wire |= uint64(b&0x7F) << shift
+ if b < 0x80 {
+ break
}
- iNdEx = postIndex
- case 2:
+ }
+ fieldNum := int32(wire >> 3)
+ wireType := int(wire & 0x7)
+ if wireType == 4 {
+ return fmt.Errorf("proto: DeviceSelector: wiretype end group for non-group")
+ }
+ if fieldNum <= 0 {
+ return fmt.Errorf("proto: DeviceSelector: illegal tag %d (wire type %d)", fieldNum, wire)
+ }
+ switch fieldNum {
+ case 1:
if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Items", wireType)
+ return fmt.Errorf("proto: wrong wireType = %d for field CEL", wireType)
}
var msglen int
for shift := uint(0); ; shift += 7 {
@@ -6925,8 +6493,10 @@ func (m *PodSchedulingContextList) Unmarshal(dAtA []byte) error {
if postIndex > l {
return io.ErrUnexpectedEOF
}
- m.Items = append(m.Items, PodSchedulingContext{})
- if err := m.Items[len(m.Items)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
+ if m.CEL == nil {
+ m.CEL = &CELDeviceSelector{}
+ }
+ if err := m.CEL.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
return err
}
iNdEx = postIndex
@@ -6951,7 +6521,7 @@ func (m *PodSchedulingContextList) Unmarshal(dAtA []byte) error {
}
return nil
}
-func (m *PodSchedulingContextSpec) Unmarshal(dAtA []byte) error {
+func (m *NetworkDeviceData) Unmarshal(dAtA []byte) error {
l := len(dAtA)
iNdEx := 0
for iNdEx < l {
@@ -6974,15 +6544,15 @@ func (m *PodSchedulingContextSpec) Unmarshal(dAtA []byte) error {
fieldNum := int32(wire >> 3)
wireType := int(wire & 0x7)
if wireType == 4 {
- return fmt.Errorf("proto: PodSchedulingContextSpec: wiretype end group for non-group")
+ return fmt.Errorf("proto: NetworkDeviceData: wiretype end group for non-group")
}
if fieldNum <= 0 {
- return fmt.Errorf("proto: PodSchedulingContextSpec: illegal tag %d (wire type %d)", fieldNum, wire)
+ return fmt.Errorf("proto: NetworkDeviceData: illegal tag %d (wire type %d)", fieldNum, wire)
}
switch fieldNum {
case 1:
if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field SelectedNode", wireType)
+ return fmt.Errorf("proto: wrong wireType = %d for field InterfaceName", wireType)
}
var stringLen uint64
for shift := uint(0); ; shift += 7 {
@@ -7010,11 +6580,43 @@ func (m *PodSchedulingContextSpec) Unmarshal(dAtA []byte) error {
if postIndex > l {
return io.ErrUnexpectedEOF
}
- m.SelectedNode = string(dAtA[iNdEx:postIndex])
+ m.InterfaceName = string(dAtA[iNdEx:postIndex])
iNdEx = postIndex
case 2:
if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field PotentialNodes", wireType)
+ return fmt.Errorf("proto: wrong wireType = %d for field IPs", wireType)
+ }
+ var stringLen uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ stringLen |= uint64(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ intStringLen := int(stringLen)
+ if intStringLen < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ postIndex := iNdEx + intStringLen
+ if postIndex < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ m.IPs = append(m.IPs, string(dAtA[iNdEx:postIndex]))
+ iNdEx = postIndex
+ case 3:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field HardwareAddress", wireType)
}
var stringLen uint64
for shift := uint(0); ; shift += 7 {
@@ -7042,7 +6644,7 @@ func (m *PodSchedulingContextSpec) Unmarshal(dAtA []byte) error {
if postIndex > l {
return io.ErrUnexpectedEOF
}
- m.PotentialNodes = append(m.PotentialNodes, string(dAtA[iNdEx:postIndex]))
+ m.HardwareAddress = string(dAtA[iNdEx:postIndex])
iNdEx = postIndex
default:
iNdEx = preIndex
@@ -7065,7 +6667,7 @@ func (m *PodSchedulingContextSpec) Unmarshal(dAtA []byte) error {
}
return nil
}
-func (m *PodSchedulingContextStatus) Unmarshal(dAtA []byte) error {
+func (m *OpaqueDeviceConfiguration) Unmarshal(dAtA []byte) error {
l := len(dAtA)
iNdEx := 0
for iNdEx < l {
@@ -7088,15 +6690,47 @@ func (m *PodSchedulingContextStatus) Unmarshal(dAtA []byte) error {
fieldNum := int32(wire >> 3)
wireType := int(wire & 0x7)
if wireType == 4 {
- return fmt.Errorf("proto: PodSchedulingContextStatus: wiretype end group for non-group")
+ return fmt.Errorf("proto: OpaqueDeviceConfiguration: wiretype end group for non-group")
}
if fieldNum <= 0 {
- return fmt.Errorf("proto: PodSchedulingContextStatus: illegal tag %d (wire type %d)", fieldNum, wire)
+ return fmt.Errorf("proto: OpaqueDeviceConfiguration: illegal tag %d (wire type %d)", fieldNum, wire)
}
switch fieldNum {
case 1:
if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field ResourceClaims", wireType)
+ return fmt.Errorf("proto: wrong wireType = %d for field Driver", wireType)
+ }
+ var stringLen uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ stringLen |= uint64(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ intStringLen := int(stringLen)
+ if intStringLen < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ postIndex := iNdEx + intStringLen
+ if postIndex < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ m.Driver = string(dAtA[iNdEx:postIndex])
+ iNdEx = postIndex
+ case 2:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field Parameters", wireType)
}
var msglen int
for shift := uint(0); ; shift += 7 {
@@ -7123,8 +6757,7 @@ func (m *PodSchedulingContextStatus) Unmarshal(dAtA []byte) error {
if postIndex > l {
return io.ErrUnexpectedEOF
}
- m.ResourceClaims = append(m.ResourceClaims, ResourceClaimSchedulingStatus{})
- if err := m.ResourceClaims[len(m.ResourceClaims)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
+ if err := m.Parameters.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
return err
}
iNdEx = postIndex
@@ -7593,120 +7226,6 @@ func (m *ResourceClaimList) Unmarshal(dAtA []byte) error {
}
return nil
}
-func (m *ResourceClaimSchedulingStatus) Unmarshal(dAtA []byte) error {
- l := len(dAtA)
- iNdEx := 0
- for iNdEx < l {
- preIndex := iNdEx
- var wire uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- wire |= uint64(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- fieldNum := int32(wire >> 3)
- wireType := int(wire & 0x7)
- if wireType == 4 {
- return fmt.Errorf("proto: ResourceClaimSchedulingStatus: wiretype end group for non-group")
- }
- if fieldNum <= 0 {
- return fmt.Errorf("proto: ResourceClaimSchedulingStatus: illegal tag %d (wire type %d)", fieldNum, wire)
- }
- switch fieldNum {
- case 1:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Name", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- stringLen |= uint64(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- intStringLen := int(stringLen)
- if intStringLen < 0 {
- return ErrInvalidLengthGenerated
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthGenerated
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.Name = string(dAtA[iNdEx:postIndex])
- iNdEx = postIndex
- case 2:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field UnsuitableNodes", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- stringLen |= uint64(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- intStringLen := int(stringLen)
- if intStringLen < 0 {
- return ErrInvalidLengthGenerated
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthGenerated
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.UnsuitableNodes = append(m.UnsuitableNodes, string(dAtA[iNdEx:postIndex]))
- iNdEx = postIndex
- default:
- iNdEx = preIndex
- skippy, err := skipGenerated(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthGenerated
- }
- if (iNdEx + skippy) > l {
- return io.ErrUnexpectedEOF
- }
- iNdEx += skippy
- }
- }
-
- if iNdEx > l {
- return io.ErrUnexpectedEOF
- }
- return nil
-}
func (m *ResourceClaimSpec) Unmarshal(dAtA []byte) error {
l := len(dAtA)
iNdEx := 0
@@ -7769,38 +7288,6 @@ func (m *ResourceClaimSpec) Unmarshal(dAtA []byte) error {
return err
}
iNdEx = postIndex
- case 2:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Controller", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- stringLen |= uint64(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- intStringLen := int(stringLen)
- if intStringLen < 0 {
- return ErrInvalidLengthGenerated
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLengthGenerated
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.Controller = string(dAtA[iNdEx:postIndex])
- iNdEx = postIndex
default:
iNdEx = preIndex
skippy, err := skipGenerated(dAtA[iNdEx:])
@@ -7921,11 +7408,11 @@ func (m *ResourceClaimStatus) Unmarshal(dAtA []byte) error {
return err
}
iNdEx = postIndex
- case 3:
- if wireType != 0 {
- return fmt.Errorf("proto: wrong wireType = %d for field DeallocationRequested", wireType)
+ case 4:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field Devices", wireType)
}
- var v int
+ var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowGenerated
@@ -7935,12 +7422,26 @@ func (m *ResourceClaimStatus) Unmarshal(dAtA []byte) error {
}
b := dAtA[iNdEx]
iNdEx++
- v |= int(b&0x7F) << shift
+ msglen |= int(b&0x7F) << shift
if b < 0x80 {
break
}
}
- m.DeallocationRequested = bool(v != 0)
+ if msglen < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ postIndex := iNdEx + msglen
+ if postIndex < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ m.Devices = append(m.Devices, AllocatedDeviceStatus{})
+ if err := m.Devices[len(m.Devices)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
+ return err
+ }
+ iNdEx = postIndex
default:
iNdEx = preIndex
skippy, err := skipGenerated(dAtA[iNdEx:])
@@ -8820,7 +8321,7 @@ func (m *ResourceSliceSpec) Unmarshal(dAtA []byte) error {
return io.ErrUnexpectedEOF
}
if m.NodeSelector == nil {
- m.NodeSelector = &v1.NodeSelector{}
+ m.NodeSelector = &v11.NodeSelector{}
}
if err := m.NodeSelector.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
return err
diff --git a/vendor/k8s.io/api/resource/v1alpha3/generated.proto b/vendor/k8s.io/api/resource/v1alpha3/generated.proto
index b4428ad4..13be7cbd 100644
--- a/vendor/k8s.io/api/resource/v1alpha3/generated.proto
+++ b/vendor/k8s.io/api/resource/v1alpha3/generated.proto
@@ -30,6 +30,56 @@ import "k8s.io/apimachinery/pkg/runtime/schema/generated.proto";
// Package-wide variables from generator "generated".
option go_package = "k8s.io/api/resource/v1alpha3";
+// AllocatedDeviceStatus contains the status of an allocated device, if the
+// driver chooses to report it. This may include driver-specific information.
+message AllocatedDeviceStatus {
+ // Driver specifies the name of the DRA driver whose kubelet
+ // plugin should be invoked to process the allocation once the claim is
+ // needed on a node.
+ //
+ // Must be a DNS subdomain and should end with a DNS domain owned by the
+ // vendor of the driver.
+ //
+ // +required
+ optional string driver = 1;
+
+ // This name together with the driver name and the device name field
+ // identify which device was allocated (`//`).
+ //
+ // Must not be longer than 253 characters and may contain one or more
+ // DNS sub-domains separated by slashes.
+ //
+ // +required
+ optional string pool = 2;
+
+ // Device references one device instance via its name in the driver's
+ // resource pool. It must be a DNS label.
+ //
+ // +required
+ optional string device = 3;
+
+ // Conditions contains the latest observation of the device's state.
+ // If the device has been configured according to the class and claim
+ // config references, the `Ready` condition should be True.
+ //
+ // +optional
+ // +listType=map
+ // +listMapKey=type
+ repeated .k8s.io.apimachinery.pkg.apis.meta.v1.Condition conditions = 4;
+
+ // Data contains arbitrary driver-specific data.
+ //
+ // The length of the raw data must be smaller or equal to 10 Ki.
+ //
+ // +optional
+ optional .k8s.io.apimachinery.pkg.runtime.RawExtension data = 5;
+
+ // NetworkData contains network-related information specific to the device.
+ //
+ // +optional
+ optional NetworkDeviceData networkData = 6;
+}
+
// AllocationResult contains attributes of an allocated resource.
message AllocationResult {
// Devices is the result of allocating devices.
@@ -42,22 +92,6 @@ message AllocationResult {
//
// +optional
optional .k8s.io.api.core.v1.NodeSelector nodeSelector = 3;
-
- // Controller is the name of the DRA driver which handled the
- // allocation. That driver is also responsible for deallocating the
- // claim. It is empty when the claim can be deallocated without
- // involving a driver.
- //
- // A driver may allocate devices provided by other drivers, so this
- // driver name here can be different from the driver names listed for
- // the results.
- //
- // This is an alpha field and requires enabling the DRAControlPlaneController
- // feature gate.
- //
- // +optional
- // +featureGate=DRAControlPlaneController
- optional string controller = 4;
}
// BasicDevice defines one device instance.
@@ -128,6 +162,10 @@ message CELDeviceSelector {
//
// cel.bind(dra, device.attributes["dra.example.com"], dra.someBool && dra.anotherBool)
//
+ // The length of the expression must be smaller or equal to 10 Ki. The
+ // cost of evaluating it is also limited based on the estimated number
+ // of logical steps.
+ //
// +required
optional string expression = 1;
}
@@ -309,22 +347,6 @@ message DeviceClassSpec {
// +optional
// +listType=atomic
repeated DeviceClassConfiguration config = 2;
-
- // Only nodes matching the selector will be considered by the scheduler
- // when trying to find a Node that fits a Pod when that Pod uses
- // a claim that has not been allocated yet *and* that claim
- // gets allocated through a control plane controller. It is ignored
- // when the claim does not use a control plane controller
- // for allocation.
- //
- // Setting this field is optional. If unset, all Nodes are candidates.
- //
- // This is an alpha field and requires enabling the DRAControlPlaneController
- // feature gate.
- //
- // +optional
- // +featureGate=DRAControlPlaneController
- optional .k8s.io.api.core.v1.NodeSelector suitableNodes = 3;
}
// DeviceConfiguration must have exactly one field set. It gets embedded
@@ -443,8 +465,12 @@ message DeviceRequest {
// all ordinary claims to the device with respect to access modes and
// any resource allocations.
//
+ // This is an alpha field and requires enabling the DRAAdminAccess
+ // feature gate. Admin access is disabled if this field is unset or
+ // set to false, otherwise it is enabled.
+ //
// +optional
- // +default=false
+ // +featureGate=DRAAdminAccess
optional bool adminAccess = 6;
}
@@ -481,6 +507,18 @@ message DeviceRequestAllocationResult {
//
// +required
optional string device = 4;
+
+ // AdminAccess indicates that this device was allocated for
+ // administrative access. See the corresponding request field
+ // for a definition of mode.
+ //
+ // This is an alpha field and requires enabling the DRAAdminAccess
+ // feature gate. Admin access is disabled if this field is unset or
+ // set to false, otherwise it is enabled.
+ //
+ // +optional
+ // +featureGate=DRAAdminAccess
+ optional bool adminAccess = 5;
}
// DeviceSelector must have exactly one field set.
@@ -492,6 +530,37 @@ message DeviceSelector {
optional CELDeviceSelector cel = 1;
}
+// NetworkDeviceData provides network-related details for the allocated device.
+// This information may be filled by drivers or other components to configure
+// or identify the device within a network context.
+message NetworkDeviceData {
+ // InterfaceName specifies the name of the network interface associated with
+ // the allocated device. This might be the name of a physical or virtual
+ // network interface being configured in the pod.
+ //
+ // Must not be longer than 256 characters.
+ //
+ // +optional
+ optional string interfaceName = 1;
+
+ // IPs lists the network addresses assigned to the device's network interface.
+ // This can include both IPv4 and IPv6 addresses.
+ // The IPs are in the CIDR notation, which includes both the address and the
+ // associated subnet mask.
+ // e.g.: "192.0.2.5/24" for IPv4 and "2001:db8::5/64" for IPv6.
+ //
+ // +optional
+ // +listType=atomic
+ repeated string ips = 2;
+
+ // HardwareAddress represents the hardware address (e.g. MAC Address) of the device's network interface.
+ //
+ // Must not be longer than 128 characters.
+ //
+ // +optional
+ optional string hardwareAddress = 3;
+}
+
// OpaqueDeviceConfiguration contains configuration parameters for a driver
// in a format defined by the driver vendor.
message OpaqueDeviceConfiguration {
@@ -512,73 +581,12 @@ message OpaqueDeviceConfiguration {
// includes self-identification and a version ("kind" + "apiVersion" for
// Kubernetes types), with conversion between different versions.
//
+ // The length of the raw data must be smaller or equal to 10 Ki.
+ //
// +required
optional .k8s.io.apimachinery.pkg.runtime.RawExtension parameters = 2;
}
-// PodSchedulingContext objects hold information that is needed to schedule
-// a Pod with ResourceClaims that use "WaitForFirstConsumer" allocation
-// mode.
-//
-// This is an alpha type and requires enabling the DRAControlPlaneController
-// feature gate.
-message PodSchedulingContext {
- // Standard object metadata
- // +optional
- optional .k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1;
-
- // Spec describes where resources for the Pod are needed.
- optional PodSchedulingContextSpec spec = 2;
-
- // Status describes where resources for the Pod can be allocated.
- //
- // +optional
- optional PodSchedulingContextStatus status = 3;
-}
-
-// PodSchedulingContextList is a collection of Pod scheduling objects.
-message PodSchedulingContextList {
- // Standard list metadata
- // +optional
- optional .k8s.io.apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1;
-
- // Items is the list of PodSchedulingContext objects.
- repeated PodSchedulingContext items = 2;
-}
-
-// PodSchedulingContextSpec describes where resources for the Pod are needed.
-message PodSchedulingContextSpec {
- // SelectedNode is the node for which allocation of ResourceClaims that
- // are referenced by the Pod and that use "WaitForFirstConsumer"
- // allocation is to be attempted.
- //
- // +optional
- optional string selectedNode = 1;
-
- // PotentialNodes lists nodes where the Pod might be able to run.
- //
- // The size of this field is limited to 128. This is large enough for
- // many clusters. Larger clusters may need more attempts to find a node
- // that suits all pending resources. This may get increased in the
- // future, but not reduced.
- //
- // +optional
- // +listType=atomic
- repeated string potentialNodes = 2;
-}
-
-// PodSchedulingContextStatus describes where resources for the Pod can be allocated.
-message PodSchedulingContextStatus {
- // ResourceClaims describes resource availability for each
- // pod.spec.resourceClaim entry where the corresponding ResourceClaim
- // uses "WaitForFirstConsumer" allocation mode.
- //
- // +listType=map
- // +listMapKey=name
- // +optional
- repeated ResourceClaimSchedulingStatus resourceClaims = 1;
-}
-
// ResourceClaim describes a request for access to resources in the cluster,
// for use by workloads. For example, if a workload needs an accelerator device
// with specific properties, this is how that request is expressed. The status
@@ -634,46 +642,12 @@ message ResourceClaimList {
repeated ResourceClaim items = 2;
}
-// ResourceClaimSchedulingStatus contains information about one particular
-// ResourceClaim with "WaitForFirstConsumer" allocation mode.
-message ResourceClaimSchedulingStatus {
- // Name matches the pod.spec.resourceClaims[*].Name field.
- //
- // +required
- optional string name = 1;
-
- // UnsuitableNodes lists nodes that the ResourceClaim cannot be
- // allocated for.
- //
- // The size of this field is limited to 128, the same as for
- // PodSchedulingSpec.PotentialNodes. This may get increased in the
- // future, but not reduced.
- //
- // +optional
- // +listType=atomic
- repeated string unsuitableNodes = 2;
-}
-
// ResourceClaimSpec defines what is being requested in a ResourceClaim and how to configure it.
message ResourceClaimSpec {
// Devices defines how to request devices.
//
// +optional
optional DeviceClaim devices = 1;
-
- // Controller is the name of the DRA driver that is meant
- // to handle allocation of this claim. If empty, allocation is handled
- // by the scheduler while scheduling a pod.
- //
- // Must be a DNS subdomain and should end with a DNS domain owned by the
- // vendor of the driver.
- //
- // This is an alpha field and requires enabling the DRAControlPlaneController
- // feature gate.
- //
- // +optional
- // +featureGate=DRAControlPlaneController
- optional string controller = 2;
}
// ResourceClaimStatus tracks whether the resource has been allocated and what
@@ -711,19 +685,17 @@ message ResourceClaimStatus {
// +patchMergeKey=uid
repeated ResourceClaimConsumerReference reservedFor = 2;
- // Indicates that a claim is to be deallocated. While this is set,
- // no new consumers may be added to ReservedFor.
- //
- // This is only used if the claim needs to be deallocated by a DRA driver.
- // That driver then must deallocate this claim and reset the field
- // together with clearing the Allocation field.
- //
- // This is an alpha field and requires enabling the DRAControlPlaneController
- // feature gate.
+ // Devices contains the status of each device allocated for this
+ // claim, as reported by the driver. This can include driver-specific
+ // information. Entries are owned by their respective drivers.
//
// +optional
- // +featureGate=DRAControlPlaneController
- optional bool deallocationRequested = 3;
+ // +listType=map
+ // +listMapKey=driver
+ // +listMapKey=device
+ // +listMapKey=pool
+ // +featureGate=DRAResourceClaimDeviceStatus
+ repeated AllocatedDeviceStatus devices = 4;
}
// ResourceClaimTemplate is used to produce ResourceClaim objects.
@@ -755,7 +727,7 @@ message ResourceClaimTemplateList {
// ResourceClaimTemplateSpec contains the metadata and fields for a ResourceClaim.
message ResourceClaimTemplateSpec {
- // ObjectMeta may contain labels and annotations that will be copied into the PVC
+ // ObjectMeta may contain labels and annotations that will be copied into the ResourceClaim
// when creating it. No other fields are allowed and will be rejected during
// validation.
// +optional
diff --git a/vendor/k8s.io/api/resource/v1alpha3/register.go b/vendor/k8s.io/api/resource/v1alpha3/register.go
index 74044e8c..8573758e 100644
--- a/vendor/k8s.io/api/resource/v1alpha3/register.go
+++ b/vendor/k8s.io/api/resource/v1alpha3/register.go
@@ -50,8 +50,6 @@ func addKnownTypes(scheme *runtime.Scheme) error {
&ResourceClaimList{},
&ResourceClaimTemplate{},
&ResourceClaimTemplateList{},
- &PodSchedulingContext{},
- &PodSchedulingContextList{},
&ResourceSlice{},
&ResourceSliceList{},
)
diff --git a/vendor/k8s.io/api/resource/v1alpha3/types.go b/vendor/k8s.io/api/resource/v1alpha3/types.go
index 4efd2491..e3d7fd89 100644
--- a/vendor/k8s.io/api/resource/v1alpha3/types.go
+++ b/vendor/k8s.io/api/resource/v1alpha3/types.go
@@ -37,6 +37,7 @@ const (
// +genclient:nonNamespaced
// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
// +k8s:prerelease-lifecycle-gen:introduced=1.31
+// +k8s:prerelease-lifecycle-gen:replacement=resource.k8s.io,v1beta1,ResourceSlice
// ResourceSlice represents one or more resources in a pool of similar resources,
// managed by a common driver. A pool may span more than one ResourceSlice, and exactly how many
@@ -220,7 +221,7 @@ type BasicDevice struct {
Capacity map[QualifiedName]resource.Quantity `json:"capacity,omitempty" protobuf:"bytes,2,rep,name=capacity"`
}
-// Limit for the sum of the number of entries in both ResourceSlices.
+// Limit for the sum of the number of entries in both attributes and capacity.
const ResourceSliceMaxAttributesAndCapacitiesPerDevice = 32
// QualifiedName is the name of a device attribute or capacity.
@@ -244,6 +245,9 @@ type QualifiedName string
// FullyQualifiedName is a QualifiedName where the domain is set.
type FullyQualifiedName string
+// DeviceMaxDomainLength is the maximum length of the domain prefix in a fully-qualified name.
+const DeviceMaxDomainLength = 63
+
// DeviceMaxIDLength is the maximum length of the identifier in a device attribute or capacity name (`/`).
const DeviceMaxIDLength = 32
@@ -284,6 +288,7 @@ const DeviceAttributeMaxValueLength = 64
// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
// +k8s:prerelease-lifecycle-gen:introduced=1.31
+// +k8s:prerelease-lifecycle-gen:replacement=resource.k8s.io,v1beta1,ResourceSliceList
// ResourceSliceList is a collection of ResourceSlices.
type ResourceSliceList struct {
@@ -298,7 +303,8 @@ type ResourceSliceList struct {
// +genclient
// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
-// +k8s:prerelease-lifecycle-gen:introduced=1.26
+// +k8s:prerelease-lifecycle-gen:introduced=1.31
+// +k8s:prerelease-lifecycle-gen:replacement=resource.k8s.io,v1beta1,ResourceClaim
// ResourceClaim describes a request for access to resources in the cluster,
// for use by workloads. For example, if a workload needs an accelerator device
@@ -330,19 +336,10 @@ type ResourceClaimSpec struct {
// +optional
Devices DeviceClaim `json:"devices" protobuf:"bytes,1,name=devices"`
- // Controller is the name of the DRA driver that is meant
- // to handle allocation of this claim. If empty, allocation is handled
- // by the scheduler while scheduling a pod.
- //
- // Must be a DNS subdomain and should end with a DNS domain owned by the
- // vendor of the driver.
- //
- // This is an alpha field and requires enabling the DRAControlPlaneController
- // feature gate.
- //
- // +optional
- // +featureGate=DRAControlPlaneController
- Controller string `json:"controller,omitempty" protobuf:"bytes,2,opt,name=controller"`
+ // Controller is tombstoned since Kubernetes 1.32 where
+ // it got removed. May be reused once decoding v1alpha3 is no longer
+ // supported.
+ // Controller string `json:"controller,omitempty" protobuf:"bytes,2,opt,name=controller"`
}
// DeviceClaim defines how to request devices with a ResourceClaim.
@@ -368,6 +365,12 @@ type DeviceClaim struct {
// +optional
// +listType=atomic
Config []DeviceClaimConfiguration `json:"config,omitempty" protobuf:"bytes,3,opt,name=config"`
+
+ // Potential future extension, ignored by older schedulers. This is
+ // fine because scoring allows users to define a preference, without
+ // making it a hard requirement.
+ //
+ // Score *SomeScoringStruct
}
const (
@@ -451,9 +454,13 @@ type DeviceRequest struct {
// all ordinary claims to the device with respect to access modes and
// any resource allocations.
//
+ // This is an alpha field and requires enabling the DRAAdminAccess
+ // feature gate. Admin access is disabled if this field is unset or
+ // set to false, otherwise it is enabled.
+ //
// +optional
- // +default=false
- AdminAccess bool `json:"adminAccess,omitempty" protobuf:"bytes,6,opt,name=adminAccess"`
+ // +featureGate=DRAAdminAccess
+ AdminAccess *bool `json:"adminAccess,omitempty" protobuf:"bytes,6,opt,name=adminAccess"`
}
const (
@@ -526,10 +533,42 @@ type CELDeviceSelector struct {
//
// cel.bind(dra, device.attributes["dra.example.com"], dra.someBool && dra.anotherBool)
//
+ // The length of the expression must be smaller or equal to 10 Ki. The
+ // cost of evaluating it is also limited based on the estimated number
+ // of logical steps.
+ //
// +required
Expression string `json:"expression" protobuf:"bytes,1,name=expression"`
}
+// CELSelectorExpressionMaxCost specifies the cost limit for a single CEL selector
+// evaluation.
+//
+// There is no overall budget for selecting a device, so the actual time
+// required for that is proportional to the number of CEL selectors and how
+// often they need to be evaluated, which can vary depending on several factors
+// (number of devices, cluster utilization, additional constraints).
+//
+// Validation against this limit and [CELSelectorExpressionMaxLength] happens
+// only when setting an expression for the first time or when changing it. If
+// the limits are changed in a future Kubernetes release, existing users are
+// guaranteed that existing expressions will continue to be valid.
+//
+// However, the kube-scheduler also applies this cost limit at runtime, so it
+// could happen that a valid expression fails at runtime after an up- or
+// downgrade. This can also happen without version skew when the cost estimate
+// underestimated the actual cost. That this might happen is the reason why
+// kube-scheduler enforces the runtime limit instead of relying on validation.
+//
+// According to
+// https://github.com/kubernetes/kubernetes/blob/4aeaf1e99e82da8334c0d6dddd848a194cd44b4f/staging/src/k8s.io/apiserver/pkg/apis/cel/config.go#L20-L22,
+// this gives roughly 0.1 second for each expression evaluation.
+// However, this depends on how fast the machine is.
+const CELSelectorExpressionMaxCost = 1000000
+
+// CELSelectorExpressionMaxLength is the maximum length of a CEL selector expression string.
+const CELSelectorExpressionMaxLength = 10 * 1024
+
// DeviceConstraint must have exactly one field set besides Requests.
type DeviceConstraint struct {
// Requests is a list of the one or more requests in this claim which
@@ -558,6 +597,16 @@ type DeviceConstraint struct {
// +optional
// +oneOf=ConstraintType
MatchAttribute *FullyQualifiedName `json:"matchAttribute,omitempty" protobuf:"bytes,2,opt,name=matchAttribute"`
+
+ // Potential future extension, not part of the current design:
+ // A CEL expression which compares different devices and returns
+ // true if they match.
+ //
+ // Because it would be part of a one-of, old schedulers will not
+ // accidentally ignore this additional, for them unknown match
+ // criteria.
+ //
+ // MatchExpression string
}
// DeviceClaimConfiguration is used for configuration parameters in DeviceClaim.
@@ -603,10 +652,16 @@ type OpaqueDeviceConfiguration struct {
// includes self-identification and a version ("kind" + "apiVersion" for
// Kubernetes types), with conversion between different versions.
//
+ // The length of the raw data must be smaller or equal to 10 Ki.
+ //
// +required
Parameters runtime.RawExtension `json:"parameters" protobuf:"bytes,2,name=parameters"`
}
+// OpaqueParametersMaxLength is the maximum length of the raw data in an
+// [OpaqueDeviceConfiguration.Parameters] field.
+const OpaqueParametersMaxLength = 10 * 1024
+
// ResourceClaimStatus tracks whether the resource has been allocated and what
// the result of that was.
type ResourceClaimStatus struct {
@@ -642,19 +697,22 @@ type ResourceClaimStatus struct {
// +patchMergeKey=uid
ReservedFor []ResourceClaimConsumerReference `json:"reservedFor,omitempty" protobuf:"bytes,2,opt,name=reservedFor" patchStrategy:"merge" patchMergeKey:"uid"`
- // Indicates that a claim is to be deallocated. While this is set,
- // no new consumers may be added to ReservedFor.
- //
- // This is only used if the claim needs to be deallocated by a DRA driver.
- // That driver then must deallocate this claim and reset the field
- // together with clearing the Allocation field.
- //
- // This is an alpha field and requires enabling the DRAControlPlaneController
- // feature gate.
+ // DeallocationRequested is tombstoned since Kubernetes 1.32 where
+ // it got removed. May be reused once decoding v1alpha3 is no longer
+ // supported.
+ // DeallocationRequested bool `json:"deallocationRequested,omitempty" protobuf:"bytes,3,opt,name=deallocationRequested"`
+
+ // Devices contains the status of each device allocated for this
+ // claim, as reported by the driver. This can include driver-specific
+ // information. Entries are owned by their respective drivers.
//
// +optional
- // +featureGate=DRAControlPlaneController
- DeallocationRequested bool `json:"deallocationRequested,omitempty" protobuf:"bytes,3,opt,name=deallocationRequested"`
+ // +listType=map
+ // +listMapKey=driver
+ // +listMapKey=device
+ // +listMapKey=pool
+ // +featureGate=DRAResourceClaimDeviceStatus
+ Devices []AllocatedDeviceStatus `json:"devices,omitempty" protobuf:"bytes,4,opt,name=devices"`
}
// ReservedForMaxSize is the maximum number of entries in
@@ -694,21 +752,10 @@ type AllocationResult struct {
// +optional
NodeSelector *v1.NodeSelector `json:"nodeSelector,omitempty" protobuf:"bytes,3,opt,name=nodeSelector"`
- // Controller is the name of the DRA driver which handled the
- // allocation. That driver is also responsible for deallocating the
- // claim. It is empty when the claim can be deallocated without
- // involving a driver.
- //
- // A driver may allocate devices provided by other drivers, so this
- // driver name here can be different from the driver names listed for
- // the results.
- //
- // This is an alpha field and requires enabling the DRAControlPlaneController
- // feature gate.
- //
- // +optional
- // +featureGate=DRAControlPlaneController
- Controller string `json:"controller,omitempty" protobuf:"bytes,4,opt,name=controller"`
+ // Controller is tombstoned since Kubernetes 1.32 where
+ // it got removed. May be reused once decoding v1alpha3 is no longer
+ // supported.
+ // Controller string `json:"controller,omitempty" protobuf:"bytes,4,opt,name=controller"`
}
// DeviceAllocationResult is the result of allocating devices.
@@ -769,6 +816,18 @@ type DeviceRequestAllocationResult struct {
//
// +required
Device string `json:"device" protobuf:"bytes,4,name=device"`
+
+ // AdminAccess indicates that this device was allocated for
+ // administrative access. See the corresponding request field
+ // for a definition of mode.
+ //
+ // This is an alpha field and requires enabling the DRAAdminAccess
+ // feature gate. Admin access is disabled if this field is unset or
+ // set to false, otherwise it is enabled.
+ //
+ // +optional
+ // +featureGate=DRAAdminAccess
+ AdminAccess *bool `json:"adminAccess" protobuf:"bytes,5,name=adminAccess"`
}
// DeviceAllocationConfiguration gets embedded in an AllocationResult.
@@ -799,7 +858,8 @@ const (
)
// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
-// +k8s:prerelease-lifecycle-gen:introduced=1.26
+// +k8s:prerelease-lifecycle-gen:introduced=1.31
+// +k8s:prerelease-lifecycle-gen:replacement=resource.k8s.io,v1beta1,ResourceClaimList
// ResourceClaimList is a collection of claims.
type ResourceClaimList struct {
@@ -812,111 +872,11 @@ type ResourceClaimList struct {
Items []ResourceClaim `json:"items" protobuf:"bytes,2,rep,name=items"`
}
-// +genclient
-// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
-// +k8s:prerelease-lifecycle-gen:introduced=1.26
-
-// PodSchedulingContext objects hold information that is needed to schedule
-// a Pod with ResourceClaims that use "WaitForFirstConsumer" allocation
-// mode.
-//
-// This is an alpha type and requires enabling the DRAControlPlaneController
-// feature gate.
-type PodSchedulingContext struct {
- metav1.TypeMeta `json:",inline"`
- // Standard object metadata
- // +optional
- metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
-
- // Spec describes where resources for the Pod are needed.
- Spec PodSchedulingContextSpec `json:"spec" protobuf:"bytes,2,name=spec"`
-
- // Status describes where resources for the Pod can be allocated.
- //
- // +optional
- Status PodSchedulingContextStatus `json:"status,omitempty" protobuf:"bytes,3,opt,name=status"`
-}
-
-// PodSchedulingContextSpec describes where resources for the Pod are needed.
-type PodSchedulingContextSpec struct {
- // SelectedNode is the node for which allocation of ResourceClaims that
- // are referenced by the Pod and that use "WaitForFirstConsumer"
- // allocation is to be attempted.
- //
- // +optional
- SelectedNode string `json:"selectedNode,omitempty" protobuf:"bytes,1,opt,name=selectedNode"`
-
- // PotentialNodes lists nodes where the Pod might be able to run.
- //
- // The size of this field is limited to 128. This is large enough for
- // many clusters. Larger clusters may need more attempts to find a node
- // that suits all pending resources. This may get increased in the
- // future, but not reduced.
- //
- // +optional
- // +listType=atomic
- PotentialNodes []string `json:"potentialNodes,omitempty" protobuf:"bytes,2,opt,name=potentialNodes"`
-}
-
-// PodSchedulingContextStatus describes where resources for the Pod can be allocated.
-type PodSchedulingContextStatus struct {
- // ResourceClaims describes resource availability for each
- // pod.spec.resourceClaim entry where the corresponding ResourceClaim
- // uses "WaitForFirstConsumer" allocation mode.
- //
- // +listType=map
- // +listMapKey=name
- // +optional
- ResourceClaims []ResourceClaimSchedulingStatus `json:"resourceClaims,omitempty" protobuf:"bytes,1,opt,name=resourceClaims"`
-
- // If there ever is a need to support other kinds of resources
- // than ResourceClaim, then new fields could get added here
- // for those other resources.
-}
-
-// ResourceClaimSchedulingStatus contains information about one particular
-// ResourceClaim with "WaitForFirstConsumer" allocation mode.
-type ResourceClaimSchedulingStatus struct {
- // Name matches the pod.spec.resourceClaims[*].Name field.
- //
- // +required
- Name string `json:"name" protobuf:"bytes,1,name=name"`
-
- // UnsuitableNodes lists nodes that the ResourceClaim cannot be
- // allocated for.
- //
- // The size of this field is limited to 128, the same as for
- // PodSchedulingSpec.PotentialNodes. This may get increased in the
- // future, but not reduced.
- //
- // +optional
- // +listType=atomic
- UnsuitableNodes []string `json:"unsuitableNodes,omitempty" protobuf:"bytes,2,opt,name=unsuitableNodes"`
-}
-
-// PodSchedulingNodeListMaxSize defines the maximum number of entries in the
-// node lists that are stored in PodSchedulingContext objects. This limit is part
-// of the API.
-const PodSchedulingNodeListMaxSize = 128
-
-// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
-// +k8s:prerelease-lifecycle-gen:introduced=1.26
-
-// PodSchedulingContextList is a collection of Pod scheduling objects.
-type PodSchedulingContextList struct {
- metav1.TypeMeta `json:",inline"`
- // Standard list metadata
- // +optional
- metav1.ListMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
-
- // Items is the list of PodSchedulingContext objects.
- Items []PodSchedulingContext `json:"items" protobuf:"bytes,2,rep,name=items"`
-}
-
// +genclient
// +genclient:nonNamespaced
// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
// +k8s:prerelease-lifecycle-gen:introduced=1.31
+// +k8s:prerelease-lifecycle-gen:replacement=resource.k8s.io,v1beta1,DeviceClass
// DeviceClass is a vendor- or admin-provided resource that contains
// device configuration and selectors. It can be referenced in
@@ -961,21 +921,10 @@ type DeviceClassSpec struct {
// +listType=atomic
Config []DeviceClassConfiguration `json:"config,omitempty" protobuf:"bytes,2,opt,name=config"`
- // Only nodes matching the selector will be considered by the scheduler
- // when trying to find a Node that fits a Pod when that Pod uses
- // a claim that has not been allocated yet *and* that claim
- // gets allocated through a control plane controller. It is ignored
- // when the claim does not use a control plane controller
- // for allocation.
- //
- // Setting this field is optional. If unset, all Nodes are candidates.
- //
- // This is an alpha field and requires enabling the DRAControlPlaneController
- // feature gate.
- //
- // +optional
- // +featureGate=DRAControlPlaneController
- SuitableNodes *v1.NodeSelector `json:"suitableNodes,omitempty" protobuf:"bytes,3,opt,name=suitableNodes"`
+ // SuitableNodes is tombstoned since Kubernetes 1.32 where
+ // it got removed. May be reused once decoding v1alpha3 is no longer
+ // supported.
+ // SuitableNodes *v1.NodeSelector `json:"suitableNodes,omitempty" protobuf:"bytes,3,opt,name=suitableNodes"`
}
// DeviceClassConfiguration is used in DeviceClass.
@@ -984,7 +933,8 @@ type DeviceClassConfiguration struct {
}
// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
-// +k8s:prerelease-lifecycle-gen:introduced=1.26
+// +k8s:prerelease-lifecycle-gen:introduced=1.31
+// +k8s:prerelease-lifecycle-gen:replacement=resource.k8s.io,v1beta1,DeviceClassList
// DeviceClassList is a collection of classes.
type DeviceClassList struct {
@@ -999,7 +949,8 @@ type DeviceClassList struct {
// +genclient
// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
-// +k8s:prerelease-lifecycle-gen:introduced=1.26
+// +k8s:prerelease-lifecycle-gen:introduced=1.31
+// +k8s:prerelease-lifecycle-gen:replacement=resource.k8s.io,v1beta1,ResourceClaimTemplate
// ResourceClaimTemplate is used to produce ResourceClaim objects.
//
@@ -1021,7 +972,7 @@ type ResourceClaimTemplate struct {
// ResourceClaimTemplateSpec contains the metadata and fields for a ResourceClaim.
type ResourceClaimTemplateSpec struct {
- // ObjectMeta may contain labels and annotations that will be copied into the PVC
+ // ObjectMeta may contain labels and annotations that will be copied into the ResourceClaim
// when creating it. No other fields are allowed and will be rejected during
// validation.
// +optional
@@ -1034,7 +985,8 @@ type ResourceClaimTemplateSpec struct {
}
// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
-// +k8s:prerelease-lifecycle-gen:introduced=1.26
+// +k8s:prerelease-lifecycle-gen:introduced=1.31
+// +k8s:prerelease-lifecycle-gen:replacement=resource.k8s.io,v1beta1,ResourceClaimTemplateList
// ResourceClaimTemplateList is a collection of claim templates.
type ResourceClaimTemplateList struct {
@@ -1046,3 +998,84 @@ type ResourceClaimTemplateList struct {
// Items is the list of resource claim templates.
Items []ResourceClaimTemplate `json:"items" protobuf:"bytes,2,rep,name=items"`
}
+
+// AllocatedDeviceStatus contains the status of an allocated device, if the
+// driver chooses to report it. This may include driver-specific information.
+type AllocatedDeviceStatus struct {
+ // Driver specifies the name of the DRA driver whose kubelet
+ // plugin should be invoked to process the allocation once the claim is
+ // needed on a node.
+ //
+ // Must be a DNS subdomain and should end with a DNS domain owned by the
+ // vendor of the driver.
+ //
+ // +required
+ Driver string `json:"driver" protobuf:"bytes,1,rep,name=driver"`
+
+ // This name together with the driver name and the device name field
+ // identify which device was allocated (`//`).
+ //
+ // Must not be longer than 253 characters and may contain one or more
+ // DNS sub-domains separated by slashes.
+ //
+ // +required
+ Pool string `json:"pool" protobuf:"bytes,2,rep,name=pool"`
+
+ // Device references one device instance via its name in the driver's
+ // resource pool. It must be a DNS label.
+ //
+ // +required
+ Device string `json:"device" protobuf:"bytes,3,rep,name=device"`
+
+ // Conditions contains the latest observation of the device's state.
+ // If the device has been configured according to the class and claim
+ // config references, the `Ready` condition should be True.
+ //
+ // +optional
+ // +listType=map
+ // +listMapKey=type
+ Conditions []metav1.Condition `json:"conditions" protobuf:"bytes,4,opt,name=conditions"`
+
+ // Data contains arbitrary driver-specific data.
+ //
+ // The length of the raw data must be smaller or equal to 10 Ki.
+ //
+ // +optional
+ Data runtime.RawExtension `json:"data,omitempty" protobuf:"bytes,5,opt,name=data"`
+
+ // NetworkData contains network-related information specific to the device.
+ //
+ // +optional
+ NetworkData *NetworkDeviceData `json:"networkData,omitempty" protobuf:"bytes,6,opt,name=networkData"`
+}
+
+// NetworkDeviceData provides network-related details for the allocated device.
+// This information may be filled by drivers or other components to configure
+// or identify the device within a network context.
+type NetworkDeviceData struct {
+ // InterfaceName specifies the name of the network interface associated with
+ // the allocated device. This might be the name of a physical or virtual
+ // network interface being configured in the pod.
+ //
+ // Must not be longer than 256 characters.
+ //
+ // +optional
+ InterfaceName string `json:"interfaceName,omitempty" protobuf:"bytes,1,opt,name=interfaceName"`
+
+ // IPs lists the network addresses assigned to the device's network interface.
+ // This can include both IPv4 and IPv6 addresses.
+ // The IPs are in the CIDR notation, which includes both the address and the
+ // associated subnet mask.
+ // e.g.: "192.0.2.5/24" for IPv4 and "2001:db8::5/64" for IPv6.
+ //
+ // +optional
+ // +listType=atomic
+ IPs []string `json:"ips,omitempty" protobuf:"bytes,2,opt,name=ips"`
+
+ // HardwareAddress represents the hardware address (e.g. MAC Address) of the device's network interface.
+ //
+ // Must not be longer than 128 characters.
+ //
+ // +optional
+ HardwareAddress string `json:"hardwareAddress,omitempty" protobuf:"bytes,3,opt,name=hardwareAddress"`
+}
diff --git a/vendor/k8s.io/api/resource/v1alpha3/types_swagger_doc_generated.go b/vendor/k8s.io/api/resource/v1alpha3/types_swagger_doc_generated.go
index 1a44a971..1a71d64c 100644
--- a/vendor/k8s.io/api/resource/v1alpha3/types_swagger_doc_generated.go
+++ b/vendor/k8s.io/api/resource/v1alpha3/types_swagger_doc_generated.go
@@ -27,11 +27,24 @@ package v1alpha3
// Those methods can be generated by using hack/update-codegen.sh
// AUTO-GENERATED FUNCTIONS START HERE. DO NOT EDIT.
+var map_AllocatedDeviceStatus = map[string]string{
+ "": "AllocatedDeviceStatus contains the status of an allocated device, if the driver chooses to report it. This may include driver-specific information.",
+ "driver": "Driver specifies the name of the DRA driver whose kubelet plugin should be invoked to process the allocation once the claim is needed on a node.\n\nMust be a DNS subdomain and should end with a DNS domain owned by the vendor of the driver.",
+ "pool": "This name together with the driver name and the device name field identify which device was allocated (`//`).\n\nMust not be longer than 253 characters and may contain one or more DNS sub-domains separated by slashes.",
+ "device": "Device references one device instance via its name in the driver's resource pool. It must be a DNS label.",
+ "conditions": "Conditions contains the latest observation of the device's state. If the device has been configured according to the class and claim config references, the `Ready` condition should be True.",
+ "data": "Data contains arbitrary driver-specific data.\n\nThe length of the raw data must be smaller or equal to 10 Ki.",
+ "networkData": "NetworkData contains network-related information specific to the device.",
+}
+
+func (AllocatedDeviceStatus) SwaggerDoc() map[string]string {
+ return map_AllocatedDeviceStatus
+}
+
var map_AllocationResult = map[string]string{
"": "AllocationResult contains attributes of an allocated resource.",
"devices": "Devices is the result of allocating devices.",
"nodeSelector": "NodeSelector defines where the allocated resources are available. If unset, they are available everywhere.",
- "controller": "Controller is the name of the DRA driver which handled the allocation. That driver is also responsible for deallocating the claim. It is empty when the claim can be deallocated without involving a driver.\n\nA driver may allocate devices provided by other drivers, so this driver name here can be different from the driver names listed for the results.\n\nThis is an alpha field and requires enabling the DRAControlPlaneController feature gate.",
}
func (AllocationResult) SwaggerDoc() map[string]string {
@@ -50,7 +63,7 @@ func (BasicDevice) SwaggerDoc() map[string]string {
var map_CELDeviceSelector = map[string]string{
"": "CELDeviceSelector contains a CEL expression for selecting a device.",
- "expression": "Expression is a CEL expression which evaluates a single device. It must evaluate to true when the device under consideration satisfies the desired criteria, and false when it does not. Any other result is an error and causes allocation of devices to abort.\n\nThe expression's input is an object named \"device\", which carries the following properties:\n - driver (string): the name of the driver which defines this device.\n - attributes (map[string]object): the device's attributes, grouped by prefix\n (e.g. device.attributes[\"dra.example.com\"] evaluates to an object with all\n of the attributes which were prefixed by \"dra.example.com\".\n - capacity (map[string]object): the device's capacities, grouped by prefix.\n\nExample: Consider a device with driver=\"dra.example.com\", which exposes two attributes named \"model\" and \"ext.example.com/family\" and which exposes one capacity named \"modules\". This input to this expression would have the following fields:\n\n device.driver\n device.attributes[\"dra.example.com\"].model\n device.attributes[\"ext.example.com\"].family\n device.capacity[\"dra.example.com\"].modules\n\nThe device.driver field can be used to check for a specific driver, either as a high-level precondition (i.e. you only want to consider devices from this driver) or as part of a multi-clause expression that is meant to consider devices from different drivers.\n\nThe value type of each attribute is defined by the device definition, and users who write these expressions must consult the documentation for their specific drivers. The value type of each capacity is Quantity.\n\nIf an unknown prefix is used as a lookup in either device.attributes or device.capacity, an empty map will be returned. Any reference to an unknown field will cause an evaluation error and allocation to abort.\n\nA robust expression should check for the existence of attributes before referencing them.\n\nFor ease of use, the cel.bind() function is enabled, and can be used to simplify expressions that access multiple attributes with the same domain. For example:\n\n cel.bind(dra, device.attributes[\"dra.example.com\"], dra.someBool && dra.anotherBool)",
+ "expression": "Expression is a CEL expression which evaluates a single device. It must evaluate to true when the device under consideration satisfies the desired criteria, and false when it does not. Any other result is an error and causes allocation of devices to abort.\n\nThe expression's input is an object named \"device\", which carries the following properties:\n - driver (string): the name of the driver which defines this device.\n - attributes (map[string]object): the device's attributes, grouped by prefix\n (e.g. device.attributes[\"dra.example.com\"] evaluates to an object with all\n of the attributes which were prefixed by \"dra.example.com\".\n - capacity (map[string]object): the device's capacities, grouped by prefix.\n\nExample: Consider a device with driver=\"dra.example.com\", which exposes two attributes named \"model\" and \"ext.example.com/family\" and which exposes one capacity named \"modules\". This input to this expression would have the following fields:\n\n device.driver\n device.attributes[\"dra.example.com\"].model\n device.attributes[\"ext.example.com\"].family\n device.capacity[\"dra.example.com\"].modules\n\nThe device.driver field can be used to check for a specific driver, either as a high-level precondition (i.e. you only want to consider devices from this driver) or as part of a multi-clause expression that is meant to consider devices from different drivers.\n\nThe value type of each attribute is defined by the device definition, and users who write these expressions must consult the documentation for their specific drivers. The value type of each capacity is Quantity.\n\nIf an unknown prefix is used as a lookup in either device.attributes or device.capacity, an empty map will be returned. Any reference to an unknown field will cause an evaluation error and allocation to abort.\n\nA robust expression should check for the existence of attributes before referencing them.\n\nFor ease of use, the cel.bind() function is enabled, and can be used to simplify expressions that access multiple attributes with the same domain. For example:\n\n cel.bind(dra, device.attributes[\"dra.example.com\"], dra.someBool && dra.anotherBool)\n\nThe length of the expression must be smaller or equal to 10 Ki. The cost of evaluating it is also limited based on the estimated number of logical steps.",
}
func (CELDeviceSelector) SwaggerDoc() map[string]string {
@@ -148,10 +161,9 @@ func (DeviceClassList) SwaggerDoc() map[string]string {
}
var map_DeviceClassSpec = map[string]string{
- "": "DeviceClassSpec is used in a [DeviceClass] to define what can be allocated and how to configure it.",
- "selectors": "Each selector must be satisfied by a device which is claimed via this class.",
- "config": "Config defines configuration parameters that apply to each device that is claimed via this class. Some classses may potentially be satisfied by multiple drivers, so each instance of a vendor configuration applies to exactly one driver.\n\nThey are passed to the driver, but are not considered while allocating the claim.",
- "suitableNodes": "Only nodes matching the selector will be considered by the scheduler when trying to find a Node that fits a Pod when that Pod uses a claim that has not been allocated yet *and* that claim gets allocated through a control plane controller. It is ignored when the claim does not use a control plane controller for allocation.\n\nSetting this field is optional. If unset, all Nodes are candidates.\n\nThis is an alpha field and requires enabling the DRAControlPlaneController feature gate.",
+ "": "DeviceClassSpec is used in a [DeviceClass] to define what can be allocated and how to configure it.",
+ "selectors": "Each selector must be satisfied by a device which is claimed via this class.",
+ "config": "Config defines configuration parameters that apply to each device that is claimed via this class. Some classses may potentially be satisfied by multiple drivers, so each instance of a vendor configuration applies to exactly one driver.\n\nThey are passed to the driver, but are not considered while allocating the claim.",
}
func (DeviceClassSpec) SwaggerDoc() map[string]string {
@@ -184,7 +196,7 @@ var map_DeviceRequest = map[string]string{
"selectors": "Selectors define criteria which must be satisfied by a specific device in order for that device to be considered for this request. All selectors must be satisfied for a device to be considered.",
"allocationMode": "AllocationMode and its related fields define how devices are allocated to satisfy this request. Supported values are:\n\n- ExactCount: This request is for a specific number of devices.\n This is the default. The exact number is provided in the\n count field.\n\n- All: This request is for all of the matching devices in a pool.\n Allocation will fail if some devices are already allocated,\n unless adminAccess is requested.\n\nIf AlloctionMode is not specified, the default mode is ExactCount. If the mode is ExactCount and count is not specified, the default count is one. Any other requests must specify this field.\n\nMore modes may get added in the future. Clients must refuse to handle requests with unknown modes.",
"count": "Count is used only when the count mode is \"ExactCount\". Must be greater than zero. If AllocationMode is ExactCount and this field is not specified, the default is one.",
- "adminAccess": "AdminAccess indicates that this is a claim for administrative access to the device(s). Claims with AdminAccess are expected to be used for monitoring or other management services for a device. They ignore all ordinary claims to the device with respect to access modes and any resource allocations.",
+ "adminAccess": "AdminAccess indicates that this is a claim for administrative access to the device(s). Claims with AdminAccess are expected to be used for monitoring or other management services for a device. They ignore all ordinary claims to the device with respect to access modes and any resource allocations.\n\nThis is an alpha field and requires enabling the DRAAdminAccess feature gate. Admin access is disabled if this field is unset or set to false, otherwise it is enabled.",
}
func (DeviceRequest) SwaggerDoc() map[string]string {
@@ -192,11 +204,12 @@ func (DeviceRequest) SwaggerDoc() map[string]string {
}
var map_DeviceRequestAllocationResult = map[string]string{
- "": "DeviceRequestAllocationResult contains the allocation result for one request.",
- "request": "Request is the name of the request in the claim which caused this device to be allocated. Multiple devices may have been allocated per request.",
- "driver": "Driver specifies the name of the DRA driver whose kubelet plugin should be invoked to process the allocation once the claim is needed on a node.\n\nMust be a DNS subdomain and should end with a DNS domain owned by the vendor of the driver.",
- "pool": "This name together with the driver name and the device name field identify which device was allocated (`//`).\n\nMust not be longer than 253 characters and may contain one or more DNS sub-domains separated by slashes.",
- "device": "Device references one device instance via its name in the driver's resource pool. It must be a DNS label.",
+ "": "DeviceRequestAllocationResult contains the allocation result for one request.",
+ "request": "Request is the name of the request in the claim which caused this device to be allocated. Multiple devices may have been allocated per request.",
+ "driver": "Driver specifies the name of the DRA driver whose kubelet plugin should be invoked to process the allocation once the claim is needed on a node.\n\nMust be a DNS subdomain and should end with a DNS domain owned by the vendor of the driver.",
+ "pool": "This name together with the driver name and the device name field identify which device was allocated (`//`).\n\nMust not be longer than 253 characters and may contain one or more DNS sub-domains separated by slashes.",
+ "device": "Device references one device instance via its name in the driver's resource pool. It must be a DNS label.",
+ "adminAccess": "AdminAccess indicates that this device was allocated for administrative access. See the corresponding request field for a definition of mode.\n\nThis is an alpha field and requires enabling the DRAAdminAccess feature gate. Admin access is disabled if this field is unset or set to false, otherwise it is enabled.",
}
func (DeviceRequestAllocationResult) SwaggerDoc() map[string]string {
@@ -212,56 +225,27 @@ func (DeviceSelector) SwaggerDoc() map[string]string {
return map_DeviceSelector
}
+var map_NetworkDeviceData = map[string]string{
+ "": "NetworkDeviceData provides network-related details for the allocated device. This information may be filled by drivers or other components to configure or identify the device within a network context.",
+ "interfaceName": "InterfaceName specifies the name of the network interface associated with the allocated device. This might be the name of a physical or virtual network interface being configured in the pod.\n\nMust not be longer than 256 characters.",
+ "ips": "IPs lists the network addresses assigned to the device's network interface. This can include both IPv4 and IPv6 addresses. The IPs are in the CIDR notation, which includes both the address and the associated subnet mask. e.g.: \"192.0.2.5/24\" for IPv4 and \"2001:db8::5/64\" for IPv6.",
+ "hardwareAddress": "HardwareAddress represents the hardware address (e.g. MAC Address) of the device's network interface.\n\nMust not be longer than 128 characters.",
+}
+
+func (NetworkDeviceData) SwaggerDoc() map[string]string {
+ return map_NetworkDeviceData
+}
+
var map_OpaqueDeviceConfiguration = map[string]string{
"": "OpaqueDeviceConfiguration contains configuration parameters for a driver in a format defined by the driver vendor.",
"driver": "Driver is used to determine which kubelet plugin needs to be passed these configuration parameters.\n\nAn admission policy provided by the driver developer could use this to decide whether it needs to validate them.\n\nMust be a DNS subdomain and should end with a DNS domain owned by the vendor of the driver.",
- "parameters": "Parameters can contain arbitrary data. It is the responsibility of the driver developer to handle validation and versioning. Typically this includes self-identification and a version (\"kind\" + \"apiVersion\" for Kubernetes types), with conversion between different versions.",
+ "parameters": "Parameters can contain arbitrary data. It is the responsibility of the driver developer to handle validation and versioning. Typically this includes self-identification and a version (\"kind\" + \"apiVersion\" for Kubernetes types), with conversion between different versions.\n\nThe length of the raw data must be smaller or equal to 10 Ki.",
}
func (OpaqueDeviceConfiguration) SwaggerDoc() map[string]string {
return map_OpaqueDeviceConfiguration
}
-var map_PodSchedulingContext = map[string]string{
- "": "PodSchedulingContext objects hold information that is needed to schedule a Pod with ResourceClaims that use \"WaitForFirstConsumer\" allocation mode.\n\nThis is an alpha type and requires enabling the DRAControlPlaneController feature gate.",
- "metadata": "Standard object metadata",
- "spec": "Spec describes where resources for the Pod are needed.",
- "status": "Status describes where resources for the Pod can be allocated.",
-}
-
-func (PodSchedulingContext) SwaggerDoc() map[string]string {
- return map_PodSchedulingContext
-}
-
-var map_PodSchedulingContextList = map[string]string{
- "": "PodSchedulingContextList is a collection of Pod scheduling objects.",
- "metadata": "Standard list metadata",
- "items": "Items is the list of PodSchedulingContext objects.",
-}
-
-func (PodSchedulingContextList) SwaggerDoc() map[string]string {
- return map_PodSchedulingContextList
-}
-
-var map_PodSchedulingContextSpec = map[string]string{
- "": "PodSchedulingContextSpec describes where resources for the Pod are needed.",
- "selectedNode": "SelectedNode is the node for which allocation of ResourceClaims that are referenced by the Pod and that use \"WaitForFirstConsumer\" allocation is to be attempted.",
- "potentialNodes": "PotentialNodes lists nodes where the Pod might be able to run.\n\nThe size of this field is limited to 128. This is large enough for many clusters. Larger clusters may need more attempts to find a node that suits all pending resources. This may get increased in the future, but not reduced.",
-}
-
-func (PodSchedulingContextSpec) SwaggerDoc() map[string]string {
- return map_PodSchedulingContextSpec
-}
-
-var map_PodSchedulingContextStatus = map[string]string{
- "": "PodSchedulingContextStatus describes where resources for the Pod can be allocated.",
- "resourceClaims": "ResourceClaims describes resource availability for each pod.spec.resourceClaim entry where the corresponding ResourceClaim uses \"WaitForFirstConsumer\" allocation mode.",
-}
-
-func (PodSchedulingContextStatus) SwaggerDoc() map[string]string {
- return map_PodSchedulingContextStatus
-}
-
var map_ResourceClaim = map[string]string{
"": "ResourceClaim describes a request for access to resources in the cluster, for use by workloads. For example, if a workload needs an accelerator device with specific properties, this is how that request is expressed. The status stanza tracks whether this claim has been satisfied and what specific resources have been allocated.\n\nThis is an alpha type and requires enabling the DynamicResourceAllocation feature gate.",
"metadata": "Standard object metadata",
@@ -295,20 +279,9 @@ func (ResourceClaimList) SwaggerDoc() map[string]string {
return map_ResourceClaimList
}
-var map_ResourceClaimSchedulingStatus = map[string]string{
- "": "ResourceClaimSchedulingStatus contains information about one particular ResourceClaim with \"WaitForFirstConsumer\" allocation mode.",
- "name": "Name matches the pod.spec.resourceClaims[*].Name field.",
- "unsuitableNodes": "UnsuitableNodes lists nodes that the ResourceClaim cannot be allocated for.\n\nThe size of this field is limited to 128, the same as for PodSchedulingSpec.PotentialNodes. This may get increased in the future, but not reduced.",
-}
-
-func (ResourceClaimSchedulingStatus) SwaggerDoc() map[string]string {
- return map_ResourceClaimSchedulingStatus
-}
-
var map_ResourceClaimSpec = map[string]string{
- "": "ResourceClaimSpec defines what is being requested in a ResourceClaim and how to configure it.",
- "devices": "Devices defines how to request devices.",
- "controller": "Controller is the name of the DRA driver that is meant to handle allocation of this claim. If empty, allocation is handled by the scheduler while scheduling a pod.\n\nMust be a DNS subdomain and should end with a DNS domain owned by the vendor of the driver.\n\nThis is an alpha field and requires enabling the DRAControlPlaneController feature gate.",
+ "": "ResourceClaimSpec defines what is being requested in a ResourceClaim and how to configure it.",
+ "devices": "Devices defines how to request devices.",
}
func (ResourceClaimSpec) SwaggerDoc() map[string]string {
@@ -316,10 +289,10 @@ func (ResourceClaimSpec) SwaggerDoc() map[string]string {
}
var map_ResourceClaimStatus = map[string]string{
- "": "ResourceClaimStatus tracks whether the resource has been allocated and what the result of that was.",
- "allocation": "Allocation is set once the claim has been allocated successfully.",
- "reservedFor": "ReservedFor indicates which entities are currently allowed to use the claim. A Pod which references a ResourceClaim which is not reserved for that Pod will not be started. A claim that is in use or might be in use because it has been reserved must not get deallocated.\n\nIn a cluster with multiple scheduler instances, two pods might get scheduled concurrently by different schedulers. When they reference the same ResourceClaim which already has reached its maximum number of consumers, only one pod can be scheduled.\n\nBoth schedulers try to add their pod to the claim.status.reservedFor field, but only the update that reaches the API server first gets stored. The other one fails with an error and the scheduler which issued it knows that it must put the pod back into the queue, waiting for the ResourceClaim to become usable again.\n\nThere can be at most 32 such reservations. This may get increased in the future, but not reduced.",
- "deallocationRequested": "Indicates that a claim is to be deallocated. While this is set, no new consumers may be added to ReservedFor.\n\nThis is only used if the claim needs to be deallocated by a DRA driver. That driver then must deallocate this claim and reset the field together with clearing the Allocation field.\n\nThis is an alpha field and requires enabling the DRAControlPlaneController feature gate.",
+ "": "ResourceClaimStatus tracks whether the resource has been allocated and what the result of that was.",
+ "allocation": "Allocation is set once the claim has been allocated successfully.",
+ "reservedFor": "ReservedFor indicates which entities are currently allowed to use the claim. A Pod which references a ResourceClaim which is not reserved for that Pod will not be started. A claim that is in use or might be in use because it has been reserved must not get deallocated.\n\nIn a cluster with multiple scheduler instances, two pods might get scheduled concurrently by different schedulers. When they reference the same ResourceClaim which already has reached its maximum number of consumers, only one pod can be scheduled.\n\nBoth schedulers try to add their pod to the claim.status.reservedFor field, but only the update that reaches the API server first gets stored. The other one fails with an error and the scheduler which issued it knows that it must put the pod back into the queue, waiting for the ResourceClaim to become usable again.\n\nThere can be at most 32 such reservations. This may get increased in the future, but not reduced.",
+ "devices": "Devices contains the status of each device allocated for this claim, as reported by the driver. This can include driver-specific information. Entries are owned by their respective drivers.",
}
func (ResourceClaimStatus) SwaggerDoc() map[string]string {
@@ -348,7 +321,7 @@ func (ResourceClaimTemplateList) SwaggerDoc() map[string]string {
var map_ResourceClaimTemplateSpec = map[string]string{
"": "ResourceClaimTemplateSpec contains the metadata and fields for a ResourceClaim.",
- "metadata": "ObjectMeta may contain labels and annotations that will be copied into the PVC when creating it. No other fields are allowed and will be rejected during validation.",
+ "metadata": "ObjectMeta may contain labels and annotations that will be copied into the ResourceClaim when creating it. No other fields are allowed and will be rejected during validation.",
"spec": "Spec for the ResourceClaim. The entire content is copied unchanged into the ResourceClaim that gets created from this template. The same fields as in a ResourceClaim are also valid here.",
}
diff --git a/vendor/k8s.io/api/resource/v1alpha3/zz_generated.deepcopy.go b/vendor/k8s.io/api/resource/v1alpha3/zz_generated.deepcopy.go
index 58171df1..07ba47b5 100644
--- a/vendor/k8s.io/api/resource/v1alpha3/zz_generated.deepcopy.go
+++ b/vendor/k8s.io/api/resource/v1alpha3/zz_generated.deepcopy.go
@@ -22,18 +22,48 @@ limitations under the License.
package v1alpha3
import (
- v1 "k8s.io/api/core/v1"
+ corev1 "k8s.io/api/core/v1"
resource "k8s.io/apimachinery/pkg/api/resource"
+ v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
runtime "k8s.io/apimachinery/pkg/runtime"
)
+// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
+func (in *AllocatedDeviceStatus) DeepCopyInto(out *AllocatedDeviceStatus) {
+ *out = *in
+ if in.Conditions != nil {
+ in, out := &in.Conditions, &out.Conditions
+ *out = make([]v1.Condition, len(*in))
+ for i := range *in {
+ (*in)[i].DeepCopyInto(&(*out)[i])
+ }
+ }
+ in.Data.DeepCopyInto(&out.Data)
+ if in.NetworkData != nil {
+ in, out := &in.NetworkData, &out.NetworkData
+ *out = new(NetworkDeviceData)
+ (*in).DeepCopyInto(*out)
+ }
+ return
+}
+
+// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AllocatedDeviceStatus.
+func (in *AllocatedDeviceStatus) DeepCopy() *AllocatedDeviceStatus {
+ if in == nil {
+ return nil
+ }
+ out := new(AllocatedDeviceStatus)
+ in.DeepCopyInto(out)
+ return out
+}
+
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *AllocationResult) DeepCopyInto(out *AllocationResult) {
*out = *in
in.Devices.DeepCopyInto(&out.Devices)
if in.NodeSelector != nil {
in, out := &in.NodeSelector, &out.NodeSelector
- *out = new(v1.NodeSelector)
+ *out = new(corev1.NodeSelector)
(*in).DeepCopyInto(*out)
}
return
@@ -144,7 +174,9 @@ func (in *DeviceAllocationResult) DeepCopyInto(out *DeviceAllocationResult) {
if in.Results != nil {
in, out := &in.Results, &out.Results
*out = make([]DeviceRequestAllocationResult, len(*in))
- copy(*out, *in)
+ for i := range *in {
+ (*in)[i].DeepCopyInto(&(*out)[i])
+ }
}
if in.Config != nil {
in, out := &in.Config, &out.Config
@@ -355,11 +387,6 @@ func (in *DeviceClassSpec) DeepCopyInto(out *DeviceClassSpec) {
(*in)[i].DeepCopyInto(&(*out)[i])
}
}
- if in.SuitableNodes != nil {
- in, out := &in.SuitableNodes, &out.SuitableNodes
- *out = new(v1.NodeSelector)
- (*in).DeepCopyInto(*out)
- }
return
}
@@ -430,6 +457,11 @@ func (in *DeviceRequest) DeepCopyInto(out *DeviceRequest) {
(*in)[i].DeepCopyInto(&(*out)[i])
}
}
+ if in.AdminAccess != nil {
+ in, out := &in.AdminAccess, &out.AdminAccess
+ *out = new(bool)
+ **out = **in
+ }
return
}
@@ -446,6 +478,11 @@ func (in *DeviceRequest) DeepCopy() *DeviceRequest {
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *DeviceRequestAllocationResult) DeepCopyInto(out *DeviceRequestAllocationResult) {
*out = *in
+ if in.AdminAccess != nil {
+ in, out := &in.AdminAccess, &out.AdminAccess
+ *out = new(bool)
+ **out = **in
+ }
return
}
@@ -481,123 +518,39 @@ func (in *DeviceSelector) DeepCopy() *DeviceSelector {
}
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
-func (in *OpaqueDeviceConfiguration) DeepCopyInto(out *OpaqueDeviceConfiguration) {
- *out = *in
- in.Parameters.DeepCopyInto(&out.Parameters)
- return
-}
-
-// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OpaqueDeviceConfiguration.
-func (in *OpaqueDeviceConfiguration) DeepCopy() *OpaqueDeviceConfiguration {
- if in == nil {
- return nil
- }
- out := new(OpaqueDeviceConfiguration)
- in.DeepCopyInto(out)
- return out
-}
-
-// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
-func (in *PodSchedulingContext) DeepCopyInto(out *PodSchedulingContext) {
+func (in *NetworkDeviceData) DeepCopyInto(out *NetworkDeviceData) {
*out = *in
- out.TypeMeta = in.TypeMeta
- in.ObjectMeta.DeepCopyInto(&out.ObjectMeta)
- in.Spec.DeepCopyInto(&out.Spec)
- in.Status.DeepCopyInto(&out.Status)
- return
-}
-
-// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PodSchedulingContext.
-func (in *PodSchedulingContext) DeepCopy() *PodSchedulingContext {
- if in == nil {
- return nil
- }
- out := new(PodSchedulingContext)
- in.DeepCopyInto(out)
- return out
-}
-
-// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
-func (in *PodSchedulingContext) DeepCopyObject() runtime.Object {
- if c := in.DeepCopy(); c != nil {
- return c
- }
- return nil
-}
-
-// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
-func (in *PodSchedulingContextList) DeepCopyInto(out *PodSchedulingContextList) {
- *out = *in
- out.TypeMeta = in.TypeMeta
- in.ListMeta.DeepCopyInto(&out.ListMeta)
- if in.Items != nil {
- in, out := &in.Items, &out.Items
- *out = make([]PodSchedulingContext, len(*in))
- for i := range *in {
- (*in)[i].DeepCopyInto(&(*out)[i])
- }
- }
- return
-}
-
-// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PodSchedulingContextList.
-func (in *PodSchedulingContextList) DeepCopy() *PodSchedulingContextList {
- if in == nil {
- return nil
- }
- out := new(PodSchedulingContextList)
- in.DeepCopyInto(out)
- return out
-}
-
-// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
-func (in *PodSchedulingContextList) DeepCopyObject() runtime.Object {
- if c := in.DeepCopy(); c != nil {
- return c
- }
- return nil
-}
-
-// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
-func (in *PodSchedulingContextSpec) DeepCopyInto(out *PodSchedulingContextSpec) {
- *out = *in
- if in.PotentialNodes != nil {
- in, out := &in.PotentialNodes, &out.PotentialNodes
+ if in.IPs != nil {
+ in, out := &in.IPs, &out.IPs
*out = make([]string, len(*in))
copy(*out, *in)
}
return
}
-// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PodSchedulingContextSpec.
-func (in *PodSchedulingContextSpec) DeepCopy() *PodSchedulingContextSpec {
+// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkDeviceData.
+func (in *NetworkDeviceData) DeepCopy() *NetworkDeviceData {
if in == nil {
return nil
}
- out := new(PodSchedulingContextSpec)
+ out := new(NetworkDeviceData)
in.DeepCopyInto(out)
return out
}
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
-func (in *PodSchedulingContextStatus) DeepCopyInto(out *PodSchedulingContextStatus) {
+func (in *OpaqueDeviceConfiguration) DeepCopyInto(out *OpaqueDeviceConfiguration) {
*out = *in
- if in.ResourceClaims != nil {
- in, out := &in.ResourceClaims, &out.ResourceClaims
- *out = make([]ResourceClaimSchedulingStatus, len(*in))
- for i := range *in {
- (*in)[i].DeepCopyInto(&(*out)[i])
- }
- }
+ in.Parameters.DeepCopyInto(&out.Parameters)
return
}
-// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PodSchedulingContextStatus.
-func (in *PodSchedulingContextStatus) DeepCopy() *PodSchedulingContextStatus {
+// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OpaqueDeviceConfiguration.
+func (in *OpaqueDeviceConfiguration) DeepCopy() *OpaqueDeviceConfiguration {
if in == nil {
return nil
}
- out := new(PodSchedulingContextStatus)
+ out := new(OpaqueDeviceConfiguration)
in.DeepCopyInto(out)
return out
}
@@ -679,27 +632,6 @@ func (in *ResourceClaimList) DeepCopyObject() runtime.Object {
return nil
}
-// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
-func (in *ResourceClaimSchedulingStatus) DeepCopyInto(out *ResourceClaimSchedulingStatus) {
- *out = *in
- if in.UnsuitableNodes != nil {
- in, out := &in.UnsuitableNodes, &out.UnsuitableNodes
- *out = make([]string, len(*in))
- copy(*out, *in)
- }
- return
-}
-
-// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResourceClaimSchedulingStatus.
-func (in *ResourceClaimSchedulingStatus) DeepCopy() *ResourceClaimSchedulingStatus {
- if in == nil {
- return nil
- }
- out := new(ResourceClaimSchedulingStatus)
- in.DeepCopyInto(out)
- return out
-}
-
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ResourceClaimSpec) DeepCopyInto(out *ResourceClaimSpec) {
*out = *in
@@ -730,6 +662,13 @@ func (in *ResourceClaimStatus) DeepCopyInto(out *ResourceClaimStatus) {
*out = make([]ResourceClaimConsumerReference, len(*in))
copy(*out, *in)
}
+ if in.Devices != nil {
+ in, out := &in.Devices, &out.Devices
+ *out = make([]AllocatedDeviceStatus, len(*in))
+ for i := range *in {
+ (*in)[i].DeepCopyInto(&(*out)[i])
+ }
+ }
return
}
@@ -903,7 +842,7 @@ func (in *ResourceSliceSpec) DeepCopyInto(out *ResourceSliceSpec) {
out.Pool = in.Pool
if in.NodeSelector != nil {
in, out := &in.NodeSelector, &out.NodeSelector
- *out = new(v1.NodeSelector)
+ *out = new(corev1.NodeSelector)
(*in).DeepCopyInto(*out)
}
if in.Devices != nil {
diff --git a/vendor/k8s.io/api/resource/v1alpha3/zz_generated.prerelease-lifecycle.go b/vendor/k8s.io/api/resource/v1alpha3/zz_generated.prerelease-lifecycle.go
new file mode 100644
index 00000000..9f57ab67
--- /dev/null
+++ b/vendor/k8s.io/api/resource/v1alpha3/zz_generated.prerelease-lifecycle.go
@@ -0,0 +1,218 @@
+//go:build !ignore_autogenerated
+// +build !ignore_autogenerated
+
+/*
+Copyright The Kubernetes Authors.
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+
+// Code generated by prerelease-lifecycle-gen. DO NOT EDIT.
+
+package v1alpha3
+
+import (
+ schema "k8s.io/apimachinery/pkg/runtime/schema"
+)
+
+// APILifecycleIntroduced is an autogenerated function, returning the release in which the API struct was introduced as int versions of major and minor for comparison.
+// It is controlled by "k8s:prerelease-lifecycle-gen:introduced" tags in types.go.
+func (in *DeviceClass) APILifecycleIntroduced() (major, minor int) {
+ return 1, 31
+}
+
+// APILifecycleDeprecated is an autogenerated function, returning the release in which the API struct was or will be deprecated as int versions of major and minor for comparison.
+// It is controlled by "k8s:prerelease-lifecycle-gen:deprecated" tags in types.go or "k8s:prerelease-lifecycle-gen:introduced" plus three minor.
+func (in *DeviceClass) APILifecycleDeprecated() (major, minor int) {
+ return 1, 34
+}
+
+// APILifecycleReplacement is an autogenerated function, returning the group, version, and kind that should be used instead of this deprecated type.
+// It is controlled by "k8s:prerelease-lifecycle-gen:replacement=,,