diff --git a/deps.diff b/deps.diff
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/go.mod b/go.mod
index d493faafc7..6ceb089bd1 100644
--- a/go.mod
+++ b/go.mod
@@ -9,7 +9,7 @@ require (
github.com/containerd/containerd v1.7.27
github.com/containers/image/v5 v5.35.0
github.com/fsnotify/fsnotify v1.9.0
- github.com/go-logr/logr v1.4.2
+ github.com/go-logr/logr v1.4.3
github.com/google/go-cmp v0.7.0
github.com/google/go-containerregistry v0.20.3
github.com/gorilla/handlers v1.5.2
@@ -23,9 +23,9 @@ require (
github.com/spf13/cobra v1.9.1
github.com/stretchr/testify v1.10.0
golang.org/x/exp v0.0.0-20250228200357-dead58393ab7
- golang.org/x/mod v0.24.0
- golang.org/x/sync v0.13.0
- golang.org/x/tools v0.32.0
+ golang.org/x/mod v0.25.0
+ golang.org/x/sync v0.15.0
+ golang.org/x/tools v0.33.0
gopkg.in/yaml.v2 v2.4.0
helm.sh/helm/v3 v3.17.3
k8s.io/api v0.32.3
@@ -48,7 +48,7 @@ require (
)
require (
- cel.dev/expr v0.19.1 // indirect
+ cel.dev/expr v0.24.0 // indirect
dario.cat/mergo v1.0.1 // indirect
github.com/AdaLogics/go-fuzz-headers v0.0.0-20230811130428-ced1acdcaa24 // indirect
github.com/Azure/go-ansiterm v0.0.0-20250102033503-faa5f7b0171c // indirect
@@ -103,7 +103,7 @@ require (
github.com/go-git/go-billy/v5 v5.6.1 // indirect
github.com/go-git/go-git/v5 v5.13.1 // indirect
github.com/go-gorp/gorp/v3 v3.1.0 // indirect
- github.com/go-jose/go-jose/v4 v4.0.5 // indirect
+ github.com/go-jose/go-jose/v4 v4.1.1 // indirect
github.com/go-logr/stdr v1.2.2 // indirect
github.com/go-openapi/analysis v0.23.0 // indirect
github.com/go-openapi/errors v0.22.1 // indirect
@@ -214,24 +214,24 @@ require (
go.opencensus.io v0.24.0 // indirect
go.opentelemetry.io/auto/sdk v1.1.0 // indirect
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.59.0 // indirect
- go.opentelemetry.io/otel v1.34.0 // indirect
+ go.opentelemetry.io/otel v1.37.0 // indirect
go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.33.0 // indirect
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.32.0 // indirect
- go.opentelemetry.io/otel/metric v1.34.0 // indirect
- go.opentelemetry.io/otel/sdk v1.34.0 // indirect
- go.opentelemetry.io/otel/trace v1.34.0 // indirect
+ go.opentelemetry.io/otel/metric v1.37.0 // indirect
+ go.opentelemetry.io/otel/sdk v1.37.0 // indirect
+ go.opentelemetry.io/otel/trace v1.37.0 // indirect
go.opentelemetry.io/proto/otlp v1.4.0 // indirect
- golang.org/x/crypto v0.37.0 // indirect
- golang.org/x/net v0.39.0 // indirect
- golang.org/x/oauth2 v0.29.0 // indirect
- golang.org/x/sys v0.32.0 // indirect
- golang.org/x/term v0.31.0 // indirect
- golang.org/x/text v0.24.0 // indirect
+ golang.org/x/crypto v0.39.0 // indirect
+ golang.org/x/net v0.41.0 // indirect
+ golang.org/x/oauth2 v0.30.0 // indirect
+ golang.org/x/sys v0.33.0 // indirect
+ golang.org/x/term v0.32.0 // indirect
+ golang.org/x/text v0.26.0 // indirect
golang.org/x/time v0.11.0 // indirect
gomodules.xyz/jsonpatch/v2 v2.4.0 // indirect
google.golang.org/genproto v0.0.0-20250303144028-a0af3efb3deb // indirect
- google.golang.org/genproto/googleapis/api v0.0.0-20250303144028-a0af3efb3deb // indirect
- google.golang.org/genproto/googleapis/rpc v0.0.0-20250313205543-e70fdf4c4cb4 // indirect
+ google.golang.org/genproto/googleapis/api v0.0.0-20250707201910-8d1bb00bc6a7 // indirect
+ google.golang.org/genproto/googleapis/rpc v0.0.0-20250707201910-8d1bb00bc6a7 // indirect
google.golang.org/grpc v1.71.0 // indirect
google.golang.org/protobuf v1.36.6 // indirect
gopkg.in/evanphx/json-patch.v4 v4.12.0 // indirect
@@ -307,3 +307,5 @@ replace k8s.io/mount-utils => k8s.io/mount-utils v0.32.3
replace k8s.io/pod-security-admission => k8s.io/pod-security-admission v0.32.3
replace k8s.io/sample-apiserver => k8s.io/sample-apiserver v0.32.3
+
+replace google.golang.org/grpc => github.com/openshift-sustaining/grpc-go v1.75.1-sec.1
diff --git a/go.sum b/go.sum
index 4b6ac7ed17..55325d3bf7 100644
--- a/go.sum
+++ b/go.sum
@@ -1,10 +1,792 @@
-cel.dev/expr v0.19.1 h1:NciYrtDRIR0lNCnH1LFJegdjspNx9fI59O7TWcua/W4=
-cel.dev/expr v0.19.1/go.mod h1:MrpN08Q+lEBs+bGYdLxxHkZoUSsCp0nSKTs0nTymJgw=
-cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw=
+cel.dev/expr v0.15.0/go.mod h1:TRSuuV7DlVCE/uwv5QbAiW/v8l5O8C4eEPHeu7gf7Sg=
+cel.dev/expr v0.16.0/go.mod h1:TRSuuV7DlVCE/uwv5QbAiW/v8l5O8C4eEPHeu7gf7Sg=
+cel.dev/expr v0.19.0/go.mod h1:MrpN08Q+lEBs+bGYdLxxHkZoUSsCp0nSKTs0nTymJgw=
+cel.dev/expr v0.24.0 h1:56OvJKSH3hDGL0ml5uSxZmz3/3Pq4tJ+fb1unVLAFcY=
+cel.dev/expr v0.24.0/go.mod h1:hLPLo1W4QUmuYdA72RBX06QTs6MXw941piREPl3Yfiw=
+cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw=
+cloud.google.com/go v0.38.0/go.mod h1:990N+gfupTy94rShfmMCWGDn0LpTmnzTp2qbd1dvSRU=
+cloud.google.com/go v0.44.1/go.mod h1:iSa0KzasP4Uvy3f1mN/7PiObzGgflwredwwASm/v6AU=
+cloud.google.com/go v0.44.2/go.mod h1:60680Gw3Yr4ikxnPRS/oxxkBccT6SA1yMk63TGekxKY=
+cloud.google.com/go v0.44.3/go.mod h1:60680Gw3Yr4ikxnPRS/oxxkBccT6SA1yMk63TGekxKY=
+cloud.google.com/go v0.45.1/go.mod h1:RpBamKRgapWJb87xiFSdk4g1CME7QZg3uwTez+TSTjc=
+cloud.google.com/go v0.46.3/go.mod h1:a6bKKbmY7er1mI7TEI4lsAkts/mkhTSZK8w33B4RAg0=
+cloud.google.com/go v0.50.0/go.mod h1:r9sluTvynVuxRIOHXQEHMFffphuXHOMZMycpNR5e6To=
+cloud.google.com/go v0.52.0/go.mod h1:pXajvRH/6o3+F9jDHZWQ5PbGhn+o8w9qiu/CffaVdO4=
+cloud.google.com/go v0.53.0/go.mod h1:fp/UouUEsRkN6ryDKNW/Upv/JBKnv6WDthjR6+vze6M=
+cloud.google.com/go v0.54.0/go.mod h1:1rq2OEkV3YMf6n/9ZvGWI3GWw0VoqH/1x2nd8Is/bPc=
+cloud.google.com/go v0.56.0/go.mod h1:jr7tqZxxKOVYizybht9+26Z/gUq7tiRzu+ACVAMbKVk=
+cloud.google.com/go v0.57.0/go.mod h1:oXiQ6Rzq3RAkkY7N6t3TcE6jE+CIBBbA36lwQ1JyzZs=
+cloud.google.com/go v0.62.0/go.mod h1:jmCYTdRCQuc1PHIIJ/maLInMho30T/Y0M4hTdTShOYc=
+cloud.google.com/go v0.65.0/go.mod h1:O5N8zS7uWy9vkA9vayVHs65eM1ubvY4h553ofrNHObY=
+cloud.google.com/go v0.72.0/go.mod h1:M+5Vjvlc2wnp6tjzE102Dw08nGShTscUx2nZMufOKPI=
+cloud.google.com/go v0.74.0/go.mod h1:VV1xSbzvo+9QJOxLDaJfTjx5e+MePCpCWwvftOeQmWk=
+cloud.google.com/go v0.75.0/go.mod h1:VGuuCn7PG0dwsd5XPVm2Mm3wlh3EL55/79EKB6hlPTY=
+cloud.google.com/go v0.78.0/go.mod h1:QjdrLG0uq+YwhjoVOLsS1t7TW8fs36kLs4XO5R5ECHg=
+cloud.google.com/go v0.79.0/go.mod h1:3bzgcEeQlzbuEAYu4mrWhKqWjmpprinYgKJLgKHnbb8=
+cloud.google.com/go v0.81.0/go.mod h1:mk/AM35KwGk/Nm2YSeZbxXdrNK3KZOYHmLkOqC2V6E0=
+cloud.google.com/go v0.83.0/go.mod h1:Z7MJUsANfY0pYPdw0lbnivPx4/vhy/e2FEkSkF7vAVY=
+cloud.google.com/go v0.84.0/go.mod h1:RazrYuxIK6Kb7YrzzhPoLmCVzl7Sup4NrbKPg8KHSUM=
+cloud.google.com/go v0.87.0/go.mod h1:TpDYlFy7vuLzZMMZ+B6iRiELaY7z/gJPaqbMx6mlWcY=
+cloud.google.com/go v0.90.0/go.mod h1:kRX0mNRHe0e2rC6oNakvwQqzyDmg57xJ+SZU1eT2aDQ=
+cloud.google.com/go v0.93.3/go.mod h1:8utlLll2EF5XMAV15woO4lSbWQlk8rer9aLOfLh7+YI=
+cloud.google.com/go v0.94.1/go.mod h1:qAlAugsXlC+JWO+Bke5vCtc9ONxjQT3drlTTnAplMW4=
+cloud.google.com/go v0.97.0/go.mod h1:GF7l59pYBVlXQIBLx3a761cZ41F9bBH3JUlihCt2Udc=
+cloud.google.com/go v0.99.0/go.mod h1:w0Xx2nLzqWJPuozYQX+hFfCSI8WioryfRDzkoI/Y2ZA=
+cloud.google.com/go v0.100.1/go.mod h1:fs4QogzfH5n2pBXBP9vRiU+eCny7lD2vmFZy79Iuw1U=
+cloud.google.com/go v0.100.2/go.mod h1:4Xra9TjzAeYHrl5+oeLlzbM2k3mjVhZh4UqTZ//w99A=
+cloud.google.com/go v0.102.0/go.mod h1:oWcCzKlqJ5zgHQt9YsaeTY9KzIvjyy0ArmiBUgpQ+nc=
+cloud.google.com/go v0.102.1/go.mod h1:XZ77E9qnTEnrgEOvr4xzfdX5TRo7fB4T2F4O6+34hIU=
+cloud.google.com/go v0.104.0/go.mod h1:OO6xxXdJyvuJPcEPBLN9BJPD+jep5G1+2U5B5gkRYtA=
+cloud.google.com/go v0.105.0/go.mod h1:PrLgOJNe5nfE9UMxKxgXj4mD3voiP+YQ6gdt6KMFOKM=
+cloud.google.com/go v0.107.0/go.mod h1:wpc2eNrD7hXUTy8EKS10jkxpZBjASrORK7goS+3YX2I=
+cloud.google.com/go v0.110.0/go.mod h1:SJnCLqQ0FCFGSZMUNUf84MV3Aia54kn7pi8st7tMzaY=
+cloud.google.com/go v0.110.2/go.mod h1:k04UEeEtb6ZBRTv3dZz4CeJC3jKGxyhl0sAiVVquxiw=
+cloud.google.com/go v0.110.4/go.mod h1:+EYjdK8e5RME/VY/qLCAtuyALQ9q67dvuum8i+H5xsI=
+cloud.google.com/go v0.110.6/go.mod h1:+EYjdK8e5RME/VY/qLCAtuyALQ9q67dvuum8i+H5xsI=
+cloud.google.com/go/accessapproval v1.4.0/go.mod h1:zybIuC3KpDOvotz59lFe5qxRZx6C75OtwbisN56xYB4=
+cloud.google.com/go/accessapproval v1.5.0/go.mod h1:HFy3tuiGvMdcd/u+Cu5b9NkO1pEICJ46IR82PoUdplw=
+cloud.google.com/go/accessapproval v1.6.0/go.mod h1:R0EiYnwV5fsRFiKZkPHr6mwyk2wxUJ30nL4j2pcFY2E=
+cloud.google.com/go/accessapproval v1.7.1/go.mod h1:JYczztsHRMK7NTXb6Xw+dwbs/WnOJxbo/2mTI+Kgg68=
+cloud.google.com/go/accesscontextmanager v1.3.0/go.mod h1:TgCBehyr5gNMz7ZaH9xubp+CE8dkrszb4oK9CWyvD4o=
+cloud.google.com/go/accesscontextmanager v1.4.0/go.mod h1:/Kjh7BBu/Gh83sv+K60vN9QE5NJcd80sU33vIe2IFPE=
+cloud.google.com/go/accesscontextmanager v1.6.0/go.mod h1:8XCvZWfYw3K/ji0iVnp+6pu7huxoQTLmxAbVjbloTtM=
+cloud.google.com/go/accesscontextmanager v1.7.0/go.mod h1:CEGLewx8dwa33aDAZQujl7Dx+uYhS0eay198wB/VumQ=
+cloud.google.com/go/accesscontextmanager v1.8.0/go.mod h1:uI+AI/r1oyWK99NN8cQ3UK76AMelMzgZCvJfsi2c+ps=
+cloud.google.com/go/accesscontextmanager v1.8.1/go.mod h1:JFJHfvuaTC+++1iL1coPiG1eu5D24db2wXCDWDjIrxo=
+cloud.google.com/go/aiplatform v1.22.0/go.mod h1:ig5Nct50bZlzV6NvKaTwmplLLddFx0YReh9WfTO5jKw=
+cloud.google.com/go/aiplatform v1.24.0/go.mod h1:67UUvRBKG6GTayHKV8DBv2RtR1t93YRu5B1P3x99mYY=
+cloud.google.com/go/aiplatform v1.27.0/go.mod h1:Bvxqtl40l0WImSb04d0hXFU7gDOiq9jQmorivIiWcKg=
+cloud.google.com/go/aiplatform v1.35.0/go.mod h1:7MFT/vCaOyZT/4IIFfxH4ErVg/4ku6lKv3w0+tFTgXQ=
+cloud.google.com/go/aiplatform v1.36.1/go.mod h1:WTm12vJRPARNvJ+v6P52RDHCNe4AhvjcIZ/9/RRHy/k=
+cloud.google.com/go/aiplatform v1.37.0/go.mod h1:IU2Cv29Lv9oCn/9LkFiiuKfwrRTq+QQMbW+hPCxJGZw=
+cloud.google.com/go/aiplatform v1.45.0/go.mod h1:Iu2Q7sC7QGhXUeOhAj/oCK9a+ULz1O4AotZiqjQ8MYA=
+cloud.google.com/go/aiplatform v1.48.0/go.mod h1:Iu2Q7sC7QGhXUeOhAj/oCK9a+ULz1O4AotZiqjQ8MYA=
+cloud.google.com/go/analytics v0.11.0/go.mod h1:DjEWCu41bVbYcKyvlws9Er60YE4a//bK6mnhWvQeFNI=
+cloud.google.com/go/analytics v0.12.0/go.mod h1:gkfj9h6XRf9+TS4bmuhPEShsh3hH8PAZzm/41OOhQd4=
+cloud.google.com/go/analytics v0.17.0/go.mod h1:WXFa3WSym4IZ+JiKmavYdJwGG/CvpqiqczmL59bTD9M=
+cloud.google.com/go/analytics v0.18.0/go.mod h1:ZkeHGQlcIPkw0R/GW+boWHhCOR43xz9RN/jn7WcqfIE=
+cloud.google.com/go/analytics v0.19.0/go.mod h1:k8liqf5/HCnOUkbawNtrWWc+UAzyDlW89doe8TtoDsE=
+cloud.google.com/go/analytics v0.21.2/go.mod h1:U8dcUtmDmjrmUTnnnRnI4m6zKn/yaA5N9RlEkYFHpQo=
+cloud.google.com/go/analytics v0.21.3/go.mod h1:U8dcUtmDmjrmUTnnnRnI4m6zKn/yaA5N9RlEkYFHpQo=
+cloud.google.com/go/apigateway v1.3.0/go.mod h1:89Z8Bhpmxu6AmUxuVRg/ECRGReEdiP3vQtk4Z1J9rJk=
+cloud.google.com/go/apigateway v1.4.0/go.mod h1:pHVY9MKGaH9PQ3pJ4YLzoj6U5FUDeDFBllIz7WmzJoc=
+cloud.google.com/go/apigateway v1.5.0/go.mod h1:GpnZR3Q4rR7LVu5951qfXPJCHquZt02jf7xQx7kpqN8=
+cloud.google.com/go/apigateway v1.6.1/go.mod h1:ufAS3wpbRjqfZrzpvLC2oh0MFlpRJm2E/ts25yyqmXA=
+cloud.google.com/go/apigeeconnect v1.3.0/go.mod h1:G/AwXFAKo0gIXkPTVfZDd2qA1TxBXJ3MgMRBQkIi9jc=
+cloud.google.com/go/apigeeconnect v1.4.0/go.mod h1:kV4NwOKqjvt2JYR0AoIWo2QGfoRtn/pkS3QlHp0Ni04=
+cloud.google.com/go/apigeeconnect v1.5.0/go.mod h1:KFaCqvBRU6idyhSNyn3vlHXc8VMDJdRmwDF6JyFRqZ8=
+cloud.google.com/go/apigeeconnect v1.6.1/go.mod h1:C4awq7x0JpLtrlQCr8AzVIzAaYgngRqWf9S5Uhg+wWs=
+cloud.google.com/go/apigeeregistry v0.4.0/go.mod h1:EUG4PGcsZvxOXAdyEghIdXwAEi/4MEaoqLMLDMIwKXY=
+cloud.google.com/go/apigeeregistry v0.5.0/go.mod h1:YR5+s0BVNZfVOUkMa5pAR2xGd0A473vA5M7j247o1wM=
+cloud.google.com/go/apigeeregistry v0.6.0/go.mod h1:BFNzW7yQVLZ3yj0TKcwzb8n25CFBri51GVGOEUcgQsc=
+cloud.google.com/go/apigeeregistry v0.7.1/go.mod h1:1XgyjZye4Mqtw7T9TsY4NW10U7BojBvG4RMD+vRDrIw=
+cloud.google.com/go/apikeys v0.4.0/go.mod h1:XATS/yqZbaBK0HOssf+ALHp8jAlNHUgyfprvNcBIszU=
+cloud.google.com/go/apikeys v0.5.0/go.mod h1:5aQfwY4D+ewMMWScd3hm2en3hCj+BROlyrt3ytS7KLI=
+cloud.google.com/go/apikeys v0.6.0/go.mod h1:kbpXu5upyiAlGkKrJgQl8A0rKNNJ7dQ377pdroRSSi8=
+cloud.google.com/go/appengine v1.4.0/go.mod h1:CS2NhuBuDXM9f+qscZ6V86m1MIIqPj3WC/UoEuR1Sno=
+cloud.google.com/go/appengine v1.5.0/go.mod h1:TfasSozdkFI0zeoxW3PTBLiNqRmzraodCWatWI9Dmak=
+cloud.google.com/go/appengine v1.6.0/go.mod h1:hg6i0J/BD2cKmDJbaFSYHFyZkgBEfQrDg/X0V5fJn84=
+cloud.google.com/go/appengine v1.7.0/go.mod h1:eZqpbHFCqRGa2aCdope7eC0SWLV1j0neb/QnMJVWx6A=
+cloud.google.com/go/appengine v1.7.1/go.mod h1:IHLToyb/3fKutRysUlFO0BPt5j7RiQ45nrzEJmKTo6E=
+cloud.google.com/go/appengine v1.8.1/go.mod h1:6NJXGLVhZCN9aQ/AEDvmfzKEfoYBlfB80/BHiKVputY=
+cloud.google.com/go/area120 v0.5.0/go.mod h1:DE/n4mp+iqVyvxHN41Vf1CR602GiHQjFPusMFW6bGR4=
+cloud.google.com/go/area120 v0.6.0/go.mod h1:39yFJqWVgm0UZqWTOdqkLhjoC7uFfgXRC8g/ZegeAh0=
+cloud.google.com/go/area120 v0.7.0/go.mod h1:a3+8EUD1SX5RUcCs3MY5YasiO1z6yLiNLRiFrykbynY=
+cloud.google.com/go/area120 v0.7.1/go.mod h1:j84i4E1RboTWjKtZVWXPqvK5VHQFJRF2c1Nm69pWm9k=
+cloud.google.com/go/area120 v0.8.1/go.mod h1:BVfZpGpB7KFVNxPiQBuHkX6Ed0rS51xIgmGyjrAfzsg=
+cloud.google.com/go/artifactregistry v1.6.0/go.mod h1:IYt0oBPSAGYj/kprzsBjZ/4LnG/zOcHyFHjWPCi6SAQ=
+cloud.google.com/go/artifactregistry v1.7.0/go.mod h1:mqTOFOnGZx8EtSqK/ZWcsm/4U8B77rbcLP6ruDU2Ixk=
+cloud.google.com/go/artifactregistry v1.8.0/go.mod h1:w3GQXkJX8hiKN0v+at4b0qotwijQbYUqF2GWkZzAhC0=
+cloud.google.com/go/artifactregistry v1.9.0/go.mod h1:2K2RqvA2CYvAeARHRkLDhMDJ3OXy26h3XW+3/Jh2uYc=
+cloud.google.com/go/artifactregistry v1.11.1/go.mod h1:lLYghw+Itq9SONbCa1YWBoWs1nOucMH0pwXN1rOBZFI=
+cloud.google.com/go/artifactregistry v1.11.2/go.mod h1:nLZns771ZGAwVLzTX/7Al6R9ehma4WUEhZGWV6CeQNQ=
+cloud.google.com/go/artifactregistry v1.12.0/go.mod h1:o6P3MIvtzTOnmvGagO9v/rOjjA0HmhJ+/6KAXrmYDCI=
+cloud.google.com/go/artifactregistry v1.13.0/go.mod h1:uy/LNfoOIivepGhooAUpL1i30Hgee3Cu0l4VTWHUC08=
+cloud.google.com/go/artifactregistry v1.14.1/go.mod h1:nxVdG19jTaSTu7yA7+VbWL346r3rIdkZ142BSQqhn5E=
+cloud.google.com/go/asset v1.5.0/go.mod h1:5mfs8UvcM5wHhqtSv8J1CtxxaQq3AdBxxQi2jGW/K4o=
+cloud.google.com/go/asset v1.7.0/go.mod h1:YbENsRK4+xTiL+Ofoj5Ckf+O17kJtgp3Y3nn4uzZz5s=
+cloud.google.com/go/asset v1.8.0/go.mod h1:mUNGKhiqIdbr8X7KNayoYvyc4HbbFO9URsjbytpUaW0=
+cloud.google.com/go/asset v1.9.0/go.mod h1:83MOE6jEJBMqFKadM9NLRcs80Gdw76qGuHn8m3h8oHQ=
+cloud.google.com/go/asset v1.10.0/go.mod h1:pLz7uokL80qKhzKr4xXGvBQXnzHn5evJAEAtZiIb0wY=
+cloud.google.com/go/asset v1.11.1/go.mod h1:fSwLhbRvC9p9CXQHJ3BgFeQNM4c9x10lqlrdEUYXlJo=
+cloud.google.com/go/asset v1.12.0/go.mod h1:h9/sFOa4eDIyKmH6QMpm4eUK3pDojWnUhTgJlk762Hg=
+cloud.google.com/go/asset v1.13.0/go.mod h1:WQAMyYek/b7NBpYq/K4KJWcRqzoalEsxz/t/dTk4THw=
+cloud.google.com/go/asset v1.14.1/go.mod h1:4bEJ3dnHCqWCDbWJ/6Vn7GVI9LerSi7Rfdi03hd+WTQ=
+cloud.google.com/go/assuredworkloads v1.5.0/go.mod h1:n8HOZ6pff6re5KYfBXcFvSViQjDwxFkAkmUFffJRbbY=
+cloud.google.com/go/assuredworkloads v1.6.0/go.mod h1:yo2YOk37Yc89Rsd5QMVECvjaMKymF9OP+QXWlKXUkXw=
+cloud.google.com/go/assuredworkloads v1.7.0/go.mod h1:z/736/oNmtGAyU47reJgGN+KVoYoxeLBoj4XkKYscNI=
+cloud.google.com/go/assuredworkloads v1.8.0/go.mod h1:AsX2cqyNCOvEQC8RMPnoc0yEarXQk6WEKkxYfL6kGIo=
+cloud.google.com/go/assuredworkloads v1.9.0/go.mod h1:kFuI1P78bplYtT77Tb1hi0FMxM0vVpRC7VVoJC3ZoT0=
+cloud.google.com/go/assuredworkloads v1.10.0/go.mod h1:kwdUQuXcedVdsIaKgKTp9t0UJkE5+PAVNhdQm4ZVq2E=
+cloud.google.com/go/assuredworkloads v1.11.1/go.mod h1:+F04I52Pgn5nmPG36CWFtxmav6+7Q+c5QyJoL18Lry0=
+cloud.google.com/go/automl v1.5.0/go.mod h1:34EjfoFGMZ5sgJ9EoLsRtdPSNZLcfflJR39VbVNS2M0=
+cloud.google.com/go/automl v1.6.0/go.mod h1:ugf8a6Fx+zP0D59WLhqgTDsQI9w07o64uf/Is3Nh5p8=
+cloud.google.com/go/automl v1.7.0/go.mod h1:RL9MYCCsJEOmt0Wf3z9uzG0a7adTT1fe+aObgSpkCt8=
+cloud.google.com/go/automl v1.8.0/go.mod h1:xWx7G/aPEe/NP+qzYXktoBSDfjO+vnKMGgsApGJJquM=
+cloud.google.com/go/automl v1.12.0/go.mod h1:tWDcHDp86aMIuHmyvjuKeeHEGq76lD7ZqfGLN6B0NuU=
+cloud.google.com/go/automl v1.13.1/go.mod h1:1aowgAHWYZU27MybSCFiukPO7xnyawv7pt3zK4bheQE=
+cloud.google.com/go/baremetalsolution v0.3.0/go.mod h1:XOrocE+pvK1xFfleEnShBlNAXf+j5blPPxrhjKgnIFc=
+cloud.google.com/go/baremetalsolution v0.4.0/go.mod h1:BymplhAadOO/eBa7KewQ0Ppg4A4Wplbn+PsFKRLo0uI=
+cloud.google.com/go/baremetalsolution v0.5.0/go.mod h1:dXGxEkmR9BMwxhzBhV0AioD0ULBmuLZI8CdwalUxuss=
+cloud.google.com/go/baremetalsolution v1.1.1/go.mod h1:D1AV6xwOksJMV4OSlWHtWuFNZZYujJknMAP4Qa27QIA=
+cloud.google.com/go/batch v0.3.0/go.mod h1:TR18ZoAekj1GuirsUsR1ZTKN3FC/4UDnScjT8NXImFE=
+cloud.google.com/go/batch v0.4.0/go.mod h1:WZkHnP43R/QCGQsZ+0JyG4i79ranE2u8xvjq/9+STPE=
+cloud.google.com/go/batch v0.7.0/go.mod h1:vLZN95s6teRUqRQ4s3RLDsH8PvboqBK+rn1oevL159g=
+cloud.google.com/go/batch v1.3.1/go.mod h1:VguXeQKXIYaeeIYbuozUmBR13AfL4SJP7IltNPS+A4A=
+cloud.google.com/go/beyondcorp v0.2.0/go.mod h1:TB7Bd+EEtcw9PCPQhCJtJGjk/7TC6ckmnSFS+xwTfm4=
+cloud.google.com/go/beyondcorp v0.3.0/go.mod h1:E5U5lcrcXMsCuoDNyGrpyTm/hn7ne941Jz2vmksAxW8=
+cloud.google.com/go/beyondcorp v0.4.0/go.mod h1:3ApA0mbhHx6YImmuubf5pyW8srKnCEPON32/5hj+RmM=
+cloud.google.com/go/beyondcorp v0.5.0/go.mod h1:uFqj9X+dSfrheVp7ssLTaRHd2EHqSL4QZmH4e8WXGGU=
+cloud.google.com/go/beyondcorp v0.6.1/go.mod h1:YhxDWw946SCbmcWo3fAhw3V4XZMSpQ/VYfcKGAEU8/4=
+cloud.google.com/go/beyondcorp v1.0.0/go.mod h1:YhxDWw946SCbmcWo3fAhw3V4XZMSpQ/VYfcKGAEU8/4=
+cloud.google.com/go/bigquery v1.0.1/go.mod h1:i/xbL2UlR5RvWAURpBYZTtm/cXjCha9lbfbpx4poX+o=
+cloud.google.com/go/bigquery v1.3.0/go.mod h1:PjpwJnslEMmckchkHFfq+HTD2DmtT67aNFKH1/VBDHE=
+cloud.google.com/go/bigquery v1.4.0/go.mod h1:S8dzgnTigyfTmLBfrtrhyYhwRxG72rYxvftPBK2Dvzc=
+cloud.google.com/go/bigquery v1.5.0/go.mod h1:snEHRnqQbz117VIFhE8bmtwIDY80NLUZUMb4Nv6dBIg=
+cloud.google.com/go/bigquery v1.7.0/go.mod h1://okPTzCYNXSlb24MZs83e2Do+h+VXtc4gLoIoXIAPc=
+cloud.google.com/go/bigquery v1.8.0/go.mod h1:J5hqkt3O0uAFnINi6JXValWIb1v0goeZM77hZzJN/fQ=
+cloud.google.com/go/bigquery v1.42.0/go.mod h1:8dRTJxhtG+vwBKzE5OseQn/hiydoQN3EedCaOdYmxRA=
+cloud.google.com/go/bigquery v1.43.0/go.mod h1:ZMQcXHsl+xmU1z36G2jNGZmKp9zNY5BUua5wDgmNCfw=
+cloud.google.com/go/bigquery v1.44.0/go.mod h1:0Y33VqXTEsbamHJvJHdFmtqHvMIY28aK1+dFsvaChGc=
+cloud.google.com/go/bigquery v1.47.0/go.mod h1:sA9XOgy0A8vQK9+MWhEQTY6Tix87M/ZurWFIxmF9I/E=
+cloud.google.com/go/bigquery v1.48.0/go.mod h1:QAwSz+ipNgfL5jxiaK7weyOhzdoAy1zFm0Nf1fysJac=
+cloud.google.com/go/bigquery v1.49.0/go.mod h1:Sv8hMmTFFYBlt/ftw2uN6dFdQPzBlREY9yBh7Oy7/4Q=
+cloud.google.com/go/bigquery v1.50.0/go.mod h1:YrleYEh2pSEbgTBZYMJ5SuSr0ML3ypjRB1zgf7pvQLU=
+cloud.google.com/go/bigquery v1.52.0/go.mod h1:3b/iXjRQGU4nKa87cXeg6/gogLjO8C6PmuM8i5Bi/u4=
+cloud.google.com/go/bigquery v1.53.0/go.mod h1:3b/iXjRQGU4nKa87cXeg6/gogLjO8C6PmuM8i5Bi/u4=
+cloud.google.com/go/billing v1.4.0/go.mod h1:g9IdKBEFlItS8bTtlrZdVLWSSdSyFUZKXNS02zKMOZY=
+cloud.google.com/go/billing v1.5.0/go.mod h1:mztb1tBc3QekhjSgmpf/CV4LzWXLzCArwpLmP2Gm88s=
+cloud.google.com/go/billing v1.6.0/go.mod h1:WoXzguj+BeHXPbKfNWkqVtDdzORazmCjraY+vrxcyvI=
+cloud.google.com/go/billing v1.7.0/go.mod h1:q457N3Hbj9lYwwRbnlD7vUpyjq6u5U1RAOArInEiD5Y=
+cloud.google.com/go/billing v1.12.0/go.mod h1:yKrZio/eu+okO/2McZEbch17O5CB5NpZhhXG6Z766ss=
+cloud.google.com/go/billing v1.13.0/go.mod h1:7kB2W9Xf98hP9Sr12KfECgfGclsH3CQR0R08tnRlRbc=
+cloud.google.com/go/billing v1.16.0/go.mod h1:y8vx09JSSJG02k5QxbycNRrN7FGZB6F3CAcgum7jvGA=
+cloud.google.com/go/binaryauthorization v1.1.0/go.mod h1:xwnoWu3Y84jbuHa0zd526MJYmtnVXn0syOjaJgy4+dM=
+cloud.google.com/go/binaryauthorization v1.2.0/go.mod h1:86WKkJHtRcv5ViNABtYMhhNWRrD1Vpi//uKEy7aYEfI=
+cloud.google.com/go/binaryauthorization v1.3.0/go.mod h1:lRZbKgjDIIQvzYQS1p99A7/U1JqvqeZg0wiI5tp6tg0=
+cloud.google.com/go/binaryauthorization v1.4.0/go.mod h1:tsSPQrBd77VLplV70GUhBf/Zm3FsKmgSqgm4UmiDItk=
+cloud.google.com/go/binaryauthorization v1.5.0/go.mod h1:OSe4OU1nN/VswXKRBmciKpo9LulY41gch5c68htf3/Q=
+cloud.google.com/go/binaryauthorization v1.6.1/go.mod h1:TKt4pa8xhowwffiBmbrbcxijJRZED4zrqnwZ1lKH51U=
+cloud.google.com/go/certificatemanager v1.3.0/go.mod h1:n6twGDvcUBFu9uBgt4eYvvf3sQ6My8jADcOVwHmzadg=
+cloud.google.com/go/certificatemanager v1.4.0/go.mod h1:vowpercVFyqs8ABSmrdV+GiFf2H/ch3KyudYQEMM590=
+cloud.google.com/go/certificatemanager v1.6.0/go.mod h1:3Hh64rCKjRAX8dXgRAyOcY5vQ/fE1sh8o+Mdd6KPgY8=
+cloud.google.com/go/certificatemanager v1.7.1/go.mod h1:iW8J3nG6SaRYImIa+wXQ0g8IgoofDFRp5UMzaNk1UqI=
+cloud.google.com/go/channel v1.8.0/go.mod h1:W5SwCXDJsq/rg3tn3oG0LOxpAo6IMxNa09ngphpSlnk=
+cloud.google.com/go/channel v1.9.0/go.mod h1:jcu05W0my9Vx4mt3/rEHpfxc9eKi9XwsdDL8yBMbKUk=
+cloud.google.com/go/channel v1.11.0/go.mod h1:IdtI0uWGqhEeatSB62VOoJ8FSUhJ9/+iGkJVqp74CGE=
+cloud.google.com/go/channel v1.12.0/go.mod h1:VkxCGKASi4Cq7TbXxlaBezonAYpp1GCnKMY6tnMQnLU=
+cloud.google.com/go/channel v1.16.0/go.mod h1:eN/q1PFSl5gyu0dYdmxNXscY/4Fi7ABmeHCJNf/oHmc=
+cloud.google.com/go/cloudbuild v1.3.0/go.mod h1:WequR4ULxlqvMsjDEEEFnOG5ZSRSgWOywXYDb1vPE6U=
+cloud.google.com/go/cloudbuild v1.4.0/go.mod h1:5Qwa40LHiOXmz3386FrjrYM93rM/hdRr7b53sySrTqA=
+cloud.google.com/go/cloudbuild v1.6.0/go.mod h1:UIbc/w9QCbH12xX+ezUsgblrWv+Cv4Tw83GiSMHOn9M=
+cloud.google.com/go/cloudbuild v1.7.0/go.mod h1:zb5tWh2XI6lR9zQmsm1VRA+7OCuve5d8S+zJUul8KTg=
+cloud.google.com/go/cloudbuild v1.9.0/go.mod h1:qK1d7s4QlO0VwfYn5YuClDGg2hfmLZEb4wQGAbIgL1s=
+cloud.google.com/go/cloudbuild v1.10.1/go.mod h1:lyJg7v97SUIPq4RC2sGsz/9tNczhyv2AjML/ci4ulzU=
+cloud.google.com/go/cloudbuild v1.13.0/go.mod h1:lyJg7v97SUIPq4RC2sGsz/9tNczhyv2AjML/ci4ulzU=
+cloud.google.com/go/clouddms v1.3.0/go.mod h1:oK6XsCDdW4Ib3jCCBugx+gVjevp2TMXFtgxvPSee3OM=
+cloud.google.com/go/clouddms v1.4.0/go.mod h1:Eh7sUGCC+aKry14O1NRljhjyrr0NFC0G2cjwX0cByRk=
+cloud.google.com/go/clouddms v1.5.0/go.mod h1:QSxQnhikCLUw13iAbffF2CZxAER3xDGNHjsTAkQJcQA=
+cloud.google.com/go/clouddms v1.6.1/go.mod h1:Ygo1vL52Ov4TBZQquhz5fiw2CQ58gvu+PlS6PVXCpZI=
+cloud.google.com/go/cloudtasks v1.5.0/go.mod h1:fD92REy1x5woxkKEkLdvavGnPJGEn8Uic9nWuLzqCpY=
+cloud.google.com/go/cloudtasks v1.6.0/go.mod h1:C6Io+sxuke9/KNRkbQpihnW93SWDU3uXt92nu85HkYI=
+cloud.google.com/go/cloudtasks v1.7.0/go.mod h1:ImsfdYWwlWNJbdgPIIGJWC+gemEGTBK/SunNQQNCAb4=
+cloud.google.com/go/cloudtasks v1.8.0/go.mod h1:gQXUIwCSOI4yPVK7DgTVFiiP0ZW/eQkydWzwVMdHxrI=
+cloud.google.com/go/cloudtasks v1.9.0/go.mod h1:w+EyLsVkLWHcOaqNEyvcKAsWp9p29dL6uL9Nst1cI7Y=
+cloud.google.com/go/cloudtasks v1.10.0/go.mod h1:NDSoTLkZ3+vExFEWu2UJV1arUyzVDAiZtdWcsUyNwBs=
+cloud.google.com/go/cloudtasks v1.11.1/go.mod h1:a9udmnou9KO2iulGscKR0qBYjreuX8oHwpmFsKspEvM=
+cloud.google.com/go/cloudtasks v1.12.1/go.mod h1:a9udmnou9KO2iulGscKR0qBYjreuX8oHwpmFsKspEvM=
+cloud.google.com/go/compute v0.1.0/go.mod h1:GAesmwr110a34z04OlxYkATPBEfVhkymfTBXtfbBFow=
+cloud.google.com/go/compute v1.3.0/go.mod h1:cCZiE1NHEtai4wiufUhW8I8S1JKkAnhnQJWM7YD99wM=
+cloud.google.com/go/compute v1.5.0/go.mod h1:9SMHyhJlzhlkJqrPAc839t2BZFTSk6Jdj6mkzQJeu0M=
+cloud.google.com/go/compute v1.6.0/go.mod h1:T29tfhtVbq1wvAPo0E3+7vhgmkOYeXjhFvz/FMzPu0s=
+cloud.google.com/go/compute v1.6.1/go.mod h1:g85FgpzFvNULZ+S8AYq87axRKuf2Kh7deLqV/jJ3thU=
+cloud.google.com/go/compute v1.7.0/go.mod h1:435lt8av5oL9P3fv1OEzSbSUe+ybHXGMPQHHZWZxy9U=
+cloud.google.com/go/compute v1.10.0/go.mod h1:ER5CLbMxl90o2jtNbGSbtfOpQKR0t15FOtRsugnLrlU=
+cloud.google.com/go/compute v1.12.0/go.mod h1:e8yNOBcBONZU1vJKCvCoDw/4JQsA0dpM4x/6PIIOocU=
+cloud.google.com/go/compute v1.12.1/go.mod h1:e8yNOBcBONZU1vJKCvCoDw/4JQsA0dpM4x/6PIIOocU=
+cloud.google.com/go/compute v1.13.0/go.mod h1:5aPTS0cUNMIc1CE546K+Th6weJUNQErARyZtRXDJ8GE=
+cloud.google.com/go/compute v1.14.0/go.mod h1:YfLtxrj9sU4Yxv+sXzZkyPjEyPBZfXHUvjxega5vAdo=
+cloud.google.com/go/compute v1.15.1/go.mod h1:bjjoF/NtFUrkD/urWfdHaKuOPDR5nWIs63rR+SXhcpA=
+cloud.google.com/go/compute v1.18.0/go.mod h1:1X7yHxec2Ga+Ss6jPyjxRxpu2uu7PLgsOVXvgU0yacs=
+cloud.google.com/go/compute v1.19.0/go.mod h1:rikpw2y+UMidAe9tISo04EHNOIf42RLYF/q8Bs93scU=
+cloud.google.com/go/compute v1.19.3/go.mod h1:qxvISKp/gYnXkSAD1ppcSOveRAmzxicEv/JlizULFrI=
+cloud.google.com/go/compute v1.20.1/go.mod h1:4tCnrn48xsqlwSAiLf1HXMQk8CONslYbdiEZc9FEIbM=
+cloud.google.com/go/compute v1.23.0/go.mod h1:4tCnrn48xsqlwSAiLf1HXMQk8CONslYbdiEZc9FEIbM=
+cloud.google.com/go/compute/metadata v0.1.0/go.mod h1:Z1VN+bulIf6bt4P/C37K4DyZYZEXYonfTBHHFPO/4UU=
+cloud.google.com/go/compute/metadata v0.2.0/go.mod h1:zFmK7XCadkQkj6TtorcaGlCW1hT1fIilQDwofLpJ20k=
+cloud.google.com/go/compute/metadata v0.2.1/go.mod h1:jgHgmJd2RKBGzXqF5LR2EZMGxBkeanZ9wwa75XHJgOM=
+cloud.google.com/go/compute/metadata v0.2.3/go.mod h1:VAV5nSsACxMJvgaAuX6Pk2AawlZn8kiOGuCv6gTkwuA=
+cloud.google.com/go/compute/metadata v0.3.0/go.mod h1:zFmK7XCadkQkj6TtorcaGlCW1hT1fIilQDwofLpJ20k=
+cloud.google.com/go/compute/metadata v0.6.0/go.mod h1:FjyFAW1MW0C203CEOMDTu3Dk1FlqW3Rga40jzHL4hfg=
+cloud.google.com/go/compute/metadata v0.7.0/go.mod h1:j5MvL9PprKL39t166CoB1uVHfQMs4tFQZZcKwksXUjo=
+cloud.google.com/go/contactcenterinsights v1.3.0/go.mod h1:Eu2oemoePuEFc/xKFPjbTuPSj0fYJcPls9TFlPNnHHY=
+cloud.google.com/go/contactcenterinsights v1.4.0/go.mod h1:L2YzkGbPsv+vMQMCADxJoT9YiTTnSEd6fEvCeHTYVck=
+cloud.google.com/go/contactcenterinsights v1.6.0/go.mod h1:IIDlT6CLcDoyv79kDv8iWxMSTZhLxSCofVV5W6YFM/w=
+cloud.google.com/go/contactcenterinsights v1.9.1/go.mod h1:bsg/R7zGLYMVxFFzfh9ooLTruLRCG9fnzhH9KznHhbM=
+cloud.google.com/go/contactcenterinsights v1.10.0/go.mod h1:bsg/R7zGLYMVxFFzfh9ooLTruLRCG9fnzhH9KznHhbM=
+cloud.google.com/go/container v1.6.0/go.mod h1:Xazp7GjJSeUYo688S+6J5V+n/t+G5sKBTFkKNudGRxg=
+cloud.google.com/go/container v1.7.0/go.mod h1:Dp5AHtmothHGX3DwwIHPgq45Y8KmNsgN3amoYfxVkLo=
+cloud.google.com/go/container v1.13.1/go.mod h1:6wgbMPeQRw9rSnKBCAJXnds3Pzj03C4JHamr8asWKy4=
+cloud.google.com/go/container v1.14.0/go.mod h1:3AoJMPhHfLDxLvrlVWaK57IXzaPnLaZq63WX59aQBfM=
+cloud.google.com/go/container v1.15.0/go.mod h1:ft+9S0WGjAyjDggg5S06DXj+fHJICWg8L7isCQe9pQA=
+cloud.google.com/go/container v1.22.1/go.mod h1:lTNExE2R7f+DLbAN+rJiKTisauFCaoDq6NURZ83eVH4=
+cloud.google.com/go/container v1.24.0/go.mod h1:lTNExE2R7f+DLbAN+rJiKTisauFCaoDq6NURZ83eVH4=
+cloud.google.com/go/containeranalysis v0.5.1/go.mod h1:1D92jd8gRR/c0fGMlymRgxWD3Qw9C1ff6/T7mLgVL8I=
+cloud.google.com/go/containeranalysis v0.6.0/go.mod h1:HEJoiEIu+lEXM+k7+qLCci0h33lX3ZqoYFdmPcoO7s4=
+cloud.google.com/go/containeranalysis v0.7.0/go.mod h1:9aUL+/vZ55P2CXfuZjS4UjQ9AgXoSw8Ts6lemfmxBxI=
+cloud.google.com/go/containeranalysis v0.9.0/go.mod h1:orbOANbwk5Ejoom+s+DUCTTJ7IBdBQJDcSylAx/on9s=
+cloud.google.com/go/containeranalysis v0.10.1/go.mod h1:Ya2jiILITMY68ZLPaogjmOMNkwsDrWBSTyBubGXO7j0=
+cloud.google.com/go/datacatalog v1.3.0/go.mod h1:g9svFY6tuR+j+hrTw3J2dNcmI0dzmSiyOzm8kpLq0a0=
+cloud.google.com/go/datacatalog v1.5.0/go.mod h1:M7GPLNQeLfWqeIm3iuiruhPzkt65+Bx8dAKvScX8jvs=
+cloud.google.com/go/datacatalog v1.6.0/go.mod h1:+aEyF8JKg+uXcIdAmmaMUmZ3q1b/lKLtXCmXdnc0lbc=
+cloud.google.com/go/datacatalog v1.7.0/go.mod h1:9mEl4AuDYWw81UGc41HonIHH7/sn52H0/tc8f8ZbZIE=
+cloud.google.com/go/datacatalog v1.8.0/go.mod h1:KYuoVOv9BM8EYz/4eMFxrr4DUKhGIOXxZoKYF5wdISM=
+cloud.google.com/go/datacatalog v1.8.1/go.mod h1:RJ58z4rMp3gvETA465Vg+ag8BGgBdnRPEMMSTr5Uv+M=
+cloud.google.com/go/datacatalog v1.12.0/go.mod h1:CWae8rFkfp6LzLumKOnmVh4+Zle4A3NXLzVJ1d1mRm0=
+cloud.google.com/go/datacatalog v1.13.0/go.mod h1:E4Rj9a5ZtAxcQJlEBTLgMTphfP11/lNaAshpoBgemX8=
+cloud.google.com/go/datacatalog v1.14.0/go.mod h1:h0PrGtlihoutNMp/uvwhawLQ9+c63Kz65UFqh49Yo+E=
+cloud.google.com/go/datacatalog v1.14.1/go.mod h1:d2CevwTG4yedZilwe+v3E3ZBDRMobQfSG/a6cCCN5R4=
+cloud.google.com/go/datacatalog v1.16.0/go.mod h1:d2CevwTG4yedZilwe+v3E3ZBDRMobQfSG/a6cCCN5R4=
+cloud.google.com/go/dataflow v0.6.0/go.mod h1:9QwV89cGoxjjSR9/r7eFDqqjtvbKxAK2BaYU6PVk9UM=
+cloud.google.com/go/dataflow v0.7.0/go.mod h1:PX526vb4ijFMesO1o202EaUmouZKBpjHsTlCtB4parQ=
+cloud.google.com/go/dataflow v0.8.0/go.mod h1:Rcf5YgTKPtQyYz8bLYhFoIV/vP39eL7fWNcSOyFfLJE=
+cloud.google.com/go/dataflow v0.9.1/go.mod h1:Wp7s32QjYuQDWqJPFFlnBKhkAtiFpMTdg00qGbnIHVw=
+cloud.google.com/go/dataform v0.3.0/go.mod h1:cj8uNliRlHpa6L3yVhDOBrUXH+BPAO1+KFMQQNSThKo=
+cloud.google.com/go/dataform v0.4.0/go.mod h1:fwV6Y4Ty2yIFL89huYlEkwUPtS7YZinZbzzj5S9FzCE=
+cloud.google.com/go/dataform v0.5.0/go.mod h1:GFUYRe8IBa2hcomWplodVmUx/iTL0FrsauObOM3Ipr0=
+cloud.google.com/go/dataform v0.6.0/go.mod h1:QPflImQy33e29VuapFdf19oPbE4aYTJxr31OAPV+ulA=
+cloud.google.com/go/dataform v0.7.0/go.mod h1:7NulqnVozfHvWUBpMDfKMUESr+85aJsC/2O0o3jWPDE=
+cloud.google.com/go/dataform v0.8.1/go.mod h1:3BhPSiw8xmppbgzeBbmDvmSWlwouuJkXsXsb8UBih9M=
+cloud.google.com/go/datafusion v1.4.0/go.mod h1:1Zb6VN+W6ALo85cXnM1IKiPw+yQMKMhB9TsTSRDo/38=
+cloud.google.com/go/datafusion v1.5.0/go.mod h1:Kz+l1FGHB0J+4XF2fud96WMmRiq/wj8N9u007vyXZ2w=
+cloud.google.com/go/datafusion v1.6.0/go.mod h1:WBsMF8F1RhSXvVM8rCV3AeyWVxcC2xY6vith3iw3S+8=
+cloud.google.com/go/datafusion v1.7.1/go.mod h1:KpoTBbFmoToDExJUso/fcCiguGDk7MEzOWXUsJo0wsI=
+cloud.google.com/go/datalabeling v0.5.0/go.mod h1:TGcJ0G2NzcsXSE/97yWjIZO0bXj0KbVlINXMG9ud42I=
+cloud.google.com/go/datalabeling v0.6.0/go.mod h1:WqdISuk/+WIGeMkpw/1q7bK/tFEZxsrFJOJdY2bXvTQ=
+cloud.google.com/go/datalabeling v0.7.0/go.mod h1:WPQb1y08RJbmpM3ww0CSUAGweL0SxByuW2E+FU+wXcM=
+cloud.google.com/go/datalabeling v0.8.1/go.mod h1:XS62LBSVPbYR54GfYQsPXZjTW8UxCK2fkDciSrpRFdY=
+cloud.google.com/go/dataplex v1.3.0/go.mod h1:hQuRtDg+fCiFgC8j0zV222HvzFQdRd+SVX8gdmFcZzA=
+cloud.google.com/go/dataplex v1.4.0/go.mod h1:X51GfLXEMVJ6UN47ESVqvlsRplbLhcsAt0kZCCKsU0A=
+cloud.google.com/go/dataplex v1.5.2/go.mod h1:cVMgQHsmfRoI5KFYq4JtIBEUbYwc3c7tXmIDhRmNNVQ=
+cloud.google.com/go/dataplex v1.6.0/go.mod h1:bMsomC/aEJOSpHXdFKFGQ1b0TDPIeL28nJObeO1ppRs=
+cloud.google.com/go/dataplex v1.8.1/go.mod h1:7TyrDT6BCdI8/38Uvp0/ZxBslOslP2X2MPDucliyvSE=
+cloud.google.com/go/dataplex v1.9.0/go.mod h1:7TyrDT6BCdI8/38Uvp0/ZxBslOslP2X2MPDucliyvSE=
+cloud.google.com/go/dataproc v1.7.0/go.mod h1:CKAlMjII9H90RXaMpSxQ8EU6dQx6iAYNPcYPOkSbi8s=
+cloud.google.com/go/dataproc v1.8.0/go.mod h1:5OW+zNAH0pMpw14JVrPONsxMQYMBqJuzORhIBfBn9uI=
+cloud.google.com/go/dataproc v1.12.0/go.mod h1:zrF3aX0uV3ikkMz6z4uBbIKyhRITnxvr4i3IjKsKrw4=
+cloud.google.com/go/dataproc/v2 v2.0.1/go.mod h1:7Ez3KRHdFGcfY7GcevBbvozX+zyWGcwLJvvAMwCaoZ4=
+cloud.google.com/go/dataqna v0.5.0/go.mod h1:90Hyk596ft3zUQ8NkFfvICSIfHFh1Bc7C4cK3vbhkeo=
+cloud.google.com/go/dataqna v0.6.0/go.mod h1:1lqNpM7rqNLVgWBJyk5NF6Uen2PHym0jtVJonplVsDA=
+cloud.google.com/go/dataqna v0.7.0/go.mod h1:Lx9OcIIeqCrw1a6KdO3/5KMP1wAmTc0slZWwP12Qq3c=
+cloud.google.com/go/dataqna v0.8.1/go.mod h1:zxZM0Bl6liMePWsHA8RMGAfmTG34vJMapbHAxQ5+WA8=
+cloud.google.com/go/datastore v1.0.0/go.mod h1:LXYbyblFSglQ5pkeyhO+Qmw7ukd3C+pD7TKLgZqpHYE=
+cloud.google.com/go/datastore v1.1.0/go.mod h1:umbIZjpQpHh4hmRpGhH4tLFup+FVzqBi1b3c64qFpCk=
+cloud.google.com/go/datastore v1.10.0/go.mod h1:PC5UzAmDEkAmkfaknstTYbNpgE49HAgW2J1gcgUfmdM=
+cloud.google.com/go/datastore v1.11.0/go.mod h1:TvGxBIHCS50u8jzG+AW/ppf87v1of8nwzFNgEZU1D3c=
+cloud.google.com/go/datastore v1.12.0/go.mod h1:KjdB88W897MRITkvWWJrg2OUtrR5XVj1EoLgSp6/N70=
+cloud.google.com/go/datastore v1.12.1/go.mod h1:KjdB88W897MRITkvWWJrg2OUtrR5XVj1EoLgSp6/N70=
+cloud.google.com/go/datastore v1.13.0/go.mod h1:KjdB88W897MRITkvWWJrg2OUtrR5XVj1EoLgSp6/N70=
+cloud.google.com/go/datastream v1.2.0/go.mod h1:i/uTP8/fZwgATHS/XFu0TcNUhuA0twZxxQ3EyCUQMwo=
+cloud.google.com/go/datastream v1.3.0/go.mod h1:cqlOX8xlyYF/uxhiKn6Hbv6WjwPPuI9W2M9SAXwaLLQ=
+cloud.google.com/go/datastream v1.4.0/go.mod h1:h9dpzScPhDTs5noEMQVWP8Wx8AFBRyS0s8KWPx/9r0g=
+cloud.google.com/go/datastream v1.5.0/go.mod h1:6TZMMNPwjUqZHBKPQ1wwXpb0d5VDVPl2/XoS5yi88q4=
+cloud.google.com/go/datastream v1.6.0/go.mod h1:6LQSuswqLa7S4rPAOZFVjHIG3wJIjZcZrw8JDEDJuIs=
+cloud.google.com/go/datastream v1.7.0/go.mod h1:uxVRMm2elUSPuh65IbZpzJNMbuzkcvu5CjMqVIUHrww=
+cloud.google.com/go/datastream v1.9.1/go.mod h1:hqnmr8kdUBmrnk65k5wNRoHSCYksvpdZIcZIEl8h43Q=
+cloud.google.com/go/datastream v1.10.0/go.mod h1:hqnmr8kdUBmrnk65k5wNRoHSCYksvpdZIcZIEl8h43Q=
+cloud.google.com/go/deploy v1.4.0/go.mod h1:5Xghikd4VrmMLNaF6FiRFDlHb59VM59YoDQnOUdsH/c=
+cloud.google.com/go/deploy v1.5.0/go.mod h1:ffgdD0B89tToyW/U/D2eL0jN2+IEV/3EMuXHA0l4r+s=
+cloud.google.com/go/deploy v1.6.0/go.mod h1:f9PTHehG/DjCom3QH0cntOVRm93uGBDt2vKzAPwpXQI=
+cloud.google.com/go/deploy v1.8.0/go.mod h1:z3myEJnA/2wnB4sgjqdMfgxCA0EqC3RBTNcVPs93mtQ=
+cloud.google.com/go/deploy v1.11.0/go.mod h1:tKuSUV5pXbn67KiubiUNUejqLs4f5cxxiCNCeyl0F2g=
+cloud.google.com/go/deploy v1.13.0/go.mod h1:tKuSUV5pXbn67KiubiUNUejqLs4f5cxxiCNCeyl0F2g=
+cloud.google.com/go/dialogflow v1.15.0/go.mod h1:HbHDWs33WOGJgn6rfzBW1Kv807BE3O1+xGbn59zZWI4=
+cloud.google.com/go/dialogflow v1.16.1/go.mod h1:po6LlzGfK+smoSmTBnbkIZY2w8ffjz/RcGSS+sh1el0=
+cloud.google.com/go/dialogflow v1.17.0/go.mod h1:YNP09C/kXA1aZdBgC/VtXX74G/TKn7XVCcVumTflA+8=
+cloud.google.com/go/dialogflow v1.18.0/go.mod h1:trO7Zu5YdyEuR+BhSNOqJezyFQ3aUzz0njv7sMx/iek=
+cloud.google.com/go/dialogflow v1.19.0/go.mod h1:JVmlG1TwykZDtxtTXujec4tQ+D8SBFMoosgy+6Gn0s0=
+cloud.google.com/go/dialogflow v1.29.0/go.mod h1:b+2bzMe+k1s9V+F2jbJwpHPzrnIyHihAdRFMtn2WXuM=
+cloud.google.com/go/dialogflow v1.31.0/go.mod h1:cuoUccuL1Z+HADhyIA7dci3N5zUssgpBJmCzI6fNRB4=
+cloud.google.com/go/dialogflow v1.32.0/go.mod h1:jG9TRJl8CKrDhMEcvfcfFkkpp8ZhgPz3sBGmAUYJ2qE=
+cloud.google.com/go/dialogflow v1.38.0/go.mod h1:L7jnH+JL2mtmdChzAIcXQHXMvQkE3U4hTaNltEuxXn4=
+cloud.google.com/go/dialogflow v1.40.0/go.mod h1:L7jnH+JL2mtmdChzAIcXQHXMvQkE3U4hTaNltEuxXn4=
+cloud.google.com/go/dlp v1.6.0/go.mod h1:9eyB2xIhpU0sVwUixfBubDoRwP+GjeUoxxeueZmqvmM=
+cloud.google.com/go/dlp v1.7.0/go.mod h1:68ak9vCiMBjbasxeVD17hVPxDEck+ExiHavX8kiHG+Q=
+cloud.google.com/go/dlp v1.9.0/go.mod h1:qdgmqgTyReTz5/YNSSuueR8pl7hO0o9bQ39ZhtgkWp4=
+cloud.google.com/go/dlp v1.10.1/go.mod h1:IM8BWz1iJd8njcNcG0+Kyd9OPnqnRNkDV8j42VT5KOI=
+cloud.google.com/go/documentai v1.7.0/go.mod h1:lJvftZB5NRiFSX4moiye1SMxHx0Bc3x1+p9e/RfXYiU=
+cloud.google.com/go/documentai v1.8.0/go.mod h1:xGHNEB7CtsnySCNrCFdCyyMz44RhFEEX2Q7UD0c5IhU=
+cloud.google.com/go/documentai v1.9.0/go.mod h1:FS5485S8R00U10GhgBC0aNGrJxBP8ZVpEeJ7PQDZd6k=
+cloud.google.com/go/documentai v1.10.0/go.mod h1:vod47hKQIPeCfN2QS/jULIvQTugbmdc0ZvxxfQY1bg4=
+cloud.google.com/go/documentai v1.16.0/go.mod h1:o0o0DLTEZ+YnJZ+J4wNfTxmDVyrkzFvttBXXtYRMHkM=
+cloud.google.com/go/documentai v1.18.0/go.mod h1:F6CK6iUH8J81FehpskRmhLq/3VlwQvb7TvwOceQ2tbs=
+cloud.google.com/go/documentai v1.20.0/go.mod h1:yJkInoMcK0qNAEdRnqY/D5asy73tnPe88I1YTZT+a8E=
+cloud.google.com/go/documentai v1.22.0/go.mod h1:yJkInoMcK0qNAEdRnqY/D5asy73tnPe88I1YTZT+a8E=
+cloud.google.com/go/domains v0.6.0/go.mod h1:T9Rz3GasrpYk6mEGHh4rymIhjlnIuB4ofT1wTxDeT4Y=
+cloud.google.com/go/domains v0.7.0/go.mod h1:PtZeqS1xjnXuRPKE/88Iru/LdfoRyEHYA9nFQf4UKpg=
+cloud.google.com/go/domains v0.8.0/go.mod h1:M9i3MMDzGFXsydri9/vW+EWz9sWb4I6WyHqdlAk0idE=
+cloud.google.com/go/domains v0.9.1/go.mod h1:aOp1c0MbejQQ2Pjf1iJvnVyT+z6R6s8pX66KaCSDYfE=
+cloud.google.com/go/edgecontainer v0.1.0/go.mod h1:WgkZ9tp10bFxqO8BLPqv2LlfmQF1X8lZqwW4r1BTajk=
+cloud.google.com/go/edgecontainer v0.2.0/go.mod h1:RTmLijy+lGpQ7BXuTDa4C4ssxyXT34NIuHIgKuP4s5w=
+cloud.google.com/go/edgecontainer v0.3.0/go.mod h1:FLDpP4nykgwwIfcLt6zInhprzw0lEi2P1fjO6Ie0qbc=
+cloud.google.com/go/edgecontainer v1.0.0/go.mod h1:cttArqZpBB2q58W/upSG++ooo6EsblxDIolxa3jSjbY=
+cloud.google.com/go/edgecontainer v1.1.1/go.mod h1:O5bYcS//7MELQZs3+7mabRqoWQhXCzenBu0R8bz2rwk=
+cloud.google.com/go/errorreporting v0.3.0/go.mod h1:xsP2yaAp+OAW4OIm60An2bbLpqIhKXdWR/tawvl7QzU=
+cloud.google.com/go/essentialcontacts v1.3.0/go.mod h1:r+OnHa5jfj90qIfZDO/VztSFqbQan7HV75p8sA+mdGI=
+cloud.google.com/go/essentialcontacts v1.4.0/go.mod h1:8tRldvHYsmnBCHdFpvU+GL75oWiBKl80BiqlFh9tp+8=
+cloud.google.com/go/essentialcontacts v1.5.0/go.mod h1:ay29Z4zODTuwliK7SnX8E86aUF2CTzdNtvv42niCX0M=
+cloud.google.com/go/essentialcontacts v1.6.2/go.mod h1:T2tB6tX+TRak7i88Fb2N9Ok3PvY3UNbUsMag9/BARh4=
+cloud.google.com/go/eventarc v1.7.0/go.mod h1:6ctpF3zTnaQCxUjHUdcfgcA1A2T309+omHZth7gDfmc=
+cloud.google.com/go/eventarc v1.8.0/go.mod h1:imbzxkyAU4ubfsaKYdQg04WS1NvncblHEup4kvF+4gw=
+cloud.google.com/go/eventarc v1.10.0/go.mod h1:u3R35tmZ9HvswGRBnF48IlYgYeBcPUCjkr4BTdem2Kw=
+cloud.google.com/go/eventarc v1.11.0/go.mod h1:PyUjsUKPWoRBCHeOxZd/lbOOjahV41icXyUY5kSTvVY=
+cloud.google.com/go/eventarc v1.12.1/go.mod h1:mAFCW6lukH5+IZjkvrEss+jmt2kOdYlN8aMx3sRJiAI=
+cloud.google.com/go/eventarc v1.13.0/go.mod h1:mAFCW6lukH5+IZjkvrEss+jmt2kOdYlN8aMx3sRJiAI=
+cloud.google.com/go/filestore v1.3.0/go.mod h1:+qbvHGvXU1HaKX2nD0WEPo92TP/8AQuCVEBXNY9z0+w=
+cloud.google.com/go/filestore v1.4.0/go.mod h1:PaG5oDfo9r224f8OYXURtAsY+Fbyq/bLYoINEK8XQAI=
+cloud.google.com/go/filestore v1.5.0/go.mod h1:FqBXDWBp4YLHqRnVGveOkHDf8svj9r5+mUDLupOWEDs=
+cloud.google.com/go/filestore v1.6.0/go.mod h1:di5unNuss/qfZTw2U9nhFqo8/ZDSc466dre85Kydllg=
+cloud.google.com/go/filestore v1.7.1/go.mod h1:y10jsorq40JJnjR/lQ8AfFbbcGlw3g+Dp8oN7i7FjV4=
+cloud.google.com/go/firestore v1.9.0/go.mod h1:HMkjKHNTtRyZNiMzu7YAsLr9K3X2udY2AMwDaMEQiiE=
+cloud.google.com/go/firestore v1.11.0/go.mod h1:b38dKhgzlmNNGTNZZwe7ZRFEuRab1Hay3/DBsIGKKy4=
+cloud.google.com/go/functions v1.6.0/go.mod h1:3H1UA3qiIPRWD7PeZKLvHZ9SaQhR26XIJcC0A5GbvAk=
+cloud.google.com/go/functions v1.7.0/go.mod h1:+d+QBcWM+RsrgZfV9xo6KfA1GlzJfxcfZcRPEhDDfzg=
+cloud.google.com/go/functions v1.8.0/go.mod h1:RTZ4/HsQjIqIYP9a9YPbU+QFoQsAlYgrwOXJWHn1POY=
+cloud.google.com/go/functions v1.9.0/go.mod h1:Y+Dz8yGguzO3PpIjhLTbnqV1CWmgQ5UwtlpzoyquQ08=
+cloud.google.com/go/functions v1.10.0/go.mod h1:0D3hEOe3DbEvCXtYOZHQZmD+SzYsi1YbI7dGvHfldXw=
+cloud.google.com/go/functions v1.12.0/go.mod h1:AXWGrF3e2C/5ehvwYo/GH6O5s09tOPksiKhz+hH8WkA=
+cloud.google.com/go/functions v1.13.0/go.mod h1:EU4O007sQm6Ef/PwRsI8N2umygGqPBS/IZQKBQBcJ3c=
+cloud.google.com/go/functions v1.15.1/go.mod h1:P5yNWUTkyU+LvW/S9O6V+V423VZooALQlqoXdoPz5AE=
+cloud.google.com/go/gaming v1.5.0/go.mod h1:ol7rGcxP/qHTRQE/RO4bxkXq+Fix0j6D4LFPzYTIrDM=
+cloud.google.com/go/gaming v1.6.0/go.mod h1:YMU1GEvA39Qt3zWGyAVA9bpYz/yAhTvaQ1t2sK4KPUA=
+cloud.google.com/go/gaming v1.7.0/go.mod h1:LrB8U7MHdGgFG851iHAfqUdLcKBdQ55hzXy9xBJz0+w=
+cloud.google.com/go/gaming v1.8.0/go.mod h1:xAqjS8b7jAVW0KFYeRUxngo9My3f33kFmua++Pi+ggM=
+cloud.google.com/go/gaming v1.9.0/go.mod h1:Fc7kEmCObylSWLO334NcO+O9QMDyz+TKC4v1D7X+Bc0=
+cloud.google.com/go/gaming v1.10.1/go.mod h1:XQQvtfP8Rb9Rxnxm5wFVpAp9zCQkJi2bLIb7iHGwB3s=
+cloud.google.com/go/gkebackup v0.2.0/go.mod h1:XKvv/4LfG829/B8B7xRkk8zRrOEbKtEam6yNfuQNH60=
+cloud.google.com/go/gkebackup v0.3.0/go.mod h1:n/E671i1aOQvUxT541aTkCwExO/bTer2HDlj4TsBRAo=
+cloud.google.com/go/gkebackup v0.4.0/go.mod h1:byAyBGUwYGEEww7xsbnUTBHIYcOPy/PgUWUtOeRm9Vg=
+cloud.google.com/go/gkebackup v1.3.0/go.mod h1:vUDOu++N0U5qs4IhG1pcOnD1Mac79xWy6GoBFlWCWBU=
+cloud.google.com/go/gkeconnect v0.5.0/go.mod h1:c5lsNAg5EwAy7fkqX/+goqFsU1Da/jQFqArp+wGNr/o=
+cloud.google.com/go/gkeconnect v0.6.0/go.mod h1:Mln67KyU/sHJEBY8kFZ0xTeyPtzbq9StAVvEULYK16A=
+cloud.google.com/go/gkeconnect v0.7.0/go.mod h1:SNfmVqPkaEi3bF/B3CNZOAYPYdg7sU+obZ+QTky2Myw=
+cloud.google.com/go/gkeconnect v0.8.1/go.mod h1:KWiK1g9sDLZqhxB2xEuPV8V9NYzrqTUmQR9shJHpOZw=
+cloud.google.com/go/gkehub v0.9.0/go.mod h1:WYHN6WG8w9bXU0hqNxt8rm5uxnk8IH+lPY9J2TV7BK0=
+cloud.google.com/go/gkehub v0.10.0/go.mod h1:UIPwxI0DsrpsVoWpLB0stwKCP+WFVG9+y977wO+hBH0=
+cloud.google.com/go/gkehub v0.11.0/go.mod h1:JOWHlmN+GHyIbuWQPl47/C2RFhnFKH38jH9Ascu3n0E=
+cloud.google.com/go/gkehub v0.12.0/go.mod h1:djiIwwzTTBrF5NaXCGv3mf7klpEMcST17VBTVVDcuaw=
+cloud.google.com/go/gkehub v0.14.1/go.mod h1:VEXKIJZ2avzrbd7u+zeMtW00Y8ddk/4V9511C9CQGTY=
+cloud.google.com/go/gkemulticloud v0.3.0/go.mod h1:7orzy7O0S+5kq95e4Hpn7RysVA7dPs8W/GgfUtsPbrA=
+cloud.google.com/go/gkemulticloud v0.4.0/go.mod h1:E9gxVBnseLWCk24ch+P9+B2CoDFJZTyIgLKSalC7tuI=
+cloud.google.com/go/gkemulticloud v0.5.0/go.mod h1:W0JDkiyi3Tqh0TJr//y19wyb1yf8llHVto2Htf2Ja3Y=
+cloud.google.com/go/gkemulticloud v0.6.1/go.mod h1:kbZ3HKyTsiwqKX7Yw56+wUGwwNZViRnxWK2DVknXWfw=
+cloud.google.com/go/gkemulticloud v1.0.0/go.mod h1:kbZ3HKyTsiwqKX7Yw56+wUGwwNZViRnxWK2DVknXWfw=
+cloud.google.com/go/grafeas v0.2.0/go.mod h1:KhxgtF2hb0P191HlY5besjYm6MqTSTj3LSI+M+ByZHc=
+cloud.google.com/go/grafeas v0.3.0/go.mod h1:P7hgN24EyONOTMyeJH6DxG4zD7fwiYa5Q6GUgyFSOU8=
+cloud.google.com/go/gsuiteaddons v1.3.0/go.mod h1:EUNK/J1lZEZO8yPtykKxLXI6JSVN2rg9bN8SXOa0bgM=
+cloud.google.com/go/gsuiteaddons v1.4.0/go.mod h1:rZK5I8hht7u7HxFQcFei0+AtfS9uSushomRlg+3ua1o=
+cloud.google.com/go/gsuiteaddons v1.5.0/go.mod h1:TFCClYLd64Eaa12sFVmUyG62tk4mdIsI7pAnSXRkcFo=
+cloud.google.com/go/gsuiteaddons v1.6.1/go.mod h1:CodrdOqRZcLp5WOwejHWYBjZvfY0kOphkAKpF/3qdZY=
+cloud.google.com/go/iam v0.1.0/go.mod h1:vcUNEa0pEm0qRVpmWepWaFMIAI8/hjB9mO8rNCJtF6c=
+cloud.google.com/go/iam v0.3.0/go.mod h1:XzJPvDayI+9zsASAFO68Hk07u3z+f+JrT2xXNdp4bnY=
+cloud.google.com/go/iam v0.5.0/go.mod h1:wPU9Vt0P4UmCux7mqtRu6jcpPAb74cP1fh50J3QpkUc=
+cloud.google.com/go/iam v0.6.0/go.mod h1:+1AH33ueBne5MzYccyMHtEKqLE4/kJOibtffMHDMFMc=
+cloud.google.com/go/iam v0.7.0/go.mod h1:H5Br8wRaDGNc8XP3keLc4unfUUZeyH3Sfl9XpQEYOeg=
+cloud.google.com/go/iam v0.8.0/go.mod h1:lga0/y3iH6CX7sYqypWJ33hf7kkfXJag67naqGESjkE=
+cloud.google.com/go/iam v0.11.0/go.mod h1:9PiLDanza5D+oWFZiH1uG+RnRCfEGKoyl6yo4cgWZGY=
+cloud.google.com/go/iam v0.12.0/go.mod h1:knyHGviacl11zrtZUoDuYpDgLjvr28sLQaG0YB2GYAY=
+cloud.google.com/go/iam v0.13.0/go.mod h1:ljOg+rcNfzZ5d6f1nAUJ8ZIxOaZUVoS14bKCtaLZ/D0=
+cloud.google.com/go/iam v1.0.1/go.mod h1:yR3tmSL8BcZB4bxByRv2jkSIahVmCtfKZwLYGBalRE8=
+cloud.google.com/go/iam v1.1.0/go.mod h1:nxdHjaKfCr7fNYx/HJMM8LgiMugmveWlkatear5gVyk=
+cloud.google.com/go/iam v1.1.1/go.mod h1:A5avdyVL2tCppe4unb0951eI9jreack+RJ0/d+KUZOU=
+cloud.google.com/go/iap v1.4.0/go.mod h1:RGFwRJdihTINIe4wZ2iCP0zF/qu18ZwyKxrhMhygBEc=
+cloud.google.com/go/iap v1.5.0/go.mod h1:UH/CGgKd4KyohZL5Pt0jSKE4m3FR51qg6FKQ/z/Ix9A=
+cloud.google.com/go/iap v1.6.0/go.mod h1:NSuvI9C/j7UdjGjIde7t7HBz+QTwBcapPE07+sSRcLk=
+cloud.google.com/go/iap v1.7.0/go.mod h1:beqQx56T9O1G1yNPph+spKpNibDlYIiIixiqsQXxLIo=
+cloud.google.com/go/iap v1.7.1/go.mod h1:WapEwPc7ZxGt2jFGB/C/bm+hP0Y6NXzOYGjpPnmMS74=
+cloud.google.com/go/iap v1.8.1/go.mod h1:sJCbeqg3mvWLqjZNsI6dfAtbbV1DL2Rl7e1mTyXYREQ=
+cloud.google.com/go/ids v1.1.0/go.mod h1:WIuwCaYVOzHIj2OhN9HAwvW+DBdmUAdcWlFxRl+KubM=
+cloud.google.com/go/ids v1.2.0/go.mod h1:5WXvp4n25S0rA/mQWAg1YEEBBq6/s+7ml1RDCW1IrcY=
+cloud.google.com/go/ids v1.3.0/go.mod h1:JBdTYwANikFKaDP6LtW5JAi4gubs57SVNQjemdt6xV4=
+cloud.google.com/go/ids v1.4.1/go.mod h1:np41ed8YMU8zOgv53MMMoCntLTn2lF+SUzlM+O3u/jw=
+cloud.google.com/go/iot v1.3.0/go.mod h1:r7RGh2B61+B8oz0AGE+J72AhA0G7tdXItODWsaA2oLs=
+cloud.google.com/go/iot v1.4.0/go.mod h1:dIDxPOn0UvNDUMD8Ger7FIaTuvMkj+aGk94RPP0iV+g=
+cloud.google.com/go/iot v1.5.0/go.mod h1:mpz5259PDl3XJthEmh9+ap0affn/MqNSP4My77Qql9o=
+cloud.google.com/go/iot v1.6.0/go.mod h1:IqdAsmE2cTYYNO1Fvjfzo9po179rAtJeVGUvkLN3rLE=
+cloud.google.com/go/iot v1.7.1/go.mod h1:46Mgw7ev1k9KqK1ao0ayW9h0lI+3hxeanz+L1zmbbbk=
+cloud.google.com/go/kms v1.4.0/go.mod h1:fajBHndQ+6ubNw6Ss2sSd+SWvjL26RNo/dr7uxsnnOA=
+cloud.google.com/go/kms v1.5.0/go.mod h1:QJS2YY0eJGBg3mnDfuaCyLauWwBJiHRboYxJ++1xJNg=
+cloud.google.com/go/kms v1.6.0/go.mod h1:Jjy850yySiasBUDi6KFUwUv2n1+o7QZFyuUJg6OgjA0=
+cloud.google.com/go/kms v1.8.0/go.mod h1:4xFEhYFqvW+4VMELtZyxomGSYtSQKzM178ylFW4jMAg=
+cloud.google.com/go/kms v1.9.0/go.mod h1:qb1tPTgfF9RQP8e1wq4cLFErVuTJv7UsSC915J8dh3w=
+cloud.google.com/go/kms v1.10.0/go.mod h1:ng3KTUtQQU9bPX3+QGLsflZIHlkbn8amFAMY63m8d24=
+cloud.google.com/go/kms v1.10.1/go.mod h1:rIWk/TryCkR59GMC3YtHtXeLzd634lBbKenvyySAyYI=
+cloud.google.com/go/kms v1.11.0/go.mod h1:hwdiYC0xjnWsKQQCQQmIQnS9asjYVSK6jtXm+zFqXLM=
+cloud.google.com/go/kms v1.12.1/go.mod h1:c9J991h5DTl+kg7gi3MYomh12YEENGrf48ee/N/2CDM=
+cloud.google.com/go/kms v1.15.0/go.mod h1:c9J991h5DTl+kg7gi3MYomh12YEENGrf48ee/N/2CDM=
+cloud.google.com/go/language v1.4.0/go.mod h1:F9dRpNFQmJbkaop6g0JhSBXCNlO90e1KWx5iDdxbWic=
+cloud.google.com/go/language v1.6.0/go.mod h1:6dJ8t3B+lUYfStgls25GusK04NLh3eDLQnWM3mdEbhI=
+cloud.google.com/go/language v1.7.0/go.mod h1:DJ6dYN/W+SQOjF8e1hLQXMF21AkH2w9wiPzPCJa2MIE=
+cloud.google.com/go/language v1.8.0/go.mod h1:qYPVHf7SPoNNiCL2Dr0FfEFNil1qi3pQEyygwpgVKB8=
+cloud.google.com/go/language v1.9.0/go.mod h1:Ns15WooPM5Ad/5no/0n81yUetis74g3zrbeJBE+ptUY=
+cloud.google.com/go/language v1.10.1/go.mod h1:CPp94nsdVNiQEt1CNjF5WkTcisLiHPyIbMhvR8H2AW0=
+cloud.google.com/go/lifesciences v0.5.0/go.mod h1:3oIKy8ycWGPUyZDR/8RNnTOYevhaMLqh5vLUXs9zvT8=
+cloud.google.com/go/lifesciences v0.6.0/go.mod h1:ddj6tSX/7BOnhxCSd3ZcETvtNr8NZ6t/iPhY2Tyfu08=
+cloud.google.com/go/lifesciences v0.8.0/go.mod h1:lFxiEOMqII6XggGbOnKiyZ7IBwoIqA84ClvoezaA/bo=
+cloud.google.com/go/lifesciences v0.9.1/go.mod h1:hACAOd1fFbCGLr/+weUKRAJas82Y4vrL3O5326N//Wc=
+cloud.google.com/go/logging v1.6.1/go.mod h1:5ZO0mHHbvm8gEmeEUHrmDlTDSu5imF6MUP9OfilNXBw=
+cloud.google.com/go/logging v1.7.0/go.mod h1:3xjP2CjkM3ZkO73aj4ASA5wRPGGCRrPIAeNqVNkzY8M=
+cloud.google.com/go/longrunning v0.1.1/go.mod h1:UUFxuDWkv22EuY93jjmDMFT5GPQKeFVJBIF6QlTqdsE=
+cloud.google.com/go/longrunning v0.3.0/go.mod h1:qth9Y41RRSUE69rDcOn6DdK3HfQfsUI0YSmW3iIlLJc=
+cloud.google.com/go/longrunning v0.4.1/go.mod h1:4iWDqhBZ70CvZ6BfETbvam3T8FMvLK+eFj0E6AaRQTo=
+cloud.google.com/go/longrunning v0.4.2/go.mod h1:OHrnaYyLUV6oqwh0xiS7e5sLQhP1m0QU9R+WhGDMgIQ=
+cloud.google.com/go/longrunning v0.5.0/go.mod h1:0JNuqRShmscVAhIACGtskSAWtqtOoPkwP0YF1oVEchc=
+cloud.google.com/go/longrunning v0.5.1/go.mod h1:spvimkwdz6SPWKEt/XBij79E9fiTkHSQl/fRUUQJYJc=
+cloud.google.com/go/managedidentities v1.3.0/go.mod h1:UzlW3cBOiPrzucO5qWkNkh0w33KFtBJU281hacNvsdE=
+cloud.google.com/go/managedidentities v1.4.0/go.mod h1:NWSBYbEMgqmbZsLIyKvxrYbtqOsxY1ZrGM+9RgDqInM=
+cloud.google.com/go/managedidentities v1.5.0/go.mod h1:+dWcZ0JlUmpuxpIDfyP5pP5y0bLdRwOS4Lp7gMni/LA=
+cloud.google.com/go/managedidentities v1.6.1/go.mod h1:h/irGhTN2SkZ64F43tfGPMbHnypMbu4RB3yl8YcuEak=
+cloud.google.com/go/maps v0.1.0/go.mod h1:BQM97WGyfw9FWEmQMpZ5T6cpovXXSd1cGmFma94eubI=
+cloud.google.com/go/maps v0.6.0/go.mod h1:o6DAMMfb+aINHz/p/jbcY+mYeXBoZoxTfdSQ8VAJaCw=
+cloud.google.com/go/maps v0.7.0/go.mod h1:3GnvVl3cqeSvgMcpRlQidXsPYuDGQ8naBis7MVzpXsY=
+cloud.google.com/go/maps v1.3.0/go.mod h1:6mWTUv+WhnOwAgjVsSW2QPPECmW+s3PcRyOa9vgG/5s=
+cloud.google.com/go/maps v1.4.0/go.mod h1:6mWTUv+WhnOwAgjVsSW2QPPECmW+s3PcRyOa9vgG/5s=
+cloud.google.com/go/mediatranslation v0.5.0/go.mod h1:jGPUhGTybqsPQn91pNXw0xVHfuJ3leR1wj37oU3y1f4=
+cloud.google.com/go/mediatranslation v0.6.0/go.mod h1:hHdBCTYNigsBxshbznuIMFNe5QXEowAuNmmC7h8pu5w=
+cloud.google.com/go/mediatranslation v0.7.0/go.mod h1:LCnB/gZr90ONOIQLgSXagp8XUW1ODs2UmUMvcgMfI2I=
+cloud.google.com/go/mediatranslation v0.8.1/go.mod h1:L/7hBdEYbYHQJhX2sldtTO5SZZ1C1vkapubj0T2aGig=
+cloud.google.com/go/memcache v1.4.0/go.mod h1:rTOfiGZtJX1AaFUrOgsMHX5kAzaTQ8azHiuDoTPzNsE=
+cloud.google.com/go/memcache v1.5.0/go.mod h1:dk3fCK7dVo0cUU2c36jKb4VqKPS22BTkf81Xq617aWM=
+cloud.google.com/go/memcache v1.6.0/go.mod h1:XS5xB0eQZdHtTuTF9Hf8eJkKtR3pVRCcvJwtm68T3rA=
+cloud.google.com/go/memcache v1.7.0/go.mod h1:ywMKfjWhNtkQTxrWxCkCFkoPjLHPW6A7WOTVI8xy3LY=
+cloud.google.com/go/memcache v1.9.0/go.mod h1:8oEyzXCu+zo9RzlEaEjHl4KkgjlNDaXbCQeQWlzNFJM=
+cloud.google.com/go/memcache v1.10.1/go.mod h1:47YRQIarv4I3QS5+hoETgKO40InqzLP6kpNLvyXuyaA=
+cloud.google.com/go/metastore v1.5.0/go.mod h1:2ZNrDcQwghfdtCwJ33nM0+GrBGlVuh8rakL3vdPY3XY=
+cloud.google.com/go/metastore v1.6.0/go.mod h1:6cyQTls8CWXzk45G55x57DVQ9gWg7RiH65+YgPsNh9s=
+cloud.google.com/go/metastore v1.7.0/go.mod h1:s45D0B4IlsINu87/AsWiEVYbLaIMeUSoxlKKDqBGFS8=
+cloud.google.com/go/metastore v1.8.0/go.mod h1:zHiMc4ZUpBiM7twCIFQmJ9JMEkDSyZS9U12uf7wHqSI=
+cloud.google.com/go/metastore v1.10.0/go.mod h1:fPEnH3g4JJAk+gMRnrAnoqyv2lpUCqJPWOodSaf45Eo=
+cloud.google.com/go/metastore v1.11.1/go.mod h1:uZuSo80U3Wd4zi6C22ZZliOUJ3XeM/MlYi/z5OAOWRA=
+cloud.google.com/go/metastore v1.12.0/go.mod h1:uZuSo80U3Wd4zi6C22ZZliOUJ3XeM/MlYi/z5OAOWRA=
+cloud.google.com/go/monitoring v1.7.0/go.mod h1:HpYse6kkGo//7p6sT0wsIC6IBDET0RhIsnmlA53dvEk=
+cloud.google.com/go/monitoring v1.8.0/go.mod h1:E7PtoMJ1kQXWxPjB6mv2fhC5/15jInuulFdYYtlcvT4=
+cloud.google.com/go/monitoring v1.12.0/go.mod h1:yx8Jj2fZNEkL/GYZyTLS4ZtZEZN8WtDEiEqG4kLK50w=
+cloud.google.com/go/monitoring v1.13.0/go.mod h1:k2yMBAB1H9JT/QETjNkgdCGD9bPF712XiLTVr+cBrpw=
+cloud.google.com/go/monitoring v1.15.1/go.mod h1:lADlSAlFdbqQuwwpaImhsJXu1QSdd3ojypXrFSMr2rM=
+cloud.google.com/go/networkconnectivity v1.4.0/go.mod h1:nOl7YL8odKyAOtzNX73/M5/mGZgqqMeryi6UPZTk/rA=
+cloud.google.com/go/networkconnectivity v1.5.0/go.mod h1:3GzqJx7uhtlM3kln0+x5wyFvuVH1pIBJjhCpjzSt75o=
+cloud.google.com/go/networkconnectivity v1.6.0/go.mod h1:OJOoEXW+0LAxHh89nXd64uGG+FbQoeH8DtxCHVOMlaM=
+cloud.google.com/go/networkconnectivity v1.7.0/go.mod h1:RMuSbkdbPwNMQjB5HBWD5MpTBnNm39iAVpC3TmsExt8=
+cloud.google.com/go/networkconnectivity v1.10.0/go.mod h1:UP4O4sWXJG13AqrTdQCD9TnLGEbtNRqjuaaA7bNjF5E=
+cloud.google.com/go/networkconnectivity v1.11.0/go.mod h1:iWmDD4QF16VCDLXUqvyspJjIEtBR/4zq5hwnY2X3scM=
+cloud.google.com/go/networkconnectivity v1.12.1/go.mod h1:PelxSWYM7Sh9/guf8CFhi6vIqf19Ir/sbfZRUwXh92E=
+cloud.google.com/go/networkmanagement v1.4.0/go.mod h1:Q9mdLLRn60AsOrPc8rs8iNV6OHXaGcDdsIQe1ohekq8=
+cloud.google.com/go/networkmanagement v1.5.0/go.mod h1:ZnOeZ/evzUdUsnvRt792H0uYEnHQEMaz+REhhzJRcf4=
+cloud.google.com/go/networkmanagement v1.6.0/go.mod h1:5pKPqyXjB/sgtvB5xqOemumoQNB7y95Q7S+4rjSOPYY=
+cloud.google.com/go/networkmanagement v1.8.0/go.mod h1:Ho/BUGmtyEqrttTgWEe7m+8vDdK74ibQc+Be0q7Fof0=
+cloud.google.com/go/networksecurity v0.5.0/go.mod h1:xS6fOCoqpVC5zx15Z/MqkfDwH4+m/61A3ODiDV1xmiQ=
+cloud.google.com/go/networksecurity v0.6.0/go.mod h1:Q5fjhTr9WMI5mbpRYEbiexTzROf7ZbDzvzCrNl14nyU=
+cloud.google.com/go/networksecurity v0.7.0/go.mod h1:mAnzoxx/8TBSyXEeESMy9OOYwo1v+gZ5eMRnsT5bC8k=
+cloud.google.com/go/networksecurity v0.8.0/go.mod h1:B78DkqsxFG5zRSVuwYFRZ9Xz8IcQ5iECsNrPn74hKHU=
+cloud.google.com/go/networksecurity v0.9.1/go.mod h1:MCMdxOKQ30wsBI1eI659f9kEp4wuuAueoC9AJKSPWZQ=
+cloud.google.com/go/notebooks v1.2.0/go.mod h1:9+wtppMfVPUeJ8fIWPOq1UnATHISkGXGqTkxeieQ6UY=
+cloud.google.com/go/notebooks v1.3.0/go.mod h1:bFR5lj07DtCPC7YAAJ//vHskFBxA5JzYlH68kXVdk34=
+cloud.google.com/go/notebooks v1.4.0/go.mod h1:4QPMngcwmgb6uw7Po99B2xv5ufVoIQ7nOGDyL4P8AgA=
+cloud.google.com/go/notebooks v1.5.0/go.mod h1:q8mwhnP9aR8Hpfnrc5iN5IBhrXUy8S2vuYs+kBJ/gu0=
+cloud.google.com/go/notebooks v1.7.0/go.mod h1:PVlaDGfJgj1fl1S3dUwhFMXFgfYGhYQt2164xOMONmE=
+cloud.google.com/go/notebooks v1.8.0/go.mod h1:Lq6dYKOYOWUCTvw5t2q1gp1lAp0zxAxRycayS0iJcqQ=
+cloud.google.com/go/notebooks v1.9.1/go.mod h1:zqG9/gk05JrzgBt4ghLzEepPHNwE5jgPcHZRKhlC1A8=
+cloud.google.com/go/optimization v1.1.0/go.mod h1:5po+wfvX5AQlPznyVEZjGJTMr4+CAkJf2XSTQOOl9l4=
+cloud.google.com/go/optimization v1.2.0/go.mod h1:Lr7SOHdRDENsh+WXVmQhQTrzdu9ybg0NecjHidBq6xs=
+cloud.google.com/go/optimization v1.3.1/go.mod h1:IvUSefKiwd1a5p0RgHDbWCIbDFgKuEdB+fPPuP0IDLI=
+cloud.google.com/go/optimization v1.4.1/go.mod h1:j64vZQP7h9bO49m2rVaTVoNM0vEBEN5eKPUPbZyXOrk=
+cloud.google.com/go/orchestration v1.3.0/go.mod h1:Sj5tq/JpWiB//X/q3Ngwdl5K7B7Y0KZ7bfv0wL6fqVA=
+cloud.google.com/go/orchestration v1.4.0/go.mod h1:6W5NLFWs2TlniBphAViZEVhrXRSMgUGDfW7vrWKvsBk=
+cloud.google.com/go/orchestration v1.6.0/go.mod h1:M62Bevp7pkxStDfFfTuCOaXgaaqRAga1yKyoMtEoWPQ=
+cloud.google.com/go/orchestration v1.8.1/go.mod h1:4sluRF3wgbYVRqz7zJ1/EUNc90TTprliq9477fGobD8=
+cloud.google.com/go/orgpolicy v1.4.0/go.mod h1:xrSLIV4RePWmP9P3tBl8S93lTmlAxjm06NSm2UTmKvE=
+cloud.google.com/go/orgpolicy v1.5.0/go.mod h1:hZEc5q3wzwXJaKrsx5+Ewg0u1LxJ51nNFlext7Tanwc=
+cloud.google.com/go/orgpolicy v1.10.0/go.mod h1:w1fo8b7rRqlXlIJbVhOMPrwVljyuW5mqssvBtU18ONc=
+cloud.google.com/go/orgpolicy v1.11.0/go.mod h1:2RK748+FtVvnfuynxBzdnyu7sygtoZa1za/0ZfpOs1M=
+cloud.google.com/go/orgpolicy v1.11.1/go.mod h1:8+E3jQcpZJQliP+zaFfayC2Pg5bmhuLK755wKhIIUCE=
+cloud.google.com/go/osconfig v1.7.0/go.mod h1:oVHeCeZELfJP7XLxcBGTMBvRO+1nQ5tFG9VQTmYS2Fs=
+cloud.google.com/go/osconfig v1.8.0/go.mod h1:EQqZLu5w5XA7eKizepumcvWx+m8mJUhEwiPqWiZeEdg=
+cloud.google.com/go/osconfig v1.9.0/go.mod h1:Yx+IeIZJ3bdWmzbQU4fxNl8xsZ4amB+dygAwFPlvnNo=
+cloud.google.com/go/osconfig v1.10.0/go.mod h1:uMhCzqC5I8zfD9zDEAfvgVhDS8oIjySWh+l4WK6GnWw=
+cloud.google.com/go/osconfig v1.11.0/go.mod h1:aDICxrur2ogRd9zY5ytBLV89KEgT2MKB2L/n6x1ooPw=
+cloud.google.com/go/osconfig v1.12.0/go.mod h1:8f/PaYzoS3JMVfdfTubkowZYGmAhUCjjwnjqWI7NVBc=
+cloud.google.com/go/osconfig v1.12.1/go.mod h1:4CjBxND0gswz2gfYRCUoUzCm9zCABp91EeTtWXyz0tE=
+cloud.google.com/go/oslogin v1.4.0/go.mod h1:YdgMXWRaElXz/lDk1Na6Fh5orF7gvmJ0FGLIs9LId4E=
+cloud.google.com/go/oslogin v1.5.0/go.mod h1:D260Qj11W2qx/HVF29zBg+0fd6YCSjSqLUkY/qEenQU=
+cloud.google.com/go/oslogin v1.6.0/go.mod h1:zOJ1O3+dTU8WPlGEkFSh7qeHPPSoxrcMbbK1Nm2iX70=
+cloud.google.com/go/oslogin v1.7.0/go.mod h1:e04SN0xO1UNJ1M5GP0vzVBFicIe4O53FOfcixIqTyXo=
+cloud.google.com/go/oslogin v1.9.0/go.mod h1:HNavntnH8nzrn8JCTT5fj18FuJLFJc4NaZJtBnQtKFs=
+cloud.google.com/go/oslogin v1.10.1/go.mod h1:x692z7yAue5nE7CsSnoG0aaMbNoRJRXO4sn73R+ZqAs=
+cloud.google.com/go/phishingprotection v0.5.0/go.mod h1:Y3HZknsK9bc9dMi+oE8Bim0lczMU6hrX0UpADuMefr0=
+cloud.google.com/go/phishingprotection v0.6.0/go.mod h1:9Y3LBLgy0kDTcYET8ZH3bq/7qni15yVUoAxiFxnlSUA=
+cloud.google.com/go/phishingprotection v0.7.0/go.mod h1:8qJI4QKHoda/sb/7/YmMQ2omRLSLYSu9bU0EKCNI+Lk=
+cloud.google.com/go/phishingprotection v0.8.1/go.mod h1:AxonW7GovcA8qdEk13NfHq9hNx5KPtfxXNeUxTDxB6I=
+cloud.google.com/go/policytroubleshooter v1.3.0/go.mod h1:qy0+VwANja+kKrjlQuOzmlvscn4RNsAc0e15GGqfMxg=
+cloud.google.com/go/policytroubleshooter v1.4.0/go.mod h1:DZT4BcRw3QoO8ota9xw/LKtPa8lKeCByYeKTIf/vxdE=
+cloud.google.com/go/policytroubleshooter v1.5.0/go.mod h1:Rz1WfV+1oIpPdN2VvvuboLVRsB1Hclg3CKQ53j9l8vw=
+cloud.google.com/go/policytroubleshooter v1.6.0/go.mod h1:zYqaPTsmfvpjm5ULxAyD/lINQxJ0DDsnWOP/GZ7xzBc=
+cloud.google.com/go/policytroubleshooter v1.7.1/go.mod h1:0NaT5v3Ag1M7U5r0GfDCpUFkWd9YqpubBWsQlhanRv0=
+cloud.google.com/go/policytroubleshooter v1.8.0/go.mod h1:tmn5Ir5EToWe384EuboTcVQT7nTag2+DuH3uHmKd1HU=
+cloud.google.com/go/privatecatalog v0.5.0/go.mod h1:XgosMUvvPyxDjAVNDYxJ7wBW8//hLDDYmnsNcMGq1K0=
+cloud.google.com/go/privatecatalog v0.6.0/go.mod h1:i/fbkZR0hLN29eEWiiwue8Pb+GforiEIBnV9yrRUOKI=
+cloud.google.com/go/privatecatalog v0.7.0/go.mod h1:2s5ssIFO69F5csTXcwBP7NPFTZvps26xGzvQ2PQaBYg=
+cloud.google.com/go/privatecatalog v0.8.0/go.mod h1:nQ6pfaegeDAq/Q5lrfCQzQLhubPiZhSaNhIgfJlnIXs=
+cloud.google.com/go/privatecatalog v0.9.1/go.mod h1:0XlDXW2unJXdf9zFz968Hp35gl/bhF4twwpXZAW50JA=
+cloud.google.com/go/pubsub v1.0.1/go.mod h1:R0Gpsv3s54REJCy4fxDixWD93lHJMoZTyQ2kNxGRt3I=
+cloud.google.com/go/pubsub v1.1.0/go.mod h1:EwwdRX2sKPjnvnqCa270oGRyludottCI76h+R3AArQw=
+cloud.google.com/go/pubsub v1.2.0/go.mod h1:jhfEVHT8odbXTkndysNHCcx0awwzvfOlguIAii9o8iA=
+cloud.google.com/go/pubsub v1.3.1/go.mod h1:i+ucay31+CNRpDW4Lu78I4xXG+O1r/MAHgjpRVR+TSU=
+cloud.google.com/go/pubsub v1.26.0/go.mod h1:QgBH3U/jdJy/ftjPhTkyXNj543Tin1pRYcdcPRnFIRI=
+cloud.google.com/go/pubsub v1.27.1/go.mod h1:hQN39ymbV9geqBnfQq6Xf63yNhUAhv9CZhzp5O6qsW0=
+cloud.google.com/go/pubsub v1.28.0/go.mod h1:vuXFpwaVoIPQMGXqRyUQigu/AX1S3IWugR9xznmcXX8=
+cloud.google.com/go/pubsub v1.30.0/go.mod h1:qWi1OPS0B+b5L+Sg6Gmc9zD1Y+HaM0MdUr7LsupY1P4=
+cloud.google.com/go/pubsub v1.32.0/go.mod h1:f+w71I33OMyxf9VpMVcZbnG5KSUkCOUHYpFd5U1GdRc=
+cloud.google.com/go/pubsub v1.33.0/go.mod h1:f+w71I33OMyxf9VpMVcZbnG5KSUkCOUHYpFd5U1GdRc=
+cloud.google.com/go/pubsublite v1.5.0/go.mod h1:xapqNQ1CuLfGi23Yda/9l4bBCKz/wC3KIJ5gKcxveZg=
+cloud.google.com/go/pubsublite v1.6.0/go.mod h1:1eFCS0U11xlOuMFV/0iBqw3zP12kddMeCbj/F3FSj9k=
+cloud.google.com/go/pubsublite v1.7.0/go.mod h1:8hVMwRXfDfvGm3fahVbtDbiLePT3gpoiJYJY+vxWxVM=
+cloud.google.com/go/pubsublite v1.8.1/go.mod h1:fOLdU4f5xldK4RGJrBMm+J7zMWNj/k4PxwEZXy39QS0=
+cloud.google.com/go/recaptchaenterprise v1.3.1/go.mod h1:OdD+q+y4XGeAlxRaMn1Y7/GveP6zmq76byL6tjPE7d4=
+cloud.google.com/go/recaptchaenterprise/v2 v2.1.0/go.mod h1:w9yVqajwroDNTfGuhmOjPDN//rZGySaf6PtFVcSCa7o=
+cloud.google.com/go/recaptchaenterprise/v2 v2.2.0/go.mod h1:/Zu5jisWGeERrd5HnlS3EUGb/D335f9k51B/FVil0jk=
+cloud.google.com/go/recaptchaenterprise/v2 v2.3.0/go.mod h1:O9LwGCjrhGHBQET5CA7dd5NwwNQUErSgEDit1DLNTdo=
+cloud.google.com/go/recaptchaenterprise/v2 v2.4.0/go.mod h1:Am3LHfOuBstrLrNCBrlI5sbwx9LBg3te2N6hGvHn2mE=
+cloud.google.com/go/recaptchaenterprise/v2 v2.5.0/go.mod h1:O8LzcHXN3rz0j+LBC91jrwI3R+1ZSZEWrfL7XHgNo9U=
+cloud.google.com/go/recaptchaenterprise/v2 v2.6.0/go.mod h1:RPauz9jeLtB3JVzg6nCbe12qNoaa8pXc4d/YukAmcnA=
+cloud.google.com/go/recaptchaenterprise/v2 v2.7.0/go.mod h1:19wVj/fs5RtYtynAPJdDTb69oW0vNHYDBTbB4NvMD9c=
+cloud.google.com/go/recaptchaenterprise/v2 v2.7.2/go.mod h1:kR0KjsJS7Jt1YSyWFkseQ756D45kaYNTlDPPaRAvDBU=
+cloud.google.com/go/recommendationengine v0.5.0/go.mod h1:E5756pJcVFeVgaQv3WNpImkFP8a+RptV6dDLGPILjvg=
+cloud.google.com/go/recommendationengine v0.6.0/go.mod h1:08mq2umu9oIqc7tDy8sx+MNJdLG0fUi3vaSVbztHgJ4=
+cloud.google.com/go/recommendationengine v0.7.0/go.mod h1:1reUcE3GIu6MeBz/h5xZJqNLuuVjNg1lmWMPyjatzac=
+cloud.google.com/go/recommendationengine v0.8.1/go.mod h1:MrZihWwtFYWDzE6Hz5nKcNz3gLizXVIDI/o3G1DLcrE=
+cloud.google.com/go/recommender v1.5.0/go.mod h1:jdoeiBIVrJe9gQjwd759ecLJbxCDED4A6p+mqoqDvTg=
+cloud.google.com/go/recommender v1.6.0/go.mod h1:+yETpm25mcoiECKh9DEScGzIRyDKpZ0cEhWGo+8bo+c=
+cloud.google.com/go/recommender v1.7.0/go.mod h1:XLHs/W+T8olwlGOgfQenXBTbIseGclClff6lhFVe9Bs=
+cloud.google.com/go/recommender v1.8.0/go.mod h1:PkjXrTT05BFKwxaUxQmtIlrtj0kph108r02ZZQ5FE70=
+cloud.google.com/go/recommender v1.9.0/go.mod h1:PnSsnZY7q+VL1uax2JWkt/UegHssxjUVVCrX52CuEmQ=
+cloud.google.com/go/recommender v1.10.1/go.mod h1:XFvrE4Suqn5Cq0Lf+mCP6oBHD/yRMA8XxP5sb7Q7gpA=
+cloud.google.com/go/redis v1.7.0/go.mod h1:V3x5Jq1jzUcg+UNsRvdmsfuFnit1cfe3Z/PGyq/lm4Y=
+cloud.google.com/go/redis v1.8.0/go.mod h1:Fm2szCDavWzBk2cDKxrkmWBqoCiL1+Ctwq7EyqBCA/A=
+cloud.google.com/go/redis v1.9.0/go.mod h1:HMYQuajvb2D0LvMgZmLDZW8V5aOC/WxstZHiy4g8OiA=
+cloud.google.com/go/redis v1.10.0/go.mod h1:ThJf3mMBQtW18JzGgh41/Wld6vnDDc/F/F35UolRZPM=
+cloud.google.com/go/redis v1.11.0/go.mod h1:/X6eicana+BWcUda5PpwZC48o37SiFVTFSs0fWAJ7uQ=
+cloud.google.com/go/redis v1.13.1/go.mod h1:VP7DGLpE91M6bcsDdMuyCm2hIpB6Vp2hI090Mfd1tcg=
+cloud.google.com/go/resourcemanager v1.3.0/go.mod h1:bAtrTjZQFJkiWTPDb1WBjzvc6/kifjj4QBYuKCCoqKA=
+cloud.google.com/go/resourcemanager v1.4.0/go.mod h1:MwxuzkumyTX7/a3n37gmsT3py7LIXwrShilPh3P1tR0=
+cloud.google.com/go/resourcemanager v1.5.0/go.mod h1:eQoXNAiAvCf5PXxWxXjhKQoTMaUSNrEfg+6qdf/wots=
+cloud.google.com/go/resourcemanager v1.6.0/go.mod h1:YcpXGRs8fDzcUl1Xw8uOVmI8JEadvhRIkoXXUNVYcVo=
+cloud.google.com/go/resourcemanager v1.7.0/go.mod h1:HlD3m6+bwhzj9XCouqmeiGuni95NTrExfhoSrkC/3EI=
+cloud.google.com/go/resourcemanager v1.9.1/go.mod h1:dVCuosgrh1tINZ/RwBufr8lULmWGOkPS8gL5gqyjdT8=
+cloud.google.com/go/resourcesettings v1.3.0/go.mod h1:lzew8VfESA5DQ8gdlHwMrqZs1S9V87v3oCnKCWoOuQU=
+cloud.google.com/go/resourcesettings v1.4.0/go.mod h1:ldiH9IJpcrlC3VSuCGvjR5of/ezRrOxFtpJoJo5SmXg=
+cloud.google.com/go/resourcesettings v1.5.0/go.mod h1:+xJF7QSG6undsQDfsCJyqWXyBwUoJLhetkRMDRnIoXA=
+cloud.google.com/go/resourcesettings v1.6.1/go.mod h1:M7mk9PIZrC5Fgsu1kZJci6mpgN8o0IUzVx3eJU3y4Jw=
+cloud.google.com/go/retail v1.8.0/go.mod h1:QblKS8waDmNUhghY2TI9O3JLlFk8jybHeV4BF19FrE4=
+cloud.google.com/go/retail v1.9.0/go.mod h1:g6jb6mKuCS1QKnH/dpu7isX253absFl6iE92nHwlBUY=
+cloud.google.com/go/retail v1.10.0/go.mod h1:2gDk9HsL4HMS4oZwz6daui2/jmKvqShXKQuB2RZ+cCc=
+cloud.google.com/go/retail v1.11.0/go.mod h1:MBLk1NaWPmh6iVFSz9MeKG/Psyd7TAgm6y/9L2B4x9Y=
+cloud.google.com/go/retail v1.12.0/go.mod h1:UMkelN/0Z8XvKymXFbD4EhFJlYKRx1FGhQkVPU5kF14=
+cloud.google.com/go/retail v1.14.1/go.mod h1:y3Wv3Vr2k54dLNIrCzenyKG8g8dhvhncT2NcNjb/6gE=
+cloud.google.com/go/run v0.2.0/go.mod h1:CNtKsTA1sDcnqqIFR3Pb5Tq0usWxJJvsWOCPldRU3Do=
+cloud.google.com/go/run v0.3.0/go.mod h1:TuyY1+taHxTjrD0ZFk2iAR+xyOXEA0ztb7U3UNA0zBo=
+cloud.google.com/go/run v0.8.0/go.mod h1:VniEnuBwqjigv0A7ONfQUaEItaiCRVujlMqerPPiktM=
+cloud.google.com/go/run v0.9.0/go.mod h1:Wwu+/vvg8Y+JUApMwEDfVfhetv30hCG4ZwDR/IXl2Qg=
+cloud.google.com/go/run v1.2.0/go.mod h1:36V1IlDzQ0XxbQjUx6IYbw8H3TJnWvhii963WW3B/bo=
+cloud.google.com/go/scheduler v1.4.0/go.mod h1:drcJBmxF3aqZJRhmkHQ9b3uSSpQoltBPGPxGAWROx6s=
+cloud.google.com/go/scheduler v1.5.0/go.mod h1:ri073ym49NW3AfT6DZi21vLZrG07GXr5p3H1KxN5QlI=
+cloud.google.com/go/scheduler v1.6.0/go.mod h1:SgeKVM7MIwPn3BqtcBntpLyrIJftQISRrYB5ZtT+KOk=
+cloud.google.com/go/scheduler v1.7.0/go.mod h1:jyCiBqWW956uBjjPMMuX09n3x37mtyPJegEWKxRsn44=
+cloud.google.com/go/scheduler v1.8.0/go.mod h1:TCET+Y5Gp1YgHT8py4nlg2Sew8nUHMqcpousDgXJVQc=
+cloud.google.com/go/scheduler v1.9.0/go.mod h1:yexg5t+KSmqu+njTIh3b7oYPheFtBWGcbVUYF1GGMIc=
+cloud.google.com/go/scheduler v1.10.1/go.mod h1:R63Ldltd47Bs4gnhQkmNDse5w8gBRrhObZ54PxgR2Oo=
+cloud.google.com/go/secretmanager v1.6.0/go.mod h1:awVa/OXF6IiyaU1wQ34inzQNc4ISIDIrId8qE5QGgKA=
+cloud.google.com/go/secretmanager v1.8.0/go.mod h1:hnVgi/bN5MYHd3Gt0SPuTPPp5ENina1/LxM+2W9U9J4=
+cloud.google.com/go/secretmanager v1.9.0/go.mod h1:b71qH2l1yHmWQHt9LC80akm86mX8AL6X1MA01dW8ht4=
+cloud.google.com/go/secretmanager v1.10.0/go.mod h1:MfnrdvKMPNra9aZtQFvBcvRU54hbPD8/HayQdlUgJpU=
+cloud.google.com/go/secretmanager v1.11.1/go.mod h1:znq9JlXgTNdBeQk9TBW/FnR/W4uChEKGeqQWAJ8SXFw=
+cloud.google.com/go/security v1.5.0/go.mod h1:lgxGdyOKKjHL4YG3/YwIL2zLqMFCKs0UbQwgyZmfJl4=
+cloud.google.com/go/security v1.7.0/go.mod h1:mZklORHl6Bg7CNnnjLH//0UlAlaXqiG7Lb9PsPXLfD0=
+cloud.google.com/go/security v1.8.0/go.mod h1:hAQOwgmaHhztFhiQ41CjDODdWP0+AE1B3sX4OFlq+GU=
+cloud.google.com/go/security v1.9.0/go.mod h1:6Ta1bO8LXI89nZnmnsZGp9lVoVWXqsVbIq/t9dzI+2Q=
+cloud.google.com/go/security v1.10.0/go.mod h1:QtOMZByJVlibUT2h9afNDWRZ1G96gVywH8T5GUSb9IA=
+cloud.google.com/go/security v1.12.0/go.mod h1:rV6EhrpbNHrrxqlvW0BWAIawFWq3X90SduMJdFwtLB8=
+cloud.google.com/go/security v1.13.0/go.mod h1:Q1Nvxl1PAgmeW0y3HTt54JYIvUdtcpYKVfIB8AOMZ+0=
+cloud.google.com/go/security v1.15.1/go.mod h1:MvTnnbsWnehoizHi09zoiZob0iCHVcL4AUBj76h9fXA=
+cloud.google.com/go/securitycenter v1.13.0/go.mod h1:cv5qNAqjY84FCN6Y9z28WlkKXyWsgLO832YiWwkCWcU=
+cloud.google.com/go/securitycenter v1.14.0/go.mod h1:gZLAhtyKv85n52XYWt6RmeBdydyxfPeTrpToDPw4Auc=
+cloud.google.com/go/securitycenter v1.15.0/go.mod h1:PeKJ0t8MoFmmXLXWm41JidyzI3PJjd8sXWaVqg43WWk=
+cloud.google.com/go/securitycenter v1.16.0/go.mod h1:Q9GMaLQFUD+5ZTabrbujNWLtSLZIZF7SAR0wWECrjdk=
+cloud.google.com/go/securitycenter v1.18.1/go.mod h1:0/25gAzCM/9OL9vVx4ChPeM/+DlfGQJDwBy/UC8AKK0=
+cloud.google.com/go/securitycenter v1.19.0/go.mod h1:LVLmSg8ZkkyaNy4u7HCIshAngSQ8EcIRREP3xBnyfag=
+cloud.google.com/go/securitycenter v1.23.0/go.mod h1:8pwQ4n+Y9WCWM278R8W3nF65QtY172h4S8aXyI9/hsQ=
+cloud.google.com/go/servicecontrol v1.4.0/go.mod h1:o0hUSJ1TXJAmi/7fLJAedOovnujSEvjKCAFNXPQ1RaU=
+cloud.google.com/go/servicecontrol v1.5.0/go.mod h1:qM0CnXHhyqKVuiZnGKrIurvVImCs8gmqWsDoqe9sU1s=
+cloud.google.com/go/servicecontrol v1.10.0/go.mod h1:pQvyvSRh7YzUF2efw7H87V92mxU8FnFDawMClGCNuAA=
+cloud.google.com/go/servicecontrol v1.11.0/go.mod h1:kFmTzYzTUIuZs0ycVqRHNaNhgR+UMUpw9n02l/pY+mc=
+cloud.google.com/go/servicecontrol v1.11.1/go.mod h1:aSnNNlwEFBY+PWGQ2DoM0JJ/QUXqV5/ZD9DOLB7SnUk=
+cloud.google.com/go/servicedirectory v1.4.0/go.mod h1:gH1MUaZCgtP7qQiI+F+A+OpeKF/HQWgtAddhTbhL2bs=
+cloud.google.com/go/servicedirectory v1.5.0/go.mod h1:QMKFL0NUySbpZJ1UZs3oFAmdvVxhhxB6eJ/Vlp73dfg=
+cloud.google.com/go/servicedirectory v1.6.0/go.mod h1:pUlbnWsLH9c13yGkxCmfumWEPjsRs1RlmJ4pqiNjVL4=
+cloud.google.com/go/servicedirectory v1.7.0/go.mod h1:5p/U5oyvgYGYejufvxhgwjL8UVXjkuw7q5XcG10wx1U=
+cloud.google.com/go/servicedirectory v1.8.0/go.mod h1:srXodfhY1GFIPvltunswqXpVxFPpZjf8nkKQT7XcXaY=
+cloud.google.com/go/servicedirectory v1.9.0/go.mod h1:29je5JjiygNYlmsGz8k6o+OZ8vd4f//bQLtvzkPPT/s=
+cloud.google.com/go/servicedirectory v1.10.1/go.mod h1:Xv0YVH8s4pVOwfM/1eMTl0XJ6bzIOSLDt8f8eLaGOxQ=
+cloud.google.com/go/servicedirectory v1.11.0/go.mod h1:Xv0YVH8s4pVOwfM/1eMTl0XJ6bzIOSLDt8f8eLaGOxQ=
+cloud.google.com/go/servicemanagement v1.4.0/go.mod h1:d8t8MDbezI7Z2R1O/wu8oTggo3BI2GKYbdG4y/SJTco=
+cloud.google.com/go/servicemanagement v1.5.0/go.mod h1:XGaCRe57kfqu4+lRxaFEAuqmjzF0r+gWHjWqKqBvKFo=
+cloud.google.com/go/servicemanagement v1.6.0/go.mod h1:aWns7EeeCOtGEX4OvZUWCCJONRZeFKiptqKf1D0l/Jc=
+cloud.google.com/go/servicemanagement v1.8.0/go.mod h1:MSS2TDlIEQD/fzsSGfCdJItQveu9NXnUniTrq/L8LK4=
+cloud.google.com/go/serviceusage v1.3.0/go.mod h1:Hya1cozXM4SeSKTAgGXgj97GlqUvF5JaoXacR1JTP/E=
+cloud.google.com/go/serviceusage v1.4.0/go.mod h1:SB4yxXSaYVuUBYUml6qklyONXNLt83U0Rb+CXyhjEeU=
+cloud.google.com/go/serviceusage v1.5.0/go.mod h1:w8U1JvqUqwJNPEOTQjrMHkw3IaIFLoLsPLvsE3xueec=
+cloud.google.com/go/serviceusage v1.6.0/go.mod h1:R5wwQcbOWsyuOfbP9tGdAnCAc6B9DRwPG1xtWMDeuPA=
+cloud.google.com/go/shell v1.3.0/go.mod h1:VZ9HmRjZBsjLGXusm7K5Q5lzzByZmJHf1d0IWHEN5X4=
+cloud.google.com/go/shell v1.4.0/go.mod h1:HDxPzZf3GkDdhExzD/gs8Grqk+dmYcEjGShZgYa9URw=
+cloud.google.com/go/shell v1.6.0/go.mod h1:oHO8QACS90luWgxP3N9iZVuEiSF84zNyLytb+qE2f9A=
+cloud.google.com/go/shell v1.7.1/go.mod h1:u1RaM+huXFaTojTbW4g9P5emOrrmLE69KrxqQahKn4g=
+cloud.google.com/go/spanner v1.41.0/go.mod h1:MLYDBJR/dY4Wt7ZaMIQ7rXOTLjYrmxLE/5ve9vFfWos=
+cloud.google.com/go/spanner v1.44.0/go.mod h1:G8XIgYdOK+Fbcpbs7p2fiprDw4CaZX63whnSMLVBxjk=
+cloud.google.com/go/spanner v1.45.0/go.mod h1:FIws5LowYz8YAE1J8fOS7DJup8ff7xJeetWEo5REA2M=
+cloud.google.com/go/spanner v1.47.0/go.mod h1:IXsJwVW2j4UKs0eYDqodab6HgGuA1bViSqW4uH9lfUI=
+cloud.google.com/go/speech v1.6.0/go.mod h1:79tcr4FHCimOp56lwC01xnt/WPJZc4v3gzyT7FoBkCM=
+cloud.google.com/go/speech v1.7.0/go.mod h1:KptqL+BAQIhMsj1kOP2la5DSEEerPDuOP/2mmkhHhZQ=
+cloud.google.com/go/speech v1.8.0/go.mod h1:9bYIl1/tjsAnMgKGHKmBZzXKEkGgtU+MpdDPTE9f7y0=
+cloud.google.com/go/speech v1.9.0/go.mod h1:xQ0jTcmnRFFM2RfX/U+rk6FQNUF6DQlydUSyoooSpco=
+cloud.google.com/go/speech v1.14.1/go.mod h1:gEosVRPJ9waG7zqqnsHpYTOoAS4KouMRLDFMekpJ0J0=
+cloud.google.com/go/speech v1.15.0/go.mod h1:y6oH7GhqCaZANH7+Oe0BhgIogsNInLlz542tg3VqeYI=
+cloud.google.com/go/speech v1.17.1/go.mod h1:8rVNzU43tQvxDaGvqOhpDqgkJTFowBpDvCJ14kGlJYo=
+cloud.google.com/go/speech v1.19.0/go.mod h1:8rVNzU43tQvxDaGvqOhpDqgkJTFowBpDvCJ14kGlJYo=
+cloud.google.com/go/storage v1.0.0/go.mod h1:IhtSnM/ZTZV8YYJWCY8RULGVqBDmpoyjwiyrjsg+URw=
+cloud.google.com/go/storage v1.5.0/go.mod h1:tpKbwo567HUNpVclU5sGELwQWBDZ8gh0ZeosJ0Rtdos=
+cloud.google.com/go/storage v1.6.0/go.mod h1:N7U0C8pVQ/+NIKOBQyamJIeKQKkZ+mxpohlUTyfDhBk=
+cloud.google.com/go/storage v1.8.0/go.mod h1:Wv1Oy7z6Yz3DshWRJFhqM/UCfaWIRTdp0RXyy7KQOVs=
+cloud.google.com/go/storage v1.10.0/go.mod h1:FLPqc6j+Ki4BU591ie1oL6qBQGu2Bl/tZ9ullr3+Kg0=
+cloud.google.com/go/storage v1.14.0/go.mod h1:GrKmX003DSIwi9o29oFT7YDnHYwZoctc3fOKtUw0Xmo=
+cloud.google.com/go/storage v1.22.1/go.mod h1:S8N1cAStu7BOeFfE8KAQzmyyLkK8p/vmRq6kuBTW58Y=
+cloud.google.com/go/storage v1.23.0/go.mod h1:vOEEDNFnciUMhBeT6hsJIn3ieU5cFRmzeLgDvXzfIXc=
+cloud.google.com/go/storage v1.27.0/go.mod h1:x9DOL8TK/ygDUMieqwfhdpQryTeEkhGKMi80i/iqR2s=
+cloud.google.com/go/storage v1.28.1/go.mod h1:Qnisd4CqDdo6BGs2AD5LLnEsmSQ80wQ5ogcBBKhU86Y=
+cloud.google.com/go/storage v1.29.0/go.mod h1:4puEjyTKnku6gfKoTfNOU/W+a9JyuVNxjpS5GBrB8h4=
+cloud.google.com/go/storage v1.30.1/go.mod h1:NfxhC0UJE1aXSx7CIIbCf7y9HKT7BiccwkR7+P7gN8E=
+cloud.google.com/go/storagetransfer v1.5.0/go.mod h1:dxNzUopWy7RQevYFHewchb29POFv3/AaBgnhqzqiK0w=
+cloud.google.com/go/storagetransfer v1.6.0/go.mod h1:y77xm4CQV/ZhFZH75PLEXY0ROiS7Gh6pSKrM8dJyg6I=
+cloud.google.com/go/storagetransfer v1.7.0/go.mod h1:8Giuj1QNb1kfLAiWM1bN6dHzfdlDAVC9rv9abHot2W4=
+cloud.google.com/go/storagetransfer v1.8.0/go.mod h1:JpegsHHU1eXg7lMHkvf+KE5XDJ7EQu0GwNJbbVGanEw=
+cloud.google.com/go/storagetransfer v1.10.0/go.mod h1:DM4sTlSmGiNczmV6iZyceIh2dbs+7z2Ayg6YAiQlYfA=
+cloud.google.com/go/talent v1.1.0/go.mod h1:Vl4pt9jiHKvOgF9KoZo6Kob9oV4lwd/ZD5Cto54zDRw=
+cloud.google.com/go/talent v1.2.0/go.mod h1:MoNF9bhFQbiJ6eFD3uSsg0uBALw4n4gaCaEjBw9zo8g=
+cloud.google.com/go/talent v1.3.0/go.mod h1:CmcxwJ/PKfRgd1pBjQgU6W3YBwiewmUzQYH5HHmSCmM=
+cloud.google.com/go/talent v1.4.0/go.mod h1:ezFtAgVuRf8jRsvyE6EwmbTK5LKciD4KVnHuDEFmOOA=
+cloud.google.com/go/talent v1.5.0/go.mod h1:G+ODMj9bsasAEJkQSzO2uHQWXHHXUomArjWQQYkqK6c=
+cloud.google.com/go/talent v1.6.2/go.mod h1:CbGvmKCG61mkdjcqTcLOkb2ZN1SrQI8MDyma2l7VD24=
+cloud.google.com/go/texttospeech v1.4.0/go.mod h1:FX8HQHA6sEpJ7rCMSfXuzBcysDAuWusNNNvN9FELDd8=
+cloud.google.com/go/texttospeech v1.5.0/go.mod h1:oKPLhR4n4ZdQqWKURdwxMy0uiTS1xU161C8W57Wkea4=
+cloud.google.com/go/texttospeech v1.6.0/go.mod h1:YmwmFT8pj1aBblQOI3TfKmwibnsfvhIBzPXcW4EBovc=
+cloud.google.com/go/texttospeech v1.7.1/go.mod h1:m7QfG5IXxeneGqTapXNxv2ItxP/FS0hCZBwXYqucgSk=
+cloud.google.com/go/tpu v1.3.0/go.mod h1:aJIManG0o20tfDQlRIej44FcwGGl/cD0oiRyMKG19IQ=
+cloud.google.com/go/tpu v1.4.0/go.mod h1:mjZaX8p0VBgllCzF6wcU2ovUXN9TONFLd7iz227X2Xg=
+cloud.google.com/go/tpu v1.5.0/go.mod h1:8zVo1rYDFuW2l4yZVY0R0fb/v44xLh3llq7RuV61fPM=
+cloud.google.com/go/tpu v1.6.1/go.mod h1:sOdcHVIgDEEOKuqUoi6Fq53MKHJAtOwtz0GuKsWSH3E=
+cloud.google.com/go/trace v1.3.0/go.mod h1:FFUE83d9Ca57C+K8rDl/Ih8LwOzWIV1krKgxg6N0G28=
+cloud.google.com/go/trace v1.4.0/go.mod h1:UG0v8UBqzusp+z63o7FK74SdFE+AXpCLdFb1rshXG+Y=
+cloud.google.com/go/trace v1.8.0/go.mod h1:zH7vcsbAhklH8hWFig58HvxcxyQbaIqMarMg9hn5ECA=
+cloud.google.com/go/trace v1.9.0/go.mod h1:lOQqpE5IaWY0Ixg7/r2SjixMuc6lfTFeO4QGM4dQWOk=
+cloud.google.com/go/trace v1.10.1/go.mod h1:gbtL94KE5AJLH3y+WVpfWILmqgc6dXcqgNXdOPAQTYk=
+cloud.google.com/go/translate v1.3.0/go.mod h1:gzMUwRjvOqj5i69y/LYLd8RrNQk+hOmIXTi9+nb3Djs=
+cloud.google.com/go/translate v1.4.0/go.mod h1:06Dn/ppvLD6WvA5Rhdp029IX2Mi3Mn7fpMRLPvXT5Wg=
+cloud.google.com/go/translate v1.5.0/go.mod h1:29YDSYveqqpA1CQFD7NQuP49xymq17RXNaUDdc0mNu0=
+cloud.google.com/go/translate v1.6.0/go.mod h1:lMGRudH1pu7I3n3PETiOB2507gf3HnfLV8qlkHZEyos=
+cloud.google.com/go/translate v1.7.0/go.mod h1:lMGRudH1pu7I3n3PETiOB2507gf3HnfLV8qlkHZEyos=
+cloud.google.com/go/translate v1.8.1/go.mod h1:d1ZH5aaOA0CNhWeXeC8ujd4tdCFw8XoNWRljklu5RHs=
+cloud.google.com/go/translate v1.8.2/go.mod h1:d1ZH5aaOA0CNhWeXeC8ujd4tdCFw8XoNWRljklu5RHs=
+cloud.google.com/go/video v1.8.0/go.mod h1:sTzKFc0bUSByE8Yoh8X0mn8bMymItVGPfTuUBUyRgxk=
+cloud.google.com/go/video v1.9.0/go.mod h1:0RhNKFRF5v92f8dQt0yhaHrEuH95m068JYOvLZYnJSw=
+cloud.google.com/go/video v1.12.0/go.mod h1:MLQew95eTuaNDEGriQdcYn0dTwf9oWiA4uYebxM5kdg=
+cloud.google.com/go/video v1.13.0/go.mod h1:ulzkYlYgCp15N2AokzKjy7MQ9ejuynOJdf1tR5lGthk=
+cloud.google.com/go/video v1.14.0/go.mod h1:SkgaXwT+lIIAKqWAJfktHT/RbgjSuY6DobxEp0C5yTQ=
+cloud.google.com/go/video v1.15.0/go.mod h1:SkgaXwT+lIIAKqWAJfktHT/RbgjSuY6DobxEp0C5yTQ=
+cloud.google.com/go/video v1.17.1/go.mod h1:9qmqPqw/Ib2tLqaeHgtakU+l5TcJxCJbhFXM7UJjVzU=
+cloud.google.com/go/video v1.19.0/go.mod h1:9qmqPqw/Ib2tLqaeHgtakU+l5TcJxCJbhFXM7UJjVzU=
+cloud.google.com/go/videointelligence v1.6.0/go.mod h1:w0DIDlVRKtwPCn/C4iwZIJdvC69yInhW0cfi+p546uU=
+cloud.google.com/go/videointelligence v1.7.0/go.mod h1:k8pI/1wAhjznARtVT9U1llUaFNPh7muw8QyOUpavru4=
+cloud.google.com/go/videointelligence v1.8.0/go.mod h1:dIcCn4gVDdS7yte/w+koiXn5dWVplOZkE+xwG9FgK+M=
+cloud.google.com/go/videointelligence v1.9.0/go.mod h1:29lVRMPDYHikk3v8EdPSaL8Ku+eMzDljjuvRs105XoU=
+cloud.google.com/go/videointelligence v1.10.0/go.mod h1:LHZngX1liVtUhZvi2uNS0VQuOzNi2TkY1OakiuoUOjU=
+cloud.google.com/go/videointelligence v1.11.1/go.mod h1:76xn/8InyQHarjTWsBR058SmlPCwQjgcvoW0aZykOvo=
+cloud.google.com/go/vision v1.2.0/go.mod h1:SmNwgObm5DpFBme2xpyOyasvBc1aPdjvMk2bBk0tKD0=
+cloud.google.com/go/vision/v2 v2.2.0/go.mod h1:uCdV4PpN1S0jyCyq8sIM42v2Y6zOLkZs+4R9LrGYwFo=
+cloud.google.com/go/vision/v2 v2.3.0/go.mod h1:UO61abBx9QRMFkNBbf1D8B1LXdS2cGiiCRx0vSpZoUo=
+cloud.google.com/go/vision/v2 v2.4.0/go.mod h1:VtI579ll9RpVTrdKdkMzckdnwMyX2JILb+MhPqRbPsY=
+cloud.google.com/go/vision/v2 v2.5.0/go.mod h1:MmaezXOOE+IWa+cS7OhRRLK2cNv1ZL98zhqFFZaaH2E=
+cloud.google.com/go/vision/v2 v2.6.0/go.mod h1:158Hes0MvOS9Z/bDMSFpjwsUrZ5fPrdwuyyvKSGAGMY=
+cloud.google.com/go/vision/v2 v2.7.0/go.mod h1:H89VysHy21avemp6xcf9b9JvZHVehWbET0uT/bcuY/0=
+cloud.google.com/go/vision/v2 v2.7.2/go.mod h1:jKa8oSYBWhYiXarHPvP4USxYANYUEdEsQrloLjrSwJU=
+cloud.google.com/go/vmmigration v1.2.0/go.mod h1:IRf0o7myyWFSmVR1ItrBSFLFD/rJkfDCUTO4vLlJvsE=
+cloud.google.com/go/vmmigration v1.3.0/go.mod h1:oGJ6ZgGPQOFdjHuocGcLqX4lc98YQ7Ygq8YQwHh9A7g=
+cloud.google.com/go/vmmigration v1.5.0/go.mod h1:E4YQ8q7/4W9gobHjQg4JJSgXXSgY21nA5r8swQV+Xxc=
+cloud.google.com/go/vmmigration v1.6.0/go.mod h1:bopQ/g4z+8qXzichC7GW1w2MjbErL54rk3/C843CjfY=
+cloud.google.com/go/vmmigration v1.7.1/go.mod h1:WD+5z7a/IpZ5bKK//YmT9E047AD+rjycCAvyMxGJbro=
+cloud.google.com/go/vmwareengine v0.1.0/go.mod h1:RsdNEf/8UDvKllXhMz5J40XxDrNJNN4sagiox+OI208=
+cloud.google.com/go/vmwareengine v0.2.2/go.mod h1:sKdctNJxb3KLZkE/6Oui94iw/xs9PRNC2wnNLXsHvH8=
+cloud.google.com/go/vmwareengine v0.3.0/go.mod h1:wvoyMvNWdIzxMYSpH/R7y2h5h3WFkx6d+1TIsP39WGY=
+cloud.google.com/go/vmwareengine v0.4.1/go.mod h1:Px64x+BvjPZwWuc4HdmVhoygcXqEkGHXoa7uyfTgSI0=
+cloud.google.com/go/vmwareengine v1.0.0/go.mod h1:Px64x+BvjPZwWuc4HdmVhoygcXqEkGHXoa7uyfTgSI0=
+cloud.google.com/go/vpcaccess v1.4.0/go.mod h1:aQHVbTWDYUR1EbTApSVvMq1EnT57ppDmQzZ3imqIk4w=
+cloud.google.com/go/vpcaccess v1.5.0/go.mod h1:drmg4HLk9NkZpGfCmZ3Tz0Bwnm2+DKqViEpeEpOq0m8=
+cloud.google.com/go/vpcaccess v1.6.0/go.mod h1:wX2ILaNhe7TlVa4vC5xce1bCnqE3AeH27RV31lnmZes=
+cloud.google.com/go/vpcaccess v1.7.1/go.mod h1:FogoD46/ZU+JUBX9D606X21EnxiszYi2tArQwLY4SXs=
+cloud.google.com/go/webrisk v1.4.0/go.mod h1:Hn8X6Zr+ziE2aNd8SliSDWpEnSS1u4R9+xXZmFiHmGE=
+cloud.google.com/go/webrisk v1.5.0/go.mod h1:iPG6fr52Tv7sGk0H6qUFzmL3HHZev1htXuWDEEsqMTg=
+cloud.google.com/go/webrisk v1.6.0/go.mod h1:65sW9V9rOosnc9ZY7A7jsy1zoHS5W9IAXv6dGqhMQMc=
+cloud.google.com/go/webrisk v1.7.0/go.mod h1:mVMHgEYH0r337nmt1JyLthzMr6YxwN1aAIEc2fTcq7A=
+cloud.google.com/go/webrisk v1.8.0/go.mod h1:oJPDuamzHXgUc+b8SiHRcVInZQuybnvEW72PqTc7sSg=
+cloud.google.com/go/webrisk v1.9.1/go.mod h1:4GCmXKcOa2BZcZPn6DCEvE7HypmEJcJkr4mtM+sqYPc=
+cloud.google.com/go/websecurityscanner v1.3.0/go.mod h1:uImdKm2wyeXQevQJXeh8Uun/Ym1VqworNDlBXQevGMo=
+cloud.google.com/go/websecurityscanner v1.4.0/go.mod h1:ebit/Fp0a+FWu5j4JOmJEV8S8CzdTkAS77oDsiSqYWQ=
+cloud.google.com/go/websecurityscanner v1.5.0/go.mod h1:Y6xdCPy81yi0SQnDY1xdNTNpfY1oAgXUlcfN3B3eSng=
+cloud.google.com/go/websecurityscanner v1.6.1/go.mod h1:Njgaw3rttgRHXzwCB8kgCYqv5/rGpFCsBOvPbYgszpg=
+cloud.google.com/go/workflows v1.6.0/go.mod h1:6t9F5h/unJz41YqfBmqSASJSXccBLtD1Vwf+KmJENM0=
+cloud.google.com/go/workflows v1.7.0/go.mod h1:JhSrZuVZWuiDfKEFxU0/F1PQjmpnpcoISEXH2bcHC3M=
+cloud.google.com/go/workflows v1.8.0/go.mod h1:ysGhmEajwZxGn1OhGOGKsTXc5PyxOc0vfKf5Af+to4M=
+cloud.google.com/go/workflows v1.9.0/go.mod h1:ZGkj1aFIOd9c8Gerkjjq7OW7I5+l6cSvT3ujaO/WwSA=
+cloud.google.com/go/workflows v1.10.0/go.mod h1:fZ8LmRmZQWacon9UCX1r/g/DfAXx5VcPALq2CxzdePw=
+cloud.google.com/go/workflows v1.11.1/go.mod h1:Z+t10G1wF7h8LgdY/EmRcQY8ptBD/nvofaL6FqlET6g=
+codeberg.org/go-fonts/dejavu v0.4.0/go.mod h1:abni088lmhQJvso2Lsb7azCKzwkfcnttl6tL1UTWKzg=
+codeberg.org/go-fonts/latin-modern v0.4.0/go.mod h1:BF68mZznJ9QHn+hic9ks2DaFl4sR5YhfM6xTYaP9vNw=
+codeberg.org/go-fonts/liberation v0.4.1/go.mod h1:Gu6FTZHMMpGxPBfc8WFL8RfwMYFTvG7TIFOMx8oM4B8=
+codeberg.org/go-fonts/liberation v0.5.0/go.mod h1:zS/2e1354/mJ4pGzIIaEtm/59VFCFnYC7YV6YdGl5GU=
+codeberg.org/go-fonts/stix v0.3.0/go.mod h1:1OSJSnA/PoHqbW2tjkkqTmNPp5xTtJQN2GRXJjO/+WA=
+codeberg.org/go-latex/latex v0.0.1/go.mod h1:AiC91vVG2uURZRd4ZN1j3mAac0XBrLsxK6+ZNa7O9ok=
+codeberg.org/go-latex/latex v0.1.0/go.mod h1:LA0q/AyWIYrqVd+A9Upkgsb+IqPcmSTKc9Dny04MHMw=
+codeberg.org/go-pdf/fpdf v0.10.0/go.mod h1:Y0DGRAdZ0OmnZPvjbMp/1bYxmIPxm0ws4tfoPOc4LjU=
dario.cat/mergo v1.0.1 h1:Ra4+bf83h2ztPIQYNP99R6m+Y7KfnARDfID+a+vLl4s=
dario.cat/mergo v1.0.1/go.mod h1:uNxQE+84aUszobStD9th8a29P2fMDhsBdgRYvZOxGmk=
+dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU=
+dmitri.shuralyov.com/gpu/mtl v0.0.0-20201218220906-28db891af037/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU=
+dmitri.shuralyov.com/gpu/mtl v0.0.0-20221208032759-85de2813cf6b/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU=
+eliasnaur.com/font v0.0.0-20230308162249-dd43949cb42d/go.mod h1:OYVuxibdk9OSLX8vAqydtRPP87PyTFcT9uH3MlEGBQA=
filippo.io/edwards25519 v1.1.0 h1:FNf4tywRC1HmFuKW5xopWpigGjJKiJSV0Cqo0cJWDaA=
filippo.io/edwards25519 v1.1.0/go.mod h1:BxyFTGdWcka3PhytdK4V28tE5sGfRvvvRV7EaN4VDT4=
+gioui.org v0.0.0-20210308172011-57750fc8a0a6/go.mod h1:RSH6KIUZ0p2xy5zHDxgAM4zumjgTw83q2ge/PI+yyw8=
+gioui.org v0.0.0-20210822154628-43a7030f6e0b/go.mod h1:jmZ349gZNGWyc5FIv/VWLBQ32Ki/FOvTgEz64kh9lnk=
+gioui.org v0.2.0/go.mod h1:1H72sKEk/fNFV+l0JNeM2Dt3co3Y4uaQcD+I+/GQ0e4=
+gioui.org/cpu v0.0.0-20210808092351-bfe733dd3334/go.mod h1:A8M0Cn5o+vY5LTMlnRoK3O5kG+rH0kWfJjeKd9QpBmQ=
+gioui.org/cpu v0.0.0-20210817075930-8d6a761490d2/go.mod h1:A8M0Cn5o+vY5LTMlnRoK3O5kG+rH0kWfJjeKd9QpBmQ=
+gioui.org/cpu v0.0.0-20220412190645-f1e9e8c3b1f7/go.mod h1:A8M0Cn5o+vY5LTMlnRoK3O5kG+rH0kWfJjeKd9QpBmQ=
+gioui.org/shader v1.0.0/go.mod h1:mWdiME581d/kV7/iEhLmUgUK5iZ09XR5XpduXzbePVM=
+gioui.org/shader v1.0.6/go.mod h1:mWdiME581d/kV7/iEhLmUgUK5iZ09XR5XpduXzbePVM=
+gioui.org/x v0.2.0/go.mod h1:rCGN2nZ8ZHqrtseJoQxCMZpt2xrZUrdZ2WuMRLBJmYs=
+git.sr.ht/~jackmordaunt/go-toast v1.0.0/go.mod h1:aIuRX/HdBOz7yRS8rOVYQCwJQlFS7DbYBTpUV0SHeeg=
+git.sr.ht/~sbinet/cmpimg v0.1.0/go.mod h1:FU12psLbF4TfNXkKH2ZZQ29crIqoiqTZmeQ7dkp/pxE=
+git.sr.ht/~sbinet/gg v0.3.1/go.mod h1:KGYtlADtqsqANL9ueOFkWymvzUvLMQllU5Ixo+8v3pc=
+git.sr.ht/~sbinet/gg v0.5.0/go.mod h1:G2C0eRESqlKhS7ErsNey6HHrqU1PwsnCQlekFi9Q2Oo=
+git.sr.ht/~sbinet/gg v0.6.0/go.mod h1:uucygbfC9wVPQIfrmwM2et0imr8L7KQWywX0xpFMm94=
+git.wow.st/gmp/jni v0.0.0-20210610011705-34026c7e22d0/go.mod h1:+axXBRUTIDlCeE73IKeD/os7LoEnTKdkp8/gQOFjqyo=
github.com/AdaLogics/go-fuzz-headers v0.0.0-20230811130428-ced1acdcaa24 h1:bvDV9vkmnHYOMsOr4WLk+Vo07yKIzd94sVoIqshQ4bU=
github.com/AdaLogics/go-fuzz-headers v0.0.0-20230811130428-ced1acdcaa24/go.mod h1:8o94RPi1/7XTJvwPpRSzSUedZrtlirdB3r9Z20bi2f8=
github.com/Azure/go-ansiterm v0.0.0-20250102033503-faa5f7b0171c h1:udKWzYgxTojEKWjV8V+WSxDXJ4NFATAsZjh8iIbsQIg=
@@ -12,8 +794,13 @@ github.com/Azure/go-ansiterm v0.0.0-20250102033503-faa5f7b0171c/go.mod h1:xomTg6
github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=
github.com/BurntSushi/toml v1.5.0 h1:W5quZX/G/csjUnuI8SUYlsHs9M38FC7znL0lIO+DvMg=
github.com/BurntSushi/toml v1.5.0/go.mod h1:ukJfTF/6rtPPRCnwkur4qwRxa8vTRFBF0uk2lLoLwho=
+github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo=
github.com/DATA-DOG/go-sqlmock v1.5.2 h1:OcvFkGmslmlZibjAjaHm3L//6LiuBgolP7OputlJIzU=
github.com/DATA-DOG/go-sqlmock v1.5.2/go.mod h1:88MAG/4G7SMwSE3CeA0ZKzrT5CiOU3OJ+JlNzwDqpNU=
+github.com/GoogleCloudPlatform/opentelemetry-operations-go/detectors/gcp v1.27.0/go.mod h1:yAZHSGnqScoU556rBOVkwLze6WP5N+U11RHuWaGVxwY=
+github.com/GoogleCloudPlatform/opentelemetry-operations-go/detectors/gcp v1.29.0/go.mod h1:Cz6ft6Dkn3Et6l2v2a9/RpN7epQ1GtDlO6lj8bEcOvw=
+github.com/JohnCGriffin/overflow v0.0.0-20211019200055-46fa312c352c/go.mod h1:X0CRv0ky0k6m906ixxpzmDRLvX58TFUKS2eePweuyxk=
+github.com/Knetic/govaluate v3.0.1-0.20171022003610-9aa49832a739+incompatible/go.mod h1:r7JcOSlj0wfOMncg0iLm8Leh48TZaKVeNIfJntJ2wa0=
github.com/MakeNowJust/heredoc v1.0.0 h1:cXCdzVdstXyiTqTvfqk9SDHpKNjxuom+DOlyEeQ4pzQ=
github.com/MakeNowJust/heredoc v1.0.0/go.mod h1:mG5amYoWBHf8vpLOuehzbGGw0EHxpZZ6lCpQ4fNJ8LE=
github.com/Masterminds/goutils v1.1.1 h1:5nUrii3FMTL5diU80unEVvNevw1nH4+ZV4DSLVJLSYI=
@@ -28,35 +815,86 @@ github.com/Microsoft/go-winio v0.6.2 h1:F2VQgta7ecxGYO8k3ZZz3RS8fVIXVxONVUPlNERo
github.com/Microsoft/go-winio v0.6.2/go.mod h1:yd8OoFMLzJbo9gZq8j5qaps8bJ9aShtEA8Ipt1oGCvU=
github.com/Microsoft/hcsshim v0.12.9 h1:2zJy5KA+l0loz1HzEGqyNnjd3fyZA31ZBCGKacp6lLg=
github.com/Microsoft/hcsshim v0.12.9/go.mod h1:fJ0gkFAna6ukt0bLdKB8djt4XIJhF/vEPuoIWYVvZ8Y=
+github.com/Shopify/sarama v1.19.0/go.mod h1:FVkBWblsNy7DGZRfXLU0O9RCGt5g3g3yEuWXgklEdEo=
+github.com/Shopify/toxiproxy v2.1.4+incompatible/go.mod h1:OXgGpZ6Cli1/URJOF1DMxUHB2q5Ap20/P/eIdh4G0pI=
github.com/VividCortex/ewma v1.2.0 h1:f58SaIzcDXrSy3kWaHNvuJgJ3Nmz59Zji6XoJR/q1ow=
github.com/VividCortex/ewma v1.2.0/go.mod h1:nz4BbCtbLyFDeC9SUHbtcT5644juEuWfUAUnGx7j5l4=
+github.com/VividCortex/gohistogram v1.0.0/go.mod h1:Pf5mBqqDxYaXu3hDrrU+w6nw50o/4+TcAqDqk/vUH7g=
github.com/acarl005/stripansi v0.0.0-20180116102854-5a71ef0e047d h1:licZJFw2RwpHMqeKTCYkitsPqHNxTmd4SNR5r94FGM8=
github.com/acarl005/stripansi v0.0.0-20180116102854-5a71ef0e047d/go.mod h1:asat636LX7Bqt5lYEZ27JNDcqxfjdBQuJ/MM4CN/Lzo=
+github.com/afex/hystrix-go v0.0.0-20180502004556-fa1af6a1f4f5/go.mod h1:SkGFH1ia65gfNATL8TAiHDNxPzPdmEL5uirI2Uyuz6c=
+github.com/ajstarks/deck v0.0.0-20200831202436-30c9fc6549a9/go.mod h1:JynElWSGnm/4RlzPXRlREEwqTHAN3T56Bv2ITsFT3gY=
+github.com/ajstarks/deck/generate v0.0.0-20210309230005-c3f852c02e19/go.mod h1:T13YZdzov6OU0A1+RfKZiZN9ca6VeKdBdyDV+BY97Tk=
+github.com/ajstarks/svgo v0.0.0-20180226025133-644b8db467af/go.mod h1:K08gAheRH3/J6wwsYMMT4xOr94bZjxIelGM0+d/wbFw=
+github.com/ajstarks/svgo v0.0.0-20211024235047-1546f124cd8b/go.mod h1:1KcenG0jGWcpt8ov532z81sp/kMMUG485J2InIOyADM=
github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc=
+github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc=
github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0=
+github.com/alecthomas/units v0.0.0-20190717042225-c3de453c63f4/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0=
+github.com/andybalholm/brotli v1.0.4/go.mod h1:fO7iG3H7G2nSZ7m0zPUDn85XEX2GTukHGRSepvi9Eig=
+github.com/andybalholm/stroke v0.0.0-20221221101821-bd29b49d73f0/go.mod h1:ccdDYaY5+gO+cbnQdFxEXqfy0RkoV25H3jLXUDNM3wg=
+github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY=
github.com/antlr4-go/antlr/v4 v4.13.0 h1:lxCg3LAv+EUK6t1i0y1V6/SLeUi0eKEKdhQAlS8TVTI=
github.com/antlr4-go/antlr/v4 v4.13.0/go.mod h1:pfChB/xh/Unjila75QW7+VU4TSnWnnk9UTnmpPaOR2g=
+github.com/apache/arrow/go/v10 v10.0.1/go.mod h1:YvhnlEePVnBS4+0z3fhPfUy7W1Ikj0Ih0vcRo/gZ1M0=
+github.com/apache/arrow/go/v11 v11.0.0/go.mod h1:Eg5OsL5H+e299f7u5ssuXsuHQVEGC4xei5aX110hRiI=
+github.com/apache/arrow/go/v12 v12.0.0/go.mod h1:d+tV/eHZZ7Dz7RPrFKtPK02tpr+c9/PEd/zm8mDS9Vg=
+github.com/apache/thrift v0.12.0/go.mod h1:cp2SuWMxlEZw2r+iP2GNCdIi4C1qmUzdZFSVb+bacwQ=
+github.com/apache/thrift v0.13.0/go.mod h1:cp2SuWMxlEZw2r+iP2GNCdIi4C1qmUzdZFSVb+bacwQ=
+github.com/apache/thrift v0.16.0/go.mod h1:PHK3hniurgQaNMZYaCLEqXKsYK8upmhPbmdP2FXSqgU=
+github.com/armon/circbuf v0.0.0-20150827004946-bbbad097214e/go.mod h1:3U/XgcO3hCbHZ8TKRvWD2dDTCfh9M9ya+I9JpbB7O8o=
+github.com/armon/go-metrics v0.0.0-20180917152333-f0300d1749da/go.mod h1:Q73ZrmVTwzkszR9V5SSuryQ31EELlFMUz1kKyl939pY=
+github.com/armon/go-radix v0.0.0-20180808171621-7fddfc383310/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8=
github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5 h1:0CwZNZbxp69SHPdPJAN/hZIm0C4OItdklCFmMRWYpio=
github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5/go.mod h1:wHh0iHkYZB8zMSxRWpUBQtwG5a7fFgvEO+odwuTv2gs=
+github.com/aryann/difflib v0.0.0-20170710044230-e206f873d14a/go.mod h1:DAHtR1m6lCRdSC2Tm3DSWRPvIPr6xNKyeHdqDQSQT+A=
github.com/asaskevich/govalidator v0.0.0-20230301143203-a9d515a09cc2 h1:DklsrG3dyBCFEj5IhUbnKptjxatkF07cF2ak3yi77so=
github.com/asaskevich/govalidator v0.0.0-20230301143203-a9d515a09cc2/go.mod h1:WaHUgvxTVq04UNunO+XhnAqY/wQc+bxr74GqbsZ/Jqw=
+github.com/aws/aws-lambda-go v1.13.3/go.mod h1:4UKl9IzQMoD+QF79YdCuzCwp8VbmG4VAQwij/eHl5CU=
+github.com/aws/aws-sdk-go v1.27.0/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo=
+github.com/aws/aws-sdk-go-v2 v0.18.0/go.mod h1:JWVYvqSMppoMJC0x5wdwiImzgXTI9FuZwxzkQq9wy+g=
github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q=
github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+CedLV8=
github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM=
github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw=
+github.com/bgentry/speakeasy v0.1.0/go.mod h1:+zsyZBPWlz7T6j88CTgSN5bM796AkVf0kBD4zp0CCIs=
github.com/blang/semver/v4 v4.0.0 h1:1PFHFE6yCCTv8C1TeyNNarDzntLi7wMI5i/pzqYIsAM=
github.com/blang/semver/v4 v4.0.0/go.mod h1:IbckMUScFkM3pff0VJDNKRiT6TG/YpiHIM2yvyW5YoQ=
+github.com/boombuler/barcode v1.0.0/go.mod h1:paBWMcWSl3LHKBqUq+rly7CNSldXjb2rDl3JlRe0mD8=
+github.com/boombuler/barcode v1.0.1/go.mod h1:paBWMcWSl3LHKBqUq+rly7CNSldXjb2rDl3JlRe0mD8=
github.com/bshuster-repo/logrus-logstash-hook v1.0.0 h1:e+C0SB5R1pu//O4MQ3f9cFuPGoOVeF2fE4Og9otCc70=
github.com/bshuster-repo/logrus-logstash-hook v1.0.0/go.mod h1:zsTqEiSzDgAa/8GZR7E1qaXrhYNDKBYy5/dWPTIflbk=
+github.com/campoy/embedmd v1.0.0/go.mod h1:oxyr9RCiSXg0M3VJ3ks0UGfp98BpSSGr0kpiX3MzVl8=
+github.com/casbin/casbin/v2 v2.1.2/go.mod h1:YcPU1XXisHhLzuxH9coDNf2FbKpjGlbCg3n9yuLkIJQ=
+github.com/cenkalti/backoff v2.2.1+incompatible/go.mod h1:90ReRw6GdpyfrHakVjL/QHaoyV4aDUVVkXQJJJ3NXXM=
github.com/cenkalti/backoff/v4 v4.3.0 h1:MyRJ/UdXutAwSAT+s3wNd7MfTIcy71VQueUuFK343L8=
github.com/cenkalti/backoff/v4 v4.3.0/go.mod h1:Y3VNntkOUPxTVeUxJ/G5vcM//AlwfmyYozVcomhLiZE=
github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU=
+github.com/census-instrumentation/opencensus-proto v0.3.0/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU=
+github.com/census-instrumentation/opencensus-proto v0.4.1/go.mod h1:4T9NM4+4Vw91VeyqjLS6ao50K5bOcLKN6Q42XnYaRYw=
+github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs=
+github.com/cespare/xxhash/v2 v2.2.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs=
github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs=
github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs=
github.com/chai2010/gettext-go v1.0.2 h1:1Lwwip6Q2QGsAdl/ZKPCwTe9fe0CjlUbqj5bFNSjIRk=
github.com/chai2010/gettext-go v1.0.2/go.mod h1:y+wnP2cHYaVj19NZhYKAwEMH2CI1gNHeQQ+5AjwawxA=
-github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw=
-github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc=
+github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI=
+github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI=
+github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU=
+github.com/clbanning/x2j v0.0.0-20191024224557-825249438eec/go.mod h1:jMjuTZXRI4dUb/I5gc9Hdhagfvm9+RyrPryS/auMzxE=
+github.com/cncf/udpa/go v0.0.0-20210930031921-04548b0d99d4/go.mod h1:6pvJx4me5XPnfI9Z40ddWsdw2W/uZgQLFXToKeRcDiI=
+github.com/cncf/udpa/go v0.0.0-20220112060539-c52dc94e7fbe/go.mod h1:6pvJx4me5XPnfI9Z40ddWsdw2W/uZgQLFXToKeRcDiI=
+github.com/cncf/xds/go v0.0.0-20210922020428-25de7278fc84/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs=
+github.com/cncf/xds/go v0.0.0-20211001041855-01bcc9b48dfe/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs=
+github.com/cncf/xds/go v0.0.0-20211011173535-cb28da3451f1/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs=
+github.com/cncf/xds/go v0.0.0-20220314180256-7f1daf1720fc/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs=
+github.com/cncf/xds/go v0.0.0-20230105202645-06c439db220b/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs=
+github.com/cncf/xds/go v0.0.0-20230310173818-32f1caf87195/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs=
+github.com/cncf/xds/go v0.0.0-20240723142845-024c85f92f20/go.mod h1:W+zGtBO5Y1IgJhy4+A9GOqVhqLpfZi+vwmdNXUehLA8=
+github.com/cncf/xds/go v0.0.0-20240905190251-b4127c9b8d78/go.mod h1:W+zGtBO5Y1IgJhy4+A9GOqVhqLpfZi+vwmdNXUehLA8=
+github.com/cncf/xds/go v0.0.0-20250501225837-2ac532fd4443/go.mod h1:W+zGtBO5Y1IgJhy4+A9GOqVhqLpfZi+vwmdNXUehLA8=
+github.com/cockroachdb/datadriven v0.0.0-20190809214429-80d97fb3cbaa/go.mod h1:zn76sxSg3SzpJ0PPJaLDCu+Bu0Lg3sKTORVIj19EIF8=
+github.com/codahale/hdrhistogram v0.0.0-20161010025455-3a0bb77429bd/go.mod h1:sE/e/2PUdi/liOCUjSTXgM1o87ZssimdTWN964YiIeI=
github.com/containerd/cgroups/v3 v3.0.5 h1:44na7Ud+VwyE7LIoJ8JTNQOa549a8543BmzaJHo6Bzo=
github.com/containerd/cgroups/v3 v3.0.5/go.mod h1:SA5DLYnXO8pTGYiAHXz94qvLQTKfVM5GEVisn4jpins=
github.com/containerd/containerd v1.7.27 h1:yFyEyojddO3MIGVER2xJLWoCIn+Up4GaHFquP7hsFII=
@@ -89,11 +927,19 @@ github.com/containers/ocicrypt v1.2.1 h1:0qIOTT9DoYwcKmxSt8QJt+VzMY18onl9jUXsxpV
github.com/containers/ocicrypt v1.2.1/go.mod h1:aD0AAqfMp0MtwqWgHM1bUwe1anx0VazI108CRrSKINQ=
github.com/containers/storage v1.58.0 h1:Q7SyyCCjqgT3wYNgRNIL8o/wUS92heIj2/cc8Sewvcc=
github.com/containers/storage v1.58.0/go.mod h1:w7Jl6oG+OpeLGLzlLyOZPkmUso40kjpzgrHUk5tyBlo=
+github.com/coreos/go-semver v0.2.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk=
github.com/coreos/go-semver v0.3.1 h1:yi21YpKnrx1gt5R+la8n5WgS0kCrsPp33dmEyHReZr4=
github.com/coreos/go-semver v0.3.1/go.mod h1:irMmmIw/7yzSRPWryHsK7EYSg09caPQL03VsM8rvUec=
+github.com/coreos/go-systemd v0.0.0-20180511133405-39ca1b05acc7/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4=
+github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e h1:Wf6HqHfScWJN9/ZjdUKyjop4mf3Qdd+1TvvltAvM3m8=
+github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4=
github.com/coreos/go-systemd/v22 v22.5.0 h1:RrqgGjYQKalulkV8NGVIfkXQf6YYmOyiJKk8iXXhfZs=
github.com/coreos/go-systemd/v22 v22.5.0/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc=
+github.com/coreos/pkg v0.0.0-20160727233714-3ac0863d7acf/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA=
+github.com/cpuguy83/go-md2man/v2 v2.0.0-20190314233015-f79a8a8ca69d/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU=
github.com/cpuguy83/go-md2man/v2 v2.0.6/go.mod h1:oOW0eioCTA6cOiMLiUPZOpcVxMig6NIQQ7OS05n1F4g=
+github.com/creack/pty v1.1.7/go.mod h1:lj5s0c3V2DBrqTV7llrYr5NG6My20zk30Fl46Y7DoTY=
+github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E=
github.com/creack/pty v1.1.18 h1:n56/Zwd5o6whRC5PMGretI4IdRLlmBXYNjScPaBgsbY=
github.com/creack/pty v1.1.18/go.mod h1:MOBLtS5ELjhRRrroQr9kyvTxUAFNvYEK993ew/Vr4O4=
github.com/cyberphone/json-canonicalization v0.0.0-20241213102144-19d51d7fe467 h1:uX1JmpONuD549D73r6cgnxyUu18Zb7yHAy5AYU0Pm4Q=
@@ -104,6 +950,7 @@ github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSs
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc h1:U9qPSI2PIWSS1VwoXQT9A3Wy9MM3WgvqSxFWenqJduM=
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
+github.com/dgrijalva/jwt-go v3.2.0+incompatible/go.mod h1:E3ru+11k8xSBh+hMPgOLZmtrrCbhqsmaPHjLKYnJCaQ=
github.com/dgryski/go-rendezvous v0.0.0-20200823014737-9f7001d12a5f h1:lO4WD4F/rVNCu3HqELle0jiPLLBs70cWOduZpkS1E78=
github.com/dgryski/go-rendezvous v0.0.0-20200823014737-9f7001d12a5f/go.mod h1:cuUVRXasLTGF7a8hSLbxyZXjz+1KgoB3wDUb6vlszIc=
github.com/distribution/distribution/v3 v3.0.0-rc.3 h1:JRJso9IVLoooKX76oWR+DWCCdZlK5m4nRtDWvzB1ITg=
@@ -128,52 +975,107 @@ github.com/docker/go-units v0.5.0 h1:69rxXcBk27SvSaaxTtLh/8llcHD8vYHT7WSdRZ/jvr4
github.com/docker/go-units v0.5.0/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDDbaIK4Dk=
github.com/docker/libtrust v0.0.0-20160708172513-aabc10ec26b7 h1:UhxFibDNY/bfvqU5CAUmr9zpesgbU6SWc8/B4mflAE4=
github.com/docker/libtrust v0.0.0-20160708172513-aabc10ec26b7/go.mod h1:cyGadeNEkKy96OOhEzfZl+yxihPEzKnqJwvfuSUqbZE=
+github.com/docopt/docopt-go v0.0.0-20180111231733-ee0de3bc6815/go.mod h1:WwZ+bS3ebgob9U8Nd0kOddGdZWjyMGR8Wziv+TBNwSE=
+github.com/dustin/go-humanize v0.0.0-20171111073723-bb3d318650d4/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk=
+github.com/dustin/go-humanize v1.0.0/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk=
+github.com/dustin/go-humanize v1.0.1/go.mod h1:Mu1zIs6XwVuF/gI1OepvI0qD18qycQx+mFykh5fBlto=
+github.com/eapache/go-resiliency v1.1.0/go.mod h1:kFI+JgMyC7bLPUVY133qvEBtVayf5mFgVsvEsIPBvNs=
+github.com/eapache/go-xerial-snappy v0.0.0-20180814174437-776d5712da21/go.mod h1:+020luEh2TKB4/GOp8oxxtq0Daoen/Cii55CzbTV6DU=
+github.com/eapache/queue v1.1.0/go.mod h1:6eCeP0CKFpHLu8blIFXhExK/dRa7WDZfr6jVFPTqq+I=
+github.com/edsrzf/mmap-go v1.0.0/go.mod h1:YO35OhQPt3KJa3ryjFM5Bs14WD66h8eGKpfaBNrHW5M=
github.com/emicklei/go-restful/v3 v3.12.1 h1:PJMDIM/ak7btuL8Ex0iYET9hxM3CI2sjZtzpL63nKAU=
github.com/emicklei/go-restful/v3 v3.12.1/go.mod h1:6n3XBCmQQb25CM2LCACGz8ukIrRry+4bhvbpWn3mrbc=
-github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4=
-github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4=
-github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98=
+github.com/envoyproxy/go-control-plane v0.10.2-0.20220325020618-49ff273808a1/go.mod h1:KJwIaB5Mv44NWtYuAOFCVOjcI94vtpEz2JU/D2v6IjE=
+github.com/envoyproxy/go-control-plane v0.10.3/go.mod h1:fJJn/j26vwOu972OllsvAgJJM//w9BV6Fxbg2LuVd34=
+github.com/envoyproxy/go-control-plane v0.11.0/go.mod h1:VnHyVMpzcLvCFt9yUz1UnCwHLhwx1WguiVDV7pTG/tI=
+github.com/envoyproxy/go-control-plane v0.13.4/go.mod h1:kDfuBlDVsSj2MjrLEtRWtHlsWIFcGyB2RMO44Dc5GZA=
+github.com/envoyproxy/go-control-plane/envoy v1.32.2/go.mod h1:eR2SOX2IedqlPvmiKjUH7Wu//S602JKI7HPC/L3SRq8=
+github.com/envoyproxy/go-control-plane/envoy v1.32.3/go.mod h1:F6hWupPfh75TBXGKA++MCT/CZHFq5r9/uwt/kQYkZfE=
+github.com/envoyproxy/go-control-plane/envoy v1.32.4/go.mod h1:Gzjc5k8JcJswLjAx1Zm+wSYE20UrLtt7JZMWiWQXQEw=
+github.com/envoyproxy/go-control-plane/ratelimit v0.1.0/go.mod h1:Wk+tMFAFbCXaJPzVVHnPgRKdUdwW/KdbRt94AzgRee4=
github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c=
+github.com/envoyproxy/protoc-gen-validate v0.6.7/go.mod h1:dyJXwwfPK2VSqiB9Klm1J6romD608Ba7Hij42vrOBCo=
+github.com/envoyproxy/protoc-gen-validate v0.9.1/go.mod h1:OKNgG7TCp5pF4d6XftA0++PMirau2/yoOwVac3AbF2w=
+github.com/envoyproxy/protoc-gen-validate v0.10.0/go.mod h1:DRjgyB0I43LtJapqN6NiRwroiAU2PaFuvk/vjgh61ss=
+github.com/envoyproxy/protoc-gen-validate v1.0.4/go.mod h1:qys6tmnRsYrQqIhm2bvKZH4Blx/1gTIZ2UKVY1M+Yew=
+github.com/envoyproxy/protoc-gen-validate v1.1.0/go.mod h1:sXRDRVmzEbkM7CVcM06s9shE/m23dg3wzjl0UWqJ2q4=
+github.com/envoyproxy/protoc-gen-validate v1.2.1/go.mod h1:d/C80l/jxXLdfEIhX1W2TmLfsJ31lvEjwamM4DxlWXU=
+github.com/esiqveland/notify v0.11.0/go.mod h1:63UbVSaeJwF0LVJARHFuPgUAoM7o1BEvCZyknsuonBc=
github.com/evanphx/json-patch v5.9.0+incompatible h1:fBXyNpNMuTTDdquAq/uisOr2lShz4oaXpDTX2bLe7ls=
github.com/evanphx/json-patch v5.9.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk=
github.com/evanphx/json-patch/v5 v5.9.11 h1:/8HVnzMq13/3x9TPvjG08wUGqBTmZBsCWzjTM0wiaDU=
github.com/evanphx/json-patch/v5 v5.9.11/go.mod h1:3j+LviiESTElxA4p3EMKAB9HXj3/XEtnUf6OZxqIQTM=
github.com/exponent-io/jsonpath v0.0.0-20210407135951-1de76d718b3f h1:Wl78ApPPB2Wvf/TIe2xdyJxTlb6obmF18d8QdkxNDu4=
github.com/exponent-io/jsonpath v0.0.0-20210407135951-1de76d718b3f/go.mod h1:OSYXu++VVOHnXeitef/D8n/6y4QV8uLHSFXX4NeXMGc=
+github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4=
github.com/fatih/color v1.15.0 h1:kOqh6YHBtK8aywxGerMG2Eq3H6Qgoqeo13Bk2Mv/nBs=
github.com/fatih/color v1.15.0/go.mod h1:0h5ZqXfHYED7Bhv2ZJamyIOUej9KtShiJESRwBDUSsw=
github.com/felixge/httpsnoop v1.0.4 h1:NFTV2Zj1bL4mc9sqWACXbQFVBBg2W3GPvqp8/ESS2Wg=
github.com/felixge/httpsnoop v1.0.4/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U=
+github.com/fogleman/gg v1.2.1-0.20190220221249-0403632d5b90/go.mod h1:R/bRT+9gY/C5z7JzPU0zXsXHKM4/ayA+zqcVNZzPa1k=
+github.com/fogleman/gg v1.3.0/go.mod h1:R/bRT+9gY/C5z7JzPU0zXsXHKM4/ayA+zqcVNZzPa1k=
github.com/foxcpp/go-mockdns v1.1.0 h1:jI0rD8M0wuYAxL7r/ynTrCQQq0BVqfB99Vgk7DlmewI=
github.com/foxcpp/go-mockdns v1.1.0/go.mod h1:IhLeSFGed3mJIAXPH2aiRQB+kqz7oqu8ld2qVbOu7Wk=
+github.com/franela/goblin v0.0.0-20200105215937-c9ffbefa60db/go.mod h1:7dvUGVsVBjqR7JHJk0brhHOZYGmfBYOrK0ZhYMEtBr4=
+github.com/franela/goreq v0.0.0-20171204163338-bcd34c9993f8/go.mod h1:ZhphrRTfi2rbfLwlschooIH4+wKKDR4Pdxhh+TRoA20=
github.com/frankban/quicktest v1.14.6 h1:7Xjx+VpznH+oBnejlPUj8oUpdxnVs4f8XU8WnHkI4W8=
github.com/frankban/quicktest v1.14.6/go.mod h1:4ptaffx2x8+WTWXmUCuVU6aPUX1/Mz7zb5vbUoiM6w0=
+github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo=
github.com/fsnotify/fsnotify v1.9.0 h1:2Ml+OJNzbYCTzsxtv8vKSFD9PbJjmhYF14k/jKC7S9k=
github.com/fsnotify/fsnotify v1.9.0/go.mod h1:8jBTzvmWwFyi3Pb8djgCCO5IBqzKJ/Jwo8TRcHyHii0=
github.com/fxamacker/cbor/v2 v2.7.0 h1:iM5WgngdRBanHcxugY4JySA0nk1wZorNOpTgCMedv5E=
github.com/fxamacker/cbor/v2 v2.7.0/go.mod h1:pxXPTn3joSm21Gbwsv0w9OSA2y1HFR9qXEeXQVeNoDQ=
+github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04=
github.com/go-errors/errors v1.4.2 h1:J6MZopCL4uSllY1OfXM374weqZFFItUbrImctkmUxIA=
github.com/go-errors/errors v1.4.2/go.mod h1:sIVyrIiJhuEF+Pj9Ebtd6P/rEYROXFi3BopGUQ5a5Og=
+github.com/go-fonts/dejavu v0.1.0/go.mod h1:4Wt4I4OU2Nq9asgDCteaAaWZOV24E+0/Pwo0gppep4g=
+github.com/go-fonts/dejavu v0.3.2/go.mod h1:m+TzKY7ZEl09/a17t1593E4VYW8L1VaBXHzFZOIjGEY=
+github.com/go-fonts/latin-modern v0.2.0/go.mod h1:rQVLdDMK+mK1xscDwsqM5J8U2jrRa3T0ecnM9pNujks=
+github.com/go-fonts/latin-modern v0.3.0/go.mod h1:ysEQXnuT/sCDOAONxC7ImeEDVINbltClhasMAqEtRK0=
+github.com/go-fonts/latin-modern v0.3.1/go.mod h1:ysEQXnuT/sCDOAONxC7ImeEDVINbltClhasMAqEtRK0=
+github.com/go-fonts/latin-modern v0.3.2/go.mod h1:9odJt4NbRrbdj4UAMuLVd4zEukf6aAEKnDaQga0whqQ=
+github.com/go-fonts/liberation v0.1.1/go.mod h1:K6qoJYypsmfVjWg8KOVDQhLc8UDgIK2HYqyqAO9z7GY=
+github.com/go-fonts/liberation v0.2.0/go.mod h1:K6qoJYypsmfVjWg8KOVDQhLc8UDgIK2HYqyqAO9z7GY=
+github.com/go-fonts/liberation v0.3.0/go.mod h1:jdJ+cqF+F4SUL2V+qxBth8fvBpBDS7yloUL5Fi8GTGY=
+github.com/go-fonts/liberation v0.3.1/go.mod h1:jdJ+cqF+F4SUL2V+qxBth8fvBpBDS7yloUL5Fi8GTGY=
+github.com/go-fonts/liberation v0.3.2/go.mod h1:N0QsDLVUQPy3UYg9XAc3Uh3UDMp2Z7M1o4+X98dXkmI=
+github.com/go-fonts/stix v0.1.0/go.mod h1:w/c1f0ldAUlJmLBvlbkvVXLAD+tAMqobIIQpmnUIzUY=
+github.com/go-fonts/stix v0.2.2/go.mod h1:SUxggC9dxd/Q+rb5PkJuvfvTbOPtNc2Qaua00fIp9iU=
github.com/go-git/gcfg v1.5.1-0.20230307220236-3a3c6141e376 h1:+zs/tPmkDkHx3U66DAb0lQFJrpS6731Oaa12ikc+DiI=
github.com/go-git/gcfg v1.5.1-0.20230307220236-3a3c6141e376/go.mod h1:an3vInlBmSxCcxctByoQdvwPiA7DTK7jaaFDBTtu0ic=
github.com/go-git/go-billy/v5 v5.6.1 h1:u+dcrgaguSSkbjzHwelEjc0Yj300NUevrrPphk/SoRA=
github.com/go-git/go-billy/v5 v5.6.1/go.mod h1:0AsLr1z2+Uksi4NlElmMblP5rPcDZNRCD8ujZCRR2BE=
github.com/go-git/go-git/v5 v5.13.1 h1:DAQ9APonnlvSWpvolXWIuV6Q6zXy2wHbN4cVlNR5Q+M=
github.com/go-git/go-git/v5 v5.13.1/go.mod h1:qryJB4cSBoq3FRoBRf5A77joojuBcmPJ0qu3XXXVixc=
+github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU=
+github.com/go-gl/glfw/v3.3/glfw v0.0.0-20191125211704-12ad95a8df72/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8=
+github.com/go-gl/glfw/v3.3/glfw v0.0.0-20200222043503-6f7a984d4dc4/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8=
+github.com/go-gl/glfw/v3.3/glfw v0.0.0-20231223183121-56fa3ac82ce7/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8=
github.com/go-gorp/gorp/v3 v3.1.0 h1:ItKF/Vbuj31dmV4jxA1qblpSwkl9g1typ24xoe70IGs=
github.com/go-gorp/gorp/v3 v3.1.0/go.mod h1:dLEjIyyRNiXvNZ8PSmzpt1GsWAUK8kjVhEpjH8TixEw=
-github.com/go-jose/go-jose/v4 v4.0.5 h1:M6T8+mKZl/+fNNuFHvGIzDz7BTLQPIounk/b9dw3AaE=
-github.com/go-jose/go-jose/v4 v4.0.5/go.mod h1:s3P1lRrkT8igV8D9OjyL4WRyHvjB6a4JSllnOrmmBOA=
+github.com/go-jose/go-jose/v4 v4.0.4/go.mod h1:NKb5HO1EZccyMpiZNbdUw/14tiXNyUJh188dfnMCAfc=
+github.com/go-jose/go-jose/v4 v4.1.1 h1:JYhSgy4mXXzAdF3nUx3ygx347LRXJRrpgyU3adRmkAI=
+github.com/go-jose/go-jose/v4 v4.1.1/go.mod h1:BdsZGqgdO3b6tTc6LSE56wcDbMMLuPsw5d4ZD5f94kA=
github.com/go-kit/kit v0.8.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as=
+github.com/go-kit/kit v0.9.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as=
+github.com/go-kit/kit v0.10.0/go.mod h1:xUsJbQ/Fp4kEt7AFgCuvyX4a71u8h9jB8tj/ORgOZ7o=
+github.com/go-latex/latex v0.0.0-20210118124228-b3d85cf34e07/go.mod h1:CO1AlKB2CSIqUrmQPqA0gdRIlnLEY0gK5JGjh37zN5U=
+github.com/go-latex/latex v0.0.0-20210823091927-c0d11ff05a81/go.mod h1:SX0U8uGpxhq9o2S/CELCSUxEWWAuoCUcVCQWv7G2OCk=
+github.com/go-latex/latex v0.0.0-20230307184459-12ec69307ad9/go.mod h1:gWuR/CrFDDeVRFQwHPvsv9soJVB/iqymhuZQuJ3a9OM=
+github.com/go-latex/latex v0.0.0-20231108140139-5c1ce85aa4ea/go.mod h1:Y7Vld91/HRbTBm7JwoI7HejdDB0u+e9AUBO9MB7yuZk=
github.com/go-logfmt/logfmt v0.3.0/go.mod h1:Qt1PoO58o5twSAckw1HlFXLmHsOX5/0LbT9GBnD5lWE=
github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V4qmtdjCk=
+github.com/go-logfmt/logfmt v0.5.0/go.mod h1:wCYkCAKZfumFQihp8CzCvQ3paCTfi41vtzG1KdI/P7A=
+github.com/go-logr/logr v0.4.0/go.mod h1:z6/tIYblkpsD+a4lm/fGIIU9mZ+XfAiaFtq7xTgseGU=
github.com/go-logr/logr v1.2.2/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A=
-github.com/go-logr/logr v1.4.2 h1:6pFjapn8bFcIbiKo3XT4j/BhANplGihG6tvd+8rYgrY=
github.com/go-logr/logr v1.4.2/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY=
+github.com/go-logr/logr v1.4.3 h1:CjnDlHq8ikf6E492q6eKboGOC0T8CDaOvkHCIg8idEI=
+github.com/go-logr/logr v1.4.3/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY=
github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag=
github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE=
github.com/go-logr/zapr v1.3.0 h1:XGdV8XW8zdwFiwOA2Dryh1gj2KRQyOOoNmBy4EplIcQ=
github.com/go-logr/zapr v1.3.0/go.mod h1:YKepepNBd1u/oyhd/yQmtjVXmm9uML4IXUgMOwR8/Gg=
+github.com/go-ole/go-ole v1.2.6/go.mod h1:pprOEPIfldk/42T2oK7lQ4v4JSDwmV0As9GaiUsvbm0=
github.com/go-openapi/analysis v0.23.0 h1:aGday7OWupfMs+LbmLZG4k0MYXIANxcuBTYUC03zFCU=
github.com/go-openapi/analysis v0.23.0/go.mod h1:9mz9ZWaSlV8TvjQHLl2mUW2PbZtemkE8yA5v22ohupo=
github.com/go-openapi/errors v0.22.1 h1:kslMRRnK7NCb/CvR1q1VWuEQCEIsBGn5GgKD9e+HYhU=
@@ -194,6 +1096,11 @@ github.com/go-openapi/swag v0.23.1 h1:lpsStH0n2ittzTnbaSloVZLuB5+fvSY/+hnagBjSNZ
github.com/go-openapi/swag v0.23.1/go.mod h1:STZs8TbRvEQQKUA+JZNAm3EWlgaOBGpyFDqQnDHMef0=
github.com/go-openapi/validate v0.24.0 h1:LdfDKwNbpB6Vn40xhTdNZAnfLECL81w+VX3BumrGD58=
github.com/go-openapi/validate v0.24.0/go.mod h1:iyeX1sEufmv3nPbBdX3ieNviWnOZaJ1+zquzJEf2BAQ=
+github.com/go-pdf/fpdf v0.5.0/go.mod h1:HzcnA+A23uwogo0tp9yU+l3V+KXhiESpt1PMayhOh5M=
+github.com/go-pdf/fpdf v0.6.0/go.mod h1:HzcnA+A23uwogo0tp9yU+l3V+KXhiESpt1PMayhOh5M=
+github.com/go-pdf/fpdf v0.8.0/go.mod h1:gfqhcNwXrsd3XYKte9a7vM3smvU/jB4ZRDrmWSxpfdc=
+github.com/go-pdf/fpdf v0.9.0/go.mod h1:oO8N111TkmKb9D7VvWGLvLJlaZUQVPM+6V42pp3iV4Y=
+github.com/go-sql-driver/mysql v1.4.0/go.mod h1:zAC/RDZ24gD3HViQzih4MyKcchzm+sOG5ZlKdlhCg5w=
github.com/go-sql-driver/mysql v1.8.1/go.mod h1:wEBSXgmK//2ZFJyE+qWnIsVGmvmEKlqwuVSjsCm7DZg=
github.com/go-sql-driver/mysql v1.9.1 h1:FrjNGn/BsJQjVRuSa8CBrM5BWA9BWoXXat3KrtSb/iI=
github.com/go-sql-driver/mysql v1.9.1/go.mod h1:qn46aNg1333BRMNU69Lq93t8du/dwxI64Gl8i5p1WMU=
@@ -202,44 +1109,88 @@ github.com/go-task/slim-sprig/v3 v3.0.0 h1:sUs3vkvUymDpBKi3qH1YSqBQk9+9D/8M2mN1v
github.com/go-task/slim-sprig/v3 v3.0.0/go.mod h1:W848ghGpv3Qj3dhTPRyJypKRiqCdHZiAzKg9hl15HA8=
github.com/go-test/deep v1.1.1 h1:0r/53hagsehfO4bzD2Pgr/+RgHqhmf+k1Bpse2cTu1U=
github.com/go-test/deep v1.1.1/go.mod h1:5C2ZWiW0ErCdrYzpqxLbTX7MG14M9iiw8DgHncVwcsE=
+github.com/go-text/typesetting v0.0.0-20230803102845-24e03d8b5372/go.mod h1:evDBbvNR/KaVFZ2ZlDSOWWXIUKq0wCOEtzLxRM8SG3k=
+github.com/go-text/typesetting-utils v0.0.0-20230616150549-2a7df14b6a22/go.mod h1:DDxDdQEnB70R8owOx3LVpEFvpMK9eeH1o2r0yZhFI9o=
github.com/gobwas/glob v0.2.3 h1:A4xDbljILXROh+kObIiy5kIaPYD8e96x1tgBhUI5J+Y=
github.com/gobwas/glob v0.2.3/go.mod h1:d3Ez4x06l9bZtSvzIay5+Yzi0fmZzPgnTbPcKjJAkT8=
+github.com/goccmack/gocc v0.0.0-20230228185258-2292f9e40198/go.mod h1:DTh/Y2+NbnOVVoypCCQrovMPDKUGp4yZpSbWg5D0XIM=
+github.com/goccy/go-json v0.9.11/go.mod h1:6MelG93GURQebXPDq3khkgXZkazVtN9CRI+MGFi0w8I=
+github.com/godbus/dbus/v5 v5.0.3/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA=
+github.com/godbus/dbus/v5 v5.0.6/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA=
github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ=
+github.com/gogo/protobuf v1.2.0/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ=
+github.com/gogo/protobuf v1.2.1/go.mod h1:hp+jE20tsWTFYpLwKvXlhS1hjn+gTNwPg2I6zVXpSg4=
github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q=
github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q=
github.com/golang-migrate/migrate/v4 v4.18.2 h1:2VSCMz7x7mjyTXx3m2zPokOY82LTRgxK1yQYKo6wWQ8=
github.com/golang-migrate/migrate/v4 v4.18.2/go.mod h1:2CM6tJvn2kqPXwnXO/d3rAQYiyoIm180VsO8PRX6Rpk=
+github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0/go.mod h1:E/TSTwGwJL78qG/PmXZO1EjYhfJinVAhrmmHX6Z8B9k=
github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q=
+github.com/golang/glog v1.0.0/go.mod h1:EWib/APOK0SL3dFbYqvxE3UYd8E6s1ouQ7iEp/0LWV4=
+github.com/golang/glog v1.1.0/go.mod h1:pfYeQZ3JWZoXTV5sFc986z3HTpwQs9At6P4ImfuP3NQ=
+github.com/golang/glog v1.2.5/go.mod h1:6AhwSGph0fcJtXVM/PEHPqZlFeoLxhs7/t5UDAwmO+w=
+github.com/golang/groupcache v0.0.0-20160516000752-02826c3e7903/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc=
+github.com/golang/groupcache v0.0.0-20190702054246-869f871628b6/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc=
+github.com/golang/groupcache v0.0.0-20191227052852-215e87163ea7/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc=
github.com/golang/groupcache v0.0.0-20200121045136-8c9f03a8e57e/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc=
+github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc=
github.com/golang/groupcache v0.0.0-20241129210726-2c02b8208cf8 h1:f+oWsMOmNPc8JmEHVZIycC7hBoQxHH9pNKQORJNozsQ=
github.com/golang/groupcache v0.0.0-20241129210726-2c02b8208cf8/go.mod h1:wcDNUvekVysuuOpQKo3191zZyTpiI6se1N1ULghS0sw=
-github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A=
+github.com/golang/mock v1.2.0/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A=
+github.com/golang/mock v1.3.1/go.mod h1:sBzyDLLjw3U8JLTeZvSv8jJB+tU5PVekmnlKIyFUx0Y=
+github.com/golang/mock v1.4.0/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw=
+github.com/golang/mock v1.4.1/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw=
+github.com/golang/mock v1.4.3/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw=
+github.com/golang/mock v1.4.4/go.mod h1:l3mdAwkq5BuhzHwde/uurv3sEJeZMXNpwsxVWU71h+4=
+github.com/golang/mock v1.5.0/go.mod h1:CWnOUgYIOo4TcNZ0wHX3YZCqsaM1I1Jvs6v3mP3KVu8=
github.com/golang/mock v1.6.0 h1:ErTB+efbowRARo13NNdxyJji2egdxLGQhRaY+DUumQc=
github.com/golang/mock v1.6.0/go.mod h1:p6yTPP+5HYm5mzsMV8JkE6ZKdX+/wYM6Hr+LicevLPs=
github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
+github.com/golang/protobuf v1.3.3/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw=
+github.com/golang/protobuf v1.3.4/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw=
+github.com/golang/protobuf v1.3.5/go.mod h1:6O5/vntMXwX2lRkT1hjjk0nAC1IDOTvTlVgjlRvqsdk=
github.com/golang/protobuf v1.4.0-rc.1/go.mod h1:ceaxUfeHdC40wWswd/P6IGgMaK3YpKi5j83Wpe3EHw8=
github.com/golang/protobuf v1.4.0-rc.1.0.20200221234624-67d41d38c208/go.mod h1:xKAWHe0F5eneWXFV3EuXVDTCmh+JuBKY0li0aMyXATA=
github.com/golang/protobuf v1.4.0-rc.2/go.mod h1:LlEzMj4AhA7rCAGe4KMBDvJI+AwstrUpVNzEA03Pprs=
github.com/golang/protobuf v1.4.0-rc.4.0.20200313231945-b860323f09d0/go.mod h1:WU3c8KckQ9AFe+yFwt9sWVRKCVIyN9cPHBJSNnbL67w=
github.com/golang/protobuf v1.4.0/go.mod h1:jodUvKwWbYaEsadDk5Fwe5c77LiNKVO9IDvqG2KuDX0=
github.com/golang/protobuf v1.4.1/go.mod h1:U8fpvMrcmy5pZrNK1lt4xCsGvpyWQ/VVv6QDs8UjoX8=
+github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI=
github.com/golang/protobuf v1.4.3/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI=
+github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk=
+github.com/golang/protobuf v1.5.1/go.mod h1:DopwsBzvsk0Fs44TXzsVbJyPhcCPeIwnvohx4u74HPM=
+github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY=
+github.com/golang/protobuf v1.5.3/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY=
github.com/golang/protobuf v1.5.4 h1:i7eJL8qZTpSEXOPTxNKhASYpMn+8e5Q6AdndVa1dWek=
github.com/golang/protobuf v1.5.4/go.mod h1:lnTiLA8Wa4RWRcIUkrtSVa5nRhsEGBg48fD6rSs7xps=
+github.com/golang/snappy v0.0.0-20180518054509-2e65f85255db/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q=
+github.com/golang/snappy v0.0.3/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q=
+github.com/golang/snappy v0.0.4/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q=
+github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ=
+github.com/google/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ=
github.com/google/btree v1.1.3 h1:CVpQJjYgC4VbzxeGVHfvZrv1ctoYCAI8vbl07Fcxlyg=
github.com/google/btree v1.1.3/go.mod h1:qOPhT0dTNdNzV6Z/lhRX0YXUafgPLFUh+gZMl761Gm4=
github.com/google/cel-go v0.22.1 h1:AfVXx3chM2qwoSbM7Da8g8hX8OVSkBFwX+rz2+PcK40=
github.com/google/cel-go v0.22.1/go.mod h1:BuznPXXfQDpXKWQ9sPW3TzlAJN5zzFe+i9tIs0yC4s8=
+github.com/google/flatbuffers v2.0.8+incompatible/go.mod h1:1AeVuKshWv4vARoZatz6mlQ0JxURH0Kv5+zNeJKJCa8=
github.com/google/gnostic-models v0.6.9 h1:MU/8wDLif2qCXZmzncUQ/BOfxWfthHi63KqpoNbWqVw=
github.com/google/gnostic-models v0.6.9/go.mod h1:CiWsm0s6BSQd1hRn8/QmxqB6BesYcbSZxsz9b0KuDBw=
github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M=
github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU=
github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU=
github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
+github.com/google/go-cmp v0.4.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
github.com/google/go-cmp v0.5.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
+github.com/google/go-cmp v0.5.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
+github.com/google/go-cmp v0.5.2/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
github.com/google/go-cmp v0.5.3/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
+github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
+github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
+github.com/google/go-cmp v0.5.6/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
+github.com/google/go-cmp v0.5.7/go.mod h1:n+brtR0CgQNWTVd5ZUFpTBC8YFBDLK/h/bpaJ8/DtOE=
+github.com/google/go-cmp v0.5.8/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
github.com/google/go-cmp v0.7.0 h1:wk8382ETsv4JYUZwIsn6YpYiWiBsYLSJiTsyBybVuN8=
@@ -249,70 +1200,177 @@ github.com/google/go-containerregistry v0.20.3/go.mod h1:w00pIgBRDVUDFM6bq+Qx8lw
github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg=
github.com/google/gofuzz v1.2.0 h1:xRy4A+RhZaiKjJ1bPfwQ8sedCA+YS2YcCHW6ec7JMi0=
github.com/google/gofuzz v1.2.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg=
+github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs=
+github.com/google/martian/v3 v3.0.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0=
+github.com/google/martian/v3 v3.1.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0=
+github.com/google/martian/v3 v3.2.1/go.mod h1:oBOf6HBosgwRXnUGWUB05QECsc6uvmMiJ3+6W4l/CUk=
+github.com/google/martian/v3 v3.3.2/go.mod h1:oBOf6HBosgwRXnUGWUB05QECsc6uvmMiJ3+6W4l/CUk=
+github.com/google/pprof v0.0.0-20181206194817-3ea8567a2e57/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc=
+github.com/google/pprof v0.0.0-20190515194954-54271f7e092f/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc=
+github.com/google/pprof v0.0.0-20191218002539-d4f498aebedc/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM=
+github.com/google/pprof v0.0.0-20200212024743-f11f1df84d12/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM=
+github.com/google/pprof v0.0.0-20200229191704-1ebb73c60ed3/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM=
+github.com/google/pprof v0.0.0-20200430221834-fc25d7d30c6d/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM=
+github.com/google/pprof v0.0.0-20200708004538-1a94d8640e99/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM=
+github.com/google/pprof v0.0.0-20201023163331-3e6fc7fc9c4c/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE=
+github.com/google/pprof v0.0.0-20201203190320-1bf35d6f28c2/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE=
+github.com/google/pprof v0.0.0-20201218002935-b9804c9f04c2/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE=
+github.com/google/pprof v0.0.0-20210122040257-d980be63207e/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE=
+github.com/google/pprof v0.0.0-20210226084205-cbba55b83ad5/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE=
+github.com/google/pprof v0.0.0-20210601050228-01bbb1931b22/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE=
+github.com/google/pprof v0.0.0-20210609004039-a478d1d731e9/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE=
+github.com/google/pprof v0.0.0-20210720184732-4bb14d4b1be1/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE=
github.com/google/pprof v0.0.0-20241210010833-40e02aabc2ad h1:a6HEuzUHeKH6hwfN/ZoQgRgVIWFJljSWa/zetS2WTvg=
github.com/google/pprof v0.0.0-20241210010833-40e02aabc2ad/go.mod h1:vavhavw2zAxS5dIdcRluK6cSGGPlZynqzFM8NdvU144=
+github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI=
+github.com/google/s2a-go v0.1.0/go.mod h1:OJpEgntRZo8ugHpF9hkoLJbS5dSI20XZeXJ9JVywLlM=
+github.com/google/s2a-go v0.1.3/go.mod h1:Ej+mSEMGRnqRzjc7VtF+jdBwYG5fuJfiZ8ELkjEwM0A=
+github.com/google/s2a-go v0.1.4/go.mod h1:Ej+mSEMGRnqRzjc7VtF+jdBwYG5fuJfiZ8ELkjEwM0A=
github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510 h1:El6M4kTTCOh6aBiKaUGG7oYTSPP8MxqL4YI3kZKwcP4=
github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510/go.mod h1:pupxD2MaaD3pAXIBCelhxNneeOaAeabZDe5s4K6zSpQ=
+github.com/google/uuid v1.0.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
+github.com/google/uuid v1.3.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0=
github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
+github.com/googleapis/enterprise-certificate-proxy v0.0.0-20220520183353-fd19c99a87aa/go.mod h1:17drOmN3MwGY7t0e+Ei9b45FFGA3fBs3x36SsCg1hq8=
+github.com/googleapis/enterprise-certificate-proxy v0.1.0/go.mod h1:17drOmN3MwGY7t0e+Ei9b45FFGA3fBs3x36SsCg1hq8=
+github.com/googleapis/enterprise-certificate-proxy v0.2.0/go.mod h1:8C0jb7/mgJe/9KK8Lm7X9ctZC2t60YyIpYEI16jx0Qg=
+github.com/googleapis/enterprise-certificate-proxy v0.2.1/go.mod h1:AwSRAtLfXpU5Nm3pW+v7rGDHp09LsPtGY9MduiEsR9k=
+github.com/googleapis/enterprise-certificate-proxy v0.2.3/go.mod h1:AwSRAtLfXpU5Nm3pW+v7rGDHp09LsPtGY9MduiEsR9k=
+github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg=
+github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk=
+github.com/googleapis/gax-go/v2 v2.1.0/go.mod h1:Q3nei7sK6ybPYH7twZdmQpAd1MKb7pfu6SK+H1/DsU0=
+github.com/googleapis/gax-go/v2 v2.1.1/go.mod h1:hddJymUZASv3XPyGkUpKj8pPO47Rmb0eJc8R6ouapiM=
+github.com/googleapis/gax-go/v2 v2.2.0/go.mod h1:as02EH8zWkzwUoLbBaFeQ+arQaj/OthfcblKl4IGNaM=
+github.com/googleapis/gax-go/v2 v2.3.0/go.mod h1:b8LNqSzNabLiUpXKkY7HAR5jr6bIT99EXz9pXxye9YM=
+github.com/googleapis/gax-go/v2 v2.4.0/go.mod h1:XOTVJ59hdnfJLIP/dh8n5CGryZR2LxK9wbMD5+iXC6c=
+github.com/googleapis/gax-go/v2 v2.5.1/go.mod h1:h6B0KMMFNtI2ddbGJn3T3ZbwkeT6yqEF02fYlzkUCyo=
+github.com/googleapis/gax-go/v2 v2.6.0/go.mod h1:1mjbznJAPHFpesgE5ucqfYEscaz5kMdcIDwU/6+DDoY=
+github.com/googleapis/gax-go/v2 v2.7.0/go.mod h1:TEop28CZZQ2y+c0VxMUmu1lV+fQx57QpBWsYpwqHJx8=
+github.com/googleapis/gax-go/v2 v2.7.1/go.mod h1:4orTrqY6hXxxaUL4LHIPl6lGo8vAE38/qKbhSAKP6QI=
+github.com/googleapis/gax-go/v2 v2.8.0/go.mod h1:4orTrqY6hXxxaUL4LHIPl6lGo8vAE38/qKbhSAKP6QI=
+github.com/googleapis/gax-go/v2 v2.10.0/go.mod h1:4UOEnMCrxsSqQ940WnTiD6qJ63le2ev3xfyagutxiPw=
+github.com/googleapis/gax-go/v2 v2.11.0/go.mod h1:DxmR61SGKkGLa2xigwuZIQpkCI2S5iydzRfb3peWZJI=
+github.com/googleapis/go-type-adapters v1.0.0/go.mod h1:zHW75FOG2aur7gAO2B+MLby+cLsWGBF62rFAi7WjWO4=
+github.com/googleapis/google-cloud-go-testing v0.0.0-20200911160855-bcd43fbb19e8/go.mod h1:dvDLG8qkwmyD9a/MJJN3XJcT3xFxOKAvTZGvuZmac9g=
+github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY=
+github.com/gorilla/context v1.1.1/go.mod h1:kBGZzfjB9CEq2AlWe17Uuf7NDRt0dE0s8S51q0aT7Yg=
github.com/gorilla/handlers v1.5.2 h1:cLTUSsNkgcwhgRqvCNmdbRWG0A3N4F+M2nWKdScwyEE=
github.com/gorilla/handlers v1.5.2/go.mod h1:dX+xVpaxdSw+q0Qek8SSsl3dfMk3jNddUkMzo0GtH0w=
+github.com/gorilla/mux v1.6.2/go.mod h1:1lud6UwP+6orDFRuTfBEV8e9/aOM/c4fVVCaMa2zaAs=
+github.com/gorilla/mux v1.7.3/go.mod h1:1lud6UwP+6orDFRuTfBEV8e9/aOM/c4fVVCaMa2zaAs=
github.com/gorilla/mux v1.8.1 h1:TuBL49tXwgrFYWhqrNgrUNEY92u81SPhu7sTdzQEiWY=
github.com/gorilla/mux v1.8.1/go.mod h1:AKf9I4AEqPTmMytcMc0KkNouC66V3BtZ4qD5fmWSiMQ=
+github.com/gorilla/websocket v0.0.0-20170926233335-4201258b820c/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ=
github.com/gorilla/websocket v1.5.0 h1:PPwGk2jz7EePpoHN/+ClbZu8SPxiqlu12wZP/3sWmnc=
github.com/gorilla/websocket v1.5.0/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE=
github.com/gosuri/uitable v0.0.4 h1:IG2xLKRvErL3uhY6e1BylFzG+aJiwQviDDTfOKeKTpY=
github.com/gosuri/uitable v0.0.4/go.mod h1:tKR86bXuXPZazfOTG1FIzvjIdXzd0mo4Vtn16vt0PJo=
github.com/gregjones/httpcache v0.0.0-20190611155906-901d90724c79 h1:+ngKgrYPPJrOjhax5N+uePQ0Fh1Z7PheYoUI/0nzkPA=
github.com/gregjones/httpcache v0.0.0-20190611155906-901d90724c79/go.mod h1:FecbI9+v66THATjSRHfNgh1IVFe/9kFxbXtjV0ctIMA=
+github.com/grpc-ecosystem/go-grpc-middleware v1.0.1-0.20190118093823-f849b5445de4/go.mod h1:FiyG127CGDf3tlThmgyCl78X/SZQqEOJBCDaAfeWzPs=
+github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0/go.mod h1:8NvIoxWQoOIhqOTXgfV/d3M/q6VIi02HzZEHgUlZvzk=
github.com/grpc-ecosystem/go-grpc-prometheus v1.2.1-0.20210315223345-82c243799c99 h1:JYghRBlGCZyCF2wNUJ8W0cwaQdtpcssJ4CgC406g+WU=
github.com/grpc-ecosystem/go-grpc-prometheus v1.2.1-0.20210315223345-82c243799c99/go.mod h1:3bDW6wMZJB7tiONtC/1Xpicra6Wp5GgbTbQWCbI5fkc=
+github.com/grpc-ecosystem/grpc-gateway v1.9.5/go.mod h1:vNeuVxBJEsws4ogUvrchl83t/GYV9WGTSLVdBhOQFDY=
+github.com/grpc-ecosystem/grpc-gateway v1.16.0/go.mod h1:BDjrQk3hbvj6Nolgz8mAMFbcEtjT1g+wF4CSlocrBnw=
+github.com/grpc-ecosystem/grpc-gateway/v2 v2.7.0/go.mod h1:hgWBS7lorOAVIJEQMi4ZsPv9hVvWI6+ch50m39Pf2Ks=
+github.com/grpc-ecosystem/grpc-gateway/v2 v2.11.3/go.mod h1:o//XUCC/F+yRGJoPO/VU0GSB0f8Nhgmxx0VIRUvaC0w=
+github.com/grpc-ecosystem/grpc-gateway/v2 v2.16.0/go.mod h1:YN5jB8ie0yfIUg6VvR9Kz84aCaG7AsGZnLjhHbUqwPg=
github.com/grpc-ecosystem/grpc-gateway/v2 v2.25.1 h1:VNqngBF40hVlDloBruUehVYC3ArSgIyScOAyMRqBxRg=
github.com/grpc-ecosystem/grpc-gateway/v2 v2.25.1/go.mod h1:RBRO7fro65R6tjKzYgLAFo0t1QEXY1Dp+i/bvpRiqiQ=
github.com/h2non/filetype v1.1.3 h1:FKkx9QbD7HR/zjK1Ia5XiBsq9zdLi5Kf3zGyFTAFkGg=
github.com/h2non/filetype v1.1.3/go.mod h1:319b3zT68BvV+WRj7cwy856M2ehB3HqNOt6sy1HndBY=
github.com/h2non/go-is-svg v0.0.0-20160927212452-35e8c4b0612c h1:fEE5/5VNnYUoBOj2I9TP8Jc+a7lge3QWn9DKE7NCwfc=
github.com/h2non/go-is-svg v0.0.0-20160927212452-35e8c4b0612c/go.mod h1:ObS/W+h8RYb1Y7fYivughjxojTmIu5iAIjSrSLCLeqE=
+github.com/hashicorp/consul/api v1.3.0/go.mod h1:MmDNSzIMUjNpY/mQ398R4bk2FnqQLoPndWW5VkKPlCE=
+github.com/hashicorp/consul/sdk v0.3.0/go.mod h1:VKf9jXwCTEY1QZP2MOLRhb5i/I/ssyNV1vwHyQBF0x8=
github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4=
github.com/hashicorp/errwrap v1.1.0 h1:OxrOeh75EUXMY8TBjag2fzXGZ40LB6IKw45YeGUDY2I=
github.com/hashicorp/errwrap v1.1.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4=
+github.com/hashicorp/go-cleanhttp v0.5.1/go.mod h1:JpRdi6/HCYpAwUzNwuwqhbovhLtngrth3wmdIIUrZ80=
+github.com/hashicorp/go-immutable-radix v1.0.0/go.mod h1:0y9vanUI8NX6FsYoO3zeMjhV/C5i9g4Q3DwcSNZ4P60=
+github.com/hashicorp/go-msgpack v0.5.3/go.mod h1:ahLV/dePpqEmjfWmKiqvPkv/twdG7iPBM1vqhUKIvfM=
+github.com/hashicorp/go-multierror v1.0.0/go.mod h1:dHtQlpGsu+cZNNAkkCN/P3hoUDHhCYQXV3UM06sGGrk=
github.com/hashicorp/go-multierror v1.1.1 h1:H5DkEtf6CXdFp0N0Em5UCwQpXMWke8IA0+lD48awMYo=
github.com/hashicorp/go-multierror v1.1.1/go.mod h1:iw975J/qwKPdAO1clOe2L8331t/9/fmwbPZ6JB6eMoM=
+github.com/hashicorp/go-rootcerts v1.0.0/go.mod h1:K6zTfqpRlCUIjkwsN4Z+hiSfzSTQa6eBIzfwKfwNnHU=
+github.com/hashicorp/go-sockaddr v1.0.0/go.mod h1:7Xibr9yA9JjQq1JpNB2Vw7kxv8xerXegt+ozgdvDeDU=
+github.com/hashicorp/go-syslog v1.0.0/go.mod h1:qPfqrKkXGihmCqbJM2mZgkZGvKG1dFdvsLplgctolz4=
+github.com/hashicorp/go-uuid v1.0.0/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro=
+github.com/hashicorp/go-uuid v1.0.1/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro=
+github.com/hashicorp/go-version v1.2.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA=
+github.com/hashicorp/go.net v0.0.1/go.mod h1:hjKkEWcCURg++eb33jQU7oqQcI9XDCnUzHA0oac0k90=
+github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8=
+github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8=
github.com/hashicorp/golang-lru v1.0.2 h1:dV3g9Z/unq5DpblPpw+Oqcv4dU/1omnb4Ok8iPY6p1c=
github.com/hashicorp/golang-lru/arc/v2 v2.0.5 h1:l2zaLDubNhW4XO3LnliVj0GXO3+/CGNJAg1dcN2Fpfw=
github.com/hashicorp/golang-lru/arc/v2 v2.0.5/go.mod h1:ny6zBSQZi2JxIeYcv7kt2sH2PXJtirBN7RDhRpxPkxU=
github.com/hashicorp/golang-lru/v2 v2.0.5 h1:wW7h1TG88eUIJ2i69gaE3uNVtEPIagzhGvHgwfx2Vm4=
github.com/hashicorp/golang-lru/v2 v2.0.5/go.mod h1:QeFd9opnmA6QUJc5vARoKUSoFhyfM2/ZepoAG6RGpeM=
+github.com/hashicorp/logutils v1.0.0/go.mod h1:QIAnNjmIWmVIIkWDTG1z5v++HQmx9WQRO+LraFDTW64=
+github.com/hashicorp/mdns v1.0.0/go.mod h1:tL+uN++7HEJ6SQLQ2/p+z2pH24WQKWjBPkE0mNTz8vQ=
+github.com/hashicorp/memberlist v0.1.3/go.mod h1:ajVTdAv/9Im8oMAAj5G31PhhMCZJV2pPBoIllUwCN7I=
+github.com/hashicorp/serf v0.8.2/go.mod h1:6hOLApaqBFA1NXqRQAsxw9QxuDEvNxSQRwA/JwenrHc=
+github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU=
github.com/huandu/xstrings v1.5.0 h1:2ag3IFq9ZDANvthTwTiqSSZLjDc+BedvHPAp5tJy2TI=
github.com/huandu/xstrings v1.5.0/go.mod h1:y5/lhBue+AyNmUVz9RLU9xbLR0o4KIIExikq4ovT0aE=
+github.com/hudl/fargo v1.3.0/go.mod h1:y3CKSmjA+wD2gak7sUSXTAoopbhU08POFhmITJgmKTg=
+github.com/iancoleman/strcase v0.2.0/go.mod h1:iwCmte+B7n89clKwxIoIXy/HfoL7AsD47ZCWhYzw7ho=
+github.com/iancoleman/strcase v0.3.0/go.mod h1:iwCmte+B7n89clKwxIoIXy/HfoL7AsD47ZCWhYzw7ho=
+github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc=
+github.com/ianlancetaylor/demangle v0.0.0-20200824232613-28f6c0f3b639/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc=
+github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8=
github.com/inconshreveable/mousetrap v1.1.0 h1:wN+x4NVGpMsO7ErUn/mUI3vEoE6Jt13X2s0bqwp9tc8=
github.com/inconshreveable/mousetrap v1.1.0/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw=
+github.com/influxdata/influxdb1-client v0.0.0-20191209144304-8bf82d3c094d/go.mod h1:qj24IKcXYK6Iy9ceXlo3Tc+vtHo9lIhSX5JddghvEPo=
github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99 h1:BQSFePA1RWJOlocH6Fxy8MmwDt+yVQYULKfN0RoTN8A=
github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99/go.mod h1:1lJo3i6rXxKeerYnT8Nvf0QmHCRC1n8sfWVwXF2Frvo=
+github.com/jezek/xgb v1.0.0/go.mod h1:nrhwO0FX/enq75I7Y7G8iN1ubpSGZEiA3v9e9GyRFlk=
+github.com/jezek/xgb v1.1.1/go.mod h1:nrhwO0FX/enq75I7Y7G8iN1ubpSGZEiA3v9e9GyRFlk=
+github.com/jmespath/go-jmespath v0.0.0-20180206201540-c2b33e8439af/go.mod h1:Nht3zPeWKUH0NzdCt2Blrr5ys8VGpn0CEB0cQHVjt7k=
github.com/jmhodges/clock v1.2.0 h1:eq4kys+NI0PLngzaHEe7AmPT90XMGIEySD1JfV1PDIs=
github.com/jmhodges/clock v1.2.0/go.mod h1:qKjhA7x7u/lQpPB1XAqX1b1lCI/w3/fNuYpI/ZjLynI=
github.com/jmoiron/sqlx v1.4.0 h1:1PLqN7S1UYp5t4SrVVnt4nUVNemrDAtxlulVe+Qgm3o=
github.com/jmoiron/sqlx v1.4.0/go.mod h1:ZrZ7UsYB/weZdl2Bxg6jCRO9c3YHl8r3ahlKmRT4JLY=
github.com/joelanford/ignore v0.1.1 h1:vKky5RDoPT+WbONrbQBgOn95VV/UPh4ejlyAbbzgnQk=
github.com/joelanford/ignore v0.1.1/go.mod h1:8eho/D8fwQ3rIXrLwE23AaeaGDNXqLE9QJ3zJ4LIPCw=
+github.com/jonboulle/clockwork v0.1.0/go.mod h1:Ii8DK3G1RaLaWxj9trq07+26W01tbo22gdxWY5EU2bo=
github.com/josharian/intern v1.0.0 h1:vlS4z54oSdjm0bgjRigI+G1HpF+tI+9rE5LLzOg8HmY=
github.com/josharian/intern v1.0.0/go.mod h1:5DoeVV0s6jJacbCEi61lwdGj/aVlrQvzHFFd8Hwg//Y=
github.com/json-iterator/go v1.1.6/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU=
github.com/json-iterator/go v1.1.7/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4=
+github.com/json-iterator/go v1.1.8/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4=
github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM=
github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo=
+github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU=
+github.com/jstemmer/go-junit-report v0.9.1/go.mod h1:Brl9GWCQeLvo8nXZwPNNblvFj/XSXhF0NWZEnDohbsk=
+github.com/jtolds/gls v4.20.0+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfVYBRgL+9YlvaHOwJU=
github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w=
+github.com/jung-kurt/gofpdf v1.0.0/go.mod h1:7Id9E/uU8ce6rXgefFLlgrJj/GYY22cpxn+r32jIOes=
+github.com/jung-kurt/gofpdf v1.0.3-0.20190309125859-24315acbbda5/go.mod h1:7Id9E/uU8ce6rXgefFLlgrJj/GYY22cpxn+r32jIOes=
+github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51/go.mod h1:CzGEWj7cYgsdH8dAjBGEr58BoE7ScuLd+fwFZ44+/x8=
+github.com/kisielk/errcheck v1.1.0/go.mod h1:EZBBE59ingxPouuu3KfxchcWSUPOHkagtvWXihfKN4Q=
github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8=
github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck=
+github.com/klauspost/asmfmt v1.3.2/go.mod h1:AG8TuvYojzulgDAMCnYn50l/5QV3Bs/tp6j0HLHbNSE=
+github.com/klauspost/compress v1.15.9/go.mod h1:PhcZ0MbTNciWF3rruxRgKxI5NkcHHrHUDtV4Yw2GlzU=
github.com/klauspost/compress v1.18.0 h1:c/Cqfb0r+Yi+JtIEq73FWXVkRonBlf0CRNYc8Zttxdo=
github.com/klauspost/compress v1.18.0/go.mod h1:2Pp+KzxcywXVXMr50+X0Q/Lsb43OQHYWRCY2AiWywWQ=
+github.com/klauspost/cpuid/v2 v2.0.9/go.mod h1:FInQzS24/EEf25PyTYn52gqo7WaD8xa0213Md/qVLRg=
github.com/klauspost/pgzip v1.2.6 h1:8RXeL5crjEUFnR2/Sn6GJNWtSQ3Dk8pq4CL3jvdDyjU=
github.com/klauspost/pgzip v1.2.6/go.mod h1:Ch1tH69qFZu15pkjo5kYi6mth2Zzwzt50oCQKQE9RUs=
github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ=
+github.com/kr/fs v0.1.0/go.mod h1:FFnZGqtBN9Gxj7eW1uZ42v5BccTP0vu6NEaFoC2HwRg=
github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc=
+github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo=
+github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI=
+github.com/kr/pretty v0.3.0/go.mod h1:640gp4NfQd8pI5XOwp5fnNeVWj67G7CFk/SaSQn7NBk=
github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE=
github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk=
+github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
+github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY=
github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE=
github.com/kylelemons/godebug v1.1.0 h1:RPNrshWIDI6G2gRW9EHilWtl7Z6Sb1BR0xunSBf0SNc=
@@ -327,29 +1385,54 @@ github.com/lib/pq v1.10.9 h1:YXG7RB+JIjhP29X+OtkiDnYaXQwpS4JEWq7dtCCRUEw=
github.com/lib/pq v1.10.9/go.mod h1:AlVN5x4E4T544tWzH6hKfbfQvm3HdbOxrmggDNAPY9o=
github.com/liggitt/tabwriter v0.0.0-20181228230101-89fcab3d43de h1:9TO3cAIGXtEhnIaL+V+BEER86oLrvS+kWobKpbJuye0=
github.com/liggitt/tabwriter v0.0.0-20181228230101-89fcab3d43de/go.mod h1:zAbeS9B/r2mtpb6U+EI2rYA5OAXxsYw6wTamcNW+zcE=
+github.com/lightstep/lightstep-tracer-common/golang/gogo v0.0.0-20190605223551-bc2310a04743/go.mod h1:qklhhLq1aX+mtWk9cPHPzaBjWImj5ULL6C7HFJtXQMM=
+github.com/lightstep/lightstep-tracer-go v0.18.1/go.mod h1:jlF1pusYV4pidLvZ+XD0UBX0ZE6WURAspgAczcDHrL4=
+github.com/lyft/protoc-gen-star v0.6.0/go.mod h1:TGAoBVkt8w7MPG72TrKIu85MIdXwDuzJYeZuUPFPNwA=
+github.com/lyft/protoc-gen-star v0.6.1/go.mod h1:TGAoBVkt8w7MPG72TrKIu85MIdXwDuzJYeZuUPFPNwA=
+github.com/lyft/protoc-gen-star/v2 v2.0.1/go.mod h1:RcCdONR2ScXaYnQC5tUzxzlpA3WVYF7/opLeUgcQs/o=
+github.com/lyft/protoc-gen-star/v2 v2.0.3/go.mod h1:amey7yeodaJhXSbf/TlLvWiqQfLOSpEk//mLlc+axEk=
+github.com/lyft/protoc-gen-star/v2 v2.0.4-0.20230330145011-496ad1ac90a4/go.mod h1:amey7yeodaJhXSbf/TlLvWiqQfLOSpEk//mLlc+axEk=
github.com/mailru/easyjson v0.9.0 h1:PrnmzHw7262yW8sTBwxi1PdJA3Iw/EKBa8psRf7d9a4=
github.com/mailru/easyjson v0.9.0/go.mod h1:1+xMtQp2MRNVL/V1bOzuP3aP8VNwRW55fQUto+XFtTU=
+github.com/mattn/go-colorable v0.0.9/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU=
github.com/mattn/go-colorable v0.1.13 h1:fFA4WZxdEF4tXPZVKMLwD8oUnCTTo08duU7wxecdEvA=
github.com/mattn/go-colorable v0.1.13/go.mod h1:7S9/ev0klgBDR4GtXTXX8a3vIGJpMovkB8vQcUbaXHg=
+github.com/mattn/go-isatty v0.0.3/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4=
+github.com/mattn/go-isatty v0.0.4/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4=
+github.com/mattn/go-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU=
github.com/mattn/go-isatty v0.0.16/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM=
+github.com/mattn/go-isatty v0.0.17/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM=
github.com/mattn/go-isatty v0.0.20 h1:xfD0iDuEKnDkl03q4limB+vH+GxLEtL/jb4xVJSWWEY=
github.com/mattn/go-isatty v0.0.20/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y=
+github.com/mattn/go-runewidth v0.0.2/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU=
github.com/mattn/go-runewidth v0.0.16 h1:E5ScNMtiwvlvB5paMFdw9p4kSQzbXFikJ5SQO6TULQc=
github.com/mattn/go-runewidth v0.0.16/go.mod h1:Jdepj2loyihRzMpdS35Xk/zdY8IAYHsh153qUoGf23w=
+github.com/mattn/go-sqlite3 v1.14.14/go.mod h1:NyWgC/yNuGj7Q9rpYnZvas74GogHl5/Z4A/KQRfk6bU=
+github.com/mattn/go-sqlite3 v1.14.15/go.mod h1:2eHXhiwb8IkHr+BDWZGa96P6+rkvnG63S2DGjv9HUNg=
github.com/mattn/go-sqlite3 v1.14.22/go.mod h1:Uh1q+B4BYcTPb+yiD3kU8Ct7aC0hY9fxUwlHK0RXw+Y=
github.com/mattn/go-sqlite3 v1.14.27 h1:drZCnuvf37yPfs95E5jd9s3XhdVWLal+6BOK6qrv6IU=
github.com/mattn/go-sqlite3 v1.14.27/go.mod h1:Uh1q+B4BYcTPb+yiD3kU8Ct7aC0hY9fxUwlHK0RXw+Y=
github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0=
+github.com/miekg/dns v1.0.14/go.mod h1:W1PPwlIAgtquWBMBEV9nkV9Cazfe8ScdGz/Lj7v3Nrg=
github.com/miekg/dns v1.1.58 h1:ca2Hdkz+cDg/7eNF6V56jjzuZ4aCAE+DbVkILdQWG/4=
github.com/miekg/dns v1.1.58/go.mod h1:Ypv+3b/KadlvW9vJfXOTf300O4UqaHFzFCuHz+rPkBY=
github.com/miekg/pkcs11 v1.1.1 h1:Ugu9pdy6vAYku5DEpVWVFPYnzV+bxB+iRdbuFSu7TvU=
github.com/miekg/pkcs11 v1.1.1/go.mod h1:XsNlhZGX73bx86s2hdc/FuaLm2CPZJemRLMA+WTFxgs=
+github.com/minio/asm2plan9s v0.0.0-20200509001527-cdd76441f9d8/go.mod h1:mC1jAcsrzbxHt8iiaC+zU4b1ylILSosueou12R++wfY=
+github.com/minio/c2goasm v0.0.0-20190812172519-36a3d3bbc4f3/go.mod h1:RagcQ7I8IeTMnF8JTXieKnO4Z6JCsikNEzj0DwauVzE=
+github.com/mitchellh/cli v1.0.0/go.mod h1:hNIlj7HEI86fIcpObd7a0FcrxTWetlwJDGcceTlRvqc=
github.com/mitchellh/copystructure v1.2.0 h1:vpKXTN4ewci03Vljg/q9QvCGUDttBOGBIa15WveJJGw=
github.com/mitchellh/copystructure v1.2.0/go.mod h1:qLl+cE2AmVv+CoeAwDPye/v+N2HKCj9FbZEVFJRxO9s=
+github.com/mitchellh/go-homedir v1.0.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0=
github.com/mitchellh/go-homedir v1.1.0 h1:lukF9ziXFxDFPkA1vsr5zpc1XuPDn/wFntq5mG+4E0Y=
github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0=
+github.com/mitchellh/go-testing-interface v1.0.0/go.mod h1:kRemZodwjscx+RGhAo8eIhFbs2+BFgRtFPeD/KE+zxI=
github.com/mitchellh/go-wordwrap v1.0.1 h1:TLuKupo69TCn6TQSyGxwI1EblZZEsQ0vMlAFQflz0v0=
github.com/mitchellh/go-wordwrap v1.0.1/go.mod h1:R62XHJLzvMFRBbcrT7m7WgmE1eOyTSsCt+hzestvNj0=
+github.com/mitchellh/gox v0.4.0/go.mod h1:Sd9lOJ0+aimLBi73mGofS1ycjY8lL3uZM3JPS42BGNg=
+github.com/mitchellh/iochan v1.0.0/go.mod h1:JwYml1nuB7xOzsp52dPpHFffvOCDupsG0QubkSMEySY=
+github.com/mitchellh/mapstructure v0.0.0-20160808181253-ca63d7c062ee/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y=
+github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y=
github.com/mitchellh/mapstructure v1.5.0 h1:jeMsZIYE/09sWLaz43PL7Gy6RuMjD2eJVyuac5Z2hdY=
github.com/mitchellh/mapstructure v1.5.0/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo=
github.com/mitchellh/reflectwalk v1.0.2 h1:G2LzWKi524PWgd3mLHV8Y5k7s6XUvT0Gef6zxSIeXaQ=
@@ -384,18 +1467,43 @@ github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8m
github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U=
github.com/mxk/go-flowrate v0.0.0-20140419014527-cca7078d478f h1:y5//uYreIhSUg3J1GEMiLbxo1LJaP8RfCpH6pymGZus=
github.com/mxk/go-flowrate v0.0.0-20140419014527-cca7078d478f/go.mod h1:ZdcZmHo+o7JKHSa8/e818NopupXU1YMK5fe1lsApnBw=
+github.com/nats-io/jwt v0.3.0/go.mod h1:fRYCDE99xlTsqUzISS1Bi75UBJ6ljOJQOAAu5VglpSg=
+github.com/nats-io/jwt v0.3.2/go.mod h1:/euKqTS1ZD+zzjYrY7pseZrTtWQSjujC7xjPc8wL6eU=
+github.com/nats-io/nats-server/v2 v2.1.2/go.mod h1:Afk+wRZqkMQs/p45uXdrVLuab3gwv3Z8C4HTBu8GD/k=
+github.com/nats-io/nats.go v1.9.1/go.mod h1:ZjDU1L/7fJ09jvUSRVBR2e7+RnLiiIQyqyzEE/Zbp4w=
+github.com/nats-io/nkeys v0.1.0/go.mod h1:xpnFELMwJABBLVhffcfd1MZx6VsNRFpEugbxziKVo7w=
+github.com/nats-io/nkeys v0.1.3/go.mod h1:xpnFELMwJABBLVhffcfd1MZx6VsNRFpEugbxziKVo7w=
+github.com/nats-io/nuid v1.0.1/go.mod h1:19wcPz3Ph3q0Jbyiqsd0kePYG7A95tJPxeL+1OSON2c=
+github.com/oklog/oklog v0.3.2/go.mod h1:FCV+B7mhrz4o+ueLpx+KqkyXRGMWOYEvfiXtdGtbWGs=
+github.com/oklog/run v1.0.0/go.mod h1:dlhp/R75TPv97u0XWUtDeV/lRKWPKSdTuV0TZvrmrQA=
github.com/oklog/ulid v1.3.1 h1:EGfNDEx6MqHz8B3uNV6QAib1UR2Lm97sHi3ocA6ESJ4=
github.com/oklog/ulid v1.3.1/go.mod h1:CirwcVhetQ6Lv90oh/F+FBtV6XMibvdAFo93nm5qn4U=
+github.com/olekukonko/tablewriter v0.0.0-20170122224234-a0225b3f23b5/go.mod h1:vsDQFd/mU46D+Z4whnwzcISnGGzXWMclvtLoiIKAKIo=
+github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE=
+github.com/onsi/ginkgo v1.7.0 h1:WSHQ+IS43OoUrWtD1/bbclrwK8TTH5hzp+umCiuxHgs=
+github.com/onsi/ginkgo v1.7.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE=
github.com/onsi/ginkgo/v2 v2.22.2 h1:/3X8Panh8/WwhU/3Ssa6rCKqPLuAkVY2I0RoyDLySlU=
github.com/onsi/ginkgo/v2 v2.22.2/go.mod h1:oeMosUL+8LtarXBHu/c0bx2D/K9zyQ6uX3cTyztHwsk=
+github.com/onsi/gomega v1.4.3/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY=
github.com/onsi/gomega v1.36.2 h1:koNYke6TVk6ZmnyHrCXba/T/MoLBXFjeC1PtvYgw0A8=
github.com/onsi/gomega v1.36.2/go.mod h1:DdwyADRjrc825LhMEkD76cHR5+pUnjhUN8GlHlRPHzY=
+github.com/op/go-logging v0.0.0-20160315200505-970db520ece7/go.mod h1:HzydrMdWErDVzsI23lYNej1Htcns9BCg93Dk0bBINWk=
github.com/opencontainers/go-digest v1.0.0 h1:apOUWs51W5PlhuyGyz9FCeeBIOUDA/6nW8Oi/yOhh5U=
github.com/opencontainers/go-digest v1.0.0/go.mod h1:0JzlMkj0TRzQZfJkVvzbP0HBR3IKzErnv2BNG4W4MAM=
github.com/opencontainers/image-spec v1.1.1 h1:y0fUlFfIZhPF1W537XOLg0/fcx6zcHCJwooC2xJA040=
github.com/opencontainers/image-spec v1.1.1/go.mod h1:qpqAh3Dmcf36wStyyWU+kCeDgrGnAve2nCC8+7h8Q0M=
github.com/opencontainers/runtime-spec v1.2.1 h1:S4k4ryNgEpxW1dzyqffOmhI1BHYcjzU8lpJfSlR0xww=
github.com/opencontainers/runtime-spec v1.2.1/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0=
+github.com/openshift-sustaining/grpc-go v1.75.1-sec.1 h1:2DGqPp4uXAFvzP+Ea44UORw33OQSHEhU8RcpfDDewxM=
+github.com/openshift-sustaining/grpc-go v1.75.1-sec.1/go.mod h1:JtPAzKiq4v1xcAB2hydNlWI2RnF85XXcV0mhKXr2ecQ=
+github.com/opentracing-contrib/go-observer v0.0.0-20170622124052-a52f23424492/go.mod h1:Ngi6UdF0k5OKD5t5wlmGhe/EDKPoUM3BXZSSfIuJbis=
+github.com/opentracing/basictracer-go v1.0.0/go.mod h1:QfBfYuafItcjQuMwinw9GhYKwFXS9KnPs5lxoYwgW74=
+github.com/opentracing/opentracing-go v1.0.2/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o=
+github.com/opentracing/opentracing-go v1.1.0/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o=
+github.com/openzipkin-contrib/zipkin-go-opentracing v0.4.5/go.mod h1:/wsWhb9smxSfWAKL3wpBW7V8scJMt8N8gnaMCS9E/cA=
+github.com/openzipkin/zipkin-go v0.1.6/go.mod h1:QgAqvLzwWbR/WpD4A3cGpPtJrZXNIiJc5AZX7/PBEpw=
+github.com/openzipkin/zipkin-go v0.2.1/go.mod h1:NaW6tEwdmWMaCDZzg8sh+IBNOxHMPnhQw8ySjnjRyN4=
+github.com/openzipkin/zipkin-go v0.2.2/go.mod h1:NaW6tEwdmWMaCDZzg8sh+IBNOxHMPnhQw8ySjnjRyN4=
github.com/operator-framework/api v0.30.0 h1:44hCmGnEnZk/Miol5o44dhSldNH0EToQUG7vZTl29kk=
github.com/operator-framework/api v0.30.0/go.mod h1:FYxAPhjtlXSAty/fbn5YJnFagt6SpJZJgFNNbvDe5W0=
github.com/operator-framework/helm-operator-plugins v0.8.0 h1:0f6HOQC5likkf0b/OvGvw7nhDb6h8Cj5twdCNjwNzMc=
@@ -408,62 +1516,108 @@ github.com/otiai10/copy v1.14.1 h1:5/7E6qsUMBaH5AnQ0sSLzzTg1oTECmcCmT6lvF45Na8=
github.com/otiai10/copy v1.14.1/go.mod h1:oQwrEDDOci3IM8dJF0d8+jnbfPDllW6vUjNc3DoZm9I=
github.com/otiai10/mint v1.6.3 h1:87qsV/aw1F5as1eH1zS/yqHY85ANKVMgkDrf9rcxbQs=
github.com/otiai10/mint v1.6.3/go.mod h1:MJm72SBthJjz8qhefc4z1PYEieWmy8Bku7CjcAqyUSM=
+github.com/pact-foundation/pact-go v1.0.4/go.mod h1:uExwJY4kCzNPcHRj+hCR/HBbOOIwwtUjcrb0b5/5kLM=
+github.com/pascaldekloe/goe v0.0.0-20180627143212-57f6aae5913c/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc=
+github.com/pborman/uuid v1.2.0/go.mod h1:X/NO0urCmaxf9VXbdlT7C2Yzkj2IKimNn4k+gtPdI/k=
+github.com/performancecopilot/speed v3.0.0+incompatible/go.mod h1:/CLtqpZ5gBg1M9iaPbIdPPGyKcA8hKdoy6hAWba7Yac=
github.com/peterbourgon/diskv v2.0.1+incompatible h1:UBdAOUP5p4RWqPBg048CAvpKN+vxiaj6gdUUzhl4XmI=
github.com/peterbourgon/diskv v2.0.1+incompatible/go.mod h1:uqqh8zWWbv1HBMNONnaR/tNboyR3/BZd58JJSHlUSCU=
github.com/phayes/freeport v0.0.0-20220201140144-74d24b5ae9f5 h1:Ii+DKncOVM8Cu1Hc+ETb5K+23HdAMvESYE3ZJ5b5cMI=
github.com/phayes/freeport v0.0.0-20220201140144-74d24b5ae9f5/go.mod h1:iIss55rKnNBTvrwdmkUpLnDpZoAHvWaiq5+iMmen4AE=
+github.com/phpdave11/gofpdf v1.4.2/go.mod h1:zpO6xFn9yxo3YLyMvW8HcKWVdbNqgIfOOp2dXMnm1mY=
+github.com/phpdave11/gofpdi v1.0.12/go.mod h1:vBmVV0Do6hSBHC8uKUQ71JGW+ZGQq74llk/7bXwjDoI=
+github.com/phpdave11/gofpdi v1.0.13/go.mod h1:vBmVV0Do6hSBHC8uKUQ71JGW+ZGQq74llk/7bXwjDoI=
+github.com/pierrec/lz4 v1.0.2-0.20190131084431-473cd7ce01a1/go.mod h1:3/3N9NVKO0jef7pBehbT1qWhCMrIgbYNnFAZCqQ5LRc=
+github.com/pierrec/lz4 v2.0.5+incompatible/go.mod h1:pdkljMzZIN41W+lC3N2tnIh5sFi+IEE17M5jbnwPHcY=
+github.com/pierrec/lz4/v4 v4.1.15/go.mod h1:gZWDp/Ze/IJXGXf23ltt2EXimqmTUXEy0GFuRQyBid4=
+github.com/pkg/diff v0.0.0-20210226163009-20ebb0f2a09e/go.mod h1:pJLUxLENpZxwdsKMEsNbx1VGcRFpLqf3715MtcvvzbA=
github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
+github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4=
github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
+github.com/pkg/profile v1.2.1/go.mod h1:hJw3o1OdXxsrSjjVksARp5W95eeEaEfptyVZyv6JUPA=
+github.com/pkg/sftp v1.10.1/go.mod h1:lYOWFsE0bwd1+KfKJaKeuokY15vzFx25BLbzYYoAxZI=
+github.com/pkg/sftp v1.13.1/go.mod h1:3HaPG6Dq1ILlpPZRO0HVMrsydcdLt6HRDccSgb87qRg=
+github.com/planetscale/vtprotobuf v0.6.1-0.20240319094008-0393e58bdf10/go.mod h1:t/avpk3KcrXxUnYOhZhMXJlSEyie6gQbtLq5NM3loB8=
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRIccs7FGNTlIRMkT8wgtp5eCXdBlqhYGL6U=
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
+github.com/posener/complete v1.1.1/go.mod h1:em0nMJCgc9GFtwrmVmEMR/ZL6WyhyjMBndrE9hABlRI=
github.com/poy/onpar v1.1.2 h1:QaNrNiZx0+Nar5dLgTVp5mXkyoVFIbepjyEoGSnhbAY=
github.com/poy/onpar v1.1.2/go.mod h1:6X8FLNoxyr9kkmnlqpK6LSoiOtrO6MICtWwEuWkLjzg=
github.com/proglottis/gpgme v0.1.4 h1:3nE7YNA70o2aLjcg63tXMOhPD7bplfE5CBdV+hLAm2M=
github.com/proglottis/gpgme v0.1.4/go.mod h1:5LoXMgpE4bttgwwdv9bLs/vwqv3qV7F4glEEZ7mRKrM=
github.com/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw=
+github.com/prometheus/client_golang v0.9.3-0.20190127221311-3c4408c8b829/go.mod h1:p2iRAGwDERtqlqzRXnrOVns+ignqQo//hLXqYxZYVNs=
github.com/prometheus/client_golang v1.0.0/go.mod h1:db9x61etRT2tGnBNRi70OPL5FsnadC4Ky3P0J6CfImo=
github.com/prometheus/client_golang v1.1.0/go.mod h1:I1FGZT9+L76gKKOs5djB6ezCbFQP1xR9D75/vuwEF3g=
+github.com/prometheus/client_golang v1.3.0/go.mod h1:hJaj2vgQTGQmVCsAACORcieXFeDPbaTKGT+JTgUa3og=
github.com/prometheus/client_golang v1.22.0 h1:rb93p9lokFEsctTys46VnV1kLCDpVZ0a/Y92Vm0Zc6Q=
github.com/prometheus/client_golang v1.22.0/go.mod h1:R7ljNsLXhuQXYZYtw6GAE9AZg8Y7vEW5scdCXrWRXC0=
github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo=
+github.com/prometheus/client_model v0.0.0-20190115171406-56726106282f/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo=
github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA=
github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA=
+github.com/prometheus/client_model v0.1.0/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA=
+github.com/prometheus/client_model v0.2.0/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA=
+github.com/prometheus/client_model v0.3.0/go.mod h1:LDGWKZIo7rky3hgvBe+caln+Dr3dPggB5dvjtD7w9+w=
+github.com/prometheus/client_model v0.6.0/go.mod h1:NTQHnmxFpouOD0DpvP4XujX3CdOAGQPoaGhyTchlyt8=
github.com/prometheus/client_model v0.6.1 h1:ZKSh/rekM+n3CeS952MLRAdFwIKqeY8b62p8ais2e9E=
github.com/prometheus/client_model v0.6.1/go.mod h1:OrxVMOVHjw3lKMa8+x6HeMGkHMQyHDk9E3jmP2AmGiY=
+github.com/prometheus/common v0.2.0/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4=
github.com/prometheus/common v0.4.1/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4=
github.com/prometheus/common v0.6.0/go.mod h1:eBmuwkDJBwy6iBfxCBob6t6dR6ENT/y+J+Zk0j9GMYc=
+github.com/prometheus/common v0.7.0/go.mod h1:DjGbpBbp5NYNiECxcL/VnbXCCaQpKd3tt26CguLLsqA=
github.com/prometheus/common v0.62.0 h1:xasJaQlnWAeyHdUBeGjXmutelfJHWMRr+Fg4QszZ2Io=
github.com/prometheus/common v0.62.0/go.mod h1:vyBcEuLSvWos9B1+CyL7JZ2up+uFzXhkqml0W5zIY1I=
github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk=
+github.com/prometheus/procfs v0.0.0-20190117184657-bf6a532e95b1/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk=
github.com/prometheus/procfs v0.0.2/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA=
github.com/prometheus/procfs v0.0.3/go.mod h1:4A/X28fw3Fc593LaREMrKMqOKvUAntwMDaekg4FpcdQ=
+github.com/prometheus/procfs v0.0.8/go.mod h1:7Qr8sr6344vo1JqZ6HhLceV9o3AJ1Ff+GxbHq6oeK9A=
github.com/prometheus/procfs v0.15.1 h1:YagwOFzUgYfKKHX6Dr+sHT7km/hxC76UB0learggepc=
github.com/prometheus/procfs v0.15.1/go.mod h1:fB45yRUv8NstnjriLhBQLuOUt+WW4BsoGhij/e3PBqk=
+github.com/rcrowley/go-metrics v0.0.0-20181016184325-3113b8401b8a/go.mod h1:bCqnVzQkZxMG4s8nGwiZ5l3QUCyqpo9Y+/ZMZ9VjZe4=
github.com/redis/go-redis/extra/rediscmd/v9 v9.0.5 h1:EaDatTxkdHG+U3Bk4EUr+DZ7fOGwTfezUiUJMaIcaho=
github.com/redis/go-redis/extra/rediscmd/v9 v9.0.5/go.mod h1:fyalQWdtzDBECAQFBJuQe5bzQ02jGd5Qcbgb97Flm7U=
github.com/redis/go-redis/extra/redisotel/v9 v9.0.5 h1:EfpWLLCyXw8PSM2/XNJLjI3Pb27yVE+gIAfeqp8LUCc=
github.com/redis/go-redis/extra/redisotel/v9 v9.0.5/go.mod h1:WZjPDy7VNzn77AAfnAfVjZNvfJTYfPetfZk5yoSTLaQ=
github.com/redis/go-redis/v9 v9.7.3 h1:YpPyAayJV+XErNsatSElgRZZVCwXX9QzkKYNvO7x0wM=
github.com/redis/go-redis/v9 v9.7.3/go.mod h1:bGUrSggJ9X9GUmZpZNEOQKaANxSGgOEBRltRTZHSvrA=
+github.com/remyoudompheng/bigfft v0.0.0-20200410134404-eec4a21b6bb0/go.mod h1:qqbHyh8v60DhA7CoWK5oRCqLrMHRGoxYCSS9EjAz6Eo=
+github.com/remyoudompheng/bigfft v0.0.0-20230129092748-24d4a6f8daec/go.mod h1:qqbHyh8v60DhA7CoWK5oRCqLrMHRGoxYCSS9EjAz6Eo=
github.com/rivo/uniseg v0.2.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc=
github.com/rivo/uniseg v0.4.7 h1:WUdvkW8uEhrYfLC4ZzdpI2ztxP1I582+49Oc5Mq64VQ=
github.com/rivo/uniseg v0.4.7/go.mod h1:FN3SvrM+Zdj16jyLfmOkMNblXMcoc8DfTHruCPUcx88=
+github.com/rogpeppe/fastuuid v0.0.0-20150106093220-6724a57986af/go.mod h1:XWv6SoW27p1b0cqNHllgS5HIMJraePCO15w5zCzIWYg=
+github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ=
+github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4=
+github.com/rogpeppe/go-internal v1.6.1/go.mod h1:xXDCJY+GAPziupqXw64V24skbSoqbTEfhy4qGm1nDQc=
+github.com/rogpeppe/go-internal v1.9.0/go.mod h1:WtVeX8xhTBvf0smdhujwtBcq4Qrzq/fJaraNFVN+nFs=
+github.com/rogpeppe/go-internal v1.12.0/go.mod h1:E+RYuTGaKKdloAfM02xzb0FW3Paa99yedzYV+kq4uf4=
github.com/rogpeppe/go-internal v1.13.1 h1:KvO1DLK/DRN07sQ1LQKScxyZJuNnedQ5/wKSR38lUII=
github.com/rogpeppe/go-internal v1.13.1/go.mod h1:uMEvuHeurkdAXX61udpOXGD/AzZDWNMNyH2VO9fmH0o=
+github.com/rs/xid v1.2.1/go.mod h1:+uKXf+4Djp6Md1KODXJxgGQPKngRmWyn10oCKFzNHOQ=
+github.com/rs/zerolog v1.21.0/go.mod h1:ZPhntP/xmq1nnND05hhpAh2QMhSsA4UN3MGZ6O2J3hM=
github.com/rubenv/sql-migrate v1.7.1 h1:f/o0WgfO/GqNuVg+6801K/KW3WdDSupzSjDYODmiUq4=
github.com/rubenv/sql-migrate v1.7.1/go.mod h1:Ob2Psprc0/3ggbM6wCzyYVFFuc6FyZrb2AS+ezLDFb4=
+github.com/russross/blackfriday/v2 v2.0.1/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM=
github.com/russross/blackfriday/v2 v2.1.0 h1:JIOH55/0cWyOuilr9/qlrm0BSXldqnqwMsf35Ld67mk=
github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM=
+github.com/ruudk/golang-pdf417 v0.0.0-20181029194003-1af4ab5afa58/go.mod h1:6lfFZQK844Gfx8o5WFuvpxWRwnSoipWe/p622j1v06w=
+github.com/ruudk/golang-pdf417 v0.0.0-20201230142125-a7e3863a1245/go.mod h1:pQAZKsJ8yyVxGRWYNEm9oFB8ieLgKFnamEyDmSA0BRk=
+github.com/ryanuber/columnize v0.0.0-20160712163229-9b3edd62028f/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts=
+github.com/samuel/go-zookeeper v0.0.0-20190923202752-2cc03de413da/go.mod h1:gi+0XIa01GRL2eRQVjQkKGqKF3SF9vZR/HnPullcV2E=
github.com/santhosh-tekuri/jsonschema/v6 v6.0.1 h1:PKK9DyHxif4LZo+uQSgXNqs0jj5+xZwwfKHgph2lxBw=
github.com/santhosh-tekuri/jsonschema/v6 v6.0.1/go.mod h1:JXeL+ps8p7/KNMjDQk3TCwPpBy0wYklyWTfbkIzdIFU=
+github.com/sean-/seed v0.0.0-20170313163322-e2103e2c3529/go.mod h1:DxrIzT+xaE7yg65j358z/aeFdxmN0P9QXhEzd20vsDc=
github.com/secure-systems-lab/go-securesystemslib v0.9.0 h1:rf1HIbL64nUpEIZnjLZ3mcNEL9NBPB0iuVjyxvq3LZc=
github.com/secure-systems-lab/go-securesystemslib v0.9.0/go.mod h1:DVHKMcZ+V4/woA/peqr+L0joiRXbPpQ042GgJckkFgw=
github.com/sergi/go-diff v1.3.2-0.20230802210424-5b0b94c5c0d3 h1:n661drycOFuPLCN3Uc8sB6B/s6Z4t2xvBgU1htSHuq8=
github.com/sergi/go-diff v1.3.2-0.20230802210424-5b0b94c5c0d3/go.mod h1:A0bzQcvG0E7Rwjx0REVgAGH58e96+X0MeOfepqsbeW4=
github.com/shopspring/decimal v1.4.0 h1:bxl37RwXBklmTi0C79JfXCEBD1cqqHt0bbgBAGFp81k=
github.com/shopspring/decimal v1.4.0/go.mod h1:gawqmDU56v4yIKSwfBSFip1HdCCXN8/+DMd9qYNcwME=
+github.com/shurcooL/sanitized_anchor_name v1.0.0/go.mod h1:1NzhyTcUVG4SuEtjjoZeVRXNmyL/1OwPU0+IJeTBvfc=
github.com/sigstore/fulcio v1.6.6 h1:XaMYX6TNT+8n7Npe8D94nyZ7/ERjEsNGFC+REdi/wzw=
github.com/sigstore/fulcio v1.6.6/go.mod h1:BhQ22lwaebDgIxVBEYOOqLRcN5+xOV+C9bh/GUXRhOk=
github.com/sigstore/protobuf-specs v0.4.1 h1:5SsMqZbdkcO/DNHudaxuCUEjj6x29tS2Xby1BxGU7Zc=
@@ -473,20 +1627,36 @@ github.com/sigstore/rekor v1.3.10/go.mod h1:JvryKJ40O0XA48MdzYUPu0y4fyvqt0C4iSY7
github.com/sigstore/sigstore v1.9.3 h1:y2qlTj+vh+Or3ictKuR3JUFawZPdDxAjrWkeFhon0OQ=
github.com/sigstore/sigstore v1.9.3/go.mod h1:VwYkiw0G0dRtwL25KSs04hCyVFF6CYMd/qvNeYrl7EQ=
github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo=
+github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE=
+github.com/sirupsen/logrus v1.8.1/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0=
github.com/sirupsen/logrus v1.9.3 h1:dueUQJ1C2q9oE3F7wvmSGAaVtTmUizReu6fjN8uqzbQ=
github.com/sirupsen/logrus v1.9.3/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ=
github.com/smallstep/pkcs7 v0.1.1 h1:x+rPdt2W088V9Vkjho4KtoggyktZJlMduZAtRHm68LU=
github.com/smallstep/pkcs7 v0.1.1/go.mod h1:dL6j5AIz9GHjVEBTXtW+QliALcgM19RtXaTeyxI+AfA=
+github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d/go.mod h1:OnSkiWE9lh6wB0YB77sQom3nweQdgAjqCqsofrRNTgc=
+github.com/smartystreets/goconvey v1.6.4/go.mod h1:syvi0/a8iFYH4r/RixwvyeAJjdLS9QV7WQ/tjFTllLA=
+github.com/soheilhy/cmux v0.1.4/go.mod h1:IM3LyeVVIOuxMH7sFAkER9+bJ4dT7Ms6E4xg4kGIyLM=
+github.com/sony/gobreaker v0.4.1/go.mod h1:ZKptC7FHNvhBz7dN2LGjPVBz2sZJmc0/PkyDJOjmxWY=
+github.com/spf13/afero v1.3.3/go.mod h1:5KUK8ByomD5Ti5Artl0RtHeI5pTF7MIDuXL3yY520V4=
+github.com/spf13/afero v1.6.0/go.mod h1:Ai8FlHk4v/PARR026UzYexafAt9roJ7LcLMAmO6Z93I=
+github.com/spf13/afero v1.9.2/go.mod h1:iUV7ddyEEZPO5gA3zD4fJt6iStLlL+Lg4m2cihcDf8Y=
+github.com/spf13/afero v1.10.0/go.mod h1:UBogFpq8E9Hx+xc5CNTTEpTnuHVmXDwZcZcE1eb/UhQ=
github.com/spf13/cast v1.7.0 h1:ntdiHjuueXFgm5nzDRdOS4yfT43P5Fnud6DH50rz/7w=
github.com/spf13/cast v1.7.0/go.mod h1:ancEpBxwJDODSW/UG4rDrAqiKolqNNh2DX3mk86cAdo=
+github.com/spf13/cobra v0.0.3/go.mod h1:1l0Ry5zgKvJasoi3XT1TypsSe7PqH0Sj9dhYf7v3XqQ=
github.com/spf13/cobra v1.9.1 h1:CXSaggrXdbHK9CF+8ywj8Amf7PBRmPCOJugH954Nnlo=
github.com/spf13/cobra v1.9.1/go.mod h1:nDyEzZ8ogv936Cinf6g1RU9MRY64Ir93oCnqb9wxYW0=
+github.com/spf13/pflag v1.0.1/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4=
github.com/spf13/pflag v1.0.6 h1:jFzHGLGAlb3ruxLB8MhbI6A8+AQX/2eW4qeyNZXNp2o=
github.com/spf13/pflag v1.0.6/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg=
+github.com/spiffe/go-spiffe/v2 v2.5.0/go.mod h1:P+NxobPc6wXhVtINNtFjNWGBTreew1GBUCwT2wPmb7g=
github.com/stefanberger/go-pkcs11uri v0.0.0-20230803200340-78284954bff6 h1:pnnLyeX7o/5aX8qUQ69P/mLojDqwda8hFOCBTmP/6hw=
github.com/stefanberger/go-pkcs11uri v0.0.0-20230803200340-78284954bff6/go.mod h1:39R/xuhNgVhi+K0/zst4TLrJrVmbm6LVgl4A0+ZFS5M=
github.com/stoewer/go-strcase v1.3.0 h1:g0eASXYtp+yvN9fK8sH94oCIk0fau9uV1/ZdJ0AVEzs=
github.com/stoewer/go-strcase v1.3.0/go.mod h1:fAH5hQ5pehh+j3nZfvwdk2RgEgQjAoM8wodgtPmh1xo=
+github.com/streadway/amqp v0.0.0-20190404075320-75d898a42a94/go.mod h1:AZpEONHx3DKn8O/DFsRAY58/XVQiIPMTMB1SddzLXVw=
+github.com/streadway/amqp v0.0.0-20190827072141-edfb9018d271/go.mod h1:AZpEONHx3DKn8O/DFsRAY58/XVQiIPMTMB1SddzLXVw=
+github.com/streadway/handy v0.0.0-20190108123426-d5acb3125c2a/go.mod h1:qNTQ5P5JnDBl6z3cMAg/SywNDC5ABu5ApDIw6lUbRmI=
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw=
@@ -495,17 +1665,24 @@ github.com/stretchr/objx v0.5.2 h1:xuMeJ0Sdp5ZMRXx/aWO6RZxdr3beISkG5/G/aIRr3pY=
github.com/stretchr/objx v0.5.2/go.mod h1:FRsXN1f5AsAjCGJKqEizvkpNtU+EGNCLh3NxZ/8L+MA=
github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs=
github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI=
+github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4=
github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU=
github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4=
+github.com/stretchr/testify v1.8.2/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4=
+github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo=
+github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY=
github.com/stretchr/testify v1.10.0 h1:Xv5erBjTwe/5IxqUQTdXv5kgmIvbHo3QQyRwhJsOfJA=
github.com/stretchr/testify v1.10.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY=
github.com/titanous/rocacheck v0.0.0-20171023193734-afe73141d399 h1:e/5i7d4oYZ+C1wj2THlRK+oAhjeS/TRQwMfkIuet3w0=
github.com/titanous/rocacheck v0.0.0-20171023193734-afe73141d399/go.mod h1:LdwHTNJT99C5fTAzDz0ud328OgXz+gierycbcIx2fRs=
+github.com/tmc/grpc-websocket-proxy v0.0.0-20170815181823-89b8d40f7ca8/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U=
github.com/ulikunitz/xz v0.5.12 h1:37Nm15o69RwBkXM0J6A5OlE67RZTfzUxTj8fB3dfcsc=
github.com/ulikunitz/xz v0.5.12/go.mod h1:nbz6k7qbPmH4IRqmfOplQw/tblSgqTqBwxkY0oWt/14=
+github.com/urfave/cli v1.20.0/go.mod h1:70zkFmudgCuE/ngEzBv17Jvp/497gISqfk5gWijbERA=
+github.com/urfave/cli v1.22.1/go.mod h1:Gos4lmkARVdJ6EkW0WaNv/tZAAMe9V7XWyB60NtXRu0=
github.com/vbatts/tar-split v0.12.1 h1:CqKoORW7BUWBe7UL/iqTVvkTBOF8UvOMKOIZykxnnbo=
github.com/vbatts/tar-split v0.12.1/go.mod h1:eF6B6i6ftWQcDqEn3/iGFRFRo8cBIMSJVOpnNdfTMFA=
github.com/vbauerster/mpb/v8 v8.9.3 h1:PnMeF+sMvYv9u23l6DO6Q3+Mdj408mjLRXIzmUmU2Z8=
@@ -519,13 +1696,24 @@ github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415 h1:EzJWgHo
github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415/go.mod h1:GwrjFmJcFw6At/Gs6z4yjiIwzuJ1/+UwLxMQDVQXShQ=
github.com/xeipuuv/gojsonschema v1.2.0 h1:LhYJRs+L4fBtjZUfuSZIKGeVu0QRy8e5Xi7D17UxZ74=
github.com/xeipuuv/gojsonschema v1.2.0/go.mod h1:anYRn/JVcOK2ZgGU+IjEV4nwlhoK5sQluxsYJ78Id3Y=
+github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2/go.mod h1:UETIi67q53MR2AWcXfiuqkDkRtnGDLqkBTpCHuJHxtU=
github.com/xlab/treeprint v1.2.0 h1:HzHnuAF1plUN2zGlAFHbSQP2qJ0ZAD3XF5XD7OesXRQ=
github.com/xlab/treeprint v1.2.0/go.mod h1:gj5Gd3gPdKtR1ikdDK6fnFLdmIS0X30kTTuNd/WEJu0=
+github.com/yuin/goldmark v1.1.25/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
+github.com/yuin/goldmark v1.1.32/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
+github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k=
+github.com/yuin/goldmark v1.4.1/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k=
github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY=
+github.com/zeebo/assert v1.3.0/go.mod h1:Pq9JiuJQpG8JLJdtkwrJESF0Foym2/D9XMU5ciN/wJ0=
+github.com/zeebo/errs v1.4.0/go.mod h1:sgbWHsvVuTPHcqJJGQ1WhI5KbWlHYz+2+2C/LSEtCw4=
+github.com/zeebo/xxh3 v1.0.2/go.mod h1:5NWz9Sef7zIDm2JHfFlcQvNekmcEl9ekUZQQKCYaDcA=
+go.etcd.io/bbolt v1.3.3/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU=
go.etcd.io/bbolt v1.4.0 h1:TU77id3TnN/zKr7CO/uk+fBCwF2jGcMuw2B/FMAzYIk=
go.etcd.io/bbolt v1.4.0/go.mod h1:AsD+OCi/qPN1giOX1aiLAha3o1U8rAz65bvN4j0sRuk=
+go.etcd.io/etcd v0.0.0-20191023171146-3cf2f69b5738 h1:VcrIfasaLFkyjk6KNlXQSzO+B0fZcnECiDrKJsfxka0=
+go.etcd.io/etcd v0.0.0-20191023171146-3cf2f69b5738/go.mod h1:dnLIgRNXwCJa5e+c6mIZCrds/GIG4ncV9HhK5PX7jPg=
go.etcd.io/etcd/api/v3 v3.5.16 h1:WvmyJVbjWqK4R1E+B12RRHz3bRGy9XVfh++MgbN+6n0=
go.etcd.io/etcd/api/v3 v3.5.16/go.mod h1:1P4SlIP/VwkDmGo3OlOD7faPeP8KDIFhqvciH5EfN28=
go.etcd.io/etcd/client/pkg/v3 v3.5.16 h1:ZgY48uH6UvB+/7R9Yf4x574uCO3jIx0TRDyetSfId3Q=
@@ -534,20 +1722,33 @@ go.etcd.io/etcd/client/v3 v3.5.16 h1:sSmVYOAHeC9doqi0gv7v86oY/BTld0SEFGaxsU9eRhE
go.etcd.io/etcd/client/v3 v3.5.16/go.mod h1:X+rExSGkyqxvu276cr2OwPLBaeqFu1cIl4vmRjAD/50=
go.mongodb.org/mongo-driver v1.14.0 h1:P98w8egYRjYe3XDjxhYJagTokP/H6HzlsnojRgZRd80=
go.mongodb.org/mongo-driver v1.14.0/go.mod h1:Vzb0Mk/pa7e6cWw85R4F/endUC3u0U9jGcNU603k65c=
+go.opencensus.io v0.20.1/go.mod h1:6WKK9ahsWS3RSO+PY9ZHZUfv2irvY6gN279GOPZjmmk=
+go.opencensus.io v0.20.2/go.mod h1:6WKK9ahsWS3RSO+PY9ZHZUfv2irvY6gN279GOPZjmmk=
+go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU=
+go.opencensus.io v0.22.0/go.mod h1:+kGneAE2xo2IficOXnaByMWTGM9T73dGwxeWcUqIpI8=
+go.opencensus.io v0.22.2/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw=
+go.opencensus.io v0.22.3/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw=
+go.opencensus.io v0.22.4/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw=
+go.opencensus.io v0.22.5/go.mod h1:5pWMHQbX5EPX2/62yrJeAkowc+lfs/XD7Uxpq3pI6kk=
+go.opencensus.io v0.23.0/go.mod h1:XItmlyltB5F7CS4xOC1DcqMoFqwtC6OG2xF7mCv7P7E=
go.opencensus.io v0.24.0 h1:y73uSU6J157QMP2kn2r30vwW1A2W2WFwSCGnAVxeaD0=
go.opencensus.io v0.24.0/go.mod h1:vNK8G9p7aAivkbmorf4v+7Hgx+Zs0yY+0fOtgBfjQKo=
go.opentelemetry.io/auto/sdk v1.1.0 h1:cH53jehLUN6UFLY71z+NDOiNJqDdPRaXzTel0sJySYA=
go.opentelemetry.io/auto/sdk v1.1.0/go.mod h1:3wSPjt5PWp2RhlCcmmOial7AvC4DQqZb7a7wCow3W8A=
go.opentelemetry.io/contrib/bridges/prometheus v0.57.0 h1:UW0+QyeyBVhn+COBec3nGhfnFe5lwB0ic1JBVjzhk0w=
go.opentelemetry.io/contrib/bridges/prometheus v0.57.0/go.mod h1:ppciCHRLsyCio54qbzQv0E4Jyth/fLWDTJYfvWpcSVk=
+go.opentelemetry.io/contrib/detectors/gcp v1.36.0/go.mod h1:IbBN8uAIIx734PTonTPxAxnjc2pQTxWNkwfstZ+6H2k=
go.opentelemetry.io/contrib/exporters/autoexport v0.57.0 h1:jmTVJ86dP60C01K3slFQa2NQ/Aoi7zA+wy7vMOKD9H4=
go.opentelemetry.io/contrib/exporters/autoexport v0.57.0/go.mod h1:EJBheUMttD/lABFyLXhce47Wr6DPWYReCzaZiXadH7g=
go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.59.0 h1:rgMkmiGfix9vFJDcDi1PK8WEQP4FLQwLDfhp5ZLpFeE=
go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.59.0/go.mod h1:ijPqXp5P6IRRByFVVg9DY8P5HkxkHE5ARIa+86aXPf4=
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.59.0 h1:CV7UdSGJt/Ao6Gp4CXckLxVRRsRgDHoI8XjbL3PDl8s=
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.59.0/go.mod h1:FRmFuRJfag1IZ2dPkHnEoSFVgTVPUd2qf5Vi69hLb8I=
-go.opentelemetry.io/otel v1.34.0 h1:zRLXxLCgL1WyKsPVrgbSdMN4c0FMkDAskSTQP+0hdUY=
-go.opentelemetry.io/otel v1.34.0/go.mod h1:OWFPOQ+h4G8xpyjgqo4SxJYdDQ/qmRH+wivy7zzx9oI=
+go.opentelemetry.io/otel v0.20.0/go.mod h1:Y3ugLH2oa81t5QO+Lty+zXf8zC9L26ax4Nzoxm/dooo=
+go.opentelemetry.io/otel v1.32.0/go.mod h1:00DCVSB0RQcnzlwyTfqtxSm+DRr9hpYrHjNGiBHVQIg=
+go.opentelemetry.io/otel v1.36.0/go.mod h1:/TcFMXYjyRNh8khOAO9ybYkqaDBb/70aVwkNML4pP8E=
+go.opentelemetry.io/otel v1.37.0 h1:9zhNfelUvx0KBfu/gb+ZgeAfAgtWrfHJZcAqFC228wQ=
+go.opentelemetry.io/otel v1.37.0/go.mod h1:ehE/umFRLnuLa/vSccNq9oS1ErUlkkK71gMcN34UG8I=
go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploggrpc v0.8.0 h1:WzNab7hOOLzdDF/EoWCt4glhrbMPVMOO5JYTmpz36Ls=
go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploggrpc v0.8.0/go.mod h1:hKvJwTzJdp90Vh7p6q/9PAOd55dI6WA6sWj62a/JvSs=
go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp v0.8.0 h1:S+LdBGiQXtJdowoJoQPEtI52syEP/JYBUpjO49EQhV8=
@@ -572,172 +1773,854 @@ go.opentelemetry.io/otel/exporters/stdout/stdouttrace v1.32.0 h1:cC2yDI3IQd0Udsu
go.opentelemetry.io/otel/exporters/stdout/stdouttrace v1.32.0/go.mod h1:2PD5Ex6z8CFzDbTdOlwyNIUywRr1DN0ospafJM1wJ+s=
go.opentelemetry.io/otel/log v0.8.0 h1:egZ8vV5atrUWUbnSsHn6vB8R21G2wrKqNiDt3iWertk=
go.opentelemetry.io/otel/log v0.8.0/go.mod h1:M9qvDdUTRCopJcGRKg57+JSQ9LgLBrwwfC32epk5NX8=
-go.opentelemetry.io/otel/metric v1.34.0 h1:+eTR3U0MyfWjRDhmFMxe2SsW64QrZ84AOhvqS7Y+PoQ=
-go.opentelemetry.io/otel/metric v1.34.0/go.mod h1:CEDrp0fy2D0MvkXE+dPV7cMi8tWZwX3dmaIhwPOaqHE=
-go.opentelemetry.io/otel/sdk v1.34.0 h1:95zS4k/2GOy069d321O8jWgYsW3MzVV+KuSPKp7Wr1A=
-go.opentelemetry.io/otel/sdk v1.34.0/go.mod h1:0e/pNiaMAqaykJGKbi+tSjWfNNHMTxoC9qANsCzbyxU=
+go.opentelemetry.io/otel/metric v0.20.0/go.mod h1:598I5tYlH1vzBjn+BTuhzTCSb/9debfNp6R3s7Pr1eU=
+go.opentelemetry.io/otel/metric v1.32.0/go.mod h1:jH7CIbbK6SH2V2wE16W05BHCtIDzauciCRLoc/SyMv8=
+go.opentelemetry.io/otel/metric v1.36.0/go.mod h1:zC7Ks+yeyJt4xig9DEw9kuUFe5C3zLbVjV2PzT6qzbs=
+go.opentelemetry.io/otel/metric v1.37.0 h1:mvwbQS5m0tbmqML4NqK+e3aDiO02vsf/WgbsdpcPoZE=
+go.opentelemetry.io/otel/metric v1.37.0/go.mod h1:04wGrZurHYKOc+RKeye86GwKiTb9FKm1WHtO+4EVr2E=
+go.opentelemetry.io/otel/oteltest v0.20.0/go.mod h1:L7bgKf9ZB7qCwT9Up7i9/pn0PWIa9FqQ2IQ8LoxiGnw=
+go.opentelemetry.io/otel/sdk v0.20.0/go.mod h1:g/IcepuwNsoiX5Byy2nNV0ySUF1em498m7hBWC279Yc=
+go.opentelemetry.io/otel/sdk v1.36.0/go.mod h1:+lC+mTgD+MUWfjJubi2vvXWcVxyr9rmlshZni72pXeY=
+go.opentelemetry.io/otel/sdk v1.37.0 h1:ItB0QUqnjesGRvNcmAcU0LyvkVyGJ2xftD29bWdDvKI=
+go.opentelemetry.io/otel/sdk v1.37.0/go.mod h1:VredYzxUvuo2q3WRcDnKDjbdvmO0sCzOvVAiY+yUkAg=
go.opentelemetry.io/otel/sdk/log v0.8.0 h1:zg7GUYXqxk1jnGF/dTdLPrK06xJdrXgqgFLnI4Crxvs=
go.opentelemetry.io/otel/sdk/log v0.8.0/go.mod h1:50iXr0UVwQrYS45KbruFrEt4LvAdCaWWgIrsN3ZQggo=
-go.opentelemetry.io/otel/sdk/metric v1.34.0 h1:5CeK9ujjbFVL5c1PhLuStg1wxA7vQv7ce1EK0Gyvahk=
-go.opentelemetry.io/otel/sdk/metric v1.34.0/go.mod h1:jQ/r8Ze28zRKoNRdkjCZxfs6YvBTG1+YIqyFVFYec5w=
-go.opentelemetry.io/otel/trace v1.34.0 h1:+ouXS2V8Rd4hp4580a8q23bg0azF2nI8cqLYnC8mh/k=
-go.opentelemetry.io/otel/trace v1.34.0/go.mod h1:Svm7lSjQD7kG7KJ/MUHPVXSDGz2OX4h0M2jHBhmSfRE=
+go.opentelemetry.io/otel/sdk/metric v1.37.0 h1:90lI228XrB9jCMuSdA0673aubgRobVZFhbjxHHspCPc=
+go.opentelemetry.io/otel/sdk/metric v1.37.0/go.mod h1:cNen4ZWfiD37l5NhS+Keb5RXVWZWpRE+9WyVCpbo5ps=
+go.opentelemetry.io/otel/trace v0.20.0/go.mod h1:6GjCW8zgDjwGHGa6GkyeB8+/5vjT16gUEi0Nf1iBdgw=
+go.opentelemetry.io/otel/trace v1.32.0/go.mod h1:+i4rkvCraA+tG6AzwloGaCtkx53Fa+L+V8e9a7YvhT8=
+go.opentelemetry.io/otel/trace v1.36.0/go.mod h1:gQ+OnDZzrybY4k4seLzPAWNwVBBVlF2szhehOBB/tGA=
+go.opentelemetry.io/otel/trace v1.37.0 h1:HLdcFNbRQBE2imdSEgm/kwqmQj1Or1l/7bW6mxVK7z4=
+go.opentelemetry.io/otel/trace v1.37.0/go.mod h1:TlgrlQ+PtQO5XFerSPUYG0JSgGyryXewPGyayAWSBS0=
+go.opentelemetry.io/proto/otlp v0.7.0/go.mod h1:PqfVotwruBrMGOCsRd/89rSnXhoiJIqeYNgFYFoEGnI=
+go.opentelemetry.io/proto/otlp v0.15.0/go.mod h1:H7XAot3MsfNsj7EXtrA2q5xSNQ10UqI405h3+duxN4U=
+go.opentelemetry.io/proto/otlp v0.19.0/go.mod h1:H7XAot3MsfNsj7EXtrA2q5xSNQ10UqI405h3+duxN4U=
+go.opentelemetry.io/proto/otlp v1.0.0/go.mod h1:Sy6pihPLfYHkr3NkUbEhGHFhINUSI/v80hjKIs5JXpM=
go.opentelemetry.io/proto/otlp v1.4.0 h1:TA9WRvW6zMwP+Ssb6fLoUIuirti1gGbP28GcKG1jgeg=
go.opentelemetry.io/proto/otlp v1.4.0/go.mod h1:PPBWZIP98o2ElSqI35IHfu7hIhSwvc5N38Jw8pXuGFY=
+go.uber.org/atomic v1.3.2/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE=
+go.uber.org/atomic v1.5.0/go.mod h1:sABNBOSYdrvTF6hTgEIbc7YasKWGhgEQZyfxyTvoXHQ=
+go.uber.org/atomic v1.6.0/go.mod h1:sABNBOSYdrvTF6hTgEIbc7YasKWGhgEQZyfxyTvoXHQ=
+go.uber.org/atomic v1.7.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc=
go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto=
go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE=
+go.uber.org/multierr v1.1.0/go.mod h1:wR5kodmAFQ0UK8QlbwjlSNy0Z68gJhDJUG5sjR94q/0=
+go.uber.org/multierr v1.3.0/go.mod h1:VgVr7evmIr6uPjLBxg28wmKNXyqE9akIJ5XnfpiKl+4=
+go.uber.org/multierr v1.5.0/go.mod h1:FeouvMocqHpRaaGuG9EjoKcStLC43Zu/fmqdUMPcKYU=
+go.uber.org/multierr v1.6.0/go.mod h1:cdWPpRnG4AhwMwsgIHip0KRBQjJy5kYEpYjJxpXp9iU=
go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0=
go.uber.org/multierr v1.11.0/go.mod h1:20+QtiLqy0Nd6FdQB9TLXag12DsQkrbs3htMFfDN80Y=
+go.uber.org/tools v0.0.0-20190618225709-2cfd321de3ee/go.mod h1:vJERXedbb3MVM5f9Ejo0C68/HhF8uaILCdgjnY+goOA=
+go.uber.org/zap v1.10.0/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q=
+go.uber.org/zap v1.13.0/go.mod h1:zwrFLgMcdUuIBviXEYEH1YKNaOBnKXsx2IPda5bBwHM=
+go.uber.org/zap v1.16.0/go.mod h1:MA8QOfq0BHJwdXa996Y4dYkAqRKB8/1K1QMMZVaNZjQ=
go.uber.org/zap v1.27.0 h1:aJMhYGrd5QSmlpLMr2MftRKl7t8J8PTZPA732ud/XR8=
go.uber.org/zap v1.27.0/go.mod h1:GB2qFLM7cTU87MWRP2mPIjqfIDnGu+VIO4V/SdhGo2E=
golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
+golang.org/x/crypto v0.0.0-20181029021203-45a5f77698d3/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
+golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
+golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
+golang.org/x/crypto v0.0.0-20190701094942-4def268fd1a4/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
+golang.org/x/crypto v0.0.0-20190820162420-60c769a6c586/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
+golang.org/x/crypto v0.0.0-20210421170649-83a5a9bb288b/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4=
golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
+golang.org/x/crypto v0.0.0-20211108221036-ceb1ce70b4fa/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
+golang.org/x/crypto v0.0.0-20220314234659-1baeb1ce4c0b/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4=
+golang.org/x/crypto v0.0.0-20220722155217-630584e8d5aa/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4=
+golang.org/x/crypto v0.1.0/go.mod h1:RecgLatLF4+eUMCP1PoPZQb+cVrJcOPbHkTkbkB9sbw=
+golang.org/x/crypto v0.7.0/go.mod h1:pYwdfH91IfpZVANVyUOhSIPZaFoJGxTFbZhFTx+dXZU=
+golang.org/x/crypto v0.9.0/go.mod h1:yrmDGqONDYtNj3tH8X9dzUun2m2lzPa9ngI6/RUPGR0=
+golang.org/x/crypto v0.11.0/go.mod h1:xgJhtzW8F9jGdVFWZESrid1U1bjeNy4zgy5cRr/CIio=
+golang.org/x/crypto v0.12.0/go.mod h1:NF0Gs7EO5K4qLn+Ylc+fih8BSTeIjAP05siRnAh98yw=
golang.org/x/crypto v0.13.0/go.mod h1:y6Z2r+Rw4iayiXXAIxJIDAJ1zMW4yaTpebo8fPOliYc=
+golang.org/x/crypto v0.15.0/go.mod h1:4ChreQoLWfG3xLDer1WdlH5NdlQ3+mwnQq1YTKY+72g=
+golang.org/x/crypto v0.16.0/go.mod h1:gCAAfMLgwOJRpTjQ2zCCt2OcSfYMTeZVSRtQlPC7Nq4=
+golang.org/x/crypto v0.18.0/go.mod h1:R0j02AL6hcrfOiy9T4ZYp/rcWeMxM3L6QYxlOuEG1mg=
golang.org/x/crypto v0.19.0/go.mod h1:Iy9bg/ha4yyC70EfRS8jz+B6ybOBKMaSxLj6P6oBDfU=
golang.org/x/crypto v0.23.0/go.mod h1:CKFgDieR+mRhux2Lsu27y0fO304Db0wZe70UKqHu0v8=
+golang.org/x/crypto v0.24.0/go.mod h1:Z1PMYSOR5nyMcyAVAIQSKCDwalqy85Aqn1x3Ws4L5DM=
+golang.org/x/crypto v0.25.0/go.mod h1:T+wALwcMOSE0kXgUAnPAHqTLW+XHgcELELW8VaDgm/M=
+golang.org/x/crypto v0.26.0/go.mod h1:GY7jblb9wI+FOo5y8/S2oY4zWP07AkOJ4+jxCqdqn54=
+golang.org/x/crypto v0.28.0/go.mod h1:rmgy+3RHxRZMyY0jjAJShp2zgEdOqj2AO7U0pYmeQ7U=
golang.org/x/crypto v0.30.0/go.mod h1:kDsLvtWBEx7MV9tJOj9bnXsPbxwJQ6csT/x4KIN4Ssk=
-golang.org/x/crypto v0.37.0 h1:kJNSjF/Xp7kU0iB2Z+9viTPMW4EqqsrywMXLJOOsXSE=
-golang.org/x/crypto v0.37.0/go.mod h1:vg+k43peMZ0pUMhYmVAWysMK35e6ioLh3wB8ZCAfbVc=
+golang.org/x/crypto v0.31.0/go.mod h1:kDsLvtWBEx7MV9tJOj9bnXsPbxwJQ6csT/x4KIN4Ssk=
+golang.org/x/crypto v0.32.0/go.mod h1:ZnnJkOaASj8g0AjIduWNlq2NRxL0PlBrbKVyZ6V/Ugc=
+golang.org/x/crypto v0.36.0/go.mod h1:Y4J0ReaxCR1IMaabaSMugxJES1EpwhBHhv2bDHklZvc=
+golang.org/x/crypto v0.38.0/go.mod h1:MvrbAqul58NNYPKnOra203SB9vpuZW0e+RRZV+Ggqjw=
+golang.org/x/crypto v0.39.0 h1:SHs+kF4LP+f+p14esP5jAoDpHU8Gu/v9lFRK6IT5imM=
+golang.org/x/crypto v0.39.0/go.mod h1:L+Xg3Wf6HoL4Bn4238Z6ft6KfEpN0tJGo53AAPC632U=
+golang.org/x/exp v0.0.0-20180321215751-8460e604b9de/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
+golang.org/x/exp v0.0.0-20180807140117-3d87b88a115f/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
+golang.org/x/exp v0.0.0-20190125153040-c74c464bbbf2/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
+golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
+golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8=
+golang.org/x/exp v0.0.0-20190731235908-ec7cb31e5a56/go.mod h1:JhuoJpWY28nO4Vef9tZUw9qufEGTyX1+7lmHxV5q5G4=
+golang.org/x/exp v0.0.0-20190829153037-c13cbed26979/go.mod h1:86+5VVa7VpoJ4kLfm080zCjGlMRFzhUhsZKEZO7MGek=
+golang.org/x/exp v0.0.0-20191002040644-a1355ae1e2c3/go.mod h1:NOZ3BPKG0ec/BKJQgnvsSFpcKLM5xXVWnvZS97DWHgE=
+golang.org/x/exp v0.0.0-20191030013958-a1ab85dbe136/go.mod h1:JXzH8nQsPlswgeRAPE3MuO9GYsAcnJvJ4vnMwN/5qkY=
+golang.org/x/exp v0.0.0-20191129062945-2f5052295587/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4=
+golang.org/x/exp v0.0.0-20191227195350-da58074b4299/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4=
+golang.org/x/exp v0.0.0-20200119233911-0405dc783f0a/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4=
+golang.org/x/exp v0.0.0-20200207192155-f17229e696bd/go.mod h1:J/WKrq2StrnmMY6+EHIKF9dgMWnmCNThgcyBT1FY9mM=
+golang.org/x/exp v0.0.0-20200224162631-6cc2880d07d6/go.mod h1:3jZMyOhIsHpP37uCMkUooju7aAi5cS1Q23tOzKc+0MU=
+golang.org/x/exp v0.0.0-20210722180016-6781d3edade3/go.mod h1:DVyR6MI7P4kEQgvZJSj1fQGrWIi2RzIrfYWycwheUAc=
+golang.org/x/exp v0.0.0-20220827204233-334a2380cb91/go.mod h1:cyybsKvd6eL0RnXn6p/Grxp8F5bW7iYuBgsNCOHpMYE=
+golang.org/x/exp v0.0.0-20221012211006-4de253d81b95/go.mod h1:cyybsKvd6eL0RnXn6p/Grxp8F5bW7iYuBgsNCOHpMYE=
+golang.org/x/exp v0.0.0-20230321023759-10a507213a29/go.mod h1:CxIveKay+FTh1D0yPZemJVgC/95VzuuOLq5Qi4xnoYc=
+golang.org/x/exp v0.0.0-20230801115018-d63ba01acd4b/go.mod h1:FXUEEKJgO7OQYeo8N01OfiKP8RXMtf6e8aTskBGqWdc=
+golang.org/x/exp v0.0.0-20231110203233-9a3e6036ecaa/go.mod h1:zk2irFbV9DP96SEBUUAy67IdHUaZuSnrz1n472HUCLE=
+golang.org/x/exp v0.0.0-20241009180824-f66d83c29e7c/go.mod h1:NQtJDoLvd6faHhE7m4T/1IY708gDefGGjR/iUW8yQQ8=
golang.org/x/exp v0.0.0-20250228200357-dead58393ab7 h1:aWwlzYV971S4BXRS9AmqwDLAD85ouC6X+pocatKY58c=
golang.org/x/exp v0.0.0-20250228200357-dead58393ab7/go.mod h1:BHOTPb3L19zxehTsLoJXVaTktb06DFgmdW6Wb9s8jqk=
-golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE=
+golang.org/x/exp/shiny v0.0.0-20220827204233-334a2380cb91/go.mod h1:VjAR7z0ngyATZTELrBSkxOOHhhlnVUxDye4mcjx5h/8=
+golang.org/x/exp/shiny v0.0.0-20230801115018-d63ba01acd4b/go.mod h1:UH99kUObWAZkDnWqppdQe5ZhPYESUw8I0zVV1uWBR+0=
+golang.org/x/exp/shiny v0.0.0-20230817173708-d852ddb80c63/go.mod h1:UH99kUObWAZkDnWqppdQe5ZhPYESUw8I0zVV1uWBR+0=
+golang.org/x/exp/shiny v0.0.0-20240707233637-46b078467d37/go.mod h1:3F+MieQB7dRYLTmnncoFbb1crS5lfQoTfDgQy6K4N0o=
+golang.org/x/exp/shiny v0.0.0-20241009180824-f66d83c29e7c/go.mod h1:3F+MieQB7dRYLTmnncoFbb1crS5lfQoTfDgQy6K4N0o=
+golang.org/x/image v0.0.0-20180708004352-c73c2afc3b81/go.mod h1:ux5Hcp/YLpHSI86hEcLt0YII63i6oz57MZXIpbrjZUs=
+golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js=
+golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0=
+golang.org/x/image v0.0.0-20190910094157-69e4b8554b2a/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0=
+golang.org/x/image v0.0.0-20200119044424-58c23975cae1/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0=
+golang.org/x/image v0.0.0-20200430140353-33d19683fad8/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0=
+golang.org/x/image v0.0.0-20200618115811-c13761719519/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0=
+golang.org/x/image v0.0.0-20201208152932-35266b937fa6/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0=
+golang.org/x/image v0.0.0-20210216034530-4410531fe030/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0=
+golang.org/x/image v0.0.0-20210607152325-775e3b0c77b9/go.mod h1:023OzeP/+EPmXeapQh35lcL3II3LrY8Ic+EFFKVhULM=
+golang.org/x/image v0.0.0-20210628002857-a66eb6448b8d/go.mod h1:023OzeP/+EPmXeapQh35lcL3II3LrY8Ic+EFFKVhULM=
+golang.org/x/image v0.0.0-20211028202545-6944b10bf410/go.mod h1:023OzeP/+EPmXeapQh35lcL3II3LrY8Ic+EFFKVhULM=
+golang.org/x/image v0.0.0-20220302094943-723b81ca9867/go.mod h1:023OzeP/+EPmXeapQh35lcL3II3LrY8Ic+EFFKVhULM=
+golang.org/x/image v0.3.0/go.mod h1:fXd9211C/0VTlYuAcOhW8dY/RtEJqODXOWBDpmYBf+A=
+golang.org/x/image v0.5.0/go.mod h1:FVC7BI/5Ym8R25iw5OLsgshdUBbT1h5jZTpA+mvAdZ4=
+golang.org/x/image v0.6.0/go.mod h1:MXLdDR43H7cDJq5GEGXEVeeNhPgi+YYEQ2pC1byI1x0=
+golang.org/x/image v0.7.0/go.mod h1:nd/q4ef1AKKYl/4kft7g+6UyGbdiqWqTP1ZAbRoV7Rg=
+golang.org/x/image v0.11.0/go.mod h1:bglhjqbqVuEb9e9+eNR45Jfu7D+T4Qan+NhQk8Ck2P8=
+golang.org/x/image v0.12.0/go.mod h1:Lu90jvHG7GfemOIcldsh9A2hS01ocl6oNO7ype5mEnk=
+golang.org/x/image v0.13.0/go.mod h1:6mmbMOeV28HuMTgA6OSRkdXKYw/t5W9Uwn2Yv1r3Yxk=
+golang.org/x/image v0.14.0/go.mod h1:HUYqC05R2ZcZ3ejNQsIHQDQiwWM4JBqmm6MKANTp4LE=
+golang.org/x/image v0.15.0/go.mod h1:HUYqC05R2ZcZ3ejNQsIHQDQiwWM4JBqmm6MKANTp4LE=
+golang.org/x/image v0.21.0/go.mod h1:vUbsLavqK/W303ZroQQVKQ+Af3Yl6Uz1Ppu5J/cLz78=
+golang.org/x/image v0.24.0/go.mod h1:4b/ITuLfqYq1hqZcjofwctIhi7sZh2WaCjvsBNjjya8=
+golang.org/x/image v0.25.0/go.mod h1:tCAmOEGthTtkalusGp1g3xa2gke8J6c2N565dTyl9Rs=
golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU=
+golang.org/x/lint v0.0.0-20190301231843-5614ed5bae6f/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE=
golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc=
+golang.org/x/lint v0.0.0-20190409202823-959b441ac422/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc=
+golang.org/x/lint v0.0.0-20190909230951-414d861bb4ac/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc=
+golang.org/x/lint v0.0.0-20190930215403-16217165b5de/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc=
+golang.org/x/lint v0.0.0-20191125180803-fdd1cda4f05f/go.mod h1:5qLYkcX4OjUUV8bRuDixDT3tpyyb+LUpUlRWLxfhWrs=
+golang.org/x/lint v0.0.0-20200130185559-910be7a94367/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY=
+golang.org/x/lint v0.0.0-20200302205851-738671d3881b/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY=
+golang.org/x/lint v0.0.0-20201208152925-83fdc39ff7b5/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY=
+golang.org/x/lint v0.0.0-20210508222113-6edffad5e616/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY=
+golang.org/x/mobile v0.0.0-20190312151609-d3739f865fa6/go.mod h1:z+o9i4GpDbdi3rU15maQ/Ox0txvL9dWGYEHz965HBQE=
+golang.org/x/mobile v0.0.0-20190719004257-d2bd2a29d028/go.mod h1:E/iHnbuqvinMTCcRqshq8CkpyQDoeVncDDYHnLhea+o=
+golang.org/x/mobile v0.0.0-20201217150744-e6ae53a27f4f/go.mod h1:skQtrUTUwhdJvXM/2KKJzY8pDgNr9I/FOMqDVRPBUS4=
+golang.org/x/mobile v0.0.0-20231127183840-76ac6878050a/go.mod h1:Ede7gF0KGoHlj822RtphAHK1jLdrcuRBZg0sF1Q+SPc=
+golang.org/x/mod v0.0.0-20190513183733-4bf6d317e70e/go.mod h1:mXi4GBBbnImb6dmsKGUJ2LatrhH/nqhxcFungHvyanc=
+golang.org/x/mod v0.1.0/go.mod h1:0QHyrYULN0/3qlju5TqG8bIK38QM8yzMo5ekMj3DlcY=
+golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg=
+golang.org/x/mod v0.1.1-0.20191107180719-034126e5016b/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg=
+golang.org/x/mod v0.1.1-0.20191209134235-331c550502dd/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
+golang.org/x/mod v0.4.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
+golang.org/x/mod v0.4.1/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
+golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
+golang.org/x/mod v0.5.0/go.mod h1:5OXOZSfqPIIbmVBIIKWRFfZjPR0E5r58TLhUjH0a2Ro=
+golang.org/x/mod v0.5.1/go.mod h1:5OXOZSfqPIIbmVBIIKWRFfZjPR0E5r58TLhUjH0a2Ro=
golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4=
+golang.org/x/mod v0.6.0/go.mod h1:4mET923SAdbXp2ki8ey+zGs1SLqsuM2Y0uvdZR/fUNI=
+golang.org/x/mod v0.7.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs=
golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs=
+golang.org/x/mod v0.9.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs=
+golang.org/x/mod v0.10.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs=
+golang.org/x/mod v0.11.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs=
golang.org/x/mod v0.12.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs=
+golang.org/x/mod v0.14.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c=
golang.org/x/mod v0.15.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c=
golang.org/x/mod v0.17.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c=
-golang.org/x/mod v0.24.0 h1:ZfthKaKaT4NrhGVZHO1/WDTwGES4De8KtWO0SIbNJMU=
+golang.org/x/mod v0.18.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c=
+golang.org/x/mod v0.21.0/go.mod h1:6SkKJ3Xj0I0BrPOZoBy3bdMptDDU9oJrpohJ3eWZ1fY=
golang.org/x/mod v0.24.0/go.mod h1:IXM97Txy2VM4PJ3gI61r1YEk/gAj6zAHN3AdZt6S9Ww=
+golang.org/x/mod v0.25.0 h1:n7a+ZbQKQA/Ysbyb0/6IbB1H/X41mKgbhfv7AfG/44w=
+golang.org/x/mod v0.25.0/go.mod h1:IXM97Txy2VM4PJ3gI61r1YEk/gAj6zAHN3AdZt6S9Ww=
golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
-golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
+golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
+golang.org/x/net v0.0.0-20181023162649-9b4f9f5ad519/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
golang.org/x/net v0.0.0-20181114220301-adae6a3d119a/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
+golang.org/x/net v0.0.0-20181201002055-351d144fa1fc/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
+golang.org/x/net v0.0.0-20181220203305-927f97764cc3/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
+golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
+golang.org/x/net v0.0.0-20190125091013-d26f9f9a57f3/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
+golang.org/x/net v0.0.0-20190501004415-9ce7a6920f09/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
+golang.org/x/net v0.0.0-20190503192946-f4e77d36d62c/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
+golang.org/x/net v0.0.0-20190603091049-60506f45cf65/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks=
golang.org/x/net v0.0.0-20190613194153-d28f0bde5980/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
+golang.org/x/net v0.0.0-20190628185345-da137c7871d7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
+golang.org/x/net v0.0.0-20190724013045-ca1201d0de80/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
+golang.org/x/net v0.0.0-20190813141303-74dc4d7220e7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
+golang.org/x/net v0.0.0-20191209160850-c0dbc17a3553/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
+golang.org/x/net v0.0.0-20200114155413-6afb5195e5aa/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
+golang.org/x/net v0.0.0-20200202094626-16171245cfb2/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
+golang.org/x/net v0.0.0-20200222125558-5a598a2470a0/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
+golang.org/x/net v0.0.0-20200301022130-244492dfa37a/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
+golang.org/x/net v0.0.0-20200324143707-d3edc9973b7e/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A=
+golang.org/x/net v0.0.0-20200501053045-e0ff5e5a1de5/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A=
+golang.org/x/net v0.0.0-20200506145744-7e3656a0809f/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A=
+golang.org/x/net v0.0.0-20200513185701-a91f0712d120/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A=
+golang.org/x/net v0.0.0-20200520182314-0ba52f642ac2/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A=
+golang.org/x/net v0.0.0-20200625001655-4c5254603344/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA=
+golang.org/x/net v0.0.0-20200707034311-ab3426394381/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA=
+golang.org/x/net v0.0.0-20200822124328-c89045814202/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA=
golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU=
+golang.org/x/net v0.0.0-20201031054903-ff519b6c9102/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU=
golang.org/x/net v0.0.0-20201110031124-69a78807bb2b/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU=
+golang.org/x/net v0.0.0-20201209123823-ac852fbbde11/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg=
+golang.org/x/net v0.0.0-20201224014010-6772e930b67b/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg=
+golang.org/x/net v0.0.0-20210119194325-5f4716e94777/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg=
golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg=
+golang.org/x/net v0.0.0-20210316092652-d523dce5a7f4/go.mod h1:RBQZq4jEuRlivfhVLdyRGr576XBO4/greRjx4P4O3yc=
+golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM=
+golang.org/x/net v0.0.0-20210503060351-7fd8e65b6420/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
+golang.org/x/net v0.0.0-20210813160813-60bc85c4be6d/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
+golang.org/x/net v0.0.0-20211015210444-4f30a5c0130f/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
+golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
+golang.org/x/net v0.0.0-20220127200216-cd36cc0744dd/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk=
+golang.org/x/net v0.0.0-20220225172249-27dd8689420f/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk=
+golang.org/x/net v0.0.0-20220325170049-de3da57026de/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk=
+golang.org/x/net v0.0.0-20220412020605-290c469a71a5/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk=
+golang.org/x/net v0.0.0-20220425223048-2871e0cb64e4/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk=
+golang.org/x/net v0.0.0-20220607020251-c690dde0001d/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c=
+golang.org/x/net v0.0.0-20220617184016-355a448f1bc9/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c=
+golang.org/x/net v0.0.0-20220624214902-1bab6f366d9e/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c=
golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c=
+golang.org/x/net v0.0.0-20220909164309-bea034e7d591/go.mod h1:YDH+HFinaLZZlnHAfSS6ZXJJ9M9t4Dl22yv3iI2vPwk=
+golang.org/x/net v0.0.0-20221012135044-0b7e1fb9d458/go.mod h1:YDH+HFinaLZZlnHAfSS6ZXJJ9M9t4Dl22yv3iI2vPwk=
+golang.org/x/net v0.0.0-20221014081412-f15817d10f9b/go.mod h1:YDH+HFinaLZZlnHAfSS6ZXJJ9M9t4Dl22yv3iI2vPwk=
+golang.org/x/net v0.1.0/go.mod h1:Cx3nUiGt4eDBEyega/BKRp+/AlGL8hYe7U9odMt2Cco=
+golang.org/x/net v0.2.0/go.mod h1:KqCZLdyyvdV855qA2rE3GC2aiw5xGR5TEjj8smXukLY=
+golang.org/x/net v0.4.0/go.mod h1:MBQ8lrhLObU/6UmLb4fmbmk5OcyYmqtbGd/9yIeKjEE=
+golang.org/x/net v0.5.0/go.mod h1:DivGGAXEgPSlEBzxGzZI+ZLohi+xUj054jfeKui00ws=
golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs=
+golang.org/x/net v0.7.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs=
+golang.org/x/net v0.8.0/go.mod h1:QVkue5JL9kW//ek3r6jTKnTFis1tRmNAW2P1shuFdJc=
+golang.org/x/net v0.9.0/go.mod h1:d48xBJpPfHeWQsugry2m+kC02ZBRGRgulfHnEXEuWns=
golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg=
+golang.org/x/net v0.12.0/go.mod h1:zEVYFnQC7m/vmpQFELhcD1EWkZlX69l4oqgmer6hfKA=
+golang.org/x/net v0.14.0/go.mod h1:PpSgVXXLK0OxS0F31C1/tv6XNguvCrnXIDrFMspZIUI=
golang.org/x/net v0.15.0/go.mod h1:idbUs1IY1+zTqbi8yxTbhexhEEk5ur9LInksu6HrEpk=
+golang.org/x/net v0.18.0/go.mod h1:/czyP5RqHAH4odGYxBJ1qz0+CE5WZ+2j1YgoEo8F2jQ=
+golang.org/x/net v0.19.0/go.mod h1:CfAk/cbD4CthTvqiEl8NpboMuiuOYsAr/7NOjZJtv1U=
+golang.org/x/net v0.20.0/go.mod h1:z8BVo6PvndSri0LbOE3hAn0apkU+1YvI6E70E9jsnvY=
golang.org/x/net v0.21.0/go.mod h1:bIjVDfnllIU7BJ2DNgfnXvpSvtn8VRwhlsaeUTyUS44=
golang.org/x/net v0.25.0/go.mod h1:JkAGAh7GEvH74S6FOH42FLoXpXbE/aqXSrIQjXgsiwM=
-golang.org/x/net v0.39.0 h1:ZCu7HMWDxpXpaiKdhzIfaltL9Lp31x/3fCP11bc6/fY=
-golang.org/x/net v0.39.0/go.mod h1:X7NRbYVEA+ewNkCNyJ513WmMdQ3BineSwVtN2zD/d+E=
-golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
-golang.org/x/oauth2 v0.29.0 h1:WdYw2tdTK1S8olAzWHdgeqfy+Mtm9XNhv/xJsY65d98=
-golang.org/x/oauth2 v0.29.0/go.mod h1:onh5ek6nERTohokkhCD/y2cV4Do3fxFHFuAejCkRWT8=
+golang.org/x/net v0.26.0/go.mod h1:5YKkiSynbBIh3p6iOc/vibscux0x38BZDkn8sCUPxHE=
+golang.org/x/net v0.28.0/go.mod h1:yqtgsTWOOnlGLG9GFRrK3++bGOUEkNBoHZc8MEDWPNg=
+golang.org/x/net v0.30.0/go.mod h1:2wGyMJ5iFasEhkwi13ChkO/t1ECNC4X4eBKkVFyYFlU=
+golang.org/x/net v0.33.0/go.mod h1:HXLR5J+9DxmrqMwG9qjGCxZ+zKXxBru04zlTvWlWuN4=
+golang.org/x/net v0.34.0/go.mod h1:di0qlW3YNM5oh6GqDGQr92MyTozJPmybPK4Ev/Gm31k=
+golang.org/x/net v0.37.0/go.mod h1:ivrbrMbzFq5J41QOQh0siUuly180yBYtLp+CKbEaFx8=
+golang.org/x/net v0.40.0/go.mod h1:y0hY0exeL2Pku80/zKK7tpntoX23cqL3Oa6njdgRtds=
+golang.org/x/net v0.41.0 h1:vBTly1HeNPEn3wtREYfy4GZ/NECgw2Cnl+nK6Nz3uvw=
+golang.org/x/net v0.41.0/go.mod h1:B/K4NNqkfmg07DQYrbwvSluqCJOOXwUjeb/5lOisjbA=
+golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
+golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
+golang.org/x/oauth2 v0.0.0-20191202225959-858c2ad4c8b6/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
+golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
+golang.org/x/oauth2 v0.0.0-20200902213428-5d25da1a8d43/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A=
+golang.org/x/oauth2 v0.0.0-20201109201403-9fd604954f58/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A=
+golang.org/x/oauth2 v0.0.0-20201208152858-08078c50e5b5/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A=
+golang.org/x/oauth2 v0.0.0-20210218202405-ba52d332ba99/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A=
+golang.org/x/oauth2 v0.0.0-20210220000619-9bb904979d93/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A=
+golang.org/x/oauth2 v0.0.0-20210313182246-cd4f82c27b84/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A=
+golang.org/x/oauth2 v0.0.0-20210514164344-f6687ab2804c/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A=
+golang.org/x/oauth2 v0.0.0-20210628180205-a41e5a781914/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A=
+golang.org/x/oauth2 v0.0.0-20210805134026-6f1e6394065a/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A=
+golang.org/x/oauth2 v0.0.0-20210819190943-2bc19b11175f/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A=
+golang.org/x/oauth2 v0.0.0-20211104180415-d3ed0bb246c8/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A=
+golang.org/x/oauth2 v0.0.0-20220223155221-ee480838109b/go.mod h1:DAh4E804XQdzx2j+YRIaUnCqCV2RuMz24cGBJ5QYIrc=
+golang.org/x/oauth2 v0.0.0-20220309155454-6242fa91716a/go.mod h1:DAh4E804XQdzx2j+YRIaUnCqCV2RuMz24cGBJ5QYIrc=
+golang.org/x/oauth2 v0.0.0-20220411215720-9780585627b5/go.mod h1:DAh4E804XQdzx2j+YRIaUnCqCV2RuMz24cGBJ5QYIrc=
+golang.org/x/oauth2 v0.0.0-20220608161450-d0670ef3b1eb/go.mod h1:jaDAt6Dkxork7LmZnYtzbRWj0W47D86a3TGe0YHBvmE=
+golang.org/x/oauth2 v0.0.0-20220622183110-fd043fe589d2/go.mod h1:jaDAt6Dkxork7LmZnYtzbRWj0W47D86a3TGe0YHBvmE=
+golang.org/x/oauth2 v0.0.0-20220822191816-0ebed06d0094/go.mod h1:h4gKUeWbJ4rQPri7E0u6Gs4e9Ri2zaLxzw5DI5XGrYg=
+golang.org/x/oauth2 v0.0.0-20220909003341-f21342109be1/go.mod h1:h4gKUeWbJ4rQPri7E0u6Gs4e9Ri2zaLxzw5DI5XGrYg=
+golang.org/x/oauth2 v0.0.0-20221006150949-b44042a4b9c1/go.mod h1:h4gKUeWbJ4rQPri7E0u6Gs4e9Ri2zaLxzw5DI5XGrYg=
+golang.org/x/oauth2 v0.0.0-20221014153046-6fdb5e3db783/go.mod h1:h4gKUeWbJ4rQPri7E0u6Gs4e9Ri2zaLxzw5DI5XGrYg=
+golang.org/x/oauth2 v0.4.0/go.mod h1:RznEsdpjGAINPTOF0UH/t+xJ75L18YO3Ho6Pyn+uRec=
+golang.org/x/oauth2 v0.5.0/go.mod h1:9/XBHVqLaWO3/BRHs5jbpYCnOZVjj5V0ndyaAM7KB4I=
+golang.org/x/oauth2 v0.6.0/go.mod h1:ycmewcwgD4Rpr3eZJLSB4Kyyljb3qDh40vJ8STE5HKw=
+golang.org/x/oauth2 v0.7.0/go.mod h1:hPLQkd9LyjfXTiRohC/41GhcFqxisoUQ99sCUOHO9x4=
+golang.org/x/oauth2 v0.8.0/go.mod h1:yr7u4HXZRm1R1kBWqr/xKNqewf0plRYoB7sla+BCIXE=
+golang.org/x/oauth2 v0.30.0 h1:dnDm7JmhM45NNpd8FDDeLhK6FwqbOf4MLCM9zb1BOHI=
+golang.org/x/oauth2 v0.30.0/go.mod h1:B++QgG3ZKulg6sRPGD/mqlHQs5rB3Ml9erfeDY7xKlU=
golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
+golang.org/x/sync v0.0.0-20190227155943-e225da77a7e6/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
+golang.org/x/sync v0.0.0-20200317015054-43a5402ce75a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
+golang.org/x/sync v0.0.0-20200625203802-6e8e738ad208/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
+golang.org/x/sync v0.0.0-20201207232520-09787c993a3a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
+golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
+golang.org/x/sync v0.0.0-20220601150217-0de741cfad7f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
+golang.org/x/sync v0.0.0-20220819030929-7fc1605a5dde/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
+golang.org/x/sync v0.0.0-20220929204114-8fcdb60fdcc0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
+golang.org/x/sync v0.2.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.3.0/go.mod h1:FU7BRWz2tNW+3quACPkgCx/L+uEAv1htQ0V83Z9Rj+Y=
+golang.org/x/sync v0.5.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk=
golang.org/x/sync v0.6.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk=
golang.org/x/sync v0.7.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk=
+golang.org/x/sync v0.8.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk=
golang.org/x/sync v0.10.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk=
-golang.org/x/sync v0.13.0 h1:AauUjRAJ9OSnvULf/ARrrVywoJDy0YS2AwQ98I37610=
-golang.org/x/sync v0.13.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA=
-golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
+golang.org/x/sync v0.11.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk=
+golang.org/x/sync v0.12.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA=
+golang.org/x/sync v0.14.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA=
+golang.org/x/sync v0.15.0 h1:KWH3jNZsfyT6xfAfKiz6MRNmd46ByHDYaZ7KSkCtdW8=
+golang.org/x/sync v0.15.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA=
+golang.org/x/sys v0.0.0-20180823144017-11551d06cbcc/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
+golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
+golang.org/x/sys v0.0.0-20181026203630-95b1ffbd15a5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
+golang.org/x/sys v0.0.0-20181107165924-66b7b1311ac8/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20181116152217-5ac8a444bdc5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
+golang.org/x/sys v0.0.0-20181122145206-62eef0e2fa9b/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
+golang.org/x/sys v0.0.0-20190312061237-fead79001313/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20190422165155-953cdadca894/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20190502145724-3ef323f4f1fd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20190606165138-5da285871e9c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20190624142023-c5567b49c5d0/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20190726091711-fc99dfbffb4e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20190801041406-cbf593c0f2f3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20190826190057-c7b8b68b1456/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20190916202348-b4ddaad3f8a3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20191001151750-bb3f8db39f24/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20191204072324-ce4227a45e2e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20191220142924-d4481acd189f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20191228213918-04cbcbbfeed8/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20200113162924-86b910548bc1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20200116001909-b77594299b42/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20200122134326-e047566fdf82/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20200202164722-d101bd2416d5/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20200212091648-12a6c2dcc1e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20200302150141-5c8b2ff67527/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20200331124033-c3d80250170d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20200501052902-10377860bb8e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20200511232937-7e40ca221e25/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20200515095857-1151b9dac4a9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20200523222454-059865788121/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20200803210538-64077c9b5642/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20200905004654-be1d3432aa8f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20201201145000-ef89a241ccb3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20210104204734-6f8348627aad/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20210119212857-b64e53b001e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20210220050731-9a76102bfb43/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20210225134936-a50acf3fe073/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20210304124612-50617c2ba197/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20210305230114-8fe3ee5dd75b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20210315160823-c6e025ad8005/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20210320140829-1e4c9ba3b0c4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20210423185535-09eb48e85fd7/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.0.0-20210514084401-e8d321eab015/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.0.0-20210603125802-9665404d3644/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20210616094352-59db8d763f22/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.0.0-20210806184541-e5e7981a1069/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.0.0-20210816183151-1e6c022a8912/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.0.0-20210823070655-63515b42dcdf/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.0.0-20210908233432-aa78b53d3365/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.0.0-20211007075335-d3039528d8ac/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.0.0-20211019181941-9d821ace8654/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.0.0-20211124211545-fe61309f8881/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.0.0-20211210111614-af8b64212486/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.0.0-20220128215802-99c3d69c2c27/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.0.0-20220209214540-3681064d5158/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.0.0-20220227234510-4e6760a101f9/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.0.0-20220328115105-d36c6a25d886/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.0.0-20220412211240-33da011f77ad/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.0.0-20220502124256-b6088ccd6cba/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.0.0-20220503163025-988cb79eb6c6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.0.0-20220610221304-9f5ed59c137d/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.0.0-20220615213510-4f61da869c0c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.0.0-20220624220833-87e55d714810/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.0.0-20220728004956-3c1f35247d10/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.0.0-20220825204002-c680a09ffe64/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.0.0-20220829200755-d48e67d00261/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.2.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.3.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.4.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.7.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.10.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.11.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.12.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.14.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
+golang.org/x/sys v0.15.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
+golang.org/x/sys v0.16.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
golang.org/x/sys v0.17.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
golang.org/x/sys v0.20.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
+golang.org/x/sys v0.21.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
+golang.org/x/sys v0.22.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
+golang.org/x/sys v0.23.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
+golang.org/x/sys v0.24.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
+golang.org/x/sys v0.26.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
golang.org/x/sys v0.28.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
-golang.org/x/sys v0.32.0 h1:s77OFDvIQeibCmezSnk/q6iAfkdiQaJi4VzroCFrN20=
-golang.org/x/sys v0.32.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k=
+golang.org/x/sys v0.29.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
+golang.org/x/sys v0.30.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
+golang.org/x/sys v0.31.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k=
+golang.org/x/sys v0.33.0 h1:q3i8TbbEz+JRD9ywIRlyRAQbM0qF7hu24q3teo2hbuw=
+golang.org/x/sys v0.33.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k=
golang.org/x/telemetry v0.0.0-20240228155512-f48c80bd79b2/go.mod h1:TeRTkGYfJXctD9OcfyVLyj2J3IxLnKwHJR8f4D8a3YE=
+golang.org/x/telemetry v0.0.0-20240521205824-bda55230c457/go.mod h1:pRgIJT+bRLFKnoM1ldnzKoxTIn14Yxz928LQRYYgIN0=
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
+golang.org/x/term v0.1.0/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
+golang.org/x/term v0.2.0/go.mod h1:TVmDHMZPmdnySmBfhjOoOdhjzdE1h4u1VwSiw2l1Nuc=
+golang.org/x/term v0.3.0/go.mod h1:q750SLmJuPmVoN1blW3UFBPREJfb1KmY3vwxfr+nFDA=
+golang.org/x/term v0.4.0/go.mod h1:9P2UbLfCdcvo3p/nzKvsmas4TnlujnuoV9hGgYzW1lQ=
golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k=
+golang.org/x/term v0.6.0/go.mod h1:m6U89DPEgQRMq3DNkDClhWw02AUbt2daBVO4cn4Hv9U=
+golang.org/x/term v0.7.0/go.mod h1:P32HKFT3hSsZrRxla30E9HqToFYAQPCMs/zFMBUFqPY=
golang.org/x/term v0.8.0/go.mod h1:xPskH00ivmX89bAKVGSKKtLOWNx2+17Eiy94tnKShWo=
+golang.org/x/term v0.10.0/go.mod h1:lpqdcUyK/oCiQxvxVrppt5ggO2KCZ5QblwqPnfZ6d5o=
+golang.org/x/term v0.11.0/go.mod h1:zC9APTIj3jG3FdV/Ons+XE1riIZXG4aZ4GTHiPZJPIU=
golang.org/x/term v0.12.0/go.mod h1:owVbMEjm3cBLCHdkQu9b1opXd4ETQWc3BhuQGKgXgvU=
+golang.org/x/term v0.14.0/go.mod h1:TySc+nGkYR6qt8km8wUhuFRTVSMIX3XPR58y2lC8vww=
+golang.org/x/term v0.15.0/go.mod h1:BDl952bC7+uMoWR75FIrCDx79TPU9oHkTZ9yRbYOrX0=
+golang.org/x/term v0.16.0/go.mod h1:yn7UURbUtPyrVJPGPq404EukNFxcm/foM+bV/bfcDsY=
golang.org/x/term v0.17.0/go.mod h1:lLRBjIVuehSbZlaOtGMbcMncT+aqLLLmKrsjNrUguwk=
golang.org/x/term v0.20.0/go.mod h1:8UkIAJTvZgivsXaD6/pH6U9ecQzZ45awqEOzuCvwpFY=
+golang.org/x/term v0.21.0/go.mod h1:ooXLefLobQVslOqselCNF4SxFAaoS6KujMbsGzSDmX0=
+golang.org/x/term v0.22.0/go.mod h1:F3qCibpT5AMpCRfhfT53vVJwhLtIVHhB9XDjfFvnMI4=
+golang.org/x/term v0.23.0/go.mod h1:DgV24QBUrK6jhZXl+20l6UWznPlwAHm1Q1mGHtydmSk=
+golang.org/x/term v0.25.0/go.mod h1:RPyXicDX+6vLxogjjRxjgD2TKtmAO6NZBsBRfrOLu7M=
golang.org/x/term v0.27.0/go.mod h1:iMsnZpn0cago0GOrHO2+Y7u7JPn5AylBrcoWkElMTSM=
-golang.org/x/term v0.31.0 h1:erwDkOK1Msy6offm1mOgvspSkslFnIGsFnxOKoufg3o=
-golang.org/x/term v0.31.0/go.mod h1:R4BeIy7D95HzImkxGkTW1UQTtP54tio2RyHz7PwK0aw=
+golang.org/x/term v0.28.0/go.mod h1:Sw/lC2IAUZ92udQNf3WodGtn4k/XoLyZoh8v/8uiwek=
+golang.org/x/term v0.30.0/go.mod h1:NYYFdzHoI5wRh/h5tDMdMqCqPJZEuNqVR5xJLd/n67g=
+golang.org/x/term v0.32.0 h1:DR4lr0TjUs3epypdhTOkMmuF5CDFJ/8pOnbzMZPQ7bg=
+golang.org/x/term v0.32.0/go.mod h1:uZG1FhGx848Sqfsq4/DlJr3xGGsYMu/L5GW4abiaEPQ=
+golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
+golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
+golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk=
golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
+golang.org/x/text v0.3.4/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
+golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
+golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ=
+golang.org/x/text v0.3.8/go.mod h1:E6s5w1FMmriuDzIBO73fBruAKo1PCIq6d2Q6DHfQ8WQ=
+golang.org/x/text v0.4.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8=
+golang.org/x/text v0.5.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8=
+golang.org/x/text v0.6.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8=
golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8=
+golang.org/x/text v0.8.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8=
golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8=
+golang.org/x/text v0.11.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE=
+golang.org/x/text v0.12.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE=
golang.org/x/text v0.13.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE=
golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU=
golang.org/x/text v0.15.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU=
+golang.org/x/text v0.16.0/go.mod h1:GhwF1Be+LQoKShO3cGOHzqOgRrGaYc9AvblQOmPVHnI=
+golang.org/x/text v0.17.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY=
+golang.org/x/text v0.19.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY=
golang.org/x/text v0.21.0/go.mod h1:4IBbMaMmOPCJ8SecivzSH54+73PCFmPWxNTLm+vZkEQ=
-golang.org/x/text v0.24.0 h1:dd5Bzh4yt5KYA8f9CJHCP4FB4D51c2c6JvN37xJJkJ0=
-golang.org/x/text v0.24.0/go.mod h1:L8rBsPeo2pSS+xqN0d5u2ikmjtmoJbDBT1b7nHvFCdU=
+golang.org/x/text v0.22.0/go.mod h1:YRoo4H8PVmsu+E3Ou7cqLVH8oXWIHVoX0jqUWALQhfY=
+golang.org/x/text v0.23.0/go.mod h1:/BLNzu4aZCJ1+kcD0DNRotWKage4q2rGVAg4o22unh4=
+golang.org/x/text v0.25.0/go.mod h1:WEdwpYrmk1qmdHvhkSTNPm3app7v4rsT8F2UD6+VHIA=
+golang.org/x/text v0.26.0 h1:P42AVeLghgTYr4+xUnTRKDMqpar+PtX7KWuNQL21L8M=
+golang.org/x/text v0.26.0/go.mod h1:QK15LZJUUQVJxhz7wXgxSy/CJaTFjd0G+YLonydOVQA=
+golang.org/x/time v0.0.0-20180412165947-fbb02b2291d2/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
+golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
+golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
+golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
+golang.org/x/time v0.0.0-20220922220347-f3bd1da661af/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
+golang.org/x/time v0.1.0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
+golang.org/x/time v0.3.0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
golang.org/x/time v0.11.0 h1:/bpjEDfN9tkoN/ryeYHnv5hcMlc8ncjMcM4XBk5NWV0=
golang.org/x/time v0.11.0/go.mod h1:CDIdPxbZBQxdj6cxyCIdrNogrJKMJ7pr37NYpMcMDSg=
+golang.org/x/tools v0.0.0-20180221164845-07fd8470d635/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
+golang.org/x/tools v0.0.0-20180525024113-a5b4c53f6e8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
-golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
+golang.org/x/tools v0.0.0-20190206041539-40960b6deb8e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY=
golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
+golang.org/x/tools v0.0.0-20190312151545-0bb0c0a6e846/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
+golang.org/x/tools v0.0.0-20190312170243-e65039ee4138/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
+golang.org/x/tools v0.0.0-20190328211700-ab21143f2384/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
+golang.org/x/tools v0.0.0-20190425150028-36563e24a262/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q=
+golang.org/x/tools v0.0.0-20190506145303-2d16b83fe98c/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q=
golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q=
+golang.org/x/tools v0.0.0-20190606124116-d0a3d012864b/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc=
+golang.org/x/tools v0.0.0-20190621195816-6e04913cbbac/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc=
+golang.org/x/tools v0.0.0-20190628153133-6cdbf07be9d0/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc=
+golang.org/x/tools v0.0.0-20190816200558-6889da9d5479/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
+golang.org/x/tools v0.0.0-20190911174233-4f2ddba30aff/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
+golang.org/x/tools v0.0.0-20190927191325-030b2cf1153e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
+golang.org/x/tools v0.0.0-20191012152004-8de300cfc20a/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
+golang.org/x/tools v0.0.0-20191029041327-9cc4af7d6b2c/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
+golang.org/x/tools v0.0.0-20191029190741-b9c20aec41a5/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
+golang.org/x/tools v0.0.0-20191113191852-77e3bb0ad9e7/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
+golang.org/x/tools v0.0.0-20191115202509-3a792d9c32b2/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
+golang.org/x/tools v0.0.0-20191125144606-a911d9008d1f/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
+golang.org/x/tools v0.0.0-20191130070609-6e064ea0cf2d/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
+golang.org/x/tools v0.0.0-20191216173652-a0e659d51361/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
+golang.org/x/tools v0.0.0-20191227053925-7b8e75db28f4/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
+golang.org/x/tools v0.0.0-20200103221440-774c71fcf114/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
+golang.org/x/tools v0.0.0-20200117012304-6edc0a871e69/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
+golang.org/x/tools v0.0.0-20200117161641-43d50277825c/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
+golang.org/x/tools v0.0.0-20200122220014-bf1340f18c4a/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
+golang.org/x/tools v0.0.0-20200130002326-2f3ba24bd6e7/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
+golang.org/x/tools v0.0.0-20200204074204-1cc6d1ef6c74/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
+golang.org/x/tools v0.0.0-20200207183749-b753a1ba74fa/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
+golang.org/x/tools v0.0.0-20200212150539-ea181f53ac56/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
+golang.org/x/tools v0.0.0-20200224181240-023911ca70b2/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
+golang.org/x/tools v0.0.0-20200227222343-706bc42d1f0d/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
+golang.org/x/tools v0.0.0-20200304193943-95d2e580d8eb/go.mod h1:o4KQGtdN14AW+yjsvvwRTJJuXz8XRtIHtEnmAXLyFUw=
+golang.org/x/tools v0.0.0-20200312045724-11d5b4c81c7d/go.mod h1:o4KQGtdN14AW+yjsvvwRTJJuXz8XRtIHtEnmAXLyFUw=
+golang.org/x/tools v0.0.0-20200331025713-a30bf2db82d4/go.mod h1:Sl4aGygMT6LrqrWclx+PTx3U+LnKx/seiNR+3G19Ar8=
+golang.org/x/tools v0.0.0-20200501065659-ab2804fb9c9d/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE=
+golang.org/x/tools v0.0.0-20200512131952-2bc93b1c0c88/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE=
+golang.org/x/tools v0.0.0-20200515010526-7d3b6ebf133d/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE=
+golang.org/x/tools v0.0.0-20200618134242-20370b0cb4b2/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE=
golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE=
+golang.org/x/tools v0.0.0-20200729194436-6467de6f59a7/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA=
+golang.org/x/tools v0.0.0-20200804011535-6c149bb5ef0d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA=
+golang.org/x/tools v0.0.0-20200825202427-b303f430e36d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA=
+golang.org/x/tools v0.0.0-20200904185747-39188db58858/go.mod h1:Cj7w3i3Rnn0Xh82ur9kSqwfTHTeVxaDqrfMjpcNT6bE=
+golang.org/x/tools v0.0.0-20201110124207-079ba7bd75cd/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA=
+golang.org/x/tools v0.0.0-20201124115921-2c860bdd6e78/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA=
+golang.org/x/tools v0.0.0-20201201161351-ac6f37ff4c2a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA=
+golang.org/x/tools v0.0.0-20201208233053-a543418bbed2/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA=
+golang.org/x/tools v0.0.0-20210105154028-b0ab187a4818/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA=
golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA=
+golang.org/x/tools v0.0.0-20210108195828-e2f9c7f1fc8e/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA=
+golang.org/x/tools v0.1.0/go.mod h1:xkSsbof2nBLbhDlRMhhhyNLN/zl3eTqcnHD5viDpcZ0=
+golang.org/x/tools v0.1.1/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk=
+golang.org/x/tools v0.1.2/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk=
+golang.org/x/tools v0.1.3/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk=
+golang.org/x/tools v0.1.4/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk=
+golang.org/x/tools v0.1.5/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk=
+golang.org/x/tools v0.1.9/go.mod h1:nABZi5QlRsZVlzPpHl034qft6wpY4eDcsTt5AaioBiU=
golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc=
+golang.org/x/tools v0.2.0/go.mod h1:y4OqIKeOV/fWJetJ8bXPU1sEVniLMIyDAZWeHdV+NTA=
+golang.org/x/tools v0.3.0/go.mod h1:/rWhSS2+zyEVwoJf8YAX6L2f0ntZ7Kn/mGgAWcipA5k=
golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU=
+golang.org/x/tools v0.7.0/go.mod h1:4pg6aUX35JBAogB10C9AtvVL+qowtN4pT3CGSQex14s=
+golang.org/x/tools v0.9.1/go.mod h1:owI94Op576fPu3cIGQeHs3joujW/2Oc6MtlxbF5dfNc=
+golang.org/x/tools v0.11.0/go.mod h1:anzJrxPjNtfgiYQYirP2CPGzGLxrH2u2QBhn6Bf3qY8=
golang.org/x/tools v0.13.0/go.mod h1:HvlwmtVNQAhOuCjW7xxvovg8wbNq7LwfXh/k7wXUl58=
+golang.org/x/tools v0.15.0/go.mod h1:hpksKq4dtpQWS1uQ61JkdqWM3LscIS6Slf+VVkm+wQk=
+golang.org/x/tools v0.16.0/go.mod h1:kYVVN6I1mBNoB1OX+noeBjbRk4IUEPa7JJ+TJMEooJ0=
golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d/go.mod h1:aiJjzUbINMkxbQROHiO6hDPo2LHcIPhhQsa9DLh0yGk=
-golang.org/x/tools v0.32.0 h1:Q7N1vhpkQv7ybVzLFtTjvQya2ewbwNDZzUgfXGqtMWU=
-golang.org/x/tools v0.32.0/go.mod h1:ZxrU41P/wAbZD8EDa6dDCa6XfpkhJ7HFMjHJXfBDu8s=
+golang.org/x/tools v0.22.0/go.mod h1:aCwcsjqvq7Yqt6TNyX7QMU2enbQ/Gt0bo6krSeEri+c=
+golang.org/x/tools v0.26.0/go.mod h1:TPVVj70c7JJ3WCazhD8OdXcZg/og+b9+tH/KxylGwH0=
+golang.org/x/tools v0.33.0 h1:4qz2S3zmRxbGIhDIAgjxvFutSvH5EfnsYrRBj0UI0bc=
+golang.org/x/tools v0.33.0/go.mod h1:CIJMaWEY88juyUfo7UbgPqbC8rU2OqfAV1h2Qp0oMYI=
golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
+golang.org/x/xerrors v0.0.0-20220411194840-2f41105eb62f/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
+golang.org/x/xerrors v0.0.0-20220517211312-f3a8303e98df/go.mod h1:K8+ghG5WaK9qNqU5K3HdILfMLy1f3aNYFI/wnl100a8=
+golang.org/x/xerrors v0.0.0-20220609144429-65e65417b02f/go.mod h1:K8+ghG5WaK9qNqU5K3HdILfMLy1f3aNYFI/wnl100a8=
+golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2/go.mod h1:K8+ghG5WaK9qNqU5K3HdILfMLy1f3aNYFI/wnl100a8=
gomodules.xyz/jsonpatch/v2 v2.4.0 h1:Ci3iUJyx9UeRx7CeFN8ARgGbkESwJK+KB9lLcWxY/Zw=
gomodules.xyz/jsonpatch/v2 v2.4.0/go.mod h1:AH3dM2RI6uoBZxn3LVrfvJ3E0/9dG4cSrbuBJT4moAY=
-google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM=
+gonum.org/v1/gonum v0.0.0-20180816165407-929014505bf4/go.mod h1:Y+Yx5eoAFn32cQvJDxZx5Dpnq+c3wtXuadVZAcxbbBo=
+gonum.org/v1/gonum v0.8.2/go.mod h1:oe/vMfY3deqTw+1EZJhuvEW2iwGF1bW9wwu7XCu0+v0=
+gonum.org/v1/gonum v0.9.3/go.mod h1:TZumC3NeyVQskjXqmyWt4S3bINhy7B4eYwW69EbyX+0=
+gonum.org/v1/gonum v0.11.0/go.mod h1:fSG4YDCxxUZQJ7rKsQrj0gMOg00Il0Z96/qMA4bVQhA=
+gonum.org/v1/gonum v0.14.0/go.mod h1:AoWeoz0becf9QMWtE8iWXNXc27fK4fNeHNf/oMejGfU=
+gonum.org/v1/gonum v0.15.1/go.mod h1:eZTZuRFrzu5pcyjN5wJhcIhnUdNijYxX1T2IcrOGY0o=
+gonum.org/v1/gonum v0.16.0 h1:5+ul4Swaf3ESvrOnidPp4GZbzf0mxVQpDCYUQE7OJfk=
+gonum.org/v1/gonum v0.16.0/go.mod h1:fef3am4MQ93R2HHpKnLk4/Tbh/s0+wqD5nfa6Pnwy4E=
+gonum.org/v1/netlib v0.0.0-20190313105609-8cb42192e0e0/go.mod h1:wa6Ws7BG/ESfp6dHfk7C6KdzKA7wR7u/rKwOGE66zvw=
+gonum.org/v1/plot v0.0.0-20190515093506-e2840ee46a6b/go.mod h1:Wt8AAjI+ypCyYX3nZBvf6cAIx93T+c/OS2HFAYskSZc=
+gonum.org/v1/plot v0.9.0/go.mod h1:3Pcqqmp6RHvJI72kgb8fThyUnav364FOsdDo2aGW5lY=
+gonum.org/v1/plot v0.10.1/go.mod h1:VZW5OlhkL1mysU9vaqNHnsy86inf6Ot+jB3r+BczCEo=
+gonum.org/v1/plot v0.14.0/go.mod h1:MLdR9424SJed+5VqC6MsouEpig9pZX2VZ57H9ko2bXU=
+gonum.org/v1/plot v0.15.2/go.mod h1:DX+x+DWso3LTha+AdkJEv5Txvi+Tql3KAGkehP0/Ubg=
+google.golang.org/api v0.3.1/go.mod h1:6wY9I6uQWHQ8EM57III9mq/AjF+i8G65rmVagqKMtkk=
+google.golang.org/api v0.4.0/go.mod h1:8k5glujaEP+g9n7WNsDg8QP6cUVNI86fCNMcbazEtwE=
+google.golang.org/api v0.7.0/go.mod h1:WtwebWUNSVBH/HAw79HIFXZNqEvBhG+Ra+ax0hx3E3M=
+google.golang.org/api v0.8.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg=
+google.golang.org/api v0.9.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg=
+google.golang.org/api v0.13.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI=
+google.golang.org/api v0.14.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI=
+google.golang.org/api v0.15.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI=
+google.golang.org/api v0.17.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE=
+google.golang.org/api v0.18.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE=
+google.golang.org/api v0.19.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE=
+google.golang.org/api v0.20.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE=
+google.golang.org/api v0.22.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE=
+google.golang.org/api v0.24.0/go.mod h1:lIXQywCXRcnZPGlsd8NbLnOjtAoL6em04bJ9+z0MncE=
+google.golang.org/api v0.28.0/go.mod h1:lIXQywCXRcnZPGlsd8NbLnOjtAoL6em04bJ9+z0MncE=
+google.golang.org/api v0.29.0/go.mod h1:Lcubydp8VUV7KeIHD9z2Bys/sm/vGKnG1UHuDBSrHWM=
+google.golang.org/api v0.30.0/go.mod h1:QGmEvQ87FHZNiUVJkT14jQNYJ4ZJjdRF23ZXz5138Fc=
+google.golang.org/api v0.35.0/go.mod h1:/XrVsuzM0rZmrsbjJutiuftIzeuTQcEeaYcSk/mQ1dg=
+google.golang.org/api v0.36.0/go.mod h1:+z5ficQTmoYpPn8LCUNVpK5I7hwkpjbcgqA7I34qYtE=
+google.golang.org/api v0.40.0/go.mod h1:fYKFpnQN0DsDSKRVRcQSDQNtqWPfM9i+zNPxepjRCQ8=
+google.golang.org/api v0.41.0/go.mod h1:RkxM5lITDfTzmyKFPt+wGrCJbVfniCr2ool8kTBzRTU=
+google.golang.org/api v0.43.0/go.mod h1:nQsDGjRXMo4lvh5hP0TKqF244gqhGcr/YSIykhUk/94=
+google.golang.org/api v0.47.0/go.mod h1:Wbvgpq1HddcWVtzsVLyfLp8lDg6AA241LmgIL59tHXo=
+google.golang.org/api v0.48.0/go.mod h1:71Pr1vy+TAZRPkPs/xlCf5SsU8WjuAWv1Pfjbtukyy4=
+google.golang.org/api v0.50.0/go.mod h1:4bNT5pAuq5ji4SRZm+5QIkjny9JAyVD/3gaSihNefaw=
+google.golang.org/api v0.51.0/go.mod h1:t4HdrdoNgyN5cbEfm7Lum0lcLDLiise1F8qDKX00sOU=
+google.golang.org/api v0.54.0/go.mod h1:7C4bFFOvVDGXjfDTAsgGwDgAxRDeQ4X8NvUedIt6z3k=
+google.golang.org/api v0.55.0/go.mod h1:38yMfeP1kfjsl8isn0tliTjIb1rJXcQi4UXlbqivdVE=
+google.golang.org/api v0.56.0/go.mod h1:38yMfeP1kfjsl8isn0tliTjIb1rJXcQi4UXlbqivdVE=
+google.golang.org/api v0.57.0/go.mod h1:dVPlbZyBo2/OjBpmvNdpn2GRm6rPy75jyU7bmhdrMgI=
+google.golang.org/api v0.61.0/go.mod h1:xQRti5UdCmoCEqFxcz93fTl338AVqDgyaDRuOZ3hg9I=
+google.golang.org/api v0.63.0/go.mod h1:gs4ij2ffTRXwuzzgJl/56BdwJaA194ijkfn++9tDuPo=
+google.golang.org/api v0.67.0/go.mod h1:ShHKP8E60yPsKNw/w8w+VYaj9H6buA5UqDp8dhbQZ6g=
+google.golang.org/api v0.70.0/go.mod h1:Bs4ZM2HGifEvXwd50TtW70ovgJffJYw2oRCOFU/SkfA=
+google.golang.org/api v0.71.0/go.mod h1:4PyU6e6JogV1f9eA4voyrTY2batOLdgZ5qZ5HOCc4j8=
+google.golang.org/api v0.74.0/go.mod h1:ZpfMZOVRMywNyvJFeqL9HRWBgAuRfSjJFpe9QtRRyDs=
+google.golang.org/api v0.75.0/go.mod h1:pU9QmyHLnzlpar1Mjt4IbapUCy8J+6HD6GeELN69ljA=
+google.golang.org/api v0.77.0/go.mod h1:pU9QmyHLnzlpar1Mjt4IbapUCy8J+6HD6GeELN69ljA=
+google.golang.org/api v0.78.0/go.mod h1:1Sg78yoMLOhlQTeF+ARBoytAcH1NNyyl390YMy6rKmw=
+google.golang.org/api v0.80.0/go.mod h1:xY3nI94gbvBrE0J6NHXhxOmW97HG7Khjkku6AFB3Hyg=
+google.golang.org/api v0.84.0/go.mod h1:NTsGnUFJMYROtiquksZHBWtHfeMC7iYthki7Eq3pa8o=
+google.golang.org/api v0.85.0/go.mod h1:AqZf8Ep9uZ2pyTvgL+x0D3Zt0eoT9b5E8fmzfu6FO2g=
+google.golang.org/api v0.90.0/go.mod h1:+Sem1dnrKlrXMR/X0bPnMWyluQe4RsNoYfmNLhOIkzw=
+google.golang.org/api v0.93.0/go.mod h1:+Sem1dnrKlrXMR/X0bPnMWyluQe4RsNoYfmNLhOIkzw=
+google.golang.org/api v0.95.0/go.mod h1:eADj+UBuxkh5zlrSntJghuNeg8HwQ1w5lTKkuqaETEI=
+google.golang.org/api v0.96.0/go.mod h1:w7wJQLTM+wvQpNf5JyEcBoxK0RH7EDrh/L4qfsuJ13s=
+google.golang.org/api v0.97.0/go.mod h1:w7wJQLTM+wvQpNf5JyEcBoxK0RH7EDrh/L4qfsuJ13s=
+google.golang.org/api v0.98.0/go.mod h1:w7wJQLTM+wvQpNf5JyEcBoxK0RH7EDrh/L4qfsuJ13s=
+google.golang.org/api v0.99.0/go.mod h1:1YOf74vkVndF7pG6hIHuINsM7eWwpVTAfNMNiL91A08=
+google.golang.org/api v0.100.0/go.mod h1:ZE3Z2+ZOr87Rx7dqFsdRQkRBk36kDtp/h+QpHbB7a70=
+google.golang.org/api v0.102.0/go.mod h1:3VFl6/fzoA+qNuS1N1/VfXY4LjoXN/wzeIp7TweWwGo=
+google.golang.org/api v0.103.0/go.mod h1:hGtW6nK1AC+d9si/UBhw8Xli+QMOf6xyNAyJw4qU9w0=
+google.golang.org/api v0.106.0/go.mod h1:2Ts0XTHNVWxypznxWOYUeI4g3WdP9Pk2Qk58+a/O9MY=
+google.golang.org/api v0.107.0/go.mod h1:2Ts0XTHNVWxypznxWOYUeI4g3WdP9Pk2Qk58+a/O9MY=
+google.golang.org/api v0.108.0/go.mod h1:2Ts0XTHNVWxypznxWOYUeI4g3WdP9Pk2Qk58+a/O9MY=
+google.golang.org/api v0.110.0/go.mod h1:7FC4Vvx1Mooxh8C5HWjzZHcavuS2f6pmJpZx60ca7iI=
+google.golang.org/api v0.111.0/go.mod h1:qtFHvU9mhgTJegR31csQ+rwxyUTHOKFqCKWp1J0fdw0=
+google.golang.org/api v0.114.0/go.mod h1:ifYI2ZsFK6/uGddGfAD5BMxlnkBqCmqHSDUVi45N5Yg=
+google.golang.org/api v0.118.0/go.mod h1:76TtD3vkgmZ66zZzp72bUUklpmQmKlhh6sYtIjYK+5E=
+google.golang.org/api v0.122.0/go.mod h1:gcitW0lvnyWjSp9nKxAbdHKIZ6vF4aajGueeslZOyms=
+google.golang.org/api v0.124.0/go.mod h1:xu2HQurE5gi/3t1aFCvhPD781p0a3p11sdunTJ2BlP4=
+google.golang.org/api v0.125.0/go.mod h1:mBwVAtz+87bEN6CbA1GtZPDOqY2R5ONPqJeIlvyo4Aw=
+google.golang.org/api v0.126.0/go.mod h1:mBwVAtz+87bEN6CbA1GtZPDOqY2R5ONPqJeIlvyo4Aw=
+google.golang.org/appengine v1.2.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4=
google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4=
+google.golang.org/appengine v1.5.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4=
+google.golang.org/appengine v1.6.1/go.mod h1:i06prIuMbXzDqacNJfV5OdTW448YApPu5ww/cMBSeb0=
+google.golang.org/appengine v1.6.5/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc=
+google.golang.org/appengine v1.6.6/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc=
+google.golang.org/appengine v1.6.7/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc=
google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc=
+google.golang.org/genproto v0.0.0-20190307195333-5fe7a883aa19/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE=
+google.golang.org/genproto v0.0.0-20190418145605-e7d98fc518a7/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE=
+google.golang.org/genproto v0.0.0-20190425155659-357c62f0e4bb/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE=
+google.golang.org/genproto v0.0.0-20190502173448-54afdca5d873/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE=
+google.golang.org/genproto v0.0.0-20190530194941-fb225487d101/go.mod h1:z3L6/3dTEVtUr6QSP8miRzeRqwQOioJ9I66odjN4I7s=
+google.golang.org/genproto v0.0.0-20190801165951-fa694d86fc64/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc=
google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc=
+google.golang.org/genproto v0.0.0-20190911173649-1774047e7e51/go.mod h1:IbNlFCBrqXvoKpeg0TB2l7cyZUmoaFKYIwrEpbDKLA8=
+google.golang.org/genproto v0.0.0-20191108220845-16a3f7862a1a/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc=
+google.golang.org/genproto v0.0.0-20191115194625-c23dd37a84c9/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc=
+google.golang.org/genproto v0.0.0-20191216164720-4f79533eabd1/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc=
+google.golang.org/genproto v0.0.0-20191230161307-f3c370f40bfb/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc=
+google.golang.org/genproto v0.0.0-20200115191322-ca5a22157cba/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc=
+google.golang.org/genproto v0.0.0-20200122232147-0452cf42e150/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc=
+google.golang.org/genproto v0.0.0-20200204135345-fa8e72b47b90/go.mod h1:GmwEX6Z4W5gMy59cAlVYjN9JhxgbQH6Gn+gFDQe2lzA=
+google.golang.org/genproto v0.0.0-20200212174721-66ed5ce911ce/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c=
+google.golang.org/genproto v0.0.0-20200224152610-e50cd9704f63/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c=
+google.golang.org/genproto v0.0.0-20200228133532-8c2c7df3a383/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c=
+google.golang.org/genproto v0.0.0-20200305110556-506484158171/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c=
+google.golang.org/genproto v0.0.0-20200312145019-da6875a35672/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c=
+google.golang.org/genproto v0.0.0-20200331122359-1ee6d9798940/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c=
+google.golang.org/genproto v0.0.0-20200430143042-b979b6f78d84/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c=
+google.golang.org/genproto v0.0.0-20200511104702-f5ebc3bea380/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c=
+google.golang.org/genproto v0.0.0-20200513103714-09dca8ec2884/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c=
+google.golang.org/genproto v0.0.0-20200515170657-fc4c6c6a6587/go.mod h1:YsZOwe1myG/8QRHRsmBRE1LrgQY60beZKjly0O1fX9U=
google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo=
+google.golang.org/genproto v0.0.0-20200618031413-b414f8b61790/go.mod h1:jDfRM7FcilCzHH/e9qn6dsT145K34l5v+OpcnNgKAAA=
+google.golang.org/genproto v0.0.0-20200729003335-053ba62fc06f/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
+google.golang.org/genproto v0.0.0-20200804131852-c06518451d9c/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
+google.golang.org/genproto v0.0.0-20200825200019-8632dd797987/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
+google.golang.org/genproto v0.0.0-20200904004341-0bd0a958aa1d/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
+google.golang.org/genproto v0.0.0-20201109203340-2640f1f9cdfb/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
+google.golang.org/genproto v0.0.0-20201201144952-b05cb90ed32e/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
+google.golang.org/genproto v0.0.0-20201210142538-e3217bee35cc/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
+google.golang.org/genproto v0.0.0-20201214200347-8c77b98c765d/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
+google.golang.org/genproto v0.0.0-20210108203827-ffc7fda8c3d7/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
+google.golang.org/genproto v0.0.0-20210222152913-aa3ee6e6a81c/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
+google.golang.org/genproto v0.0.0-20210226172003-ab064af71705/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
+google.golang.org/genproto v0.0.0-20210303154014-9728d6b83eeb/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
+google.golang.org/genproto v0.0.0-20210310155132-4ce2db91004e/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
+google.golang.org/genproto v0.0.0-20210319143718-93e7006c17a6/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
+google.golang.org/genproto v0.0.0-20210329143202-679c6ae281ee/go.mod h1:9lPAdzaEmUacj36I+k7YKbEc5CXzPIeORRgDAUOu28A=
+google.golang.org/genproto v0.0.0-20210402141018-6c239bbf2bb1/go.mod h1:9lPAdzaEmUacj36I+k7YKbEc5CXzPIeORRgDAUOu28A=
+google.golang.org/genproto v0.0.0-20210513213006-bf773b8c8384/go.mod h1:P3QM42oQyzQSnHPnZ/vqoCdDmzH28fzWByN9asMeM8A=
+google.golang.org/genproto v0.0.0-20210602131652-f16073e35f0c/go.mod h1:UODoCrxHCcBojKKwX1terBiRUaqAsFqJiF615XL43r0=
+google.golang.org/genproto v0.0.0-20210604141403-392c879c8b08/go.mod h1:UODoCrxHCcBojKKwX1terBiRUaqAsFqJiF615XL43r0=
+google.golang.org/genproto v0.0.0-20210608205507-b6d2f5bf0d7d/go.mod h1:UODoCrxHCcBojKKwX1terBiRUaqAsFqJiF615XL43r0=
+google.golang.org/genproto v0.0.0-20210624195500-8bfb893ecb84/go.mod h1:SzzZ/N+nwJDaO1kznhnlzqS8ocJICar6hYhVyhi++24=
+google.golang.org/genproto v0.0.0-20210713002101-d411969a0d9a/go.mod h1:AxrInvYm1dci+enl5hChSFPOmmUF1+uAa/UsgNRWd7k=
+google.golang.org/genproto v0.0.0-20210716133855-ce7ef5c701ea/go.mod h1:AxrInvYm1dci+enl5hChSFPOmmUF1+uAa/UsgNRWd7k=
+google.golang.org/genproto v0.0.0-20210728212813-7823e685a01f/go.mod h1:ob2IJxKrgPT52GcgX759i1sleT07tiKowYBGbczaW48=
+google.golang.org/genproto v0.0.0-20210805201207-89edb61ffb67/go.mod h1:ob2IJxKrgPT52GcgX759i1sleT07tiKowYBGbczaW48=
+google.golang.org/genproto v0.0.0-20210813162853-db860fec028c/go.mod h1:cFeNkxwySK631ADgubI+/XFU/xp8FD5KIVV4rj8UC5w=
+google.golang.org/genproto v0.0.0-20210821163610-241b8fcbd6c8/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY=
+google.golang.org/genproto v0.0.0-20210828152312-66f60bf46e71/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY=
+google.golang.org/genproto v0.0.0-20210831024726-fe130286e0e2/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY=
+google.golang.org/genproto v0.0.0-20210903162649-d08c68adba83/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY=
+google.golang.org/genproto v0.0.0-20210909211513-a8c4777a87af/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY=
+google.golang.org/genproto v0.0.0-20210924002016-3dee208752a0/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc=
+google.golang.org/genproto v0.0.0-20211118181313-81c1377c94b1/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc=
+google.golang.org/genproto v0.0.0-20211206160659-862468c7d6e0/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc=
+google.golang.org/genproto v0.0.0-20211208223120-3a66f561d7aa/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc=
+google.golang.org/genproto v0.0.0-20211221195035-429b39de9b1c/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc=
+google.golang.org/genproto v0.0.0-20220126215142-9970aeb2e350/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc=
+google.golang.org/genproto v0.0.0-20220207164111-0872dc986b00/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc=
+google.golang.org/genproto v0.0.0-20220218161850-94dd64e39d7c/go.mod h1:kGP+zUP2Ddo0ayMi4YuN7C3WZyJvGLZRh8Z5wnAqvEI=
+google.golang.org/genproto v0.0.0-20220222213610-43724f9ea8cf/go.mod h1:kGP+zUP2Ddo0ayMi4YuN7C3WZyJvGLZRh8Z5wnAqvEI=
+google.golang.org/genproto v0.0.0-20220304144024-325a89244dc8/go.mod h1:kGP+zUP2Ddo0ayMi4YuN7C3WZyJvGLZRh8Z5wnAqvEI=
+google.golang.org/genproto v0.0.0-20220310185008-1973136f34c6/go.mod h1:kGP+zUP2Ddo0ayMi4YuN7C3WZyJvGLZRh8Z5wnAqvEI=
+google.golang.org/genproto v0.0.0-20220324131243-acbaeb5b85eb/go.mod h1:hAL49I2IFola2sVEjAn7MEwsja0xp51I0tlGAf9hz4E=
+google.golang.org/genproto v0.0.0-20220329172620-7be39ac1afc7/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo=
+google.golang.org/genproto v0.0.0-20220407144326-9054f6ed7bac/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo=
+google.golang.org/genproto v0.0.0-20220413183235-5e96e2839df9/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo=
+google.golang.org/genproto v0.0.0-20220414192740-2d67ff6cf2b4/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo=
+google.golang.org/genproto v0.0.0-20220421151946-72621c1f0bd3/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo=
+google.golang.org/genproto v0.0.0-20220429170224-98d788798c3e/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo=
+google.golang.org/genproto v0.0.0-20220502173005-c8bf987b8c21/go.mod h1:RAyBrSAP7Fh3Nc84ghnVLDPuV51xc9agzmm4Ph6i0Q4=
+google.golang.org/genproto v0.0.0-20220505152158-f39f71e6c8f3/go.mod h1:RAyBrSAP7Fh3Nc84ghnVLDPuV51xc9agzmm4Ph6i0Q4=
+google.golang.org/genproto v0.0.0-20220518221133-4f43b3371335/go.mod h1:RAyBrSAP7Fh3Nc84ghnVLDPuV51xc9agzmm4Ph6i0Q4=
+google.golang.org/genproto v0.0.0-20220523171625-347a074981d8/go.mod h1:RAyBrSAP7Fh3Nc84ghnVLDPuV51xc9agzmm4Ph6i0Q4=
+google.golang.org/genproto v0.0.0-20220608133413-ed9918b62aac/go.mod h1:KEWEmljWE5zPzLBa/oHl6DaEt9LmfH6WtH1OHIvleBA=
+google.golang.org/genproto v0.0.0-20220616135557-88e70c0c3a90/go.mod h1:KEWEmljWE5zPzLBa/oHl6DaEt9LmfH6WtH1OHIvleBA=
+google.golang.org/genproto v0.0.0-20220617124728-180714bec0ad/go.mod h1:KEWEmljWE5zPzLBa/oHl6DaEt9LmfH6WtH1OHIvleBA=
+google.golang.org/genproto v0.0.0-20220624142145-8cd45d7dbd1f/go.mod h1:KEWEmljWE5zPzLBa/oHl6DaEt9LmfH6WtH1OHIvleBA=
+google.golang.org/genproto v0.0.0-20220628213854-d9e0b6570c03/go.mod h1:KEWEmljWE5zPzLBa/oHl6DaEt9LmfH6WtH1OHIvleBA=
+google.golang.org/genproto v0.0.0-20220722212130-b98a9ff5e252/go.mod h1:GkXuJDJ6aQ7lnJcRF+SJVgFdQhypqgl3LB1C9vabdRE=
+google.golang.org/genproto v0.0.0-20220801145646-83ce21fca29f/go.mod h1:iHe1svFLAZg9VWz891+QbRMwUv9O/1Ww+/mngYeThbc=
+google.golang.org/genproto v0.0.0-20220815135757-37a418bb8959/go.mod h1:dbqgFATTzChvnt+ujMdZwITVAJHFtfyN1qUhDqEiIlk=
+google.golang.org/genproto v0.0.0-20220817144833-d7fd3f11b9b1/go.mod h1:dbqgFATTzChvnt+ujMdZwITVAJHFtfyN1qUhDqEiIlk=
+google.golang.org/genproto v0.0.0-20220822174746-9e6da59bd2fc/go.mod h1:dbqgFATTzChvnt+ujMdZwITVAJHFtfyN1qUhDqEiIlk=
+google.golang.org/genproto v0.0.0-20220829144015-23454907ede3/go.mod h1:dbqgFATTzChvnt+ujMdZwITVAJHFtfyN1qUhDqEiIlk=
+google.golang.org/genproto v0.0.0-20220829175752-36a9c930ecbf/go.mod h1:dbqgFATTzChvnt+ujMdZwITVAJHFtfyN1qUhDqEiIlk=
+google.golang.org/genproto v0.0.0-20220913154956-18f8339a66a5/go.mod h1:0Nb8Qy+Sk5eDzHnzlStwW3itdNaWoZA5XeSG+R3JHSo=
+google.golang.org/genproto v0.0.0-20220914142337-ca0e39ece12f/go.mod h1:0Nb8Qy+Sk5eDzHnzlStwW3itdNaWoZA5XeSG+R3JHSo=
+google.golang.org/genproto v0.0.0-20220915135415-7fd63a7952de/go.mod h1:0Nb8Qy+Sk5eDzHnzlStwW3itdNaWoZA5XeSG+R3JHSo=
+google.golang.org/genproto v0.0.0-20220916172020-2692e8806bfa/go.mod h1:0Nb8Qy+Sk5eDzHnzlStwW3itdNaWoZA5XeSG+R3JHSo=
+google.golang.org/genproto v0.0.0-20220919141832-68c03719ef51/go.mod h1:0Nb8Qy+Sk5eDzHnzlStwW3itdNaWoZA5XeSG+R3JHSo=
+google.golang.org/genproto v0.0.0-20220920201722-2b89144ce006/go.mod h1:ht8XFiar2npT/g4vkk7O0WYS1sHOHbdujxbEp7CJWbw=
+google.golang.org/genproto v0.0.0-20220926165614-551eb538f295/go.mod h1:woMGP53BroOrRY3xTxlbr8Y3eB/nzAvvFM83q7kG2OI=
+google.golang.org/genproto v0.0.0-20220926220553-6981cbe3cfce/go.mod h1:woMGP53BroOrRY3xTxlbr8Y3eB/nzAvvFM83q7kG2OI=
+google.golang.org/genproto v0.0.0-20221010155953-15ba04fc1c0e/go.mod h1:3526vdqwhZAwq4wsRUaVG555sVgsNmIjRtO7t/JH29U=
+google.golang.org/genproto v0.0.0-20221014173430-6e2ab493f96b/go.mod h1:1vXfmgAz9N9Jx0QA82PqRVauvCz1SGSz739p0f183jM=
+google.golang.org/genproto v0.0.0-20221014213838-99cd37c6964a/go.mod h1:1vXfmgAz9N9Jx0QA82PqRVauvCz1SGSz739p0f183jM=
+google.golang.org/genproto v0.0.0-20221024153911-1573dae28c9c/go.mod h1:9qHF0xnpdSfF6knlcsnpzUu5y+rpwgbvsyGAZPBMg4s=
+google.golang.org/genproto v0.0.0-20221024183307-1bc688fe9f3e/go.mod h1:9qHF0xnpdSfF6knlcsnpzUu5y+rpwgbvsyGAZPBMg4s=
+google.golang.org/genproto v0.0.0-20221027153422-115e99e71e1c/go.mod h1:CGI5F/G+E5bKwmfYo09AXuVN4dD894kIKUFmVbP2/Fo=
+google.golang.org/genproto v0.0.0-20221109142239-94d6d90a7d66/go.mod h1:rZS5c/ZVYMaOGBfO68GWtjOw/eLaZM1X6iVtgjZ+EWg=
+google.golang.org/genproto v0.0.0-20221114212237-e4508ebdbee1/go.mod h1:rZS5c/ZVYMaOGBfO68GWtjOw/eLaZM1X6iVtgjZ+EWg=
+google.golang.org/genproto v0.0.0-20221117204609-8f9c96812029/go.mod h1:rZS5c/ZVYMaOGBfO68GWtjOw/eLaZM1X6iVtgjZ+EWg=
+google.golang.org/genproto v0.0.0-20221118155620-16455021b5e6/go.mod h1:rZS5c/ZVYMaOGBfO68GWtjOw/eLaZM1X6iVtgjZ+EWg=
+google.golang.org/genproto v0.0.0-20221201164419-0e50fba7f41c/go.mod h1:rZS5c/ZVYMaOGBfO68GWtjOw/eLaZM1X6iVtgjZ+EWg=
+google.golang.org/genproto v0.0.0-20221201204527-e3fa12d562f3/go.mod h1:rZS5c/ZVYMaOGBfO68GWtjOw/eLaZM1X6iVtgjZ+EWg=
+google.golang.org/genproto v0.0.0-20221202195650-67e5cbc046fd/go.mod h1:cTsE614GARnxrLsqKREzmNYJACSWWpAWdNMwnD7c2BE=
+google.golang.org/genproto v0.0.0-20221227171554-f9683d7f8bef/go.mod h1:RGgjbofJ8xD9Sq1VVhDM1Vok1vRONV+rg+CjzG4SZKM=
+google.golang.org/genproto v0.0.0-20230110181048-76db0878b65f/go.mod h1:RGgjbofJ8xD9Sq1VVhDM1Vok1vRONV+rg+CjzG4SZKM=
+google.golang.org/genproto v0.0.0-20230112194545-e10362b5ecf9/go.mod h1:RGgjbofJ8xD9Sq1VVhDM1Vok1vRONV+rg+CjzG4SZKM=
+google.golang.org/genproto v0.0.0-20230113154510-dbe35b8444a5/go.mod h1:RGgjbofJ8xD9Sq1VVhDM1Vok1vRONV+rg+CjzG4SZKM=
+google.golang.org/genproto v0.0.0-20230123190316-2c411cf9d197/go.mod h1:RGgjbofJ8xD9Sq1VVhDM1Vok1vRONV+rg+CjzG4SZKM=
+google.golang.org/genproto v0.0.0-20230124163310-31e0e69b6fc2/go.mod h1:RGgjbofJ8xD9Sq1VVhDM1Vok1vRONV+rg+CjzG4SZKM=
+google.golang.org/genproto v0.0.0-20230125152338-dcaf20b6aeaa/go.mod h1:RGgjbofJ8xD9Sq1VVhDM1Vok1vRONV+rg+CjzG4SZKM=
+google.golang.org/genproto v0.0.0-20230127162408-596548ed4efa/go.mod h1:RGgjbofJ8xD9Sq1VVhDM1Vok1vRONV+rg+CjzG4SZKM=
+google.golang.org/genproto v0.0.0-20230209215440-0dfe4f8abfcc/go.mod h1:RGgjbofJ8xD9Sq1VVhDM1Vok1vRONV+rg+CjzG4SZKM=
+google.golang.org/genproto v0.0.0-20230216225411-c8e22ba71e44/go.mod h1:8B0gmkoRebU8ukX6HP+4wrVQUY1+6PkQ44BSyIlflHA=
+google.golang.org/genproto v0.0.0-20230222225845-10f96fb3dbec/go.mod h1:3Dl5ZL0q0isWJt+FVcfpQyirqemEuLAK/iFvg1UP1Hw=
+google.golang.org/genproto v0.0.0-20230223222841-637eb2293923/go.mod h1:3Dl5ZL0q0isWJt+FVcfpQyirqemEuLAK/iFvg1UP1Hw=
+google.golang.org/genproto v0.0.0-20230303212802-e74f57abe488/go.mod h1:TvhZT5f700eVlTNwND1xoEZQeWTB2RY/65kplwl/bFA=
+google.golang.org/genproto v0.0.0-20230306155012-7f2fa6fef1f4/go.mod h1:NWraEVixdDnqcqQ30jipen1STv2r/n24Wb7twVTGR4s=
+google.golang.org/genproto v0.0.0-20230320184635-7606e756e683/go.mod h1:NWraEVixdDnqcqQ30jipen1STv2r/n24Wb7twVTGR4s=
+google.golang.org/genproto v0.0.0-20230323212658-478b75c54725/go.mod h1:UUQDJDOlWu4KYeJZffbWgBkS1YFobzKbLVfK69pe0Ak=
+google.golang.org/genproto v0.0.0-20230330154414-c0448cd141ea/go.mod h1:UUQDJDOlWu4KYeJZffbWgBkS1YFobzKbLVfK69pe0Ak=
+google.golang.org/genproto v0.0.0-20230331144136-dcfb400f0633/go.mod h1:UUQDJDOlWu4KYeJZffbWgBkS1YFobzKbLVfK69pe0Ak=
+google.golang.org/genproto v0.0.0-20230403163135-c38d8f061ccd/go.mod h1:UUQDJDOlWu4KYeJZffbWgBkS1YFobzKbLVfK69pe0Ak=
+google.golang.org/genproto v0.0.0-20230410155749-daa745c078e1/go.mod h1:nKE/iIaLqn2bQwXBg8f1g2Ylh6r5MN5CmZvuzZCgsCU=
+google.golang.org/genproto v0.0.0-20230525234025-438c736192d0/go.mod h1:9ExIQyXL5hZrHzQceCwuSYwZZ5QZBazOcprJ5rgs3lY=
+google.golang.org/genproto v0.0.0-20230526203410-71b5a4ffd15e/go.mod h1:zqTuNwFlFRsw5zIts5VnzLQxSRqh+CGOTVMlYbY0Eyk=
+google.golang.org/genproto v0.0.0-20230530153820-e85fd2cbaebc/go.mod h1:xZnkP7mREFX5MORlOPEzLMr+90PPZQ2QWzrVTWfAq64=
+google.golang.org/genproto v0.0.0-20230629202037-9506855d4529/go.mod h1:xZnkP7mREFX5MORlOPEzLMr+90PPZQ2QWzrVTWfAq64=
+google.golang.org/genproto v0.0.0-20230706204954-ccb25ca9f130/go.mod h1:O9kGHb51iE/nOGvQaDUuadVYqovW56s5emA88lQnj6Y=
+google.golang.org/genproto v0.0.0-20230726155614-23370e0ffb3e/go.mod h1:0ggbjUrZYpy1q+ANUS30SEoGZ53cdfwtbuG7Ptgy108=
+google.golang.org/genproto v0.0.0-20230803162519-f966b187b2e5/go.mod h1:oH/ZOT02u4kWEp7oYBGYFFkCdKS/uYR9Z7+0/xuuFp8=
google.golang.org/genproto v0.0.0-20250303144028-a0af3efb3deb h1:ITgPrl429bc6+2ZraNSzMDk3I95nmQln2fuPstKwFDE=
google.golang.org/genproto v0.0.0-20250303144028-a0af3efb3deb/go.mod h1:sAo5UzpjUwgFBCzupwhcLcxHVDK7vG5IqI30YnwX2eE=
-google.golang.org/genproto/googleapis/api v0.0.0-20250303144028-a0af3efb3deb h1:p31xT4yrYrSM/G4Sn2+TNUkVhFCbG9y8itM2S6Th950=
-google.golang.org/genproto/googleapis/api v0.0.0-20250303144028-a0af3efb3deb/go.mod h1:jbe3Bkdp+Dh2IrslsFCklNhweNTBgSYanP1UXhJDhKg=
-google.golang.org/genproto/googleapis/rpc v0.0.0-20250313205543-e70fdf4c4cb4 h1:iK2jbkWL86DXjEx0qiHcRE9dE4/Ahua5k6V8OWFb//c=
-google.golang.org/genproto/googleapis/rpc v0.0.0-20250313205543-e70fdf4c4cb4/go.mod h1:LuRYeWDFV6WOn90g357N17oMCaxpgCnbi/44qJvDn2I=
-google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c=
-google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg=
-google.golang.org/grpc v1.25.1/go.mod h1:c3i+UQWmh7LiEpx4sFZnkU36qjEYZ0imhYfXVyQciAY=
-google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk=
-google.golang.org/grpc v1.33.2/go.mod h1:JMHMWHQWaTccqQQlmk3MJZS+GWXOdAesneDmEnv2fbc=
-google.golang.org/grpc v1.71.0 h1:kF77BGdPTQ4/JZWMlb9VpJ5pa25aqvVqogsxNHHdeBg=
-google.golang.org/grpc v1.71.0/go.mod h1:H0GRtasmQOh9LkFoCPDu3ZrwUtD1YGE+b2vYBYd/8Ec=
+google.golang.org/genproto/googleapis/api v0.0.0-20230525234020-1aefcd67740a/go.mod h1:ts19tUU+Z0ZShN1y3aPyq2+O3d5FUNNgT6FtOzmrNn8=
+google.golang.org/genproto/googleapis/api v0.0.0-20230525234035-dd9d682886f9/go.mod h1:vHYtlOoi6TsQ3Uk2yxR7NI5z8uoV+3pZtR4jmHIkRig=
+google.golang.org/genproto/googleapis/api v0.0.0-20230526203410-71b5a4ffd15e/go.mod h1:vHYtlOoi6TsQ3Uk2yxR7NI5z8uoV+3pZtR4jmHIkRig=
+google.golang.org/genproto/googleapis/api v0.0.0-20230530153820-e85fd2cbaebc/go.mod h1:vHYtlOoi6TsQ3Uk2yxR7NI5z8uoV+3pZtR4jmHIkRig=
+google.golang.org/genproto/googleapis/api v0.0.0-20230629202037-9506855d4529/go.mod h1:vHYtlOoi6TsQ3Uk2yxR7NI5z8uoV+3pZtR4jmHIkRig=
+google.golang.org/genproto/googleapis/api v0.0.0-20230706204954-ccb25ca9f130/go.mod h1:mPBs5jNgx2GuQGvFwUvVKqtn6HsUw9nP64BedgvqEsQ=
+google.golang.org/genproto/googleapis/api v0.0.0-20230726155614-23370e0ffb3e/go.mod h1:rsr7RhLuwsDKL7RmgDDCUc6yaGr1iqceVb5Wv6f6YvQ=
+google.golang.org/genproto/googleapis/api v0.0.0-20230822172742-b8732ec3820d/go.mod h1:KjSP20unUpOx5kyQUFa7k4OJg0qeJ7DEZflGDu2p6Bk=
+google.golang.org/genproto/googleapis/api v0.0.0-20240814211410-ddb44dafa142/go.mod h1:d6be+8HhtEtucleCbxpPW9PA9XwISACu8nvpPqF0BVo=
+google.golang.org/genproto/googleapis/api v0.0.0-20241202173237-19429a94021a/go.mod h1:jehYqy3+AhJU9ve55aNOaSml7wUXjF9x6z2LcCfpAhY=
+google.golang.org/genproto/googleapis/api v0.0.0-20250707201910-8d1bb00bc6a7 h1:FiusG7LWj+4byqhbvmB+Q93B/mOxJLN2DTozDuZm4EU=
+google.golang.org/genproto/googleapis/api v0.0.0-20250707201910-8d1bb00bc6a7/go.mod h1:kXqgZtrWaf6qS3jZOCnCH7WYfrvFjkC51bM8fz3RsCA=
+google.golang.org/genproto/googleapis/bytestream v0.0.0-20230530153820-e85fd2cbaebc/go.mod h1:ylj+BE99M198VPbBh6A8d9n3w8fChvyLK3wwBOjXBFA=
+google.golang.org/genproto/googleapis/rpc v0.0.0-20230525234015-3fc162c6f38a/go.mod h1:xURIpW9ES5+/GZhnV6beoEtxQrnkRGIfP5VQG2tCBLc=
+google.golang.org/genproto/googleapis/rpc v0.0.0-20230525234030-28d5490b6b19/go.mod h1:66JfowdXAEgad5O9NnYcsNPLCPZJD++2L9X0PCMODrA=
+google.golang.org/genproto/googleapis/rpc v0.0.0-20230526203410-71b5a4ffd15e/go.mod h1:66JfowdXAEgad5O9NnYcsNPLCPZJD++2L9X0PCMODrA=
+google.golang.org/genproto/googleapis/rpc v0.0.0-20230530153820-e85fd2cbaebc/go.mod h1:66JfowdXAEgad5O9NnYcsNPLCPZJD++2L9X0PCMODrA=
+google.golang.org/genproto/googleapis/rpc v0.0.0-20230629202037-9506855d4529/go.mod h1:66JfowdXAEgad5O9NnYcsNPLCPZJD++2L9X0PCMODrA=
+google.golang.org/genproto/googleapis/rpc v0.0.0-20230706204954-ccb25ca9f130/go.mod h1:8mL13HKkDa+IuJ8yruA3ci0q+0vsUz4m//+ottjwS5o=
+google.golang.org/genproto/googleapis/rpc v0.0.0-20230731190214-cbb8c96f2d6d/go.mod h1:TUfxEVdsvPg18p6AslUXFoLdpED4oBnGwyqk3dV1XzM=
+google.golang.org/genproto/googleapis/rpc v0.0.0-20230803162519-f966b187b2e5/go.mod h1:zBEcrKX2ZOcEkHWxBPAIvYUWOKKMIhYcmNiUIu2ji3I=
+google.golang.org/genproto/googleapis/rpc v0.0.0-20230822172742-b8732ec3820d/go.mod h1:+Bk1OCOj40wS2hwAMA+aCW9ypzm63QTBBHp6lQ3p+9M=
+google.golang.org/genproto/googleapis/rpc v0.0.0-20240318140521-94a12d6c2237/go.mod h1:WtryC6hu0hhx87FDGxWCDptyssuo68sk10vYjF+T9fY=
+google.golang.org/genproto/googleapis/rpc v0.0.0-20240730163845-b1a4ccb954bf/go.mod h1:Ue6ibwXGpU+dqIcODieyLOcgj7z8+IcskoNIgZxtrFY=
+google.golang.org/genproto/googleapis/rpc v0.0.0-20240814211410-ddb44dafa142/go.mod h1:UqMtugtsSgubUsoxbuAoiCXvqvErP7Gf0so0mK9tHxU=
+google.golang.org/genproto/googleapis/rpc v0.0.0-20240826202546-f6391c0de4c7/go.mod h1:UqMtugtsSgubUsoxbuAoiCXvqvErP7Gf0so0mK9tHxU=
+google.golang.org/genproto/googleapis/rpc v0.0.0-20241118233622-e639e219e697/go.mod h1:5uTbfoYQed2U9p3KIj2/Zzm02PYhndfdmML0qC3q3FU=
+google.golang.org/genproto/googleapis/rpc v0.0.0-20241202173237-19429a94021a/go.mod h1:5uTbfoYQed2U9p3KIj2/Zzm02PYhndfdmML0qC3q3FU=
+google.golang.org/genproto/googleapis/rpc v0.0.0-20250603155806-513f23925822/go.mod h1:qQ0YXyHHx3XkvlzUtpXDkS29lDSafHMZBAZDc03LQ3A=
+google.golang.org/genproto/googleapis/rpc v0.0.0-20250707201910-8d1bb00bc6a7 h1:pFyd6EwwL2TqFf8emdthzeX+gZE1ElRq3iM8pui4KBY=
+google.golang.org/genproto/googleapis/rpc v0.0.0-20250707201910-8d1bb00bc6a7/go.mod h1:qQ0YXyHHx3XkvlzUtpXDkS29lDSafHMZBAZDc03LQ3A=
+google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.1.0/go.mod h1:6Kw0yEErY5E/yWrBtf03jp27GLLJujG4z/JK95pnjjw=
+google.golang.org/grpc/examples v0.0.0-20230224211313-3775f633ce20/go.mod h1:Nr5H8+MlGWr5+xX/STzdoEqJrO+YteqFbMyCsrb6mH0=
google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8=
google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0=
google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM=
@@ -746,20 +2629,46 @@ google.golang.org/protobuf v1.21.0/go.mod h1:47Nbq4nVaFHyn7ilMalzfO3qCViNmqZ2kzi
google.golang.org/protobuf v1.22.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU=
google.golang.org/protobuf v1.23.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU=
google.golang.org/protobuf v1.23.1-0.20200526195155-81db48ad09cc/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU=
+google.golang.org/protobuf v1.24.0/go.mod h1:r/3tXBNzIEhYS9I1OUVjXDlt8tc493IdKGjtUeSXeh4=
google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c=
+google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw=
+google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc=
+google.golang.org/protobuf v1.27.1/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc=
+google.golang.org/protobuf v1.28.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I=
+google.golang.org/protobuf v1.28.1/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I=
+google.golang.org/protobuf v1.29.1/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I=
+google.golang.org/protobuf v1.30.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I=
+google.golang.org/protobuf v1.31.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I=
+google.golang.org/protobuf v1.32.0/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos=
+google.golang.org/protobuf v1.33.0/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos=
+google.golang.org/protobuf v1.34.2/go.mod h1:qYOHts0dSfpeUzUFpOMr/WGzszTmLH+DiWniOlNbLDw=
+google.golang.org/protobuf v1.35.2/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE=
+google.golang.org/protobuf v1.36.1/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE=
+google.golang.org/protobuf v1.36.3/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE=
+google.golang.org/protobuf v1.36.4/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE=
google.golang.org/protobuf v1.36.6 h1:z1NpPI8ku2WgiWnf+t9wTPsn6eP1L7ksHUlkfLvd9xY=
google.golang.org/protobuf v1.36.6/go.mod h1:jduwjTPXsFjZGTmRluh+L6NjiWu7pchiJ2/5YcXBHnY=
gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
+gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk=
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q=
+gopkg.in/cheggaaa/pb.v1 v1.0.25/go.mod h1:V/YB90LKu/1FcN3WVnfiiE5oMCibMjukxqG/qStrOgw=
+gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI=
gopkg.in/evanphx/json-patch.v4 v4.12.0 h1:n6jtcsulIzXPJaxegRbvFNNrZDjbij7ny3gmSPG+6V4=
gopkg.in/evanphx/json-patch.v4 v4.12.0/go.mod h1:p8EYWUEYMpynmqDbY58zCKCFZw8pRWMG4EsWvDvM72M=
+gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys=
+gopkg.in/gcfg.v1 v1.2.3/go.mod h1:yesOnuUOFQAhST5vPY4nbZsb/huCgGGXlipJsBn0b3o=
gopkg.in/inf.v0 v0.9.1 h1:73M5CoZyi3ZLMOyDlQh031Cx6N9NDJ2Vvfl76EDAgDc=
gopkg.in/inf.v0 v0.9.1/go.mod h1:cWUDdTG/fYaXco+Dcufb5Vnc6Gp2YChqWtbxRZE0mXw=
+gopkg.in/resty.v1 v1.12.0/go.mod h1:mDo4pnntr5jdWRML875a/NmxYqAlA73dVijT2AXvQQo=
+gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw=
gopkg.in/warnings.v0 v0.1.2 h1:wFXVbFY8DY5/xOe1ECiWdKCzZlxgshcYVNkBHstARME=
gopkg.in/warnings.v0 v0.1.2/go.mod h1:jksf8JmL6Qr/oQM2OXTHunEvvTAsrWBLb6OOjuVWRNI=
+gopkg.in/yaml.v2 v2.0.0-20170812160011-eb3733d160e7/go.mod h1:JAlM8MvJe8wmxCU4Bli9HhUf9+ttbYbLASfIpnQbh74=
gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
+gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
+gopkg.in/yaml.v2 v2.2.3/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY=
gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ=
gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
@@ -770,7 +2679,13 @@ gotest.tools/v3 v3.5.2/go.mod h1:LtdLGcnqToBH83WByAAi/wiwSFCArdFIUV/xxN4pcjA=
helm.sh/helm/v3 v3.17.3 h1:3n5rW3D0ArjFl0p4/oWO8IbY/HKaNNwJtOQFdH2AZHg=
helm.sh/helm/v3 v3.17.3/go.mod h1:+uJKMH/UiMzZQOALR3XUf3BLIoczI2RKKD6bMhPh4G8=
honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
+honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
+honnef.co/go/tools v0.0.0-20190418001031-e561f6794a2a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
+honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg=
+honnef.co/go/tools v0.0.1-2020.1.3/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k=
+honnef.co/go/tools v0.0.1-2020.1.4/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k=
+honnef.co/go/tools v0.1.3/go.mod h1:NgwopIslSNH47DimFoV78dnkksY2EFtX0ajyb3K/las=
k8s.io/api v0.32.3 h1:Hw7KqxRusq+6QSplE3NYG4MBxZw1BZnq4aP4cJVINls=
k8s.io/api v0.32.3/go.mod h1:2wEDTXADtm/HA7CCMD8D8bK4yuBUptzaRhYcYEEYA3k=
k8s.io/apiextensions-apiserver v0.32.3 h1:4D8vy+9GWerlErCwVIbcQjsWunF9SUGNu7O7hiQTyPY=
@@ -799,8 +2714,63 @@ k8s.io/kubernetes v1.32.3 h1:2A58BlNME8NwsMawmnM6InYo3Jf35Nw5G79q46kXwoA=
k8s.io/kubernetes v1.32.3/go.mod h1:GvhiBeolvSRzBpFlgM0z/Bbu3Oxs9w3P6XfEgYaMi8k=
k8s.io/utils v0.0.0-20241210054802-24370beab758 h1:sdbE21q2nlQtFh65saZY+rRM6x6aJJI8IUa1AmH/qa0=
k8s.io/utils v0.0.0-20241210054802-24370beab758/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0=
+lukechampine.com/uint128 v1.1.1/go.mod h1:c4eWIwlEGaxC/+H1VguhU4PHXNWDCDMUlWdIWl2j1gk=
+lukechampine.com/uint128 v1.2.0/go.mod h1:c4eWIwlEGaxC/+H1VguhU4PHXNWDCDMUlWdIWl2j1gk=
+modernc.org/cc/v3 v3.36.0/go.mod h1:NFUHyPn4ekoC/JHeZFfZurN6ixxawE1BnVonP/oahEI=
+modernc.org/cc/v3 v3.36.2/go.mod h1:NFUHyPn4ekoC/JHeZFfZurN6ixxawE1BnVonP/oahEI=
+modernc.org/cc/v3 v3.36.3/go.mod h1:NFUHyPn4ekoC/JHeZFfZurN6ixxawE1BnVonP/oahEI=
+modernc.org/cc/v3 v3.37.0/go.mod h1:vtL+3mdHx/wcj3iEGz84rQa8vEqR6XM84v5Lcvfph20=
+modernc.org/cc/v3 v3.40.0/go.mod h1:/bTg4dnWkSXowUO6ssQKnOV0yMVxDYNIsIrzqTFDGH0=
+modernc.org/ccgo/v3 v3.0.0-20220428102840-41399a37e894/go.mod h1:eI31LL8EwEBKPpNpA4bU1/i+sKOwOrQy8D87zWUcRZc=
+modernc.org/ccgo/v3 v3.0.0-20220430103911-bc99d88307be/go.mod h1:bwdAnOoaIt8Ax9YdWGjxWsdkPcZyRPHqrOvJxaKAKGw=
+modernc.org/ccgo/v3 v3.0.0-20220904174949-82d86e1b6d56/go.mod h1:YSXjPL62P2AMSxBphRHPn7IkzhVHqkvOnRKAKh+W6ZI=
+modernc.org/ccgo/v3 v3.16.4/go.mod h1:tGtX0gE9Jn7hdZFeU88slbTh1UtCYKusWOoCJuvkWsQ=
+modernc.org/ccgo/v3 v3.16.6/go.mod h1:tGtX0gE9Jn7hdZFeU88slbTh1UtCYKusWOoCJuvkWsQ=
+modernc.org/ccgo/v3 v3.16.8/go.mod h1:zNjwkizS+fIFDrDjIAgBSCLkWbJuHF+ar3QRn+Z9aws=
+modernc.org/ccgo/v3 v3.16.9/go.mod h1:zNMzC9A9xeNUepy6KuZBbugn3c0Mc9TeiJO4lgvkJDo=
+modernc.org/ccgo/v3 v3.16.13-0.20221017192402-261537637ce8/go.mod h1:fUB3Vn0nVPReA+7IG7yZDfjv1TMWjhQP8gCxrFAtL5g=
+modernc.org/ccgo/v3 v3.16.13/go.mod h1:2Quk+5YgpImhPjv2Qsob1DnZ/4som1lJTodubIcoUkY=
+modernc.org/ccorpus v1.11.6/go.mod h1:2gEUTrWqdpH2pXsmTM1ZkjeSrUWDpjMu2T6m29L/ErQ=
+modernc.org/httpfs v1.0.6/go.mod h1:7dosgurJGp0sPaRanU53W4xZYKh14wfzX420oZADeHM=
+modernc.org/libc v0.0.0-20220428101251-2d5f3daf273b/go.mod h1:p7Mg4+koNjc8jkqwcoFBJx7tXkpj00G77X7A72jXPXA=
+modernc.org/libc v1.16.0/go.mod h1:N4LD6DBE9cf+Dzf9buBlzVJndKr/iJHG97vGLHYnb5A=
+modernc.org/libc v1.16.1/go.mod h1:JjJE0eu4yeK7tab2n4S1w8tlWd9MxXLRzheaRnAKymU=
+modernc.org/libc v1.16.17/go.mod h1:hYIV5VZczAmGZAnG15Vdngn5HSF5cSkbvfz2B7GRuVU=
+modernc.org/libc v1.16.19/go.mod h1:p7Mg4+koNjc8jkqwcoFBJx7tXkpj00G77X7A72jXPXA=
+modernc.org/libc v1.17.0/go.mod h1:XsgLldpP4aWlPlsjqKRdHPqCxCjISdHfM/yeWC5GyW0=
+modernc.org/libc v1.17.1/go.mod h1:FZ23b+8LjxZs7XtFMbSzL/EhPxNbfZbErxEHc7cbD9s=
+modernc.org/libc v1.17.4/go.mod h1:WNg2ZH56rDEwdropAJeZPQkXmDwh+JCA1s/htl6r2fA=
+modernc.org/libc v1.18.0/go.mod h1:vj6zehR5bfc98ipowQOM2nIDUZnVew/wNC/2tOGS+q0=
+modernc.org/libc v1.20.3/go.mod h1:ZRfIaEkgrYgZDl6pa4W39HgN5G/yDW+NRmNKZBDFrk0=
+modernc.org/libc v1.21.4/go.mod h1:przBsL5RDOZajTVslkugzLBj1evTue36jEomFQOoYuI=
+modernc.org/libc v1.22.2/go.mod h1:uvQavJ1pZ0hIoC/jfqNoMLURIMhKzINIWypNM17puug=
+modernc.org/mathutil v1.2.2/go.mod h1:mZW8CKdRPY1v87qxC/wUdX5O1qDzXMP5TH3wjfpga6E=
+modernc.org/mathutil v1.4.1/go.mod h1:mZW8CKdRPY1v87qxC/wUdX5O1qDzXMP5TH3wjfpga6E=
+modernc.org/mathutil v1.5.0/go.mod h1:mZW8CKdRPY1v87qxC/wUdX5O1qDzXMP5TH3wjfpga6E=
+modernc.org/memory v1.1.1/go.mod h1:/0wo5ibyrQiaoUoH7f9D8dnglAmILJ5/cxZlRECf+Nw=
+modernc.org/memory v1.2.0/go.mod h1:/0wo5ibyrQiaoUoH7f9D8dnglAmILJ5/cxZlRECf+Nw=
+modernc.org/memory v1.2.1/go.mod h1:PkUhL0Mugw21sHPeskwZW4D6VscE/GQJOnIpCnW6pSU=
+modernc.org/memory v1.3.0/go.mod h1:PkUhL0Mugw21sHPeskwZW4D6VscE/GQJOnIpCnW6pSU=
+modernc.org/memory v1.4.0/go.mod h1:PkUhL0Mugw21sHPeskwZW4D6VscE/GQJOnIpCnW6pSU=
+modernc.org/memory v1.5.0/go.mod h1:PkUhL0Mugw21sHPeskwZW4D6VscE/GQJOnIpCnW6pSU=
+modernc.org/opt v0.1.1/go.mod h1:WdSiB5evDcignE70guQKxYUl14mgWtbClRi5wmkkTX0=
+modernc.org/opt v0.1.3/go.mod h1:WdSiB5evDcignE70guQKxYUl14mgWtbClRi5wmkkTX0=
+modernc.org/sqlite v1.18.1/go.mod h1:6ho+Gow7oX5V+OiOQ6Tr4xeqbx13UZ6t+Fw9IRUG4d4=
+modernc.org/sqlite v1.18.2/go.mod h1:kvrTLEWgxUcHa2GfHBQtanR1H9ht3hTJNtKpzH9k1u0=
+modernc.org/strutil v1.1.1/go.mod h1:DE+MQQ/hjKBZS2zNInV5hhcipt5rLPWkmpbGeW5mmdw=
+modernc.org/strutil v1.1.3/go.mod h1:MEHNA7PdEnEwLvspRMtWTNnp2nnyvMfkimT1NKNAGbw=
+modernc.org/tcl v1.13.1/go.mod h1:XOLfOwzhkljL4itZkK6T72ckMgvj0BDsnKNdZVUOecw=
+modernc.org/tcl v1.13.2/go.mod h1:7CLiGIPo1M8Rv1Mitpv5akc2+8fxUd2y2UzC/MfMzy0=
+modernc.org/token v1.0.0/go.mod h1:UGzOrNV1mAFSEB63lOFHIpNRUVMvYTc6yu1SMY/XTDM=
+modernc.org/token v1.0.1/go.mod h1:UGzOrNV1mAFSEB63lOFHIpNRUVMvYTc6yu1SMY/XTDM=
+modernc.org/token v1.1.0/go.mod h1:UGzOrNV1mAFSEB63lOFHIpNRUVMvYTc6yu1SMY/XTDM=
+modernc.org/z v1.5.1/go.mod h1:eWFB510QWW5Th9YGZT81s+LwvaAs3Q2yr4sP0rmLkv8=
oras.land/oras-go v1.2.5 h1:XpYuAwAb0DfQsunIyMfeET92emK8km3W4yEzZvUbsTo=
oras.land/oras-go v1.2.5/go.mod h1:PuAwRShRZCsZb7g8Ar3jKKQR/2A/qN+pkYxIOd/FAoo=
+rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8=
+rsc.io/pdf v0.1.1/go.mod h1:n8OzWcQ6Sp37PL01nO98y4iUCRdTGarVfzxY20ICaU4=
+rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0=
+rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA=
sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.31.0 h1:CPT0ExVicCzcpeN4baWEV2ko2Z/AsiZgEdwgcfwLgMo=
sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.31.0/go.mod h1:Ve9uj1L+deCXFrPOk1LpFXqTg7LCFzFso6PA48q/XZw=
sigs.k8s.io/controller-runtime v0.20.2 h1:/439OZVxoEc02psi1h4QO3bHzTgu49bb347Xp4gW1pc=
@@ -813,5 +2783,7 @@ sigs.k8s.io/kustomize/kyaml v0.18.1 h1:WvBo56Wzw3fjS+7vBjN6TeivvpbW9GmRaWZ9CIVmt
sigs.k8s.io/kustomize/kyaml v0.18.1/go.mod h1:C3L2BFVU1jgcddNBE1TxuVLgS46TjObMwW5FT9FcjYo=
sigs.k8s.io/structured-merge-diff/v4 v4.5.0 h1:nbCitCK2hfnhyiKo6uf2HxUPTCodY6Qaf85SbDIaMBk=
sigs.k8s.io/structured-merge-diff/v4 v4.5.0/go.mod h1:N8f93tFZh9U6vpxwRArLiikrE5/2tiu1w1AGfACIGE4=
+sigs.k8s.io/yaml v1.1.0/go.mod h1:UJmg0vDUVViEyp3mgSv9WPwZCDxu4rQW1olrI1uml+o=
sigs.k8s.io/yaml v1.4.0 h1:Mk1wCc2gy/F0THH0TAp1QYyJNzRm2KCLy3o5ASXVI5E=
sigs.k8s.io/yaml v1.4.0/go.mod h1:Ejl7/uTz7PSA4eKMyQCUTnhZYNmLIl+5c2lQPGR2BPY=
+sourcegraph.com/sourcegraph/appdash v0.0.0-20190731080439-ebfcffb1b5c0/go.mod h1:hI742Nqp5OhwiqlzhgfbWU4mW4yO10fP+LoT9WOswdU=
diff --git a/openshift/default-catalog-consistency/go.mod b/openshift/default-catalog-consistency/go.mod
index 138abd576a..b1824b68eb 100644
--- a/openshift/default-catalog-consistency/go.mod
+++ b/openshift/default-catalog-consistency/go.mod
@@ -43,8 +43,8 @@ require (
github.com/go-git/gcfg v1.5.1-0.20230307220236-3a3c6141e376 // indirect
github.com/go-git/go-billy/v5 v5.6.2 // indirect
github.com/go-git/go-git/v5 v5.16.0 // indirect
- github.com/go-jose/go-jose/v4 v4.0.5 // indirect
- github.com/go-logr/logr v1.4.2 // indirect
+ github.com/go-jose/go-jose/v4 v4.1.1 // indirect
+ github.com/go-logr/logr v1.4.3 // indirect
github.com/go-openapi/analysis v0.23.0 // indirect
github.com/go-openapi/errors v0.22.1 // indirect
github.com/go-openapi/jsonpointer v0.21.1 // indirect
@@ -110,18 +110,18 @@ require (
github.com/x448/float16 v0.8.4 // indirect
go.mongodb.org/mongo-driver v1.14.0 // indirect
go.opencensus.io v0.24.0 // indirect
- golang.org/x/crypto v0.37.0 // indirect
+ golang.org/x/crypto v0.39.0 // indirect
golang.org/x/exp v0.0.0-20250408133849-7e4ce0ab07d0 // indirect
- golang.org/x/net v0.39.0 // indirect
- golang.org/x/oauth2 v0.29.0 // indirect
- golang.org/x/sync v0.13.0 // indirect
- golang.org/x/sys v0.32.0 // indirect
- golang.org/x/term v0.31.0 // indirect
- golang.org/x/text v0.24.0 // indirect
+ golang.org/x/net v0.41.0 // indirect
+ golang.org/x/oauth2 v0.30.0 // indirect
+ golang.org/x/sync v0.15.0 // indirect
+ golang.org/x/sys v0.33.0 // indirect
+ golang.org/x/term v0.32.0 // indirect
+ golang.org/x/text v0.26.0 // indirect
golang.org/x/time v0.11.0 // indirect
- golang.org/x/tools v0.32.0 // indirect
- google.golang.org/genproto/googleapis/api v0.0.0-20250303144028-a0af3efb3deb // indirect
- google.golang.org/genproto/googleapis/rpc v0.0.0-20250313205543-e70fdf4c4cb4 // indirect
+ golang.org/x/tools v0.33.0 // indirect
+ google.golang.org/genproto/googleapis/api v0.0.0-20250707201910-8d1bb00bc6a7 // indirect
+ google.golang.org/genproto/googleapis/rpc v0.0.0-20250707201910-8d1bb00bc6a7 // indirect
google.golang.org/grpc v1.71.0 // indirect
google.golang.org/protobuf v1.36.6 // indirect
gopkg.in/inf.v0 v0.9.1 // indirect
@@ -137,3 +137,5 @@ require (
sigs.k8s.io/json v0.0.0-20241014173422-cfa47c3a1cc8 // indirect
sigs.k8s.io/structured-merge-diff/v4 v4.7.0 // indirect
)
+
+replace google.golang.org/grpc => github.com/openshift-sustaining/grpc-go v1.75.1-sec.1
diff --git a/openshift/default-catalog-consistency/go.sum b/openshift/default-catalog-consistency/go.sum
index b2a6fdf727..fd67333997 100644
--- a/openshift/default-catalog-consistency/go.sum
+++ b/openshift/default-catalog-consistency/go.sum
@@ -1,32 +1,874 @@
-cel.dev/expr v0.19.1 h1:NciYrtDRIR0lNCnH1LFJegdjspNx9fI59O7TWcua/W4=
-cel.dev/expr v0.19.1/go.mod h1:MrpN08Q+lEBs+bGYdLxxHkZoUSsCp0nSKTs0nTymJgw=
-cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw=
+cel.dev/expr v0.15.0/go.mod h1:TRSuuV7DlVCE/uwv5QbAiW/v8l5O8C4eEPHeu7gf7Sg=
+cel.dev/expr v0.16.0/go.mod h1:TRSuuV7DlVCE/uwv5QbAiW/v8l5O8C4eEPHeu7gf7Sg=
+cel.dev/expr v0.19.0/go.mod h1:MrpN08Q+lEBs+bGYdLxxHkZoUSsCp0nSKTs0nTymJgw=
+cel.dev/expr v0.24.0 h1:56OvJKSH3hDGL0ml5uSxZmz3/3Pq4tJ+fb1unVLAFcY=
+cel.dev/expr v0.24.0/go.mod h1:hLPLo1W4QUmuYdA72RBX06QTs6MXw941piREPl3Yfiw=
+cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw=
+cloud.google.com/go v0.38.0/go.mod h1:990N+gfupTy94rShfmMCWGDn0LpTmnzTp2qbd1dvSRU=
+cloud.google.com/go v0.44.1/go.mod h1:iSa0KzasP4Uvy3f1mN/7PiObzGgflwredwwASm/v6AU=
+cloud.google.com/go v0.44.2/go.mod h1:60680Gw3Yr4ikxnPRS/oxxkBccT6SA1yMk63TGekxKY=
+cloud.google.com/go v0.44.3/go.mod h1:60680Gw3Yr4ikxnPRS/oxxkBccT6SA1yMk63TGekxKY=
+cloud.google.com/go v0.45.1/go.mod h1:RpBamKRgapWJb87xiFSdk4g1CME7QZg3uwTez+TSTjc=
+cloud.google.com/go v0.46.3/go.mod h1:a6bKKbmY7er1mI7TEI4lsAkts/mkhTSZK8w33B4RAg0=
+cloud.google.com/go v0.50.0/go.mod h1:r9sluTvynVuxRIOHXQEHMFffphuXHOMZMycpNR5e6To=
+cloud.google.com/go v0.52.0/go.mod h1:pXajvRH/6o3+F9jDHZWQ5PbGhn+o8w9qiu/CffaVdO4=
+cloud.google.com/go v0.53.0/go.mod h1:fp/UouUEsRkN6ryDKNW/Upv/JBKnv6WDthjR6+vze6M=
+cloud.google.com/go v0.54.0/go.mod h1:1rq2OEkV3YMf6n/9ZvGWI3GWw0VoqH/1x2nd8Is/bPc=
+cloud.google.com/go v0.56.0/go.mod h1:jr7tqZxxKOVYizybht9+26Z/gUq7tiRzu+ACVAMbKVk=
+cloud.google.com/go v0.57.0/go.mod h1:oXiQ6Rzq3RAkkY7N6t3TcE6jE+CIBBbA36lwQ1JyzZs=
+cloud.google.com/go v0.62.0/go.mod h1:jmCYTdRCQuc1PHIIJ/maLInMho30T/Y0M4hTdTShOYc=
+cloud.google.com/go v0.65.0/go.mod h1:O5N8zS7uWy9vkA9vayVHs65eM1ubvY4h553ofrNHObY=
+cloud.google.com/go v0.72.0/go.mod h1:M+5Vjvlc2wnp6tjzE102Dw08nGShTscUx2nZMufOKPI=
+cloud.google.com/go v0.74.0/go.mod h1:VV1xSbzvo+9QJOxLDaJfTjx5e+MePCpCWwvftOeQmWk=
+cloud.google.com/go v0.75.0/go.mod h1:VGuuCn7PG0dwsd5XPVm2Mm3wlh3EL55/79EKB6hlPTY=
+cloud.google.com/go v0.78.0/go.mod h1:QjdrLG0uq+YwhjoVOLsS1t7TW8fs36kLs4XO5R5ECHg=
+cloud.google.com/go v0.79.0/go.mod h1:3bzgcEeQlzbuEAYu4mrWhKqWjmpprinYgKJLgKHnbb8=
+cloud.google.com/go v0.81.0/go.mod h1:mk/AM35KwGk/Nm2YSeZbxXdrNK3KZOYHmLkOqC2V6E0=
+cloud.google.com/go v0.83.0/go.mod h1:Z7MJUsANfY0pYPdw0lbnivPx4/vhy/e2FEkSkF7vAVY=
+cloud.google.com/go v0.84.0/go.mod h1:RazrYuxIK6Kb7YrzzhPoLmCVzl7Sup4NrbKPg8KHSUM=
+cloud.google.com/go v0.87.0/go.mod h1:TpDYlFy7vuLzZMMZ+B6iRiELaY7z/gJPaqbMx6mlWcY=
+cloud.google.com/go v0.90.0/go.mod h1:kRX0mNRHe0e2rC6oNakvwQqzyDmg57xJ+SZU1eT2aDQ=
+cloud.google.com/go v0.93.3/go.mod h1:8utlLll2EF5XMAV15woO4lSbWQlk8rer9aLOfLh7+YI=
+cloud.google.com/go v0.94.1/go.mod h1:qAlAugsXlC+JWO+Bke5vCtc9ONxjQT3drlTTnAplMW4=
+cloud.google.com/go v0.97.0/go.mod h1:GF7l59pYBVlXQIBLx3a761cZ41F9bBH3JUlihCt2Udc=
+cloud.google.com/go v0.99.0/go.mod h1:w0Xx2nLzqWJPuozYQX+hFfCSI8WioryfRDzkoI/Y2ZA=
+cloud.google.com/go v0.100.1/go.mod h1:fs4QogzfH5n2pBXBP9vRiU+eCny7lD2vmFZy79Iuw1U=
+cloud.google.com/go v0.100.2/go.mod h1:4Xra9TjzAeYHrl5+oeLlzbM2k3mjVhZh4UqTZ//w99A=
+cloud.google.com/go v0.102.0/go.mod h1:oWcCzKlqJ5zgHQt9YsaeTY9KzIvjyy0ArmiBUgpQ+nc=
+cloud.google.com/go v0.102.1/go.mod h1:XZ77E9qnTEnrgEOvr4xzfdX5TRo7fB4T2F4O6+34hIU=
+cloud.google.com/go v0.104.0/go.mod h1:OO6xxXdJyvuJPcEPBLN9BJPD+jep5G1+2U5B5gkRYtA=
+cloud.google.com/go v0.105.0/go.mod h1:PrLgOJNe5nfE9UMxKxgXj4mD3voiP+YQ6gdt6KMFOKM=
+cloud.google.com/go v0.107.0/go.mod h1:wpc2eNrD7hXUTy8EKS10jkxpZBjASrORK7goS+3YX2I=
+cloud.google.com/go v0.110.0/go.mod h1:SJnCLqQ0FCFGSZMUNUf84MV3Aia54kn7pi8st7tMzaY=
+cloud.google.com/go v0.110.2/go.mod h1:k04UEeEtb6ZBRTv3dZz4CeJC3jKGxyhl0sAiVVquxiw=
+cloud.google.com/go v0.110.4/go.mod h1:+EYjdK8e5RME/VY/qLCAtuyALQ9q67dvuum8i+H5xsI=
+cloud.google.com/go v0.110.6/go.mod h1:+EYjdK8e5RME/VY/qLCAtuyALQ9q67dvuum8i+H5xsI=
+cloud.google.com/go/accessapproval v1.4.0/go.mod h1:zybIuC3KpDOvotz59lFe5qxRZx6C75OtwbisN56xYB4=
+cloud.google.com/go/accessapproval v1.5.0/go.mod h1:HFy3tuiGvMdcd/u+Cu5b9NkO1pEICJ46IR82PoUdplw=
+cloud.google.com/go/accessapproval v1.6.0/go.mod h1:R0EiYnwV5fsRFiKZkPHr6mwyk2wxUJ30nL4j2pcFY2E=
+cloud.google.com/go/accessapproval v1.7.1/go.mod h1:JYczztsHRMK7NTXb6Xw+dwbs/WnOJxbo/2mTI+Kgg68=
+cloud.google.com/go/accesscontextmanager v1.3.0/go.mod h1:TgCBehyr5gNMz7ZaH9xubp+CE8dkrszb4oK9CWyvD4o=
+cloud.google.com/go/accesscontextmanager v1.4.0/go.mod h1:/Kjh7BBu/Gh83sv+K60vN9QE5NJcd80sU33vIe2IFPE=
+cloud.google.com/go/accesscontextmanager v1.6.0/go.mod h1:8XCvZWfYw3K/ji0iVnp+6pu7huxoQTLmxAbVjbloTtM=
+cloud.google.com/go/accesscontextmanager v1.7.0/go.mod h1:CEGLewx8dwa33aDAZQujl7Dx+uYhS0eay198wB/VumQ=
+cloud.google.com/go/accesscontextmanager v1.8.0/go.mod h1:uI+AI/r1oyWK99NN8cQ3UK76AMelMzgZCvJfsi2c+ps=
+cloud.google.com/go/accesscontextmanager v1.8.1/go.mod h1:JFJHfvuaTC+++1iL1coPiG1eu5D24db2wXCDWDjIrxo=
+cloud.google.com/go/aiplatform v1.22.0/go.mod h1:ig5Nct50bZlzV6NvKaTwmplLLddFx0YReh9WfTO5jKw=
+cloud.google.com/go/aiplatform v1.24.0/go.mod h1:67UUvRBKG6GTayHKV8DBv2RtR1t93YRu5B1P3x99mYY=
+cloud.google.com/go/aiplatform v1.27.0/go.mod h1:Bvxqtl40l0WImSb04d0hXFU7gDOiq9jQmorivIiWcKg=
+cloud.google.com/go/aiplatform v1.35.0/go.mod h1:7MFT/vCaOyZT/4IIFfxH4ErVg/4ku6lKv3w0+tFTgXQ=
+cloud.google.com/go/aiplatform v1.36.1/go.mod h1:WTm12vJRPARNvJ+v6P52RDHCNe4AhvjcIZ/9/RRHy/k=
+cloud.google.com/go/aiplatform v1.37.0/go.mod h1:IU2Cv29Lv9oCn/9LkFiiuKfwrRTq+QQMbW+hPCxJGZw=
+cloud.google.com/go/aiplatform v1.45.0/go.mod h1:Iu2Q7sC7QGhXUeOhAj/oCK9a+ULz1O4AotZiqjQ8MYA=
+cloud.google.com/go/aiplatform v1.48.0/go.mod h1:Iu2Q7sC7QGhXUeOhAj/oCK9a+ULz1O4AotZiqjQ8MYA=
+cloud.google.com/go/analytics v0.11.0/go.mod h1:DjEWCu41bVbYcKyvlws9Er60YE4a//bK6mnhWvQeFNI=
+cloud.google.com/go/analytics v0.12.0/go.mod h1:gkfj9h6XRf9+TS4bmuhPEShsh3hH8PAZzm/41OOhQd4=
+cloud.google.com/go/analytics v0.17.0/go.mod h1:WXFa3WSym4IZ+JiKmavYdJwGG/CvpqiqczmL59bTD9M=
+cloud.google.com/go/analytics v0.18.0/go.mod h1:ZkeHGQlcIPkw0R/GW+boWHhCOR43xz9RN/jn7WcqfIE=
+cloud.google.com/go/analytics v0.19.0/go.mod h1:k8liqf5/HCnOUkbawNtrWWc+UAzyDlW89doe8TtoDsE=
+cloud.google.com/go/analytics v0.21.2/go.mod h1:U8dcUtmDmjrmUTnnnRnI4m6zKn/yaA5N9RlEkYFHpQo=
+cloud.google.com/go/analytics v0.21.3/go.mod h1:U8dcUtmDmjrmUTnnnRnI4m6zKn/yaA5N9RlEkYFHpQo=
+cloud.google.com/go/apigateway v1.3.0/go.mod h1:89Z8Bhpmxu6AmUxuVRg/ECRGReEdiP3vQtk4Z1J9rJk=
+cloud.google.com/go/apigateway v1.4.0/go.mod h1:pHVY9MKGaH9PQ3pJ4YLzoj6U5FUDeDFBllIz7WmzJoc=
+cloud.google.com/go/apigateway v1.5.0/go.mod h1:GpnZR3Q4rR7LVu5951qfXPJCHquZt02jf7xQx7kpqN8=
+cloud.google.com/go/apigateway v1.6.1/go.mod h1:ufAS3wpbRjqfZrzpvLC2oh0MFlpRJm2E/ts25yyqmXA=
+cloud.google.com/go/apigeeconnect v1.3.0/go.mod h1:G/AwXFAKo0gIXkPTVfZDd2qA1TxBXJ3MgMRBQkIi9jc=
+cloud.google.com/go/apigeeconnect v1.4.0/go.mod h1:kV4NwOKqjvt2JYR0AoIWo2QGfoRtn/pkS3QlHp0Ni04=
+cloud.google.com/go/apigeeconnect v1.5.0/go.mod h1:KFaCqvBRU6idyhSNyn3vlHXc8VMDJdRmwDF6JyFRqZ8=
+cloud.google.com/go/apigeeconnect v1.6.1/go.mod h1:C4awq7x0JpLtrlQCr8AzVIzAaYgngRqWf9S5Uhg+wWs=
+cloud.google.com/go/apigeeregistry v0.4.0/go.mod h1:EUG4PGcsZvxOXAdyEghIdXwAEi/4MEaoqLMLDMIwKXY=
+cloud.google.com/go/apigeeregistry v0.5.0/go.mod h1:YR5+s0BVNZfVOUkMa5pAR2xGd0A473vA5M7j247o1wM=
+cloud.google.com/go/apigeeregistry v0.6.0/go.mod h1:BFNzW7yQVLZ3yj0TKcwzb8n25CFBri51GVGOEUcgQsc=
+cloud.google.com/go/apigeeregistry v0.7.1/go.mod h1:1XgyjZye4Mqtw7T9TsY4NW10U7BojBvG4RMD+vRDrIw=
+cloud.google.com/go/apikeys v0.4.0/go.mod h1:XATS/yqZbaBK0HOssf+ALHp8jAlNHUgyfprvNcBIszU=
+cloud.google.com/go/apikeys v0.5.0/go.mod h1:5aQfwY4D+ewMMWScd3hm2en3hCj+BROlyrt3ytS7KLI=
+cloud.google.com/go/apikeys v0.6.0/go.mod h1:kbpXu5upyiAlGkKrJgQl8A0rKNNJ7dQ377pdroRSSi8=
+cloud.google.com/go/appengine v1.4.0/go.mod h1:CS2NhuBuDXM9f+qscZ6V86m1MIIqPj3WC/UoEuR1Sno=
+cloud.google.com/go/appengine v1.5.0/go.mod h1:TfasSozdkFI0zeoxW3PTBLiNqRmzraodCWatWI9Dmak=
+cloud.google.com/go/appengine v1.6.0/go.mod h1:hg6i0J/BD2cKmDJbaFSYHFyZkgBEfQrDg/X0V5fJn84=
+cloud.google.com/go/appengine v1.7.0/go.mod h1:eZqpbHFCqRGa2aCdope7eC0SWLV1j0neb/QnMJVWx6A=
+cloud.google.com/go/appengine v1.7.1/go.mod h1:IHLToyb/3fKutRysUlFO0BPt5j7RiQ45nrzEJmKTo6E=
+cloud.google.com/go/appengine v1.8.1/go.mod h1:6NJXGLVhZCN9aQ/AEDvmfzKEfoYBlfB80/BHiKVputY=
+cloud.google.com/go/area120 v0.5.0/go.mod h1:DE/n4mp+iqVyvxHN41Vf1CR602GiHQjFPusMFW6bGR4=
+cloud.google.com/go/area120 v0.6.0/go.mod h1:39yFJqWVgm0UZqWTOdqkLhjoC7uFfgXRC8g/ZegeAh0=
+cloud.google.com/go/area120 v0.7.0/go.mod h1:a3+8EUD1SX5RUcCs3MY5YasiO1z6yLiNLRiFrykbynY=
+cloud.google.com/go/area120 v0.7.1/go.mod h1:j84i4E1RboTWjKtZVWXPqvK5VHQFJRF2c1Nm69pWm9k=
+cloud.google.com/go/area120 v0.8.1/go.mod h1:BVfZpGpB7KFVNxPiQBuHkX6Ed0rS51xIgmGyjrAfzsg=
+cloud.google.com/go/artifactregistry v1.6.0/go.mod h1:IYt0oBPSAGYj/kprzsBjZ/4LnG/zOcHyFHjWPCi6SAQ=
+cloud.google.com/go/artifactregistry v1.7.0/go.mod h1:mqTOFOnGZx8EtSqK/ZWcsm/4U8B77rbcLP6ruDU2Ixk=
+cloud.google.com/go/artifactregistry v1.8.0/go.mod h1:w3GQXkJX8hiKN0v+at4b0qotwijQbYUqF2GWkZzAhC0=
+cloud.google.com/go/artifactregistry v1.9.0/go.mod h1:2K2RqvA2CYvAeARHRkLDhMDJ3OXy26h3XW+3/Jh2uYc=
+cloud.google.com/go/artifactregistry v1.11.1/go.mod h1:lLYghw+Itq9SONbCa1YWBoWs1nOucMH0pwXN1rOBZFI=
+cloud.google.com/go/artifactregistry v1.11.2/go.mod h1:nLZns771ZGAwVLzTX/7Al6R9ehma4WUEhZGWV6CeQNQ=
+cloud.google.com/go/artifactregistry v1.12.0/go.mod h1:o6P3MIvtzTOnmvGagO9v/rOjjA0HmhJ+/6KAXrmYDCI=
+cloud.google.com/go/artifactregistry v1.13.0/go.mod h1:uy/LNfoOIivepGhooAUpL1i30Hgee3Cu0l4VTWHUC08=
+cloud.google.com/go/artifactregistry v1.14.1/go.mod h1:nxVdG19jTaSTu7yA7+VbWL346r3rIdkZ142BSQqhn5E=
+cloud.google.com/go/asset v1.5.0/go.mod h1:5mfs8UvcM5wHhqtSv8J1CtxxaQq3AdBxxQi2jGW/K4o=
+cloud.google.com/go/asset v1.7.0/go.mod h1:YbENsRK4+xTiL+Ofoj5Ckf+O17kJtgp3Y3nn4uzZz5s=
+cloud.google.com/go/asset v1.8.0/go.mod h1:mUNGKhiqIdbr8X7KNayoYvyc4HbbFO9URsjbytpUaW0=
+cloud.google.com/go/asset v1.9.0/go.mod h1:83MOE6jEJBMqFKadM9NLRcs80Gdw76qGuHn8m3h8oHQ=
+cloud.google.com/go/asset v1.10.0/go.mod h1:pLz7uokL80qKhzKr4xXGvBQXnzHn5evJAEAtZiIb0wY=
+cloud.google.com/go/asset v1.11.1/go.mod h1:fSwLhbRvC9p9CXQHJ3BgFeQNM4c9x10lqlrdEUYXlJo=
+cloud.google.com/go/asset v1.12.0/go.mod h1:h9/sFOa4eDIyKmH6QMpm4eUK3pDojWnUhTgJlk762Hg=
+cloud.google.com/go/asset v1.13.0/go.mod h1:WQAMyYek/b7NBpYq/K4KJWcRqzoalEsxz/t/dTk4THw=
+cloud.google.com/go/asset v1.14.1/go.mod h1:4bEJ3dnHCqWCDbWJ/6Vn7GVI9LerSi7Rfdi03hd+WTQ=
+cloud.google.com/go/assuredworkloads v1.5.0/go.mod h1:n8HOZ6pff6re5KYfBXcFvSViQjDwxFkAkmUFffJRbbY=
+cloud.google.com/go/assuredworkloads v1.6.0/go.mod h1:yo2YOk37Yc89Rsd5QMVECvjaMKymF9OP+QXWlKXUkXw=
+cloud.google.com/go/assuredworkloads v1.7.0/go.mod h1:z/736/oNmtGAyU47reJgGN+KVoYoxeLBoj4XkKYscNI=
+cloud.google.com/go/assuredworkloads v1.8.0/go.mod h1:AsX2cqyNCOvEQC8RMPnoc0yEarXQk6WEKkxYfL6kGIo=
+cloud.google.com/go/assuredworkloads v1.9.0/go.mod h1:kFuI1P78bplYtT77Tb1hi0FMxM0vVpRC7VVoJC3ZoT0=
+cloud.google.com/go/assuredworkloads v1.10.0/go.mod h1:kwdUQuXcedVdsIaKgKTp9t0UJkE5+PAVNhdQm4ZVq2E=
+cloud.google.com/go/assuredworkloads v1.11.1/go.mod h1:+F04I52Pgn5nmPG36CWFtxmav6+7Q+c5QyJoL18Lry0=
+cloud.google.com/go/automl v1.5.0/go.mod h1:34EjfoFGMZ5sgJ9EoLsRtdPSNZLcfflJR39VbVNS2M0=
+cloud.google.com/go/automl v1.6.0/go.mod h1:ugf8a6Fx+zP0D59WLhqgTDsQI9w07o64uf/Is3Nh5p8=
+cloud.google.com/go/automl v1.7.0/go.mod h1:RL9MYCCsJEOmt0Wf3z9uzG0a7adTT1fe+aObgSpkCt8=
+cloud.google.com/go/automl v1.8.0/go.mod h1:xWx7G/aPEe/NP+qzYXktoBSDfjO+vnKMGgsApGJJquM=
+cloud.google.com/go/automl v1.12.0/go.mod h1:tWDcHDp86aMIuHmyvjuKeeHEGq76lD7ZqfGLN6B0NuU=
+cloud.google.com/go/automl v1.13.1/go.mod h1:1aowgAHWYZU27MybSCFiukPO7xnyawv7pt3zK4bheQE=
+cloud.google.com/go/baremetalsolution v0.3.0/go.mod h1:XOrocE+pvK1xFfleEnShBlNAXf+j5blPPxrhjKgnIFc=
+cloud.google.com/go/baremetalsolution v0.4.0/go.mod h1:BymplhAadOO/eBa7KewQ0Ppg4A4Wplbn+PsFKRLo0uI=
+cloud.google.com/go/baremetalsolution v0.5.0/go.mod h1:dXGxEkmR9BMwxhzBhV0AioD0ULBmuLZI8CdwalUxuss=
+cloud.google.com/go/baremetalsolution v1.1.1/go.mod h1:D1AV6xwOksJMV4OSlWHtWuFNZZYujJknMAP4Qa27QIA=
+cloud.google.com/go/batch v0.3.0/go.mod h1:TR18ZoAekj1GuirsUsR1ZTKN3FC/4UDnScjT8NXImFE=
+cloud.google.com/go/batch v0.4.0/go.mod h1:WZkHnP43R/QCGQsZ+0JyG4i79ranE2u8xvjq/9+STPE=
+cloud.google.com/go/batch v0.7.0/go.mod h1:vLZN95s6teRUqRQ4s3RLDsH8PvboqBK+rn1oevL159g=
+cloud.google.com/go/batch v1.3.1/go.mod h1:VguXeQKXIYaeeIYbuozUmBR13AfL4SJP7IltNPS+A4A=
+cloud.google.com/go/beyondcorp v0.2.0/go.mod h1:TB7Bd+EEtcw9PCPQhCJtJGjk/7TC6ckmnSFS+xwTfm4=
+cloud.google.com/go/beyondcorp v0.3.0/go.mod h1:E5U5lcrcXMsCuoDNyGrpyTm/hn7ne941Jz2vmksAxW8=
+cloud.google.com/go/beyondcorp v0.4.0/go.mod h1:3ApA0mbhHx6YImmuubf5pyW8srKnCEPON32/5hj+RmM=
+cloud.google.com/go/beyondcorp v0.5.0/go.mod h1:uFqj9X+dSfrheVp7ssLTaRHd2EHqSL4QZmH4e8WXGGU=
+cloud.google.com/go/beyondcorp v0.6.1/go.mod h1:YhxDWw946SCbmcWo3fAhw3V4XZMSpQ/VYfcKGAEU8/4=
+cloud.google.com/go/beyondcorp v1.0.0/go.mod h1:YhxDWw946SCbmcWo3fAhw3V4XZMSpQ/VYfcKGAEU8/4=
+cloud.google.com/go/bigquery v1.0.1/go.mod h1:i/xbL2UlR5RvWAURpBYZTtm/cXjCha9lbfbpx4poX+o=
+cloud.google.com/go/bigquery v1.3.0/go.mod h1:PjpwJnslEMmckchkHFfq+HTD2DmtT67aNFKH1/VBDHE=
+cloud.google.com/go/bigquery v1.4.0/go.mod h1:S8dzgnTigyfTmLBfrtrhyYhwRxG72rYxvftPBK2Dvzc=
+cloud.google.com/go/bigquery v1.5.0/go.mod h1:snEHRnqQbz117VIFhE8bmtwIDY80NLUZUMb4Nv6dBIg=
+cloud.google.com/go/bigquery v1.7.0/go.mod h1://okPTzCYNXSlb24MZs83e2Do+h+VXtc4gLoIoXIAPc=
+cloud.google.com/go/bigquery v1.8.0/go.mod h1:J5hqkt3O0uAFnINi6JXValWIb1v0goeZM77hZzJN/fQ=
+cloud.google.com/go/bigquery v1.42.0/go.mod h1:8dRTJxhtG+vwBKzE5OseQn/hiydoQN3EedCaOdYmxRA=
+cloud.google.com/go/bigquery v1.43.0/go.mod h1:ZMQcXHsl+xmU1z36G2jNGZmKp9zNY5BUua5wDgmNCfw=
+cloud.google.com/go/bigquery v1.44.0/go.mod h1:0Y33VqXTEsbamHJvJHdFmtqHvMIY28aK1+dFsvaChGc=
+cloud.google.com/go/bigquery v1.47.0/go.mod h1:sA9XOgy0A8vQK9+MWhEQTY6Tix87M/ZurWFIxmF9I/E=
+cloud.google.com/go/bigquery v1.48.0/go.mod h1:QAwSz+ipNgfL5jxiaK7weyOhzdoAy1zFm0Nf1fysJac=
+cloud.google.com/go/bigquery v1.49.0/go.mod h1:Sv8hMmTFFYBlt/ftw2uN6dFdQPzBlREY9yBh7Oy7/4Q=
+cloud.google.com/go/bigquery v1.50.0/go.mod h1:YrleYEh2pSEbgTBZYMJ5SuSr0ML3ypjRB1zgf7pvQLU=
+cloud.google.com/go/bigquery v1.52.0/go.mod h1:3b/iXjRQGU4nKa87cXeg6/gogLjO8C6PmuM8i5Bi/u4=
+cloud.google.com/go/bigquery v1.53.0/go.mod h1:3b/iXjRQGU4nKa87cXeg6/gogLjO8C6PmuM8i5Bi/u4=
+cloud.google.com/go/billing v1.4.0/go.mod h1:g9IdKBEFlItS8bTtlrZdVLWSSdSyFUZKXNS02zKMOZY=
+cloud.google.com/go/billing v1.5.0/go.mod h1:mztb1tBc3QekhjSgmpf/CV4LzWXLzCArwpLmP2Gm88s=
+cloud.google.com/go/billing v1.6.0/go.mod h1:WoXzguj+BeHXPbKfNWkqVtDdzORazmCjraY+vrxcyvI=
+cloud.google.com/go/billing v1.7.0/go.mod h1:q457N3Hbj9lYwwRbnlD7vUpyjq6u5U1RAOArInEiD5Y=
+cloud.google.com/go/billing v1.12.0/go.mod h1:yKrZio/eu+okO/2McZEbch17O5CB5NpZhhXG6Z766ss=
+cloud.google.com/go/billing v1.13.0/go.mod h1:7kB2W9Xf98hP9Sr12KfECgfGclsH3CQR0R08tnRlRbc=
+cloud.google.com/go/billing v1.16.0/go.mod h1:y8vx09JSSJG02k5QxbycNRrN7FGZB6F3CAcgum7jvGA=
+cloud.google.com/go/binaryauthorization v1.1.0/go.mod h1:xwnoWu3Y84jbuHa0zd526MJYmtnVXn0syOjaJgy4+dM=
+cloud.google.com/go/binaryauthorization v1.2.0/go.mod h1:86WKkJHtRcv5ViNABtYMhhNWRrD1Vpi//uKEy7aYEfI=
+cloud.google.com/go/binaryauthorization v1.3.0/go.mod h1:lRZbKgjDIIQvzYQS1p99A7/U1JqvqeZg0wiI5tp6tg0=
+cloud.google.com/go/binaryauthorization v1.4.0/go.mod h1:tsSPQrBd77VLplV70GUhBf/Zm3FsKmgSqgm4UmiDItk=
+cloud.google.com/go/binaryauthorization v1.5.0/go.mod h1:OSe4OU1nN/VswXKRBmciKpo9LulY41gch5c68htf3/Q=
+cloud.google.com/go/binaryauthorization v1.6.1/go.mod h1:TKt4pa8xhowwffiBmbrbcxijJRZED4zrqnwZ1lKH51U=
+cloud.google.com/go/certificatemanager v1.3.0/go.mod h1:n6twGDvcUBFu9uBgt4eYvvf3sQ6My8jADcOVwHmzadg=
+cloud.google.com/go/certificatemanager v1.4.0/go.mod h1:vowpercVFyqs8ABSmrdV+GiFf2H/ch3KyudYQEMM590=
+cloud.google.com/go/certificatemanager v1.6.0/go.mod h1:3Hh64rCKjRAX8dXgRAyOcY5vQ/fE1sh8o+Mdd6KPgY8=
+cloud.google.com/go/certificatemanager v1.7.1/go.mod h1:iW8J3nG6SaRYImIa+wXQ0g8IgoofDFRp5UMzaNk1UqI=
+cloud.google.com/go/channel v1.8.0/go.mod h1:W5SwCXDJsq/rg3tn3oG0LOxpAo6IMxNa09ngphpSlnk=
+cloud.google.com/go/channel v1.9.0/go.mod h1:jcu05W0my9Vx4mt3/rEHpfxc9eKi9XwsdDL8yBMbKUk=
+cloud.google.com/go/channel v1.11.0/go.mod h1:IdtI0uWGqhEeatSB62VOoJ8FSUhJ9/+iGkJVqp74CGE=
+cloud.google.com/go/channel v1.12.0/go.mod h1:VkxCGKASi4Cq7TbXxlaBezonAYpp1GCnKMY6tnMQnLU=
+cloud.google.com/go/channel v1.16.0/go.mod h1:eN/q1PFSl5gyu0dYdmxNXscY/4Fi7ABmeHCJNf/oHmc=
+cloud.google.com/go/cloudbuild v1.3.0/go.mod h1:WequR4ULxlqvMsjDEEEFnOG5ZSRSgWOywXYDb1vPE6U=
+cloud.google.com/go/cloudbuild v1.4.0/go.mod h1:5Qwa40LHiOXmz3386FrjrYM93rM/hdRr7b53sySrTqA=
+cloud.google.com/go/cloudbuild v1.6.0/go.mod h1:UIbc/w9QCbH12xX+ezUsgblrWv+Cv4Tw83GiSMHOn9M=
+cloud.google.com/go/cloudbuild v1.7.0/go.mod h1:zb5tWh2XI6lR9zQmsm1VRA+7OCuve5d8S+zJUul8KTg=
+cloud.google.com/go/cloudbuild v1.9.0/go.mod h1:qK1d7s4QlO0VwfYn5YuClDGg2hfmLZEb4wQGAbIgL1s=
+cloud.google.com/go/cloudbuild v1.10.1/go.mod h1:lyJg7v97SUIPq4RC2sGsz/9tNczhyv2AjML/ci4ulzU=
+cloud.google.com/go/cloudbuild v1.13.0/go.mod h1:lyJg7v97SUIPq4RC2sGsz/9tNczhyv2AjML/ci4ulzU=
+cloud.google.com/go/clouddms v1.3.0/go.mod h1:oK6XsCDdW4Ib3jCCBugx+gVjevp2TMXFtgxvPSee3OM=
+cloud.google.com/go/clouddms v1.4.0/go.mod h1:Eh7sUGCC+aKry14O1NRljhjyrr0NFC0G2cjwX0cByRk=
+cloud.google.com/go/clouddms v1.5.0/go.mod h1:QSxQnhikCLUw13iAbffF2CZxAER3xDGNHjsTAkQJcQA=
+cloud.google.com/go/clouddms v1.6.1/go.mod h1:Ygo1vL52Ov4TBZQquhz5fiw2CQ58gvu+PlS6PVXCpZI=
+cloud.google.com/go/cloudtasks v1.5.0/go.mod h1:fD92REy1x5woxkKEkLdvavGnPJGEn8Uic9nWuLzqCpY=
+cloud.google.com/go/cloudtasks v1.6.0/go.mod h1:C6Io+sxuke9/KNRkbQpihnW93SWDU3uXt92nu85HkYI=
+cloud.google.com/go/cloudtasks v1.7.0/go.mod h1:ImsfdYWwlWNJbdgPIIGJWC+gemEGTBK/SunNQQNCAb4=
+cloud.google.com/go/cloudtasks v1.8.0/go.mod h1:gQXUIwCSOI4yPVK7DgTVFiiP0ZW/eQkydWzwVMdHxrI=
+cloud.google.com/go/cloudtasks v1.9.0/go.mod h1:w+EyLsVkLWHcOaqNEyvcKAsWp9p29dL6uL9Nst1cI7Y=
+cloud.google.com/go/cloudtasks v1.10.0/go.mod h1:NDSoTLkZ3+vExFEWu2UJV1arUyzVDAiZtdWcsUyNwBs=
+cloud.google.com/go/cloudtasks v1.11.1/go.mod h1:a9udmnou9KO2iulGscKR0qBYjreuX8oHwpmFsKspEvM=
+cloud.google.com/go/cloudtasks v1.12.1/go.mod h1:a9udmnou9KO2iulGscKR0qBYjreuX8oHwpmFsKspEvM=
+cloud.google.com/go/compute v0.1.0/go.mod h1:GAesmwr110a34z04OlxYkATPBEfVhkymfTBXtfbBFow=
+cloud.google.com/go/compute v1.3.0/go.mod h1:cCZiE1NHEtai4wiufUhW8I8S1JKkAnhnQJWM7YD99wM=
+cloud.google.com/go/compute v1.5.0/go.mod h1:9SMHyhJlzhlkJqrPAc839t2BZFTSk6Jdj6mkzQJeu0M=
+cloud.google.com/go/compute v1.6.0/go.mod h1:T29tfhtVbq1wvAPo0E3+7vhgmkOYeXjhFvz/FMzPu0s=
+cloud.google.com/go/compute v1.6.1/go.mod h1:g85FgpzFvNULZ+S8AYq87axRKuf2Kh7deLqV/jJ3thU=
+cloud.google.com/go/compute v1.7.0/go.mod h1:435lt8av5oL9P3fv1OEzSbSUe+ybHXGMPQHHZWZxy9U=
+cloud.google.com/go/compute v1.10.0/go.mod h1:ER5CLbMxl90o2jtNbGSbtfOpQKR0t15FOtRsugnLrlU=
+cloud.google.com/go/compute v1.12.0/go.mod h1:e8yNOBcBONZU1vJKCvCoDw/4JQsA0dpM4x/6PIIOocU=
+cloud.google.com/go/compute v1.12.1/go.mod h1:e8yNOBcBONZU1vJKCvCoDw/4JQsA0dpM4x/6PIIOocU=
+cloud.google.com/go/compute v1.13.0/go.mod h1:5aPTS0cUNMIc1CE546K+Th6weJUNQErARyZtRXDJ8GE=
+cloud.google.com/go/compute v1.14.0/go.mod h1:YfLtxrj9sU4Yxv+sXzZkyPjEyPBZfXHUvjxega5vAdo=
+cloud.google.com/go/compute v1.15.1/go.mod h1:bjjoF/NtFUrkD/urWfdHaKuOPDR5nWIs63rR+SXhcpA=
+cloud.google.com/go/compute v1.18.0/go.mod h1:1X7yHxec2Ga+Ss6jPyjxRxpu2uu7PLgsOVXvgU0yacs=
+cloud.google.com/go/compute v1.19.0/go.mod h1:rikpw2y+UMidAe9tISo04EHNOIf42RLYF/q8Bs93scU=
+cloud.google.com/go/compute v1.19.3/go.mod h1:qxvISKp/gYnXkSAD1ppcSOveRAmzxicEv/JlizULFrI=
+cloud.google.com/go/compute v1.20.1/go.mod h1:4tCnrn48xsqlwSAiLf1HXMQk8CONslYbdiEZc9FEIbM=
+cloud.google.com/go/compute v1.23.0/go.mod h1:4tCnrn48xsqlwSAiLf1HXMQk8CONslYbdiEZc9FEIbM=
+cloud.google.com/go/compute/metadata v0.1.0/go.mod h1:Z1VN+bulIf6bt4P/C37K4DyZYZEXYonfTBHHFPO/4UU=
+cloud.google.com/go/compute/metadata v0.2.0/go.mod h1:zFmK7XCadkQkj6TtorcaGlCW1hT1fIilQDwofLpJ20k=
+cloud.google.com/go/compute/metadata v0.2.1/go.mod h1:jgHgmJd2RKBGzXqF5LR2EZMGxBkeanZ9wwa75XHJgOM=
+cloud.google.com/go/compute/metadata v0.2.3/go.mod h1:VAV5nSsACxMJvgaAuX6Pk2AawlZn8kiOGuCv6gTkwuA=
+cloud.google.com/go/compute/metadata v0.3.0/go.mod h1:zFmK7XCadkQkj6TtorcaGlCW1hT1fIilQDwofLpJ20k=
+cloud.google.com/go/compute/metadata v0.6.0/go.mod h1:FjyFAW1MW0C203CEOMDTu3Dk1FlqW3Rga40jzHL4hfg=
+cloud.google.com/go/compute/metadata v0.7.0/go.mod h1:j5MvL9PprKL39t166CoB1uVHfQMs4tFQZZcKwksXUjo=
+cloud.google.com/go/contactcenterinsights v1.3.0/go.mod h1:Eu2oemoePuEFc/xKFPjbTuPSj0fYJcPls9TFlPNnHHY=
+cloud.google.com/go/contactcenterinsights v1.4.0/go.mod h1:L2YzkGbPsv+vMQMCADxJoT9YiTTnSEd6fEvCeHTYVck=
+cloud.google.com/go/contactcenterinsights v1.6.0/go.mod h1:IIDlT6CLcDoyv79kDv8iWxMSTZhLxSCofVV5W6YFM/w=
+cloud.google.com/go/contactcenterinsights v1.9.1/go.mod h1:bsg/R7zGLYMVxFFzfh9ooLTruLRCG9fnzhH9KznHhbM=
+cloud.google.com/go/contactcenterinsights v1.10.0/go.mod h1:bsg/R7zGLYMVxFFzfh9ooLTruLRCG9fnzhH9KznHhbM=
+cloud.google.com/go/container v1.6.0/go.mod h1:Xazp7GjJSeUYo688S+6J5V+n/t+G5sKBTFkKNudGRxg=
+cloud.google.com/go/container v1.7.0/go.mod h1:Dp5AHtmothHGX3DwwIHPgq45Y8KmNsgN3amoYfxVkLo=
+cloud.google.com/go/container v1.13.1/go.mod h1:6wgbMPeQRw9rSnKBCAJXnds3Pzj03C4JHamr8asWKy4=
+cloud.google.com/go/container v1.14.0/go.mod h1:3AoJMPhHfLDxLvrlVWaK57IXzaPnLaZq63WX59aQBfM=
+cloud.google.com/go/container v1.15.0/go.mod h1:ft+9S0WGjAyjDggg5S06DXj+fHJICWg8L7isCQe9pQA=
+cloud.google.com/go/container v1.22.1/go.mod h1:lTNExE2R7f+DLbAN+rJiKTisauFCaoDq6NURZ83eVH4=
+cloud.google.com/go/container v1.24.0/go.mod h1:lTNExE2R7f+DLbAN+rJiKTisauFCaoDq6NURZ83eVH4=
+cloud.google.com/go/containeranalysis v0.5.1/go.mod h1:1D92jd8gRR/c0fGMlymRgxWD3Qw9C1ff6/T7mLgVL8I=
+cloud.google.com/go/containeranalysis v0.6.0/go.mod h1:HEJoiEIu+lEXM+k7+qLCci0h33lX3ZqoYFdmPcoO7s4=
+cloud.google.com/go/containeranalysis v0.7.0/go.mod h1:9aUL+/vZ55P2CXfuZjS4UjQ9AgXoSw8Ts6lemfmxBxI=
+cloud.google.com/go/containeranalysis v0.9.0/go.mod h1:orbOANbwk5Ejoom+s+DUCTTJ7IBdBQJDcSylAx/on9s=
+cloud.google.com/go/containeranalysis v0.10.1/go.mod h1:Ya2jiILITMY68ZLPaogjmOMNkwsDrWBSTyBubGXO7j0=
+cloud.google.com/go/datacatalog v1.3.0/go.mod h1:g9svFY6tuR+j+hrTw3J2dNcmI0dzmSiyOzm8kpLq0a0=
+cloud.google.com/go/datacatalog v1.5.0/go.mod h1:M7GPLNQeLfWqeIm3iuiruhPzkt65+Bx8dAKvScX8jvs=
+cloud.google.com/go/datacatalog v1.6.0/go.mod h1:+aEyF8JKg+uXcIdAmmaMUmZ3q1b/lKLtXCmXdnc0lbc=
+cloud.google.com/go/datacatalog v1.7.0/go.mod h1:9mEl4AuDYWw81UGc41HonIHH7/sn52H0/tc8f8ZbZIE=
+cloud.google.com/go/datacatalog v1.8.0/go.mod h1:KYuoVOv9BM8EYz/4eMFxrr4DUKhGIOXxZoKYF5wdISM=
+cloud.google.com/go/datacatalog v1.8.1/go.mod h1:RJ58z4rMp3gvETA465Vg+ag8BGgBdnRPEMMSTr5Uv+M=
+cloud.google.com/go/datacatalog v1.12.0/go.mod h1:CWae8rFkfp6LzLumKOnmVh4+Zle4A3NXLzVJ1d1mRm0=
+cloud.google.com/go/datacatalog v1.13.0/go.mod h1:E4Rj9a5ZtAxcQJlEBTLgMTphfP11/lNaAshpoBgemX8=
+cloud.google.com/go/datacatalog v1.14.0/go.mod h1:h0PrGtlihoutNMp/uvwhawLQ9+c63Kz65UFqh49Yo+E=
+cloud.google.com/go/datacatalog v1.14.1/go.mod h1:d2CevwTG4yedZilwe+v3E3ZBDRMobQfSG/a6cCCN5R4=
+cloud.google.com/go/datacatalog v1.16.0/go.mod h1:d2CevwTG4yedZilwe+v3E3ZBDRMobQfSG/a6cCCN5R4=
+cloud.google.com/go/dataflow v0.6.0/go.mod h1:9QwV89cGoxjjSR9/r7eFDqqjtvbKxAK2BaYU6PVk9UM=
+cloud.google.com/go/dataflow v0.7.0/go.mod h1:PX526vb4ijFMesO1o202EaUmouZKBpjHsTlCtB4parQ=
+cloud.google.com/go/dataflow v0.8.0/go.mod h1:Rcf5YgTKPtQyYz8bLYhFoIV/vP39eL7fWNcSOyFfLJE=
+cloud.google.com/go/dataflow v0.9.1/go.mod h1:Wp7s32QjYuQDWqJPFFlnBKhkAtiFpMTdg00qGbnIHVw=
+cloud.google.com/go/dataform v0.3.0/go.mod h1:cj8uNliRlHpa6L3yVhDOBrUXH+BPAO1+KFMQQNSThKo=
+cloud.google.com/go/dataform v0.4.0/go.mod h1:fwV6Y4Ty2yIFL89huYlEkwUPtS7YZinZbzzj5S9FzCE=
+cloud.google.com/go/dataform v0.5.0/go.mod h1:GFUYRe8IBa2hcomWplodVmUx/iTL0FrsauObOM3Ipr0=
+cloud.google.com/go/dataform v0.6.0/go.mod h1:QPflImQy33e29VuapFdf19oPbE4aYTJxr31OAPV+ulA=
+cloud.google.com/go/dataform v0.7.0/go.mod h1:7NulqnVozfHvWUBpMDfKMUESr+85aJsC/2O0o3jWPDE=
+cloud.google.com/go/dataform v0.8.1/go.mod h1:3BhPSiw8xmppbgzeBbmDvmSWlwouuJkXsXsb8UBih9M=
+cloud.google.com/go/datafusion v1.4.0/go.mod h1:1Zb6VN+W6ALo85cXnM1IKiPw+yQMKMhB9TsTSRDo/38=
+cloud.google.com/go/datafusion v1.5.0/go.mod h1:Kz+l1FGHB0J+4XF2fud96WMmRiq/wj8N9u007vyXZ2w=
+cloud.google.com/go/datafusion v1.6.0/go.mod h1:WBsMF8F1RhSXvVM8rCV3AeyWVxcC2xY6vith3iw3S+8=
+cloud.google.com/go/datafusion v1.7.1/go.mod h1:KpoTBbFmoToDExJUso/fcCiguGDk7MEzOWXUsJo0wsI=
+cloud.google.com/go/datalabeling v0.5.0/go.mod h1:TGcJ0G2NzcsXSE/97yWjIZO0bXj0KbVlINXMG9ud42I=
+cloud.google.com/go/datalabeling v0.6.0/go.mod h1:WqdISuk/+WIGeMkpw/1q7bK/tFEZxsrFJOJdY2bXvTQ=
+cloud.google.com/go/datalabeling v0.7.0/go.mod h1:WPQb1y08RJbmpM3ww0CSUAGweL0SxByuW2E+FU+wXcM=
+cloud.google.com/go/datalabeling v0.8.1/go.mod h1:XS62LBSVPbYR54GfYQsPXZjTW8UxCK2fkDciSrpRFdY=
+cloud.google.com/go/dataplex v1.3.0/go.mod h1:hQuRtDg+fCiFgC8j0zV222HvzFQdRd+SVX8gdmFcZzA=
+cloud.google.com/go/dataplex v1.4.0/go.mod h1:X51GfLXEMVJ6UN47ESVqvlsRplbLhcsAt0kZCCKsU0A=
+cloud.google.com/go/dataplex v1.5.2/go.mod h1:cVMgQHsmfRoI5KFYq4JtIBEUbYwc3c7tXmIDhRmNNVQ=
+cloud.google.com/go/dataplex v1.6.0/go.mod h1:bMsomC/aEJOSpHXdFKFGQ1b0TDPIeL28nJObeO1ppRs=
+cloud.google.com/go/dataplex v1.8.1/go.mod h1:7TyrDT6BCdI8/38Uvp0/ZxBslOslP2X2MPDucliyvSE=
+cloud.google.com/go/dataplex v1.9.0/go.mod h1:7TyrDT6BCdI8/38Uvp0/ZxBslOslP2X2MPDucliyvSE=
+cloud.google.com/go/dataproc v1.7.0/go.mod h1:CKAlMjII9H90RXaMpSxQ8EU6dQx6iAYNPcYPOkSbi8s=
+cloud.google.com/go/dataproc v1.8.0/go.mod h1:5OW+zNAH0pMpw14JVrPONsxMQYMBqJuzORhIBfBn9uI=
+cloud.google.com/go/dataproc v1.12.0/go.mod h1:zrF3aX0uV3ikkMz6z4uBbIKyhRITnxvr4i3IjKsKrw4=
+cloud.google.com/go/dataproc/v2 v2.0.1/go.mod h1:7Ez3KRHdFGcfY7GcevBbvozX+zyWGcwLJvvAMwCaoZ4=
+cloud.google.com/go/dataqna v0.5.0/go.mod h1:90Hyk596ft3zUQ8NkFfvICSIfHFh1Bc7C4cK3vbhkeo=
+cloud.google.com/go/dataqna v0.6.0/go.mod h1:1lqNpM7rqNLVgWBJyk5NF6Uen2PHym0jtVJonplVsDA=
+cloud.google.com/go/dataqna v0.7.0/go.mod h1:Lx9OcIIeqCrw1a6KdO3/5KMP1wAmTc0slZWwP12Qq3c=
+cloud.google.com/go/dataqna v0.8.1/go.mod h1:zxZM0Bl6liMePWsHA8RMGAfmTG34vJMapbHAxQ5+WA8=
+cloud.google.com/go/datastore v1.0.0/go.mod h1:LXYbyblFSglQ5pkeyhO+Qmw7ukd3C+pD7TKLgZqpHYE=
+cloud.google.com/go/datastore v1.1.0/go.mod h1:umbIZjpQpHh4hmRpGhH4tLFup+FVzqBi1b3c64qFpCk=
+cloud.google.com/go/datastore v1.10.0/go.mod h1:PC5UzAmDEkAmkfaknstTYbNpgE49HAgW2J1gcgUfmdM=
+cloud.google.com/go/datastore v1.11.0/go.mod h1:TvGxBIHCS50u8jzG+AW/ppf87v1of8nwzFNgEZU1D3c=
+cloud.google.com/go/datastore v1.12.0/go.mod h1:KjdB88W897MRITkvWWJrg2OUtrR5XVj1EoLgSp6/N70=
+cloud.google.com/go/datastore v1.12.1/go.mod h1:KjdB88W897MRITkvWWJrg2OUtrR5XVj1EoLgSp6/N70=
+cloud.google.com/go/datastore v1.13.0/go.mod h1:KjdB88W897MRITkvWWJrg2OUtrR5XVj1EoLgSp6/N70=
+cloud.google.com/go/datastream v1.2.0/go.mod h1:i/uTP8/fZwgATHS/XFu0TcNUhuA0twZxxQ3EyCUQMwo=
+cloud.google.com/go/datastream v1.3.0/go.mod h1:cqlOX8xlyYF/uxhiKn6Hbv6WjwPPuI9W2M9SAXwaLLQ=
+cloud.google.com/go/datastream v1.4.0/go.mod h1:h9dpzScPhDTs5noEMQVWP8Wx8AFBRyS0s8KWPx/9r0g=
+cloud.google.com/go/datastream v1.5.0/go.mod h1:6TZMMNPwjUqZHBKPQ1wwXpb0d5VDVPl2/XoS5yi88q4=
+cloud.google.com/go/datastream v1.6.0/go.mod h1:6LQSuswqLa7S4rPAOZFVjHIG3wJIjZcZrw8JDEDJuIs=
+cloud.google.com/go/datastream v1.7.0/go.mod h1:uxVRMm2elUSPuh65IbZpzJNMbuzkcvu5CjMqVIUHrww=
+cloud.google.com/go/datastream v1.9.1/go.mod h1:hqnmr8kdUBmrnk65k5wNRoHSCYksvpdZIcZIEl8h43Q=
+cloud.google.com/go/datastream v1.10.0/go.mod h1:hqnmr8kdUBmrnk65k5wNRoHSCYksvpdZIcZIEl8h43Q=
+cloud.google.com/go/deploy v1.4.0/go.mod h1:5Xghikd4VrmMLNaF6FiRFDlHb59VM59YoDQnOUdsH/c=
+cloud.google.com/go/deploy v1.5.0/go.mod h1:ffgdD0B89tToyW/U/D2eL0jN2+IEV/3EMuXHA0l4r+s=
+cloud.google.com/go/deploy v1.6.0/go.mod h1:f9PTHehG/DjCom3QH0cntOVRm93uGBDt2vKzAPwpXQI=
+cloud.google.com/go/deploy v1.8.0/go.mod h1:z3myEJnA/2wnB4sgjqdMfgxCA0EqC3RBTNcVPs93mtQ=
+cloud.google.com/go/deploy v1.11.0/go.mod h1:tKuSUV5pXbn67KiubiUNUejqLs4f5cxxiCNCeyl0F2g=
+cloud.google.com/go/deploy v1.13.0/go.mod h1:tKuSUV5pXbn67KiubiUNUejqLs4f5cxxiCNCeyl0F2g=
+cloud.google.com/go/dialogflow v1.15.0/go.mod h1:HbHDWs33WOGJgn6rfzBW1Kv807BE3O1+xGbn59zZWI4=
+cloud.google.com/go/dialogflow v1.16.1/go.mod h1:po6LlzGfK+smoSmTBnbkIZY2w8ffjz/RcGSS+sh1el0=
+cloud.google.com/go/dialogflow v1.17.0/go.mod h1:YNP09C/kXA1aZdBgC/VtXX74G/TKn7XVCcVumTflA+8=
+cloud.google.com/go/dialogflow v1.18.0/go.mod h1:trO7Zu5YdyEuR+BhSNOqJezyFQ3aUzz0njv7sMx/iek=
+cloud.google.com/go/dialogflow v1.19.0/go.mod h1:JVmlG1TwykZDtxtTXujec4tQ+D8SBFMoosgy+6Gn0s0=
+cloud.google.com/go/dialogflow v1.29.0/go.mod h1:b+2bzMe+k1s9V+F2jbJwpHPzrnIyHihAdRFMtn2WXuM=
+cloud.google.com/go/dialogflow v1.31.0/go.mod h1:cuoUccuL1Z+HADhyIA7dci3N5zUssgpBJmCzI6fNRB4=
+cloud.google.com/go/dialogflow v1.32.0/go.mod h1:jG9TRJl8CKrDhMEcvfcfFkkpp8ZhgPz3sBGmAUYJ2qE=
+cloud.google.com/go/dialogflow v1.38.0/go.mod h1:L7jnH+JL2mtmdChzAIcXQHXMvQkE3U4hTaNltEuxXn4=
+cloud.google.com/go/dialogflow v1.40.0/go.mod h1:L7jnH+JL2mtmdChzAIcXQHXMvQkE3U4hTaNltEuxXn4=
+cloud.google.com/go/dlp v1.6.0/go.mod h1:9eyB2xIhpU0sVwUixfBubDoRwP+GjeUoxxeueZmqvmM=
+cloud.google.com/go/dlp v1.7.0/go.mod h1:68ak9vCiMBjbasxeVD17hVPxDEck+ExiHavX8kiHG+Q=
+cloud.google.com/go/dlp v1.9.0/go.mod h1:qdgmqgTyReTz5/YNSSuueR8pl7hO0o9bQ39ZhtgkWp4=
+cloud.google.com/go/dlp v1.10.1/go.mod h1:IM8BWz1iJd8njcNcG0+Kyd9OPnqnRNkDV8j42VT5KOI=
+cloud.google.com/go/documentai v1.7.0/go.mod h1:lJvftZB5NRiFSX4moiye1SMxHx0Bc3x1+p9e/RfXYiU=
+cloud.google.com/go/documentai v1.8.0/go.mod h1:xGHNEB7CtsnySCNrCFdCyyMz44RhFEEX2Q7UD0c5IhU=
+cloud.google.com/go/documentai v1.9.0/go.mod h1:FS5485S8R00U10GhgBC0aNGrJxBP8ZVpEeJ7PQDZd6k=
+cloud.google.com/go/documentai v1.10.0/go.mod h1:vod47hKQIPeCfN2QS/jULIvQTugbmdc0ZvxxfQY1bg4=
+cloud.google.com/go/documentai v1.16.0/go.mod h1:o0o0DLTEZ+YnJZ+J4wNfTxmDVyrkzFvttBXXtYRMHkM=
+cloud.google.com/go/documentai v1.18.0/go.mod h1:F6CK6iUH8J81FehpskRmhLq/3VlwQvb7TvwOceQ2tbs=
+cloud.google.com/go/documentai v1.20.0/go.mod h1:yJkInoMcK0qNAEdRnqY/D5asy73tnPe88I1YTZT+a8E=
+cloud.google.com/go/documentai v1.22.0/go.mod h1:yJkInoMcK0qNAEdRnqY/D5asy73tnPe88I1YTZT+a8E=
+cloud.google.com/go/domains v0.6.0/go.mod h1:T9Rz3GasrpYk6mEGHh4rymIhjlnIuB4ofT1wTxDeT4Y=
+cloud.google.com/go/domains v0.7.0/go.mod h1:PtZeqS1xjnXuRPKE/88Iru/LdfoRyEHYA9nFQf4UKpg=
+cloud.google.com/go/domains v0.8.0/go.mod h1:M9i3MMDzGFXsydri9/vW+EWz9sWb4I6WyHqdlAk0idE=
+cloud.google.com/go/domains v0.9.1/go.mod h1:aOp1c0MbejQQ2Pjf1iJvnVyT+z6R6s8pX66KaCSDYfE=
+cloud.google.com/go/edgecontainer v0.1.0/go.mod h1:WgkZ9tp10bFxqO8BLPqv2LlfmQF1X8lZqwW4r1BTajk=
+cloud.google.com/go/edgecontainer v0.2.0/go.mod h1:RTmLijy+lGpQ7BXuTDa4C4ssxyXT34NIuHIgKuP4s5w=
+cloud.google.com/go/edgecontainer v0.3.0/go.mod h1:FLDpP4nykgwwIfcLt6zInhprzw0lEi2P1fjO6Ie0qbc=
+cloud.google.com/go/edgecontainer v1.0.0/go.mod h1:cttArqZpBB2q58W/upSG++ooo6EsblxDIolxa3jSjbY=
+cloud.google.com/go/edgecontainer v1.1.1/go.mod h1:O5bYcS//7MELQZs3+7mabRqoWQhXCzenBu0R8bz2rwk=
+cloud.google.com/go/errorreporting v0.3.0/go.mod h1:xsP2yaAp+OAW4OIm60An2bbLpqIhKXdWR/tawvl7QzU=
+cloud.google.com/go/essentialcontacts v1.3.0/go.mod h1:r+OnHa5jfj90qIfZDO/VztSFqbQan7HV75p8sA+mdGI=
+cloud.google.com/go/essentialcontacts v1.4.0/go.mod h1:8tRldvHYsmnBCHdFpvU+GL75oWiBKl80BiqlFh9tp+8=
+cloud.google.com/go/essentialcontacts v1.5.0/go.mod h1:ay29Z4zODTuwliK7SnX8E86aUF2CTzdNtvv42niCX0M=
+cloud.google.com/go/essentialcontacts v1.6.2/go.mod h1:T2tB6tX+TRak7i88Fb2N9Ok3PvY3UNbUsMag9/BARh4=
+cloud.google.com/go/eventarc v1.7.0/go.mod h1:6ctpF3zTnaQCxUjHUdcfgcA1A2T309+omHZth7gDfmc=
+cloud.google.com/go/eventarc v1.8.0/go.mod h1:imbzxkyAU4ubfsaKYdQg04WS1NvncblHEup4kvF+4gw=
+cloud.google.com/go/eventarc v1.10.0/go.mod h1:u3R35tmZ9HvswGRBnF48IlYgYeBcPUCjkr4BTdem2Kw=
+cloud.google.com/go/eventarc v1.11.0/go.mod h1:PyUjsUKPWoRBCHeOxZd/lbOOjahV41icXyUY5kSTvVY=
+cloud.google.com/go/eventarc v1.12.1/go.mod h1:mAFCW6lukH5+IZjkvrEss+jmt2kOdYlN8aMx3sRJiAI=
+cloud.google.com/go/eventarc v1.13.0/go.mod h1:mAFCW6lukH5+IZjkvrEss+jmt2kOdYlN8aMx3sRJiAI=
+cloud.google.com/go/filestore v1.3.0/go.mod h1:+qbvHGvXU1HaKX2nD0WEPo92TP/8AQuCVEBXNY9z0+w=
+cloud.google.com/go/filestore v1.4.0/go.mod h1:PaG5oDfo9r224f8OYXURtAsY+Fbyq/bLYoINEK8XQAI=
+cloud.google.com/go/filestore v1.5.0/go.mod h1:FqBXDWBp4YLHqRnVGveOkHDf8svj9r5+mUDLupOWEDs=
+cloud.google.com/go/filestore v1.6.0/go.mod h1:di5unNuss/qfZTw2U9nhFqo8/ZDSc466dre85Kydllg=
+cloud.google.com/go/filestore v1.7.1/go.mod h1:y10jsorq40JJnjR/lQ8AfFbbcGlw3g+Dp8oN7i7FjV4=
+cloud.google.com/go/firestore v1.9.0/go.mod h1:HMkjKHNTtRyZNiMzu7YAsLr9K3X2udY2AMwDaMEQiiE=
+cloud.google.com/go/firestore v1.11.0/go.mod h1:b38dKhgzlmNNGTNZZwe7ZRFEuRab1Hay3/DBsIGKKy4=
+cloud.google.com/go/functions v1.6.0/go.mod h1:3H1UA3qiIPRWD7PeZKLvHZ9SaQhR26XIJcC0A5GbvAk=
+cloud.google.com/go/functions v1.7.0/go.mod h1:+d+QBcWM+RsrgZfV9xo6KfA1GlzJfxcfZcRPEhDDfzg=
+cloud.google.com/go/functions v1.8.0/go.mod h1:RTZ4/HsQjIqIYP9a9YPbU+QFoQsAlYgrwOXJWHn1POY=
+cloud.google.com/go/functions v1.9.0/go.mod h1:Y+Dz8yGguzO3PpIjhLTbnqV1CWmgQ5UwtlpzoyquQ08=
+cloud.google.com/go/functions v1.10.0/go.mod h1:0D3hEOe3DbEvCXtYOZHQZmD+SzYsi1YbI7dGvHfldXw=
+cloud.google.com/go/functions v1.12.0/go.mod h1:AXWGrF3e2C/5ehvwYo/GH6O5s09tOPksiKhz+hH8WkA=
+cloud.google.com/go/functions v1.13.0/go.mod h1:EU4O007sQm6Ef/PwRsI8N2umygGqPBS/IZQKBQBcJ3c=
+cloud.google.com/go/functions v1.15.1/go.mod h1:P5yNWUTkyU+LvW/S9O6V+V423VZooALQlqoXdoPz5AE=
+cloud.google.com/go/gaming v1.5.0/go.mod h1:ol7rGcxP/qHTRQE/RO4bxkXq+Fix0j6D4LFPzYTIrDM=
+cloud.google.com/go/gaming v1.6.0/go.mod h1:YMU1GEvA39Qt3zWGyAVA9bpYz/yAhTvaQ1t2sK4KPUA=
+cloud.google.com/go/gaming v1.7.0/go.mod h1:LrB8U7MHdGgFG851iHAfqUdLcKBdQ55hzXy9xBJz0+w=
+cloud.google.com/go/gaming v1.8.0/go.mod h1:xAqjS8b7jAVW0KFYeRUxngo9My3f33kFmua++Pi+ggM=
+cloud.google.com/go/gaming v1.9.0/go.mod h1:Fc7kEmCObylSWLO334NcO+O9QMDyz+TKC4v1D7X+Bc0=
+cloud.google.com/go/gaming v1.10.1/go.mod h1:XQQvtfP8Rb9Rxnxm5wFVpAp9zCQkJi2bLIb7iHGwB3s=
+cloud.google.com/go/gkebackup v0.2.0/go.mod h1:XKvv/4LfG829/B8B7xRkk8zRrOEbKtEam6yNfuQNH60=
+cloud.google.com/go/gkebackup v0.3.0/go.mod h1:n/E671i1aOQvUxT541aTkCwExO/bTer2HDlj4TsBRAo=
+cloud.google.com/go/gkebackup v0.4.0/go.mod h1:byAyBGUwYGEEww7xsbnUTBHIYcOPy/PgUWUtOeRm9Vg=
+cloud.google.com/go/gkebackup v1.3.0/go.mod h1:vUDOu++N0U5qs4IhG1pcOnD1Mac79xWy6GoBFlWCWBU=
+cloud.google.com/go/gkeconnect v0.5.0/go.mod h1:c5lsNAg5EwAy7fkqX/+goqFsU1Da/jQFqArp+wGNr/o=
+cloud.google.com/go/gkeconnect v0.6.0/go.mod h1:Mln67KyU/sHJEBY8kFZ0xTeyPtzbq9StAVvEULYK16A=
+cloud.google.com/go/gkeconnect v0.7.0/go.mod h1:SNfmVqPkaEi3bF/B3CNZOAYPYdg7sU+obZ+QTky2Myw=
+cloud.google.com/go/gkeconnect v0.8.1/go.mod h1:KWiK1g9sDLZqhxB2xEuPV8V9NYzrqTUmQR9shJHpOZw=
+cloud.google.com/go/gkehub v0.9.0/go.mod h1:WYHN6WG8w9bXU0hqNxt8rm5uxnk8IH+lPY9J2TV7BK0=
+cloud.google.com/go/gkehub v0.10.0/go.mod h1:UIPwxI0DsrpsVoWpLB0stwKCP+WFVG9+y977wO+hBH0=
+cloud.google.com/go/gkehub v0.11.0/go.mod h1:JOWHlmN+GHyIbuWQPl47/C2RFhnFKH38jH9Ascu3n0E=
+cloud.google.com/go/gkehub v0.12.0/go.mod h1:djiIwwzTTBrF5NaXCGv3mf7klpEMcST17VBTVVDcuaw=
+cloud.google.com/go/gkehub v0.14.1/go.mod h1:VEXKIJZ2avzrbd7u+zeMtW00Y8ddk/4V9511C9CQGTY=
+cloud.google.com/go/gkemulticloud v0.3.0/go.mod h1:7orzy7O0S+5kq95e4Hpn7RysVA7dPs8W/GgfUtsPbrA=
+cloud.google.com/go/gkemulticloud v0.4.0/go.mod h1:E9gxVBnseLWCk24ch+P9+B2CoDFJZTyIgLKSalC7tuI=
+cloud.google.com/go/gkemulticloud v0.5.0/go.mod h1:W0JDkiyi3Tqh0TJr//y19wyb1yf8llHVto2Htf2Ja3Y=
+cloud.google.com/go/gkemulticloud v0.6.1/go.mod h1:kbZ3HKyTsiwqKX7Yw56+wUGwwNZViRnxWK2DVknXWfw=
+cloud.google.com/go/gkemulticloud v1.0.0/go.mod h1:kbZ3HKyTsiwqKX7Yw56+wUGwwNZViRnxWK2DVknXWfw=
+cloud.google.com/go/grafeas v0.2.0/go.mod h1:KhxgtF2hb0P191HlY5besjYm6MqTSTj3LSI+M+ByZHc=
+cloud.google.com/go/grafeas v0.3.0/go.mod h1:P7hgN24EyONOTMyeJH6DxG4zD7fwiYa5Q6GUgyFSOU8=
+cloud.google.com/go/gsuiteaddons v1.3.0/go.mod h1:EUNK/J1lZEZO8yPtykKxLXI6JSVN2rg9bN8SXOa0bgM=
+cloud.google.com/go/gsuiteaddons v1.4.0/go.mod h1:rZK5I8hht7u7HxFQcFei0+AtfS9uSushomRlg+3ua1o=
+cloud.google.com/go/gsuiteaddons v1.5.0/go.mod h1:TFCClYLd64Eaa12sFVmUyG62tk4mdIsI7pAnSXRkcFo=
+cloud.google.com/go/gsuiteaddons v1.6.1/go.mod h1:CodrdOqRZcLp5WOwejHWYBjZvfY0kOphkAKpF/3qdZY=
+cloud.google.com/go/iam v0.1.0/go.mod h1:vcUNEa0pEm0qRVpmWepWaFMIAI8/hjB9mO8rNCJtF6c=
+cloud.google.com/go/iam v0.3.0/go.mod h1:XzJPvDayI+9zsASAFO68Hk07u3z+f+JrT2xXNdp4bnY=
+cloud.google.com/go/iam v0.5.0/go.mod h1:wPU9Vt0P4UmCux7mqtRu6jcpPAb74cP1fh50J3QpkUc=
+cloud.google.com/go/iam v0.6.0/go.mod h1:+1AH33ueBne5MzYccyMHtEKqLE4/kJOibtffMHDMFMc=
+cloud.google.com/go/iam v0.7.0/go.mod h1:H5Br8wRaDGNc8XP3keLc4unfUUZeyH3Sfl9XpQEYOeg=
+cloud.google.com/go/iam v0.8.0/go.mod h1:lga0/y3iH6CX7sYqypWJ33hf7kkfXJag67naqGESjkE=
+cloud.google.com/go/iam v0.11.0/go.mod h1:9PiLDanza5D+oWFZiH1uG+RnRCfEGKoyl6yo4cgWZGY=
+cloud.google.com/go/iam v0.12.0/go.mod h1:knyHGviacl11zrtZUoDuYpDgLjvr28sLQaG0YB2GYAY=
+cloud.google.com/go/iam v0.13.0/go.mod h1:ljOg+rcNfzZ5d6f1nAUJ8ZIxOaZUVoS14bKCtaLZ/D0=
+cloud.google.com/go/iam v1.0.1/go.mod h1:yR3tmSL8BcZB4bxByRv2jkSIahVmCtfKZwLYGBalRE8=
+cloud.google.com/go/iam v1.1.0/go.mod h1:nxdHjaKfCr7fNYx/HJMM8LgiMugmveWlkatear5gVyk=
+cloud.google.com/go/iam v1.1.1/go.mod h1:A5avdyVL2tCppe4unb0951eI9jreack+RJ0/d+KUZOU=
+cloud.google.com/go/iap v1.4.0/go.mod h1:RGFwRJdihTINIe4wZ2iCP0zF/qu18ZwyKxrhMhygBEc=
+cloud.google.com/go/iap v1.5.0/go.mod h1:UH/CGgKd4KyohZL5Pt0jSKE4m3FR51qg6FKQ/z/Ix9A=
+cloud.google.com/go/iap v1.6.0/go.mod h1:NSuvI9C/j7UdjGjIde7t7HBz+QTwBcapPE07+sSRcLk=
+cloud.google.com/go/iap v1.7.0/go.mod h1:beqQx56T9O1G1yNPph+spKpNibDlYIiIixiqsQXxLIo=
+cloud.google.com/go/iap v1.7.1/go.mod h1:WapEwPc7ZxGt2jFGB/C/bm+hP0Y6NXzOYGjpPnmMS74=
+cloud.google.com/go/iap v1.8.1/go.mod h1:sJCbeqg3mvWLqjZNsI6dfAtbbV1DL2Rl7e1mTyXYREQ=
+cloud.google.com/go/ids v1.1.0/go.mod h1:WIuwCaYVOzHIj2OhN9HAwvW+DBdmUAdcWlFxRl+KubM=
+cloud.google.com/go/ids v1.2.0/go.mod h1:5WXvp4n25S0rA/mQWAg1YEEBBq6/s+7ml1RDCW1IrcY=
+cloud.google.com/go/ids v1.3.0/go.mod h1:JBdTYwANikFKaDP6LtW5JAi4gubs57SVNQjemdt6xV4=
+cloud.google.com/go/ids v1.4.1/go.mod h1:np41ed8YMU8zOgv53MMMoCntLTn2lF+SUzlM+O3u/jw=
+cloud.google.com/go/iot v1.3.0/go.mod h1:r7RGh2B61+B8oz0AGE+J72AhA0G7tdXItODWsaA2oLs=
+cloud.google.com/go/iot v1.4.0/go.mod h1:dIDxPOn0UvNDUMD8Ger7FIaTuvMkj+aGk94RPP0iV+g=
+cloud.google.com/go/iot v1.5.0/go.mod h1:mpz5259PDl3XJthEmh9+ap0affn/MqNSP4My77Qql9o=
+cloud.google.com/go/iot v1.6.0/go.mod h1:IqdAsmE2cTYYNO1Fvjfzo9po179rAtJeVGUvkLN3rLE=
+cloud.google.com/go/iot v1.7.1/go.mod h1:46Mgw7ev1k9KqK1ao0ayW9h0lI+3hxeanz+L1zmbbbk=
+cloud.google.com/go/kms v1.4.0/go.mod h1:fajBHndQ+6ubNw6Ss2sSd+SWvjL26RNo/dr7uxsnnOA=
+cloud.google.com/go/kms v1.5.0/go.mod h1:QJS2YY0eJGBg3mnDfuaCyLauWwBJiHRboYxJ++1xJNg=
+cloud.google.com/go/kms v1.6.0/go.mod h1:Jjy850yySiasBUDi6KFUwUv2n1+o7QZFyuUJg6OgjA0=
+cloud.google.com/go/kms v1.8.0/go.mod h1:4xFEhYFqvW+4VMELtZyxomGSYtSQKzM178ylFW4jMAg=
+cloud.google.com/go/kms v1.9.0/go.mod h1:qb1tPTgfF9RQP8e1wq4cLFErVuTJv7UsSC915J8dh3w=
+cloud.google.com/go/kms v1.10.0/go.mod h1:ng3KTUtQQU9bPX3+QGLsflZIHlkbn8amFAMY63m8d24=
+cloud.google.com/go/kms v1.10.1/go.mod h1:rIWk/TryCkR59GMC3YtHtXeLzd634lBbKenvyySAyYI=
+cloud.google.com/go/kms v1.11.0/go.mod h1:hwdiYC0xjnWsKQQCQQmIQnS9asjYVSK6jtXm+zFqXLM=
+cloud.google.com/go/kms v1.12.1/go.mod h1:c9J991h5DTl+kg7gi3MYomh12YEENGrf48ee/N/2CDM=
+cloud.google.com/go/kms v1.15.0/go.mod h1:c9J991h5DTl+kg7gi3MYomh12YEENGrf48ee/N/2CDM=
+cloud.google.com/go/language v1.4.0/go.mod h1:F9dRpNFQmJbkaop6g0JhSBXCNlO90e1KWx5iDdxbWic=
+cloud.google.com/go/language v1.6.0/go.mod h1:6dJ8t3B+lUYfStgls25GusK04NLh3eDLQnWM3mdEbhI=
+cloud.google.com/go/language v1.7.0/go.mod h1:DJ6dYN/W+SQOjF8e1hLQXMF21AkH2w9wiPzPCJa2MIE=
+cloud.google.com/go/language v1.8.0/go.mod h1:qYPVHf7SPoNNiCL2Dr0FfEFNil1qi3pQEyygwpgVKB8=
+cloud.google.com/go/language v1.9.0/go.mod h1:Ns15WooPM5Ad/5no/0n81yUetis74g3zrbeJBE+ptUY=
+cloud.google.com/go/language v1.10.1/go.mod h1:CPp94nsdVNiQEt1CNjF5WkTcisLiHPyIbMhvR8H2AW0=
+cloud.google.com/go/lifesciences v0.5.0/go.mod h1:3oIKy8ycWGPUyZDR/8RNnTOYevhaMLqh5vLUXs9zvT8=
+cloud.google.com/go/lifesciences v0.6.0/go.mod h1:ddj6tSX/7BOnhxCSd3ZcETvtNr8NZ6t/iPhY2Tyfu08=
+cloud.google.com/go/lifesciences v0.8.0/go.mod h1:lFxiEOMqII6XggGbOnKiyZ7IBwoIqA84ClvoezaA/bo=
+cloud.google.com/go/lifesciences v0.9.1/go.mod h1:hACAOd1fFbCGLr/+weUKRAJas82Y4vrL3O5326N//Wc=
+cloud.google.com/go/logging v1.6.1/go.mod h1:5ZO0mHHbvm8gEmeEUHrmDlTDSu5imF6MUP9OfilNXBw=
+cloud.google.com/go/logging v1.7.0/go.mod h1:3xjP2CjkM3ZkO73aj4ASA5wRPGGCRrPIAeNqVNkzY8M=
+cloud.google.com/go/longrunning v0.1.1/go.mod h1:UUFxuDWkv22EuY93jjmDMFT5GPQKeFVJBIF6QlTqdsE=
+cloud.google.com/go/longrunning v0.3.0/go.mod h1:qth9Y41RRSUE69rDcOn6DdK3HfQfsUI0YSmW3iIlLJc=
+cloud.google.com/go/longrunning v0.4.1/go.mod h1:4iWDqhBZ70CvZ6BfETbvam3T8FMvLK+eFj0E6AaRQTo=
+cloud.google.com/go/longrunning v0.4.2/go.mod h1:OHrnaYyLUV6oqwh0xiS7e5sLQhP1m0QU9R+WhGDMgIQ=
+cloud.google.com/go/longrunning v0.5.0/go.mod h1:0JNuqRShmscVAhIACGtskSAWtqtOoPkwP0YF1oVEchc=
+cloud.google.com/go/longrunning v0.5.1/go.mod h1:spvimkwdz6SPWKEt/XBij79E9fiTkHSQl/fRUUQJYJc=
+cloud.google.com/go/managedidentities v1.3.0/go.mod h1:UzlW3cBOiPrzucO5qWkNkh0w33KFtBJU281hacNvsdE=
+cloud.google.com/go/managedidentities v1.4.0/go.mod h1:NWSBYbEMgqmbZsLIyKvxrYbtqOsxY1ZrGM+9RgDqInM=
+cloud.google.com/go/managedidentities v1.5.0/go.mod h1:+dWcZ0JlUmpuxpIDfyP5pP5y0bLdRwOS4Lp7gMni/LA=
+cloud.google.com/go/managedidentities v1.6.1/go.mod h1:h/irGhTN2SkZ64F43tfGPMbHnypMbu4RB3yl8YcuEak=
+cloud.google.com/go/maps v0.1.0/go.mod h1:BQM97WGyfw9FWEmQMpZ5T6cpovXXSd1cGmFma94eubI=
+cloud.google.com/go/maps v0.6.0/go.mod h1:o6DAMMfb+aINHz/p/jbcY+mYeXBoZoxTfdSQ8VAJaCw=
+cloud.google.com/go/maps v0.7.0/go.mod h1:3GnvVl3cqeSvgMcpRlQidXsPYuDGQ8naBis7MVzpXsY=
+cloud.google.com/go/maps v1.3.0/go.mod h1:6mWTUv+WhnOwAgjVsSW2QPPECmW+s3PcRyOa9vgG/5s=
+cloud.google.com/go/maps v1.4.0/go.mod h1:6mWTUv+WhnOwAgjVsSW2QPPECmW+s3PcRyOa9vgG/5s=
+cloud.google.com/go/mediatranslation v0.5.0/go.mod h1:jGPUhGTybqsPQn91pNXw0xVHfuJ3leR1wj37oU3y1f4=
+cloud.google.com/go/mediatranslation v0.6.0/go.mod h1:hHdBCTYNigsBxshbznuIMFNe5QXEowAuNmmC7h8pu5w=
+cloud.google.com/go/mediatranslation v0.7.0/go.mod h1:LCnB/gZr90ONOIQLgSXagp8XUW1ODs2UmUMvcgMfI2I=
+cloud.google.com/go/mediatranslation v0.8.1/go.mod h1:L/7hBdEYbYHQJhX2sldtTO5SZZ1C1vkapubj0T2aGig=
+cloud.google.com/go/memcache v1.4.0/go.mod h1:rTOfiGZtJX1AaFUrOgsMHX5kAzaTQ8azHiuDoTPzNsE=
+cloud.google.com/go/memcache v1.5.0/go.mod h1:dk3fCK7dVo0cUU2c36jKb4VqKPS22BTkf81Xq617aWM=
+cloud.google.com/go/memcache v1.6.0/go.mod h1:XS5xB0eQZdHtTuTF9Hf8eJkKtR3pVRCcvJwtm68T3rA=
+cloud.google.com/go/memcache v1.7.0/go.mod h1:ywMKfjWhNtkQTxrWxCkCFkoPjLHPW6A7WOTVI8xy3LY=
+cloud.google.com/go/memcache v1.9.0/go.mod h1:8oEyzXCu+zo9RzlEaEjHl4KkgjlNDaXbCQeQWlzNFJM=
+cloud.google.com/go/memcache v1.10.1/go.mod h1:47YRQIarv4I3QS5+hoETgKO40InqzLP6kpNLvyXuyaA=
+cloud.google.com/go/metastore v1.5.0/go.mod h1:2ZNrDcQwghfdtCwJ33nM0+GrBGlVuh8rakL3vdPY3XY=
+cloud.google.com/go/metastore v1.6.0/go.mod h1:6cyQTls8CWXzk45G55x57DVQ9gWg7RiH65+YgPsNh9s=
+cloud.google.com/go/metastore v1.7.0/go.mod h1:s45D0B4IlsINu87/AsWiEVYbLaIMeUSoxlKKDqBGFS8=
+cloud.google.com/go/metastore v1.8.0/go.mod h1:zHiMc4ZUpBiM7twCIFQmJ9JMEkDSyZS9U12uf7wHqSI=
+cloud.google.com/go/metastore v1.10.0/go.mod h1:fPEnH3g4JJAk+gMRnrAnoqyv2lpUCqJPWOodSaf45Eo=
+cloud.google.com/go/metastore v1.11.1/go.mod h1:uZuSo80U3Wd4zi6C22ZZliOUJ3XeM/MlYi/z5OAOWRA=
+cloud.google.com/go/metastore v1.12.0/go.mod h1:uZuSo80U3Wd4zi6C22ZZliOUJ3XeM/MlYi/z5OAOWRA=
+cloud.google.com/go/monitoring v1.7.0/go.mod h1:HpYse6kkGo//7p6sT0wsIC6IBDET0RhIsnmlA53dvEk=
+cloud.google.com/go/monitoring v1.8.0/go.mod h1:E7PtoMJ1kQXWxPjB6mv2fhC5/15jInuulFdYYtlcvT4=
+cloud.google.com/go/monitoring v1.12.0/go.mod h1:yx8Jj2fZNEkL/GYZyTLS4ZtZEZN8WtDEiEqG4kLK50w=
+cloud.google.com/go/monitoring v1.13.0/go.mod h1:k2yMBAB1H9JT/QETjNkgdCGD9bPF712XiLTVr+cBrpw=
+cloud.google.com/go/monitoring v1.15.1/go.mod h1:lADlSAlFdbqQuwwpaImhsJXu1QSdd3ojypXrFSMr2rM=
+cloud.google.com/go/networkconnectivity v1.4.0/go.mod h1:nOl7YL8odKyAOtzNX73/M5/mGZgqqMeryi6UPZTk/rA=
+cloud.google.com/go/networkconnectivity v1.5.0/go.mod h1:3GzqJx7uhtlM3kln0+x5wyFvuVH1pIBJjhCpjzSt75o=
+cloud.google.com/go/networkconnectivity v1.6.0/go.mod h1:OJOoEXW+0LAxHh89nXd64uGG+FbQoeH8DtxCHVOMlaM=
+cloud.google.com/go/networkconnectivity v1.7.0/go.mod h1:RMuSbkdbPwNMQjB5HBWD5MpTBnNm39iAVpC3TmsExt8=
+cloud.google.com/go/networkconnectivity v1.10.0/go.mod h1:UP4O4sWXJG13AqrTdQCD9TnLGEbtNRqjuaaA7bNjF5E=
+cloud.google.com/go/networkconnectivity v1.11.0/go.mod h1:iWmDD4QF16VCDLXUqvyspJjIEtBR/4zq5hwnY2X3scM=
+cloud.google.com/go/networkconnectivity v1.12.1/go.mod h1:PelxSWYM7Sh9/guf8CFhi6vIqf19Ir/sbfZRUwXh92E=
+cloud.google.com/go/networkmanagement v1.4.0/go.mod h1:Q9mdLLRn60AsOrPc8rs8iNV6OHXaGcDdsIQe1ohekq8=
+cloud.google.com/go/networkmanagement v1.5.0/go.mod h1:ZnOeZ/evzUdUsnvRt792H0uYEnHQEMaz+REhhzJRcf4=
+cloud.google.com/go/networkmanagement v1.6.0/go.mod h1:5pKPqyXjB/sgtvB5xqOemumoQNB7y95Q7S+4rjSOPYY=
+cloud.google.com/go/networkmanagement v1.8.0/go.mod h1:Ho/BUGmtyEqrttTgWEe7m+8vDdK74ibQc+Be0q7Fof0=
+cloud.google.com/go/networksecurity v0.5.0/go.mod h1:xS6fOCoqpVC5zx15Z/MqkfDwH4+m/61A3ODiDV1xmiQ=
+cloud.google.com/go/networksecurity v0.6.0/go.mod h1:Q5fjhTr9WMI5mbpRYEbiexTzROf7ZbDzvzCrNl14nyU=
+cloud.google.com/go/networksecurity v0.7.0/go.mod h1:mAnzoxx/8TBSyXEeESMy9OOYwo1v+gZ5eMRnsT5bC8k=
+cloud.google.com/go/networksecurity v0.8.0/go.mod h1:B78DkqsxFG5zRSVuwYFRZ9Xz8IcQ5iECsNrPn74hKHU=
+cloud.google.com/go/networksecurity v0.9.1/go.mod h1:MCMdxOKQ30wsBI1eI659f9kEp4wuuAueoC9AJKSPWZQ=
+cloud.google.com/go/notebooks v1.2.0/go.mod h1:9+wtppMfVPUeJ8fIWPOq1UnATHISkGXGqTkxeieQ6UY=
+cloud.google.com/go/notebooks v1.3.0/go.mod h1:bFR5lj07DtCPC7YAAJ//vHskFBxA5JzYlH68kXVdk34=
+cloud.google.com/go/notebooks v1.4.0/go.mod h1:4QPMngcwmgb6uw7Po99B2xv5ufVoIQ7nOGDyL4P8AgA=
+cloud.google.com/go/notebooks v1.5.0/go.mod h1:q8mwhnP9aR8Hpfnrc5iN5IBhrXUy8S2vuYs+kBJ/gu0=
+cloud.google.com/go/notebooks v1.7.0/go.mod h1:PVlaDGfJgj1fl1S3dUwhFMXFgfYGhYQt2164xOMONmE=
+cloud.google.com/go/notebooks v1.8.0/go.mod h1:Lq6dYKOYOWUCTvw5t2q1gp1lAp0zxAxRycayS0iJcqQ=
+cloud.google.com/go/notebooks v1.9.1/go.mod h1:zqG9/gk05JrzgBt4ghLzEepPHNwE5jgPcHZRKhlC1A8=
+cloud.google.com/go/optimization v1.1.0/go.mod h1:5po+wfvX5AQlPznyVEZjGJTMr4+CAkJf2XSTQOOl9l4=
+cloud.google.com/go/optimization v1.2.0/go.mod h1:Lr7SOHdRDENsh+WXVmQhQTrzdu9ybg0NecjHidBq6xs=
+cloud.google.com/go/optimization v1.3.1/go.mod h1:IvUSefKiwd1a5p0RgHDbWCIbDFgKuEdB+fPPuP0IDLI=
+cloud.google.com/go/optimization v1.4.1/go.mod h1:j64vZQP7h9bO49m2rVaTVoNM0vEBEN5eKPUPbZyXOrk=
+cloud.google.com/go/orchestration v1.3.0/go.mod h1:Sj5tq/JpWiB//X/q3Ngwdl5K7B7Y0KZ7bfv0wL6fqVA=
+cloud.google.com/go/orchestration v1.4.0/go.mod h1:6W5NLFWs2TlniBphAViZEVhrXRSMgUGDfW7vrWKvsBk=
+cloud.google.com/go/orchestration v1.6.0/go.mod h1:M62Bevp7pkxStDfFfTuCOaXgaaqRAga1yKyoMtEoWPQ=
+cloud.google.com/go/orchestration v1.8.1/go.mod h1:4sluRF3wgbYVRqz7zJ1/EUNc90TTprliq9477fGobD8=
+cloud.google.com/go/orgpolicy v1.4.0/go.mod h1:xrSLIV4RePWmP9P3tBl8S93lTmlAxjm06NSm2UTmKvE=
+cloud.google.com/go/orgpolicy v1.5.0/go.mod h1:hZEc5q3wzwXJaKrsx5+Ewg0u1LxJ51nNFlext7Tanwc=
+cloud.google.com/go/orgpolicy v1.10.0/go.mod h1:w1fo8b7rRqlXlIJbVhOMPrwVljyuW5mqssvBtU18ONc=
+cloud.google.com/go/orgpolicy v1.11.0/go.mod h1:2RK748+FtVvnfuynxBzdnyu7sygtoZa1za/0ZfpOs1M=
+cloud.google.com/go/orgpolicy v1.11.1/go.mod h1:8+E3jQcpZJQliP+zaFfayC2Pg5bmhuLK755wKhIIUCE=
+cloud.google.com/go/osconfig v1.7.0/go.mod h1:oVHeCeZELfJP7XLxcBGTMBvRO+1nQ5tFG9VQTmYS2Fs=
+cloud.google.com/go/osconfig v1.8.0/go.mod h1:EQqZLu5w5XA7eKizepumcvWx+m8mJUhEwiPqWiZeEdg=
+cloud.google.com/go/osconfig v1.9.0/go.mod h1:Yx+IeIZJ3bdWmzbQU4fxNl8xsZ4amB+dygAwFPlvnNo=
+cloud.google.com/go/osconfig v1.10.0/go.mod h1:uMhCzqC5I8zfD9zDEAfvgVhDS8oIjySWh+l4WK6GnWw=
+cloud.google.com/go/osconfig v1.11.0/go.mod h1:aDICxrur2ogRd9zY5ytBLV89KEgT2MKB2L/n6x1ooPw=
+cloud.google.com/go/osconfig v1.12.0/go.mod h1:8f/PaYzoS3JMVfdfTubkowZYGmAhUCjjwnjqWI7NVBc=
+cloud.google.com/go/osconfig v1.12.1/go.mod h1:4CjBxND0gswz2gfYRCUoUzCm9zCABp91EeTtWXyz0tE=
+cloud.google.com/go/oslogin v1.4.0/go.mod h1:YdgMXWRaElXz/lDk1Na6Fh5orF7gvmJ0FGLIs9LId4E=
+cloud.google.com/go/oslogin v1.5.0/go.mod h1:D260Qj11W2qx/HVF29zBg+0fd6YCSjSqLUkY/qEenQU=
+cloud.google.com/go/oslogin v1.6.0/go.mod h1:zOJ1O3+dTU8WPlGEkFSh7qeHPPSoxrcMbbK1Nm2iX70=
+cloud.google.com/go/oslogin v1.7.0/go.mod h1:e04SN0xO1UNJ1M5GP0vzVBFicIe4O53FOfcixIqTyXo=
+cloud.google.com/go/oslogin v1.9.0/go.mod h1:HNavntnH8nzrn8JCTT5fj18FuJLFJc4NaZJtBnQtKFs=
+cloud.google.com/go/oslogin v1.10.1/go.mod h1:x692z7yAue5nE7CsSnoG0aaMbNoRJRXO4sn73R+ZqAs=
+cloud.google.com/go/phishingprotection v0.5.0/go.mod h1:Y3HZknsK9bc9dMi+oE8Bim0lczMU6hrX0UpADuMefr0=
+cloud.google.com/go/phishingprotection v0.6.0/go.mod h1:9Y3LBLgy0kDTcYET8ZH3bq/7qni15yVUoAxiFxnlSUA=
+cloud.google.com/go/phishingprotection v0.7.0/go.mod h1:8qJI4QKHoda/sb/7/YmMQ2omRLSLYSu9bU0EKCNI+Lk=
+cloud.google.com/go/phishingprotection v0.8.1/go.mod h1:AxonW7GovcA8qdEk13NfHq9hNx5KPtfxXNeUxTDxB6I=
+cloud.google.com/go/policytroubleshooter v1.3.0/go.mod h1:qy0+VwANja+kKrjlQuOzmlvscn4RNsAc0e15GGqfMxg=
+cloud.google.com/go/policytroubleshooter v1.4.0/go.mod h1:DZT4BcRw3QoO8ota9xw/LKtPa8lKeCByYeKTIf/vxdE=
+cloud.google.com/go/policytroubleshooter v1.5.0/go.mod h1:Rz1WfV+1oIpPdN2VvvuboLVRsB1Hclg3CKQ53j9l8vw=
+cloud.google.com/go/policytroubleshooter v1.6.0/go.mod h1:zYqaPTsmfvpjm5ULxAyD/lINQxJ0DDsnWOP/GZ7xzBc=
+cloud.google.com/go/policytroubleshooter v1.7.1/go.mod h1:0NaT5v3Ag1M7U5r0GfDCpUFkWd9YqpubBWsQlhanRv0=
+cloud.google.com/go/policytroubleshooter v1.8.0/go.mod h1:tmn5Ir5EToWe384EuboTcVQT7nTag2+DuH3uHmKd1HU=
+cloud.google.com/go/privatecatalog v0.5.0/go.mod h1:XgosMUvvPyxDjAVNDYxJ7wBW8//hLDDYmnsNcMGq1K0=
+cloud.google.com/go/privatecatalog v0.6.0/go.mod h1:i/fbkZR0hLN29eEWiiwue8Pb+GforiEIBnV9yrRUOKI=
+cloud.google.com/go/privatecatalog v0.7.0/go.mod h1:2s5ssIFO69F5csTXcwBP7NPFTZvps26xGzvQ2PQaBYg=
+cloud.google.com/go/privatecatalog v0.8.0/go.mod h1:nQ6pfaegeDAq/Q5lrfCQzQLhubPiZhSaNhIgfJlnIXs=
+cloud.google.com/go/privatecatalog v0.9.1/go.mod h1:0XlDXW2unJXdf9zFz968Hp35gl/bhF4twwpXZAW50JA=
+cloud.google.com/go/pubsub v1.0.1/go.mod h1:R0Gpsv3s54REJCy4fxDixWD93lHJMoZTyQ2kNxGRt3I=
+cloud.google.com/go/pubsub v1.1.0/go.mod h1:EwwdRX2sKPjnvnqCa270oGRyludottCI76h+R3AArQw=
+cloud.google.com/go/pubsub v1.2.0/go.mod h1:jhfEVHT8odbXTkndysNHCcx0awwzvfOlguIAii9o8iA=
+cloud.google.com/go/pubsub v1.3.1/go.mod h1:i+ucay31+CNRpDW4Lu78I4xXG+O1r/MAHgjpRVR+TSU=
+cloud.google.com/go/pubsub v1.26.0/go.mod h1:QgBH3U/jdJy/ftjPhTkyXNj543Tin1pRYcdcPRnFIRI=
+cloud.google.com/go/pubsub v1.27.1/go.mod h1:hQN39ymbV9geqBnfQq6Xf63yNhUAhv9CZhzp5O6qsW0=
+cloud.google.com/go/pubsub v1.28.0/go.mod h1:vuXFpwaVoIPQMGXqRyUQigu/AX1S3IWugR9xznmcXX8=
+cloud.google.com/go/pubsub v1.30.0/go.mod h1:qWi1OPS0B+b5L+Sg6Gmc9zD1Y+HaM0MdUr7LsupY1P4=
+cloud.google.com/go/pubsub v1.32.0/go.mod h1:f+w71I33OMyxf9VpMVcZbnG5KSUkCOUHYpFd5U1GdRc=
+cloud.google.com/go/pubsub v1.33.0/go.mod h1:f+w71I33OMyxf9VpMVcZbnG5KSUkCOUHYpFd5U1GdRc=
+cloud.google.com/go/pubsublite v1.5.0/go.mod h1:xapqNQ1CuLfGi23Yda/9l4bBCKz/wC3KIJ5gKcxveZg=
+cloud.google.com/go/pubsublite v1.6.0/go.mod h1:1eFCS0U11xlOuMFV/0iBqw3zP12kddMeCbj/F3FSj9k=
+cloud.google.com/go/pubsublite v1.7.0/go.mod h1:8hVMwRXfDfvGm3fahVbtDbiLePT3gpoiJYJY+vxWxVM=
+cloud.google.com/go/pubsublite v1.8.1/go.mod h1:fOLdU4f5xldK4RGJrBMm+J7zMWNj/k4PxwEZXy39QS0=
+cloud.google.com/go/recaptchaenterprise v1.3.1/go.mod h1:OdD+q+y4XGeAlxRaMn1Y7/GveP6zmq76byL6tjPE7d4=
+cloud.google.com/go/recaptchaenterprise/v2 v2.1.0/go.mod h1:w9yVqajwroDNTfGuhmOjPDN//rZGySaf6PtFVcSCa7o=
+cloud.google.com/go/recaptchaenterprise/v2 v2.2.0/go.mod h1:/Zu5jisWGeERrd5HnlS3EUGb/D335f9k51B/FVil0jk=
+cloud.google.com/go/recaptchaenterprise/v2 v2.3.0/go.mod h1:O9LwGCjrhGHBQET5CA7dd5NwwNQUErSgEDit1DLNTdo=
+cloud.google.com/go/recaptchaenterprise/v2 v2.4.0/go.mod h1:Am3LHfOuBstrLrNCBrlI5sbwx9LBg3te2N6hGvHn2mE=
+cloud.google.com/go/recaptchaenterprise/v2 v2.5.0/go.mod h1:O8LzcHXN3rz0j+LBC91jrwI3R+1ZSZEWrfL7XHgNo9U=
+cloud.google.com/go/recaptchaenterprise/v2 v2.6.0/go.mod h1:RPauz9jeLtB3JVzg6nCbe12qNoaa8pXc4d/YukAmcnA=
+cloud.google.com/go/recaptchaenterprise/v2 v2.7.0/go.mod h1:19wVj/fs5RtYtynAPJdDTb69oW0vNHYDBTbB4NvMD9c=
+cloud.google.com/go/recaptchaenterprise/v2 v2.7.2/go.mod h1:kR0KjsJS7Jt1YSyWFkseQ756D45kaYNTlDPPaRAvDBU=
+cloud.google.com/go/recommendationengine v0.5.0/go.mod h1:E5756pJcVFeVgaQv3WNpImkFP8a+RptV6dDLGPILjvg=
+cloud.google.com/go/recommendationengine v0.6.0/go.mod h1:08mq2umu9oIqc7tDy8sx+MNJdLG0fUi3vaSVbztHgJ4=
+cloud.google.com/go/recommendationengine v0.7.0/go.mod h1:1reUcE3GIu6MeBz/h5xZJqNLuuVjNg1lmWMPyjatzac=
+cloud.google.com/go/recommendationengine v0.8.1/go.mod h1:MrZihWwtFYWDzE6Hz5nKcNz3gLizXVIDI/o3G1DLcrE=
+cloud.google.com/go/recommender v1.5.0/go.mod h1:jdoeiBIVrJe9gQjwd759ecLJbxCDED4A6p+mqoqDvTg=
+cloud.google.com/go/recommender v1.6.0/go.mod h1:+yETpm25mcoiECKh9DEScGzIRyDKpZ0cEhWGo+8bo+c=
+cloud.google.com/go/recommender v1.7.0/go.mod h1:XLHs/W+T8olwlGOgfQenXBTbIseGclClff6lhFVe9Bs=
+cloud.google.com/go/recommender v1.8.0/go.mod h1:PkjXrTT05BFKwxaUxQmtIlrtj0kph108r02ZZQ5FE70=
+cloud.google.com/go/recommender v1.9.0/go.mod h1:PnSsnZY7q+VL1uax2JWkt/UegHssxjUVVCrX52CuEmQ=
+cloud.google.com/go/recommender v1.10.1/go.mod h1:XFvrE4Suqn5Cq0Lf+mCP6oBHD/yRMA8XxP5sb7Q7gpA=
+cloud.google.com/go/redis v1.7.0/go.mod h1:V3x5Jq1jzUcg+UNsRvdmsfuFnit1cfe3Z/PGyq/lm4Y=
+cloud.google.com/go/redis v1.8.0/go.mod h1:Fm2szCDavWzBk2cDKxrkmWBqoCiL1+Ctwq7EyqBCA/A=
+cloud.google.com/go/redis v1.9.0/go.mod h1:HMYQuajvb2D0LvMgZmLDZW8V5aOC/WxstZHiy4g8OiA=
+cloud.google.com/go/redis v1.10.0/go.mod h1:ThJf3mMBQtW18JzGgh41/Wld6vnDDc/F/F35UolRZPM=
+cloud.google.com/go/redis v1.11.0/go.mod h1:/X6eicana+BWcUda5PpwZC48o37SiFVTFSs0fWAJ7uQ=
+cloud.google.com/go/redis v1.13.1/go.mod h1:VP7DGLpE91M6bcsDdMuyCm2hIpB6Vp2hI090Mfd1tcg=
+cloud.google.com/go/resourcemanager v1.3.0/go.mod h1:bAtrTjZQFJkiWTPDb1WBjzvc6/kifjj4QBYuKCCoqKA=
+cloud.google.com/go/resourcemanager v1.4.0/go.mod h1:MwxuzkumyTX7/a3n37gmsT3py7LIXwrShilPh3P1tR0=
+cloud.google.com/go/resourcemanager v1.5.0/go.mod h1:eQoXNAiAvCf5PXxWxXjhKQoTMaUSNrEfg+6qdf/wots=
+cloud.google.com/go/resourcemanager v1.6.0/go.mod h1:YcpXGRs8fDzcUl1Xw8uOVmI8JEadvhRIkoXXUNVYcVo=
+cloud.google.com/go/resourcemanager v1.7.0/go.mod h1:HlD3m6+bwhzj9XCouqmeiGuni95NTrExfhoSrkC/3EI=
+cloud.google.com/go/resourcemanager v1.9.1/go.mod h1:dVCuosgrh1tINZ/RwBufr8lULmWGOkPS8gL5gqyjdT8=
+cloud.google.com/go/resourcesettings v1.3.0/go.mod h1:lzew8VfESA5DQ8gdlHwMrqZs1S9V87v3oCnKCWoOuQU=
+cloud.google.com/go/resourcesettings v1.4.0/go.mod h1:ldiH9IJpcrlC3VSuCGvjR5of/ezRrOxFtpJoJo5SmXg=
+cloud.google.com/go/resourcesettings v1.5.0/go.mod h1:+xJF7QSG6undsQDfsCJyqWXyBwUoJLhetkRMDRnIoXA=
+cloud.google.com/go/resourcesettings v1.6.1/go.mod h1:M7mk9PIZrC5Fgsu1kZJci6mpgN8o0IUzVx3eJU3y4Jw=
+cloud.google.com/go/retail v1.8.0/go.mod h1:QblKS8waDmNUhghY2TI9O3JLlFk8jybHeV4BF19FrE4=
+cloud.google.com/go/retail v1.9.0/go.mod h1:g6jb6mKuCS1QKnH/dpu7isX253absFl6iE92nHwlBUY=
+cloud.google.com/go/retail v1.10.0/go.mod h1:2gDk9HsL4HMS4oZwz6daui2/jmKvqShXKQuB2RZ+cCc=
+cloud.google.com/go/retail v1.11.0/go.mod h1:MBLk1NaWPmh6iVFSz9MeKG/Psyd7TAgm6y/9L2B4x9Y=
+cloud.google.com/go/retail v1.12.0/go.mod h1:UMkelN/0Z8XvKymXFbD4EhFJlYKRx1FGhQkVPU5kF14=
+cloud.google.com/go/retail v1.14.1/go.mod h1:y3Wv3Vr2k54dLNIrCzenyKG8g8dhvhncT2NcNjb/6gE=
+cloud.google.com/go/run v0.2.0/go.mod h1:CNtKsTA1sDcnqqIFR3Pb5Tq0usWxJJvsWOCPldRU3Do=
+cloud.google.com/go/run v0.3.0/go.mod h1:TuyY1+taHxTjrD0ZFk2iAR+xyOXEA0ztb7U3UNA0zBo=
+cloud.google.com/go/run v0.8.0/go.mod h1:VniEnuBwqjigv0A7ONfQUaEItaiCRVujlMqerPPiktM=
+cloud.google.com/go/run v0.9.0/go.mod h1:Wwu+/vvg8Y+JUApMwEDfVfhetv30hCG4ZwDR/IXl2Qg=
+cloud.google.com/go/run v1.2.0/go.mod h1:36V1IlDzQ0XxbQjUx6IYbw8H3TJnWvhii963WW3B/bo=
+cloud.google.com/go/scheduler v1.4.0/go.mod h1:drcJBmxF3aqZJRhmkHQ9b3uSSpQoltBPGPxGAWROx6s=
+cloud.google.com/go/scheduler v1.5.0/go.mod h1:ri073ym49NW3AfT6DZi21vLZrG07GXr5p3H1KxN5QlI=
+cloud.google.com/go/scheduler v1.6.0/go.mod h1:SgeKVM7MIwPn3BqtcBntpLyrIJftQISRrYB5ZtT+KOk=
+cloud.google.com/go/scheduler v1.7.0/go.mod h1:jyCiBqWW956uBjjPMMuX09n3x37mtyPJegEWKxRsn44=
+cloud.google.com/go/scheduler v1.8.0/go.mod h1:TCET+Y5Gp1YgHT8py4nlg2Sew8nUHMqcpousDgXJVQc=
+cloud.google.com/go/scheduler v1.9.0/go.mod h1:yexg5t+KSmqu+njTIh3b7oYPheFtBWGcbVUYF1GGMIc=
+cloud.google.com/go/scheduler v1.10.1/go.mod h1:R63Ldltd47Bs4gnhQkmNDse5w8gBRrhObZ54PxgR2Oo=
+cloud.google.com/go/secretmanager v1.6.0/go.mod h1:awVa/OXF6IiyaU1wQ34inzQNc4ISIDIrId8qE5QGgKA=
+cloud.google.com/go/secretmanager v1.8.0/go.mod h1:hnVgi/bN5MYHd3Gt0SPuTPPp5ENina1/LxM+2W9U9J4=
+cloud.google.com/go/secretmanager v1.9.0/go.mod h1:b71qH2l1yHmWQHt9LC80akm86mX8AL6X1MA01dW8ht4=
+cloud.google.com/go/secretmanager v1.10.0/go.mod h1:MfnrdvKMPNra9aZtQFvBcvRU54hbPD8/HayQdlUgJpU=
+cloud.google.com/go/secretmanager v1.11.1/go.mod h1:znq9JlXgTNdBeQk9TBW/FnR/W4uChEKGeqQWAJ8SXFw=
+cloud.google.com/go/security v1.5.0/go.mod h1:lgxGdyOKKjHL4YG3/YwIL2zLqMFCKs0UbQwgyZmfJl4=
+cloud.google.com/go/security v1.7.0/go.mod h1:mZklORHl6Bg7CNnnjLH//0UlAlaXqiG7Lb9PsPXLfD0=
+cloud.google.com/go/security v1.8.0/go.mod h1:hAQOwgmaHhztFhiQ41CjDODdWP0+AE1B3sX4OFlq+GU=
+cloud.google.com/go/security v1.9.0/go.mod h1:6Ta1bO8LXI89nZnmnsZGp9lVoVWXqsVbIq/t9dzI+2Q=
+cloud.google.com/go/security v1.10.0/go.mod h1:QtOMZByJVlibUT2h9afNDWRZ1G96gVywH8T5GUSb9IA=
+cloud.google.com/go/security v1.12.0/go.mod h1:rV6EhrpbNHrrxqlvW0BWAIawFWq3X90SduMJdFwtLB8=
+cloud.google.com/go/security v1.13.0/go.mod h1:Q1Nvxl1PAgmeW0y3HTt54JYIvUdtcpYKVfIB8AOMZ+0=
+cloud.google.com/go/security v1.15.1/go.mod h1:MvTnnbsWnehoizHi09zoiZob0iCHVcL4AUBj76h9fXA=
+cloud.google.com/go/securitycenter v1.13.0/go.mod h1:cv5qNAqjY84FCN6Y9z28WlkKXyWsgLO832YiWwkCWcU=
+cloud.google.com/go/securitycenter v1.14.0/go.mod h1:gZLAhtyKv85n52XYWt6RmeBdydyxfPeTrpToDPw4Auc=
+cloud.google.com/go/securitycenter v1.15.0/go.mod h1:PeKJ0t8MoFmmXLXWm41JidyzI3PJjd8sXWaVqg43WWk=
+cloud.google.com/go/securitycenter v1.16.0/go.mod h1:Q9GMaLQFUD+5ZTabrbujNWLtSLZIZF7SAR0wWECrjdk=
+cloud.google.com/go/securitycenter v1.18.1/go.mod h1:0/25gAzCM/9OL9vVx4ChPeM/+DlfGQJDwBy/UC8AKK0=
+cloud.google.com/go/securitycenter v1.19.0/go.mod h1:LVLmSg8ZkkyaNy4u7HCIshAngSQ8EcIRREP3xBnyfag=
+cloud.google.com/go/securitycenter v1.23.0/go.mod h1:8pwQ4n+Y9WCWM278R8W3nF65QtY172h4S8aXyI9/hsQ=
+cloud.google.com/go/servicecontrol v1.4.0/go.mod h1:o0hUSJ1TXJAmi/7fLJAedOovnujSEvjKCAFNXPQ1RaU=
+cloud.google.com/go/servicecontrol v1.5.0/go.mod h1:qM0CnXHhyqKVuiZnGKrIurvVImCs8gmqWsDoqe9sU1s=
+cloud.google.com/go/servicecontrol v1.10.0/go.mod h1:pQvyvSRh7YzUF2efw7H87V92mxU8FnFDawMClGCNuAA=
+cloud.google.com/go/servicecontrol v1.11.0/go.mod h1:kFmTzYzTUIuZs0ycVqRHNaNhgR+UMUpw9n02l/pY+mc=
+cloud.google.com/go/servicecontrol v1.11.1/go.mod h1:aSnNNlwEFBY+PWGQ2DoM0JJ/QUXqV5/ZD9DOLB7SnUk=
+cloud.google.com/go/servicedirectory v1.4.0/go.mod h1:gH1MUaZCgtP7qQiI+F+A+OpeKF/HQWgtAddhTbhL2bs=
+cloud.google.com/go/servicedirectory v1.5.0/go.mod h1:QMKFL0NUySbpZJ1UZs3oFAmdvVxhhxB6eJ/Vlp73dfg=
+cloud.google.com/go/servicedirectory v1.6.0/go.mod h1:pUlbnWsLH9c13yGkxCmfumWEPjsRs1RlmJ4pqiNjVL4=
+cloud.google.com/go/servicedirectory v1.7.0/go.mod h1:5p/U5oyvgYGYejufvxhgwjL8UVXjkuw7q5XcG10wx1U=
+cloud.google.com/go/servicedirectory v1.8.0/go.mod h1:srXodfhY1GFIPvltunswqXpVxFPpZjf8nkKQT7XcXaY=
+cloud.google.com/go/servicedirectory v1.9.0/go.mod h1:29je5JjiygNYlmsGz8k6o+OZ8vd4f//bQLtvzkPPT/s=
+cloud.google.com/go/servicedirectory v1.10.1/go.mod h1:Xv0YVH8s4pVOwfM/1eMTl0XJ6bzIOSLDt8f8eLaGOxQ=
+cloud.google.com/go/servicedirectory v1.11.0/go.mod h1:Xv0YVH8s4pVOwfM/1eMTl0XJ6bzIOSLDt8f8eLaGOxQ=
+cloud.google.com/go/servicemanagement v1.4.0/go.mod h1:d8t8MDbezI7Z2R1O/wu8oTggo3BI2GKYbdG4y/SJTco=
+cloud.google.com/go/servicemanagement v1.5.0/go.mod h1:XGaCRe57kfqu4+lRxaFEAuqmjzF0r+gWHjWqKqBvKFo=
+cloud.google.com/go/servicemanagement v1.6.0/go.mod h1:aWns7EeeCOtGEX4OvZUWCCJONRZeFKiptqKf1D0l/Jc=
+cloud.google.com/go/servicemanagement v1.8.0/go.mod h1:MSS2TDlIEQD/fzsSGfCdJItQveu9NXnUniTrq/L8LK4=
+cloud.google.com/go/serviceusage v1.3.0/go.mod h1:Hya1cozXM4SeSKTAgGXgj97GlqUvF5JaoXacR1JTP/E=
+cloud.google.com/go/serviceusage v1.4.0/go.mod h1:SB4yxXSaYVuUBYUml6qklyONXNLt83U0Rb+CXyhjEeU=
+cloud.google.com/go/serviceusage v1.5.0/go.mod h1:w8U1JvqUqwJNPEOTQjrMHkw3IaIFLoLsPLvsE3xueec=
+cloud.google.com/go/serviceusage v1.6.0/go.mod h1:R5wwQcbOWsyuOfbP9tGdAnCAc6B9DRwPG1xtWMDeuPA=
+cloud.google.com/go/shell v1.3.0/go.mod h1:VZ9HmRjZBsjLGXusm7K5Q5lzzByZmJHf1d0IWHEN5X4=
+cloud.google.com/go/shell v1.4.0/go.mod h1:HDxPzZf3GkDdhExzD/gs8Grqk+dmYcEjGShZgYa9URw=
+cloud.google.com/go/shell v1.6.0/go.mod h1:oHO8QACS90luWgxP3N9iZVuEiSF84zNyLytb+qE2f9A=
+cloud.google.com/go/shell v1.7.1/go.mod h1:u1RaM+huXFaTojTbW4g9P5emOrrmLE69KrxqQahKn4g=
+cloud.google.com/go/spanner v1.41.0/go.mod h1:MLYDBJR/dY4Wt7ZaMIQ7rXOTLjYrmxLE/5ve9vFfWos=
+cloud.google.com/go/spanner v1.44.0/go.mod h1:G8XIgYdOK+Fbcpbs7p2fiprDw4CaZX63whnSMLVBxjk=
+cloud.google.com/go/spanner v1.45.0/go.mod h1:FIws5LowYz8YAE1J8fOS7DJup8ff7xJeetWEo5REA2M=
+cloud.google.com/go/spanner v1.47.0/go.mod h1:IXsJwVW2j4UKs0eYDqodab6HgGuA1bViSqW4uH9lfUI=
+cloud.google.com/go/speech v1.6.0/go.mod h1:79tcr4FHCimOp56lwC01xnt/WPJZc4v3gzyT7FoBkCM=
+cloud.google.com/go/speech v1.7.0/go.mod h1:KptqL+BAQIhMsj1kOP2la5DSEEerPDuOP/2mmkhHhZQ=
+cloud.google.com/go/speech v1.8.0/go.mod h1:9bYIl1/tjsAnMgKGHKmBZzXKEkGgtU+MpdDPTE9f7y0=
+cloud.google.com/go/speech v1.9.0/go.mod h1:xQ0jTcmnRFFM2RfX/U+rk6FQNUF6DQlydUSyoooSpco=
+cloud.google.com/go/speech v1.14.1/go.mod h1:gEosVRPJ9waG7zqqnsHpYTOoAS4KouMRLDFMekpJ0J0=
+cloud.google.com/go/speech v1.15.0/go.mod h1:y6oH7GhqCaZANH7+Oe0BhgIogsNInLlz542tg3VqeYI=
+cloud.google.com/go/speech v1.17.1/go.mod h1:8rVNzU43tQvxDaGvqOhpDqgkJTFowBpDvCJ14kGlJYo=
+cloud.google.com/go/speech v1.19.0/go.mod h1:8rVNzU43tQvxDaGvqOhpDqgkJTFowBpDvCJ14kGlJYo=
+cloud.google.com/go/storage v1.0.0/go.mod h1:IhtSnM/ZTZV8YYJWCY8RULGVqBDmpoyjwiyrjsg+URw=
+cloud.google.com/go/storage v1.5.0/go.mod h1:tpKbwo567HUNpVclU5sGELwQWBDZ8gh0ZeosJ0Rtdos=
+cloud.google.com/go/storage v1.6.0/go.mod h1:N7U0C8pVQ/+NIKOBQyamJIeKQKkZ+mxpohlUTyfDhBk=
+cloud.google.com/go/storage v1.8.0/go.mod h1:Wv1Oy7z6Yz3DshWRJFhqM/UCfaWIRTdp0RXyy7KQOVs=
+cloud.google.com/go/storage v1.10.0/go.mod h1:FLPqc6j+Ki4BU591ie1oL6qBQGu2Bl/tZ9ullr3+Kg0=
+cloud.google.com/go/storage v1.14.0/go.mod h1:GrKmX003DSIwi9o29oFT7YDnHYwZoctc3fOKtUw0Xmo=
+cloud.google.com/go/storage v1.22.1/go.mod h1:S8N1cAStu7BOeFfE8KAQzmyyLkK8p/vmRq6kuBTW58Y=
+cloud.google.com/go/storage v1.23.0/go.mod h1:vOEEDNFnciUMhBeT6hsJIn3ieU5cFRmzeLgDvXzfIXc=
+cloud.google.com/go/storage v1.27.0/go.mod h1:x9DOL8TK/ygDUMieqwfhdpQryTeEkhGKMi80i/iqR2s=
+cloud.google.com/go/storage v1.28.1/go.mod h1:Qnisd4CqDdo6BGs2AD5LLnEsmSQ80wQ5ogcBBKhU86Y=
+cloud.google.com/go/storage v1.29.0/go.mod h1:4puEjyTKnku6gfKoTfNOU/W+a9JyuVNxjpS5GBrB8h4=
+cloud.google.com/go/storage v1.30.1/go.mod h1:NfxhC0UJE1aXSx7CIIbCf7y9HKT7BiccwkR7+P7gN8E=
+cloud.google.com/go/storagetransfer v1.5.0/go.mod h1:dxNzUopWy7RQevYFHewchb29POFv3/AaBgnhqzqiK0w=
+cloud.google.com/go/storagetransfer v1.6.0/go.mod h1:y77xm4CQV/ZhFZH75PLEXY0ROiS7Gh6pSKrM8dJyg6I=
+cloud.google.com/go/storagetransfer v1.7.0/go.mod h1:8Giuj1QNb1kfLAiWM1bN6dHzfdlDAVC9rv9abHot2W4=
+cloud.google.com/go/storagetransfer v1.8.0/go.mod h1:JpegsHHU1eXg7lMHkvf+KE5XDJ7EQu0GwNJbbVGanEw=
+cloud.google.com/go/storagetransfer v1.10.0/go.mod h1:DM4sTlSmGiNczmV6iZyceIh2dbs+7z2Ayg6YAiQlYfA=
+cloud.google.com/go/talent v1.1.0/go.mod h1:Vl4pt9jiHKvOgF9KoZo6Kob9oV4lwd/ZD5Cto54zDRw=
+cloud.google.com/go/talent v1.2.0/go.mod h1:MoNF9bhFQbiJ6eFD3uSsg0uBALw4n4gaCaEjBw9zo8g=
+cloud.google.com/go/talent v1.3.0/go.mod h1:CmcxwJ/PKfRgd1pBjQgU6W3YBwiewmUzQYH5HHmSCmM=
+cloud.google.com/go/talent v1.4.0/go.mod h1:ezFtAgVuRf8jRsvyE6EwmbTK5LKciD4KVnHuDEFmOOA=
+cloud.google.com/go/talent v1.5.0/go.mod h1:G+ODMj9bsasAEJkQSzO2uHQWXHHXUomArjWQQYkqK6c=
+cloud.google.com/go/talent v1.6.2/go.mod h1:CbGvmKCG61mkdjcqTcLOkb2ZN1SrQI8MDyma2l7VD24=
+cloud.google.com/go/texttospeech v1.4.0/go.mod h1:FX8HQHA6sEpJ7rCMSfXuzBcysDAuWusNNNvN9FELDd8=
+cloud.google.com/go/texttospeech v1.5.0/go.mod h1:oKPLhR4n4ZdQqWKURdwxMy0uiTS1xU161C8W57Wkea4=
+cloud.google.com/go/texttospeech v1.6.0/go.mod h1:YmwmFT8pj1aBblQOI3TfKmwibnsfvhIBzPXcW4EBovc=
+cloud.google.com/go/texttospeech v1.7.1/go.mod h1:m7QfG5IXxeneGqTapXNxv2ItxP/FS0hCZBwXYqucgSk=
+cloud.google.com/go/tpu v1.3.0/go.mod h1:aJIManG0o20tfDQlRIej44FcwGGl/cD0oiRyMKG19IQ=
+cloud.google.com/go/tpu v1.4.0/go.mod h1:mjZaX8p0VBgllCzF6wcU2ovUXN9TONFLd7iz227X2Xg=
+cloud.google.com/go/tpu v1.5.0/go.mod h1:8zVo1rYDFuW2l4yZVY0R0fb/v44xLh3llq7RuV61fPM=
+cloud.google.com/go/tpu v1.6.1/go.mod h1:sOdcHVIgDEEOKuqUoi6Fq53MKHJAtOwtz0GuKsWSH3E=
+cloud.google.com/go/trace v1.3.0/go.mod h1:FFUE83d9Ca57C+K8rDl/Ih8LwOzWIV1krKgxg6N0G28=
+cloud.google.com/go/trace v1.4.0/go.mod h1:UG0v8UBqzusp+z63o7FK74SdFE+AXpCLdFb1rshXG+Y=
+cloud.google.com/go/trace v1.8.0/go.mod h1:zH7vcsbAhklH8hWFig58HvxcxyQbaIqMarMg9hn5ECA=
+cloud.google.com/go/trace v1.9.0/go.mod h1:lOQqpE5IaWY0Ixg7/r2SjixMuc6lfTFeO4QGM4dQWOk=
+cloud.google.com/go/trace v1.10.1/go.mod h1:gbtL94KE5AJLH3y+WVpfWILmqgc6dXcqgNXdOPAQTYk=
+cloud.google.com/go/translate v1.3.0/go.mod h1:gzMUwRjvOqj5i69y/LYLd8RrNQk+hOmIXTi9+nb3Djs=
+cloud.google.com/go/translate v1.4.0/go.mod h1:06Dn/ppvLD6WvA5Rhdp029IX2Mi3Mn7fpMRLPvXT5Wg=
+cloud.google.com/go/translate v1.5.0/go.mod h1:29YDSYveqqpA1CQFD7NQuP49xymq17RXNaUDdc0mNu0=
+cloud.google.com/go/translate v1.6.0/go.mod h1:lMGRudH1pu7I3n3PETiOB2507gf3HnfLV8qlkHZEyos=
+cloud.google.com/go/translate v1.7.0/go.mod h1:lMGRudH1pu7I3n3PETiOB2507gf3HnfLV8qlkHZEyos=
+cloud.google.com/go/translate v1.8.1/go.mod h1:d1ZH5aaOA0CNhWeXeC8ujd4tdCFw8XoNWRljklu5RHs=
+cloud.google.com/go/translate v1.8.2/go.mod h1:d1ZH5aaOA0CNhWeXeC8ujd4tdCFw8XoNWRljklu5RHs=
+cloud.google.com/go/video v1.8.0/go.mod h1:sTzKFc0bUSByE8Yoh8X0mn8bMymItVGPfTuUBUyRgxk=
+cloud.google.com/go/video v1.9.0/go.mod h1:0RhNKFRF5v92f8dQt0yhaHrEuH95m068JYOvLZYnJSw=
+cloud.google.com/go/video v1.12.0/go.mod h1:MLQew95eTuaNDEGriQdcYn0dTwf9oWiA4uYebxM5kdg=
+cloud.google.com/go/video v1.13.0/go.mod h1:ulzkYlYgCp15N2AokzKjy7MQ9ejuynOJdf1tR5lGthk=
+cloud.google.com/go/video v1.14.0/go.mod h1:SkgaXwT+lIIAKqWAJfktHT/RbgjSuY6DobxEp0C5yTQ=
+cloud.google.com/go/video v1.15.0/go.mod h1:SkgaXwT+lIIAKqWAJfktHT/RbgjSuY6DobxEp0C5yTQ=
+cloud.google.com/go/video v1.17.1/go.mod h1:9qmqPqw/Ib2tLqaeHgtakU+l5TcJxCJbhFXM7UJjVzU=
+cloud.google.com/go/video v1.19.0/go.mod h1:9qmqPqw/Ib2tLqaeHgtakU+l5TcJxCJbhFXM7UJjVzU=
+cloud.google.com/go/videointelligence v1.6.0/go.mod h1:w0DIDlVRKtwPCn/C4iwZIJdvC69yInhW0cfi+p546uU=
+cloud.google.com/go/videointelligence v1.7.0/go.mod h1:k8pI/1wAhjznARtVT9U1llUaFNPh7muw8QyOUpavru4=
+cloud.google.com/go/videointelligence v1.8.0/go.mod h1:dIcCn4gVDdS7yte/w+koiXn5dWVplOZkE+xwG9FgK+M=
+cloud.google.com/go/videointelligence v1.9.0/go.mod h1:29lVRMPDYHikk3v8EdPSaL8Ku+eMzDljjuvRs105XoU=
+cloud.google.com/go/videointelligence v1.10.0/go.mod h1:LHZngX1liVtUhZvi2uNS0VQuOzNi2TkY1OakiuoUOjU=
+cloud.google.com/go/videointelligence v1.11.1/go.mod h1:76xn/8InyQHarjTWsBR058SmlPCwQjgcvoW0aZykOvo=
+cloud.google.com/go/vision v1.2.0/go.mod h1:SmNwgObm5DpFBme2xpyOyasvBc1aPdjvMk2bBk0tKD0=
+cloud.google.com/go/vision/v2 v2.2.0/go.mod h1:uCdV4PpN1S0jyCyq8sIM42v2Y6zOLkZs+4R9LrGYwFo=
+cloud.google.com/go/vision/v2 v2.3.0/go.mod h1:UO61abBx9QRMFkNBbf1D8B1LXdS2cGiiCRx0vSpZoUo=
+cloud.google.com/go/vision/v2 v2.4.0/go.mod h1:VtI579ll9RpVTrdKdkMzckdnwMyX2JILb+MhPqRbPsY=
+cloud.google.com/go/vision/v2 v2.5.0/go.mod h1:MmaezXOOE+IWa+cS7OhRRLK2cNv1ZL98zhqFFZaaH2E=
+cloud.google.com/go/vision/v2 v2.6.0/go.mod h1:158Hes0MvOS9Z/bDMSFpjwsUrZ5fPrdwuyyvKSGAGMY=
+cloud.google.com/go/vision/v2 v2.7.0/go.mod h1:H89VysHy21avemp6xcf9b9JvZHVehWbET0uT/bcuY/0=
+cloud.google.com/go/vision/v2 v2.7.2/go.mod h1:jKa8oSYBWhYiXarHPvP4USxYANYUEdEsQrloLjrSwJU=
+cloud.google.com/go/vmmigration v1.2.0/go.mod h1:IRf0o7myyWFSmVR1ItrBSFLFD/rJkfDCUTO4vLlJvsE=
+cloud.google.com/go/vmmigration v1.3.0/go.mod h1:oGJ6ZgGPQOFdjHuocGcLqX4lc98YQ7Ygq8YQwHh9A7g=
+cloud.google.com/go/vmmigration v1.5.0/go.mod h1:E4YQ8q7/4W9gobHjQg4JJSgXXSgY21nA5r8swQV+Xxc=
+cloud.google.com/go/vmmigration v1.6.0/go.mod h1:bopQ/g4z+8qXzichC7GW1w2MjbErL54rk3/C843CjfY=
+cloud.google.com/go/vmmigration v1.7.1/go.mod h1:WD+5z7a/IpZ5bKK//YmT9E047AD+rjycCAvyMxGJbro=
+cloud.google.com/go/vmwareengine v0.1.0/go.mod h1:RsdNEf/8UDvKllXhMz5J40XxDrNJNN4sagiox+OI208=
+cloud.google.com/go/vmwareengine v0.2.2/go.mod h1:sKdctNJxb3KLZkE/6Oui94iw/xs9PRNC2wnNLXsHvH8=
+cloud.google.com/go/vmwareengine v0.3.0/go.mod h1:wvoyMvNWdIzxMYSpH/R7y2h5h3WFkx6d+1TIsP39WGY=
+cloud.google.com/go/vmwareengine v0.4.1/go.mod h1:Px64x+BvjPZwWuc4HdmVhoygcXqEkGHXoa7uyfTgSI0=
+cloud.google.com/go/vmwareengine v1.0.0/go.mod h1:Px64x+BvjPZwWuc4HdmVhoygcXqEkGHXoa7uyfTgSI0=
+cloud.google.com/go/vpcaccess v1.4.0/go.mod h1:aQHVbTWDYUR1EbTApSVvMq1EnT57ppDmQzZ3imqIk4w=
+cloud.google.com/go/vpcaccess v1.5.0/go.mod h1:drmg4HLk9NkZpGfCmZ3Tz0Bwnm2+DKqViEpeEpOq0m8=
+cloud.google.com/go/vpcaccess v1.6.0/go.mod h1:wX2ILaNhe7TlVa4vC5xce1bCnqE3AeH27RV31lnmZes=
+cloud.google.com/go/vpcaccess v1.7.1/go.mod h1:FogoD46/ZU+JUBX9D606X21EnxiszYi2tArQwLY4SXs=
+cloud.google.com/go/webrisk v1.4.0/go.mod h1:Hn8X6Zr+ziE2aNd8SliSDWpEnSS1u4R9+xXZmFiHmGE=
+cloud.google.com/go/webrisk v1.5.0/go.mod h1:iPG6fr52Tv7sGk0H6qUFzmL3HHZev1htXuWDEEsqMTg=
+cloud.google.com/go/webrisk v1.6.0/go.mod h1:65sW9V9rOosnc9ZY7A7jsy1zoHS5W9IAXv6dGqhMQMc=
+cloud.google.com/go/webrisk v1.7.0/go.mod h1:mVMHgEYH0r337nmt1JyLthzMr6YxwN1aAIEc2fTcq7A=
+cloud.google.com/go/webrisk v1.8.0/go.mod h1:oJPDuamzHXgUc+b8SiHRcVInZQuybnvEW72PqTc7sSg=
+cloud.google.com/go/webrisk v1.9.1/go.mod h1:4GCmXKcOa2BZcZPn6DCEvE7HypmEJcJkr4mtM+sqYPc=
+cloud.google.com/go/websecurityscanner v1.3.0/go.mod h1:uImdKm2wyeXQevQJXeh8Uun/Ym1VqworNDlBXQevGMo=
+cloud.google.com/go/websecurityscanner v1.4.0/go.mod h1:ebit/Fp0a+FWu5j4JOmJEV8S8CzdTkAS77oDsiSqYWQ=
+cloud.google.com/go/websecurityscanner v1.5.0/go.mod h1:Y6xdCPy81yi0SQnDY1xdNTNpfY1oAgXUlcfN3B3eSng=
+cloud.google.com/go/websecurityscanner v1.6.1/go.mod h1:Njgaw3rttgRHXzwCB8kgCYqv5/rGpFCsBOvPbYgszpg=
+cloud.google.com/go/workflows v1.6.0/go.mod h1:6t9F5h/unJz41YqfBmqSASJSXccBLtD1Vwf+KmJENM0=
+cloud.google.com/go/workflows v1.7.0/go.mod h1:JhSrZuVZWuiDfKEFxU0/F1PQjmpnpcoISEXH2bcHC3M=
+cloud.google.com/go/workflows v1.8.0/go.mod h1:ysGhmEajwZxGn1OhGOGKsTXc5PyxOc0vfKf5Af+to4M=
+cloud.google.com/go/workflows v1.9.0/go.mod h1:ZGkj1aFIOd9c8Gerkjjq7OW7I5+l6cSvT3ujaO/WwSA=
+cloud.google.com/go/workflows v1.10.0/go.mod h1:fZ8LmRmZQWacon9UCX1r/g/DfAXx5VcPALq2CxzdePw=
+cloud.google.com/go/workflows v1.11.1/go.mod h1:Z+t10G1wF7h8LgdY/EmRcQY8ptBD/nvofaL6FqlET6g=
+codeberg.org/go-fonts/dejavu v0.4.0/go.mod h1:abni088lmhQJvso2Lsb7azCKzwkfcnttl6tL1UTWKzg=
+codeberg.org/go-fonts/latin-modern v0.4.0/go.mod h1:BF68mZznJ9QHn+hic9ks2DaFl4sR5YhfM6xTYaP9vNw=
+codeberg.org/go-fonts/liberation v0.4.1/go.mod h1:Gu6FTZHMMpGxPBfc8WFL8RfwMYFTvG7TIFOMx8oM4B8=
+codeberg.org/go-fonts/liberation v0.5.0/go.mod h1:zS/2e1354/mJ4pGzIIaEtm/59VFCFnYC7YV6YdGl5GU=
+codeberg.org/go-fonts/stix v0.3.0/go.mod h1:1OSJSnA/PoHqbW2tjkkqTmNPp5xTtJQN2GRXJjO/+WA=
+codeberg.org/go-latex/latex v0.0.1/go.mod h1:AiC91vVG2uURZRd4ZN1j3mAac0XBrLsxK6+ZNa7O9ok=
+codeberg.org/go-latex/latex v0.1.0/go.mod h1:LA0q/AyWIYrqVd+A9Upkgsb+IqPcmSTKc9Dny04MHMw=
+codeberg.org/go-pdf/fpdf v0.10.0/go.mod h1:Y0DGRAdZ0OmnZPvjbMp/1bYxmIPxm0ws4tfoPOc4LjU=
dario.cat/mergo v1.0.1 h1:Ra4+bf83h2ztPIQYNP99R6m+Y7KfnARDfID+a+vLl4s=
dario.cat/mergo v1.0.1/go.mod h1:uNxQE+84aUszobStD9th8a29P2fMDhsBdgRYvZOxGmk=
+dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU=
+dmitri.shuralyov.com/gpu/mtl v0.0.0-20201218220906-28db891af037/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU=
+dmitri.shuralyov.com/gpu/mtl v0.0.0-20221208032759-85de2813cf6b/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU=
+eliasnaur.com/font v0.0.0-20230308162249-dd43949cb42d/go.mod h1:OYVuxibdk9OSLX8vAqydtRPP87PyTFcT9uH3MlEGBQA=
+gioui.org v0.0.0-20210308172011-57750fc8a0a6/go.mod h1:RSH6KIUZ0p2xy5zHDxgAM4zumjgTw83q2ge/PI+yyw8=
+gioui.org v0.0.0-20210822154628-43a7030f6e0b/go.mod h1:jmZ349gZNGWyc5FIv/VWLBQ32Ki/FOvTgEz64kh9lnk=
+gioui.org v0.2.0/go.mod h1:1H72sKEk/fNFV+l0JNeM2Dt3co3Y4uaQcD+I+/GQ0e4=
+gioui.org/cpu v0.0.0-20210808092351-bfe733dd3334/go.mod h1:A8M0Cn5o+vY5LTMlnRoK3O5kG+rH0kWfJjeKd9QpBmQ=
+gioui.org/cpu v0.0.0-20210817075930-8d6a761490d2/go.mod h1:A8M0Cn5o+vY5LTMlnRoK3O5kG+rH0kWfJjeKd9QpBmQ=
+gioui.org/cpu v0.0.0-20220412190645-f1e9e8c3b1f7/go.mod h1:A8M0Cn5o+vY5LTMlnRoK3O5kG+rH0kWfJjeKd9QpBmQ=
+gioui.org/shader v1.0.0/go.mod h1:mWdiME581d/kV7/iEhLmUgUK5iZ09XR5XpduXzbePVM=
+gioui.org/shader v1.0.6/go.mod h1:mWdiME581d/kV7/iEhLmUgUK5iZ09XR5XpduXzbePVM=
+gioui.org/x v0.2.0/go.mod h1:rCGN2nZ8ZHqrtseJoQxCMZpt2xrZUrdZ2WuMRLBJmYs=
+git.sr.ht/~jackmordaunt/go-toast v1.0.0/go.mod h1:aIuRX/HdBOz7yRS8rOVYQCwJQlFS7DbYBTpUV0SHeeg=
+git.sr.ht/~sbinet/cmpimg v0.1.0/go.mod h1:FU12psLbF4TfNXkKH2ZZQ29crIqoiqTZmeQ7dkp/pxE=
+git.sr.ht/~sbinet/gg v0.3.1/go.mod h1:KGYtlADtqsqANL9ueOFkWymvzUvLMQllU5Ixo+8v3pc=
+git.sr.ht/~sbinet/gg v0.5.0/go.mod h1:G2C0eRESqlKhS7ErsNey6HHrqU1PwsnCQlekFi9Q2Oo=
+git.sr.ht/~sbinet/gg v0.6.0/go.mod h1:uucygbfC9wVPQIfrmwM2et0imr8L7KQWywX0xpFMm94=
+git.wow.st/gmp/jni v0.0.0-20210610011705-34026c7e22d0/go.mod h1:+axXBRUTIDlCeE73IKeD/os7LoEnTKdkp8/gQOFjqyo=
github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=
github.com/BurntSushi/toml v1.5.0 h1:W5quZX/G/csjUnuI8SUYlsHs9M38FC7znL0lIO+DvMg=
github.com/BurntSushi/toml v1.5.0/go.mod h1:ukJfTF/6rtPPRCnwkur4qwRxa8vTRFBF0uk2lLoLwho=
+github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo=
+github.com/GoogleCloudPlatform/opentelemetry-operations-go/detectors/gcp v1.27.0/go.mod h1:yAZHSGnqScoU556rBOVkwLze6WP5N+U11RHuWaGVxwY=
+github.com/GoogleCloudPlatform/opentelemetry-operations-go/detectors/gcp v1.29.0/go.mod h1:Cz6ft6Dkn3Et6l2v2a9/RpN7epQ1GtDlO6lj8bEcOvw=
+github.com/JohnCGriffin/overflow v0.0.0-20211019200055-46fa312c352c/go.mod h1:X0CRv0ky0k6m906ixxpzmDRLvX58TFUKS2eePweuyxk=
+github.com/Knetic/govaluate v3.0.1-0.20171022003610-9aa49832a739+incompatible/go.mod h1:r7JcOSlj0wfOMncg0iLm8Leh48TZaKVeNIfJntJ2wa0=
github.com/Microsoft/go-winio v0.6.2 h1:F2VQgta7ecxGYO8k3ZZz3RS8fVIXVxONVUPlNERoyfY=
github.com/Microsoft/go-winio v0.6.2/go.mod h1:yd8OoFMLzJbo9gZq8j5qaps8bJ9aShtEA8Ipt1oGCvU=
github.com/Microsoft/hcsshim v0.12.9 h1:2zJy5KA+l0loz1HzEGqyNnjd3fyZA31ZBCGKacp6lLg=
github.com/Microsoft/hcsshim v0.12.9/go.mod h1:fJ0gkFAna6ukt0bLdKB8djt4XIJhF/vEPuoIWYVvZ8Y=
+github.com/Shopify/sarama v1.19.0/go.mod h1:FVkBWblsNy7DGZRfXLU0O9RCGt5g3g3yEuWXgklEdEo=
+github.com/Shopify/toxiproxy v2.1.4+incompatible/go.mod h1:OXgGpZ6Cli1/URJOF1DMxUHB2q5Ap20/P/eIdh4G0pI=
github.com/VividCortex/ewma v1.2.0 h1:f58SaIzcDXrSy3kWaHNvuJgJ3Nmz59Zji6XoJR/q1ow=
github.com/VividCortex/ewma v1.2.0/go.mod h1:nz4BbCtbLyFDeC9SUHbtcT5644juEuWfUAUnGx7j5l4=
+github.com/VividCortex/gohistogram v1.0.0/go.mod h1:Pf5mBqqDxYaXu3hDrrU+w6nw50o/4+TcAqDqk/vUH7g=
github.com/acarl005/stripansi v0.0.0-20180116102854-5a71ef0e047d h1:licZJFw2RwpHMqeKTCYkitsPqHNxTmd4SNR5r94FGM8=
github.com/acarl005/stripansi v0.0.0-20180116102854-5a71ef0e047d/go.mod h1:asat636LX7Bqt5lYEZ27JNDcqxfjdBQuJ/MM4CN/Lzo=
+github.com/afex/hystrix-go v0.0.0-20180502004556-fa1af6a1f4f5/go.mod h1:SkGFH1ia65gfNATL8TAiHDNxPzPdmEL5uirI2Uyuz6c=
+github.com/ajstarks/deck v0.0.0-20200831202436-30c9fc6549a9/go.mod h1:JynElWSGnm/4RlzPXRlREEwqTHAN3T56Bv2ITsFT3gY=
+github.com/ajstarks/deck/generate v0.0.0-20210309230005-c3f852c02e19/go.mod h1:T13YZdzov6OU0A1+RfKZiZN9ca6VeKdBdyDV+BY97Tk=
+github.com/ajstarks/svgo v0.0.0-20180226025133-644b8db467af/go.mod h1:K08gAheRH3/J6wwsYMMT4xOr94bZjxIelGM0+d/wbFw=
+github.com/ajstarks/svgo v0.0.0-20211024235047-1546f124cd8b/go.mod h1:1KcenG0jGWcpt8ov532z81sp/kMMUG485J2InIOyADM=
+github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc=
+github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc=
+github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0=
+github.com/alecthomas/units v0.0.0-20190717042225-c3de453c63f4/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0=
+github.com/andybalholm/brotli v1.0.4/go.mod h1:fO7iG3H7G2nSZ7m0zPUDn85XEX2GTukHGRSepvi9Eig=
+github.com/andybalholm/stroke v0.0.0-20221221101821-bd29b49d73f0/go.mod h1:ccdDYaY5+gO+cbnQdFxEXqfy0RkoV25H3jLXUDNM3wg=
+github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY=
github.com/antlr4-go/antlr/v4 v4.13.0 h1:lxCg3LAv+EUK6t1i0y1V6/SLeUi0eKEKdhQAlS8TVTI=
github.com/antlr4-go/antlr/v4 v4.13.0/go.mod h1:pfChB/xh/Unjila75QW7+VU4TSnWnnk9UTnmpPaOR2g=
+github.com/apache/arrow/go/v10 v10.0.1/go.mod h1:YvhnlEePVnBS4+0z3fhPfUy7W1Ikj0Ih0vcRo/gZ1M0=
+github.com/apache/arrow/go/v11 v11.0.0/go.mod h1:Eg5OsL5H+e299f7u5ssuXsuHQVEGC4xei5aX110hRiI=
+github.com/apache/arrow/go/v12 v12.0.0/go.mod h1:d+tV/eHZZ7Dz7RPrFKtPK02tpr+c9/PEd/zm8mDS9Vg=
+github.com/apache/thrift v0.12.0/go.mod h1:cp2SuWMxlEZw2r+iP2GNCdIi4C1qmUzdZFSVb+bacwQ=
+github.com/apache/thrift v0.13.0/go.mod h1:cp2SuWMxlEZw2r+iP2GNCdIi4C1qmUzdZFSVb+bacwQ=
+github.com/apache/thrift v0.16.0/go.mod h1:PHK3hniurgQaNMZYaCLEqXKsYK8upmhPbmdP2FXSqgU=
+github.com/armon/circbuf v0.0.0-20150827004946-bbbad097214e/go.mod h1:3U/XgcO3hCbHZ8TKRvWD2dDTCfh9M9ya+I9JpbB7O8o=
+github.com/armon/go-metrics v0.0.0-20180917152333-f0300d1749da/go.mod h1:Q73ZrmVTwzkszR9V5SSuryQ31EELlFMUz1kKyl939pY=
+github.com/armon/go-radix v0.0.0-20180808171621-7fddfc383310/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8=
+github.com/aryann/difflib v0.0.0-20170710044230-e206f873d14a/go.mod h1:DAHtR1m6lCRdSC2Tm3DSWRPvIPr6xNKyeHdqDQSQT+A=
github.com/asaskevich/govalidator v0.0.0-20230301143203-a9d515a09cc2 h1:DklsrG3dyBCFEj5IhUbnKptjxatkF07cF2ak3yi77so=
github.com/asaskevich/govalidator v0.0.0-20230301143203-a9d515a09cc2/go.mod h1:WaHUgvxTVq04UNunO+XhnAqY/wQc+bxr74GqbsZ/Jqw=
+github.com/aws/aws-lambda-go v1.13.3/go.mod h1:4UKl9IzQMoD+QF79YdCuzCwp8VbmG4VAQwij/eHl5CU=
+github.com/aws/aws-sdk-go v1.27.0/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo=
+github.com/aws/aws-sdk-go-v2 v0.18.0/go.mod h1:JWVYvqSMppoMJC0x5wdwiImzgXTI9FuZwxzkQq9wy+g=
+github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q=
+github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+CedLV8=
github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM=
github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw=
+github.com/bgentry/speakeasy v0.1.0/go.mod h1:+zsyZBPWlz7T6j88CTgSN5bM796AkVf0kBD4zp0CCIs=
github.com/blang/semver/v4 v4.0.0 h1:1PFHFE6yCCTv8C1TeyNNarDzntLi7wMI5i/pzqYIsAM=
github.com/blang/semver/v4 v4.0.0/go.mod h1:IbckMUScFkM3pff0VJDNKRiT6TG/YpiHIM2yvyW5YoQ=
+github.com/boombuler/barcode v1.0.0/go.mod h1:paBWMcWSl3LHKBqUq+rly7CNSldXjb2rDl3JlRe0mD8=
+github.com/boombuler/barcode v1.0.1/go.mod h1:paBWMcWSl3LHKBqUq+rly7CNSldXjb2rDl3JlRe0mD8=
+github.com/campoy/embedmd v1.0.0/go.mod h1:oxyr9RCiSXg0M3VJ3ks0UGfp98BpSSGr0kpiX3MzVl8=
+github.com/casbin/casbin/v2 v2.1.2/go.mod h1:YcPU1XXisHhLzuxH9coDNf2FbKpjGlbCg3n9yuLkIJQ=
+github.com/cenkalti/backoff v2.2.1+incompatible/go.mod h1:90ReRw6GdpyfrHakVjL/QHaoyV4aDUVVkXQJJJ3NXXM=
github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU=
+github.com/census-instrumentation/opencensus-proto v0.3.0/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU=
+github.com/census-instrumentation/opencensus-proto v0.4.1/go.mod h1:4T9NM4+4Vw91VeyqjLS6ao50K5bOcLKN6Q42XnYaRYw=
+github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs=
+github.com/cespare/xxhash/v2 v2.2.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs=
github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs=
github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs=
-github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw=
-github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc=
+github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI=
+github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI=
+github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU=
+github.com/clbanning/x2j v0.0.0-20191024224557-825249438eec/go.mod h1:jMjuTZXRI4dUb/I5gc9Hdhagfvm9+RyrPryS/auMzxE=
+github.com/cncf/udpa/go v0.0.0-20210930031921-04548b0d99d4/go.mod h1:6pvJx4me5XPnfI9Z40ddWsdw2W/uZgQLFXToKeRcDiI=
+github.com/cncf/udpa/go v0.0.0-20220112060539-c52dc94e7fbe/go.mod h1:6pvJx4me5XPnfI9Z40ddWsdw2W/uZgQLFXToKeRcDiI=
+github.com/cncf/xds/go v0.0.0-20210922020428-25de7278fc84/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs=
+github.com/cncf/xds/go v0.0.0-20211001041855-01bcc9b48dfe/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs=
+github.com/cncf/xds/go v0.0.0-20211011173535-cb28da3451f1/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs=
+github.com/cncf/xds/go v0.0.0-20220314180256-7f1daf1720fc/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs=
+github.com/cncf/xds/go v0.0.0-20230105202645-06c439db220b/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs=
+github.com/cncf/xds/go v0.0.0-20230310173818-32f1caf87195/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs=
+github.com/cncf/xds/go v0.0.0-20240723142845-024c85f92f20/go.mod h1:W+zGtBO5Y1IgJhy4+A9GOqVhqLpfZi+vwmdNXUehLA8=
+github.com/cncf/xds/go v0.0.0-20240905190251-b4127c9b8d78/go.mod h1:W+zGtBO5Y1IgJhy4+A9GOqVhqLpfZi+vwmdNXUehLA8=
+github.com/cncf/xds/go v0.0.0-20250501225837-2ac532fd4443/go.mod h1:W+zGtBO5Y1IgJhy4+A9GOqVhqLpfZi+vwmdNXUehLA8=
+github.com/cockroachdb/datadriven v0.0.0-20190809214429-80d97fb3cbaa/go.mod h1:zn76sxSg3SzpJ0PPJaLDCu+Bu0Lg3sKTORVIj19EIF8=
+github.com/codahale/hdrhistogram v0.0.0-20161010025455-3a0bb77429bd/go.mod h1:sE/e/2PUdi/liOCUjSTXgM1o87ZssimdTWN964YiIeI=
github.com/containerd/cgroups/v3 v3.0.5 h1:44na7Ud+VwyE7LIoJ8JTNQOa549a8543BmzaJHo6Bzo=
github.com/containerd/cgroups/v3 v3.0.5/go.mod h1:SA5DLYnXO8pTGYiAHXz94qvLQTKfVM5GEVisn4jpins=
github.com/containerd/containerd v1.7.26 h1:3cs8K2RHlMQaPifLqgRyI4VBkoldNdEw62cb7qQga7k=
@@ -49,12 +891,20 @@ github.com/containers/ocicrypt v1.2.1 h1:0qIOTT9DoYwcKmxSt8QJt+VzMY18onl9jUXsxpV
github.com/containers/ocicrypt v1.2.1/go.mod h1:aD0AAqfMp0MtwqWgHM1bUwe1anx0VazI108CRrSKINQ=
github.com/containers/storage v1.58.0 h1:Q7SyyCCjqgT3wYNgRNIL8o/wUS92heIj2/cc8Sewvcc=
github.com/containers/storage v1.58.0/go.mod h1:w7Jl6oG+OpeLGLzlLyOZPkmUso40kjpzgrHUk5tyBlo=
+github.com/coreos/go-semver v0.2.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk=
+github.com/coreos/go-systemd v0.0.0-20180511133405-39ca1b05acc7/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4=
+github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4=
+github.com/coreos/pkg v0.0.0-20160727233714-3ac0863d7acf/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA=
+github.com/cpuguy83/go-md2man/v2 v2.0.0-20190314233015-f79a8a8ca69d/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU=
+github.com/creack/pty v1.1.7/go.mod h1:lj5s0c3V2DBrqTV7llrYr5NG6My20zk30Fl46Y7DoTY=
+github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E=
github.com/cyberphone/json-canonicalization v0.0.0-20241213102144-19d51d7fe467 h1:uX1JmpONuD549D73r6cgnxyUu18Zb7yHAy5AYU0Pm4Q=
github.com/cyberphone/json-canonicalization v0.0.0-20241213102144-19d51d7fe467/go.mod h1:uzvlm1mxhHkdfqitSA92i7Se+S9ksOn3a3qmv/kyOCw=
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc h1:U9qPSI2PIWSS1VwoXQT9A3Wy9MM3WgvqSxFWenqJduM=
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
+github.com/dgrijalva/jwt-go v3.2.0+incompatible/go.mod h1:E3ru+11k8xSBh+hMPgOLZmtrrCbhqsmaPHjLKYnJCaQ=
github.com/distribution/reference v0.6.0 h1:0IXCQ5g4/QMHHkarYzh5l+u8T3t73zM5QvfrDyIgxBk=
github.com/distribution/reference v0.6.0/go.mod h1:BbU0aIcezP1/5jX/8MP0YiH4SdvB5Y4f/wlDRiLyi3E=
github.com/docker/cli v28.0.0+incompatible h1:ido37VmLUqEp+5NFb9icd6BuBB+SNDgCn+5kPCr2buA=
@@ -71,28 +921,87 @@ github.com/docker/go-metrics v0.0.1 h1:AgB/0SvBxihN0X8OR4SjsblXkbMvalQ8cjmtKQ2rQ
github.com/docker/go-metrics v0.0.1/go.mod h1:cG1hvH2utMXtqgqqYE9plW6lDxS3/5ayHzueweSI3Vw=
github.com/docker/go-units v0.5.0 h1:69rxXcBk27SvSaaxTtLh/8llcHD8vYHT7WSdRZ/jvr4=
github.com/docker/go-units v0.5.0/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDDbaIK4Dk=
+github.com/docopt/docopt-go v0.0.0-20180111231733-ee0de3bc6815/go.mod h1:WwZ+bS3ebgob9U8Nd0kOddGdZWjyMGR8Wziv+TBNwSE=
+github.com/dustin/go-humanize v0.0.0-20171111073723-bb3d318650d4/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk=
+github.com/dustin/go-humanize v1.0.0/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk=
+github.com/dustin/go-humanize v1.0.1/go.mod h1:Mu1zIs6XwVuF/gI1OepvI0qD18qycQx+mFykh5fBlto=
+github.com/eapache/go-resiliency v1.1.0/go.mod h1:kFI+JgMyC7bLPUVY133qvEBtVayf5mFgVsvEsIPBvNs=
+github.com/eapache/go-xerial-snappy v0.0.0-20180814174437-776d5712da21/go.mod h1:+020luEh2TKB4/GOp8oxxtq0Daoen/Cii55CzbTV6DU=
+github.com/eapache/queue v1.1.0/go.mod h1:6eCeP0CKFpHLu8blIFXhExK/dRa7WDZfr6jVFPTqq+I=
+github.com/edsrzf/mmap-go v1.0.0/go.mod h1:YO35OhQPt3KJa3ryjFM5Bs14WD66h8eGKpfaBNrHW5M=
github.com/emicklei/go-restful/v3 v3.12.1 h1:PJMDIM/ak7btuL8Ex0iYET9hxM3CI2sjZtzpL63nKAU=
github.com/emicklei/go-restful/v3 v3.12.1/go.mod h1:6n3XBCmQQb25CM2LCACGz8ukIrRry+4bhvbpWn3mrbc=
-github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4=
-github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4=
-github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98=
+github.com/envoyproxy/go-control-plane v0.10.2-0.20220325020618-49ff273808a1/go.mod h1:KJwIaB5Mv44NWtYuAOFCVOjcI94vtpEz2JU/D2v6IjE=
+github.com/envoyproxy/go-control-plane v0.10.3/go.mod h1:fJJn/j26vwOu972OllsvAgJJM//w9BV6Fxbg2LuVd34=
+github.com/envoyproxy/go-control-plane v0.11.0/go.mod h1:VnHyVMpzcLvCFt9yUz1UnCwHLhwx1WguiVDV7pTG/tI=
+github.com/envoyproxy/go-control-plane v0.13.4/go.mod h1:kDfuBlDVsSj2MjrLEtRWtHlsWIFcGyB2RMO44Dc5GZA=
+github.com/envoyproxy/go-control-plane/envoy v1.32.2/go.mod h1:eR2SOX2IedqlPvmiKjUH7Wu//S602JKI7HPC/L3SRq8=
+github.com/envoyproxy/go-control-plane/envoy v1.32.3/go.mod h1:F6hWupPfh75TBXGKA++MCT/CZHFq5r9/uwt/kQYkZfE=
+github.com/envoyproxy/go-control-plane/envoy v1.32.4/go.mod h1:Gzjc5k8JcJswLjAx1Zm+wSYE20UrLtt7JZMWiWQXQEw=
+github.com/envoyproxy/go-control-plane/ratelimit v0.1.0/go.mod h1:Wk+tMFAFbCXaJPzVVHnPgRKdUdwW/KdbRt94AzgRee4=
github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c=
+github.com/envoyproxy/protoc-gen-validate v0.6.7/go.mod h1:dyJXwwfPK2VSqiB9Klm1J6romD608Ba7Hij42vrOBCo=
+github.com/envoyproxy/protoc-gen-validate v0.9.1/go.mod h1:OKNgG7TCp5pF4d6XftA0++PMirau2/yoOwVac3AbF2w=
+github.com/envoyproxy/protoc-gen-validate v0.10.0/go.mod h1:DRjgyB0I43LtJapqN6NiRwroiAU2PaFuvk/vjgh61ss=
+github.com/envoyproxy/protoc-gen-validate v1.0.4/go.mod h1:qys6tmnRsYrQqIhm2bvKZH4Blx/1gTIZ2UKVY1M+Yew=
+github.com/envoyproxy/protoc-gen-validate v1.1.0/go.mod h1:sXRDRVmzEbkM7CVcM06s9shE/m23dg3wzjl0UWqJ2q4=
+github.com/envoyproxy/protoc-gen-validate v1.2.1/go.mod h1:d/C80l/jxXLdfEIhX1W2TmLfsJ31lvEjwamM4DxlWXU=
+github.com/esiqveland/notify v0.11.0/go.mod h1:63UbVSaeJwF0LVJARHFuPgUAoM7o1BEvCZyknsuonBc=
+github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4=
github.com/felixge/httpsnoop v1.0.4 h1:NFTV2Zj1bL4mc9sqWACXbQFVBBg2W3GPvqp8/ESS2Wg=
github.com/felixge/httpsnoop v1.0.4/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U=
+github.com/fogleman/gg v1.2.1-0.20190220221249-0403632d5b90/go.mod h1:R/bRT+9gY/C5z7JzPU0zXsXHKM4/ayA+zqcVNZzPa1k=
+github.com/fogleman/gg v1.3.0/go.mod h1:R/bRT+9gY/C5z7JzPU0zXsXHKM4/ayA+zqcVNZzPa1k=
+github.com/franela/goblin v0.0.0-20200105215937-c9ffbefa60db/go.mod h1:7dvUGVsVBjqR7JHJk0brhHOZYGmfBYOrK0ZhYMEtBr4=
+github.com/franela/goreq v0.0.0-20171204163338-bcd34c9993f8/go.mod h1:ZhphrRTfi2rbfLwlschooIH4+wKKDR4Pdxhh+TRoA20=
+github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo=
github.com/fxamacker/cbor/v2 v2.8.0 h1:fFtUGXUzXPHTIUdne5+zzMPTfffl3RD5qYnkY40vtxU=
github.com/fxamacker/cbor/v2 v2.8.0/go.mod h1:vM4b+DJCtHn+zz7h3FFp/hDAI9WNWCsZj23V5ytsSxQ=
+github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04=
+github.com/go-fonts/dejavu v0.1.0/go.mod h1:4Wt4I4OU2Nq9asgDCteaAaWZOV24E+0/Pwo0gppep4g=
+github.com/go-fonts/dejavu v0.3.2/go.mod h1:m+TzKY7ZEl09/a17t1593E4VYW8L1VaBXHzFZOIjGEY=
+github.com/go-fonts/latin-modern v0.2.0/go.mod h1:rQVLdDMK+mK1xscDwsqM5J8U2jrRa3T0ecnM9pNujks=
+github.com/go-fonts/latin-modern v0.3.0/go.mod h1:ysEQXnuT/sCDOAONxC7ImeEDVINbltClhasMAqEtRK0=
+github.com/go-fonts/latin-modern v0.3.1/go.mod h1:ysEQXnuT/sCDOAONxC7ImeEDVINbltClhasMAqEtRK0=
+github.com/go-fonts/latin-modern v0.3.2/go.mod h1:9odJt4NbRrbdj4UAMuLVd4zEukf6aAEKnDaQga0whqQ=
+github.com/go-fonts/liberation v0.1.1/go.mod h1:K6qoJYypsmfVjWg8KOVDQhLc8UDgIK2HYqyqAO9z7GY=
+github.com/go-fonts/liberation v0.2.0/go.mod h1:K6qoJYypsmfVjWg8KOVDQhLc8UDgIK2HYqyqAO9z7GY=
+github.com/go-fonts/liberation v0.3.0/go.mod h1:jdJ+cqF+F4SUL2V+qxBth8fvBpBDS7yloUL5Fi8GTGY=
+github.com/go-fonts/liberation v0.3.1/go.mod h1:jdJ+cqF+F4SUL2V+qxBth8fvBpBDS7yloUL5Fi8GTGY=
+github.com/go-fonts/liberation v0.3.2/go.mod h1:N0QsDLVUQPy3UYg9XAc3Uh3UDMp2Z7M1o4+X98dXkmI=
+github.com/go-fonts/stix v0.1.0/go.mod h1:w/c1f0ldAUlJmLBvlbkvVXLAD+tAMqobIIQpmnUIzUY=
+github.com/go-fonts/stix v0.2.2/go.mod h1:SUxggC9dxd/Q+rb5PkJuvfvTbOPtNc2Qaua00fIp9iU=
github.com/go-git/gcfg v1.5.1-0.20230307220236-3a3c6141e376 h1:+zs/tPmkDkHx3U66DAb0lQFJrpS6731Oaa12ikc+DiI=
github.com/go-git/gcfg v1.5.1-0.20230307220236-3a3c6141e376/go.mod h1:an3vInlBmSxCcxctByoQdvwPiA7DTK7jaaFDBTtu0ic=
github.com/go-git/go-billy/v5 v5.6.2 h1:6Q86EsPXMa7c3YZ3aLAQsMA0VlWmy43r6FHqa/UNbRM=
github.com/go-git/go-billy/v5 v5.6.2/go.mod h1:rcFC2rAsp/erv7CMz9GczHcuD0D32fWzH+MJAU+jaUU=
github.com/go-git/go-git/v5 v5.16.0 h1:k3kuOEpkc0DeY7xlL6NaaNg39xdgQbtH5mwCafHO9AQ=
github.com/go-git/go-git/v5 v5.16.0/go.mod h1:4Ge4alE/5gPs30F2H1esi2gPd69R0C39lolkucHBOp8=
-github.com/go-jose/go-jose/v4 v4.0.5 h1:M6T8+mKZl/+fNNuFHvGIzDz7BTLQPIounk/b9dw3AaE=
-github.com/go-jose/go-jose/v4 v4.0.5/go.mod h1:s3P1lRrkT8igV8D9OjyL4WRyHvjB6a4JSllnOrmmBOA=
-github.com/go-logr/logr v1.4.2 h1:6pFjapn8bFcIbiKo3XT4j/BhANplGihG6tvd+8rYgrY=
+github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU=
+github.com/go-gl/glfw/v3.3/glfw v0.0.0-20191125211704-12ad95a8df72/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8=
+github.com/go-gl/glfw/v3.3/glfw v0.0.0-20200222043503-6f7a984d4dc4/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8=
+github.com/go-gl/glfw/v3.3/glfw v0.0.0-20231223183121-56fa3ac82ce7/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8=
+github.com/go-jose/go-jose/v4 v4.0.4/go.mod h1:NKb5HO1EZccyMpiZNbdUw/14tiXNyUJh188dfnMCAfc=
+github.com/go-jose/go-jose/v4 v4.1.1 h1:JYhSgy4mXXzAdF3nUx3ygx347LRXJRrpgyU3adRmkAI=
+github.com/go-jose/go-jose/v4 v4.1.1/go.mod h1:BdsZGqgdO3b6tTc6LSE56wcDbMMLuPsw5d4ZD5f94kA=
+github.com/go-kit/kit v0.8.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as=
+github.com/go-kit/kit v0.9.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as=
+github.com/go-kit/kit v0.10.0/go.mod h1:xUsJbQ/Fp4kEt7AFgCuvyX4a71u8h9jB8tj/ORgOZ7o=
+github.com/go-latex/latex v0.0.0-20210118124228-b3d85cf34e07/go.mod h1:CO1AlKB2CSIqUrmQPqA0gdRIlnLEY0gK5JGjh37zN5U=
+github.com/go-latex/latex v0.0.0-20210823091927-c0d11ff05a81/go.mod h1:SX0U8uGpxhq9o2S/CELCSUxEWWAuoCUcVCQWv7G2OCk=
+github.com/go-latex/latex v0.0.0-20230307184459-12ec69307ad9/go.mod h1:gWuR/CrFDDeVRFQwHPvsv9soJVB/iqymhuZQuJ3a9OM=
+github.com/go-latex/latex v0.0.0-20231108140139-5c1ce85aa4ea/go.mod h1:Y7Vld91/HRbTBm7JwoI7HejdDB0u+e9AUBO9MB7yuZk=
+github.com/go-logfmt/logfmt v0.3.0/go.mod h1:Qt1PoO58o5twSAckw1HlFXLmHsOX5/0LbT9GBnD5lWE=
+github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V4qmtdjCk=
+github.com/go-logfmt/logfmt v0.5.0/go.mod h1:wCYkCAKZfumFQihp8CzCvQ3paCTfi41vtzG1KdI/P7A=
+github.com/go-logr/logr v0.4.0/go.mod h1:z6/tIYblkpsD+a4lm/fGIIU9mZ+XfAiaFtq7xTgseGU=
+github.com/go-logr/logr v1.2.2/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A=
github.com/go-logr/logr v1.4.2/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY=
+github.com/go-logr/logr v1.4.3 h1:CjnDlHq8ikf6E492q6eKboGOC0T8CDaOvkHCIg8idEI=
+github.com/go-logr/logr v1.4.3/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY=
github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag=
github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE=
+github.com/go-ole/go-ole v1.2.6/go.mod h1:pprOEPIfldk/42T2oK7lQ4v4JSDwmV0As9GaiUsvbm0=
github.com/go-openapi/analysis v0.23.0 h1:aGday7OWupfMs+LbmLZG4k0MYXIANxcuBTYUC03zFCU=
github.com/go-openapi/analysis v0.23.0/go.mod h1:9mz9ZWaSlV8TvjQHLl2mUW2PbZtemkE8yA5v22ohupo=
github.com/go-openapi/errors v0.22.1 h1:kslMRRnK7NCb/CvR1q1VWuEQCEIsBGn5GgKD9e+HYhU=
@@ -113,38 +1022,91 @@ github.com/go-openapi/swag v0.23.1 h1:lpsStH0n2ittzTnbaSloVZLuB5+fvSY/+hnagBjSNZ
github.com/go-openapi/swag v0.23.1/go.mod h1:STZs8TbRvEQQKUA+JZNAm3EWlgaOBGpyFDqQnDHMef0=
github.com/go-openapi/validate v0.24.0 h1:LdfDKwNbpB6Vn40xhTdNZAnfLECL81w+VX3BumrGD58=
github.com/go-openapi/validate v0.24.0/go.mod h1:iyeX1sEufmv3nPbBdX3ieNviWnOZaJ1+zquzJEf2BAQ=
+github.com/go-pdf/fpdf v0.5.0/go.mod h1:HzcnA+A23uwogo0tp9yU+l3V+KXhiESpt1PMayhOh5M=
+github.com/go-pdf/fpdf v0.6.0/go.mod h1:HzcnA+A23uwogo0tp9yU+l3V+KXhiESpt1PMayhOh5M=
+github.com/go-pdf/fpdf v0.8.0/go.mod h1:gfqhcNwXrsd3XYKte9a7vM3smvU/jB4ZRDrmWSxpfdc=
+github.com/go-pdf/fpdf v0.9.0/go.mod h1:oO8N111TkmKb9D7VvWGLvLJlaZUQVPM+6V42pp3iV4Y=
+github.com/go-sql-driver/mysql v1.4.0/go.mod h1:zAC/RDZ24gD3HViQzih4MyKcchzm+sOG5ZlKdlhCg5w=
+github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY=
github.com/go-task/slim-sprig/v3 v3.0.0 h1:sUs3vkvUymDpBKi3qH1YSqBQk9+9D/8M2mN1vB6EwHI=
github.com/go-task/slim-sprig/v3 v3.0.0/go.mod h1:W848ghGpv3Qj3dhTPRyJypKRiqCdHZiAzKg9hl15HA8=
github.com/go-test/deep v1.1.1 h1:0r/53hagsehfO4bzD2Pgr/+RgHqhmf+k1Bpse2cTu1U=
github.com/go-test/deep v1.1.1/go.mod h1:5C2ZWiW0ErCdrYzpqxLbTX7MG14M9iiw8DgHncVwcsE=
+github.com/go-text/typesetting v0.0.0-20230803102845-24e03d8b5372/go.mod h1:evDBbvNR/KaVFZ2ZlDSOWWXIUKq0wCOEtzLxRM8SG3k=
+github.com/go-text/typesetting-utils v0.0.0-20230616150549-2a7df14b6a22/go.mod h1:DDxDdQEnB70R8owOx3LVpEFvpMK9eeH1o2r0yZhFI9o=
+github.com/goccmack/gocc v0.0.0-20230228185258-2292f9e40198/go.mod h1:DTh/Y2+NbnOVVoypCCQrovMPDKUGp4yZpSbWg5D0XIM=
+github.com/goccy/go-json v0.9.11/go.mod h1:6MelG93GURQebXPDq3khkgXZkazVtN9CRI+MGFi0w8I=
+github.com/godbus/dbus/v5 v5.0.3/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA=
+github.com/godbus/dbus/v5 v5.0.6/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA=
+github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ=
+github.com/gogo/protobuf v1.2.0/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ=
+github.com/gogo/protobuf v1.2.1/go.mod h1:hp+jE20tsWTFYpLwKvXlhS1hjn+gTNwPg2I6zVXpSg4=
github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q=
github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q=
+github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0/go.mod h1:E/TSTwGwJL78qG/PmXZO1EjYhfJinVAhrmmHX6Z8B9k=
github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q=
+github.com/golang/glog v1.0.0/go.mod h1:EWib/APOK0SL3dFbYqvxE3UYd8E6s1ouQ7iEp/0LWV4=
+github.com/golang/glog v1.1.0/go.mod h1:pfYeQZ3JWZoXTV5sFc986z3HTpwQs9At6P4ImfuP3NQ=
+github.com/golang/glog v1.2.5/go.mod h1:6AhwSGph0fcJtXVM/PEHPqZlFeoLxhs7/t5UDAwmO+w=
+github.com/golang/groupcache v0.0.0-20160516000752-02826c3e7903/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc=
+github.com/golang/groupcache v0.0.0-20190702054246-869f871628b6/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc=
+github.com/golang/groupcache v0.0.0-20191227052852-215e87163ea7/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc=
github.com/golang/groupcache v0.0.0-20200121045136-8c9f03a8e57e/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc=
+github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc=
github.com/golang/groupcache v0.0.0-20241129210726-2c02b8208cf8 h1:f+oWsMOmNPc8JmEHVZIycC7hBoQxHH9pNKQORJNozsQ=
github.com/golang/groupcache v0.0.0-20241129210726-2c02b8208cf8/go.mod h1:wcDNUvekVysuuOpQKo3191zZyTpiI6se1N1ULghS0sw=
-github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A=
+github.com/golang/mock v1.2.0/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A=
+github.com/golang/mock v1.3.1/go.mod h1:sBzyDLLjw3U8JLTeZvSv8jJB+tU5PVekmnlKIyFUx0Y=
+github.com/golang/mock v1.4.0/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw=
+github.com/golang/mock v1.4.1/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw=
+github.com/golang/mock v1.4.3/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw=
+github.com/golang/mock v1.4.4/go.mod h1:l3mdAwkq5BuhzHwde/uurv3sEJeZMXNpwsxVWU71h+4=
+github.com/golang/mock v1.5.0/go.mod h1:CWnOUgYIOo4TcNZ0wHX3YZCqsaM1I1Jvs6v3mP3KVu8=
+github.com/golang/mock v1.6.0/go.mod h1:p6yTPP+5HYm5mzsMV8JkE6ZKdX+/wYM6Hr+LicevLPs=
github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
+github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
+github.com/golang/protobuf v1.3.3/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw=
+github.com/golang/protobuf v1.3.4/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw=
+github.com/golang/protobuf v1.3.5/go.mod h1:6O5/vntMXwX2lRkT1hjjk0nAC1IDOTvTlVgjlRvqsdk=
github.com/golang/protobuf v1.4.0-rc.1/go.mod h1:ceaxUfeHdC40wWswd/P6IGgMaK3YpKi5j83Wpe3EHw8=
github.com/golang/protobuf v1.4.0-rc.1.0.20200221234624-67d41d38c208/go.mod h1:xKAWHe0F5eneWXFV3EuXVDTCmh+JuBKY0li0aMyXATA=
github.com/golang/protobuf v1.4.0-rc.2/go.mod h1:LlEzMj4AhA7rCAGe4KMBDvJI+AwstrUpVNzEA03Pprs=
github.com/golang/protobuf v1.4.0-rc.4.0.20200313231945-b860323f09d0/go.mod h1:WU3c8KckQ9AFe+yFwt9sWVRKCVIyN9cPHBJSNnbL67w=
github.com/golang/protobuf v1.4.0/go.mod h1:jodUvKwWbYaEsadDk5Fwe5c77LiNKVO9IDvqG2KuDX0=
github.com/golang/protobuf v1.4.1/go.mod h1:U8fpvMrcmy5pZrNK1lt4xCsGvpyWQ/VVv6QDs8UjoX8=
+github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI=
github.com/golang/protobuf v1.4.3/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI=
+github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk=
+github.com/golang/protobuf v1.5.1/go.mod h1:DopwsBzvsk0Fs44TXzsVbJyPhcCPeIwnvohx4u74HPM=
+github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY=
+github.com/golang/protobuf v1.5.3/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY=
github.com/golang/protobuf v1.5.4 h1:i7eJL8qZTpSEXOPTxNKhASYpMn+8e5Q6AdndVa1dWek=
github.com/golang/protobuf v1.5.4/go.mod h1:lnTiLA8Wa4RWRcIUkrtSVa5nRhsEGBg48fD6rSs7xps=
+github.com/golang/snappy v0.0.0-20180518054509-2e65f85255db/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q=
+github.com/golang/snappy v0.0.3/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q=
+github.com/golang/snappy v0.0.4/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q=
+github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ=
+github.com/google/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ=
github.com/google/cel-go v0.22.1 h1:AfVXx3chM2qwoSbM7Da8g8hX8OVSkBFwX+rz2+PcK40=
github.com/google/cel-go v0.22.1/go.mod h1:BuznPXXfQDpXKWQ9sPW3TzlAJN5zzFe+i9tIs0yC4s8=
+github.com/google/flatbuffers v2.0.8+incompatible/go.mod h1:1AeVuKshWv4vARoZatz6mlQ0JxURH0Kv5+zNeJKJCa8=
github.com/google/gnostic-models v0.6.9 h1:MU/8wDLif2qCXZmzncUQ/BOfxWfthHi63KqpoNbWqVw=
github.com/google/gnostic-models v0.6.9/go.mod h1:CiWsm0s6BSQd1hRn8/QmxqB6BesYcbSZxsz9b0KuDBw=
github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M=
github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU=
github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU=
github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
+github.com/google/go-cmp v0.4.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
github.com/google/go-cmp v0.5.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
+github.com/google/go-cmp v0.5.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
+github.com/google/go-cmp v0.5.2/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
github.com/google/go-cmp v0.5.3/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
+github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
+github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
+github.com/google/go-cmp v0.5.6/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
+github.com/google/go-cmp v0.5.7/go.mod h1:n+brtR0CgQNWTVd5ZUFpTBC8YFBDLK/h/bpaJ8/DtOE=
+github.com/google/go-cmp v0.5.8/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
github.com/google/go-cmp v0.7.0 h1:wk8382ETsv4JYUZwIsn6YpYiWiBsYLSJiTsyBybVuN8=
@@ -154,49 +1116,189 @@ github.com/google/go-containerregistry v0.20.3/go.mod h1:w00pIgBRDVUDFM6bq+Qx8lw
github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg=
github.com/google/gofuzz v1.2.0 h1:xRy4A+RhZaiKjJ1bPfwQ8sedCA+YS2YcCHW6ec7JMi0=
github.com/google/gofuzz v1.2.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg=
+github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs=
+github.com/google/martian/v3 v3.0.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0=
+github.com/google/martian/v3 v3.1.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0=
+github.com/google/martian/v3 v3.2.1/go.mod h1:oBOf6HBosgwRXnUGWUB05QECsc6uvmMiJ3+6W4l/CUk=
+github.com/google/martian/v3 v3.3.2/go.mod h1:oBOf6HBosgwRXnUGWUB05QECsc6uvmMiJ3+6W4l/CUk=
+github.com/google/pprof v0.0.0-20181206194817-3ea8567a2e57/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc=
+github.com/google/pprof v0.0.0-20190515194954-54271f7e092f/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc=
+github.com/google/pprof v0.0.0-20191218002539-d4f498aebedc/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM=
+github.com/google/pprof v0.0.0-20200212024743-f11f1df84d12/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM=
+github.com/google/pprof v0.0.0-20200229191704-1ebb73c60ed3/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM=
+github.com/google/pprof v0.0.0-20200430221834-fc25d7d30c6d/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM=
+github.com/google/pprof v0.0.0-20200708004538-1a94d8640e99/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM=
+github.com/google/pprof v0.0.0-20201023163331-3e6fc7fc9c4c/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE=
+github.com/google/pprof v0.0.0-20201203190320-1bf35d6f28c2/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE=
+github.com/google/pprof v0.0.0-20201218002935-b9804c9f04c2/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE=
+github.com/google/pprof v0.0.0-20210122040257-d980be63207e/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE=
+github.com/google/pprof v0.0.0-20210226084205-cbba55b83ad5/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE=
+github.com/google/pprof v0.0.0-20210601050228-01bbb1931b22/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE=
+github.com/google/pprof v0.0.0-20210609004039-a478d1d731e9/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE=
+github.com/google/pprof v0.0.0-20210720184732-4bb14d4b1be1/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE=
github.com/google/pprof v0.0.0-20241210010833-40e02aabc2ad h1:a6HEuzUHeKH6hwfN/ZoQgRgVIWFJljSWa/zetS2WTvg=
github.com/google/pprof v0.0.0-20241210010833-40e02aabc2ad/go.mod h1:vavhavw2zAxS5dIdcRluK6cSGGPlZynqzFM8NdvU144=
+github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI=
+github.com/google/s2a-go v0.1.0/go.mod h1:OJpEgntRZo8ugHpF9hkoLJbS5dSI20XZeXJ9JVywLlM=
+github.com/google/s2a-go v0.1.3/go.mod h1:Ej+mSEMGRnqRzjc7VtF+jdBwYG5fuJfiZ8ELkjEwM0A=
+github.com/google/s2a-go v0.1.4/go.mod h1:Ej+mSEMGRnqRzjc7VtF+jdBwYG5fuJfiZ8ELkjEwM0A=
+github.com/google/uuid v1.0.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
+github.com/google/uuid v1.3.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0=
github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
+github.com/googleapis/enterprise-certificate-proxy v0.0.0-20220520183353-fd19c99a87aa/go.mod h1:17drOmN3MwGY7t0e+Ei9b45FFGA3fBs3x36SsCg1hq8=
+github.com/googleapis/enterprise-certificate-proxy v0.1.0/go.mod h1:17drOmN3MwGY7t0e+Ei9b45FFGA3fBs3x36SsCg1hq8=
+github.com/googleapis/enterprise-certificate-proxy v0.2.0/go.mod h1:8C0jb7/mgJe/9KK8Lm7X9ctZC2t60YyIpYEI16jx0Qg=
+github.com/googleapis/enterprise-certificate-proxy v0.2.1/go.mod h1:AwSRAtLfXpU5Nm3pW+v7rGDHp09LsPtGY9MduiEsR9k=
+github.com/googleapis/enterprise-certificate-proxy v0.2.3/go.mod h1:AwSRAtLfXpU5Nm3pW+v7rGDHp09LsPtGY9MduiEsR9k=
+github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg=
+github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk=
+github.com/googleapis/gax-go/v2 v2.1.0/go.mod h1:Q3nei7sK6ybPYH7twZdmQpAd1MKb7pfu6SK+H1/DsU0=
+github.com/googleapis/gax-go/v2 v2.1.1/go.mod h1:hddJymUZASv3XPyGkUpKj8pPO47Rmb0eJc8R6ouapiM=
+github.com/googleapis/gax-go/v2 v2.2.0/go.mod h1:as02EH8zWkzwUoLbBaFeQ+arQaj/OthfcblKl4IGNaM=
+github.com/googleapis/gax-go/v2 v2.3.0/go.mod h1:b8LNqSzNabLiUpXKkY7HAR5jr6bIT99EXz9pXxye9YM=
+github.com/googleapis/gax-go/v2 v2.4.0/go.mod h1:XOTVJ59hdnfJLIP/dh8n5CGryZR2LxK9wbMD5+iXC6c=
+github.com/googleapis/gax-go/v2 v2.5.1/go.mod h1:h6B0KMMFNtI2ddbGJn3T3ZbwkeT6yqEF02fYlzkUCyo=
+github.com/googleapis/gax-go/v2 v2.6.0/go.mod h1:1mjbznJAPHFpesgE5ucqfYEscaz5kMdcIDwU/6+DDoY=
+github.com/googleapis/gax-go/v2 v2.7.0/go.mod h1:TEop28CZZQ2y+c0VxMUmu1lV+fQx57QpBWsYpwqHJx8=
+github.com/googleapis/gax-go/v2 v2.7.1/go.mod h1:4orTrqY6hXxxaUL4LHIPl6lGo8vAE38/qKbhSAKP6QI=
+github.com/googleapis/gax-go/v2 v2.8.0/go.mod h1:4orTrqY6hXxxaUL4LHIPl6lGo8vAE38/qKbhSAKP6QI=
+github.com/googleapis/gax-go/v2 v2.10.0/go.mod h1:4UOEnMCrxsSqQ940WnTiD6qJ63le2ev3xfyagutxiPw=
+github.com/googleapis/gax-go/v2 v2.11.0/go.mod h1:DxmR61SGKkGLa2xigwuZIQpkCI2S5iydzRfb3peWZJI=
+github.com/googleapis/go-type-adapters v1.0.0/go.mod h1:zHW75FOG2aur7gAO2B+MLby+cLsWGBF62rFAi7WjWO4=
+github.com/googleapis/google-cloud-go-testing v0.0.0-20200911160855-bcd43fbb19e8/go.mod h1:dvDLG8qkwmyD9a/MJJN3XJcT3xFxOKAvTZGvuZmac9g=
+github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY=
+github.com/gorilla/context v1.1.1/go.mod h1:kBGZzfjB9CEq2AlWe17Uuf7NDRt0dE0s8S51q0aT7Yg=
+github.com/gorilla/mux v1.6.2/go.mod h1:1lud6UwP+6orDFRuTfBEV8e9/aOM/c4fVVCaMa2zaAs=
+github.com/gorilla/mux v1.7.3/go.mod h1:1lud6UwP+6orDFRuTfBEV8e9/aOM/c4fVVCaMa2zaAs=
github.com/gorilla/mux v1.8.1 h1:TuBL49tXwgrFYWhqrNgrUNEY92u81SPhu7sTdzQEiWY=
github.com/gorilla/mux v1.8.1/go.mod h1:AKf9I4AEqPTmMytcMc0KkNouC66V3BtZ4qD5fmWSiMQ=
+github.com/gorilla/websocket v0.0.0-20170926233335-4201258b820c/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ=
+github.com/grpc-ecosystem/go-grpc-middleware v1.0.1-0.20190118093823-f849b5445de4/go.mod h1:FiyG127CGDf3tlThmgyCl78X/SZQqEOJBCDaAfeWzPs=
+github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0/go.mod h1:8NvIoxWQoOIhqOTXgfV/d3M/q6VIi02HzZEHgUlZvzk=
+github.com/grpc-ecosystem/grpc-gateway v1.9.5/go.mod h1:vNeuVxBJEsws4ogUvrchl83t/GYV9WGTSLVdBhOQFDY=
+github.com/grpc-ecosystem/grpc-gateway v1.16.0/go.mod h1:BDjrQk3hbvj6Nolgz8mAMFbcEtjT1g+wF4CSlocrBnw=
+github.com/grpc-ecosystem/grpc-gateway/v2 v2.7.0/go.mod h1:hgWBS7lorOAVIJEQMi4ZsPv9hVvWI6+ch50m39Pf2Ks=
+github.com/grpc-ecosystem/grpc-gateway/v2 v2.11.3/go.mod h1:o//XUCC/F+yRGJoPO/VU0GSB0f8Nhgmxx0VIRUvaC0w=
+github.com/grpc-ecosystem/grpc-gateway/v2 v2.16.0/go.mod h1:YN5jB8ie0yfIUg6VvR9Kz84aCaG7AsGZnLjhHbUqwPg=
github.com/h2non/filetype v1.1.3 h1:FKkx9QbD7HR/zjK1Ia5XiBsq9zdLi5Kf3zGyFTAFkGg=
github.com/h2non/filetype v1.1.3/go.mod h1:319b3zT68BvV+WRj7cwy856M2ehB3HqNOt6sy1HndBY=
github.com/h2non/go-is-svg v0.0.0-20160927212452-35e8c4b0612c h1:fEE5/5VNnYUoBOj2I9TP8Jc+a7lge3QWn9DKE7NCwfc=
github.com/h2non/go-is-svg v0.0.0-20160927212452-35e8c4b0612c/go.mod h1:ObS/W+h8RYb1Y7fYivughjxojTmIu5iAIjSrSLCLeqE=
+github.com/hashicorp/consul/api v1.3.0/go.mod h1:MmDNSzIMUjNpY/mQ398R4bk2FnqQLoPndWW5VkKPlCE=
+github.com/hashicorp/consul/sdk v0.3.0/go.mod h1:VKf9jXwCTEY1QZP2MOLRhb5i/I/ssyNV1vwHyQBF0x8=
+github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4=
+github.com/hashicorp/go-cleanhttp v0.5.1/go.mod h1:JpRdi6/HCYpAwUzNwuwqhbovhLtngrth3wmdIIUrZ80=
+github.com/hashicorp/go-immutable-radix v1.0.0/go.mod h1:0y9vanUI8NX6FsYoO3zeMjhV/C5i9g4Q3DwcSNZ4P60=
+github.com/hashicorp/go-msgpack v0.5.3/go.mod h1:ahLV/dePpqEmjfWmKiqvPkv/twdG7iPBM1vqhUKIvfM=
+github.com/hashicorp/go-multierror v1.0.0/go.mod h1:dHtQlpGsu+cZNNAkkCN/P3hoUDHhCYQXV3UM06sGGrk=
+github.com/hashicorp/go-rootcerts v1.0.0/go.mod h1:K6zTfqpRlCUIjkwsN4Z+hiSfzSTQa6eBIzfwKfwNnHU=
+github.com/hashicorp/go-sockaddr v1.0.0/go.mod h1:7Xibr9yA9JjQq1JpNB2Vw7kxv8xerXegt+ozgdvDeDU=
+github.com/hashicorp/go-syslog v1.0.0/go.mod h1:qPfqrKkXGihmCqbJM2mZgkZGvKG1dFdvsLplgctolz4=
+github.com/hashicorp/go-uuid v1.0.0/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro=
+github.com/hashicorp/go-uuid v1.0.1/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro=
+github.com/hashicorp/go-version v1.2.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA=
+github.com/hashicorp/go.net v0.0.1/go.mod h1:hjKkEWcCURg++eb33jQU7oqQcI9XDCnUzHA0oac0k90=
+github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8=
+github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8=
+github.com/hashicorp/logutils v1.0.0/go.mod h1:QIAnNjmIWmVIIkWDTG1z5v++HQmx9WQRO+LraFDTW64=
+github.com/hashicorp/mdns v1.0.0/go.mod h1:tL+uN++7HEJ6SQLQ2/p+z2pH24WQKWjBPkE0mNTz8vQ=
+github.com/hashicorp/memberlist v0.1.3/go.mod h1:ajVTdAv/9Im8oMAAj5G31PhhMCZJV2pPBoIllUwCN7I=
+github.com/hashicorp/serf v0.8.2/go.mod h1:6hOLApaqBFA1NXqRQAsxw9QxuDEvNxSQRwA/JwenrHc=
+github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU=
+github.com/hudl/fargo v1.3.0/go.mod h1:y3CKSmjA+wD2gak7sUSXTAoopbhU08POFhmITJgmKTg=
+github.com/iancoleman/strcase v0.2.0/go.mod h1:iwCmte+B7n89clKwxIoIXy/HfoL7AsD47ZCWhYzw7ho=
+github.com/iancoleman/strcase v0.3.0/go.mod h1:iwCmte+B7n89clKwxIoIXy/HfoL7AsD47ZCWhYzw7ho=
+github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc=
+github.com/ianlancetaylor/demangle v0.0.0-20200824232613-28f6c0f3b639/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc=
+github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8=
github.com/inconshreveable/mousetrap v1.1.0 h1:wN+x4NVGpMsO7ErUn/mUI3vEoE6Jt13X2s0bqwp9tc8=
github.com/inconshreveable/mousetrap v1.1.0/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw=
+github.com/influxdata/influxdb1-client v0.0.0-20191209144304-8bf82d3c094d/go.mod h1:qj24IKcXYK6Iy9ceXlo3Tc+vtHo9lIhSX5JddghvEPo=
github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99 h1:BQSFePA1RWJOlocH6Fxy8MmwDt+yVQYULKfN0RoTN8A=
github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99/go.mod h1:1lJo3i6rXxKeerYnT8Nvf0QmHCRC1n8sfWVwXF2Frvo=
+github.com/jezek/xgb v1.0.0/go.mod h1:nrhwO0FX/enq75I7Y7G8iN1ubpSGZEiA3v9e9GyRFlk=
+github.com/jezek/xgb v1.1.1/go.mod h1:nrhwO0FX/enq75I7Y7G8iN1ubpSGZEiA3v9e9GyRFlk=
+github.com/jmespath/go-jmespath v0.0.0-20180206201540-c2b33e8439af/go.mod h1:Nht3zPeWKUH0NzdCt2Blrr5ys8VGpn0CEB0cQHVjt7k=
github.com/jmhodges/clock v1.2.0 h1:eq4kys+NI0PLngzaHEe7AmPT90XMGIEySD1JfV1PDIs=
github.com/jmhodges/clock v1.2.0/go.mod h1:qKjhA7x7u/lQpPB1XAqX1b1lCI/w3/fNuYpI/ZjLynI=
github.com/joelanford/ignore v0.1.1 h1:vKky5RDoPT+WbONrbQBgOn95VV/UPh4ejlyAbbzgnQk=
github.com/joelanford/ignore v0.1.1/go.mod h1:8eho/D8fwQ3rIXrLwE23AaeaGDNXqLE9QJ3zJ4LIPCw=
+github.com/jonboulle/clockwork v0.1.0/go.mod h1:Ii8DK3G1RaLaWxj9trq07+26W01tbo22gdxWY5EU2bo=
github.com/josharian/intern v1.0.0 h1:vlS4z54oSdjm0bgjRigI+G1HpF+tI+9rE5LLzOg8HmY=
github.com/josharian/intern v1.0.0/go.mod h1:5DoeVV0s6jJacbCEi61lwdGj/aVlrQvzHFFd8Hwg//Y=
+github.com/json-iterator/go v1.1.6/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU=
+github.com/json-iterator/go v1.1.7/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4=
+github.com/json-iterator/go v1.1.8/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4=
github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM=
github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo=
+github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU=
+github.com/jstemmer/go-junit-report v0.9.1/go.mod h1:Brl9GWCQeLvo8nXZwPNNblvFj/XSXhF0NWZEnDohbsk=
+github.com/jtolds/gls v4.20.0+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfVYBRgL+9YlvaHOwJU=
+github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w=
+github.com/jung-kurt/gofpdf v1.0.0/go.mod h1:7Id9E/uU8ce6rXgefFLlgrJj/GYY22cpxn+r32jIOes=
+github.com/jung-kurt/gofpdf v1.0.3-0.20190309125859-24315acbbda5/go.mod h1:7Id9E/uU8ce6rXgefFLlgrJj/GYY22cpxn+r32jIOes=
+github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51/go.mod h1:CzGEWj7cYgsdH8dAjBGEr58BoE7ScuLd+fwFZ44+/x8=
+github.com/kisielk/errcheck v1.1.0/go.mod h1:EZBBE59ingxPouuu3KfxchcWSUPOHkagtvWXihfKN4Q=
github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8=
github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck=
+github.com/klauspost/asmfmt v1.3.2/go.mod h1:AG8TuvYojzulgDAMCnYn50l/5QV3Bs/tp6j0HLHbNSE=
+github.com/klauspost/compress v1.15.9/go.mod h1:PhcZ0MbTNciWF3rruxRgKxI5NkcHHrHUDtV4Yw2GlzU=
github.com/klauspost/compress v1.18.0 h1:c/Cqfb0r+Yi+JtIEq73FWXVkRonBlf0CRNYc8Zttxdo=
github.com/klauspost/compress v1.18.0/go.mod h1:2Pp+KzxcywXVXMr50+X0Q/Lsb43OQHYWRCY2AiWywWQ=
+github.com/klauspost/cpuid/v2 v2.0.9/go.mod h1:FInQzS24/EEf25PyTYn52gqo7WaD8xa0213Md/qVLRg=
github.com/klauspost/pgzip v1.2.6 h1:8RXeL5crjEUFnR2/Sn6GJNWtSQ3Dk8pq4CL3jvdDyjU=
github.com/klauspost/pgzip v1.2.6/go.mod h1:Ch1tH69qFZu15pkjo5kYi6mth2Zzwzt50oCQKQE9RUs=
+github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ=
+github.com/kr/fs v0.1.0/go.mod h1:FFnZGqtBN9Gxj7eW1uZ42v5BccTP0vu6NEaFoC2HwRg=
+github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc=
+github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo=
+github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI=
+github.com/kr/pretty v0.3.0/go.mod h1:640gp4NfQd8pI5XOwp5fnNeVWj67G7CFk/SaSQn7NBk=
github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE=
github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk=
+github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
+github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY=
github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE=
github.com/letsencrypt/boulder v0.0.0-20240620165639-de9c06129bec h1:2tTW6cDth2TSgRbAhD7yjZzTQmcN25sDRPEeinR51yQ=
github.com/letsencrypt/boulder v0.0.0-20240620165639-de9c06129bec/go.mod h1:TmwEoGCwIti7BCeJ9hescZgRtatxRE+A72pCoPfmcfk=
+github.com/lightstep/lightstep-tracer-common/golang/gogo v0.0.0-20190605223551-bc2310a04743/go.mod h1:qklhhLq1aX+mtWk9cPHPzaBjWImj5ULL6C7HFJtXQMM=
+github.com/lightstep/lightstep-tracer-go v0.18.1/go.mod h1:jlF1pusYV4pidLvZ+XD0UBX0ZE6WURAspgAczcDHrL4=
+github.com/lyft/protoc-gen-star v0.6.0/go.mod h1:TGAoBVkt8w7MPG72TrKIu85MIdXwDuzJYeZuUPFPNwA=
+github.com/lyft/protoc-gen-star v0.6.1/go.mod h1:TGAoBVkt8w7MPG72TrKIu85MIdXwDuzJYeZuUPFPNwA=
+github.com/lyft/protoc-gen-star/v2 v2.0.1/go.mod h1:RcCdONR2ScXaYnQC5tUzxzlpA3WVYF7/opLeUgcQs/o=
+github.com/lyft/protoc-gen-star/v2 v2.0.3/go.mod h1:amey7yeodaJhXSbf/TlLvWiqQfLOSpEk//mLlc+axEk=
+github.com/lyft/protoc-gen-star/v2 v2.0.4-0.20230330145011-496ad1ac90a4/go.mod h1:amey7yeodaJhXSbf/TlLvWiqQfLOSpEk//mLlc+axEk=
github.com/mailru/easyjson v0.9.0 h1:PrnmzHw7262yW8sTBwxi1PdJA3Iw/EKBa8psRf7d9a4=
github.com/mailru/easyjson v0.9.0/go.mod h1:1+xMtQp2MRNVL/V1bOzuP3aP8VNwRW55fQUto+XFtTU=
+github.com/mattn/go-colorable v0.0.9/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU=
+github.com/mattn/go-isatty v0.0.3/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4=
+github.com/mattn/go-isatty v0.0.4/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4=
+github.com/mattn/go-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU=
+github.com/mattn/go-isatty v0.0.16/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM=
+github.com/mattn/go-isatty v0.0.17/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM=
+github.com/mattn/go-runewidth v0.0.2/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU=
github.com/mattn/go-runewidth v0.0.16 h1:E5ScNMtiwvlvB5paMFdw9p4kSQzbXFikJ5SQO6TULQc=
github.com/mattn/go-runewidth v0.0.16/go.mod h1:Jdepj2loyihRzMpdS35Xk/zdY8IAYHsh153qUoGf23w=
+github.com/mattn/go-sqlite3 v1.14.14/go.mod h1:NyWgC/yNuGj7Q9rpYnZvas74GogHl5/Z4A/KQRfk6bU=
+github.com/mattn/go-sqlite3 v1.14.15/go.mod h1:2eHXhiwb8IkHr+BDWZGa96P6+rkvnG63S2DGjv9HUNg=
github.com/mattn/go-sqlite3 v1.14.27 h1:drZCnuvf37yPfs95E5jd9s3XhdVWLal+6BOK6qrv6IU=
github.com/mattn/go-sqlite3 v1.14.27/go.mod h1:Uh1q+B4BYcTPb+yiD3kU8Ct7aC0hY9fxUwlHK0RXw+Y=
+github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0=
+github.com/miekg/dns v1.0.14/go.mod h1:W1PPwlIAgtquWBMBEV9nkV9Cazfe8ScdGz/Lj7v3Nrg=
github.com/miekg/pkcs11 v1.1.1 h1:Ugu9pdy6vAYku5DEpVWVFPYnzV+bxB+iRdbuFSu7TvU=
github.com/miekg/pkcs11 v1.1.1/go.mod h1:XsNlhZGX73bx86s2hdc/FuaLm2CPZJemRLMA+WTFxgs=
+github.com/minio/asm2plan9s v0.0.0-20200509001527-cdd76441f9d8/go.mod h1:mC1jAcsrzbxHt8iiaC+zU4b1ylILSosueou12R++wfY=
+github.com/minio/c2goasm v0.0.0-20190812172519-36a3d3bbc4f3/go.mod h1:RagcQ7I8IeTMnF8JTXieKnO4Z6JCsikNEzj0DwauVzE=
+github.com/mitchellh/cli v1.0.0/go.mod h1:hNIlj7HEI86fIcpObd7a0FcrxTWetlwJDGcceTlRvqc=
+github.com/mitchellh/go-homedir v1.0.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0=
+github.com/mitchellh/go-testing-interface v1.0.0/go.mod h1:kRemZodwjscx+RGhAo8eIhFbs2+BFgRtFPeD/KE+zxI=
+github.com/mitchellh/gox v0.4.0/go.mod h1:Sd9lOJ0+aimLBi73mGofS1ycjY8lL3uZM3JPS42BGNg=
+github.com/mitchellh/iochan v1.0.0/go.mod h1:JwYml1nuB7xOzsp52dPpHFffvOCDupsG0QubkSMEySY=
+github.com/mitchellh/mapstructure v0.0.0-20160808181253-ca63d7c062ee/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y=
+github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y=
github.com/mitchellh/mapstructure v1.5.0 h1:jeMsZIYE/09sWLaz43PL7Gy6RuMjD2eJVyuac5Z2hdY=
github.com/mitchellh/mapstructure v1.5.0/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo=
github.com/moby/sys/capability v0.4.0 h1:4D4mI6KlNtWMCM1Z/K0i7RV1FkX+DBDHKVJpCndZoHk=
@@ -212,51 +1314,133 @@ github.com/moby/sys/userns v0.1.0/go.mod h1:IHUYgu/kao6N8YZlp9Cf444ySSvCmDlmzUcY
github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q=
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg=
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q=
+github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0=
+github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0=
github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M=
github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk=
github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA=
github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ=
+github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U=
+github.com/nats-io/jwt v0.3.0/go.mod h1:fRYCDE99xlTsqUzISS1Bi75UBJ6ljOJQOAAu5VglpSg=
+github.com/nats-io/jwt v0.3.2/go.mod h1:/euKqTS1ZD+zzjYrY7pseZrTtWQSjujC7xjPc8wL6eU=
+github.com/nats-io/nats-server/v2 v2.1.2/go.mod h1:Afk+wRZqkMQs/p45uXdrVLuab3gwv3Z8C4HTBu8GD/k=
+github.com/nats-io/nats.go v1.9.1/go.mod h1:ZjDU1L/7fJ09jvUSRVBR2e7+RnLiiIQyqyzEE/Zbp4w=
+github.com/nats-io/nkeys v0.1.0/go.mod h1:xpnFELMwJABBLVhffcfd1MZx6VsNRFpEugbxziKVo7w=
+github.com/nats-io/nkeys v0.1.3/go.mod h1:xpnFELMwJABBLVhffcfd1MZx6VsNRFpEugbxziKVo7w=
+github.com/nats-io/nuid v1.0.1/go.mod h1:19wcPz3Ph3q0Jbyiqsd0kePYG7A95tJPxeL+1OSON2c=
+github.com/oklog/oklog v0.3.2/go.mod h1:FCV+B7mhrz4o+ueLpx+KqkyXRGMWOYEvfiXtdGtbWGs=
+github.com/oklog/run v1.0.0/go.mod h1:dlhp/R75TPv97u0XWUtDeV/lRKWPKSdTuV0TZvrmrQA=
github.com/oklog/ulid v1.3.1 h1:EGfNDEx6MqHz8B3uNV6QAib1UR2Lm97sHi3ocA6ESJ4=
github.com/oklog/ulid v1.3.1/go.mod h1:CirwcVhetQ6Lv90oh/F+FBtV6XMibvdAFo93nm5qn4U=
+github.com/olekukonko/tablewriter v0.0.0-20170122224234-a0225b3f23b5/go.mod h1:vsDQFd/mU46D+Z4whnwzcISnGGzXWMclvtLoiIKAKIo=
+github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE=
+github.com/onsi/ginkgo v1.7.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE=
github.com/onsi/ginkgo/v2 v2.22.2 h1:/3X8Panh8/WwhU/3Ssa6rCKqPLuAkVY2I0RoyDLySlU=
github.com/onsi/ginkgo/v2 v2.22.2/go.mod h1:oeMosUL+8LtarXBHu/c0bx2D/K9zyQ6uX3cTyztHwsk=
+github.com/onsi/gomega v1.4.3/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY=
github.com/onsi/gomega v1.36.2 h1:koNYke6TVk6ZmnyHrCXba/T/MoLBXFjeC1PtvYgw0A8=
github.com/onsi/gomega v1.36.2/go.mod h1:DdwyADRjrc825LhMEkD76cHR5+pUnjhUN8GlHlRPHzY=
+github.com/op/go-logging v0.0.0-20160315200505-970db520ece7/go.mod h1:HzydrMdWErDVzsI23lYNej1Htcns9BCg93Dk0bBINWk=
github.com/opencontainers/go-digest v1.0.0 h1:apOUWs51W5PlhuyGyz9FCeeBIOUDA/6nW8Oi/yOhh5U=
github.com/opencontainers/go-digest v1.0.0/go.mod h1:0JzlMkj0TRzQZfJkVvzbP0HBR3IKzErnv2BNG4W4MAM=
github.com/opencontainers/image-spec v1.1.1 h1:y0fUlFfIZhPF1W537XOLg0/fcx6zcHCJwooC2xJA040=
github.com/opencontainers/image-spec v1.1.1/go.mod h1:qpqAh3Dmcf36wStyyWU+kCeDgrGnAve2nCC8+7h8Q0M=
github.com/opencontainers/runtime-spec v1.2.1 h1:S4k4ryNgEpxW1dzyqffOmhI1BHYcjzU8lpJfSlR0xww=
github.com/opencontainers/runtime-spec v1.2.1/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0=
+github.com/openshift-sustaining/grpc-go v1.75.1-sec.1 h1:2DGqPp4uXAFvzP+Ea44UORw33OQSHEhU8RcpfDDewxM=
+github.com/openshift-sustaining/grpc-go v1.75.1-sec.1/go.mod h1:JtPAzKiq4v1xcAB2hydNlWI2RnF85XXcV0mhKXr2ecQ=
+github.com/opentracing-contrib/go-observer v0.0.0-20170622124052-a52f23424492/go.mod h1:Ngi6UdF0k5OKD5t5wlmGhe/EDKPoUM3BXZSSfIuJbis=
+github.com/opentracing/basictracer-go v1.0.0/go.mod h1:QfBfYuafItcjQuMwinw9GhYKwFXS9KnPs5lxoYwgW74=
+github.com/opentracing/opentracing-go v1.0.2/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o=
+github.com/opentracing/opentracing-go v1.1.0/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o=
+github.com/openzipkin-contrib/zipkin-go-opentracing v0.4.5/go.mod h1:/wsWhb9smxSfWAKL3wpBW7V8scJMt8N8gnaMCS9E/cA=
+github.com/openzipkin/zipkin-go v0.1.6/go.mod h1:QgAqvLzwWbR/WpD4A3cGpPtJrZXNIiJc5AZX7/PBEpw=
+github.com/openzipkin/zipkin-go v0.2.1/go.mod h1:NaW6tEwdmWMaCDZzg8sh+IBNOxHMPnhQw8ySjnjRyN4=
+github.com/openzipkin/zipkin-go v0.2.2/go.mod h1:NaW6tEwdmWMaCDZzg8sh+IBNOxHMPnhQw8ySjnjRyN4=
github.com/operator-framework/api v0.30.0 h1:44hCmGnEnZk/Miol5o44dhSldNH0EToQUG7vZTl29kk=
github.com/operator-framework/api v0.30.0/go.mod h1:FYxAPhjtlXSAty/fbn5YJnFagt6SpJZJgFNNbvDe5W0=
github.com/operator-framework/operator-controller v1.2.0 h1:5fn41pZuJ41jHUwWSts8igDN/IXILeLyqRKnMpN4S8I=
github.com/operator-framework/operator-controller v1.2.0/go.mod h1:lDudFGy4YtcMFcUDYLet3mUA/Wzq6pTVrLTBWOZLp/Q=
github.com/operator-framework/operator-registry v1.51.0 h1:3T1H2W0wYvJx82x+Ue6nooFsn859ceJf1yH6MdRdjMQ=
github.com/operator-framework/operator-registry v1.51.0/go.mod h1:dJadFTSvsgpeiqhTMK7+zXrhU0LIlx4Y/aDz0efq5oQ=
+github.com/pact-foundation/pact-go v1.0.4/go.mod h1:uExwJY4kCzNPcHRj+hCR/HBbOOIwwtUjcrb0b5/5kLM=
+github.com/pascaldekloe/goe v0.0.0-20180627143212-57f6aae5913c/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc=
+github.com/pborman/uuid v1.2.0/go.mod h1:X/NO0urCmaxf9VXbdlT7C2Yzkj2IKimNn4k+gtPdI/k=
+github.com/performancecopilot/speed v3.0.0+incompatible/go.mod h1:/CLtqpZ5gBg1M9iaPbIdPPGyKcA8hKdoy6hAWba7Yac=
+github.com/phpdave11/gofpdf v1.4.2/go.mod h1:zpO6xFn9yxo3YLyMvW8HcKWVdbNqgIfOOp2dXMnm1mY=
+github.com/phpdave11/gofpdi v1.0.12/go.mod h1:vBmVV0Do6hSBHC8uKUQ71JGW+ZGQq74llk/7bXwjDoI=
+github.com/phpdave11/gofpdi v1.0.13/go.mod h1:vBmVV0Do6hSBHC8uKUQ71JGW+ZGQq74llk/7bXwjDoI=
+github.com/pierrec/lz4 v1.0.2-0.20190131084431-473cd7ce01a1/go.mod h1:3/3N9NVKO0jef7pBehbT1qWhCMrIgbYNnFAZCqQ5LRc=
+github.com/pierrec/lz4 v2.0.5+incompatible/go.mod h1:pdkljMzZIN41W+lC3N2tnIh5sFi+IEE17M5jbnwPHcY=
+github.com/pierrec/lz4/v4 v4.1.15/go.mod h1:gZWDp/Ze/IJXGXf23ltt2EXimqmTUXEy0GFuRQyBid4=
+github.com/pkg/diff v0.0.0-20210226163009-20ebb0f2a09e/go.mod h1:pJLUxLENpZxwdsKMEsNbx1VGcRFpLqf3715MtcvvzbA=
+github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
+github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4=
github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
+github.com/pkg/profile v1.2.1/go.mod h1:hJw3o1OdXxsrSjjVksARp5W95eeEaEfptyVZyv6JUPA=
+github.com/pkg/sftp v1.10.1/go.mod h1:lYOWFsE0bwd1+KfKJaKeuokY15vzFx25BLbzYYoAxZI=
+github.com/pkg/sftp v1.13.1/go.mod h1:3HaPG6Dq1ILlpPZRO0HVMrsydcdLt6HRDccSgb87qRg=
+github.com/planetscale/vtprotobuf v0.6.1-0.20240319094008-0393e58bdf10/go.mod h1:t/avpk3KcrXxUnYOhZhMXJlSEyie6gQbtLq5NM3loB8=
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRIccs7FGNTlIRMkT8wgtp5eCXdBlqhYGL6U=
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
+github.com/posener/complete v1.1.1/go.mod h1:em0nMJCgc9GFtwrmVmEMR/ZL6WyhyjMBndrE9hABlRI=
github.com/proglottis/gpgme v0.1.4 h1:3nE7YNA70o2aLjcg63tXMOhPD7bplfE5CBdV+hLAm2M=
github.com/proglottis/gpgme v0.1.4/go.mod h1:5LoXMgpE4bttgwwdv9bLs/vwqv3qV7F4glEEZ7mRKrM=
+github.com/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw=
+github.com/prometheus/client_golang v0.9.3-0.20190127221311-3c4408c8b829/go.mod h1:p2iRAGwDERtqlqzRXnrOVns+ignqQo//hLXqYxZYVNs=
+github.com/prometheus/client_golang v1.0.0/go.mod h1:db9x61etRT2tGnBNRi70OPL5FsnadC4Ky3P0J6CfImo=
+github.com/prometheus/client_golang v1.3.0/go.mod h1:hJaj2vgQTGQmVCsAACORcieXFeDPbaTKGT+JTgUa3og=
github.com/prometheus/client_golang v1.21.1 h1:DOvXXTqVzvkIewV/CDPFdejpMCGeMcbGCQ8YOmu+Ibk=
github.com/prometheus/client_golang v1.21.1/go.mod h1:U9NM32ykUErtVBxdvD3zfi+EuFkkaBvMb09mIfe0Zgg=
+github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo=
+github.com/prometheus/client_model v0.0.0-20190115171406-56726106282f/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo=
+github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA=
github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA=
+github.com/prometheus/client_model v0.1.0/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA=
+github.com/prometheus/client_model v0.2.0/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA=
+github.com/prometheus/client_model v0.3.0/go.mod h1:LDGWKZIo7rky3hgvBe+caln+Dr3dPggB5dvjtD7w9+w=
+github.com/prometheus/client_model v0.6.0/go.mod h1:NTQHnmxFpouOD0DpvP4XujX3CdOAGQPoaGhyTchlyt8=
github.com/prometheus/client_model v0.6.1 h1:ZKSh/rekM+n3CeS952MLRAdFwIKqeY8b62p8ais2e9E=
github.com/prometheus/client_model v0.6.1/go.mod h1:OrxVMOVHjw3lKMa8+x6HeMGkHMQyHDk9E3jmP2AmGiY=
+github.com/prometheus/common v0.2.0/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4=
+github.com/prometheus/common v0.4.1/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4=
+github.com/prometheus/common v0.7.0/go.mod h1:DjGbpBbp5NYNiECxcL/VnbXCCaQpKd3tt26CguLLsqA=
github.com/prometheus/common v0.62.0 h1:xasJaQlnWAeyHdUBeGjXmutelfJHWMRr+Fg4QszZ2Io=
github.com/prometheus/common v0.62.0/go.mod h1:vyBcEuLSvWos9B1+CyL7JZ2up+uFzXhkqml0W5zIY1I=
+github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk=
+github.com/prometheus/procfs v0.0.0-20190117184657-bf6a532e95b1/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk=
+github.com/prometheus/procfs v0.0.2/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA=
+github.com/prometheus/procfs v0.0.8/go.mod h1:7Qr8sr6344vo1JqZ6HhLceV9o3AJ1Ff+GxbHq6oeK9A=
github.com/prometheus/procfs v0.15.1 h1:YagwOFzUgYfKKHX6Dr+sHT7km/hxC76UB0learggepc=
github.com/prometheus/procfs v0.15.1/go.mod h1:fB45yRUv8NstnjriLhBQLuOUt+WW4BsoGhij/e3PBqk=
+github.com/rcrowley/go-metrics v0.0.0-20181016184325-3113b8401b8a/go.mod h1:bCqnVzQkZxMG4s8nGwiZ5l3QUCyqpo9Y+/ZMZ9VjZe4=
+github.com/remyoudompheng/bigfft v0.0.0-20200410134404-eec4a21b6bb0/go.mod h1:qqbHyh8v60DhA7CoWK5oRCqLrMHRGoxYCSS9EjAz6Eo=
+github.com/remyoudompheng/bigfft v0.0.0-20230129092748-24d4a6f8daec/go.mod h1:qqbHyh8v60DhA7CoWK5oRCqLrMHRGoxYCSS9EjAz6Eo=
github.com/rivo/uniseg v0.2.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc=
github.com/rivo/uniseg v0.4.7 h1:WUdvkW8uEhrYfLC4ZzdpI2ztxP1I582+49Oc5Mq64VQ=
github.com/rivo/uniseg v0.4.7/go.mod h1:FN3SvrM+Zdj16jyLfmOkMNblXMcoc8DfTHruCPUcx88=
+github.com/rogpeppe/fastuuid v0.0.0-20150106093220-6724a57986af/go.mod h1:XWv6SoW27p1b0cqNHllgS5HIMJraePCO15w5zCzIWYg=
+github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ=
+github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4=
+github.com/rogpeppe/go-internal v1.6.1/go.mod h1:xXDCJY+GAPziupqXw64V24skbSoqbTEfhy4qGm1nDQc=
+github.com/rogpeppe/go-internal v1.9.0/go.mod h1:WtVeX8xhTBvf0smdhujwtBcq4Qrzq/fJaraNFVN+nFs=
+github.com/rogpeppe/go-internal v1.12.0/go.mod h1:E+RYuTGaKKdloAfM02xzb0FW3Paa99yedzYV+kq4uf4=
+github.com/rogpeppe/go-internal v1.13.1/go.mod h1:uMEvuHeurkdAXX61udpOXGD/AzZDWNMNyH2VO9fmH0o=
github.com/rogpeppe/go-internal v1.14.1 h1:UQB4HGPB6osV0SQTLymcB4TgvyWu6ZyliaW0tI/otEQ=
github.com/rogpeppe/go-internal v1.14.1/go.mod h1:MaRKkUm5W0goXpeCfT7UZI6fk/L7L7so1lCWt35ZSgc=
+github.com/rs/xid v1.2.1/go.mod h1:+uKXf+4Djp6Md1KODXJxgGQPKngRmWyn10oCKFzNHOQ=
+github.com/rs/zerolog v1.21.0/go.mod h1:ZPhntP/xmq1nnND05hhpAh2QMhSsA4UN3MGZ6O2J3hM=
+github.com/russross/blackfriday/v2 v2.0.1/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM=
+github.com/ruudk/golang-pdf417 v0.0.0-20181029194003-1af4ab5afa58/go.mod h1:6lfFZQK844Gfx8o5WFuvpxWRwnSoipWe/p622j1v06w=
+github.com/ruudk/golang-pdf417 v0.0.0-20201230142125-a7e3863a1245/go.mod h1:pQAZKsJ8yyVxGRWYNEm9oFB8ieLgKFnamEyDmSA0BRk=
+github.com/ryanuber/columnize v0.0.0-20160712163229-9b3edd62028f/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts=
+github.com/samuel/go-zookeeper v0.0.0-20190923202752-2cc03de413da/go.mod h1:gi+0XIa01GRL2eRQVjQkKGqKF3SF9vZR/HnPullcV2E=
+github.com/sean-/seed v0.0.0-20170313163322-e2103e2c3529/go.mod h1:DxrIzT+xaE7yg65j358z/aeFdxmN0P9QXhEzd20vsDc=
github.com/secure-systems-lab/go-securesystemslib v0.9.0 h1:rf1HIbL64nUpEIZnjLZ3mcNEL9NBPB0iuVjyxvq3LZc=
github.com/secure-systems-lab/go-securesystemslib v0.9.0/go.mod h1:DVHKMcZ+V4/woA/peqr+L0joiRXbPpQ042GgJckkFgw=
+github.com/shurcooL/sanitized_anchor_name v1.0.0/go.mod h1:1NzhyTcUVG4SuEtjjoZeVRXNmyL/1OwPU0+IJeTBvfc=
github.com/sigstore/fulcio v1.6.6 h1:XaMYX6TNT+8n7Npe8D94nyZ7/ERjEsNGFC+REdi/wzw=
github.com/sigstore/fulcio v1.6.6/go.mod h1:BhQ22lwaebDgIxVBEYOOqLRcN5+xOV+C9bh/GUXRhOk=
github.com/sigstore/protobuf-specs v0.4.1 h1:5SsMqZbdkcO/DNHudaxuCUEjj6x29tS2Xby1BxGU7Zc=
@@ -265,32 +1449,60 @@ github.com/sigstore/rekor v1.3.10 h1:/mSvRo4MZ/59ECIlARhyykAlQlkmeAQpvBPlmJtZOCU
github.com/sigstore/rekor v1.3.10/go.mod h1:JvryKJ40O0XA48MdzYUPu0y4fyvqt0C4iSY7ri9iu3A=
github.com/sigstore/sigstore v1.9.3 h1:y2qlTj+vh+Or3ictKuR3JUFawZPdDxAjrWkeFhon0OQ=
github.com/sigstore/sigstore v1.9.3/go.mod h1:VwYkiw0G0dRtwL25KSs04hCyVFF6CYMd/qvNeYrl7EQ=
+github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo=
+github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE=
+github.com/sirupsen/logrus v1.8.1/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0=
github.com/sirupsen/logrus v1.9.3 h1:dueUQJ1C2q9oE3F7wvmSGAaVtTmUizReu6fjN8uqzbQ=
github.com/sirupsen/logrus v1.9.3/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ=
github.com/smallstep/pkcs7 v0.1.1 h1:x+rPdt2W088V9Vkjho4KtoggyktZJlMduZAtRHm68LU=
github.com/smallstep/pkcs7 v0.1.1/go.mod h1:dL6j5AIz9GHjVEBTXtW+QliALcgM19RtXaTeyxI+AfA=
+github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d/go.mod h1:OnSkiWE9lh6wB0YB77sQom3nweQdgAjqCqsofrRNTgc=
+github.com/smartystreets/goconvey v1.6.4/go.mod h1:syvi0/a8iFYH4r/RixwvyeAJjdLS9QV7WQ/tjFTllLA=
+github.com/soheilhy/cmux v0.1.4/go.mod h1:IM3LyeVVIOuxMH7sFAkER9+bJ4dT7Ms6E4xg4kGIyLM=
+github.com/sony/gobreaker v0.4.1/go.mod h1:ZKptC7FHNvhBz7dN2LGjPVBz2sZJmc0/PkyDJOjmxWY=
+github.com/spf13/afero v1.3.3/go.mod h1:5KUK8ByomD5Ti5Artl0RtHeI5pTF7MIDuXL3yY520V4=
+github.com/spf13/afero v1.6.0/go.mod h1:Ai8FlHk4v/PARR026UzYexafAt9roJ7LcLMAmO6Z93I=
+github.com/spf13/afero v1.9.2/go.mod h1:iUV7ddyEEZPO5gA3zD4fJt6iStLlL+Lg4m2cihcDf8Y=
+github.com/spf13/afero v1.10.0/go.mod h1:UBogFpq8E9Hx+xc5CNTTEpTnuHVmXDwZcZcE1eb/UhQ=
+github.com/spf13/cobra v0.0.3/go.mod h1:1l0Ry5zgKvJasoi3XT1TypsSe7PqH0Sj9dhYf7v3XqQ=
github.com/spf13/cobra v1.9.1 h1:CXSaggrXdbHK9CF+8ywj8Amf7PBRmPCOJugH954Nnlo=
github.com/spf13/cobra v1.9.1/go.mod h1:nDyEzZ8ogv936Cinf6g1RU9MRY64Ir93oCnqb9wxYW0=
+github.com/spf13/pflag v1.0.1/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4=
github.com/spf13/pflag v1.0.6 h1:jFzHGLGAlb3ruxLB8MhbI6A8+AQX/2eW4qeyNZXNp2o=
github.com/spf13/pflag v1.0.6/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg=
+github.com/spiffe/go-spiffe/v2 v2.5.0/go.mod h1:P+NxobPc6wXhVtINNtFjNWGBTreew1GBUCwT2wPmb7g=
github.com/stefanberger/go-pkcs11uri v0.0.0-20230803200340-78284954bff6 h1:pnnLyeX7o/5aX8qUQ69P/mLojDqwda8hFOCBTmP/6hw=
github.com/stefanberger/go-pkcs11uri v0.0.0-20230803200340-78284954bff6/go.mod h1:39R/xuhNgVhi+K0/zst4TLrJrVmbm6LVgl4A0+ZFS5M=
github.com/stoewer/go-strcase v1.3.0 h1:g0eASXYtp+yvN9fK8sH94oCIk0fau9uV1/ZdJ0AVEzs=
github.com/stoewer/go-strcase v1.3.0/go.mod h1:fAH5hQ5pehh+j3nZfvwdk2RgEgQjAoM8wodgtPmh1xo=
+github.com/streadway/amqp v0.0.0-20190404075320-75d898a42a94/go.mod h1:AZpEONHx3DKn8O/DFsRAY58/XVQiIPMTMB1SddzLXVw=
+github.com/streadway/amqp v0.0.0-20190827072141-edfb9018d271/go.mod h1:AZpEONHx3DKn8O/DFsRAY58/XVQiIPMTMB1SddzLXVw=
+github.com/streadway/handy v0.0.0-20190108123426-d5acb3125c2a/go.mod h1:qNTQ5P5JnDBl6z3cMAg/SywNDC5ABu5ApDIw6lUbRmI=
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
+github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw=
github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo=
+github.com/stretchr/objx v0.5.2/go.mod h1:FRsXN1f5AsAjCGJKqEizvkpNtU+EGNCLh3NxZ/8L+MA=
+github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs=
github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI=
+github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4=
+github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU=
github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4=
+github.com/stretchr/testify v1.8.2/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4=
+github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo=
+github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY=
github.com/stretchr/testify v1.10.0 h1:Xv5erBjTwe/5IxqUQTdXv5kgmIvbHo3QQyRwhJsOfJA=
github.com/stretchr/testify v1.10.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY=
github.com/titanous/rocacheck v0.0.0-20171023193734-afe73141d399 h1:e/5i7d4oYZ+C1wj2THlRK+oAhjeS/TRQwMfkIuet3w0=
github.com/titanous/rocacheck v0.0.0-20171023193734-afe73141d399/go.mod h1:LdwHTNJT99C5fTAzDz0ud328OgXz+gierycbcIx2fRs=
+github.com/tmc/grpc-websocket-proxy v0.0.0-20170815181823-89b8d40f7ca8/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U=
github.com/ulikunitz/xz v0.5.12 h1:37Nm15o69RwBkXM0J6A5OlE67RZTfzUxTj8fB3dfcsc=
github.com/ulikunitz/xz v0.5.12/go.mod h1:nbz6k7qbPmH4IRqmfOplQw/tblSgqTqBwxkY0oWt/14=
+github.com/urfave/cli v1.20.0/go.mod h1:70zkFmudgCuE/ngEzBv17Jvp/497gISqfk5gWijbERA=
+github.com/urfave/cli v1.22.1/go.mod h1:Gos4lmkARVdJ6EkW0WaNv/tZAAMe9V7XWyB60NtXRu0=
github.com/vbatts/tar-split v0.12.1 h1:CqKoORW7BUWBe7UL/iqTVvkTBOF8UvOMKOIZykxnnbo=
github.com/vbatts/tar-split v0.12.1/go.mod h1:eF6B6i6ftWQcDqEn3/iGFRFRo8cBIMSJVOpnNdfTMFA=
github.com/vbauerster/mpb/v8 v8.9.3 h1:PnMeF+sMvYv9u23l6DO6Q3+Mdj408mjLRXIzmUmU2Z8=
@@ -303,161 +1515,876 @@ github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415 h1:EzJWgHo
github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415/go.mod h1:GwrjFmJcFw6At/Gs6z4yjiIwzuJ1/+UwLxMQDVQXShQ=
github.com/xeipuuv/gojsonschema v1.2.0 h1:LhYJRs+L4fBtjZUfuSZIKGeVu0QRy8e5Xi7D17UxZ74=
github.com/xeipuuv/gojsonschema v1.2.0/go.mod h1:anYRn/JVcOK2ZgGU+IjEV4nwlhoK5sQluxsYJ78Id3Y=
+github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2/go.mod h1:UETIi67q53MR2AWcXfiuqkDkRtnGDLqkBTpCHuJHxtU=
+github.com/yuin/goldmark v1.1.25/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
+github.com/yuin/goldmark v1.1.32/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
+github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k=
+github.com/yuin/goldmark v1.4.1/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k=
github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY=
+github.com/zeebo/assert v1.3.0/go.mod h1:Pq9JiuJQpG8JLJdtkwrJESF0Foym2/D9XMU5ciN/wJ0=
+github.com/zeebo/errs v1.4.0/go.mod h1:sgbWHsvVuTPHcqJJGQ1WhI5KbWlHYz+2+2C/LSEtCw4=
+github.com/zeebo/xxh3 v1.0.2/go.mod h1:5NWz9Sef7zIDm2JHfFlcQvNekmcEl9ekUZQQKCYaDcA=
+go.etcd.io/bbolt v1.3.3/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU=
+go.etcd.io/etcd v0.0.0-20191023171146-3cf2f69b5738/go.mod h1:dnLIgRNXwCJa5e+c6mIZCrds/GIG4ncV9HhK5PX7jPg=
go.mongodb.org/mongo-driver v1.14.0 h1:P98w8egYRjYe3XDjxhYJagTokP/H6HzlsnojRgZRd80=
go.mongodb.org/mongo-driver v1.14.0/go.mod h1:Vzb0Mk/pa7e6cWw85R4F/endUC3u0U9jGcNU603k65c=
+go.opencensus.io v0.20.1/go.mod h1:6WKK9ahsWS3RSO+PY9ZHZUfv2irvY6gN279GOPZjmmk=
+go.opencensus.io v0.20.2/go.mod h1:6WKK9ahsWS3RSO+PY9ZHZUfv2irvY6gN279GOPZjmmk=
+go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU=
+go.opencensus.io v0.22.0/go.mod h1:+kGneAE2xo2IficOXnaByMWTGM9T73dGwxeWcUqIpI8=
+go.opencensus.io v0.22.2/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw=
+go.opencensus.io v0.22.3/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw=
+go.opencensus.io v0.22.4/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw=
+go.opencensus.io v0.22.5/go.mod h1:5pWMHQbX5EPX2/62yrJeAkowc+lfs/XD7Uxpq3pI6kk=
+go.opencensus.io v0.23.0/go.mod h1:XItmlyltB5F7CS4xOC1DcqMoFqwtC6OG2xF7mCv7P7E=
go.opencensus.io v0.24.0 h1:y73uSU6J157QMP2kn2r30vwW1A2W2WFwSCGnAVxeaD0=
go.opencensus.io v0.24.0/go.mod h1:vNK8G9p7aAivkbmorf4v+7Hgx+Zs0yY+0fOtgBfjQKo=
go.opentelemetry.io/auto/sdk v1.1.0 h1:cH53jehLUN6UFLY71z+NDOiNJqDdPRaXzTel0sJySYA=
go.opentelemetry.io/auto/sdk v1.1.0/go.mod h1:3wSPjt5PWp2RhlCcmmOial7AvC4DQqZb7a7wCow3W8A=
+go.opentelemetry.io/contrib/detectors/gcp v1.36.0/go.mod h1:IbBN8uAIIx734PTonTPxAxnjc2pQTxWNkwfstZ+6H2k=
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.59.0 h1:CV7UdSGJt/Ao6Gp4CXckLxVRRsRgDHoI8XjbL3PDl8s=
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.59.0/go.mod h1:FRmFuRJfag1IZ2dPkHnEoSFVgTVPUd2qf5Vi69hLb8I=
-go.opentelemetry.io/otel v1.34.0 h1:zRLXxLCgL1WyKsPVrgbSdMN4c0FMkDAskSTQP+0hdUY=
-go.opentelemetry.io/otel v1.34.0/go.mod h1:OWFPOQ+h4G8xpyjgqo4SxJYdDQ/qmRH+wivy7zzx9oI=
-go.opentelemetry.io/otel/metric v1.34.0 h1:+eTR3U0MyfWjRDhmFMxe2SsW64QrZ84AOhvqS7Y+PoQ=
-go.opentelemetry.io/otel/metric v1.34.0/go.mod h1:CEDrp0fy2D0MvkXE+dPV7cMi8tWZwX3dmaIhwPOaqHE=
-go.opentelemetry.io/otel/sdk v1.34.0 h1:95zS4k/2GOy069d321O8jWgYsW3MzVV+KuSPKp7Wr1A=
-go.opentelemetry.io/otel/sdk v1.34.0/go.mod h1:0e/pNiaMAqaykJGKbi+tSjWfNNHMTxoC9qANsCzbyxU=
-go.opentelemetry.io/otel/sdk/metric v1.34.0 h1:5CeK9ujjbFVL5c1PhLuStg1wxA7vQv7ce1EK0Gyvahk=
-go.opentelemetry.io/otel/sdk/metric v1.34.0/go.mod h1:jQ/r8Ze28zRKoNRdkjCZxfs6YvBTG1+YIqyFVFYec5w=
-go.opentelemetry.io/otel/trace v1.34.0 h1:+ouXS2V8Rd4hp4580a8q23bg0azF2nI8cqLYnC8mh/k=
-go.opentelemetry.io/otel/trace v1.34.0/go.mod h1:Svm7lSjQD7kG7KJ/MUHPVXSDGz2OX4h0M2jHBhmSfRE=
+go.opentelemetry.io/otel v0.20.0/go.mod h1:Y3ugLH2oa81t5QO+Lty+zXf8zC9L26ax4Nzoxm/dooo=
+go.opentelemetry.io/otel v1.32.0/go.mod h1:00DCVSB0RQcnzlwyTfqtxSm+DRr9hpYrHjNGiBHVQIg=
+go.opentelemetry.io/otel v1.36.0/go.mod h1:/TcFMXYjyRNh8khOAO9ybYkqaDBb/70aVwkNML4pP8E=
+go.opentelemetry.io/otel v1.37.0 h1:9zhNfelUvx0KBfu/gb+ZgeAfAgtWrfHJZcAqFC228wQ=
+go.opentelemetry.io/otel v1.37.0/go.mod h1:ehE/umFRLnuLa/vSccNq9oS1ErUlkkK71gMcN34UG8I=
+go.opentelemetry.io/otel/metric v0.20.0/go.mod h1:598I5tYlH1vzBjn+BTuhzTCSb/9debfNp6R3s7Pr1eU=
+go.opentelemetry.io/otel/metric v1.32.0/go.mod h1:jH7CIbbK6SH2V2wE16W05BHCtIDzauciCRLoc/SyMv8=
+go.opentelemetry.io/otel/metric v1.36.0/go.mod h1:zC7Ks+yeyJt4xig9DEw9kuUFe5C3zLbVjV2PzT6qzbs=
+go.opentelemetry.io/otel/metric v1.37.0 h1:mvwbQS5m0tbmqML4NqK+e3aDiO02vsf/WgbsdpcPoZE=
+go.opentelemetry.io/otel/metric v1.37.0/go.mod h1:04wGrZurHYKOc+RKeye86GwKiTb9FKm1WHtO+4EVr2E=
+go.opentelemetry.io/otel/oteltest v0.20.0/go.mod h1:L7bgKf9ZB7qCwT9Up7i9/pn0PWIa9FqQ2IQ8LoxiGnw=
+go.opentelemetry.io/otel/sdk v0.20.0/go.mod h1:g/IcepuwNsoiX5Byy2nNV0ySUF1em498m7hBWC279Yc=
+go.opentelemetry.io/otel/sdk v1.36.0/go.mod h1:+lC+mTgD+MUWfjJubi2vvXWcVxyr9rmlshZni72pXeY=
+go.opentelemetry.io/otel/sdk v1.37.0 h1:ItB0QUqnjesGRvNcmAcU0LyvkVyGJ2xftD29bWdDvKI=
+go.opentelemetry.io/otel/sdk v1.37.0/go.mod h1:VredYzxUvuo2q3WRcDnKDjbdvmO0sCzOvVAiY+yUkAg=
+go.opentelemetry.io/otel/sdk/metric v1.37.0 h1:90lI228XrB9jCMuSdA0673aubgRobVZFhbjxHHspCPc=
+go.opentelemetry.io/otel/sdk/metric v1.37.0/go.mod h1:cNen4ZWfiD37l5NhS+Keb5RXVWZWpRE+9WyVCpbo5ps=
+go.opentelemetry.io/otel/trace v0.20.0/go.mod h1:6GjCW8zgDjwGHGa6GkyeB8+/5vjT16gUEi0Nf1iBdgw=
+go.opentelemetry.io/otel/trace v1.32.0/go.mod h1:+i4rkvCraA+tG6AzwloGaCtkx53Fa+L+V8e9a7YvhT8=
+go.opentelemetry.io/otel/trace v1.36.0/go.mod h1:gQ+OnDZzrybY4k4seLzPAWNwVBBVlF2szhehOBB/tGA=
+go.opentelemetry.io/otel/trace v1.37.0 h1:HLdcFNbRQBE2imdSEgm/kwqmQj1Or1l/7bW6mxVK7z4=
+go.opentelemetry.io/otel/trace v1.37.0/go.mod h1:TlgrlQ+PtQO5XFerSPUYG0JSgGyryXewPGyayAWSBS0=
+go.opentelemetry.io/proto/otlp v0.7.0/go.mod h1:PqfVotwruBrMGOCsRd/89rSnXhoiJIqeYNgFYFoEGnI=
+go.opentelemetry.io/proto/otlp v0.15.0/go.mod h1:H7XAot3MsfNsj7EXtrA2q5xSNQ10UqI405h3+duxN4U=
+go.opentelemetry.io/proto/otlp v0.19.0/go.mod h1:H7XAot3MsfNsj7EXtrA2q5xSNQ10UqI405h3+duxN4U=
+go.opentelemetry.io/proto/otlp v1.0.0/go.mod h1:Sy6pihPLfYHkr3NkUbEhGHFhINUSI/v80hjKIs5JXpM=
+go.uber.org/atomic v1.3.2/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE=
+go.uber.org/atomic v1.5.0/go.mod h1:sABNBOSYdrvTF6hTgEIbc7YasKWGhgEQZyfxyTvoXHQ=
+go.uber.org/atomic v1.6.0/go.mod h1:sABNBOSYdrvTF6hTgEIbc7YasKWGhgEQZyfxyTvoXHQ=
+go.uber.org/atomic v1.7.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc=
go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto=
go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE=
+go.uber.org/multierr v1.1.0/go.mod h1:wR5kodmAFQ0UK8QlbwjlSNy0Z68gJhDJUG5sjR94q/0=
+go.uber.org/multierr v1.3.0/go.mod h1:VgVr7evmIr6uPjLBxg28wmKNXyqE9akIJ5XnfpiKl+4=
+go.uber.org/multierr v1.5.0/go.mod h1:FeouvMocqHpRaaGuG9EjoKcStLC43Zu/fmqdUMPcKYU=
+go.uber.org/multierr v1.6.0/go.mod h1:cdWPpRnG4AhwMwsgIHip0KRBQjJy5kYEpYjJxpXp9iU=
+go.uber.org/tools v0.0.0-20190618225709-2cfd321de3ee/go.mod h1:vJERXedbb3MVM5f9Ejo0C68/HhF8uaILCdgjnY+goOA=
+go.uber.org/zap v1.10.0/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q=
+go.uber.org/zap v1.13.0/go.mod h1:zwrFLgMcdUuIBviXEYEH1YKNaOBnKXsx2IPda5bBwHM=
+go.uber.org/zap v1.16.0/go.mod h1:MA8QOfq0BHJwdXa996Y4dYkAqRKB8/1K1QMMZVaNZjQ=
+golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
+golang.org/x/crypto v0.0.0-20181029021203-45a5f77698d3/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
+golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
+golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
+golang.org/x/crypto v0.0.0-20190701094942-4def268fd1a4/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
+golang.org/x/crypto v0.0.0-20190820162420-60c769a6c586/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
+golang.org/x/crypto v0.0.0-20210421170649-83a5a9bb288b/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4=
golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
+golang.org/x/crypto v0.0.0-20211108221036-ceb1ce70b4fa/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
+golang.org/x/crypto v0.0.0-20220314234659-1baeb1ce4c0b/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4=
+golang.org/x/crypto v0.0.0-20220722155217-630584e8d5aa/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4=
+golang.org/x/crypto v0.1.0/go.mod h1:RecgLatLF4+eUMCP1PoPZQb+cVrJcOPbHkTkbkB9sbw=
+golang.org/x/crypto v0.7.0/go.mod h1:pYwdfH91IfpZVANVyUOhSIPZaFoJGxTFbZhFTx+dXZU=
+golang.org/x/crypto v0.9.0/go.mod h1:yrmDGqONDYtNj3tH8X9dzUun2m2lzPa9ngI6/RUPGR0=
+golang.org/x/crypto v0.11.0/go.mod h1:xgJhtzW8F9jGdVFWZESrid1U1bjeNy4zgy5cRr/CIio=
+golang.org/x/crypto v0.12.0/go.mod h1:NF0Gs7EO5K4qLn+Ylc+fih8BSTeIjAP05siRnAh98yw=
golang.org/x/crypto v0.13.0/go.mod h1:y6Z2r+Rw4iayiXXAIxJIDAJ1zMW4yaTpebo8fPOliYc=
+golang.org/x/crypto v0.15.0/go.mod h1:4ChreQoLWfG3xLDer1WdlH5NdlQ3+mwnQq1YTKY+72g=
+golang.org/x/crypto v0.16.0/go.mod h1:gCAAfMLgwOJRpTjQ2zCCt2OcSfYMTeZVSRtQlPC7Nq4=
+golang.org/x/crypto v0.18.0/go.mod h1:R0j02AL6hcrfOiy9T4ZYp/rcWeMxM3L6QYxlOuEG1mg=
golang.org/x/crypto v0.19.0/go.mod h1:Iy9bg/ha4yyC70EfRS8jz+B6ybOBKMaSxLj6P6oBDfU=
golang.org/x/crypto v0.23.0/go.mod h1:CKFgDieR+mRhux2Lsu27y0fO304Db0wZe70UKqHu0v8=
+golang.org/x/crypto v0.24.0/go.mod h1:Z1PMYSOR5nyMcyAVAIQSKCDwalqy85Aqn1x3Ws4L5DM=
+golang.org/x/crypto v0.25.0/go.mod h1:T+wALwcMOSE0kXgUAnPAHqTLW+XHgcELELW8VaDgm/M=
+golang.org/x/crypto v0.26.0/go.mod h1:GY7jblb9wI+FOo5y8/S2oY4zWP07AkOJ4+jxCqdqn54=
+golang.org/x/crypto v0.28.0/go.mod h1:rmgy+3RHxRZMyY0jjAJShp2zgEdOqj2AO7U0pYmeQ7U=
golang.org/x/crypto v0.30.0/go.mod h1:kDsLvtWBEx7MV9tJOj9bnXsPbxwJQ6csT/x4KIN4Ssk=
-golang.org/x/crypto v0.37.0 h1:kJNSjF/Xp7kU0iB2Z+9viTPMW4EqqsrywMXLJOOsXSE=
-golang.org/x/crypto v0.37.0/go.mod h1:vg+k43peMZ0pUMhYmVAWysMK35e6ioLh3wB8ZCAfbVc=
+golang.org/x/crypto v0.31.0/go.mod h1:kDsLvtWBEx7MV9tJOj9bnXsPbxwJQ6csT/x4KIN4Ssk=
+golang.org/x/crypto v0.32.0/go.mod h1:ZnnJkOaASj8g0AjIduWNlq2NRxL0PlBrbKVyZ6V/Ugc=
+golang.org/x/crypto v0.36.0/go.mod h1:Y4J0ReaxCR1IMaabaSMugxJES1EpwhBHhv2bDHklZvc=
+golang.org/x/crypto v0.38.0/go.mod h1:MvrbAqul58NNYPKnOra203SB9vpuZW0e+RRZV+Ggqjw=
+golang.org/x/crypto v0.39.0 h1:SHs+kF4LP+f+p14esP5jAoDpHU8Gu/v9lFRK6IT5imM=
+golang.org/x/crypto v0.39.0/go.mod h1:L+Xg3Wf6HoL4Bn4238Z6ft6KfEpN0tJGo53AAPC632U=
+golang.org/x/exp v0.0.0-20180321215751-8460e604b9de/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
+golang.org/x/exp v0.0.0-20180807140117-3d87b88a115f/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
+golang.org/x/exp v0.0.0-20190125153040-c74c464bbbf2/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
+golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
+golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8=
+golang.org/x/exp v0.0.0-20190731235908-ec7cb31e5a56/go.mod h1:JhuoJpWY28nO4Vef9tZUw9qufEGTyX1+7lmHxV5q5G4=
+golang.org/x/exp v0.0.0-20190829153037-c13cbed26979/go.mod h1:86+5VVa7VpoJ4kLfm080zCjGlMRFzhUhsZKEZO7MGek=
+golang.org/x/exp v0.0.0-20191002040644-a1355ae1e2c3/go.mod h1:NOZ3BPKG0ec/BKJQgnvsSFpcKLM5xXVWnvZS97DWHgE=
+golang.org/x/exp v0.0.0-20191030013958-a1ab85dbe136/go.mod h1:JXzH8nQsPlswgeRAPE3MuO9GYsAcnJvJ4vnMwN/5qkY=
+golang.org/x/exp v0.0.0-20191129062945-2f5052295587/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4=
+golang.org/x/exp v0.0.0-20191227195350-da58074b4299/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4=
+golang.org/x/exp v0.0.0-20200119233911-0405dc783f0a/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4=
+golang.org/x/exp v0.0.0-20200207192155-f17229e696bd/go.mod h1:J/WKrq2StrnmMY6+EHIKF9dgMWnmCNThgcyBT1FY9mM=
+golang.org/x/exp v0.0.0-20200224162631-6cc2880d07d6/go.mod h1:3jZMyOhIsHpP37uCMkUooju7aAi5cS1Q23tOzKc+0MU=
+golang.org/x/exp v0.0.0-20210722180016-6781d3edade3/go.mod h1:DVyR6MI7P4kEQgvZJSj1fQGrWIi2RzIrfYWycwheUAc=
+golang.org/x/exp v0.0.0-20220827204233-334a2380cb91/go.mod h1:cyybsKvd6eL0RnXn6p/Grxp8F5bW7iYuBgsNCOHpMYE=
+golang.org/x/exp v0.0.0-20221012211006-4de253d81b95/go.mod h1:cyybsKvd6eL0RnXn6p/Grxp8F5bW7iYuBgsNCOHpMYE=
+golang.org/x/exp v0.0.0-20230321023759-10a507213a29/go.mod h1:CxIveKay+FTh1D0yPZemJVgC/95VzuuOLq5Qi4xnoYc=
+golang.org/x/exp v0.0.0-20230801115018-d63ba01acd4b/go.mod h1:FXUEEKJgO7OQYeo8N01OfiKP8RXMtf6e8aTskBGqWdc=
+golang.org/x/exp v0.0.0-20231110203233-9a3e6036ecaa/go.mod h1:zk2irFbV9DP96SEBUUAy67IdHUaZuSnrz1n472HUCLE=
+golang.org/x/exp v0.0.0-20241009180824-f66d83c29e7c/go.mod h1:NQtJDoLvd6faHhE7m4T/1IY708gDefGGjR/iUW8yQQ8=
golang.org/x/exp v0.0.0-20250408133849-7e4ce0ab07d0 h1:R84qjqJb5nVJMxqWYb3np9L5ZsaDtB+a39EqjV0JSUM=
golang.org/x/exp v0.0.0-20250408133849-7e4ce0ab07d0/go.mod h1:S9Xr4PYopiDyqSyp5NjCrhFrqg6A5zA2E/iPHPhqnS8=
-golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE=
+golang.org/x/exp/shiny v0.0.0-20220827204233-334a2380cb91/go.mod h1:VjAR7z0ngyATZTELrBSkxOOHhhlnVUxDye4mcjx5h/8=
+golang.org/x/exp/shiny v0.0.0-20230801115018-d63ba01acd4b/go.mod h1:UH99kUObWAZkDnWqppdQe5ZhPYESUw8I0zVV1uWBR+0=
+golang.org/x/exp/shiny v0.0.0-20230817173708-d852ddb80c63/go.mod h1:UH99kUObWAZkDnWqppdQe5ZhPYESUw8I0zVV1uWBR+0=
+golang.org/x/exp/shiny v0.0.0-20240707233637-46b078467d37/go.mod h1:3F+MieQB7dRYLTmnncoFbb1crS5lfQoTfDgQy6K4N0o=
+golang.org/x/exp/shiny v0.0.0-20241009180824-f66d83c29e7c/go.mod h1:3F+MieQB7dRYLTmnncoFbb1crS5lfQoTfDgQy6K4N0o=
+golang.org/x/image v0.0.0-20180708004352-c73c2afc3b81/go.mod h1:ux5Hcp/YLpHSI86hEcLt0YII63i6oz57MZXIpbrjZUs=
+golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js=
+golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0=
+golang.org/x/image v0.0.0-20190910094157-69e4b8554b2a/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0=
+golang.org/x/image v0.0.0-20200119044424-58c23975cae1/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0=
+golang.org/x/image v0.0.0-20200430140353-33d19683fad8/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0=
+golang.org/x/image v0.0.0-20200618115811-c13761719519/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0=
+golang.org/x/image v0.0.0-20201208152932-35266b937fa6/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0=
+golang.org/x/image v0.0.0-20210216034530-4410531fe030/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0=
+golang.org/x/image v0.0.0-20210607152325-775e3b0c77b9/go.mod h1:023OzeP/+EPmXeapQh35lcL3II3LrY8Ic+EFFKVhULM=
+golang.org/x/image v0.0.0-20210628002857-a66eb6448b8d/go.mod h1:023OzeP/+EPmXeapQh35lcL3II3LrY8Ic+EFFKVhULM=
+golang.org/x/image v0.0.0-20211028202545-6944b10bf410/go.mod h1:023OzeP/+EPmXeapQh35lcL3II3LrY8Ic+EFFKVhULM=
+golang.org/x/image v0.0.0-20220302094943-723b81ca9867/go.mod h1:023OzeP/+EPmXeapQh35lcL3II3LrY8Ic+EFFKVhULM=
+golang.org/x/image v0.3.0/go.mod h1:fXd9211C/0VTlYuAcOhW8dY/RtEJqODXOWBDpmYBf+A=
+golang.org/x/image v0.5.0/go.mod h1:FVC7BI/5Ym8R25iw5OLsgshdUBbT1h5jZTpA+mvAdZ4=
+golang.org/x/image v0.6.0/go.mod h1:MXLdDR43H7cDJq5GEGXEVeeNhPgi+YYEQ2pC1byI1x0=
+golang.org/x/image v0.7.0/go.mod h1:nd/q4ef1AKKYl/4kft7g+6UyGbdiqWqTP1ZAbRoV7Rg=
+golang.org/x/image v0.11.0/go.mod h1:bglhjqbqVuEb9e9+eNR45Jfu7D+T4Qan+NhQk8Ck2P8=
+golang.org/x/image v0.12.0/go.mod h1:Lu90jvHG7GfemOIcldsh9A2hS01ocl6oNO7ype5mEnk=
+golang.org/x/image v0.13.0/go.mod h1:6mmbMOeV28HuMTgA6OSRkdXKYw/t5W9Uwn2Yv1r3Yxk=
+golang.org/x/image v0.14.0/go.mod h1:HUYqC05R2ZcZ3ejNQsIHQDQiwWM4JBqmm6MKANTp4LE=
+golang.org/x/image v0.15.0/go.mod h1:HUYqC05R2ZcZ3ejNQsIHQDQiwWM4JBqmm6MKANTp4LE=
+golang.org/x/image v0.21.0/go.mod h1:vUbsLavqK/W303ZroQQVKQ+Af3Yl6Uz1Ppu5J/cLz78=
+golang.org/x/image v0.24.0/go.mod h1:4b/ITuLfqYq1hqZcjofwctIhi7sZh2WaCjvsBNjjya8=
+golang.org/x/image v0.25.0/go.mod h1:tCAmOEGthTtkalusGp1g3xa2gke8J6c2N565dTyl9Rs=
golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU=
+golang.org/x/lint v0.0.0-20190301231843-5614ed5bae6f/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE=
golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc=
+golang.org/x/lint v0.0.0-20190409202823-959b441ac422/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc=
+golang.org/x/lint v0.0.0-20190909230951-414d861bb4ac/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc=
+golang.org/x/lint v0.0.0-20190930215403-16217165b5de/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc=
+golang.org/x/lint v0.0.0-20191125180803-fdd1cda4f05f/go.mod h1:5qLYkcX4OjUUV8bRuDixDT3tpyyb+LUpUlRWLxfhWrs=
+golang.org/x/lint v0.0.0-20200130185559-910be7a94367/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY=
+golang.org/x/lint v0.0.0-20200302205851-738671d3881b/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY=
+golang.org/x/lint v0.0.0-20201208152925-83fdc39ff7b5/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY=
+golang.org/x/lint v0.0.0-20210508222113-6edffad5e616/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY=
+golang.org/x/mobile v0.0.0-20190312151609-d3739f865fa6/go.mod h1:z+o9i4GpDbdi3rU15maQ/Ox0txvL9dWGYEHz965HBQE=
+golang.org/x/mobile v0.0.0-20190719004257-d2bd2a29d028/go.mod h1:E/iHnbuqvinMTCcRqshq8CkpyQDoeVncDDYHnLhea+o=
+golang.org/x/mobile v0.0.0-20201217150744-e6ae53a27f4f/go.mod h1:skQtrUTUwhdJvXM/2KKJzY8pDgNr9I/FOMqDVRPBUS4=
+golang.org/x/mobile v0.0.0-20231127183840-76ac6878050a/go.mod h1:Ede7gF0KGoHlj822RtphAHK1jLdrcuRBZg0sF1Q+SPc=
+golang.org/x/mod v0.0.0-20190513183733-4bf6d317e70e/go.mod h1:mXi4GBBbnImb6dmsKGUJ2LatrhH/nqhxcFungHvyanc=
+golang.org/x/mod v0.1.0/go.mod h1:0QHyrYULN0/3qlju5TqG8bIK38QM8yzMo5ekMj3DlcY=
+golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg=
+golang.org/x/mod v0.1.1-0.20191107180719-034126e5016b/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg=
+golang.org/x/mod v0.1.1-0.20191209134235-331c550502dd/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
+golang.org/x/mod v0.4.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
+golang.org/x/mod v0.4.1/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
+golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
+golang.org/x/mod v0.5.0/go.mod h1:5OXOZSfqPIIbmVBIIKWRFfZjPR0E5r58TLhUjH0a2Ro=
+golang.org/x/mod v0.5.1/go.mod h1:5OXOZSfqPIIbmVBIIKWRFfZjPR0E5r58TLhUjH0a2Ro=
golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4=
+golang.org/x/mod v0.6.0/go.mod h1:4mET923SAdbXp2ki8ey+zGs1SLqsuM2Y0uvdZR/fUNI=
+golang.org/x/mod v0.7.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs=
golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs=
+golang.org/x/mod v0.9.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs=
+golang.org/x/mod v0.10.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs=
+golang.org/x/mod v0.11.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs=
golang.org/x/mod v0.12.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs=
+golang.org/x/mod v0.14.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c=
golang.org/x/mod v0.15.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c=
golang.org/x/mod v0.17.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c=
+golang.org/x/mod v0.18.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c=
+golang.org/x/mod v0.21.0/go.mod h1:6SkKJ3Xj0I0BrPOZoBy3bdMptDDU9oJrpohJ3eWZ1fY=
+golang.org/x/mod v0.24.0/go.mod h1:IXM97Txy2VM4PJ3gI61r1YEk/gAj6zAHN3AdZt6S9Ww=
+golang.org/x/mod v0.25.0/go.mod h1:IXM97Txy2VM4PJ3gI61r1YEk/gAj6zAHN3AdZt6S9Ww=
golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
-golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
+golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
+golang.org/x/net v0.0.0-20181023162649-9b4f9f5ad519/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
+golang.org/x/net v0.0.0-20181114220301-adae6a3d119a/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
+golang.org/x/net v0.0.0-20181201002055-351d144fa1fc/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
+golang.org/x/net v0.0.0-20181220203305-927f97764cc3/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
+golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
+golang.org/x/net v0.0.0-20190125091013-d26f9f9a57f3/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
+golang.org/x/net v0.0.0-20190501004415-9ce7a6920f09/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
+golang.org/x/net v0.0.0-20190503192946-f4e77d36d62c/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
+golang.org/x/net v0.0.0-20190603091049-60506f45cf65/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks=
+golang.org/x/net v0.0.0-20190613194153-d28f0bde5980/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
+golang.org/x/net v0.0.0-20190628185345-da137c7871d7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
+golang.org/x/net v0.0.0-20190724013045-ca1201d0de80/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
+golang.org/x/net v0.0.0-20190813141303-74dc4d7220e7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
+golang.org/x/net v0.0.0-20191209160850-c0dbc17a3553/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
+golang.org/x/net v0.0.0-20200114155413-6afb5195e5aa/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
+golang.org/x/net v0.0.0-20200202094626-16171245cfb2/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
+golang.org/x/net v0.0.0-20200222125558-5a598a2470a0/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
+golang.org/x/net v0.0.0-20200301022130-244492dfa37a/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
+golang.org/x/net v0.0.0-20200324143707-d3edc9973b7e/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A=
+golang.org/x/net v0.0.0-20200501053045-e0ff5e5a1de5/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A=
+golang.org/x/net v0.0.0-20200506145744-7e3656a0809f/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A=
+golang.org/x/net v0.0.0-20200513185701-a91f0712d120/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A=
+golang.org/x/net v0.0.0-20200520182314-0ba52f642ac2/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A=
+golang.org/x/net v0.0.0-20200625001655-4c5254603344/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA=
+golang.org/x/net v0.0.0-20200707034311-ab3426394381/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA=
+golang.org/x/net v0.0.0-20200822124328-c89045814202/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA=
golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU=
+golang.org/x/net v0.0.0-20201031054903-ff519b6c9102/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU=
golang.org/x/net v0.0.0-20201110031124-69a78807bb2b/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU=
+golang.org/x/net v0.0.0-20201209123823-ac852fbbde11/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg=
+golang.org/x/net v0.0.0-20201224014010-6772e930b67b/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg=
+golang.org/x/net v0.0.0-20210119194325-5f4716e94777/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg=
golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg=
+golang.org/x/net v0.0.0-20210316092652-d523dce5a7f4/go.mod h1:RBQZq4jEuRlivfhVLdyRGr576XBO4/greRjx4P4O3yc=
+golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM=
+golang.org/x/net v0.0.0-20210503060351-7fd8e65b6420/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
+golang.org/x/net v0.0.0-20210813160813-60bc85c4be6d/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
+golang.org/x/net v0.0.0-20211015210444-4f30a5c0130f/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
+golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
+golang.org/x/net v0.0.0-20220127200216-cd36cc0744dd/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk=
+golang.org/x/net v0.0.0-20220225172249-27dd8689420f/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk=
+golang.org/x/net v0.0.0-20220325170049-de3da57026de/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk=
+golang.org/x/net v0.0.0-20220412020605-290c469a71a5/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk=
+golang.org/x/net v0.0.0-20220425223048-2871e0cb64e4/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk=
+golang.org/x/net v0.0.0-20220607020251-c690dde0001d/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c=
+golang.org/x/net v0.0.0-20220617184016-355a448f1bc9/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c=
+golang.org/x/net v0.0.0-20220624214902-1bab6f366d9e/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c=
golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c=
+golang.org/x/net v0.0.0-20220909164309-bea034e7d591/go.mod h1:YDH+HFinaLZZlnHAfSS6ZXJJ9M9t4Dl22yv3iI2vPwk=
+golang.org/x/net v0.0.0-20221012135044-0b7e1fb9d458/go.mod h1:YDH+HFinaLZZlnHAfSS6ZXJJ9M9t4Dl22yv3iI2vPwk=
+golang.org/x/net v0.0.0-20221014081412-f15817d10f9b/go.mod h1:YDH+HFinaLZZlnHAfSS6ZXJJ9M9t4Dl22yv3iI2vPwk=
+golang.org/x/net v0.1.0/go.mod h1:Cx3nUiGt4eDBEyega/BKRp+/AlGL8hYe7U9odMt2Cco=
+golang.org/x/net v0.2.0/go.mod h1:KqCZLdyyvdV855qA2rE3GC2aiw5xGR5TEjj8smXukLY=
+golang.org/x/net v0.4.0/go.mod h1:MBQ8lrhLObU/6UmLb4fmbmk5OcyYmqtbGd/9yIeKjEE=
+golang.org/x/net v0.5.0/go.mod h1:DivGGAXEgPSlEBzxGzZI+ZLohi+xUj054jfeKui00ws=
golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs=
+golang.org/x/net v0.7.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs=
+golang.org/x/net v0.8.0/go.mod h1:QVkue5JL9kW//ek3r6jTKnTFis1tRmNAW2P1shuFdJc=
+golang.org/x/net v0.9.0/go.mod h1:d48xBJpPfHeWQsugry2m+kC02ZBRGRgulfHnEXEuWns=
golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg=
+golang.org/x/net v0.12.0/go.mod h1:zEVYFnQC7m/vmpQFELhcD1EWkZlX69l4oqgmer6hfKA=
+golang.org/x/net v0.14.0/go.mod h1:PpSgVXXLK0OxS0F31C1/tv6XNguvCrnXIDrFMspZIUI=
golang.org/x/net v0.15.0/go.mod h1:idbUs1IY1+zTqbi8yxTbhexhEEk5ur9LInksu6HrEpk=
+golang.org/x/net v0.18.0/go.mod h1:/czyP5RqHAH4odGYxBJ1qz0+CE5WZ+2j1YgoEo8F2jQ=
+golang.org/x/net v0.19.0/go.mod h1:CfAk/cbD4CthTvqiEl8NpboMuiuOYsAr/7NOjZJtv1U=
+golang.org/x/net v0.20.0/go.mod h1:z8BVo6PvndSri0LbOE3hAn0apkU+1YvI6E70E9jsnvY=
golang.org/x/net v0.21.0/go.mod h1:bIjVDfnllIU7BJ2DNgfnXvpSvtn8VRwhlsaeUTyUS44=
golang.org/x/net v0.25.0/go.mod h1:JkAGAh7GEvH74S6FOH42FLoXpXbE/aqXSrIQjXgsiwM=
-golang.org/x/net v0.39.0 h1:ZCu7HMWDxpXpaiKdhzIfaltL9Lp31x/3fCP11bc6/fY=
-golang.org/x/net v0.39.0/go.mod h1:X7NRbYVEA+ewNkCNyJ513WmMdQ3BineSwVtN2zD/d+E=
-golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
-golang.org/x/oauth2 v0.29.0 h1:WdYw2tdTK1S8olAzWHdgeqfy+Mtm9XNhv/xJsY65d98=
-golang.org/x/oauth2 v0.29.0/go.mod h1:onh5ek6nERTohokkhCD/y2cV4Do3fxFHFuAejCkRWT8=
+golang.org/x/net v0.26.0/go.mod h1:5YKkiSynbBIh3p6iOc/vibscux0x38BZDkn8sCUPxHE=
+golang.org/x/net v0.28.0/go.mod h1:yqtgsTWOOnlGLG9GFRrK3++bGOUEkNBoHZc8MEDWPNg=
+golang.org/x/net v0.30.0/go.mod h1:2wGyMJ5iFasEhkwi13ChkO/t1ECNC4X4eBKkVFyYFlU=
+golang.org/x/net v0.33.0/go.mod h1:HXLR5J+9DxmrqMwG9qjGCxZ+zKXxBru04zlTvWlWuN4=
+golang.org/x/net v0.34.0/go.mod h1:di0qlW3YNM5oh6GqDGQr92MyTozJPmybPK4Ev/Gm31k=
+golang.org/x/net v0.37.0/go.mod h1:ivrbrMbzFq5J41QOQh0siUuly180yBYtLp+CKbEaFx8=
+golang.org/x/net v0.40.0/go.mod h1:y0hY0exeL2Pku80/zKK7tpntoX23cqL3Oa6njdgRtds=
+golang.org/x/net v0.41.0 h1:vBTly1HeNPEn3wtREYfy4GZ/NECgw2Cnl+nK6Nz3uvw=
+golang.org/x/net v0.41.0/go.mod h1:B/K4NNqkfmg07DQYrbwvSluqCJOOXwUjeb/5lOisjbA=
+golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
+golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
+golang.org/x/oauth2 v0.0.0-20191202225959-858c2ad4c8b6/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
+golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
+golang.org/x/oauth2 v0.0.0-20200902213428-5d25da1a8d43/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A=
+golang.org/x/oauth2 v0.0.0-20201109201403-9fd604954f58/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A=
+golang.org/x/oauth2 v0.0.0-20201208152858-08078c50e5b5/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A=
+golang.org/x/oauth2 v0.0.0-20210218202405-ba52d332ba99/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A=
+golang.org/x/oauth2 v0.0.0-20210220000619-9bb904979d93/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A=
+golang.org/x/oauth2 v0.0.0-20210313182246-cd4f82c27b84/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A=
+golang.org/x/oauth2 v0.0.0-20210514164344-f6687ab2804c/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A=
+golang.org/x/oauth2 v0.0.0-20210628180205-a41e5a781914/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A=
+golang.org/x/oauth2 v0.0.0-20210805134026-6f1e6394065a/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A=
+golang.org/x/oauth2 v0.0.0-20210819190943-2bc19b11175f/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A=
+golang.org/x/oauth2 v0.0.0-20211104180415-d3ed0bb246c8/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A=
+golang.org/x/oauth2 v0.0.0-20220223155221-ee480838109b/go.mod h1:DAh4E804XQdzx2j+YRIaUnCqCV2RuMz24cGBJ5QYIrc=
+golang.org/x/oauth2 v0.0.0-20220309155454-6242fa91716a/go.mod h1:DAh4E804XQdzx2j+YRIaUnCqCV2RuMz24cGBJ5QYIrc=
+golang.org/x/oauth2 v0.0.0-20220411215720-9780585627b5/go.mod h1:DAh4E804XQdzx2j+YRIaUnCqCV2RuMz24cGBJ5QYIrc=
+golang.org/x/oauth2 v0.0.0-20220608161450-d0670ef3b1eb/go.mod h1:jaDAt6Dkxork7LmZnYtzbRWj0W47D86a3TGe0YHBvmE=
+golang.org/x/oauth2 v0.0.0-20220622183110-fd043fe589d2/go.mod h1:jaDAt6Dkxork7LmZnYtzbRWj0W47D86a3TGe0YHBvmE=
+golang.org/x/oauth2 v0.0.0-20220822191816-0ebed06d0094/go.mod h1:h4gKUeWbJ4rQPri7E0u6Gs4e9Ri2zaLxzw5DI5XGrYg=
+golang.org/x/oauth2 v0.0.0-20220909003341-f21342109be1/go.mod h1:h4gKUeWbJ4rQPri7E0u6Gs4e9Ri2zaLxzw5DI5XGrYg=
+golang.org/x/oauth2 v0.0.0-20221006150949-b44042a4b9c1/go.mod h1:h4gKUeWbJ4rQPri7E0u6Gs4e9Ri2zaLxzw5DI5XGrYg=
+golang.org/x/oauth2 v0.0.0-20221014153046-6fdb5e3db783/go.mod h1:h4gKUeWbJ4rQPri7E0u6Gs4e9Ri2zaLxzw5DI5XGrYg=
+golang.org/x/oauth2 v0.4.0/go.mod h1:RznEsdpjGAINPTOF0UH/t+xJ75L18YO3Ho6Pyn+uRec=
+golang.org/x/oauth2 v0.5.0/go.mod h1:9/XBHVqLaWO3/BRHs5jbpYCnOZVjj5V0ndyaAM7KB4I=
+golang.org/x/oauth2 v0.6.0/go.mod h1:ycmewcwgD4Rpr3eZJLSB4Kyyljb3qDh40vJ8STE5HKw=
+golang.org/x/oauth2 v0.7.0/go.mod h1:hPLQkd9LyjfXTiRohC/41GhcFqxisoUQ99sCUOHO9x4=
+golang.org/x/oauth2 v0.8.0/go.mod h1:yr7u4HXZRm1R1kBWqr/xKNqewf0plRYoB7sla+BCIXE=
+golang.org/x/oauth2 v0.30.0 h1:dnDm7JmhM45NNpd8FDDeLhK6FwqbOf4MLCM9zb1BOHI=
+golang.org/x/oauth2 v0.30.0/go.mod h1:B++QgG3ZKulg6sRPGD/mqlHQs5rB3Ml9erfeDY7xKlU=
golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
+golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
+golang.org/x/sync v0.0.0-20190227155943-e225da77a7e6/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
+golang.org/x/sync v0.0.0-20200317015054-43a5402ce75a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
+golang.org/x/sync v0.0.0-20200625203802-6e8e738ad208/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
+golang.org/x/sync v0.0.0-20201207232520-09787c993a3a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
+golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
+golang.org/x/sync v0.0.0-20220601150217-0de741cfad7f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
+golang.org/x/sync v0.0.0-20220819030929-7fc1605a5dde/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
+golang.org/x/sync v0.0.0-20220929204114-8fcdb60fdcc0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
+golang.org/x/sync v0.2.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.3.0/go.mod h1:FU7BRWz2tNW+3quACPkgCx/L+uEAv1htQ0V83Z9Rj+Y=
+golang.org/x/sync v0.5.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk=
golang.org/x/sync v0.6.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk=
golang.org/x/sync v0.7.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk=
+golang.org/x/sync v0.8.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk=
golang.org/x/sync v0.10.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk=
-golang.org/x/sync v0.13.0 h1:AauUjRAJ9OSnvULf/ARrrVywoJDy0YS2AwQ98I37610=
-golang.org/x/sync v0.13.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA=
-golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
+golang.org/x/sync v0.11.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk=
+golang.org/x/sync v0.12.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA=
+golang.org/x/sync v0.14.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA=
+golang.org/x/sync v0.15.0 h1:KWH3jNZsfyT6xfAfKiz6MRNmd46ByHDYaZ7KSkCtdW8=
+golang.org/x/sync v0.15.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA=
+golang.org/x/sys v0.0.0-20180823144017-11551d06cbcc/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
+golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
+golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
+golang.org/x/sys v0.0.0-20181026203630-95b1ffbd15a5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
+golang.org/x/sys v0.0.0-20181107165924-66b7b1311ac8/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
+golang.org/x/sys v0.0.0-20181116152217-5ac8a444bdc5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
+golang.org/x/sys v0.0.0-20181122145206-62eef0e2fa9b/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
+golang.org/x/sys v0.0.0-20190312061237-fead79001313/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20190422165155-953cdadca894/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20190502145724-3ef323f4f1fd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20190606165138-5da285871e9c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20190624142023-c5567b49c5d0/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20190726091711-fc99dfbffb4e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20190826190057-c7b8b68b1456/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20190916202348-b4ddaad3f8a3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20191001151750-bb3f8db39f24/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20191204072324-ce4227a45e2e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20191220142924-d4481acd189f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20191228213918-04cbcbbfeed8/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20200113162924-86b910548bc1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20200116001909-b77594299b42/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20200122134326-e047566fdf82/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20200202164722-d101bd2416d5/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20200212091648-12a6c2dcc1e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20200302150141-5c8b2ff67527/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20200331124033-c3d80250170d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20200501052902-10377860bb8e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20200511232937-7e40ca221e25/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20200515095857-1151b9dac4a9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20200523222454-059865788121/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20200803210538-64077c9b5642/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20200905004654-be1d3432aa8f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20201201145000-ef89a241ccb3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20210104204734-6f8348627aad/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20210119212857-b64e53b001e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20210220050731-9a76102bfb43/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20210225134936-a50acf3fe073/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20210304124612-50617c2ba197/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20210305230114-8fe3ee5dd75b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20210315160823-c6e025ad8005/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20210320140829-1e4c9ba3b0c4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20210423185535-09eb48e85fd7/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.0.0-20210514084401-e8d321eab015/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.0.0-20210603125802-9665404d3644/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.0.0-20210616094352-59db8d763f22/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.0.0-20210806184541-e5e7981a1069/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.0.0-20210816183151-1e6c022a8912/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.0.0-20210823070655-63515b42dcdf/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.0.0-20210908233432-aa78b53d3365/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.0.0-20211007075335-d3039528d8ac/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.0.0-20211019181941-9d821ace8654/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.0.0-20211124211545-fe61309f8881/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.0.0-20211210111614-af8b64212486/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.0.0-20220128215802-99c3d69c2c27/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.0.0-20220209214540-3681064d5158/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.0.0-20220227234510-4e6760a101f9/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.0.0-20220328115105-d36c6a25d886/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.0.0-20220412211240-33da011f77ad/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.0.0-20220502124256-b6088ccd6cba/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.0.0-20220503163025-988cb79eb6c6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.0.0-20220610221304-9f5ed59c137d/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.0.0-20220615213510-4f61da869c0c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.0.0-20220624220833-87e55d714810/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.0.0-20220728004956-3c1f35247d10/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.0.0-20220825204002-c680a09ffe64/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.0.0-20220829200755-d48e67d00261/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.2.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.3.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.4.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.7.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.10.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.11.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.12.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.14.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
+golang.org/x/sys v0.15.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
+golang.org/x/sys v0.16.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
golang.org/x/sys v0.17.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
golang.org/x/sys v0.20.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
+golang.org/x/sys v0.21.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
+golang.org/x/sys v0.22.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
+golang.org/x/sys v0.23.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
+golang.org/x/sys v0.24.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
+golang.org/x/sys v0.26.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
golang.org/x/sys v0.28.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
-golang.org/x/sys v0.32.0 h1:s77OFDvIQeibCmezSnk/q6iAfkdiQaJi4VzroCFrN20=
-golang.org/x/sys v0.32.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k=
+golang.org/x/sys v0.29.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
+golang.org/x/sys v0.30.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
+golang.org/x/sys v0.31.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k=
+golang.org/x/sys v0.33.0 h1:q3i8TbbEz+JRD9ywIRlyRAQbM0qF7hu24q3teo2hbuw=
+golang.org/x/sys v0.33.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k=
golang.org/x/telemetry v0.0.0-20240228155512-f48c80bd79b2/go.mod h1:TeRTkGYfJXctD9OcfyVLyj2J3IxLnKwHJR8f4D8a3YE=
+golang.org/x/telemetry v0.0.0-20240521205824-bda55230c457/go.mod h1:pRgIJT+bRLFKnoM1ldnzKoxTIn14Yxz928LQRYYgIN0=
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
+golang.org/x/term v0.1.0/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
+golang.org/x/term v0.2.0/go.mod h1:TVmDHMZPmdnySmBfhjOoOdhjzdE1h4u1VwSiw2l1Nuc=
+golang.org/x/term v0.3.0/go.mod h1:q750SLmJuPmVoN1blW3UFBPREJfb1KmY3vwxfr+nFDA=
+golang.org/x/term v0.4.0/go.mod h1:9P2UbLfCdcvo3p/nzKvsmas4TnlujnuoV9hGgYzW1lQ=
golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k=
+golang.org/x/term v0.6.0/go.mod h1:m6U89DPEgQRMq3DNkDClhWw02AUbt2daBVO4cn4Hv9U=
+golang.org/x/term v0.7.0/go.mod h1:P32HKFT3hSsZrRxla30E9HqToFYAQPCMs/zFMBUFqPY=
golang.org/x/term v0.8.0/go.mod h1:xPskH00ivmX89bAKVGSKKtLOWNx2+17Eiy94tnKShWo=
+golang.org/x/term v0.10.0/go.mod h1:lpqdcUyK/oCiQxvxVrppt5ggO2KCZ5QblwqPnfZ6d5o=
+golang.org/x/term v0.11.0/go.mod h1:zC9APTIj3jG3FdV/Ons+XE1riIZXG4aZ4GTHiPZJPIU=
golang.org/x/term v0.12.0/go.mod h1:owVbMEjm3cBLCHdkQu9b1opXd4ETQWc3BhuQGKgXgvU=
+golang.org/x/term v0.14.0/go.mod h1:TySc+nGkYR6qt8km8wUhuFRTVSMIX3XPR58y2lC8vww=
+golang.org/x/term v0.15.0/go.mod h1:BDl952bC7+uMoWR75FIrCDx79TPU9oHkTZ9yRbYOrX0=
+golang.org/x/term v0.16.0/go.mod h1:yn7UURbUtPyrVJPGPq404EukNFxcm/foM+bV/bfcDsY=
golang.org/x/term v0.17.0/go.mod h1:lLRBjIVuehSbZlaOtGMbcMncT+aqLLLmKrsjNrUguwk=
golang.org/x/term v0.20.0/go.mod h1:8UkIAJTvZgivsXaD6/pH6U9ecQzZ45awqEOzuCvwpFY=
+golang.org/x/term v0.21.0/go.mod h1:ooXLefLobQVslOqselCNF4SxFAaoS6KujMbsGzSDmX0=
+golang.org/x/term v0.22.0/go.mod h1:F3qCibpT5AMpCRfhfT53vVJwhLtIVHhB9XDjfFvnMI4=
+golang.org/x/term v0.23.0/go.mod h1:DgV24QBUrK6jhZXl+20l6UWznPlwAHm1Q1mGHtydmSk=
+golang.org/x/term v0.25.0/go.mod h1:RPyXicDX+6vLxogjjRxjgD2TKtmAO6NZBsBRfrOLu7M=
golang.org/x/term v0.27.0/go.mod h1:iMsnZpn0cago0GOrHO2+Y7u7JPn5AylBrcoWkElMTSM=
-golang.org/x/term v0.31.0 h1:erwDkOK1Msy6offm1mOgvspSkslFnIGsFnxOKoufg3o=
-golang.org/x/term v0.31.0/go.mod h1:R4BeIy7D95HzImkxGkTW1UQTtP54tio2RyHz7PwK0aw=
+golang.org/x/term v0.28.0/go.mod h1:Sw/lC2IAUZ92udQNf3WodGtn4k/XoLyZoh8v/8uiwek=
+golang.org/x/term v0.30.0/go.mod h1:NYYFdzHoI5wRh/h5tDMdMqCqPJZEuNqVR5xJLd/n67g=
+golang.org/x/term v0.32.0 h1:DR4lr0TjUs3epypdhTOkMmuF5CDFJ/8pOnbzMZPQ7bg=
+golang.org/x/term v0.32.0/go.mod h1:uZG1FhGx848Sqfsq4/DlJr3xGGsYMu/L5GW4abiaEPQ=
+golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
+golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
+golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk=
golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
+golang.org/x/text v0.3.4/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
+golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
+golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ=
+golang.org/x/text v0.3.8/go.mod h1:E6s5w1FMmriuDzIBO73fBruAKo1PCIq6d2Q6DHfQ8WQ=
+golang.org/x/text v0.4.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8=
+golang.org/x/text v0.5.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8=
+golang.org/x/text v0.6.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8=
golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8=
+golang.org/x/text v0.8.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8=
golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8=
+golang.org/x/text v0.11.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE=
+golang.org/x/text v0.12.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE=
golang.org/x/text v0.13.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE=
golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU=
golang.org/x/text v0.15.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU=
+golang.org/x/text v0.16.0/go.mod h1:GhwF1Be+LQoKShO3cGOHzqOgRrGaYc9AvblQOmPVHnI=
+golang.org/x/text v0.17.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY=
+golang.org/x/text v0.19.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY=
golang.org/x/text v0.21.0/go.mod h1:4IBbMaMmOPCJ8SecivzSH54+73PCFmPWxNTLm+vZkEQ=
-golang.org/x/text v0.24.0 h1:dd5Bzh4yt5KYA8f9CJHCP4FB4D51c2c6JvN37xJJkJ0=
-golang.org/x/text v0.24.0/go.mod h1:L8rBsPeo2pSS+xqN0d5u2ikmjtmoJbDBT1b7nHvFCdU=
+golang.org/x/text v0.22.0/go.mod h1:YRoo4H8PVmsu+E3Ou7cqLVH8oXWIHVoX0jqUWALQhfY=
+golang.org/x/text v0.23.0/go.mod h1:/BLNzu4aZCJ1+kcD0DNRotWKage4q2rGVAg4o22unh4=
+golang.org/x/text v0.25.0/go.mod h1:WEdwpYrmk1qmdHvhkSTNPm3app7v4rsT8F2UD6+VHIA=
+golang.org/x/text v0.26.0 h1:P42AVeLghgTYr4+xUnTRKDMqpar+PtX7KWuNQL21L8M=
+golang.org/x/text v0.26.0/go.mod h1:QK15LZJUUQVJxhz7wXgxSy/CJaTFjd0G+YLonydOVQA=
+golang.org/x/time v0.0.0-20180412165947-fbb02b2291d2/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
+golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
+golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
+golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
+golang.org/x/time v0.0.0-20220922220347-f3bd1da661af/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
+golang.org/x/time v0.1.0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
+golang.org/x/time v0.3.0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
golang.org/x/time v0.11.0 h1:/bpjEDfN9tkoN/ryeYHnv5hcMlc8ncjMcM4XBk5NWV0=
golang.org/x/time v0.11.0/go.mod h1:CDIdPxbZBQxdj6cxyCIdrNogrJKMJ7pr37NYpMcMDSg=
+golang.org/x/tools v0.0.0-20180221164845-07fd8470d635/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
+golang.org/x/tools v0.0.0-20180525024113-a5b4c53f6e8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
-golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
+golang.org/x/tools v0.0.0-20190206041539-40960b6deb8e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY=
golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
+golang.org/x/tools v0.0.0-20190312151545-0bb0c0a6e846/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
+golang.org/x/tools v0.0.0-20190312170243-e65039ee4138/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
+golang.org/x/tools v0.0.0-20190328211700-ab21143f2384/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
+golang.org/x/tools v0.0.0-20190425150028-36563e24a262/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q=
+golang.org/x/tools v0.0.0-20190506145303-2d16b83fe98c/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q=
golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q=
+golang.org/x/tools v0.0.0-20190606124116-d0a3d012864b/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc=
+golang.org/x/tools v0.0.0-20190621195816-6e04913cbbac/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc=
+golang.org/x/tools v0.0.0-20190628153133-6cdbf07be9d0/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc=
+golang.org/x/tools v0.0.0-20190816200558-6889da9d5479/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
+golang.org/x/tools v0.0.0-20190911174233-4f2ddba30aff/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
+golang.org/x/tools v0.0.0-20190927191325-030b2cf1153e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
+golang.org/x/tools v0.0.0-20191012152004-8de300cfc20a/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
+golang.org/x/tools v0.0.0-20191029041327-9cc4af7d6b2c/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
+golang.org/x/tools v0.0.0-20191029190741-b9c20aec41a5/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
+golang.org/x/tools v0.0.0-20191113191852-77e3bb0ad9e7/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
+golang.org/x/tools v0.0.0-20191115202509-3a792d9c32b2/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
+golang.org/x/tools v0.0.0-20191125144606-a911d9008d1f/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
+golang.org/x/tools v0.0.0-20191130070609-6e064ea0cf2d/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
+golang.org/x/tools v0.0.0-20191216173652-a0e659d51361/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
+golang.org/x/tools v0.0.0-20191227053925-7b8e75db28f4/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
+golang.org/x/tools v0.0.0-20200103221440-774c71fcf114/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
+golang.org/x/tools v0.0.0-20200117012304-6edc0a871e69/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
+golang.org/x/tools v0.0.0-20200117161641-43d50277825c/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
+golang.org/x/tools v0.0.0-20200122220014-bf1340f18c4a/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
+golang.org/x/tools v0.0.0-20200130002326-2f3ba24bd6e7/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
+golang.org/x/tools v0.0.0-20200204074204-1cc6d1ef6c74/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
+golang.org/x/tools v0.0.0-20200207183749-b753a1ba74fa/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
+golang.org/x/tools v0.0.0-20200212150539-ea181f53ac56/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
+golang.org/x/tools v0.0.0-20200224181240-023911ca70b2/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
+golang.org/x/tools v0.0.0-20200227222343-706bc42d1f0d/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
+golang.org/x/tools v0.0.0-20200304193943-95d2e580d8eb/go.mod h1:o4KQGtdN14AW+yjsvvwRTJJuXz8XRtIHtEnmAXLyFUw=
+golang.org/x/tools v0.0.0-20200312045724-11d5b4c81c7d/go.mod h1:o4KQGtdN14AW+yjsvvwRTJJuXz8XRtIHtEnmAXLyFUw=
+golang.org/x/tools v0.0.0-20200331025713-a30bf2db82d4/go.mod h1:Sl4aGygMT6LrqrWclx+PTx3U+LnKx/seiNR+3G19Ar8=
+golang.org/x/tools v0.0.0-20200501065659-ab2804fb9c9d/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE=
+golang.org/x/tools v0.0.0-20200512131952-2bc93b1c0c88/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE=
+golang.org/x/tools v0.0.0-20200515010526-7d3b6ebf133d/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE=
+golang.org/x/tools v0.0.0-20200618134242-20370b0cb4b2/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE=
golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE=
+golang.org/x/tools v0.0.0-20200729194436-6467de6f59a7/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA=
+golang.org/x/tools v0.0.0-20200804011535-6c149bb5ef0d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA=
+golang.org/x/tools v0.0.0-20200825202427-b303f430e36d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA=
+golang.org/x/tools v0.0.0-20200904185747-39188db58858/go.mod h1:Cj7w3i3Rnn0Xh82ur9kSqwfTHTeVxaDqrfMjpcNT6bE=
+golang.org/x/tools v0.0.0-20201110124207-079ba7bd75cd/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA=
+golang.org/x/tools v0.0.0-20201124115921-2c860bdd6e78/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA=
+golang.org/x/tools v0.0.0-20201201161351-ac6f37ff4c2a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA=
+golang.org/x/tools v0.0.0-20201208233053-a543418bbed2/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA=
+golang.org/x/tools v0.0.0-20210105154028-b0ab187a4818/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA=
golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA=
+golang.org/x/tools v0.0.0-20210108195828-e2f9c7f1fc8e/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA=
+golang.org/x/tools v0.1.0/go.mod h1:xkSsbof2nBLbhDlRMhhhyNLN/zl3eTqcnHD5viDpcZ0=
+golang.org/x/tools v0.1.1/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk=
+golang.org/x/tools v0.1.2/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk=
+golang.org/x/tools v0.1.3/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk=
+golang.org/x/tools v0.1.4/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk=
+golang.org/x/tools v0.1.5/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk=
+golang.org/x/tools v0.1.9/go.mod h1:nABZi5QlRsZVlzPpHl034qft6wpY4eDcsTt5AaioBiU=
golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc=
+golang.org/x/tools v0.2.0/go.mod h1:y4OqIKeOV/fWJetJ8bXPU1sEVniLMIyDAZWeHdV+NTA=
+golang.org/x/tools v0.3.0/go.mod h1:/rWhSS2+zyEVwoJf8YAX6L2f0ntZ7Kn/mGgAWcipA5k=
golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU=
+golang.org/x/tools v0.7.0/go.mod h1:4pg6aUX35JBAogB10C9AtvVL+qowtN4pT3CGSQex14s=
+golang.org/x/tools v0.9.1/go.mod h1:owI94Op576fPu3cIGQeHs3joujW/2Oc6MtlxbF5dfNc=
+golang.org/x/tools v0.11.0/go.mod h1:anzJrxPjNtfgiYQYirP2CPGzGLxrH2u2QBhn6Bf3qY8=
golang.org/x/tools v0.13.0/go.mod h1:HvlwmtVNQAhOuCjW7xxvovg8wbNq7LwfXh/k7wXUl58=
+golang.org/x/tools v0.15.0/go.mod h1:hpksKq4dtpQWS1uQ61JkdqWM3LscIS6Slf+VVkm+wQk=
+golang.org/x/tools v0.16.0/go.mod h1:kYVVN6I1mBNoB1OX+noeBjbRk4IUEPa7JJ+TJMEooJ0=
golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d/go.mod h1:aiJjzUbINMkxbQROHiO6hDPo2LHcIPhhQsa9DLh0yGk=
-golang.org/x/tools v0.32.0 h1:Q7N1vhpkQv7ybVzLFtTjvQya2ewbwNDZzUgfXGqtMWU=
-golang.org/x/tools v0.32.0/go.mod h1:ZxrU41P/wAbZD8EDa6dDCa6XfpkhJ7HFMjHJXfBDu8s=
+golang.org/x/tools v0.22.0/go.mod h1:aCwcsjqvq7Yqt6TNyX7QMU2enbQ/Gt0bo6krSeEri+c=
+golang.org/x/tools v0.26.0/go.mod h1:TPVVj70c7JJ3WCazhD8OdXcZg/og+b9+tH/KxylGwH0=
+golang.org/x/tools v0.33.0 h1:4qz2S3zmRxbGIhDIAgjxvFutSvH5EfnsYrRBj0UI0bc=
+golang.org/x/tools v0.33.0/go.mod h1:CIJMaWEY88juyUfo7UbgPqbC8rU2OqfAV1h2Qp0oMYI=
golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
-google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM=
+golang.org/x/xerrors v0.0.0-20220411194840-2f41105eb62f/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
+golang.org/x/xerrors v0.0.0-20220517211312-f3a8303e98df/go.mod h1:K8+ghG5WaK9qNqU5K3HdILfMLy1f3aNYFI/wnl100a8=
+golang.org/x/xerrors v0.0.0-20220609144429-65e65417b02f/go.mod h1:K8+ghG5WaK9qNqU5K3HdILfMLy1f3aNYFI/wnl100a8=
+golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2/go.mod h1:K8+ghG5WaK9qNqU5K3HdILfMLy1f3aNYFI/wnl100a8=
+gonum.org/v1/gonum v0.0.0-20180816165407-929014505bf4/go.mod h1:Y+Yx5eoAFn32cQvJDxZx5Dpnq+c3wtXuadVZAcxbbBo=
+gonum.org/v1/gonum v0.8.2/go.mod h1:oe/vMfY3deqTw+1EZJhuvEW2iwGF1bW9wwu7XCu0+v0=
+gonum.org/v1/gonum v0.9.3/go.mod h1:TZumC3NeyVQskjXqmyWt4S3bINhy7B4eYwW69EbyX+0=
+gonum.org/v1/gonum v0.11.0/go.mod h1:fSG4YDCxxUZQJ7rKsQrj0gMOg00Il0Z96/qMA4bVQhA=
+gonum.org/v1/gonum v0.14.0/go.mod h1:AoWeoz0becf9QMWtE8iWXNXc27fK4fNeHNf/oMejGfU=
+gonum.org/v1/gonum v0.15.1/go.mod h1:eZTZuRFrzu5pcyjN5wJhcIhnUdNijYxX1T2IcrOGY0o=
+gonum.org/v1/gonum v0.16.0 h1:5+ul4Swaf3ESvrOnidPp4GZbzf0mxVQpDCYUQE7OJfk=
+gonum.org/v1/gonum v0.16.0/go.mod h1:fef3am4MQ93R2HHpKnLk4/Tbh/s0+wqD5nfa6Pnwy4E=
+gonum.org/v1/netlib v0.0.0-20190313105609-8cb42192e0e0/go.mod h1:wa6Ws7BG/ESfp6dHfk7C6KdzKA7wR7u/rKwOGE66zvw=
+gonum.org/v1/plot v0.0.0-20190515093506-e2840ee46a6b/go.mod h1:Wt8AAjI+ypCyYX3nZBvf6cAIx93T+c/OS2HFAYskSZc=
+gonum.org/v1/plot v0.9.0/go.mod h1:3Pcqqmp6RHvJI72kgb8fThyUnav364FOsdDo2aGW5lY=
+gonum.org/v1/plot v0.10.1/go.mod h1:VZW5OlhkL1mysU9vaqNHnsy86inf6Ot+jB3r+BczCEo=
+gonum.org/v1/plot v0.14.0/go.mod h1:MLdR9424SJed+5VqC6MsouEpig9pZX2VZ57H9ko2bXU=
+gonum.org/v1/plot v0.15.2/go.mod h1:DX+x+DWso3LTha+AdkJEv5Txvi+Tql3KAGkehP0/Ubg=
+google.golang.org/api v0.3.1/go.mod h1:6wY9I6uQWHQ8EM57III9mq/AjF+i8G65rmVagqKMtkk=
+google.golang.org/api v0.4.0/go.mod h1:8k5glujaEP+g9n7WNsDg8QP6cUVNI86fCNMcbazEtwE=
+google.golang.org/api v0.7.0/go.mod h1:WtwebWUNSVBH/HAw79HIFXZNqEvBhG+Ra+ax0hx3E3M=
+google.golang.org/api v0.8.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg=
+google.golang.org/api v0.9.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg=
+google.golang.org/api v0.13.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI=
+google.golang.org/api v0.14.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI=
+google.golang.org/api v0.15.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI=
+google.golang.org/api v0.17.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE=
+google.golang.org/api v0.18.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE=
+google.golang.org/api v0.19.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE=
+google.golang.org/api v0.20.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE=
+google.golang.org/api v0.22.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE=
+google.golang.org/api v0.24.0/go.mod h1:lIXQywCXRcnZPGlsd8NbLnOjtAoL6em04bJ9+z0MncE=
+google.golang.org/api v0.28.0/go.mod h1:lIXQywCXRcnZPGlsd8NbLnOjtAoL6em04bJ9+z0MncE=
+google.golang.org/api v0.29.0/go.mod h1:Lcubydp8VUV7KeIHD9z2Bys/sm/vGKnG1UHuDBSrHWM=
+google.golang.org/api v0.30.0/go.mod h1:QGmEvQ87FHZNiUVJkT14jQNYJ4ZJjdRF23ZXz5138Fc=
+google.golang.org/api v0.35.0/go.mod h1:/XrVsuzM0rZmrsbjJutiuftIzeuTQcEeaYcSk/mQ1dg=
+google.golang.org/api v0.36.0/go.mod h1:+z5ficQTmoYpPn8LCUNVpK5I7hwkpjbcgqA7I34qYtE=
+google.golang.org/api v0.40.0/go.mod h1:fYKFpnQN0DsDSKRVRcQSDQNtqWPfM9i+zNPxepjRCQ8=
+google.golang.org/api v0.41.0/go.mod h1:RkxM5lITDfTzmyKFPt+wGrCJbVfniCr2ool8kTBzRTU=
+google.golang.org/api v0.43.0/go.mod h1:nQsDGjRXMo4lvh5hP0TKqF244gqhGcr/YSIykhUk/94=
+google.golang.org/api v0.47.0/go.mod h1:Wbvgpq1HddcWVtzsVLyfLp8lDg6AA241LmgIL59tHXo=
+google.golang.org/api v0.48.0/go.mod h1:71Pr1vy+TAZRPkPs/xlCf5SsU8WjuAWv1Pfjbtukyy4=
+google.golang.org/api v0.50.0/go.mod h1:4bNT5pAuq5ji4SRZm+5QIkjny9JAyVD/3gaSihNefaw=
+google.golang.org/api v0.51.0/go.mod h1:t4HdrdoNgyN5cbEfm7Lum0lcLDLiise1F8qDKX00sOU=
+google.golang.org/api v0.54.0/go.mod h1:7C4bFFOvVDGXjfDTAsgGwDgAxRDeQ4X8NvUedIt6z3k=
+google.golang.org/api v0.55.0/go.mod h1:38yMfeP1kfjsl8isn0tliTjIb1rJXcQi4UXlbqivdVE=
+google.golang.org/api v0.56.0/go.mod h1:38yMfeP1kfjsl8isn0tliTjIb1rJXcQi4UXlbqivdVE=
+google.golang.org/api v0.57.0/go.mod h1:dVPlbZyBo2/OjBpmvNdpn2GRm6rPy75jyU7bmhdrMgI=
+google.golang.org/api v0.61.0/go.mod h1:xQRti5UdCmoCEqFxcz93fTl338AVqDgyaDRuOZ3hg9I=
+google.golang.org/api v0.63.0/go.mod h1:gs4ij2ffTRXwuzzgJl/56BdwJaA194ijkfn++9tDuPo=
+google.golang.org/api v0.67.0/go.mod h1:ShHKP8E60yPsKNw/w8w+VYaj9H6buA5UqDp8dhbQZ6g=
+google.golang.org/api v0.70.0/go.mod h1:Bs4ZM2HGifEvXwd50TtW70ovgJffJYw2oRCOFU/SkfA=
+google.golang.org/api v0.71.0/go.mod h1:4PyU6e6JogV1f9eA4voyrTY2batOLdgZ5qZ5HOCc4j8=
+google.golang.org/api v0.74.0/go.mod h1:ZpfMZOVRMywNyvJFeqL9HRWBgAuRfSjJFpe9QtRRyDs=
+google.golang.org/api v0.75.0/go.mod h1:pU9QmyHLnzlpar1Mjt4IbapUCy8J+6HD6GeELN69ljA=
+google.golang.org/api v0.77.0/go.mod h1:pU9QmyHLnzlpar1Mjt4IbapUCy8J+6HD6GeELN69ljA=
+google.golang.org/api v0.78.0/go.mod h1:1Sg78yoMLOhlQTeF+ARBoytAcH1NNyyl390YMy6rKmw=
+google.golang.org/api v0.80.0/go.mod h1:xY3nI94gbvBrE0J6NHXhxOmW97HG7Khjkku6AFB3Hyg=
+google.golang.org/api v0.84.0/go.mod h1:NTsGnUFJMYROtiquksZHBWtHfeMC7iYthki7Eq3pa8o=
+google.golang.org/api v0.85.0/go.mod h1:AqZf8Ep9uZ2pyTvgL+x0D3Zt0eoT9b5E8fmzfu6FO2g=
+google.golang.org/api v0.90.0/go.mod h1:+Sem1dnrKlrXMR/X0bPnMWyluQe4RsNoYfmNLhOIkzw=
+google.golang.org/api v0.93.0/go.mod h1:+Sem1dnrKlrXMR/X0bPnMWyluQe4RsNoYfmNLhOIkzw=
+google.golang.org/api v0.95.0/go.mod h1:eADj+UBuxkh5zlrSntJghuNeg8HwQ1w5lTKkuqaETEI=
+google.golang.org/api v0.96.0/go.mod h1:w7wJQLTM+wvQpNf5JyEcBoxK0RH7EDrh/L4qfsuJ13s=
+google.golang.org/api v0.97.0/go.mod h1:w7wJQLTM+wvQpNf5JyEcBoxK0RH7EDrh/L4qfsuJ13s=
+google.golang.org/api v0.98.0/go.mod h1:w7wJQLTM+wvQpNf5JyEcBoxK0RH7EDrh/L4qfsuJ13s=
+google.golang.org/api v0.99.0/go.mod h1:1YOf74vkVndF7pG6hIHuINsM7eWwpVTAfNMNiL91A08=
+google.golang.org/api v0.100.0/go.mod h1:ZE3Z2+ZOr87Rx7dqFsdRQkRBk36kDtp/h+QpHbB7a70=
+google.golang.org/api v0.102.0/go.mod h1:3VFl6/fzoA+qNuS1N1/VfXY4LjoXN/wzeIp7TweWwGo=
+google.golang.org/api v0.103.0/go.mod h1:hGtW6nK1AC+d9si/UBhw8Xli+QMOf6xyNAyJw4qU9w0=
+google.golang.org/api v0.106.0/go.mod h1:2Ts0XTHNVWxypznxWOYUeI4g3WdP9Pk2Qk58+a/O9MY=
+google.golang.org/api v0.107.0/go.mod h1:2Ts0XTHNVWxypznxWOYUeI4g3WdP9Pk2Qk58+a/O9MY=
+google.golang.org/api v0.108.0/go.mod h1:2Ts0XTHNVWxypznxWOYUeI4g3WdP9Pk2Qk58+a/O9MY=
+google.golang.org/api v0.110.0/go.mod h1:7FC4Vvx1Mooxh8C5HWjzZHcavuS2f6pmJpZx60ca7iI=
+google.golang.org/api v0.111.0/go.mod h1:qtFHvU9mhgTJegR31csQ+rwxyUTHOKFqCKWp1J0fdw0=
+google.golang.org/api v0.114.0/go.mod h1:ifYI2ZsFK6/uGddGfAD5BMxlnkBqCmqHSDUVi45N5Yg=
+google.golang.org/api v0.118.0/go.mod h1:76TtD3vkgmZ66zZzp72bUUklpmQmKlhh6sYtIjYK+5E=
+google.golang.org/api v0.122.0/go.mod h1:gcitW0lvnyWjSp9nKxAbdHKIZ6vF4aajGueeslZOyms=
+google.golang.org/api v0.124.0/go.mod h1:xu2HQurE5gi/3t1aFCvhPD781p0a3p11sdunTJ2BlP4=
+google.golang.org/api v0.125.0/go.mod h1:mBwVAtz+87bEN6CbA1GtZPDOqY2R5ONPqJeIlvyo4Aw=
+google.golang.org/api v0.126.0/go.mod h1:mBwVAtz+87bEN6CbA1GtZPDOqY2R5ONPqJeIlvyo4Aw=
+google.golang.org/appengine v1.2.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4=
google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4=
+google.golang.org/appengine v1.5.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4=
+google.golang.org/appengine v1.6.1/go.mod h1:i06prIuMbXzDqacNJfV5OdTW448YApPu5ww/cMBSeb0=
+google.golang.org/appengine v1.6.5/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc=
+google.golang.org/appengine v1.6.6/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc=
+google.golang.org/appengine v1.6.7/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc=
google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc=
+google.golang.org/genproto v0.0.0-20190307195333-5fe7a883aa19/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE=
+google.golang.org/genproto v0.0.0-20190418145605-e7d98fc518a7/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE=
+google.golang.org/genproto v0.0.0-20190425155659-357c62f0e4bb/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE=
+google.golang.org/genproto v0.0.0-20190502173448-54afdca5d873/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE=
+google.golang.org/genproto v0.0.0-20190530194941-fb225487d101/go.mod h1:z3L6/3dTEVtUr6QSP8miRzeRqwQOioJ9I66odjN4I7s=
+google.golang.org/genproto v0.0.0-20190801165951-fa694d86fc64/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc=
google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc=
+google.golang.org/genproto v0.0.0-20190911173649-1774047e7e51/go.mod h1:IbNlFCBrqXvoKpeg0TB2l7cyZUmoaFKYIwrEpbDKLA8=
+google.golang.org/genproto v0.0.0-20191108220845-16a3f7862a1a/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc=
+google.golang.org/genproto v0.0.0-20191115194625-c23dd37a84c9/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc=
+google.golang.org/genproto v0.0.0-20191216164720-4f79533eabd1/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc=
+google.golang.org/genproto v0.0.0-20191230161307-f3c370f40bfb/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc=
+google.golang.org/genproto v0.0.0-20200115191322-ca5a22157cba/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc=
+google.golang.org/genproto v0.0.0-20200122232147-0452cf42e150/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc=
+google.golang.org/genproto v0.0.0-20200204135345-fa8e72b47b90/go.mod h1:GmwEX6Z4W5gMy59cAlVYjN9JhxgbQH6Gn+gFDQe2lzA=
+google.golang.org/genproto v0.0.0-20200212174721-66ed5ce911ce/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c=
+google.golang.org/genproto v0.0.0-20200224152610-e50cd9704f63/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c=
+google.golang.org/genproto v0.0.0-20200228133532-8c2c7df3a383/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c=
+google.golang.org/genproto v0.0.0-20200305110556-506484158171/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c=
+google.golang.org/genproto v0.0.0-20200312145019-da6875a35672/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c=
+google.golang.org/genproto v0.0.0-20200331122359-1ee6d9798940/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c=
+google.golang.org/genproto v0.0.0-20200430143042-b979b6f78d84/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c=
+google.golang.org/genproto v0.0.0-20200511104702-f5ebc3bea380/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c=
+google.golang.org/genproto v0.0.0-20200513103714-09dca8ec2884/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c=
+google.golang.org/genproto v0.0.0-20200515170657-fc4c6c6a6587/go.mod h1:YsZOwe1myG/8QRHRsmBRE1LrgQY60beZKjly0O1fX9U=
google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo=
-google.golang.org/genproto/googleapis/api v0.0.0-20250303144028-a0af3efb3deb h1:p31xT4yrYrSM/G4Sn2+TNUkVhFCbG9y8itM2S6Th950=
-google.golang.org/genproto/googleapis/api v0.0.0-20250303144028-a0af3efb3deb/go.mod h1:jbe3Bkdp+Dh2IrslsFCklNhweNTBgSYanP1UXhJDhKg=
-google.golang.org/genproto/googleapis/rpc v0.0.0-20250313205543-e70fdf4c4cb4 h1:iK2jbkWL86DXjEx0qiHcRE9dE4/Ahua5k6V8OWFb//c=
-google.golang.org/genproto/googleapis/rpc v0.0.0-20250313205543-e70fdf4c4cb4/go.mod h1:LuRYeWDFV6WOn90g357N17oMCaxpgCnbi/44qJvDn2I=
-google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c=
-google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg=
-google.golang.org/grpc v1.25.1/go.mod h1:c3i+UQWmh7LiEpx4sFZnkU36qjEYZ0imhYfXVyQciAY=
-google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk=
-google.golang.org/grpc v1.33.2/go.mod h1:JMHMWHQWaTccqQQlmk3MJZS+GWXOdAesneDmEnv2fbc=
-google.golang.org/grpc v1.71.0 h1:kF77BGdPTQ4/JZWMlb9VpJ5pa25aqvVqogsxNHHdeBg=
-google.golang.org/grpc v1.71.0/go.mod h1:H0GRtasmQOh9LkFoCPDu3ZrwUtD1YGE+b2vYBYd/8Ec=
+google.golang.org/genproto v0.0.0-20200618031413-b414f8b61790/go.mod h1:jDfRM7FcilCzHH/e9qn6dsT145K34l5v+OpcnNgKAAA=
+google.golang.org/genproto v0.0.0-20200729003335-053ba62fc06f/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
+google.golang.org/genproto v0.0.0-20200804131852-c06518451d9c/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
+google.golang.org/genproto v0.0.0-20200825200019-8632dd797987/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
+google.golang.org/genproto v0.0.0-20200904004341-0bd0a958aa1d/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
+google.golang.org/genproto v0.0.0-20201109203340-2640f1f9cdfb/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
+google.golang.org/genproto v0.0.0-20201201144952-b05cb90ed32e/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
+google.golang.org/genproto v0.0.0-20201210142538-e3217bee35cc/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
+google.golang.org/genproto v0.0.0-20201214200347-8c77b98c765d/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
+google.golang.org/genproto v0.0.0-20210108203827-ffc7fda8c3d7/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
+google.golang.org/genproto v0.0.0-20210222152913-aa3ee6e6a81c/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
+google.golang.org/genproto v0.0.0-20210226172003-ab064af71705/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
+google.golang.org/genproto v0.0.0-20210303154014-9728d6b83eeb/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
+google.golang.org/genproto v0.0.0-20210310155132-4ce2db91004e/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
+google.golang.org/genproto v0.0.0-20210319143718-93e7006c17a6/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
+google.golang.org/genproto v0.0.0-20210329143202-679c6ae281ee/go.mod h1:9lPAdzaEmUacj36I+k7YKbEc5CXzPIeORRgDAUOu28A=
+google.golang.org/genproto v0.0.0-20210402141018-6c239bbf2bb1/go.mod h1:9lPAdzaEmUacj36I+k7YKbEc5CXzPIeORRgDAUOu28A=
+google.golang.org/genproto v0.0.0-20210513213006-bf773b8c8384/go.mod h1:P3QM42oQyzQSnHPnZ/vqoCdDmzH28fzWByN9asMeM8A=
+google.golang.org/genproto v0.0.0-20210602131652-f16073e35f0c/go.mod h1:UODoCrxHCcBojKKwX1terBiRUaqAsFqJiF615XL43r0=
+google.golang.org/genproto v0.0.0-20210604141403-392c879c8b08/go.mod h1:UODoCrxHCcBojKKwX1terBiRUaqAsFqJiF615XL43r0=
+google.golang.org/genproto v0.0.0-20210608205507-b6d2f5bf0d7d/go.mod h1:UODoCrxHCcBojKKwX1terBiRUaqAsFqJiF615XL43r0=
+google.golang.org/genproto v0.0.0-20210624195500-8bfb893ecb84/go.mod h1:SzzZ/N+nwJDaO1kznhnlzqS8ocJICar6hYhVyhi++24=
+google.golang.org/genproto v0.0.0-20210713002101-d411969a0d9a/go.mod h1:AxrInvYm1dci+enl5hChSFPOmmUF1+uAa/UsgNRWd7k=
+google.golang.org/genproto v0.0.0-20210716133855-ce7ef5c701ea/go.mod h1:AxrInvYm1dci+enl5hChSFPOmmUF1+uAa/UsgNRWd7k=
+google.golang.org/genproto v0.0.0-20210728212813-7823e685a01f/go.mod h1:ob2IJxKrgPT52GcgX759i1sleT07tiKowYBGbczaW48=
+google.golang.org/genproto v0.0.0-20210805201207-89edb61ffb67/go.mod h1:ob2IJxKrgPT52GcgX759i1sleT07tiKowYBGbczaW48=
+google.golang.org/genproto v0.0.0-20210813162853-db860fec028c/go.mod h1:cFeNkxwySK631ADgubI+/XFU/xp8FD5KIVV4rj8UC5w=
+google.golang.org/genproto v0.0.0-20210821163610-241b8fcbd6c8/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY=
+google.golang.org/genproto v0.0.0-20210828152312-66f60bf46e71/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY=
+google.golang.org/genproto v0.0.0-20210831024726-fe130286e0e2/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY=
+google.golang.org/genproto v0.0.0-20210903162649-d08c68adba83/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY=
+google.golang.org/genproto v0.0.0-20210909211513-a8c4777a87af/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY=
+google.golang.org/genproto v0.0.0-20210924002016-3dee208752a0/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc=
+google.golang.org/genproto v0.0.0-20211118181313-81c1377c94b1/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc=
+google.golang.org/genproto v0.0.0-20211206160659-862468c7d6e0/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc=
+google.golang.org/genproto v0.0.0-20211208223120-3a66f561d7aa/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc=
+google.golang.org/genproto v0.0.0-20211221195035-429b39de9b1c/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc=
+google.golang.org/genproto v0.0.0-20220126215142-9970aeb2e350/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc=
+google.golang.org/genproto v0.0.0-20220207164111-0872dc986b00/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc=
+google.golang.org/genproto v0.0.0-20220218161850-94dd64e39d7c/go.mod h1:kGP+zUP2Ddo0ayMi4YuN7C3WZyJvGLZRh8Z5wnAqvEI=
+google.golang.org/genproto v0.0.0-20220222213610-43724f9ea8cf/go.mod h1:kGP+zUP2Ddo0ayMi4YuN7C3WZyJvGLZRh8Z5wnAqvEI=
+google.golang.org/genproto v0.0.0-20220304144024-325a89244dc8/go.mod h1:kGP+zUP2Ddo0ayMi4YuN7C3WZyJvGLZRh8Z5wnAqvEI=
+google.golang.org/genproto v0.0.0-20220310185008-1973136f34c6/go.mod h1:kGP+zUP2Ddo0ayMi4YuN7C3WZyJvGLZRh8Z5wnAqvEI=
+google.golang.org/genproto v0.0.0-20220324131243-acbaeb5b85eb/go.mod h1:hAL49I2IFola2sVEjAn7MEwsja0xp51I0tlGAf9hz4E=
+google.golang.org/genproto v0.0.0-20220329172620-7be39ac1afc7/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo=
+google.golang.org/genproto v0.0.0-20220407144326-9054f6ed7bac/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo=
+google.golang.org/genproto v0.0.0-20220413183235-5e96e2839df9/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo=
+google.golang.org/genproto v0.0.0-20220414192740-2d67ff6cf2b4/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo=
+google.golang.org/genproto v0.0.0-20220421151946-72621c1f0bd3/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo=
+google.golang.org/genproto v0.0.0-20220429170224-98d788798c3e/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo=
+google.golang.org/genproto v0.0.0-20220502173005-c8bf987b8c21/go.mod h1:RAyBrSAP7Fh3Nc84ghnVLDPuV51xc9agzmm4Ph6i0Q4=
+google.golang.org/genproto v0.0.0-20220505152158-f39f71e6c8f3/go.mod h1:RAyBrSAP7Fh3Nc84ghnVLDPuV51xc9agzmm4Ph6i0Q4=
+google.golang.org/genproto v0.0.0-20220518221133-4f43b3371335/go.mod h1:RAyBrSAP7Fh3Nc84ghnVLDPuV51xc9agzmm4Ph6i0Q4=
+google.golang.org/genproto v0.0.0-20220523171625-347a074981d8/go.mod h1:RAyBrSAP7Fh3Nc84ghnVLDPuV51xc9agzmm4Ph6i0Q4=
+google.golang.org/genproto v0.0.0-20220608133413-ed9918b62aac/go.mod h1:KEWEmljWE5zPzLBa/oHl6DaEt9LmfH6WtH1OHIvleBA=
+google.golang.org/genproto v0.0.0-20220616135557-88e70c0c3a90/go.mod h1:KEWEmljWE5zPzLBa/oHl6DaEt9LmfH6WtH1OHIvleBA=
+google.golang.org/genproto v0.0.0-20220617124728-180714bec0ad/go.mod h1:KEWEmljWE5zPzLBa/oHl6DaEt9LmfH6WtH1OHIvleBA=
+google.golang.org/genproto v0.0.0-20220624142145-8cd45d7dbd1f/go.mod h1:KEWEmljWE5zPzLBa/oHl6DaEt9LmfH6WtH1OHIvleBA=
+google.golang.org/genproto v0.0.0-20220628213854-d9e0b6570c03/go.mod h1:KEWEmljWE5zPzLBa/oHl6DaEt9LmfH6WtH1OHIvleBA=
+google.golang.org/genproto v0.0.0-20220722212130-b98a9ff5e252/go.mod h1:GkXuJDJ6aQ7lnJcRF+SJVgFdQhypqgl3LB1C9vabdRE=
+google.golang.org/genproto v0.0.0-20220801145646-83ce21fca29f/go.mod h1:iHe1svFLAZg9VWz891+QbRMwUv9O/1Ww+/mngYeThbc=
+google.golang.org/genproto v0.0.0-20220815135757-37a418bb8959/go.mod h1:dbqgFATTzChvnt+ujMdZwITVAJHFtfyN1qUhDqEiIlk=
+google.golang.org/genproto v0.0.0-20220817144833-d7fd3f11b9b1/go.mod h1:dbqgFATTzChvnt+ujMdZwITVAJHFtfyN1qUhDqEiIlk=
+google.golang.org/genproto v0.0.0-20220822174746-9e6da59bd2fc/go.mod h1:dbqgFATTzChvnt+ujMdZwITVAJHFtfyN1qUhDqEiIlk=
+google.golang.org/genproto v0.0.0-20220829144015-23454907ede3/go.mod h1:dbqgFATTzChvnt+ujMdZwITVAJHFtfyN1qUhDqEiIlk=
+google.golang.org/genproto v0.0.0-20220829175752-36a9c930ecbf/go.mod h1:dbqgFATTzChvnt+ujMdZwITVAJHFtfyN1qUhDqEiIlk=
+google.golang.org/genproto v0.0.0-20220913154956-18f8339a66a5/go.mod h1:0Nb8Qy+Sk5eDzHnzlStwW3itdNaWoZA5XeSG+R3JHSo=
+google.golang.org/genproto v0.0.0-20220914142337-ca0e39ece12f/go.mod h1:0Nb8Qy+Sk5eDzHnzlStwW3itdNaWoZA5XeSG+R3JHSo=
+google.golang.org/genproto v0.0.0-20220915135415-7fd63a7952de/go.mod h1:0Nb8Qy+Sk5eDzHnzlStwW3itdNaWoZA5XeSG+R3JHSo=
+google.golang.org/genproto v0.0.0-20220916172020-2692e8806bfa/go.mod h1:0Nb8Qy+Sk5eDzHnzlStwW3itdNaWoZA5XeSG+R3JHSo=
+google.golang.org/genproto v0.0.0-20220919141832-68c03719ef51/go.mod h1:0Nb8Qy+Sk5eDzHnzlStwW3itdNaWoZA5XeSG+R3JHSo=
+google.golang.org/genproto v0.0.0-20220920201722-2b89144ce006/go.mod h1:ht8XFiar2npT/g4vkk7O0WYS1sHOHbdujxbEp7CJWbw=
+google.golang.org/genproto v0.0.0-20220926165614-551eb538f295/go.mod h1:woMGP53BroOrRY3xTxlbr8Y3eB/nzAvvFM83q7kG2OI=
+google.golang.org/genproto v0.0.0-20220926220553-6981cbe3cfce/go.mod h1:woMGP53BroOrRY3xTxlbr8Y3eB/nzAvvFM83q7kG2OI=
+google.golang.org/genproto v0.0.0-20221010155953-15ba04fc1c0e/go.mod h1:3526vdqwhZAwq4wsRUaVG555sVgsNmIjRtO7t/JH29U=
+google.golang.org/genproto v0.0.0-20221014173430-6e2ab493f96b/go.mod h1:1vXfmgAz9N9Jx0QA82PqRVauvCz1SGSz739p0f183jM=
+google.golang.org/genproto v0.0.0-20221014213838-99cd37c6964a/go.mod h1:1vXfmgAz9N9Jx0QA82PqRVauvCz1SGSz739p0f183jM=
+google.golang.org/genproto v0.0.0-20221024153911-1573dae28c9c/go.mod h1:9qHF0xnpdSfF6knlcsnpzUu5y+rpwgbvsyGAZPBMg4s=
+google.golang.org/genproto v0.0.0-20221024183307-1bc688fe9f3e/go.mod h1:9qHF0xnpdSfF6knlcsnpzUu5y+rpwgbvsyGAZPBMg4s=
+google.golang.org/genproto v0.0.0-20221027153422-115e99e71e1c/go.mod h1:CGI5F/G+E5bKwmfYo09AXuVN4dD894kIKUFmVbP2/Fo=
+google.golang.org/genproto v0.0.0-20221109142239-94d6d90a7d66/go.mod h1:rZS5c/ZVYMaOGBfO68GWtjOw/eLaZM1X6iVtgjZ+EWg=
+google.golang.org/genproto v0.0.0-20221114212237-e4508ebdbee1/go.mod h1:rZS5c/ZVYMaOGBfO68GWtjOw/eLaZM1X6iVtgjZ+EWg=
+google.golang.org/genproto v0.0.0-20221117204609-8f9c96812029/go.mod h1:rZS5c/ZVYMaOGBfO68GWtjOw/eLaZM1X6iVtgjZ+EWg=
+google.golang.org/genproto v0.0.0-20221118155620-16455021b5e6/go.mod h1:rZS5c/ZVYMaOGBfO68GWtjOw/eLaZM1X6iVtgjZ+EWg=
+google.golang.org/genproto v0.0.0-20221201164419-0e50fba7f41c/go.mod h1:rZS5c/ZVYMaOGBfO68GWtjOw/eLaZM1X6iVtgjZ+EWg=
+google.golang.org/genproto v0.0.0-20221201204527-e3fa12d562f3/go.mod h1:rZS5c/ZVYMaOGBfO68GWtjOw/eLaZM1X6iVtgjZ+EWg=
+google.golang.org/genproto v0.0.0-20221202195650-67e5cbc046fd/go.mod h1:cTsE614GARnxrLsqKREzmNYJACSWWpAWdNMwnD7c2BE=
+google.golang.org/genproto v0.0.0-20221227171554-f9683d7f8bef/go.mod h1:RGgjbofJ8xD9Sq1VVhDM1Vok1vRONV+rg+CjzG4SZKM=
+google.golang.org/genproto v0.0.0-20230110181048-76db0878b65f/go.mod h1:RGgjbofJ8xD9Sq1VVhDM1Vok1vRONV+rg+CjzG4SZKM=
+google.golang.org/genproto v0.0.0-20230112194545-e10362b5ecf9/go.mod h1:RGgjbofJ8xD9Sq1VVhDM1Vok1vRONV+rg+CjzG4SZKM=
+google.golang.org/genproto v0.0.0-20230113154510-dbe35b8444a5/go.mod h1:RGgjbofJ8xD9Sq1VVhDM1Vok1vRONV+rg+CjzG4SZKM=
+google.golang.org/genproto v0.0.0-20230123190316-2c411cf9d197/go.mod h1:RGgjbofJ8xD9Sq1VVhDM1Vok1vRONV+rg+CjzG4SZKM=
+google.golang.org/genproto v0.0.0-20230124163310-31e0e69b6fc2/go.mod h1:RGgjbofJ8xD9Sq1VVhDM1Vok1vRONV+rg+CjzG4SZKM=
+google.golang.org/genproto v0.0.0-20230125152338-dcaf20b6aeaa/go.mod h1:RGgjbofJ8xD9Sq1VVhDM1Vok1vRONV+rg+CjzG4SZKM=
+google.golang.org/genproto v0.0.0-20230127162408-596548ed4efa/go.mod h1:RGgjbofJ8xD9Sq1VVhDM1Vok1vRONV+rg+CjzG4SZKM=
+google.golang.org/genproto v0.0.0-20230209215440-0dfe4f8abfcc/go.mod h1:RGgjbofJ8xD9Sq1VVhDM1Vok1vRONV+rg+CjzG4SZKM=
+google.golang.org/genproto v0.0.0-20230216225411-c8e22ba71e44/go.mod h1:8B0gmkoRebU8ukX6HP+4wrVQUY1+6PkQ44BSyIlflHA=
+google.golang.org/genproto v0.0.0-20230222225845-10f96fb3dbec/go.mod h1:3Dl5ZL0q0isWJt+FVcfpQyirqemEuLAK/iFvg1UP1Hw=
+google.golang.org/genproto v0.0.0-20230223222841-637eb2293923/go.mod h1:3Dl5ZL0q0isWJt+FVcfpQyirqemEuLAK/iFvg1UP1Hw=
+google.golang.org/genproto v0.0.0-20230303212802-e74f57abe488/go.mod h1:TvhZT5f700eVlTNwND1xoEZQeWTB2RY/65kplwl/bFA=
+google.golang.org/genproto v0.0.0-20230306155012-7f2fa6fef1f4/go.mod h1:NWraEVixdDnqcqQ30jipen1STv2r/n24Wb7twVTGR4s=
+google.golang.org/genproto v0.0.0-20230320184635-7606e756e683/go.mod h1:NWraEVixdDnqcqQ30jipen1STv2r/n24Wb7twVTGR4s=
+google.golang.org/genproto v0.0.0-20230323212658-478b75c54725/go.mod h1:UUQDJDOlWu4KYeJZffbWgBkS1YFobzKbLVfK69pe0Ak=
+google.golang.org/genproto v0.0.0-20230330154414-c0448cd141ea/go.mod h1:UUQDJDOlWu4KYeJZffbWgBkS1YFobzKbLVfK69pe0Ak=
+google.golang.org/genproto v0.0.0-20230331144136-dcfb400f0633/go.mod h1:UUQDJDOlWu4KYeJZffbWgBkS1YFobzKbLVfK69pe0Ak=
+google.golang.org/genproto v0.0.0-20230403163135-c38d8f061ccd/go.mod h1:UUQDJDOlWu4KYeJZffbWgBkS1YFobzKbLVfK69pe0Ak=
+google.golang.org/genproto v0.0.0-20230410155749-daa745c078e1/go.mod h1:nKE/iIaLqn2bQwXBg8f1g2Ylh6r5MN5CmZvuzZCgsCU=
+google.golang.org/genproto v0.0.0-20230525234025-438c736192d0/go.mod h1:9ExIQyXL5hZrHzQceCwuSYwZZ5QZBazOcprJ5rgs3lY=
+google.golang.org/genproto v0.0.0-20230526203410-71b5a4ffd15e/go.mod h1:zqTuNwFlFRsw5zIts5VnzLQxSRqh+CGOTVMlYbY0Eyk=
+google.golang.org/genproto v0.0.0-20230530153820-e85fd2cbaebc/go.mod h1:xZnkP7mREFX5MORlOPEzLMr+90PPZQ2QWzrVTWfAq64=
+google.golang.org/genproto v0.0.0-20230629202037-9506855d4529/go.mod h1:xZnkP7mREFX5MORlOPEzLMr+90PPZQ2QWzrVTWfAq64=
+google.golang.org/genproto v0.0.0-20230706204954-ccb25ca9f130/go.mod h1:O9kGHb51iE/nOGvQaDUuadVYqovW56s5emA88lQnj6Y=
+google.golang.org/genproto v0.0.0-20230726155614-23370e0ffb3e/go.mod h1:0ggbjUrZYpy1q+ANUS30SEoGZ53cdfwtbuG7Ptgy108=
+google.golang.org/genproto v0.0.0-20230803162519-f966b187b2e5/go.mod h1:oH/ZOT02u4kWEp7oYBGYFFkCdKS/uYR9Z7+0/xuuFp8=
+google.golang.org/genproto/googleapis/api v0.0.0-20230525234020-1aefcd67740a/go.mod h1:ts19tUU+Z0ZShN1y3aPyq2+O3d5FUNNgT6FtOzmrNn8=
+google.golang.org/genproto/googleapis/api v0.0.0-20230525234035-dd9d682886f9/go.mod h1:vHYtlOoi6TsQ3Uk2yxR7NI5z8uoV+3pZtR4jmHIkRig=
+google.golang.org/genproto/googleapis/api v0.0.0-20230526203410-71b5a4ffd15e/go.mod h1:vHYtlOoi6TsQ3Uk2yxR7NI5z8uoV+3pZtR4jmHIkRig=
+google.golang.org/genproto/googleapis/api v0.0.0-20230530153820-e85fd2cbaebc/go.mod h1:vHYtlOoi6TsQ3Uk2yxR7NI5z8uoV+3pZtR4jmHIkRig=
+google.golang.org/genproto/googleapis/api v0.0.0-20230629202037-9506855d4529/go.mod h1:vHYtlOoi6TsQ3Uk2yxR7NI5z8uoV+3pZtR4jmHIkRig=
+google.golang.org/genproto/googleapis/api v0.0.0-20230706204954-ccb25ca9f130/go.mod h1:mPBs5jNgx2GuQGvFwUvVKqtn6HsUw9nP64BedgvqEsQ=
+google.golang.org/genproto/googleapis/api v0.0.0-20230726155614-23370e0ffb3e/go.mod h1:rsr7RhLuwsDKL7RmgDDCUc6yaGr1iqceVb5Wv6f6YvQ=
+google.golang.org/genproto/googleapis/api v0.0.0-20230822172742-b8732ec3820d/go.mod h1:KjSP20unUpOx5kyQUFa7k4OJg0qeJ7DEZflGDu2p6Bk=
+google.golang.org/genproto/googleapis/api v0.0.0-20240814211410-ddb44dafa142/go.mod h1:d6be+8HhtEtucleCbxpPW9PA9XwISACu8nvpPqF0BVo=
+google.golang.org/genproto/googleapis/api v0.0.0-20241202173237-19429a94021a/go.mod h1:jehYqy3+AhJU9ve55aNOaSml7wUXjF9x6z2LcCfpAhY=
+google.golang.org/genproto/googleapis/api v0.0.0-20250707201910-8d1bb00bc6a7 h1:FiusG7LWj+4byqhbvmB+Q93B/mOxJLN2DTozDuZm4EU=
+google.golang.org/genproto/googleapis/api v0.0.0-20250707201910-8d1bb00bc6a7/go.mod h1:kXqgZtrWaf6qS3jZOCnCH7WYfrvFjkC51bM8fz3RsCA=
+google.golang.org/genproto/googleapis/bytestream v0.0.0-20230530153820-e85fd2cbaebc/go.mod h1:ylj+BE99M198VPbBh6A8d9n3w8fChvyLK3wwBOjXBFA=
+google.golang.org/genproto/googleapis/rpc v0.0.0-20230525234015-3fc162c6f38a/go.mod h1:xURIpW9ES5+/GZhnV6beoEtxQrnkRGIfP5VQG2tCBLc=
+google.golang.org/genproto/googleapis/rpc v0.0.0-20230525234030-28d5490b6b19/go.mod h1:66JfowdXAEgad5O9NnYcsNPLCPZJD++2L9X0PCMODrA=
+google.golang.org/genproto/googleapis/rpc v0.0.0-20230526203410-71b5a4ffd15e/go.mod h1:66JfowdXAEgad5O9NnYcsNPLCPZJD++2L9X0PCMODrA=
+google.golang.org/genproto/googleapis/rpc v0.0.0-20230530153820-e85fd2cbaebc/go.mod h1:66JfowdXAEgad5O9NnYcsNPLCPZJD++2L9X0PCMODrA=
+google.golang.org/genproto/googleapis/rpc v0.0.0-20230629202037-9506855d4529/go.mod h1:66JfowdXAEgad5O9NnYcsNPLCPZJD++2L9X0PCMODrA=
+google.golang.org/genproto/googleapis/rpc v0.0.0-20230706204954-ccb25ca9f130/go.mod h1:8mL13HKkDa+IuJ8yruA3ci0q+0vsUz4m//+ottjwS5o=
+google.golang.org/genproto/googleapis/rpc v0.0.0-20230731190214-cbb8c96f2d6d/go.mod h1:TUfxEVdsvPg18p6AslUXFoLdpED4oBnGwyqk3dV1XzM=
+google.golang.org/genproto/googleapis/rpc v0.0.0-20230803162519-f966b187b2e5/go.mod h1:zBEcrKX2ZOcEkHWxBPAIvYUWOKKMIhYcmNiUIu2ji3I=
+google.golang.org/genproto/googleapis/rpc v0.0.0-20230822172742-b8732ec3820d/go.mod h1:+Bk1OCOj40wS2hwAMA+aCW9ypzm63QTBBHp6lQ3p+9M=
+google.golang.org/genproto/googleapis/rpc v0.0.0-20240318140521-94a12d6c2237/go.mod h1:WtryC6hu0hhx87FDGxWCDptyssuo68sk10vYjF+T9fY=
+google.golang.org/genproto/googleapis/rpc v0.0.0-20240730163845-b1a4ccb954bf/go.mod h1:Ue6ibwXGpU+dqIcODieyLOcgj7z8+IcskoNIgZxtrFY=
+google.golang.org/genproto/googleapis/rpc v0.0.0-20240814211410-ddb44dafa142/go.mod h1:UqMtugtsSgubUsoxbuAoiCXvqvErP7Gf0so0mK9tHxU=
+google.golang.org/genproto/googleapis/rpc v0.0.0-20240826202546-f6391c0de4c7/go.mod h1:UqMtugtsSgubUsoxbuAoiCXvqvErP7Gf0so0mK9tHxU=
+google.golang.org/genproto/googleapis/rpc v0.0.0-20241118233622-e639e219e697/go.mod h1:5uTbfoYQed2U9p3KIj2/Zzm02PYhndfdmML0qC3q3FU=
+google.golang.org/genproto/googleapis/rpc v0.0.0-20241202173237-19429a94021a/go.mod h1:5uTbfoYQed2U9p3KIj2/Zzm02PYhndfdmML0qC3q3FU=
+google.golang.org/genproto/googleapis/rpc v0.0.0-20250603155806-513f23925822/go.mod h1:qQ0YXyHHx3XkvlzUtpXDkS29lDSafHMZBAZDc03LQ3A=
+google.golang.org/genproto/googleapis/rpc v0.0.0-20250707201910-8d1bb00bc6a7 h1:pFyd6EwwL2TqFf8emdthzeX+gZE1ElRq3iM8pui4KBY=
+google.golang.org/genproto/googleapis/rpc v0.0.0-20250707201910-8d1bb00bc6a7/go.mod h1:qQ0YXyHHx3XkvlzUtpXDkS29lDSafHMZBAZDc03LQ3A=
+google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.1.0/go.mod h1:6Kw0yEErY5E/yWrBtf03jp27GLLJujG4z/JK95pnjjw=
+google.golang.org/grpc/examples v0.0.0-20230224211313-3775f633ce20/go.mod h1:Nr5H8+MlGWr5+xX/STzdoEqJrO+YteqFbMyCsrb6mH0=
google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8=
google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0=
google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM=
@@ -466,23 +2393,57 @@ google.golang.org/protobuf v1.21.0/go.mod h1:47Nbq4nVaFHyn7ilMalzfO3qCViNmqZ2kzi
google.golang.org/protobuf v1.22.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU=
google.golang.org/protobuf v1.23.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU=
google.golang.org/protobuf v1.23.1-0.20200526195155-81db48ad09cc/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU=
+google.golang.org/protobuf v1.24.0/go.mod h1:r/3tXBNzIEhYS9I1OUVjXDlt8tc493IdKGjtUeSXeh4=
google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c=
+google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw=
+google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc=
+google.golang.org/protobuf v1.27.1/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc=
+google.golang.org/protobuf v1.28.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I=
+google.golang.org/protobuf v1.28.1/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I=
+google.golang.org/protobuf v1.29.1/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I=
+google.golang.org/protobuf v1.30.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I=
+google.golang.org/protobuf v1.31.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I=
+google.golang.org/protobuf v1.32.0/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos=
+google.golang.org/protobuf v1.33.0/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos=
+google.golang.org/protobuf v1.34.2/go.mod h1:qYOHts0dSfpeUzUFpOMr/WGzszTmLH+DiWniOlNbLDw=
+google.golang.org/protobuf v1.35.2/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE=
+google.golang.org/protobuf v1.36.1/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE=
+google.golang.org/protobuf v1.36.3/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE=
+google.golang.org/protobuf v1.36.4/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE=
google.golang.org/protobuf v1.36.6 h1:z1NpPI8ku2WgiWnf+t9wTPsn6eP1L7ksHUlkfLvd9xY=
google.golang.org/protobuf v1.36.6/go.mod h1:jduwjTPXsFjZGTmRluh+L6NjiWu7pchiJ2/5YcXBHnY=
+gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
+gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk=
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q=
+gopkg.in/cheggaaa/pb.v1 v1.0.25/go.mod h1:V/YB90LKu/1FcN3WVnfiiE5oMCibMjukxqG/qStrOgw=
+gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI=
gopkg.in/evanphx/json-patch.v4 v4.12.0 h1:n6jtcsulIzXPJaxegRbvFNNrZDjbij7ny3gmSPG+6V4=
gopkg.in/evanphx/json-patch.v4 v4.12.0/go.mod h1:p8EYWUEYMpynmqDbY58zCKCFZw8pRWMG4EsWvDvM72M=
+gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys=
+gopkg.in/gcfg.v1 v1.2.3/go.mod h1:yesOnuUOFQAhST5vPY4nbZsb/huCgGGXlipJsBn0b3o=
gopkg.in/inf.v0 v0.9.1 h1:73M5CoZyi3ZLMOyDlQh031Cx6N9NDJ2Vvfl76EDAgDc=
gopkg.in/inf.v0 v0.9.1/go.mod h1:cWUDdTG/fYaXco+Dcufb5Vnc6Gp2YChqWtbxRZE0mXw=
+gopkg.in/resty.v1 v1.12.0/go.mod h1:mDo4pnntr5jdWRML875a/NmxYqAlA73dVijT2AXvQQo=
+gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw=
gopkg.in/warnings.v0 v0.1.2 h1:wFXVbFY8DY5/xOe1ECiWdKCzZlxgshcYVNkBHstARME=
gopkg.in/warnings.v0 v0.1.2/go.mod h1:jksf8JmL6Qr/oQM2OXTHunEvvTAsrWBLb6OOjuVWRNI=
+gopkg.in/yaml.v2 v2.0.0-20170812160011-eb3733d160e7/go.mod h1:JAlM8MvJe8wmxCU4Bli9HhUf9+ttbYbLASfIpnQbh74=
+gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
+gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
+gopkg.in/yaml.v2 v2.2.3/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
+honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
+honnef.co/go/tools v0.0.0-20190418001031-e561f6794a2a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
+honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg=
+honnef.co/go/tools v0.0.1-2020.1.3/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k=
+honnef.co/go/tools v0.0.1-2020.1.4/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k=
+honnef.co/go/tools v0.1.3/go.mod h1:NgwopIslSNH47DimFoV78dnkksY2EFtX0ajyb3K/las=
k8s.io/api v0.32.3 h1:Hw7KqxRusq+6QSplE3NYG4MBxZw1BZnq4aP4cJVINls=
k8s.io/api v0.32.3/go.mod h1:2wEDTXADtm/HA7CCMD8D8bK4yuBUptzaRhYcYEEYA3k=
k8s.io/apiextensions-apiserver v0.32.2 h1:2YMk285jWMk2188V2AERy5yDwBYrjgWYggscghPCvV4=
@@ -501,8 +2462,63 @@ k8s.io/kube-openapi v0.0.0-20250318190949-c8a335a9a2ff h1:/usPimJzUKKu+m+TE36gUy
k8s.io/kube-openapi v0.0.0-20250318190949-c8a335a9a2ff/go.mod h1:5jIi+8yX4RIb8wk3XwBo5Pq2ccx4FP10ohkbSKCZoK8=
k8s.io/utils v0.0.0-20250321185631-1f6e0b77f77e h1:KqK5c/ghOm8xkHYhlodbp6i6+r+ChV2vuAuVRdFbLro=
k8s.io/utils v0.0.0-20250321185631-1f6e0b77f77e/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0=
+lukechampine.com/uint128 v1.1.1/go.mod h1:c4eWIwlEGaxC/+H1VguhU4PHXNWDCDMUlWdIWl2j1gk=
+lukechampine.com/uint128 v1.2.0/go.mod h1:c4eWIwlEGaxC/+H1VguhU4PHXNWDCDMUlWdIWl2j1gk=
+modernc.org/cc/v3 v3.36.0/go.mod h1:NFUHyPn4ekoC/JHeZFfZurN6ixxawE1BnVonP/oahEI=
+modernc.org/cc/v3 v3.36.2/go.mod h1:NFUHyPn4ekoC/JHeZFfZurN6ixxawE1BnVonP/oahEI=
+modernc.org/cc/v3 v3.36.3/go.mod h1:NFUHyPn4ekoC/JHeZFfZurN6ixxawE1BnVonP/oahEI=
+modernc.org/cc/v3 v3.37.0/go.mod h1:vtL+3mdHx/wcj3iEGz84rQa8vEqR6XM84v5Lcvfph20=
+modernc.org/cc/v3 v3.40.0/go.mod h1:/bTg4dnWkSXowUO6ssQKnOV0yMVxDYNIsIrzqTFDGH0=
+modernc.org/ccgo/v3 v3.0.0-20220428102840-41399a37e894/go.mod h1:eI31LL8EwEBKPpNpA4bU1/i+sKOwOrQy8D87zWUcRZc=
+modernc.org/ccgo/v3 v3.0.0-20220430103911-bc99d88307be/go.mod h1:bwdAnOoaIt8Ax9YdWGjxWsdkPcZyRPHqrOvJxaKAKGw=
+modernc.org/ccgo/v3 v3.0.0-20220904174949-82d86e1b6d56/go.mod h1:YSXjPL62P2AMSxBphRHPn7IkzhVHqkvOnRKAKh+W6ZI=
+modernc.org/ccgo/v3 v3.16.4/go.mod h1:tGtX0gE9Jn7hdZFeU88slbTh1UtCYKusWOoCJuvkWsQ=
+modernc.org/ccgo/v3 v3.16.6/go.mod h1:tGtX0gE9Jn7hdZFeU88slbTh1UtCYKusWOoCJuvkWsQ=
+modernc.org/ccgo/v3 v3.16.8/go.mod h1:zNjwkizS+fIFDrDjIAgBSCLkWbJuHF+ar3QRn+Z9aws=
+modernc.org/ccgo/v3 v3.16.9/go.mod h1:zNMzC9A9xeNUepy6KuZBbugn3c0Mc9TeiJO4lgvkJDo=
+modernc.org/ccgo/v3 v3.16.13-0.20221017192402-261537637ce8/go.mod h1:fUB3Vn0nVPReA+7IG7yZDfjv1TMWjhQP8gCxrFAtL5g=
+modernc.org/ccgo/v3 v3.16.13/go.mod h1:2Quk+5YgpImhPjv2Qsob1DnZ/4som1lJTodubIcoUkY=
+modernc.org/ccorpus v1.11.6/go.mod h1:2gEUTrWqdpH2pXsmTM1ZkjeSrUWDpjMu2T6m29L/ErQ=
+modernc.org/httpfs v1.0.6/go.mod h1:7dosgurJGp0sPaRanU53W4xZYKh14wfzX420oZADeHM=
+modernc.org/libc v0.0.0-20220428101251-2d5f3daf273b/go.mod h1:p7Mg4+koNjc8jkqwcoFBJx7tXkpj00G77X7A72jXPXA=
+modernc.org/libc v1.16.0/go.mod h1:N4LD6DBE9cf+Dzf9buBlzVJndKr/iJHG97vGLHYnb5A=
+modernc.org/libc v1.16.1/go.mod h1:JjJE0eu4yeK7tab2n4S1w8tlWd9MxXLRzheaRnAKymU=
+modernc.org/libc v1.16.17/go.mod h1:hYIV5VZczAmGZAnG15Vdngn5HSF5cSkbvfz2B7GRuVU=
+modernc.org/libc v1.16.19/go.mod h1:p7Mg4+koNjc8jkqwcoFBJx7tXkpj00G77X7A72jXPXA=
+modernc.org/libc v1.17.0/go.mod h1:XsgLldpP4aWlPlsjqKRdHPqCxCjISdHfM/yeWC5GyW0=
+modernc.org/libc v1.17.1/go.mod h1:FZ23b+8LjxZs7XtFMbSzL/EhPxNbfZbErxEHc7cbD9s=
+modernc.org/libc v1.17.4/go.mod h1:WNg2ZH56rDEwdropAJeZPQkXmDwh+JCA1s/htl6r2fA=
+modernc.org/libc v1.18.0/go.mod h1:vj6zehR5bfc98ipowQOM2nIDUZnVew/wNC/2tOGS+q0=
+modernc.org/libc v1.20.3/go.mod h1:ZRfIaEkgrYgZDl6pa4W39HgN5G/yDW+NRmNKZBDFrk0=
+modernc.org/libc v1.21.4/go.mod h1:przBsL5RDOZajTVslkugzLBj1evTue36jEomFQOoYuI=
+modernc.org/libc v1.22.2/go.mod h1:uvQavJ1pZ0hIoC/jfqNoMLURIMhKzINIWypNM17puug=
+modernc.org/mathutil v1.2.2/go.mod h1:mZW8CKdRPY1v87qxC/wUdX5O1qDzXMP5TH3wjfpga6E=
+modernc.org/mathutil v1.4.1/go.mod h1:mZW8CKdRPY1v87qxC/wUdX5O1qDzXMP5TH3wjfpga6E=
+modernc.org/mathutil v1.5.0/go.mod h1:mZW8CKdRPY1v87qxC/wUdX5O1qDzXMP5TH3wjfpga6E=
+modernc.org/memory v1.1.1/go.mod h1:/0wo5ibyrQiaoUoH7f9D8dnglAmILJ5/cxZlRECf+Nw=
+modernc.org/memory v1.2.0/go.mod h1:/0wo5ibyrQiaoUoH7f9D8dnglAmILJ5/cxZlRECf+Nw=
+modernc.org/memory v1.2.1/go.mod h1:PkUhL0Mugw21sHPeskwZW4D6VscE/GQJOnIpCnW6pSU=
+modernc.org/memory v1.3.0/go.mod h1:PkUhL0Mugw21sHPeskwZW4D6VscE/GQJOnIpCnW6pSU=
+modernc.org/memory v1.4.0/go.mod h1:PkUhL0Mugw21sHPeskwZW4D6VscE/GQJOnIpCnW6pSU=
+modernc.org/memory v1.5.0/go.mod h1:PkUhL0Mugw21sHPeskwZW4D6VscE/GQJOnIpCnW6pSU=
+modernc.org/opt v0.1.1/go.mod h1:WdSiB5evDcignE70guQKxYUl14mgWtbClRi5wmkkTX0=
+modernc.org/opt v0.1.3/go.mod h1:WdSiB5evDcignE70guQKxYUl14mgWtbClRi5wmkkTX0=
+modernc.org/sqlite v1.18.1/go.mod h1:6ho+Gow7oX5V+OiOQ6Tr4xeqbx13UZ6t+Fw9IRUG4d4=
+modernc.org/sqlite v1.18.2/go.mod h1:kvrTLEWgxUcHa2GfHBQtanR1H9ht3hTJNtKpzH9k1u0=
+modernc.org/strutil v1.1.1/go.mod h1:DE+MQQ/hjKBZS2zNInV5hhcipt5rLPWkmpbGeW5mmdw=
+modernc.org/strutil v1.1.3/go.mod h1:MEHNA7PdEnEwLvspRMtWTNnp2nnyvMfkimT1NKNAGbw=
+modernc.org/tcl v1.13.1/go.mod h1:XOLfOwzhkljL4itZkK6T72ckMgvj0BDsnKNdZVUOecw=
+modernc.org/tcl v1.13.2/go.mod h1:7CLiGIPo1M8Rv1Mitpv5akc2+8fxUd2y2UzC/MfMzy0=
+modernc.org/token v1.0.0/go.mod h1:UGzOrNV1mAFSEB63lOFHIpNRUVMvYTc6yu1SMY/XTDM=
+modernc.org/token v1.0.1/go.mod h1:UGzOrNV1mAFSEB63lOFHIpNRUVMvYTc6yu1SMY/XTDM=
+modernc.org/token v1.1.0/go.mod h1:UGzOrNV1mAFSEB63lOFHIpNRUVMvYTc6yu1SMY/XTDM=
+modernc.org/z v1.5.1/go.mod h1:eWFB510QWW5Th9YGZT81s+LwvaAs3Q2yr4sP0rmLkv8=
oras.land/oras-go/v2 v2.5.0 h1:o8Me9kLY74Vp5uw07QXPiitjsw7qNXi8Twd+19Zf02c=
oras.land/oras-go/v2 v2.5.0/go.mod h1:z4eisnLP530vwIOUOJeBIj0aGI0L1C3d53atvCBqZHg=
+rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8=
+rsc.io/pdf v0.1.1/go.mod h1:n8OzWcQ6Sp37PL01nO98y4iUCRdTGarVfzxY20ICaU4=
+rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0=
+rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA=
sigs.k8s.io/controller-runtime v0.20.4 h1:X3c+Odnxz+iPTRobG4tp092+CvBU9UK0t/bRf+n0DGU=
sigs.k8s.io/controller-runtime v0.20.4/go.mod h1:xg2XB0K5ShQzAgsoujxuKN4LNXR2LfwwHsPj7Iaw+XY=
sigs.k8s.io/json v0.0.0-20241014173422-cfa47c3a1cc8 h1:gBQPwqORJ8d8/YNZWEjoZs7npUVDpVXUUOFfW6CgAqE=
@@ -512,5 +2528,7 @@ sigs.k8s.io/randfill v1.0.0 h1:JfjMILfT8A6RbawdsK2JXGBR5AQVfd+9TbzrlneTyrU=
sigs.k8s.io/randfill v1.0.0/go.mod h1:XeLlZ/jmk4i1HRopwe7/aU3H5n1zNUcX6TM94b3QxOY=
sigs.k8s.io/structured-merge-diff/v4 v4.7.0 h1:qPeWmscJcXP0snki5IYF79Z8xrl8ETFxgMd7wez1XkI=
sigs.k8s.io/structured-merge-diff/v4 v4.7.0/go.mod h1:dDy58f92j70zLsuZVuUX5Wp9vtxXpaZnkPGWeqDfCps=
+sigs.k8s.io/yaml v1.1.0/go.mod h1:UJmg0vDUVViEyp3mgSv9WPwZCDxu4rQW1olrI1uml+o=
sigs.k8s.io/yaml v1.4.0 h1:Mk1wCc2gy/F0THH0TAp1QYyJNzRm2KCLy3o5ASXVI5E=
sigs.k8s.io/yaml v1.4.0/go.mod h1:Ejl7/uTz7PSA4eKMyQCUTnhZYNmLIl+5c2lQPGR2BPY=
+sourcegraph.com/sourcegraph/appdash v0.0.0-20190731080439-ebfcffb1b5c0/go.mod h1:hI742Nqp5OhwiqlzhgfbWU4mW4yO10fP+LoT9WOswdU=
diff --git a/openshift/default-catalog-consistency/vendor/github.com/go-jose/go-jose/v4/CHANGELOG.md b/openshift/default-catalog-consistency/vendor/github.com/go-jose/go-jose/v4/CHANGELOG.md
index 6f717dbd86..66a8a0f89a 100644
--- a/openshift/default-catalog-consistency/vendor/github.com/go-jose/go-jose/v4/CHANGELOG.md
+++ b/openshift/default-catalog-consistency/vendor/github.com/go-jose/go-jose/v4/CHANGELOG.md
@@ -1,3 +1,8 @@
+## Changed
+
+ - Defined a custom error, ErrUnexpectedSignatureAlgorithm, returned when a JWS
+ header contains an unsupported signature algorithm.
+
# v4.0.4
## Fixed
diff --git a/openshift/default-catalog-consistency/vendor/github.com/go-jose/go-jose/v4/jwe.go b/openshift/default-catalog-consistency/vendor/github.com/go-jose/go-jose/v4/jwe.go
index 9f1322dccc..6102f91000 100644
--- a/openshift/default-catalog-consistency/vendor/github.com/go-jose/go-jose/v4/jwe.go
+++ b/openshift/default-catalog-consistency/vendor/github.com/go-jose/go-jose/v4/jwe.go
@@ -274,7 +274,7 @@ func validateAlgEnc(headers rawHeader, keyAlgorithms []KeyAlgorithm, contentEncr
if alg != "" && !containsKeyAlgorithm(keyAlgorithms, alg) {
return fmt.Errorf("unexpected key algorithm %q; expected %q", alg, keyAlgorithms)
}
- if alg != "" && !containsContentEncryption(contentEncryption, enc) {
+ if enc != "" && !containsContentEncryption(contentEncryption, enc) {
return fmt.Errorf("unexpected content encryption algorithm %q; expected %q", enc, contentEncryption)
}
return nil
@@ -288,11 +288,20 @@ func ParseEncryptedCompact(
keyAlgorithms []KeyAlgorithm,
contentEncryption []ContentEncryption,
) (*JSONWebEncryption, error) {
- // Five parts is four separators
- if strings.Count(input, ".") != 4 {
- return nil, fmt.Errorf("go-jose/go-jose: compact JWE format must have five parts")
+ var parts [5]string
+ var ok bool
+
+ for i := range 4 {
+ parts[i], input, ok = strings.Cut(input, ".")
+ if !ok {
+ return nil, errors.New("go-jose/go-jose: compact JWE format must have five parts")
+ }
+ }
+ // Validate that the last part does not contain more dots
+ if strings.ContainsRune(input, '.') {
+ return nil, errors.New("go-jose/go-jose: compact JWE format must have five parts")
}
- parts := strings.SplitN(input, ".", 5)
+ parts[4] = input
rawProtected, err := base64.RawURLEncoding.DecodeString(parts[0])
if err != nil {
diff --git a/openshift/default-catalog-consistency/vendor/github.com/go-jose/go-jose/v4/jwk.go b/openshift/default-catalog-consistency/vendor/github.com/go-jose/go-jose/v4/jwk.go
index 9e57e93ba2..9700f8906c 100644
--- a/openshift/default-catalog-consistency/vendor/github.com/go-jose/go-jose/v4/jwk.go
+++ b/openshift/default-catalog-consistency/vendor/github.com/go-jose/go-jose/v4/jwk.go
@@ -239,7 +239,7 @@ func (k *JSONWebKey) UnmarshalJSON(data []byte) (err error) {
keyPub = key
}
} else {
- return fmt.Errorf("go-jose/go-jose: unknown curve %s'", raw.Crv)
+ return fmt.Errorf("go-jose/go-jose: unknown curve '%s'", raw.Crv)
}
default:
return fmt.Errorf("go-jose/go-jose: unknown json web key type '%s'", raw.Kty)
diff --git a/openshift/default-catalog-consistency/vendor/github.com/go-jose/go-jose/v4/jws.go b/openshift/default-catalog-consistency/vendor/github.com/go-jose/go-jose/v4/jws.go
index d09d8ba507..c40bd3ec10 100644
--- a/openshift/default-catalog-consistency/vendor/github.com/go-jose/go-jose/v4/jws.go
+++ b/openshift/default-catalog-consistency/vendor/github.com/go-jose/go-jose/v4/jws.go
@@ -75,7 +75,14 @@ type Signature struct {
original *rawSignatureInfo
}
-// ParseSigned parses a signed message in JWS Compact or JWS JSON Serialization.
+// ParseSigned parses a signed message in JWS Compact or JWS JSON Serialization. Validation fails if
+// the JWS is signed with an algorithm that isn't in the provided list of signature algorithms.
+// Applications should decide for themselves which signature algorithms are acceptable. If you're
+// not sure which signature algorithms your application might receive, consult the documentation of
+// the program which provides them or the protocol that you are implementing. You can also try
+// getting an example JWS and decoding it with a tool like https://jwt.io to see what its "alg"
+// header parameter indicates. The signature on the JWS does not get validated during parsing. Call
+// Verify() after parsing to validate the signature and obtain the payload.
//
// https://datatracker.ietf.org/doc/html/rfc7515#section-7
func ParseSigned(
@@ -90,7 +97,14 @@ func ParseSigned(
return parseSignedCompact(signature, nil, signatureAlgorithms)
}
-// ParseSignedCompact parses a message in JWS Compact Serialization.
+// ParseSignedCompact parses a message in JWS Compact Serialization. Validation fails if the JWS is
+// signed with an algorithm that isn't in the provided list of signature algorithms. Applications
+// should decide for themselves which signature algorithms are acceptable.If you're not sure which
+// signature algorithms your application might receive, consult the documentation of the program
+// which provides them or the protocol that you are implementing. You can also try getting an
+// example JWS and decoding it with a tool like https://jwt.io to see what its "alg" header
+// parameter indicates. The signature on the JWS does not get validated during parsing. Call
+// Verify() after parsing to validate the signature and obtain the payload.
//
// https://datatracker.ietf.org/doc/html/rfc7515#section-7.1
func ParseSignedCompact(
@@ -101,6 +115,15 @@ func ParseSignedCompact(
}
// ParseDetached parses a signed message in compact serialization format with detached payload.
+// Validation fails if the JWS is signed with an algorithm that isn't in the provided list of
+// signature algorithms. Applications should decide for themselves which signature algorithms are
+// acceptable. If you're not sure which signature algorithms your application might receive, consult
+// the documentation of the program which provides them or the protocol that you are implementing.
+// You can also try getting an example JWS and decoding it with a tool like https://jwt.io to see
+// what its "alg" header parameter indicates. The signature on the JWS does not get validated during
+// parsing. Call Verify() after parsing to validate the signature and obtain the payload.
+//
+// https://datatracker.ietf.org/doc/html/rfc7515#appendix-F
func ParseDetached(
signature string,
payload []byte,
@@ -181,6 +204,25 @@ func containsSignatureAlgorithm(haystack []SignatureAlgorithm, needle SignatureA
return false
}
+// ErrUnexpectedSignatureAlgorithm is returned when the signature algorithm in
+// the JWS header does not match one of the expected algorithms.
+type ErrUnexpectedSignatureAlgorithm struct {
+ // Got is the signature algorithm found in the JWS header.
+ Got SignatureAlgorithm
+ expected []SignatureAlgorithm
+}
+
+func (e *ErrUnexpectedSignatureAlgorithm) Error() string {
+ return fmt.Sprintf("unexpected signature algorithm %q; expected %q", e.Got, e.expected)
+}
+
+func newErrUnexpectedSignatureAlgorithm(got SignatureAlgorithm, expected []SignatureAlgorithm) error {
+ return &ErrUnexpectedSignatureAlgorithm{
+ Got: got,
+ expected: expected,
+ }
+}
+
// sanitized produces a cleaned-up JWS object from the raw JSON.
func (parsed *rawJSONWebSignature) sanitized(signatureAlgorithms []SignatureAlgorithm) (*JSONWebSignature, error) {
if len(signatureAlgorithms) == 0 {
@@ -236,8 +278,7 @@ func (parsed *rawJSONWebSignature) sanitized(signatureAlgorithms []SignatureAlgo
alg := SignatureAlgorithm(signature.Header.Algorithm)
if !containsSignatureAlgorithm(signatureAlgorithms, alg) {
- return nil, fmt.Errorf("go-jose/go-jose: unexpected signature algorithm %q; expected %q",
- alg, signatureAlgorithms)
+ return nil, newErrUnexpectedSignatureAlgorithm(alg, signatureAlgorithms)
}
if signature.header != nil {
@@ -285,8 +326,7 @@ func (parsed *rawJSONWebSignature) sanitized(signatureAlgorithms []SignatureAlgo
alg := SignatureAlgorithm(obj.Signatures[i].Header.Algorithm)
if !containsSignatureAlgorithm(signatureAlgorithms, alg) {
- return nil, fmt.Errorf("go-jose/go-jose: unexpected signature algorithm %q; expected %q",
- alg, signatureAlgorithms)
+ return nil, newErrUnexpectedSignatureAlgorithm(alg, signatureAlgorithms)
}
if obj.Signatures[i].header != nil {
@@ -321,35 +361,43 @@ func (parsed *rawJSONWebSignature) sanitized(signatureAlgorithms []SignatureAlgo
return obj, nil
}
+const tokenDelim = "."
+
// parseSignedCompact parses a message in compact format.
func parseSignedCompact(
input string,
payload []byte,
signatureAlgorithms []SignatureAlgorithm,
) (*JSONWebSignature, error) {
- // Three parts is two separators
- if strings.Count(input, ".") != 2 {
+ protected, s, ok := strings.Cut(input, tokenDelim)
+ if !ok { // no period found
+ return nil, fmt.Errorf("go-jose/go-jose: compact JWS format must have three parts")
+ }
+ claims, sig, ok := strings.Cut(s, tokenDelim)
+ if !ok { // only one period found
+ return nil, fmt.Errorf("go-jose/go-jose: compact JWS format must have three parts")
+ }
+ if strings.ContainsRune(sig, '.') { // too many periods found
return nil, fmt.Errorf("go-jose/go-jose: compact JWS format must have three parts")
}
- parts := strings.SplitN(input, ".", 3)
- if parts[1] != "" && payload != nil {
+ if claims != "" && payload != nil {
return nil, fmt.Errorf("go-jose/go-jose: payload is not detached")
}
- rawProtected, err := base64.RawURLEncoding.DecodeString(parts[0])
+ rawProtected, err := base64.RawURLEncoding.DecodeString(protected)
if err != nil {
return nil, err
}
if payload == nil {
- payload, err = base64.RawURLEncoding.DecodeString(parts[1])
+ payload, err = base64.RawURLEncoding.DecodeString(claims)
if err != nil {
return nil, err
}
}
- signature, err := base64.RawURLEncoding.DecodeString(parts[2])
+ signature, err := base64.RawURLEncoding.DecodeString(sig)
if err != nil {
return nil, err
}
diff --git a/openshift/default-catalog-consistency/vendor/github.com/go-jose/go-jose/v4/symmetric.go b/openshift/default-catalog-consistency/vendor/github.com/go-jose/go-jose/v4/symmetric.go
index a69103b084..6176e06074 100644
--- a/openshift/default-catalog-consistency/vendor/github.com/go-jose/go-jose/v4/symmetric.go
+++ b/openshift/default-catalog-consistency/vendor/github.com/go-jose/go-jose/v4/symmetric.go
@@ -30,8 +30,6 @@ import (
"hash"
"io"
- "golang.org/x/crypto/pbkdf2"
-
josecipher "github.com/go-jose/go-jose/v4/cipher"
)
@@ -330,7 +328,10 @@ func (ctx *symmetricKeyCipher) encryptKey(cek []byte, alg KeyAlgorithm) (recipie
// derive key
keyLen, h := getPbkdf2Params(alg)
- key := pbkdf2.Key(ctx.key, salt, ctx.p2c, keyLen, h)
+ key, err := pbkdf2Key(h, string(ctx.key), salt, ctx.p2c, keyLen)
+ if err != nil {
+ return recipientInfo{}, nil
+ }
// use AES cipher with derived key
block, err := aes.NewCipher(key)
@@ -432,7 +433,10 @@ func (ctx *symmetricKeyCipher) decryptKey(headers rawHeader, recipient *recipien
// derive key
keyLen, h := getPbkdf2Params(alg)
- key := pbkdf2.Key(ctx.key, salt, p2c, keyLen, h)
+ key, err := pbkdf2Key(h, string(ctx.key), salt, p2c, keyLen)
+ if err != nil {
+ return nil, err
+ }
// use AES cipher with derived key
block, err := aes.NewCipher(key)
diff --git a/openshift/default-catalog-consistency/vendor/github.com/go-jose/go-jose/v4/symmetric_go124.go b/openshift/default-catalog-consistency/vendor/github.com/go-jose/go-jose/v4/symmetric_go124.go
new file mode 100644
index 0000000000..6c5a4e7f20
--- /dev/null
+++ b/openshift/default-catalog-consistency/vendor/github.com/go-jose/go-jose/v4/symmetric_go124.go
@@ -0,0 +1,28 @@
+//go:build go1.24
+
+/*-
+ * Copyright 2014 Square Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package jose
+
+import (
+ "crypto/pbkdf2"
+ "hash"
+)
+
+func pbkdf2Key(h func() hash.Hash, password string, salt []byte, iter, keyLen int) ([]byte, error) {
+ return pbkdf2.Key(h, password, salt, iter, keyLen)
+}
diff --git a/openshift/default-catalog-consistency/vendor/github.com/go-jose/go-jose/v4/symmetric_legacy.go b/openshift/default-catalog-consistency/vendor/github.com/go-jose/go-jose/v4/symmetric_legacy.go
new file mode 100644
index 0000000000..bdfc3d7663
--- /dev/null
+++ b/openshift/default-catalog-consistency/vendor/github.com/go-jose/go-jose/v4/symmetric_legacy.go
@@ -0,0 +1,29 @@
+//go:build !go1.24
+
+/*-
+ * Copyright 2014 Square Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package jose
+
+import (
+ "hash"
+
+ "golang.org/x/crypto/pbkdf2"
+)
+
+func pbkdf2Key(h func() hash.Hash, password string, salt []byte, iter, keyLen int) ([]byte, error) {
+ return pbkdf2.Key([]byte(password), salt, iter, keyLen, h), nil
+}
diff --git a/openshift/default-catalog-consistency/vendor/github.com/go-logr/logr/.golangci.yaml b/openshift/default-catalog-consistency/vendor/github.com/go-logr/logr/.golangci.yaml
index 0cffafa7bf..0ed62c1a18 100644
--- a/openshift/default-catalog-consistency/vendor/github.com/go-logr/logr/.golangci.yaml
+++ b/openshift/default-catalog-consistency/vendor/github.com/go-logr/logr/.golangci.yaml
@@ -1,26 +1,28 @@
+version: "2"
+
run:
timeout: 1m
tests: true
linters:
- disable-all: true
- enable:
+ default: none
+ enable: # please keep this alphabetized
+ - asasalint
- asciicheck
+ - copyloopvar
+ - dupl
- errcheck
- forcetypeassert
+ - goconst
- gocritic
- - gofmt
- - goimports
- - gosimple
- govet
- ineffassign
- misspell
+ - musttag
- revive
- staticcheck
- - typecheck
- unused
issues:
- exclude-use-default: false
max-issues-per-linter: 0
max-same-issues: 10
diff --git a/openshift/default-catalog-consistency/vendor/github.com/go-logr/logr/funcr/funcr.go b/openshift/default-catalog-consistency/vendor/github.com/go-logr/logr/funcr/funcr.go
index 30568e768d..b22c57d713 100644
--- a/openshift/default-catalog-consistency/vendor/github.com/go-logr/logr/funcr/funcr.go
+++ b/openshift/default-catalog-consistency/vendor/github.com/go-logr/logr/funcr/funcr.go
@@ -77,7 +77,7 @@ func newSink(fn func(prefix, args string), formatter Formatter) logr.LogSink {
write: fn,
}
// For skipping fnlogger.Info and fnlogger.Error.
- l.Formatter.AddCallDepth(1)
+ l.AddCallDepth(1) // via Formatter
return l
}
@@ -164,17 +164,17 @@ type fnlogger struct {
}
func (l fnlogger) WithName(name string) logr.LogSink {
- l.Formatter.AddName(name)
+ l.AddName(name) // via Formatter
return &l
}
func (l fnlogger) WithValues(kvList ...any) logr.LogSink {
- l.Formatter.AddValues(kvList)
+ l.AddValues(kvList) // via Formatter
return &l
}
func (l fnlogger) WithCallDepth(depth int) logr.LogSink {
- l.Formatter.AddCallDepth(depth)
+ l.AddCallDepth(depth) // via Formatter
return &l
}
diff --git a/openshift/default-catalog-consistency/vendor/golang.org/x/net/http2/frame.go b/openshift/default-catalog-consistency/vendor/golang.org/x/net/http2/frame.go
index 97bd8b06f7..db3264da8c 100644
--- a/openshift/default-catalog-consistency/vendor/golang.org/x/net/http2/frame.go
+++ b/openshift/default-catalog-consistency/vendor/golang.org/x/net/http2/frame.go
@@ -39,7 +39,7 @@ const (
FrameContinuation FrameType = 0x9
)
-var frameName = map[FrameType]string{
+var frameNames = [...]string{
FrameData: "DATA",
FrameHeaders: "HEADERS",
FramePriority: "PRIORITY",
@@ -53,10 +53,10 @@ var frameName = map[FrameType]string{
}
func (t FrameType) String() string {
- if s, ok := frameName[t]; ok {
- return s
+ if int(t) < len(frameNames) {
+ return frameNames[t]
}
- return fmt.Sprintf("UNKNOWN_FRAME_TYPE_%d", uint8(t))
+ return fmt.Sprintf("UNKNOWN_FRAME_TYPE_%d", t)
}
// Flags is a bitmask of HTTP/2 flags.
@@ -124,7 +124,7 @@ var flagName = map[FrameType]map[Flags]string{
// might be 0).
type frameParser func(fc *frameCache, fh FrameHeader, countError func(string), payload []byte) (Frame, error)
-var frameParsers = map[FrameType]frameParser{
+var frameParsers = [...]frameParser{
FrameData: parseDataFrame,
FrameHeaders: parseHeadersFrame,
FramePriority: parsePriorityFrame,
@@ -138,8 +138,8 @@ var frameParsers = map[FrameType]frameParser{
}
func typeFrameParser(t FrameType) frameParser {
- if f := frameParsers[t]; f != nil {
- return f
+ if int(t) < len(frameParsers) {
+ return frameParsers[t]
}
return parseUnknownFrame
}
@@ -509,7 +509,7 @@ func (fr *Framer) ReadFrame() (Frame, error) {
}
if fh.Length > fr.maxReadSize {
if fh == invalidHTTP1LookingFrameHeader() {
- return nil, fmt.Errorf("http2: failed reading the frame payload: %w, note that the frame header looked like an HTTP/1.1 header", err)
+ return nil, fmt.Errorf("http2: failed reading the frame payload: %w, note that the frame header looked like an HTTP/1.1 header", ErrFrameTooLarge)
}
return nil, ErrFrameTooLarge
}
diff --git a/openshift/default-catalog-consistency/vendor/golang.org/x/net/trace/events.go b/openshift/default-catalog-consistency/vendor/golang.org/x/net/trace/events.go
index c646a6952e..3aaffdd1f7 100644
--- a/openshift/default-catalog-consistency/vendor/golang.org/x/net/trace/events.go
+++ b/openshift/default-catalog-consistency/vendor/golang.org/x/net/trace/events.go
@@ -508,7 +508,7 @@ const eventsHTML = `
| {{$el.When}} |
{{$el.ElapsedTime}} |
- {{$el.Title}}
+ | {{$el.Title}} |
{{if $.Expanded}}
diff --git a/openshift/default-catalog-consistency/vendor/golang.org/x/oauth2/internal/doc.go b/openshift/default-catalog-consistency/vendor/golang.org/x/oauth2/internal/doc.go
index 03265e888a..8c7c475f2d 100644
--- a/openshift/default-catalog-consistency/vendor/golang.org/x/oauth2/internal/doc.go
+++ b/openshift/default-catalog-consistency/vendor/golang.org/x/oauth2/internal/doc.go
@@ -2,5 +2,5 @@
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
-// Package internal contains support packages for oauth2 package.
+// Package internal contains support packages for [golang.org/x/oauth2].
package internal
diff --git a/openshift/default-catalog-consistency/vendor/golang.org/x/oauth2/internal/oauth2.go b/openshift/default-catalog-consistency/vendor/golang.org/x/oauth2/internal/oauth2.go
index 14989beaf4..71ea6ad1f5 100644
--- a/openshift/default-catalog-consistency/vendor/golang.org/x/oauth2/internal/oauth2.go
+++ b/openshift/default-catalog-consistency/vendor/golang.org/x/oauth2/internal/oauth2.go
@@ -13,7 +13,7 @@ import (
)
// ParseKey converts the binary contents of a private key file
-// to an *rsa.PrivateKey. It detects whether the private key is in a
+// to an [*rsa.PrivateKey]. It detects whether the private key is in a
// PEM container or not. If so, it extracts the private key
// from PEM container before conversion. It only supports PEM
// containers with no passphrase.
diff --git a/openshift/default-catalog-consistency/vendor/golang.org/x/oauth2/internal/token.go b/openshift/default-catalog-consistency/vendor/golang.org/x/oauth2/internal/token.go
index e83ddeef0f..8389f24629 100644
--- a/openshift/default-catalog-consistency/vendor/golang.org/x/oauth2/internal/token.go
+++ b/openshift/default-catalog-consistency/vendor/golang.org/x/oauth2/internal/token.go
@@ -10,7 +10,6 @@ import (
"errors"
"fmt"
"io"
- "io/ioutil"
"math"
"mime"
"net/http"
@@ -26,9 +25,9 @@ import (
// the requests to access protected resources on the OAuth 2.0
// provider's backend.
//
-// This type is a mirror of oauth2.Token and exists to break
+// This type is a mirror of [golang.org/x/oauth2.Token] and exists to break
// an otherwise-circular dependency. Other internal packages
-// should convert this Token into an oauth2.Token before use.
+// should convert this Token into an [golang.org/x/oauth2.Token] before use.
type Token struct {
// AccessToken is the token that authorizes and authenticates
// the requests.
@@ -50,9 +49,16 @@ type Token struct {
// mechanisms for that TokenSource will not be used.
Expiry time.Time
+ // ExpiresIn is the OAuth2 wire format "expires_in" field,
+ // which specifies how many seconds later the token expires,
+ // relative to an unknown time base approximately around "now".
+ // It is the application's responsibility to populate
+ // `Expiry` from `ExpiresIn` when required.
+ ExpiresIn int64 `json:"expires_in,omitempty"`
+
// Raw optionally contains extra metadata from the server
// when updating a token.
- Raw interface{}
+ Raw any
}
// tokenJSON is the struct representing the HTTP response from OAuth2
@@ -99,14 +105,6 @@ func (e *expirationTime) UnmarshalJSON(b []byte) error {
return nil
}
-// RegisterBrokenAuthHeaderProvider previously did something. It is now a no-op.
-//
-// Deprecated: this function no longer does anything. Caller code that
-// wants to avoid potential extra HTTP requests made during
-// auto-probing of the provider's auth style should set
-// Endpoint.AuthStyle.
-func RegisterBrokenAuthHeaderProvider(tokenURL string) {}
-
// AuthStyle is a copy of the golang.org/x/oauth2 package's AuthStyle type.
type AuthStyle int
@@ -143,6 +141,11 @@ func (lc *LazyAuthStyleCache) Get() *AuthStyleCache {
return c
}
+type authStyleCacheKey struct {
+ url string
+ clientID string
+}
+
// AuthStyleCache is the set of tokenURLs we've successfully used via
// RetrieveToken and which style auth we ended up using.
// It's called a cache, but it doesn't (yet?) shrink. It's expected that
@@ -150,26 +153,26 @@ func (lc *LazyAuthStyleCache) Get() *AuthStyleCache {
// small.
type AuthStyleCache struct {
mu sync.Mutex
- m map[string]AuthStyle // keyed by tokenURL
+ m map[authStyleCacheKey]AuthStyle
}
// lookupAuthStyle reports which auth style we last used with tokenURL
// when calling RetrieveToken and whether we have ever done so.
-func (c *AuthStyleCache) lookupAuthStyle(tokenURL string) (style AuthStyle, ok bool) {
+func (c *AuthStyleCache) lookupAuthStyle(tokenURL, clientID string) (style AuthStyle, ok bool) {
c.mu.Lock()
defer c.mu.Unlock()
- style, ok = c.m[tokenURL]
+ style, ok = c.m[authStyleCacheKey{tokenURL, clientID}]
return
}
// setAuthStyle adds an entry to authStyleCache, documented above.
-func (c *AuthStyleCache) setAuthStyle(tokenURL string, v AuthStyle) {
+func (c *AuthStyleCache) setAuthStyle(tokenURL, clientID string, v AuthStyle) {
c.mu.Lock()
defer c.mu.Unlock()
if c.m == nil {
- c.m = make(map[string]AuthStyle)
+ c.m = make(map[authStyleCacheKey]AuthStyle)
}
- c.m[tokenURL] = v
+ c.m[authStyleCacheKey{tokenURL, clientID}] = v
}
// newTokenRequest returns a new *http.Request to retrieve a new token
@@ -210,9 +213,9 @@ func cloneURLValues(v url.Values) url.Values {
}
func RetrieveToken(ctx context.Context, clientID, clientSecret, tokenURL string, v url.Values, authStyle AuthStyle, styleCache *AuthStyleCache) (*Token, error) {
- needsAuthStyleProbe := authStyle == 0
+ needsAuthStyleProbe := authStyle == AuthStyleUnknown
if needsAuthStyleProbe {
- if style, ok := styleCache.lookupAuthStyle(tokenURL); ok {
+ if style, ok := styleCache.lookupAuthStyle(tokenURL, clientID); ok {
authStyle = style
needsAuthStyleProbe = false
} else {
@@ -242,7 +245,7 @@ func RetrieveToken(ctx context.Context, clientID, clientSecret, tokenURL string,
token, err = doTokenRoundTrip(ctx, req)
}
if needsAuthStyleProbe && err == nil {
- styleCache.setAuthStyle(tokenURL, authStyle)
+ styleCache.setAuthStyle(tokenURL, clientID, authStyle)
}
// Don't overwrite `RefreshToken` with an empty value
// if this was a token refreshing request.
@@ -257,7 +260,7 @@ func doTokenRoundTrip(ctx context.Context, req *http.Request) (*Token, error) {
if err != nil {
return nil, err
}
- body, err := ioutil.ReadAll(io.LimitReader(r.Body, 1<<20))
+ body, err := io.ReadAll(io.LimitReader(r.Body, 1<<20))
r.Body.Close()
if err != nil {
return nil, fmt.Errorf("oauth2: cannot fetch token: %v", err)
@@ -312,7 +315,8 @@ func doTokenRoundTrip(ctx context.Context, req *http.Request) (*Token, error) {
TokenType: tj.TokenType,
RefreshToken: tj.RefreshToken,
Expiry: tj.expiry(),
- Raw: make(map[string]interface{}),
+ ExpiresIn: int64(tj.ExpiresIn),
+ Raw: make(map[string]any),
}
json.Unmarshal(body, &token.Raw) // no error checks for optional fields
}
diff --git a/openshift/default-catalog-consistency/vendor/golang.org/x/oauth2/internal/transport.go b/openshift/default-catalog-consistency/vendor/golang.org/x/oauth2/internal/transport.go
index b9db01ddfd..afc0aeb274 100644
--- a/openshift/default-catalog-consistency/vendor/golang.org/x/oauth2/internal/transport.go
+++ b/openshift/default-catalog-consistency/vendor/golang.org/x/oauth2/internal/transport.go
@@ -9,8 +9,8 @@ import (
"net/http"
)
-// HTTPClient is the context key to use with golang.org/x/net/context's
-// WithValue function to associate an *http.Client value with a context.
+// HTTPClient is the context key to use with [context.WithValue]
+// to associate an [*http.Client] value with a context.
var HTTPClient ContextKey
// ContextKey is just an empty struct. It exists so HTTPClient can be
diff --git a/openshift/default-catalog-consistency/vendor/golang.org/x/oauth2/oauth2.go b/openshift/default-catalog-consistency/vendor/golang.org/x/oauth2/oauth2.go
index eacdd7fd93..de34feb844 100644
--- a/openshift/default-catalog-consistency/vendor/golang.org/x/oauth2/oauth2.go
+++ b/openshift/default-catalog-consistency/vendor/golang.org/x/oauth2/oauth2.go
@@ -22,9 +22,9 @@ import (
)
// NoContext is the default context you should supply if not using
-// your own context.Context (see https://golang.org/x/net/context).
+// your own [context.Context].
//
-// Deprecated: Use context.Background() or context.TODO() instead.
+// Deprecated: Use [context.Background] or [context.TODO] instead.
var NoContext = context.TODO()
// RegisterBrokenAuthHeaderProvider previously did something. It is now a no-op.
@@ -37,8 +37,8 @@ func RegisterBrokenAuthHeaderProvider(tokenURL string) {}
// Config describes a typical 3-legged OAuth2 flow, with both the
// client application information and the server's endpoint URLs.
-// For the client credentials 2-legged OAuth2 flow, see the clientcredentials
-// package (https://golang.org/x/oauth2/clientcredentials).
+// For the client credentials 2-legged OAuth2 flow, see the
+// [golang.org/x/oauth2/clientcredentials] package.
type Config struct {
// ClientID is the application's ID.
ClientID string
@@ -46,7 +46,7 @@ type Config struct {
// ClientSecret is the application's secret.
ClientSecret string
- // Endpoint contains the resource server's token endpoint
+ // Endpoint contains the authorization server's token endpoint
// URLs. These are constants specific to each server and are
// often available via site-specific packages, such as
// google.Endpoint or github.Endpoint.
@@ -135,7 +135,7 @@ type setParam struct{ k, v string }
func (p setParam) setValue(m url.Values) { m.Set(p.k, p.v) }
-// SetAuthURLParam builds an AuthCodeOption which passes key/value parameters
+// SetAuthURLParam builds an [AuthCodeOption] which passes key/value parameters
// to a provider's authorization endpoint.
func SetAuthURLParam(key, value string) AuthCodeOption {
return setParam{key, value}
@@ -148,8 +148,8 @@ func SetAuthURLParam(key, value string) AuthCodeOption {
// request and callback. The authorization server includes this value when
// redirecting the user agent back to the client.
//
-// Opts may include AccessTypeOnline or AccessTypeOffline, as well
-// as ApprovalForce.
+// Opts may include [AccessTypeOnline] or [AccessTypeOffline], as well
+// as [ApprovalForce].
//
// To protect against CSRF attacks, opts should include a PKCE challenge
// (S256ChallengeOption). Not all servers support PKCE. An alternative is to
@@ -194,7 +194,7 @@ func (c *Config) AuthCodeURL(state string, opts ...AuthCodeOption) string {
// and when other authorization grant types are not available."
// See https://tools.ietf.org/html/rfc6749#section-4.3 for more info.
//
-// The provided context optionally controls which HTTP client is used. See the HTTPClient variable.
+// The provided context optionally controls which HTTP client is used. See the [HTTPClient] variable.
func (c *Config) PasswordCredentialsToken(ctx context.Context, username, password string) (*Token, error) {
v := url.Values{
"grant_type": {"password"},
@@ -212,10 +212,10 @@ func (c *Config) PasswordCredentialsToken(ctx context.Context, username, passwor
// It is used after a resource provider redirects the user back
// to the Redirect URI (the URL obtained from AuthCodeURL).
//
-// The provided context optionally controls which HTTP client is used. See the HTTPClient variable.
+// The provided context optionally controls which HTTP client is used. See the [HTTPClient] variable.
//
-// The code will be in the *http.Request.FormValue("code"). Before
-// calling Exchange, be sure to validate FormValue("state") if you are
+// The code will be in the [http.Request.FormValue]("code"). Before
+// calling Exchange, be sure to validate [http.Request.FormValue]("state") if you are
// using it to protect against CSRF attacks.
//
// If using PKCE to protect against CSRF attacks, opts should include a
@@ -242,10 +242,10 @@ func (c *Config) Client(ctx context.Context, t *Token) *http.Client {
return NewClient(ctx, c.TokenSource(ctx, t))
}
-// TokenSource returns a TokenSource that returns t until t expires,
+// TokenSource returns a [TokenSource] that returns t until t expires,
// automatically refreshing it as necessary using the provided context.
//
-// Most users will use Config.Client instead.
+// Most users will use [Config.Client] instead.
func (c *Config) TokenSource(ctx context.Context, t *Token) TokenSource {
tkr := &tokenRefresher{
ctx: ctx,
@@ -260,7 +260,7 @@ func (c *Config) TokenSource(ctx context.Context, t *Token) TokenSource {
}
}
-// tokenRefresher is a TokenSource that makes "grant_type"=="refresh_token"
+// tokenRefresher is a TokenSource that makes "grant_type=refresh_token"
// HTTP requests to renew a token using a RefreshToken.
type tokenRefresher struct {
ctx context.Context // used to get HTTP requests
@@ -305,8 +305,7 @@ type reuseTokenSource struct {
}
// Token returns the current token if it's still valid, else will
-// refresh the current token (using r.Context for HTTP client
-// information) and return the new one.
+// refresh the current token and return the new one.
func (s *reuseTokenSource) Token() (*Token, error) {
s.mu.Lock()
defer s.mu.Unlock()
@@ -322,7 +321,7 @@ func (s *reuseTokenSource) Token() (*Token, error) {
return t, nil
}
-// StaticTokenSource returns a TokenSource that always returns the same token.
+// StaticTokenSource returns a [TokenSource] that always returns the same token.
// Because the provided token t is never refreshed, StaticTokenSource is only
// useful for tokens that never expire.
func StaticTokenSource(t *Token) TokenSource {
@@ -338,16 +337,16 @@ func (s staticTokenSource) Token() (*Token, error) {
return s.t, nil
}
-// HTTPClient is the context key to use with golang.org/x/net/context's
-// WithValue function to associate an *http.Client value with a context.
+// HTTPClient is the context key to use with [context.WithValue]
+// to associate a [*http.Client] value with a context.
var HTTPClient internal.ContextKey
-// NewClient creates an *http.Client from a Context and TokenSource.
+// NewClient creates an [*http.Client] from a [context.Context] and [TokenSource].
// The returned client is not valid beyond the lifetime of the context.
//
-// Note that if a custom *http.Client is provided via the Context it
+// Note that if a custom [*http.Client] is provided via the [context.Context] it
// is used only for token acquisition and is not used to configure the
-// *http.Client returned from NewClient.
+// [*http.Client] returned from NewClient.
//
// As a special case, if src is nil, a non-OAuth2 client is returned
// using the provided context. This exists to support related OAuth2
@@ -368,7 +367,7 @@ func NewClient(ctx context.Context, src TokenSource) *http.Client {
}
}
-// ReuseTokenSource returns a TokenSource which repeatedly returns the
+// ReuseTokenSource returns a [TokenSource] which repeatedly returns the
// same token as long as it's valid, starting with t.
// When its cached token is invalid, a new token is obtained from src.
//
@@ -376,10 +375,10 @@ func NewClient(ctx context.Context, src TokenSource) *http.Client {
// (such as a file on disk) between runs of a program, rather than
// obtaining new tokens unnecessarily.
//
-// The initial token t may be nil, in which case the TokenSource is
+// The initial token t may be nil, in which case the [TokenSource] is
// wrapped in a caching version if it isn't one already. This also
// means it's always safe to wrap ReuseTokenSource around any other
-// TokenSource without adverse effects.
+// [TokenSource] without adverse effects.
func ReuseTokenSource(t *Token, src TokenSource) TokenSource {
// Don't wrap a reuseTokenSource in itself. That would work,
// but cause an unnecessary number of mutex operations.
@@ -397,8 +396,8 @@ func ReuseTokenSource(t *Token, src TokenSource) TokenSource {
}
}
-// ReuseTokenSourceWithExpiry returns a TokenSource that acts in the same manner as the
-// TokenSource returned by ReuseTokenSource, except the expiry buffer is
+// ReuseTokenSourceWithExpiry returns a [TokenSource] that acts in the same manner as the
+// [TokenSource] returned by [ReuseTokenSource], except the expiry buffer is
// configurable. The expiration time of a token is calculated as
// t.Expiry.Add(-earlyExpiry).
func ReuseTokenSourceWithExpiry(t *Token, src TokenSource, earlyExpiry time.Duration) TokenSource {
diff --git a/openshift/default-catalog-consistency/vendor/golang.org/x/oauth2/pkce.go b/openshift/default-catalog-consistency/vendor/golang.org/x/oauth2/pkce.go
index 6a95da975c..cea8374d51 100644
--- a/openshift/default-catalog-consistency/vendor/golang.org/x/oauth2/pkce.go
+++ b/openshift/default-catalog-consistency/vendor/golang.org/x/oauth2/pkce.go
@@ -1,6 +1,7 @@
// 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 oauth2
import (
@@ -20,9 +21,9 @@ const (
// This follows recommendations in RFC 7636.
//
// A fresh verifier should be generated for each authorization.
-// S256ChallengeOption(verifier) should then be passed to Config.AuthCodeURL
-// (or Config.DeviceAuth) and VerifierOption(verifier) to Config.Exchange
-// (or Config.DeviceAccessToken).
+// The resulting verifier should be passed to [Config.AuthCodeURL] or [Config.DeviceAuth]
+// with [S256ChallengeOption], and to [Config.Exchange] or [Config.DeviceAccessToken]
+// with [VerifierOption].
func GenerateVerifier() string {
// "RECOMMENDED that the output of a suitable random number generator be
// used to create a 32-octet sequence. The octet sequence is then
@@ -36,22 +37,22 @@ func GenerateVerifier() string {
return base64.RawURLEncoding.EncodeToString(data)
}
-// VerifierOption returns a PKCE code verifier AuthCodeOption. It should be
-// passed to Config.Exchange or Config.DeviceAccessToken only.
+// VerifierOption returns a PKCE code verifier [AuthCodeOption]. It should only be
+// passed to [Config.Exchange] or [Config.DeviceAccessToken].
func VerifierOption(verifier string) AuthCodeOption {
return setParam{k: codeVerifierKey, v: verifier}
}
// S256ChallengeFromVerifier returns a PKCE code challenge derived from verifier with method S256.
//
-// Prefer to use S256ChallengeOption where possible.
+// Prefer to use [S256ChallengeOption] where possible.
func S256ChallengeFromVerifier(verifier string) string {
sha := sha256.Sum256([]byte(verifier))
return base64.RawURLEncoding.EncodeToString(sha[:])
}
// S256ChallengeOption derives a PKCE code challenge derived from verifier with
-// method S256. It should be passed to Config.AuthCodeURL or Config.DeviceAuth
+// method S256. It should be passed to [Config.AuthCodeURL] or [Config.DeviceAuth]
// only.
func S256ChallengeOption(verifier string) AuthCodeOption {
return challengeOption{
diff --git a/openshift/default-catalog-consistency/vendor/golang.org/x/oauth2/token.go b/openshift/default-catalog-consistency/vendor/golang.org/x/oauth2/token.go
index 8c31136c40..239ec32962 100644
--- a/openshift/default-catalog-consistency/vendor/golang.org/x/oauth2/token.go
+++ b/openshift/default-catalog-consistency/vendor/golang.org/x/oauth2/token.go
@@ -44,7 +44,7 @@ type Token struct {
// Expiry is the optional expiration time of the access token.
//
- // If zero, TokenSource implementations will reuse the same
+ // If zero, [TokenSource] implementations will reuse the same
// token forever and RefreshToken or equivalent
// mechanisms for that TokenSource will not be used.
Expiry time.Time `json:"expiry,omitempty"`
@@ -58,7 +58,7 @@ type Token struct {
// raw optionally contains extra metadata from the server
// when updating a token.
- raw interface{}
+ raw any
// expiryDelta is used to calculate when a token is considered
// expired, by subtracting from Expiry. If zero, defaultExpiryDelta
@@ -86,16 +86,16 @@ func (t *Token) Type() string {
// SetAuthHeader sets the Authorization header to r using the access
// token in t.
//
-// This method is unnecessary when using Transport or an HTTP Client
+// This method is unnecessary when using [Transport] or an HTTP Client
// returned by this package.
func (t *Token) SetAuthHeader(r *http.Request) {
r.Header.Set("Authorization", t.Type()+" "+t.AccessToken)
}
-// WithExtra returns a new Token that's a clone of t, but using the
+// WithExtra returns a new [Token] that's a clone of t, but using the
// provided raw extra map. This is only intended for use by packages
// implementing derivative OAuth2 flows.
-func (t *Token) WithExtra(extra interface{}) *Token {
+func (t *Token) WithExtra(extra any) *Token {
t2 := new(Token)
*t2 = *t
t2.raw = extra
@@ -105,8 +105,8 @@ func (t *Token) WithExtra(extra interface{}) *Token {
// Extra returns an extra field.
// Extra fields are key-value pairs returned by the server as a
// part of the token retrieval response.
-func (t *Token) Extra(key string) interface{} {
- if raw, ok := t.raw.(map[string]interface{}); ok {
+func (t *Token) Extra(key string) any {
+ if raw, ok := t.raw.(map[string]any); ok {
return raw[key]
}
@@ -163,6 +163,7 @@ func tokenFromInternal(t *internal.Token) *Token {
TokenType: t.TokenType,
RefreshToken: t.RefreshToken,
Expiry: t.Expiry,
+ ExpiresIn: t.ExpiresIn,
raw: t.Raw,
}
}
diff --git a/openshift/default-catalog-consistency/vendor/golang.org/x/oauth2/transport.go b/openshift/default-catalog-consistency/vendor/golang.org/x/oauth2/transport.go
index 90657915fb..8bbebbac9e 100644
--- a/openshift/default-catalog-consistency/vendor/golang.org/x/oauth2/transport.go
+++ b/openshift/default-catalog-consistency/vendor/golang.org/x/oauth2/transport.go
@@ -11,12 +11,12 @@ import (
"sync"
)
-// Transport is an http.RoundTripper that makes OAuth 2.0 HTTP requests,
-// wrapping a base RoundTripper and adding an Authorization header
-// with a token from the supplied Sources.
+// Transport is an [http.RoundTripper] that makes OAuth 2.0 HTTP requests,
+// wrapping a base [http.RoundTripper] and adding an Authorization header
+// with a token from the supplied [TokenSource].
//
// Transport is a low-level mechanism. Most code will use the
-// higher-level Config.Client method instead.
+// higher-level [Config.Client] method instead.
type Transport struct {
// Source supplies the token to add to outgoing requests'
// Authorization headers.
@@ -47,7 +47,7 @@ func (t *Transport) RoundTrip(req *http.Request) (*http.Response, error) {
return nil, err
}
- req2 := cloneRequest(req) // per RoundTripper contract
+ req2 := req.Clone(req.Context())
token.SetAuthHeader(req2)
// req.Body is assumed to be closed by the base RoundTripper.
@@ -73,17 +73,3 @@ func (t *Transport) base() http.RoundTripper {
}
return http.DefaultTransport
}
-
-// cloneRequest returns a clone of the provided *http.Request.
-// The clone is a shallow copy of the struct and its Header map.
-func cloneRequest(r *http.Request) *http.Request {
- // shallow copy of the struct
- r2 := new(http.Request)
- *r2 = *r
- // deep copy of the Header
- r2.Header = make(http.Header, len(r.Header))
- for k, s := range r.Header {
- r2.Header[k] = append([]string(nil), s...)
- }
- return r2
-}
diff --git a/openshift/default-catalog-consistency/vendor/golang.org/x/sync/errgroup/errgroup.go b/openshift/default-catalog-consistency/vendor/golang.org/x/sync/errgroup/errgroup.go
index f8c3c09265..cb6bb9ad3b 100644
--- a/openshift/default-catalog-consistency/vendor/golang.org/x/sync/errgroup/errgroup.go
+++ b/openshift/default-catalog-consistency/vendor/golang.org/x/sync/errgroup/errgroup.go
@@ -12,6 +12,8 @@ package errgroup
import (
"context"
"fmt"
+ "runtime"
+ "runtime/debug"
"sync"
)
@@ -31,6 +33,10 @@ type Group struct {
errOnce sync.Once
err error
+
+ mu sync.Mutex
+ panicValue any // = PanicError | PanicValue; non-nil if some Group.Go goroutine panicked.
+ abnormal bool // some Group.Go goroutine terminated abnormally (panic or goexit).
}
func (g *Group) done() {
@@ -50,33 +56,78 @@ func WithContext(ctx context.Context) (*Group, context.Context) {
return &Group{cancel: cancel}, ctx
}
-// Wait blocks until all function calls from the Go method have returned, then
-// returns the first non-nil error (if any) from them.
+// Wait blocks until all function calls from the Go method have returned
+// normally, then returns the first non-nil error (if any) from them.
+//
+// If any of the calls panics, Wait panics with a [PanicValue];
+// and if any of them calls [runtime.Goexit], Wait calls runtime.Goexit.
func (g *Group) Wait() error {
g.wg.Wait()
if g.cancel != nil {
g.cancel(g.err)
}
+ if g.panicValue != nil {
+ panic(g.panicValue)
+ }
+ if g.abnormal {
+ runtime.Goexit()
+ }
return g.err
}
// Go calls the given function in a new goroutine.
+//
// The first call to Go must happen before a Wait.
// It blocks until the new goroutine can be added without the number of
-// active goroutines in the group exceeding the configured limit.
+// goroutines in the group exceeding the configured limit.
//
-// The first call to return a non-nil error cancels the group's context, if the
-// group was created by calling WithContext. The error will be returned by Wait.
+// The first goroutine in the group that returns a non-nil error, panics, or
+// invokes [runtime.Goexit] will cancel the associated Context, if any.
func (g *Group) Go(f func() error) {
if g.sem != nil {
g.sem <- token{}
}
+ g.add(f)
+}
+
+func (g *Group) add(f func() error) {
g.wg.Add(1)
go func() {
defer g.done()
+ normalReturn := false
+ defer func() {
+ if normalReturn {
+ return
+ }
+ v := recover()
+ g.mu.Lock()
+ defer g.mu.Unlock()
+ if !g.abnormal {
+ if g.cancel != nil {
+ g.cancel(g.err)
+ }
+ g.abnormal = true
+ }
+ if v != nil && g.panicValue == nil {
+ switch v := v.(type) {
+ case error:
+ g.panicValue = PanicError{
+ Recovered: v,
+ Stack: debug.Stack(),
+ }
+ default:
+ g.panicValue = PanicValue{
+ Recovered: v,
+ Stack: debug.Stack(),
+ }
+ }
+ }
+ }()
- if err := f(); err != nil {
+ err := f()
+ normalReturn = true
+ if err != nil {
g.errOnce.Do(func() {
g.err = err
if g.cancel != nil {
@@ -101,19 +152,7 @@ func (g *Group) TryGo(f func() error) bool {
}
}
- g.wg.Add(1)
- go func() {
- defer g.done()
-
- if err := f(); err != nil {
- g.errOnce.Do(func() {
- g.err = err
- if g.cancel != nil {
- g.cancel(g.err)
- }
- })
- }
- }()
+ g.add(f)
return true
}
@@ -135,3 +174,34 @@ func (g *Group) SetLimit(n int) {
}
g.sem = make(chan token, n)
}
+
+// PanicError wraps an error recovered from an unhandled panic
+// when calling a function passed to Go or TryGo.
+type PanicError struct {
+ Recovered error
+ Stack []byte // result of call to [debug.Stack]
+}
+
+func (p PanicError) Error() string {
+ if len(p.Stack) > 0 {
+ return fmt.Sprintf("recovered from errgroup.Group: %v\n%s", p.Recovered, p.Stack)
+ }
+ return fmt.Sprintf("recovered from errgroup.Group: %v", p.Recovered)
+}
+
+func (p PanicError) Unwrap() error { return p.Recovered }
+
+// PanicValue wraps a value that does not implement the error interface,
+// recovered from an unhandled panic when calling a function passed to Go or
+// TryGo.
+type PanicValue struct {
+ Recovered any
+ Stack []byte // result of call to [debug.Stack]
+}
+
+func (p PanicValue) String() string {
+ if len(p.Stack) > 0 {
+ return fmt.Sprintf("recovered from errgroup.Group: %v\n%s", p.Recovered, p.Stack)
+ }
+ return fmt.Sprintf("recovered from errgroup.Group: %v", p.Recovered)
+}
diff --git a/openshift/default-catalog-consistency/vendor/golang.org/x/sys/cpu/cpu.go b/openshift/default-catalog-consistency/vendor/golang.org/x/sys/cpu/cpu.go
index 2e73ee1975..63541994ef 100644
--- a/openshift/default-catalog-consistency/vendor/golang.org/x/sys/cpu/cpu.go
+++ b/openshift/default-catalog-consistency/vendor/golang.org/x/sys/cpu/cpu.go
@@ -232,6 +232,17 @@ var RISCV64 struct {
HasZba bool // Address generation instructions extension
HasZbb bool // Basic bit-manipulation extension
HasZbs bool // Single-bit instructions extension
+ HasZvbb bool // Vector Basic Bit-manipulation
+ HasZvbc bool // Vector Carryless Multiplication
+ HasZvkb bool // Vector Cryptography Bit-manipulation
+ HasZvkt bool // Vector Data-Independent Execution Latency
+ HasZvkg bool // Vector GCM/GMAC
+ HasZvkn bool // NIST Algorithm Suite (AES/SHA256/SHA512)
+ HasZvknc bool // NIST Algorithm Suite with carryless multiply
+ HasZvkng bool // NIST Algorithm Suite with GCM
+ HasZvks bool // ShangMi Algorithm Suite
+ HasZvksc bool // ShangMi Algorithm Suite with carryless multiplication
+ HasZvksg bool // ShangMi Algorithm Suite with GCM
_ CacheLinePad
}
diff --git a/openshift/default-catalog-consistency/vendor/golang.org/x/sys/cpu/cpu_linux_riscv64.go b/openshift/default-catalog-consistency/vendor/golang.org/x/sys/cpu/cpu_linux_riscv64.go
index cb4a0c5728..ad741536f3 100644
--- a/openshift/default-catalog-consistency/vendor/golang.org/x/sys/cpu/cpu_linux_riscv64.go
+++ b/openshift/default-catalog-consistency/vendor/golang.org/x/sys/cpu/cpu_linux_riscv64.go
@@ -58,6 +58,15 @@ const (
riscv_HWPROBE_EXT_ZBA = 0x8
riscv_HWPROBE_EXT_ZBB = 0x10
riscv_HWPROBE_EXT_ZBS = 0x20
+ riscv_HWPROBE_EXT_ZVBB = 0x20000
+ riscv_HWPROBE_EXT_ZVBC = 0x40000
+ riscv_HWPROBE_EXT_ZVKB = 0x80000
+ riscv_HWPROBE_EXT_ZVKG = 0x100000
+ riscv_HWPROBE_EXT_ZVKNED = 0x200000
+ riscv_HWPROBE_EXT_ZVKNHB = 0x800000
+ riscv_HWPROBE_EXT_ZVKSED = 0x1000000
+ riscv_HWPROBE_EXT_ZVKSH = 0x2000000
+ riscv_HWPROBE_EXT_ZVKT = 0x4000000
riscv_HWPROBE_KEY_CPUPERF_0 = 0x5
riscv_HWPROBE_MISALIGNED_FAST = 0x3
riscv_HWPROBE_MISALIGNED_MASK = 0x7
@@ -99,6 +108,20 @@ func doinit() {
RISCV64.HasZba = isSet(v, riscv_HWPROBE_EXT_ZBA)
RISCV64.HasZbb = isSet(v, riscv_HWPROBE_EXT_ZBB)
RISCV64.HasZbs = isSet(v, riscv_HWPROBE_EXT_ZBS)
+ RISCV64.HasZvbb = isSet(v, riscv_HWPROBE_EXT_ZVBB)
+ RISCV64.HasZvbc = isSet(v, riscv_HWPROBE_EXT_ZVBC)
+ RISCV64.HasZvkb = isSet(v, riscv_HWPROBE_EXT_ZVKB)
+ RISCV64.HasZvkg = isSet(v, riscv_HWPROBE_EXT_ZVKG)
+ RISCV64.HasZvkt = isSet(v, riscv_HWPROBE_EXT_ZVKT)
+ // Cryptography shorthand extensions
+ RISCV64.HasZvkn = isSet(v, riscv_HWPROBE_EXT_ZVKNED) &&
+ isSet(v, riscv_HWPROBE_EXT_ZVKNHB) && RISCV64.HasZvkb && RISCV64.HasZvkt
+ RISCV64.HasZvknc = RISCV64.HasZvkn && RISCV64.HasZvbc
+ RISCV64.HasZvkng = RISCV64.HasZvkn && RISCV64.HasZvkg
+ RISCV64.HasZvks = isSet(v, riscv_HWPROBE_EXT_ZVKSED) &&
+ isSet(v, riscv_HWPROBE_EXT_ZVKSH) && RISCV64.HasZvkb && RISCV64.HasZvkt
+ RISCV64.HasZvksc = RISCV64.HasZvks && RISCV64.HasZvbc
+ RISCV64.HasZvksg = RISCV64.HasZvks && RISCV64.HasZvkg
}
if pairs[1].key != -1 {
v := pairs[1].value & riscv_HWPROBE_MISALIGNED_MASK
diff --git a/openshift/default-catalog-consistency/vendor/golang.org/x/sys/cpu/cpu_riscv64.go b/openshift/default-catalog-consistency/vendor/golang.org/x/sys/cpu/cpu_riscv64.go
index aca3199c91..0f617aef54 100644
--- a/openshift/default-catalog-consistency/vendor/golang.org/x/sys/cpu/cpu_riscv64.go
+++ b/openshift/default-catalog-consistency/vendor/golang.org/x/sys/cpu/cpu_riscv64.go
@@ -16,5 +16,17 @@ func initOptions() {
{Name: "zba", Feature: &RISCV64.HasZba},
{Name: "zbb", Feature: &RISCV64.HasZbb},
{Name: "zbs", Feature: &RISCV64.HasZbs},
+ // RISC-V Cryptography Extensions
+ {Name: "zvbb", Feature: &RISCV64.HasZvbb},
+ {Name: "zvbc", Feature: &RISCV64.HasZvbc},
+ {Name: "zvkb", Feature: &RISCV64.HasZvkb},
+ {Name: "zvkg", Feature: &RISCV64.HasZvkg},
+ {Name: "zvkt", Feature: &RISCV64.HasZvkt},
+ {Name: "zvkn", Feature: &RISCV64.HasZvkn},
+ {Name: "zvknc", Feature: &RISCV64.HasZvknc},
+ {Name: "zvkng", Feature: &RISCV64.HasZvkng},
+ {Name: "zvks", Feature: &RISCV64.HasZvks},
+ {Name: "zvksc", Feature: &RISCV64.HasZvksc},
+ {Name: "zvksg", Feature: &RISCV64.HasZvksg},
}
}
diff --git a/openshift/default-catalog-consistency/vendor/golang.org/x/sys/windows/security_windows.go b/openshift/default-catalog-consistency/vendor/golang.org/x/sys/windows/security_windows.go
index b6e1ab76f8..a8b0364c7c 100644
--- a/openshift/default-catalog-consistency/vendor/golang.org/x/sys/windows/security_windows.go
+++ b/openshift/default-catalog-consistency/vendor/golang.org/x/sys/windows/security_windows.go
@@ -1303,7 +1303,10 @@ func (selfRelativeSD *SECURITY_DESCRIPTOR) ToAbsolute() (absoluteSD *SECURITY_DE
return nil, err
}
if absoluteSDSize > 0 {
- absoluteSD = (*SECURITY_DESCRIPTOR)(unsafe.Pointer(&make([]byte, absoluteSDSize)[0]))
+ absoluteSD = new(SECURITY_DESCRIPTOR)
+ if unsafe.Sizeof(*absoluteSD) < uintptr(absoluteSDSize) {
+ panic("sizeof(SECURITY_DESCRIPTOR) too small")
+ }
}
var (
dacl *ACL
@@ -1312,19 +1315,55 @@ func (selfRelativeSD *SECURITY_DESCRIPTOR) ToAbsolute() (absoluteSD *SECURITY_DE
group *SID
)
if daclSize > 0 {
- dacl = (*ACL)(unsafe.Pointer(&make([]byte, daclSize)[0]))
+ dacl = (*ACL)(unsafe.Pointer(unsafe.SliceData(make([]byte, daclSize))))
}
if saclSize > 0 {
- sacl = (*ACL)(unsafe.Pointer(&make([]byte, saclSize)[0]))
+ sacl = (*ACL)(unsafe.Pointer(unsafe.SliceData(make([]byte, saclSize))))
}
if ownerSize > 0 {
- owner = (*SID)(unsafe.Pointer(&make([]byte, ownerSize)[0]))
+ owner = (*SID)(unsafe.Pointer(unsafe.SliceData(make([]byte, ownerSize))))
}
if groupSize > 0 {
- group = (*SID)(unsafe.Pointer(&make([]byte, groupSize)[0]))
+ group = (*SID)(unsafe.Pointer(unsafe.SliceData(make([]byte, groupSize))))
}
+ // We call into Windows via makeAbsoluteSD, which sets up
+ // pointers within absoluteSD that point to other chunks of memory
+ // we pass into makeAbsoluteSD, and that happens outside the view of the GC.
+ // We therefore take some care here to then verify the pointers are as we expect
+ // and set them explicitly in view of the GC. See https://go.dev/issue/73199.
+ // TODO: consider weak pointers once Go 1.24 is appropriate. See suggestion in https://go.dev/cl/663575.
err = makeAbsoluteSD(selfRelativeSD, absoluteSD, &absoluteSDSize,
dacl, &daclSize, sacl, &saclSize, owner, &ownerSize, group, &groupSize)
+ if err != nil {
+ // Don't return absoluteSD, which might be partially initialized.
+ return nil, err
+ }
+ // Before using any fields, verify absoluteSD is in the format we expect according to Windows.
+ // See https://learn.microsoft.com/en-us/windows/win32/secauthz/absolute-and-self-relative-security-descriptors
+ absControl, _, err := absoluteSD.Control()
+ if err != nil {
+ panic("absoluteSD: " + err.Error())
+ }
+ if absControl&SE_SELF_RELATIVE != 0 {
+ panic("absoluteSD not in absolute format")
+ }
+ if absoluteSD.dacl != dacl {
+ panic("dacl pointer mismatch")
+ }
+ if absoluteSD.sacl != sacl {
+ panic("sacl pointer mismatch")
+ }
+ if absoluteSD.owner != owner {
+ panic("owner pointer mismatch")
+ }
+ if absoluteSD.group != group {
+ panic("group pointer mismatch")
+ }
+ absoluteSD.dacl = dacl
+ absoluteSD.sacl = sacl
+ absoluteSD.owner = owner
+ absoluteSD.group = group
+
return
}
diff --git a/openshift/default-catalog-consistency/vendor/golang.org/x/sys/windows/syscall_windows.go b/openshift/default-catalog-consistency/vendor/golang.org/x/sys/windows/syscall_windows.go
index 4a32543868..640f6b153f 100644
--- a/openshift/default-catalog-consistency/vendor/golang.org/x/sys/windows/syscall_windows.go
+++ b/openshift/default-catalog-consistency/vendor/golang.org/x/sys/windows/syscall_windows.go
@@ -870,6 +870,7 @@ const socket_error = uintptr(^uint32(0))
//sys WSARecvFrom(s Handle, bufs *WSABuf, bufcnt uint32, recvd *uint32, flags *uint32, from *RawSockaddrAny, fromlen *int32, overlapped *Overlapped, croutine *byte) (err error) [failretval==socket_error] = ws2_32.WSARecvFrom
//sys WSASendTo(s Handle, bufs *WSABuf, bufcnt uint32, sent *uint32, flags uint32, to *RawSockaddrAny, tolen int32, overlapped *Overlapped, croutine *byte) (err error) [failretval==socket_error] = ws2_32.WSASendTo
//sys WSASocket(af int32, typ int32, protocol int32, protoInfo *WSAProtocolInfo, group uint32, flags uint32) (handle Handle, err error) [failretval==InvalidHandle] = ws2_32.WSASocketW
+//sys WSADuplicateSocket(s Handle, processID uint32, info *WSAProtocolInfo) (err error) [failretval!=0] = ws2_32.WSADuplicateSocketW
//sys GetHostByName(name string) (h *Hostent, err error) [failretval==nil] = ws2_32.gethostbyname
//sys GetServByName(name string, proto string) (s *Servent, err error) [failretval==nil] = ws2_32.getservbyname
//sys Ntohs(netshort uint16) (u uint16) = ws2_32.ntohs
@@ -1698,8 +1699,9 @@ func NewNTUnicodeString(s string) (*NTUnicodeString, error) {
// Slice returns a uint16 slice that aliases the data in the NTUnicodeString.
func (s *NTUnicodeString) Slice() []uint16 {
- slice := unsafe.Slice(s.Buffer, s.MaximumLength)
- return slice[:s.Length]
+ // Note: this rounds the length down, if it happens
+ // to (incorrectly) be odd. Probably safer than rounding up.
+ return unsafe.Slice(s.Buffer, s.MaximumLength/2)[:s.Length/2]
}
func (s *NTUnicodeString) String() string {
diff --git a/openshift/default-catalog-consistency/vendor/golang.org/x/sys/windows/types_windows.go b/openshift/default-catalog-consistency/vendor/golang.org/x/sys/windows/types_windows.go
index ad67df2fdb..958bcf47a3 100644
--- a/openshift/default-catalog-consistency/vendor/golang.org/x/sys/windows/types_windows.go
+++ b/openshift/default-catalog-consistency/vendor/golang.org/x/sys/windows/types_windows.go
@@ -2700,6 +2700,8 @@ type CommTimeouts struct {
// NTUnicodeString is a UTF-16 string for NT native APIs, corresponding to UNICODE_STRING.
type NTUnicodeString struct {
+ // Note: Length and MaximumLength are in *bytes*, not uint16s.
+ // They should always be even.
Length uint16
MaximumLength uint16
Buffer *uint16
@@ -3628,3 +3630,213 @@ const (
KLF_NOTELLSHELL = 0x00000080
KLF_SETFORPROCESS = 0x00000100
)
+
+// Virtual Key codes
+// https://docs.microsoft.com/en-us/windows/win32/inputdev/virtual-key-codes
+const (
+ VK_LBUTTON = 0x01
+ VK_RBUTTON = 0x02
+ VK_CANCEL = 0x03
+ VK_MBUTTON = 0x04
+ VK_XBUTTON1 = 0x05
+ VK_XBUTTON2 = 0x06
+ VK_BACK = 0x08
+ VK_TAB = 0x09
+ VK_CLEAR = 0x0C
+ VK_RETURN = 0x0D
+ VK_SHIFT = 0x10
+ VK_CONTROL = 0x11
+ VK_MENU = 0x12
+ VK_PAUSE = 0x13
+ VK_CAPITAL = 0x14
+ VK_KANA = 0x15
+ VK_HANGEUL = 0x15
+ VK_HANGUL = 0x15
+ VK_IME_ON = 0x16
+ VK_JUNJA = 0x17
+ VK_FINAL = 0x18
+ VK_HANJA = 0x19
+ VK_KANJI = 0x19
+ VK_IME_OFF = 0x1A
+ VK_ESCAPE = 0x1B
+ VK_CONVERT = 0x1C
+ VK_NONCONVERT = 0x1D
+ VK_ACCEPT = 0x1E
+ VK_MODECHANGE = 0x1F
+ VK_SPACE = 0x20
+ VK_PRIOR = 0x21
+ VK_NEXT = 0x22
+ VK_END = 0x23
+ VK_HOME = 0x24
+ VK_LEFT = 0x25
+ VK_UP = 0x26
+ VK_RIGHT = 0x27
+ VK_DOWN = 0x28
+ VK_SELECT = 0x29
+ VK_PRINT = 0x2A
+ VK_EXECUTE = 0x2B
+ VK_SNAPSHOT = 0x2C
+ VK_INSERT = 0x2D
+ VK_DELETE = 0x2E
+ VK_HELP = 0x2F
+ VK_LWIN = 0x5B
+ VK_RWIN = 0x5C
+ VK_APPS = 0x5D
+ VK_SLEEP = 0x5F
+ VK_NUMPAD0 = 0x60
+ VK_NUMPAD1 = 0x61
+ VK_NUMPAD2 = 0x62
+ VK_NUMPAD3 = 0x63
+ VK_NUMPAD4 = 0x64
+ VK_NUMPAD5 = 0x65
+ VK_NUMPAD6 = 0x66
+ VK_NUMPAD7 = 0x67
+ VK_NUMPAD8 = 0x68
+ VK_NUMPAD9 = 0x69
+ VK_MULTIPLY = 0x6A
+ VK_ADD = 0x6B
+ VK_SEPARATOR = 0x6C
+ VK_SUBTRACT = 0x6D
+ VK_DECIMAL = 0x6E
+ VK_DIVIDE = 0x6F
+ VK_F1 = 0x70
+ VK_F2 = 0x71
+ VK_F3 = 0x72
+ VK_F4 = 0x73
+ VK_F5 = 0x74
+ VK_F6 = 0x75
+ VK_F7 = 0x76
+ VK_F8 = 0x77
+ VK_F9 = 0x78
+ VK_F10 = 0x79
+ VK_F11 = 0x7A
+ VK_F12 = 0x7B
+ VK_F13 = 0x7C
+ VK_F14 = 0x7D
+ VK_F15 = 0x7E
+ VK_F16 = 0x7F
+ VK_F17 = 0x80
+ VK_F18 = 0x81
+ VK_F19 = 0x82
+ VK_F20 = 0x83
+ VK_F21 = 0x84
+ VK_F22 = 0x85
+ VK_F23 = 0x86
+ VK_F24 = 0x87
+ VK_NUMLOCK = 0x90
+ VK_SCROLL = 0x91
+ VK_OEM_NEC_EQUAL = 0x92
+ VK_OEM_FJ_JISHO = 0x92
+ VK_OEM_FJ_MASSHOU = 0x93
+ VK_OEM_FJ_TOUROKU = 0x94
+ VK_OEM_FJ_LOYA = 0x95
+ VK_OEM_FJ_ROYA = 0x96
+ VK_LSHIFT = 0xA0
+ VK_RSHIFT = 0xA1
+ VK_LCONTROL = 0xA2
+ VK_RCONTROL = 0xA3
+ VK_LMENU = 0xA4
+ VK_RMENU = 0xA5
+ VK_BROWSER_BACK = 0xA6
+ VK_BROWSER_FORWARD = 0xA7
+ VK_BROWSER_REFRESH = 0xA8
+ VK_BROWSER_STOP = 0xA9
+ VK_BROWSER_SEARCH = 0xAA
+ VK_BROWSER_FAVORITES = 0xAB
+ VK_BROWSER_HOME = 0xAC
+ VK_VOLUME_MUTE = 0xAD
+ VK_VOLUME_DOWN = 0xAE
+ VK_VOLUME_UP = 0xAF
+ VK_MEDIA_NEXT_TRACK = 0xB0
+ VK_MEDIA_PREV_TRACK = 0xB1
+ VK_MEDIA_STOP = 0xB2
+ VK_MEDIA_PLAY_PAUSE = 0xB3
+ VK_LAUNCH_MAIL = 0xB4
+ VK_LAUNCH_MEDIA_SELECT = 0xB5
+ VK_LAUNCH_APP1 = 0xB6
+ VK_LAUNCH_APP2 = 0xB7
+ VK_OEM_1 = 0xBA
+ VK_OEM_PLUS = 0xBB
+ VK_OEM_COMMA = 0xBC
+ VK_OEM_MINUS = 0xBD
+ VK_OEM_PERIOD = 0xBE
+ VK_OEM_2 = 0xBF
+ VK_OEM_3 = 0xC0
+ VK_OEM_4 = 0xDB
+ VK_OEM_5 = 0xDC
+ VK_OEM_6 = 0xDD
+ VK_OEM_7 = 0xDE
+ VK_OEM_8 = 0xDF
+ VK_OEM_AX = 0xE1
+ VK_OEM_102 = 0xE2
+ VK_ICO_HELP = 0xE3
+ VK_ICO_00 = 0xE4
+ VK_PROCESSKEY = 0xE5
+ VK_ICO_CLEAR = 0xE6
+ VK_OEM_RESET = 0xE9
+ VK_OEM_JUMP = 0xEA
+ VK_OEM_PA1 = 0xEB
+ VK_OEM_PA2 = 0xEC
+ VK_OEM_PA3 = 0xED
+ VK_OEM_WSCTRL = 0xEE
+ VK_OEM_CUSEL = 0xEF
+ VK_OEM_ATTN = 0xF0
+ VK_OEM_FINISH = 0xF1
+ VK_OEM_COPY = 0xF2
+ VK_OEM_AUTO = 0xF3
+ VK_OEM_ENLW = 0xF4
+ VK_OEM_BACKTAB = 0xF5
+ VK_ATTN = 0xF6
+ VK_CRSEL = 0xF7
+ VK_EXSEL = 0xF8
+ VK_EREOF = 0xF9
+ VK_PLAY = 0xFA
+ VK_ZOOM = 0xFB
+ VK_NONAME = 0xFC
+ VK_PA1 = 0xFD
+ VK_OEM_CLEAR = 0xFE
+)
+
+// Mouse button constants.
+// https://docs.microsoft.com/en-us/windows/console/mouse-event-record-str
+const (
+ FROM_LEFT_1ST_BUTTON_PRESSED = 0x0001
+ RIGHTMOST_BUTTON_PRESSED = 0x0002
+ FROM_LEFT_2ND_BUTTON_PRESSED = 0x0004
+ FROM_LEFT_3RD_BUTTON_PRESSED = 0x0008
+ FROM_LEFT_4TH_BUTTON_PRESSED = 0x0010
+)
+
+// Control key state constaints.
+// https://docs.microsoft.com/en-us/windows/console/key-event-record-str
+// https://docs.microsoft.com/en-us/windows/console/mouse-event-record-str
+const (
+ CAPSLOCK_ON = 0x0080
+ ENHANCED_KEY = 0x0100
+ LEFT_ALT_PRESSED = 0x0002
+ LEFT_CTRL_PRESSED = 0x0008
+ NUMLOCK_ON = 0x0020
+ RIGHT_ALT_PRESSED = 0x0001
+ RIGHT_CTRL_PRESSED = 0x0004
+ SCROLLLOCK_ON = 0x0040
+ SHIFT_PRESSED = 0x0010
+)
+
+// Mouse event record event flags.
+// https://docs.microsoft.com/en-us/windows/console/mouse-event-record-str
+const (
+ MOUSE_MOVED = 0x0001
+ DOUBLE_CLICK = 0x0002
+ MOUSE_WHEELED = 0x0004
+ MOUSE_HWHEELED = 0x0008
+)
+
+// Input Record Event Types
+// https://learn.microsoft.com/en-us/windows/console/input-record-str
+const (
+ FOCUS_EVENT = 0x0010
+ KEY_EVENT = 0x0001
+ MENU_EVENT = 0x0008
+ MOUSE_EVENT = 0x0002
+ WINDOW_BUFFER_SIZE_EVENT = 0x0004
+)
diff --git a/openshift/default-catalog-consistency/vendor/golang.org/x/sys/windows/zsyscall_windows.go b/openshift/default-catalog-consistency/vendor/golang.org/x/sys/windows/zsyscall_windows.go
index 01c0716c2c..a58bc48b8e 100644
--- a/openshift/default-catalog-consistency/vendor/golang.org/x/sys/windows/zsyscall_windows.go
+++ b/openshift/default-catalog-consistency/vendor/golang.org/x/sys/windows/zsyscall_windows.go
@@ -511,6 +511,7 @@ var (
procFreeAddrInfoW = modws2_32.NewProc("FreeAddrInfoW")
procGetAddrInfoW = modws2_32.NewProc("GetAddrInfoW")
procWSACleanup = modws2_32.NewProc("WSACleanup")
+ procWSADuplicateSocketW = modws2_32.NewProc("WSADuplicateSocketW")
procWSAEnumProtocolsW = modws2_32.NewProc("WSAEnumProtocolsW")
procWSAGetOverlappedResult = modws2_32.NewProc("WSAGetOverlappedResult")
procWSAIoctl = modws2_32.NewProc("WSAIoctl")
@@ -4391,6 +4392,14 @@ func WSACleanup() (err error) {
return
}
+func WSADuplicateSocket(s Handle, processID uint32, info *WSAProtocolInfo) (err error) {
+ r1, _, e1 := syscall.Syscall(procWSADuplicateSocketW.Addr(), 3, uintptr(s), uintptr(processID), uintptr(unsafe.Pointer(info)))
+ if r1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
func WSAEnumProtocols(protocols *int32, protocolBuffer *WSAProtocolInfo, bufferLength *uint32) (n int32, err error) {
r0, _, e1 := syscall.Syscall(procWSAEnumProtocolsW.Addr(), 3, uintptr(unsafe.Pointer(protocols)), uintptr(unsafe.Pointer(protocolBuffer)), uintptr(unsafe.Pointer(bufferLength)))
n = int32(r0)
diff --git a/openshift/default-catalog-consistency/vendor/golang.org/x/term/terminal.go b/openshift/default-catalog-consistency/vendor/golang.org/x/term/terminal.go
index 14f89470ab..13e9a64ad1 100644
--- a/openshift/default-catalog-consistency/vendor/golang.org/x/term/terminal.go
+++ b/openshift/default-catalog-consistency/vendor/golang.org/x/term/terminal.go
@@ -6,6 +6,7 @@ package term
import (
"bytes"
+ "fmt"
"io"
"runtime"
"strconv"
@@ -36,6 +37,26 @@ var vt100EscapeCodes = EscapeCodes{
Reset: []byte{keyEscape, '[', '0', 'm'},
}
+// A History provides a (possibly bounded) queue of input lines read by [Terminal.ReadLine].
+type History interface {
+ // Add will be called by [Terminal.ReadLine] to add
+ // a new, most recent entry to the history.
+ // It is allowed to drop any entry, including
+ // the entry being added (e.g., if it's deemed an invalid entry),
+ // the least-recent entry (e.g., to keep the history bounded),
+ // or any other entry.
+ Add(entry string)
+
+ // Len returns the number of entries in the history.
+ Len() int
+
+ // At returns an entry from the history.
+ // Index 0 is the most-recently added entry and
+ // index Len()-1 is the least-recently added entry.
+ // If index is < 0 or >= Len(), it panics.
+ At(idx int) string
+}
+
// Terminal contains the state for running a VT100 terminal that is capable of
// reading lines of input.
type Terminal struct {
@@ -86,9 +107,14 @@ type Terminal struct {
remainder []byte
inBuf [256]byte
- // history contains previously entered commands so that they can be
- // accessed with the up and down keys.
- history stRingBuffer
+ // History records and retrieves lines of input read by [ReadLine] which
+ // a user can retrieve and navigate using the up and down arrow keys.
+ //
+ // It is not safe to call ReadLine concurrently with any methods on History.
+ //
+ // [NewTerminal] sets this to a default implementation that records the
+ // last 100 lines of input.
+ History History
// historyIndex stores the currently accessed history entry, where zero
// means the immediately previous entry.
historyIndex int
@@ -111,6 +137,7 @@ func NewTerminal(c io.ReadWriter, prompt string) *Terminal {
termHeight: 24,
echo: true,
historyIndex: -1,
+ History: &stRingBuffer{},
}
}
@@ -450,6 +477,23 @@ func visualLength(runes []rune) int {
return length
}
+// histroryAt unlocks the terminal and relocks it while calling History.At.
+func (t *Terminal) historyAt(idx int) (string, bool) {
+ t.lock.Unlock() // Unlock to avoid deadlock if History methods use the output writer.
+ defer t.lock.Lock() // panic in At (or Len) protection.
+ if idx < 0 || idx >= t.History.Len() {
+ return "", false
+ }
+ return t.History.At(idx), true
+}
+
+// historyAdd unlocks the terminal and relocks it while calling History.Add.
+func (t *Terminal) historyAdd(entry string) {
+ t.lock.Unlock() // Unlock to avoid deadlock if History methods use the output writer.
+ defer t.lock.Lock() // panic in Add protection.
+ t.History.Add(entry)
+}
+
// handleKey processes the given key and, optionally, returns a line of text
// that the user has entered.
func (t *Terminal) handleKey(key rune) (line string, ok bool) {
@@ -497,7 +541,7 @@ func (t *Terminal) handleKey(key rune) (line string, ok bool) {
t.pos = len(t.line)
t.moveCursorToPos(t.pos)
case keyUp:
- entry, ok := t.history.NthPreviousEntry(t.historyIndex + 1)
+ entry, ok := t.historyAt(t.historyIndex + 1)
if !ok {
return "", false
}
@@ -516,7 +560,7 @@ func (t *Terminal) handleKey(key rune) (line string, ok bool) {
t.setLine(runes, len(runes))
t.historyIndex--
default:
- entry, ok := t.history.NthPreviousEntry(t.historyIndex - 1)
+ entry, ok := t.historyAt(t.historyIndex - 1)
if ok {
t.historyIndex--
runes := []rune(entry)
@@ -781,7 +825,7 @@ func (t *Terminal) readLine() (line string, err error) {
if lineOk {
if t.echo {
t.historyIndex = -1
- t.history.Add(line)
+ t.historyAdd(line)
}
if lineIsPasted {
err = ErrPasteIndicator
@@ -938,19 +982,23 @@ func (s *stRingBuffer) Add(a string) {
}
}
-// NthPreviousEntry returns the value passed to the nth previous call to Add.
+func (s *stRingBuffer) Len() int {
+ return s.size
+}
+
+// At returns the value passed to the nth previous call to Add.
// If n is zero then the immediately prior value is returned, if one, then the
// next most recent, and so on. If such an element doesn't exist then ok is
// false.
-func (s *stRingBuffer) NthPreviousEntry(n int) (value string, ok bool) {
+func (s *stRingBuffer) At(n int) string {
if n < 0 || n >= s.size {
- return "", false
+ panic(fmt.Sprintf("term: history index [%d] out of range [0,%d)", n, s.size))
}
index := s.head - n
if index < 0 {
index += s.max
}
- return s.entries[index], true
+ return s.entries[index]
}
// readPasswordLine reads from reader until it finds \n or io.EOF.
diff --git a/openshift/default-catalog-consistency/vendor/golang.org/x/tools/go/ast/inspector/inspector.go b/openshift/default-catalog-consistency/vendor/golang.org/x/tools/go/ast/inspector/inspector.go
index 1da4a361f0..674490a65b 100644
--- a/openshift/default-catalog-consistency/vendor/golang.org/x/tools/go/ast/inspector/inspector.go
+++ b/openshift/default-catalog-consistency/vendor/golang.org/x/tools/go/ast/inspector/inspector.go
@@ -48,10 +48,10 @@ type Inspector struct {
events []event
}
-//go:linkname events
+//go:linkname events golang.org/x/tools/go/ast/inspector.events
func events(in *Inspector) []event { return in.events }
-//go:linkname packEdgeKindAndIndex
+//go:linkname packEdgeKindAndIndex golang.org/x/tools/go/ast/inspector.packEdgeKindAndIndex
func packEdgeKindAndIndex(ek edge.Kind, index int) int32 {
return int32(uint32(index+1)<<7 | uint32(ek))
}
@@ -59,7 +59,7 @@ func packEdgeKindAndIndex(ek edge.Kind, index int) int32 {
// unpackEdgeKindAndIndex unpacks the edge kind and edge index (within
// an []ast.Node slice) from the parent field of a pop event.
//
-//go:linkname unpackEdgeKindAndIndex
+//go:linkname unpackEdgeKindAndIndex golang.org/x/tools/go/ast/inspector.unpackEdgeKindAndIndex
func unpackEdgeKindAndIndex(x int32) (edge.Kind, int) {
// The "parent" field of a pop node holds the
// edge Kind in the lower 7 bits and the index+1
diff --git a/openshift/default-catalog-consistency/vendor/golang.org/x/tools/go/ast/inspector/typeof.go b/openshift/default-catalog-consistency/vendor/golang.org/x/tools/go/ast/inspector/typeof.go
index 9778448457..e936c67c98 100644
--- a/openshift/default-catalog-consistency/vendor/golang.org/x/tools/go/ast/inspector/typeof.go
+++ b/openshift/default-catalog-consistency/vendor/golang.org/x/tools/go/ast/inspector/typeof.go
@@ -217,7 +217,7 @@ func typeOf(n ast.Node) uint64 {
return 0
}
-//go:linkname maskOf
+//go:linkname maskOf golang.org/x/tools/go/ast/inspector.maskOf
func maskOf(nodes []ast.Node) uint64 {
if len(nodes) == 0 {
return math.MaxUint64 // match all node types
diff --git a/openshift/default-catalog-consistency/vendor/google.golang.org/genproto/googleapis/api/annotations/annotations.pb.go b/openshift/default-catalog-consistency/vendor/google.golang.org/genproto/googleapis/api/annotations/annotations.pb.go
index 8b462f3dfe..0b789e2c5e 100644
--- a/openshift/default-catalog-consistency/vendor/google.golang.org/genproto/googleapis/api/annotations/annotations.pb.go
+++ b/openshift/default-catalog-consistency/vendor/google.golang.org/genproto/googleapis/api/annotations/annotations.pb.go
@@ -1,4 +1,4 @@
-// Copyright 2024 Google LLC
+// Copyright 2025 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
diff --git a/openshift/default-catalog-consistency/vendor/google.golang.org/genproto/googleapis/api/annotations/client.pb.go b/openshift/default-catalog-consistency/vendor/google.golang.org/genproto/googleapis/api/annotations/client.pb.go
index db7806cb99..f840481726 100644
--- a/openshift/default-catalog-consistency/vendor/google.golang.org/genproto/googleapis/api/annotations/client.pb.go
+++ b/openshift/default-catalog-consistency/vendor/google.golang.org/genproto/googleapis/api/annotations/client.pb.go
@@ -1,4 +1,4 @@
-// Copyright 2024 Google LLC
+// Copyright 2025 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
diff --git a/openshift/default-catalog-consistency/vendor/google.golang.org/genproto/googleapis/api/annotations/field_behavior.pb.go b/openshift/default-catalog-consistency/vendor/google.golang.org/genproto/googleapis/api/annotations/field_behavior.pb.go
index 08505ba3fe..5d583b8660 100644
--- a/openshift/default-catalog-consistency/vendor/google.golang.org/genproto/googleapis/api/annotations/field_behavior.pb.go
+++ b/openshift/default-catalog-consistency/vendor/google.golang.org/genproto/googleapis/api/annotations/field_behavior.pb.go
@@ -1,4 +1,4 @@
-// Copyright 2024 Google LLC
+// Copyright 2025 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
diff --git a/openshift/default-catalog-consistency/vendor/google.golang.org/genproto/googleapis/api/annotations/field_info.pb.go b/openshift/default-catalog-consistency/vendor/google.golang.org/genproto/googleapis/api/annotations/field_info.pb.go
index a462e7d013..53e9dd1e99 100644
--- a/openshift/default-catalog-consistency/vendor/google.golang.org/genproto/googleapis/api/annotations/field_info.pb.go
+++ b/openshift/default-catalog-consistency/vendor/google.golang.org/genproto/googleapis/api/annotations/field_info.pb.go
@@ -1,4 +1,4 @@
-// Copyright 2024 Google LLC
+// Copyright 2025 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
diff --git a/openshift/default-catalog-consistency/vendor/google.golang.org/genproto/googleapis/api/annotations/http.pb.go b/openshift/default-catalog-consistency/vendor/google.golang.org/genproto/googleapis/api/annotations/http.pb.go
index c93b4f5248..d30fcee4ce 100644
--- a/openshift/default-catalog-consistency/vendor/google.golang.org/genproto/googleapis/api/annotations/http.pb.go
+++ b/openshift/default-catalog-consistency/vendor/google.golang.org/genproto/googleapis/api/annotations/http.pb.go
@@ -1,4 +1,4 @@
-// Copyright 2024 Google LLC
+// Copyright 2025 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
diff --git a/openshift/default-catalog-consistency/vendor/google.golang.org/genproto/googleapis/api/annotations/resource.pb.go b/openshift/default-catalog-consistency/vendor/google.golang.org/genproto/googleapis/api/annotations/resource.pb.go
index a1c543a948..175974a869 100644
--- a/openshift/default-catalog-consistency/vendor/google.golang.org/genproto/googleapis/api/annotations/resource.pb.go
+++ b/openshift/default-catalog-consistency/vendor/google.golang.org/genproto/googleapis/api/annotations/resource.pb.go
@@ -1,4 +1,4 @@
-// Copyright 2024 Google LLC
+// Copyright 2025 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
diff --git a/openshift/default-catalog-consistency/vendor/google.golang.org/genproto/googleapis/api/annotations/routing.pb.go b/openshift/default-catalog-consistency/vendor/google.golang.org/genproto/googleapis/api/annotations/routing.pb.go
index 2b54db3045..b8c4aa71f2 100644
--- a/openshift/default-catalog-consistency/vendor/google.golang.org/genproto/googleapis/api/annotations/routing.pb.go
+++ b/openshift/default-catalog-consistency/vendor/google.golang.org/genproto/googleapis/api/annotations/routing.pb.go
@@ -1,4 +1,4 @@
-// Copyright 2024 Google LLC
+// Copyright 2025 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
diff --git a/openshift/default-catalog-consistency/vendor/google.golang.org/genproto/googleapis/api/launch_stage.pb.go b/openshift/default-catalog-consistency/vendor/google.golang.org/genproto/googleapis/api/launch_stage.pb.go
index 498020e33c..a69c1d4734 100644
--- a/openshift/default-catalog-consistency/vendor/google.golang.org/genproto/googleapis/api/launch_stage.pb.go
+++ b/openshift/default-catalog-consistency/vendor/google.golang.org/genproto/googleapis/api/launch_stage.pb.go
@@ -1,4 +1,4 @@
-// Copyright 2024 Google LLC
+// Copyright 2025 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
diff --git a/openshift/default-catalog-consistency/vendor/google.golang.org/grpc/CONTRIBUTING.md b/openshift/default-catalog-consistency/vendor/google.golang.org/grpc/CONTRIBUTING.md
index d9bfa6e1e7..1de0ce6669 100644
--- a/openshift/default-catalog-consistency/vendor/google.golang.org/grpc/CONTRIBUTING.md
+++ b/openshift/default-catalog-consistency/vendor/google.golang.org/grpc/CONTRIBUTING.md
@@ -1,73 +1,102 @@
# How to contribute
-We definitely welcome your patches and contributions to gRPC! Please read the gRPC
-organization's [governance rules](https://github.com/grpc/grpc-community/blob/master/governance.md)
-and [contribution guidelines](https://github.com/grpc/grpc-community/blob/master/CONTRIBUTING.md) before proceeding.
+We welcome your patches and contributions to gRPC! Please read the gRPC
+organization's [governance
+rules](https://github.com/grpc/grpc-community/blob/master/governance.md) before
+proceeding.
If you are new to GitHub, please start by reading [Pull Request howto](https://help.github.com/articles/about-pull-requests/)
## Legal requirements
In order to protect both you and ourselves, you will need to sign the
-[Contributor License Agreement](https://identity.linuxfoundation.org/projects/cncf).
+[Contributor License
+Agreement](https://identity.linuxfoundation.org/projects/cncf). When you create
+your first PR, a link will be added as a comment that contains the steps needed
+to complete this process.
-## Guidelines for Pull Requests
-How to get your contributions merged smoothly and quickly.
+## Getting Started
-- Create **small PRs** that are narrowly focused on **addressing a single
- concern**. We often times receive PRs that are trying to fix several things at
- a time, but only one fix is considered acceptable, nothing gets merged and
- both author's & review's time is wasted. Create more PRs to address different
- concerns and everyone will be happy.
+A great way to start is by searching through our open issues. [Unassigned issues
+labeled as "help
+wanted"](https://github.com/grpc/grpc-go/issues?q=sort%3Aupdated-desc%20is%3Aissue%20is%3Aopen%20label%3A%22Status%3A%20Help%20Wanted%22%20no%3Aassignee)
+are especially nice for first-time contributors, as they should be well-defined
+problems that already have agreed-upon solutions.
-- If you are searching for features to work on, issues labeled [Status: Help
- Wanted](https://github.com/grpc/grpc-go/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%22Status%3A+Help+Wanted%22)
- is a great place to start. These issues are well-documented and usually can be
- resolved with a single pull request.
+## Code Style
-- If you are adding a new file, make sure it has the copyright message template
- at the top as a comment. You can copy over the message from an existing file
- and update the year.
+We follow [Google's published Go style
+guide](https://google.github.io/styleguide/go/). Note that there are three
+primary documents that make up this style guide; please follow them as closely
+as possible. If a reviewer recommends something that contradicts those
+guidelines, there may be valid reasons to do so, but it should be rare.
-- The grpc package should only depend on standard Go packages and a small number
- of exceptions. If your contribution introduces new dependencies which are NOT
- in the [list](https://godoc.org/google.golang.org/grpc?imports), you need a
- discussion with gRPC-Go authors and consultants.
+## Guidelines for Pull Requests
-- For speculative changes, consider opening an issue and discussing it first. If
- you are suggesting a behavioral or API change, consider starting with a [gRFC
- proposal](https://github.com/grpc/proposal).
+How to get your contributions merged smoothly and quickly:
+
+- Create **small PRs** that are narrowly focused on **addressing a single
+ concern**. We often receive PRs that attempt to fix several things at the same
+ time, and if one part of the PR has a problem, that will hold up the entire
+ PR.
+
+- For **speculative changes**, consider opening an issue and discussing it
+ first. If you are suggesting a behavioral or API change, consider starting
+ with a [gRFC proposal](https://github.com/grpc/proposal). Many new features
+ that are not bug fixes will require cross-language agreement.
+
+- If you want to fix **formatting or style**, consider whether your changes are
+ an obvious improvement or might be considered a personal preference. If a
+ style change is based on preference, it likely will not be accepted. If it
+ corrects widely agreed-upon anti-patterns, then please do create a PR and
+ explain the benefits of the change.
+
+- For correcting **misspellings**, please be aware that we use some terms that
+ are sometimes flagged by spell checkers. As an example, "if an only if" is
+ often written as "iff". Please do not make spelling correction changes unless
+ you are certain they are misspellings.
- Provide a good **PR description** as a record of **what** change is being made
and **why** it was made. Link to a GitHub issue if it exists.
-- If you want to fix formatting or style, consider whether your changes are an
- obvious improvement or might be considered a personal preference. If a style
- change is based on preference, it likely will not be accepted. If it corrects
- widely agreed-upon anti-patterns, then please do create a PR and explain the
- benefits of the change.
+- Maintain a **clean commit history** and use **meaningful commit messages**.
+ PRs with messy commit histories are difficult to review and won't be merged.
+ Before sending your PR, ensure your changes are based on top of the latest
+ `upstream/master` commits, and avoid rebasing in the middle of a code review.
+ You should **never use `git push -f`** unless absolutely necessary during a
+ review, as it can interfere with GitHub's tracking of comments.
-- Unless your PR is trivial, you should expect there will be reviewer comments
- that you'll need to address before merging. We'll mark it as `Status: Requires
- Reporter Clarification` if we expect you to respond to these comments in a
- timely manner. If the PR remains inactive for 6 days, it will be marked as
- `stale` and automatically close 7 days after that if we don't hear back from
- you.
+- **All tests need to be passing** before your change can be merged. We
+ recommend you run tests locally before creating your PR to catch breakages
+ early on:
-- Maintain **clean commit history** and use **meaningful commit messages**. PRs
- with messy commit history are difficult to review and won't be merged. Use
- `rebase -i upstream/master` to curate your commit history and/or to bring in
- latest changes from master (but avoid rebasing in the middle of a code
- review).
+ - `./scripts/vet.sh` to catch vet errors.
+ - `go test -cpu 1,4 -timeout 7m ./...` to run the tests.
+ - `go test -race -cpu 1,4 -timeout 7m ./...` to run tests in race mode.
-- Keep your PR up to date with upstream/master (if there are merge conflicts, we
- can't really merge your change).
+ Note that we have a multi-module repo, so `go test` commands may need to be
+ run from the root of each module in order to cause all tests to run.
-- **All tests need to be passing** before your change can be merged. We
- recommend you **run tests locally** before creating your PR to catch breakages
- early on.
- - `./scripts/vet.sh` to catch vet errors
- - `go test -cpu 1,4 -timeout 7m ./...` to run the tests
- - `go test -race -cpu 1,4 -timeout 7m ./...` to run tests in race mode
+ *Alternatively*, you may find it easier to push your changes to your fork on
+ GitHub, which will trigger a GitHub Actions run that you can use to verify
+ everything is passing.
+
+- If you are adding a new file, make sure it has the **copyright message**
+ template at the top as a comment. You can copy the message from an existing
+ file and update the year.
+
+- The grpc package should only depend on standard Go packages and a small number
+ of exceptions. **If your contribution introduces new dependencies**, you will
+ need a discussion with gRPC-Go maintainers. A GitHub action check will run on
+ every PR, and will flag any transitive dependency changes from any public
+ package.
+
+- Unless your PR is trivial, you should **expect reviewer comments** that you
+ will need to address before merging. We'll label the PR as `Status: Requires
+ Reporter Clarification` if we expect you to respond to these comments in a
+ timely manner. If the PR remains inactive for 6 days, it will be marked as
+ `stale`, and we will automatically close it after 7 days if we don't hear back
+ from you. Please feel free to ping issues or bugs if you do not get a response
+ within a week.
-- Exceptions to the rules can be made if there's a compelling reason for doing so.
+- Exceptions to the rules can be made if there's a compelling reason to do so.
diff --git a/openshift/default-catalog-consistency/vendor/google.golang.org/grpc/MAINTAINERS.md b/openshift/default-catalog-consistency/vendor/google.golang.org/grpc/MAINTAINERS.md
index 5d4096d46a..df35bb9a88 100644
--- a/openshift/default-catalog-consistency/vendor/google.golang.org/grpc/MAINTAINERS.md
+++ b/openshift/default-catalog-consistency/vendor/google.golang.org/grpc/MAINTAINERS.md
@@ -9,21 +9,19 @@ for general contribution guidelines.
## Maintainers (in alphabetical order)
-- [aranjans](https://github.com/aranjans), Google LLC
- [arjan-bal](https://github.com/arjan-bal), Google LLC
- [arvindbr8](https://github.com/arvindbr8), Google LLC
- [atollena](https://github.com/atollena), Datadog, Inc.
- [dfawley](https://github.com/dfawley), Google LLC
- [easwars](https://github.com/easwars), Google LLC
-- [erm-g](https://github.com/erm-g), Google LLC
- [gtcooke94](https://github.com/gtcooke94), Google LLC
-- [purnesh42h](https://github.com/purnesh42h), Google LLC
-- [zasweq](https://github.com/zasweq), Google LLC
## Emeritus Maintainers (in alphabetical order)
- [adelez](https://github.com/adelez)
+- [aranjans](https://github.com/aranjans)
- [canguler](https://github.com/canguler)
- [cesarghali](https://github.com/cesarghali)
+- [erm-g](https://github.com/erm-g)
- [iamqizhao](https://github.com/iamqizhao)
- [jeanbza](https://github.com/jeanbza)
- [jtattermusch](https://github.com/jtattermusch)
@@ -32,5 +30,7 @@ for general contribution guidelines.
- [matt-kwong](https://github.com/matt-kwong)
- [menghanl](https://github.com/menghanl)
- [nicolasnoble](https://github.com/nicolasnoble)
+- [purnesh42h](https://github.com/purnesh42h)
- [srini100](https://github.com/srini100)
- [yongni](https://github.com/yongni)
+- [zasweq](https://github.com/zasweq)
diff --git a/openshift/default-catalog-consistency/vendor/google.golang.org/grpc/README.md b/openshift/default-catalog-consistency/vendor/google.golang.org/grpc/README.md
index b572707c62..f9a88d597e 100644
--- a/openshift/default-catalog-consistency/vendor/google.golang.org/grpc/README.md
+++ b/openshift/default-catalog-consistency/vendor/google.golang.org/grpc/README.md
@@ -32,6 +32,7 @@ import "google.golang.org/grpc"
- [Low-level technical docs](Documentation) from this repository
- [Performance benchmark][]
- [Examples](examples)
+- [Contribution guidelines](CONTRIBUTING.md)
## FAQ
diff --git a/openshift/default-catalog-consistency/vendor/google.golang.org/grpc/balancer/balancer.go b/openshift/default-catalog-consistency/vendor/google.golang.org/grpc/balancer/balancer.go
index c9b343c715..b1264017db 100644
--- a/openshift/default-catalog-consistency/vendor/google.golang.org/grpc/balancer/balancer.go
+++ b/openshift/default-catalog-consistency/vendor/google.golang.org/grpc/balancer/balancer.go
@@ -360,6 +360,10 @@ type Balancer interface {
// call SubConn.Shutdown for its existing SubConns; however, this will be
// required in a future release, so it is recommended.
Close()
+ // ExitIdle instructs the LB policy to reconnect to backends / exit the
+ // IDLE state, if appropriate and possible. Note that SubConns that enter
+ // the IDLE state will not reconnect until SubConn.Connect is called.
+ ExitIdle()
}
// ExitIdler is an optional interface for balancers to implement. If
@@ -367,8 +371,8 @@ type Balancer interface {
// the ClientConn is idle. If unimplemented, ClientConn.Connect will cause
// all SubConns to connect.
//
-// Notice: it will be required for all balancers to implement this in a future
-// release.
+// Deprecated: All balancers must implement this interface. This interface will
+// be removed in a future release.
type ExitIdler interface {
// ExitIdle instructs the LB policy to reconnect to backends / exit the
// IDLE state, if appropriate and possible. Note that SubConns that enter
diff --git a/openshift/default-catalog-consistency/vendor/google.golang.org/grpc/balancer/base/balancer.go b/openshift/default-catalog-consistency/vendor/google.golang.org/grpc/balancer/base/balancer.go
index d5ed172ae6..4d576876d8 100644
--- a/openshift/default-catalog-consistency/vendor/google.golang.org/grpc/balancer/base/balancer.go
+++ b/openshift/default-catalog-consistency/vendor/google.golang.org/grpc/balancer/base/balancer.go
@@ -41,7 +41,7 @@ func (bb *baseBuilder) Build(cc balancer.ClientConn, _ balancer.BuildOptions) ba
cc: cc,
pickerBuilder: bb.pickerBuilder,
- subConns: resolver.NewAddressMap(),
+ subConns: resolver.NewAddressMapV2[balancer.SubConn](),
scStates: make(map[balancer.SubConn]connectivity.State),
csEvltr: &balancer.ConnectivityStateEvaluator{},
config: bb.config,
@@ -65,7 +65,7 @@ type baseBalancer struct {
csEvltr *balancer.ConnectivityStateEvaluator
state connectivity.State
- subConns *resolver.AddressMap
+ subConns *resolver.AddressMapV2[balancer.SubConn]
scStates map[balancer.SubConn]connectivity.State
picker balancer.Picker
config Config
@@ -100,7 +100,7 @@ func (b *baseBalancer) UpdateClientConnState(s balancer.ClientConnState) error {
// Successful resolution; clear resolver error and ensure we return nil.
b.resolverErr = nil
// addrsSet is the set converted from addrs, it's used for quick lookup of an address.
- addrsSet := resolver.NewAddressMap()
+ addrsSet := resolver.NewAddressMapV2[any]()
for _, a := range s.ResolverState.Addresses {
addrsSet.Set(a, nil)
if _, ok := b.subConns.Get(a); !ok {
@@ -122,8 +122,7 @@ func (b *baseBalancer) UpdateClientConnState(s balancer.ClientConnState) error {
}
}
for _, a := range b.subConns.Keys() {
- sci, _ := b.subConns.Get(a)
- sc := sci.(balancer.SubConn)
+ sc, _ := b.subConns.Get(a)
// a was removed by resolver.
if _, ok := addrsSet.Get(a); !ok {
sc.Shutdown()
@@ -173,8 +172,7 @@ func (b *baseBalancer) regeneratePicker() {
// Filter out all ready SCs from full subConn map.
for _, addr := range b.subConns.Keys() {
- sci, _ := b.subConns.Get(addr)
- sc := sci.(balancer.SubConn)
+ sc, _ := b.subConns.Get(addr)
if st, ok := b.scStates[sc]; ok && st == connectivity.Ready {
readySCs[sc] = SubConnInfo{Address: addr}
}
diff --git a/openshift/default-catalog-consistency/vendor/google.golang.org/grpc/balancer/endpointsharding/endpointsharding.go b/openshift/default-catalog-consistency/vendor/google.golang.org/grpc/balancer/endpointsharding/endpointsharding.go
index 421c4fecc9..360db08ebc 100644
--- a/openshift/default-catalog-consistency/vendor/google.golang.org/grpc/balancer/endpointsharding/endpointsharding.go
+++ b/openshift/default-catalog-consistency/vendor/google.golang.org/grpc/balancer/endpointsharding/endpointsharding.go
@@ -37,6 +37,8 @@ import (
"google.golang.org/grpc/resolver"
)
+var randIntN = rand.IntN
+
// ChildState is the balancer state of a child along with the endpoint which
// identifies the child balancer.
type ChildState struct {
@@ -45,7 +47,15 @@ type ChildState struct {
// Balancer exposes only the ExitIdler interface of the child LB policy.
// Other methods of the child policy are called only by endpointsharding.
- Balancer balancer.ExitIdler
+ Balancer ExitIdler
+}
+
+// ExitIdler provides access to only the ExitIdle method of the child balancer.
+type ExitIdler interface {
+ // ExitIdle instructs the LB policy to reconnect to backends / exit the
+ // IDLE state, if appropriate and possible. Note that SubConns that enter
+ // the IDLE state will not reconnect until SubConn.Connect is called.
+ ExitIdle()
}
// Options are the options to configure the behaviour of the
@@ -73,7 +83,7 @@ func NewBalancer(cc balancer.ClientConn, opts balancer.BuildOptions, childBuilde
esOpts: esOpts,
childBuilder: childBuilder,
}
- es.children.Store(resolver.NewEndpointMap())
+ es.children.Store(resolver.NewEndpointMap[*balancerWrapper]())
return es
}
@@ -90,7 +100,7 @@ type endpointSharding struct {
// calls into a child. To avoid deadlocks, do not acquire childMu while
// holding mu.
childMu sync.Mutex
- children atomic.Pointer[resolver.EndpointMap] // endpoint -> *balancerWrapper
+ children atomic.Pointer[resolver.EndpointMap[*balancerWrapper]]
// inhibitChildUpdates is set during UpdateClientConnState/ResolverError
// calls (calls to children will each produce an update, only want one
@@ -104,6 +114,21 @@ type endpointSharding struct {
mu sync.Mutex
}
+// rotateEndpoints returns a slice of all the input endpoints rotated a random
+// amount.
+func rotateEndpoints(es []resolver.Endpoint) []resolver.Endpoint {
+ les := len(es)
+ if les == 0 {
+ return es
+ }
+ r := randIntN(les)
+ // Make a copy to avoid mutating data beyond the end of es.
+ ret := make([]resolver.Endpoint, les)
+ copy(ret, es[r:])
+ copy(ret[les-r:], es[:r])
+ return ret
+}
+
// UpdateClientConnState creates a child for new endpoints and deletes children
// for endpoints that are no longer present. It also updates all the children,
// and sends a single synchronous update of the childrens' aggregated state at
@@ -122,18 +147,17 @@ func (es *endpointSharding) UpdateClientConnState(state balancer.ClientConnState
var ret error
children := es.children.Load()
- newChildren := resolver.NewEndpointMap()
+ newChildren := resolver.NewEndpointMap[*balancerWrapper]()
// Update/Create new children.
- for _, endpoint := range state.ResolverState.Endpoints {
+ for _, endpoint := range rotateEndpoints(state.ResolverState.Endpoints) {
if _, ok := newChildren.Get(endpoint); ok {
// Endpoint child was already created, continue to avoid duplicate
// update.
continue
}
- var childBalancer *balancerWrapper
- if val, ok := children.Get(endpoint); ok {
- childBalancer = val.(*balancerWrapper)
+ childBalancer, ok := children.Get(endpoint)
+ if ok {
// Endpoint attributes may have changed, update the stored endpoint.
es.mu.Lock()
childBalancer.childState.Endpoint = endpoint
@@ -166,7 +190,7 @@ func (es *endpointSharding) UpdateClientConnState(state balancer.ClientConnState
for _, e := range children.Keys() {
child, _ := children.Get(e)
if _, ok := newChildren.Get(e); !ok {
- child.(*balancerWrapper).closeLocked()
+ child.closeLocked()
}
}
es.children.Store(newChildren)
@@ -189,7 +213,7 @@ func (es *endpointSharding) ResolverError(err error) {
}()
children := es.children.Load()
for _, child := range children.Values() {
- child.(*balancerWrapper).resolverErrorLocked(err)
+ child.resolverErrorLocked(err)
}
}
@@ -202,7 +226,17 @@ func (es *endpointSharding) Close() {
defer es.childMu.Unlock()
children := es.children.Load()
for _, child := range children.Values() {
- child.(*balancerWrapper).closeLocked()
+ child.closeLocked()
+ }
+}
+
+func (es *endpointSharding) ExitIdle() {
+ es.childMu.Lock()
+ defer es.childMu.Unlock()
+ for _, bw := range es.children.Load().Values() {
+ if !bw.isClosed {
+ bw.child.ExitIdle()
+ }
}
}
@@ -222,8 +256,7 @@ func (es *endpointSharding) updateState() {
childStates := make([]ChildState, 0, children.Len())
for _, child := range children.Values() {
- bw := child.(*balancerWrapper)
- childState := bw.childState
+ childState := child.childState
childStates = append(childStates, childState)
childPicker := childState.State.Picker
switch childState.State.ConnectivityState {
@@ -263,7 +296,7 @@ func (es *endpointSharding) updateState() {
p := &pickerWithChildStates{
pickers: pickers,
childStates: childStates,
- next: uint32(rand.IntN(len(pickers))),
+ next: uint32(randIntN(len(pickers))),
}
es.cc.UpdateState(balancer.State{
ConnectivityState: aggState,
@@ -328,15 +361,13 @@ func (bw *balancerWrapper) UpdateState(state balancer.State) {
// ExitIdle pings an IDLE child balancer to exit idle in a new goroutine to
// avoid deadlocks due to synchronous balancer state updates.
func (bw *balancerWrapper) ExitIdle() {
- if ei, ok := bw.child.(balancer.ExitIdler); ok {
- go func() {
- bw.es.childMu.Lock()
- if !bw.isClosed {
- ei.ExitIdle()
- }
- bw.es.childMu.Unlock()
- }()
- }
+ go func() {
+ bw.es.childMu.Lock()
+ if !bw.isClosed {
+ bw.child.ExitIdle()
+ }
+ bw.es.childMu.Unlock()
+ }()
}
// updateClientConnStateLocked delivers the ClientConnState to the child
diff --git a/openshift/default-catalog-consistency/vendor/google.golang.org/grpc/balancer/pickfirst/pickfirstleaf/pickfirstleaf.go b/openshift/default-catalog-consistency/vendor/google.golang.org/grpc/balancer/pickfirst/pickfirstleaf/pickfirstleaf.go
index 113181e6b3..67f315a0db 100644
--- a/openshift/default-catalog-consistency/vendor/google.golang.org/grpc/balancer/pickfirst/pickfirstleaf/pickfirstleaf.go
+++ b/openshift/default-catalog-consistency/vendor/google.golang.org/grpc/balancer/pickfirst/pickfirstleaf/pickfirstleaf.go
@@ -54,18 +54,9 @@ func init() {
balancer.Register(pickfirstBuilder{})
}
-type (
- // enableHealthListenerKeyType is a unique key type used in resolver
- // attributes to indicate whether the health listener usage is enabled.
- enableHealthListenerKeyType struct{}
- // managedByPickfirstKeyType is an attribute key type to inform Outlier
- // Detection that the generic health listener is being used.
- // TODO: https://github.com/grpc/grpc-go/issues/7915 - Remove this when
- // implementing the dualstack design. This is a hack. Once Dualstack is
- // completed, outlier detection will stop sending ejection updates through
- // the connectivity listener.
- managedByPickfirstKeyType struct{}
-)
+// enableHealthListenerKeyType is a unique key type used in resolver
+// attributes to indicate whether the health listener usage is enabled.
+type enableHealthListenerKeyType struct{}
var (
logger = grpclog.Component("pick-first-leaf-lb")
@@ -76,21 +67,21 @@ var (
disconnectionsMetric = expstats.RegisterInt64Count(expstats.MetricDescriptor{
Name: "grpc.lb.pick_first.disconnections",
Description: "EXPERIMENTAL. Number of times the selected subchannel becomes disconnected.",
- Unit: "disconnection",
+ Unit: "{disconnection}",
Labels: []string{"grpc.target"},
Default: false,
})
connectionAttemptsSucceededMetric = expstats.RegisterInt64Count(expstats.MetricDescriptor{
Name: "grpc.lb.pick_first.connection_attempts_succeeded",
Description: "EXPERIMENTAL. Number of successful connection attempts.",
- Unit: "attempt",
+ Unit: "{attempt}",
Labels: []string{"grpc.target"},
Default: false,
})
connectionAttemptsFailedMetric = expstats.RegisterInt64Count(expstats.MetricDescriptor{
Name: "grpc.lb.pick_first.connection_attempts_failed",
Description: "EXPERIMENTAL. Number of failed connection attempts.",
- Unit: "attempt",
+ Unit: "{attempt}",
Labels: []string{"grpc.target"},
Default: false,
})
@@ -122,7 +113,7 @@ func (pickfirstBuilder) Build(cc balancer.ClientConn, bo balancer.BuildOptions)
target: bo.Target.String(),
metricsRecorder: cc.MetricsRecorder(),
- subConns: resolver.NewAddressMap(),
+ subConns: resolver.NewAddressMapV2[*scData](),
state: connectivity.Connecting,
cancelConnectionTimer: func() {},
}
@@ -149,17 +140,6 @@ func EnableHealthListener(state resolver.State) resolver.State {
return state
}
-// IsManagedByPickfirst returns whether an address belongs to a SubConn
-// managed by the pickfirst LB policy.
-// TODO: https://github.com/grpc/grpc-go/issues/7915 - This is a hack to disable
-// outlier_detection via the with connectivity listener when using pick_first.
-// Once Dualstack changes are complete, all SubConns will be created by
-// pick_first and outlier detection will only use the health listener for
-// ejection. This hack can then be removed.
-func IsManagedByPickfirst(addr resolver.Address) bool {
- return addr.BalancerAttributes.Value(managedByPickfirstKeyType{}) != nil
-}
-
type pfConfig struct {
serviceconfig.LoadBalancingConfig `json:"-"`
@@ -186,7 +166,6 @@ type scData struct {
}
func (b *pickfirstBalancer) newSCData(addr resolver.Address) (*scData, error) {
- addr.BalancerAttributes = addr.BalancerAttributes.WithValue(managedByPickfirstKeyType{}, true)
sd := &scData{
rawConnectivityState: connectivity.Idle,
effectiveState: connectivity.Idle,
@@ -220,7 +199,7 @@ type pickfirstBalancer struct {
// updates.
state connectivity.State
// scData for active subonns mapped by address.
- subConns *resolver.AddressMap
+ subConns *resolver.AddressMapV2[*scData]
addressList addressList
firstPass bool
numTF int
@@ -319,7 +298,7 @@ func (b *pickfirstBalancer) UpdateClientConnState(state balancer.ClientConnState
prevAddr := b.addressList.currentAddress()
prevSCData, found := b.subConns.Get(prevAddr)
prevAddrsCount := b.addressList.size()
- isPrevRawConnectivityStateReady := found && prevSCData.(*scData).rawConnectivityState == connectivity.Ready
+ isPrevRawConnectivityStateReady := found && prevSCData.rawConnectivityState == connectivity.Ready
b.addressList.updateAddrs(newAddrs)
// If the previous ready SubConn exists in new address list,
@@ -381,21 +360,21 @@ func (b *pickfirstBalancer) startFirstPassLocked() {
b.numTF = 0
// Reset the connection attempt record for existing SubConns.
for _, sd := range b.subConns.Values() {
- sd.(*scData).connectionFailedInFirstPass = false
+ sd.connectionFailedInFirstPass = false
}
b.requestConnectionLocked()
}
func (b *pickfirstBalancer) closeSubConnsLocked() {
for _, sd := range b.subConns.Values() {
- sd.(*scData).subConn.Shutdown()
+ sd.subConn.Shutdown()
}
- b.subConns = resolver.NewAddressMap()
+ b.subConns = resolver.NewAddressMapV2[*scData]()
}
// deDupAddresses ensures that each address appears only once in the slice.
func deDupAddresses(addrs []resolver.Address) []resolver.Address {
- seenAddrs := resolver.NewAddressMap()
+ seenAddrs := resolver.NewAddressMapV2[*scData]()
retAddrs := []resolver.Address{}
for _, addr := range addrs {
@@ -481,7 +460,7 @@ func addressFamily(address string) ipAddrFamily {
// This ensures that the subchannel map accurately reflects the current set of
// addresses received from the name resolver.
func (b *pickfirstBalancer) reconcileSubConnsLocked(newAddrs []resolver.Address) {
- newAddrsMap := resolver.NewAddressMap()
+ newAddrsMap := resolver.NewAddressMapV2[bool]()
for _, addr := range newAddrs {
newAddrsMap.Set(addr, true)
}
@@ -491,7 +470,7 @@ func (b *pickfirstBalancer) reconcileSubConnsLocked(newAddrs []resolver.Address)
continue
}
val, _ := b.subConns.Get(oldAddr)
- val.(*scData).subConn.Shutdown()
+ val.subConn.Shutdown()
b.subConns.Delete(oldAddr)
}
}
@@ -500,13 +479,12 @@ func (b *pickfirstBalancer) reconcileSubConnsLocked(newAddrs []resolver.Address)
// becomes ready, which means that all other subConn must be shutdown.
func (b *pickfirstBalancer) shutdownRemainingLocked(selected *scData) {
b.cancelConnectionTimer()
- for _, v := range b.subConns.Values() {
- sd := v.(*scData)
+ for _, sd := range b.subConns.Values() {
if sd.subConn != selected.subConn {
sd.subConn.Shutdown()
}
}
- b.subConns = resolver.NewAddressMap()
+ b.subConns = resolver.NewAddressMapV2[*scData]()
b.subConns.Set(selected.addr, selected)
}
@@ -539,18 +517,17 @@ func (b *pickfirstBalancer) requestConnectionLocked() {
b.subConns.Set(curAddr, sd)
}
- scd := sd.(*scData)
- switch scd.rawConnectivityState {
+ switch sd.rawConnectivityState {
case connectivity.Idle:
- scd.subConn.Connect()
+ sd.subConn.Connect()
b.scheduleNextConnectionLocked()
return
case connectivity.TransientFailure:
// The SubConn is being re-used and failed during a previous pass
// over the addressList. It has not completed backoff yet.
// Mark it as having failed and try the next address.
- scd.connectionFailedInFirstPass = true
- lastErr = scd.lastErr
+ sd.connectionFailedInFirstPass = true
+ lastErr = sd.lastErr
continue
case connectivity.Connecting:
// Wait for the connection attempt to complete or the timer to fire
@@ -558,7 +535,7 @@ func (b *pickfirstBalancer) requestConnectionLocked() {
b.scheduleNextConnectionLocked()
return
default:
- b.logger.Errorf("SubConn with unexpected state %v present in SubConns map.", scd.rawConnectivityState)
+ b.logger.Errorf("SubConn with unexpected state %v present in SubConns map.", sd.rawConnectivityState)
return
}
@@ -753,8 +730,7 @@ func (b *pickfirstBalancer) endFirstPassIfPossibleLocked(lastErr error) {
}
// Connect() has been called on all the SubConns. The first pass can be
// ended if all the SubConns have reported a failure.
- for _, v := range b.subConns.Values() {
- sd := v.(*scData)
+ for _, sd := range b.subConns.Values() {
if !sd.connectionFailedInFirstPass {
return
}
@@ -765,8 +741,7 @@ func (b *pickfirstBalancer) endFirstPassIfPossibleLocked(lastErr error) {
Picker: &picker{err: lastErr},
})
// Start re-connecting all the SubConns that are already in IDLE.
- for _, v := range b.subConns.Values() {
- sd := v.(*scData)
+ for _, sd := range b.subConns.Values() {
if sd.rawConnectivityState == connectivity.Idle {
sd.subConn.Connect()
}
@@ -927,6 +902,5 @@ func (al *addressList) hasNext() bool {
// fields that are meaningful to the SubConn.
func equalAddressIgnoringBalAttributes(a, b *resolver.Address) bool {
return a.Addr == b.Addr && a.ServerName == b.ServerName &&
- a.Attributes.Equal(b.Attributes) &&
- a.Metadata == b.Metadata
+ a.Attributes.Equal(b.Attributes)
}
diff --git a/openshift/default-catalog-consistency/vendor/google.golang.org/grpc/balancer/roundrobin/roundrobin.go b/openshift/default-catalog-consistency/vendor/google.golang.org/grpc/balancer/roundrobin/roundrobin.go
index 35da5d1ec9..22045bf394 100644
--- a/openshift/default-catalog-consistency/vendor/google.golang.org/grpc/balancer/roundrobin/roundrobin.go
+++ b/openshift/default-catalog-consistency/vendor/google.golang.org/grpc/balancer/roundrobin/roundrobin.go
@@ -70,10 +70,3 @@ func (b *rrBalancer) UpdateClientConnState(ccs balancer.ClientConnState) error {
ResolverState: pickfirstleaf.EnableHealthListener(ccs.ResolverState),
})
}
-
-func (b *rrBalancer) ExitIdle() {
- // Should always be ok, as child is endpoint sharding.
- if ei, ok := b.Balancer.(balancer.ExitIdler); ok {
- ei.ExitIdle()
- }
-}
diff --git a/openshift/default-catalog-consistency/vendor/google.golang.org/grpc/binarylog/grpc_binarylog_v1/binarylog.pb.go b/openshift/default-catalog-consistency/vendor/google.golang.org/grpc/binarylog/grpc_binarylog_v1/binarylog.pb.go
index b2f8fc7f43..b1364a0325 100644
--- a/openshift/default-catalog-consistency/vendor/google.golang.org/grpc/binarylog/grpc_binarylog_v1/binarylog.pb.go
+++ b/openshift/default-catalog-consistency/vendor/google.golang.org/grpc/binarylog/grpc_binarylog_v1/binarylog.pb.go
@@ -18,7 +18,7 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
-// protoc-gen-go v1.36.4
+// protoc-gen-go v1.36.6
// protoc v5.27.1
// source: grpc/binlog/v1/binarylog.proto
@@ -858,133 +858,68 @@ func (x *Address) GetIpPort() uint32 {
var File_grpc_binlog_v1_binarylog_proto protoreflect.FileDescriptor
-var file_grpc_binlog_v1_binarylog_proto_rawDesc = string([]byte{
- 0x0a, 0x1e, 0x67, 0x72, 0x70, 0x63, 0x2f, 0x62, 0x69, 0x6e, 0x6c, 0x6f, 0x67, 0x2f, 0x76, 0x31,
- 0x2f, 0x62, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x6c, 0x6f, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
- 0x12, 0x11, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x62, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x6c, 0x6f, 0x67,
- 0x2e, 0x76, 0x31, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74,
- 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72,
- 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74,
- 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70,
- 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xbb, 0x07, 0x0a, 0x0c, 0x47, 0x72, 0x70, 0x63, 0x4c, 0x6f, 0x67,
- 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x38, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61,
- 0x6d, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
- 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73,
- 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12,
- 0x17, 0x0a, 0x07, 0x63, 0x61, 0x6c, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04,
- 0x52, 0x06, 0x63, 0x61, 0x6c, 0x6c, 0x49, 0x64, 0x12, 0x35, 0x0a, 0x17, 0x73, 0x65, 0x71, 0x75,
- 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x5f, 0x77, 0x69, 0x74, 0x68, 0x69, 0x6e, 0x5f, 0x63,
- 0x61, 0x6c, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x14, 0x73, 0x65, 0x71, 0x75, 0x65,
- 0x6e, 0x63, 0x65, 0x49, 0x64, 0x57, 0x69, 0x74, 0x68, 0x69, 0x6e, 0x43, 0x61, 0x6c, 0x6c, 0x12,
- 0x3d, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x29, 0x2e,
- 0x67, 0x72, 0x70, 0x63, 0x2e, 0x62, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x6c, 0x6f, 0x67, 0x2e, 0x76,
- 0x31, 0x2e, 0x47, 0x72, 0x70, 0x63, 0x4c, 0x6f, 0x67, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x2e, 0x45,
- 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x3e,
- 0x0a, 0x06, 0x6c, 0x6f, 0x67, 0x67, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x26,
- 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x62, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x6c, 0x6f, 0x67, 0x2e,
- 0x76, 0x31, 0x2e, 0x47, 0x72, 0x70, 0x63, 0x4c, 0x6f, 0x67, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x2e,
- 0x4c, 0x6f, 0x67, 0x67, 0x65, 0x72, 0x52, 0x06, 0x6c, 0x6f, 0x67, 0x67, 0x65, 0x72, 0x12, 0x46,
- 0x0a, 0x0d, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18,
- 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x62, 0x69, 0x6e,
- 0x61, 0x72, 0x79, 0x6c, 0x6f, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74,
- 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x48, 0x00, 0x52, 0x0c, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74,
- 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x46, 0x0a, 0x0d, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72,
- 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e,
- 0x67, 0x72, 0x70, 0x63, 0x2e, 0x62, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x6c, 0x6f, 0x67, 0x2e, 0x76,
- 0x31, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x48, 0x00,
- 0x52, 0x0c, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x36,
- 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32,
- 0x1a, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x62, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x6c, 0x6f, 0x67,
- 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48, 0x00, 0x52, 0x07, 0x6d,
- 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x36, 0x0a, 0x07, 0x74, 0x72, 0x61, 0x69, 0x6c, 0x65,
- 0x72, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x62,
- 0x69, 0x6e, 0x61, 0x72, 0x79, 0x6c, 0x6f, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x72, 0x61, 0x69,
- 0x6c, 0x65, 0x72, 0x48, 0x00, 0x52, 0x07, 0x74, 0x72, 0x61, 0x69, 0x6c, 0x65, 0x72, 0x12, 0x2b,
- 0x0a, 0x11, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x74, 0x72, 0x75, 0x6e, 0x63, 0x61,
- 0x74, 0x65, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x70, 0x61, 0x79, 0x6c, 0x6f,
- 0x61, 0x64, 0x54, 0x72, 0x75, 0x6e, 0x63, 0x61, 0x74, 0x65, 0x64, 0x12, 0x2e, 0x0a, 0x04, 0x70,
- 0x65, 0x65, 0x72, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x72, 0x70, 0x63,
- 0x2e, 0x62, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x6c, 0x6f, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x64,
- 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x04, 0x70, 0x65, 0x65, 0x72, 0x22, 0xf5, 0x01, 0x0a, 0x09,
- 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x16, 0x0a, 0x12, 0x45, 0x56, 0x45,
- 0x4e, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10,
- 0x00, 0x12, 0x1c, 0x0a, 0x18, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f,
- 0x43, 0x4c, 0x49, 0x45, 0x4e, 0x54, 0x5f, 0x48, 0x45, 0x41, 0x44, 0x45, 0x52, 0x10, 0x01, 0x12,
- 0x1c, 0x0a, 0x18, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x53, 0x45,
- 0x52, 0x56, 0x45, 0x52, 0x5f, 0x48, 0x45, 0x41, 0x44, 0x45, 0x52, 0x10, 0x02, 0x12, 0x1d, 0x0a,
- 0x19, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x43, 0x4c, 0x49, 0x45,
- 0x4e, 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x10, 0x03, 0x12, 0x1d, 0x0a, 0x19,
- 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x53, 0x45, 0x52, 0x56, 0x45,
- 0x52, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x10, 0x04, 0x12, 0x20, 0x0a, 0x1c, 0x45,
- 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x43, 0x4c, 0x49, 0x45, 0x4e, 0x54,
- 0x5f, 0x48, 0x41, 0x4c, 0x46, 0x5f, 0x43, 0x4c, 0x4f, 0x53, 0x45, 0x10, 0x05, 0x12, 0x1d, 0x0a,
- 0x19, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x53, 0x45, 0x52, 0x56,
- 0x45, 0x52, 0x5f, 0x54, 0x52, 0x41, 0x49, 0x4c, 0x45, 0x52, 0x10, 0x06, 0x12, 0x15, 0x0a, 0x11,
- 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x43, 0x41, 0x4e, 0x43, 0x45,
- 0x4c, 0x10, 0x07, 0x22, 0x42, 0x0a, 0x06, 0x4c, 0x6f, 0x67, 0x67, 0x65, 0x72, 0x12, 0x12, 0x0a,
- 0x0e, 0x4c, 0x4f, 0x47, 0x47, 0x45, 0x52, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10,
- 0x00, 0x12, 0x11, 0x0a, 0x0d, 0x4c, 0x4f, 0x47, 0x47, 0x45, 0x52, 0x5f, 0x43, 0x4c, 0x49, 0x45,
- 0x4e, 0x54, 0x10, 0x01, 0x12, 0x11, 0x0a, 0x0d, 0x4c, 0x4f, 0x47, 0x47, 0x45, 0x52, 0x5f, 0x53,
- 0x45, 0x52, 0x56, 0x45, 0x52, 0x10, 0x02, 0x42, 0x09, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f,
- 0x61, 0x64, 0x22, 0xbb, 0x01, 0x0a, 0x0c, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x48, 0x65, 0x61,
- 0x64, 0x65, 0x72, 0x12, 0x37, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18,
- 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x62, 0x69, 0x6e,
- 0x61, 0x72, 0x79, 0x6c, 0x6f, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61,
- 0x74, 0x61, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x1f, 0x0a, 0x0b,
- 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
- 0x09, 0x52, 0x0a, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a,
- 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09,
- 0x52, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 0x33, 0x0a, 0x07, 0x74,
- 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67,
- 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44,
- 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74,
- 0x22, 0x47, 0x0a, 0x0c, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72,
- 0x12, 0x37, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01,
- 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x62, 0x69, 0x6e, 0x61, 0x72, 0x79,
- 0x6c, 0x6f, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52,
- 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x22, 0xb1, 0x01, 0x0a, 0x07, 0x54, 0x72,
- 0x61, 0x69, 0x6c, 0x65, 0x72, 0x12, 0x37, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74,
- 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x62,
- 0x69, 0x6e, 0x61, 0x72, 0x79, 0x6c, 0x6f, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x65, 0x74, 0x61,
- 0x64, 0x61, 0x74, 0x61, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x1f,
- 0x0a, 0x0b, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20,
- 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x43, 0x6f, 0x64, 0x65, 0x12,
- 0x25, 0x0a, 0x0e, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67,
- 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x4d,
- 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73,
- 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0d,
- 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x22, 0x35, 0x0a,
- 0x07, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x6c, 0x65, 0x6e, 0x67,
- 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68,
- 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04,
- 0x64, 0x61, 0x74, 0x61, 0x22, 0x42, 0x0a, 0x08, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61,
- 0x12, 0x36, 0x0a, 0x05, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32,
- 0x20, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x62, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x6c, 0x6f, 0x67,
- 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72,
- 0x79, 0x52, 0x05, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x22, 0x37, 0x0a, 0x0d, 0x4d, 0x65, 0x74, 0x61,
- 0x64, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79,
- 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76,
- 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75,
- 0x65, 0x22, 0xb8, 0x01, 0x0a, 0x07, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x33, 0x0a,
- 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1f, 0x2e, 0x67, 0x72,
- 0x70, 0x63, 0x2e, 0x62, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x6c, 0x6f, 0x67, 0x2e, 0x76, 0x31, 0x2e,
- 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79,
- 0x70, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20,
- 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x17, 0x0a, 0x07,
- 0x69, 0x70, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x69,
- 0x70, 0x50, 0x6f, 0x72, 0x74, 0x22, 0x45, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x12, 0x10, 0x0a,
- 0x0c, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12,
- 0x0d, 0x0a, 0x09, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x49, 0x50, 0x56, 0x34, 0x10, 0x01, 0x12, 0x0d,
- 0x0a, 0x09, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x49, 0x50, 0x56, 0x36, 0x10, 0x02, 0x12, 0x0d, 0x0a,
- 0x09, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x49, 0x58, 0x10, 0x03, 0x42, 0x5c, 0x0a, 0x14,
- 0x69, 0x6f, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x62, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x6c, 0x6f,
- 0x67, 0x2e, 0x76, 0x31, 0x42, 0x0e, 0x42, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x4c, 0x6f, 0x67, 0x50,
- 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x32, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67,
- 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x67, 0x72, 0x70, 0x63, 0x2f, 0x62,
- 0x69, 0x6e, 0x61, 0x72, 0x79, 0x6c, 0x6f, 0x67, 0x2f, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x62, 0x69,
- 0x6e, 0x61, 0x72, 0x79, 0x6c, 0x6f, 0x67, 0x5f, 0x76, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
- 0x6f, 0x33,
-})
+const file_grpc_binlog_v1_binarylog_proto_rawDesc = "" +
+ "\n" +
+ "\x1egrpc/binlog/v1/binarylog.proto\x12\x11grpc.binarylog.v1\x1a\x1egoogle/protobuf/duration.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"\xbb\a\n" +
+ "\fGrpcLogEntry\x128\n" +
+ "\ttimestamp\x18\x01 \x01(\v2\x1a.google.protobuf.TimestampR\ttimestamp\x12\x17\n" +
+ "\acall_id\x18\x02 \x01(\x04R\x06callId\x125\n" +
+ "\x17sequence_id_within_call\x18\x03 \x01(\x04R\x14sequenceIdWithinCall\x12=\n" +
+ "\x04type\x18\x04 \x01(\x0e2).grpc.binarylog.v1.GrpcLogEntry.EventTypeR\x04type\x12>\n" +
+ "\x06logger\x18\x05 \x01(\x0e2&.grpc.binarylog.v1.GrpcLogEntry.LoggerR\x06logger\x12F\n" +
+ "\rclient_header\x18\x06 \x01(\v2\x1f.grpc.binarylog.v1.ClientHeaderH\x00R\fclientHeader\x12F\n" +
+ "\rserver_header\x18\a \x01(\v2\x1f.grpc.binarylog.v1.ServerHeaderH\x00R\fserverHeader\x126\n" +
+ "\amessage\x18\b \x01(\v2\x1a.grpc.binarylog.v1.MessageH\x00R\amessage\x126\n" +
+ "\atrailer\x18\t \x01(\v2\x1a.grpc.binarylog.v1.TrailerH\x00R\atrailer\x12+\n" +
+ "\x11payload_truncated\x18\n" +
+ " \x01(\bR\x10payloadTruncated\x12.\n" +
+ "\x04peer\x18\v \x01(\v2\x1a.grpc.binarylog.v1.AddressR\x04peer\"\xf5\x01\n" +
+ "\tEventType\x12\x16\n" +
+ "\x12EVENT_TYPE_UNKNOWN\x10\x00\x12\x1c\n" +
+ "\x18EVENT_TYPE_CLIENT_HEADER\x10\x01\x12\x1c\n" +
+ "\x18EVENT_TYPE_SERVER_HEADER\x10\x02\x12\x1d\n" +
+ "\x19EVENT_TYPE_CLIENT_MESSAGE\x10\x03\x12\x1d\n" +
+ "\x19EVENT_TYPE_SERVER_MESSAGE\x10\x04\x12 \n" +
+ "\x1cEVENT_TYPE_CLIENT_HALF_CLOSE\x10\x05\x12\x1d\n" +
+ "\x19EVENT_TYPE_SERVER_TRAILER\x10\x06\x12\x15\n" +
+ "\x11EVENT_TYPE_CANCEL\x10\a\"B\n" +
+ "\x06Logger\x12\x12\n" +
+ "\x0eLOGGER_UNKNOWN\x10\x00\x12\x11\n" +
+ "\rLOGGER_CLIENT\x10\x01\x12\x11\n" +
+ "\rLOGGER_SERVER\x10\x02B\t\n" +
+ "\apayload\"\xbb\x01\n" +
+ "\fClientHeader\x127\n" +
+ "\bmetadata\x18\x01 \x01(\v2\x1b.grpc.binarylog.v1.MetadataR\bmetadata\x12\x1f\n" +
+ "\vmethod_name\x18\x02 \x01(\tR\n" +
+ "methodName\x12\x1c\n" +
+ "\tauthority\x18\x03 \x01(\tR\tauthority\x123\n" +
+ "\atimeout\x18\x04 \x01(\v2\x19.google.protobuf.DurationR\atimeout\"G\n" +
+ "\fServerHeader\x127\n" +
+ "\bmetadata\x18\x01 \x01(\v2\x1b.grpc.binarylog.v1.MetadataR\bmetadata\"\xb1\x01\n" +
+ "\aTrailer\x127\n" +
+ "\bmetadata\x18\x01 \x01(\v2\x1b.grpc.binarylog.v1.MetadataR\bmetadata\x12\x1f\n" +
+ "\vstatus_code\x18\x02 \x01(\rR\n" +
+ "statusCode\x12%\n" +
+ "\x0estatus_message\x18\x03 \x01(\tR\rstatusMessage\x12%\n" +
+ "\x0estatus_details\x18\x04 \x01(\fR\rstatusDetails\"5\n" +
+ "\aMessage\x12\x16\n" +
+ "\x06length\x18\x01 \x01(\rR\x06length\x12\x12\n" +
+ "\x04data\x18\x02 \x01(\fR\x04data\"B\n" +
+ "\bMetadata\x126\n" +
+ "\x05entry\x18\x01 \x03(\v2 .grpc.binarylog.v1.MetadataEntryR\x05entry\"7\n" +
+ "\rMetadataEntry\x12\x10\n" +
+ "\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" +
+ "\x05value\x18\x02 \x01(\fR\x05value\"\xb8\x01\n" +
+ "\aAddress\x123\n" +
+ "\x04type\x18\x01 \x01(\x0e2\x1f.grpc.binarylog.v1.Address.TypeR\x04type\x12\x18\n" +
+ "\aaddress\x18\x02 \x01(\tR\aaddress\x12\x17\n" +
+ "\aip_port\x18\x03 \x01(\rR\x06ipPort\"E\n" +
+ "\x04Type\x12\x10\n" +
+ "\fTYPE_UNKNOWN\x10\x00\x12\r\n" +
+ "\tTYPE_IPV4\x10\x01\x12\r\n" +
+ "\tTYPE_IPV6\x10\x02\x12\r\n" +
+ "\tTYPE_UNIX\x10\x03B\\\n" +
+ "\x14io.grpc.binarylog.v1B\x0eBinaryLogProtoP\x01Z2google.golang.org/grpc/binarylog/grpc_binarylog_v1b\x06proto3"
var (
file_grpc_binlog_v1_binarylog_proto_rawDescOnce sync.Once
diff --git a/openshift/default-catalog-consistency/vendor/google.golang.org/grpc/clientconn.go b/openshift/default-catalog-consistency/vendor/google.golang.org/grpc/clientconn.go
index a319ef9794..3f762285db 100644
--- a/openshift/default-catalog-consistency/vendor/google.golang.org/grpc/clientconn.go
+++ b/openshift/default-catalog-consistency/vendor/google.golang.org/grpc/clientconn.go
@@ -208,7 +208,7 @@ func NewClient(target string, opts ...DialOption) (conn *ClientConn, err error)
channelz.Infof(logger, cc.channelz, "Channel authority set to %q", cc.authority)
cc.csMgr = newConnectivityStateManager(cc.ctx, cc.channelz)
- cc.pickerWrapper = newPickerWrapper(cc.dopts.copts.StatsHandlers)
+ cc.pickerWrapper = newPickerWrapper()
cc.metricsRecorderList = stats.NewMetricsRecorderList(cc.dopts.copts.StatsHandlers)
@@ -689,22 +689,31 @@ func (cc *ClientConn) Connect() {
cc.mu.Unlock()
}
-// waitForResolvedAddrs blocks until the resolver has provided addresses or the
-// context expires. Returns nil unless the context expires first; otherwise
-// returns a status error based on the context.
-func (cc *ClientConn) waitForResolvedAddrs(ctx context.Context) error {
+// waitForResolvedAddrs blocks until the resolver provides addresses or the
+// context expires, whichever happens first.
+//
+// Error is nil unless the context expires first; otherwise returns a status
+// error based on the context.
+//
+// The returned boolean indicates whether it did block or not. If the
+// resolution has already happened once before, it returns false without
+// blocking. Otherwise, it wait for the resolution and return true if
+// resolution has succeeded or return false along with error if resolution has
+// failed.
+func (cc *ClientConn) waitForResolvedAddrs(ctx context.Context) (bool, error) {
// This is on the RPC path, so we use a fast path to avoid the
// more-expensive "select" below after the resolver has returned once.
if cc.firstResolveEvent.HasFired() {
- return nil
+ return false, nil
}
+ internal.NewStreamWaitingForResolver()
select {
case <-cc.firstResolveEvent.Done():
- return nil
+ return true, nil
case <-ctx.Done():
- return status.FromContextError(ctx.Err()).Err()
+ return false, status.FromContextError(ctx.Err()).Err()
case <-cc.ctx.Done():
- return ErrClientConnClosing
+ return false, ErrClientConnClosing
}
}
@@ -1067,13 +1076,6 @@ func (cc *ClientConn) healthCheckConfig() *healthCheckConfig {
return cc.sc.healthCheckConfig
}
-func (cc *ClientConn) getTransport(ctx context.Context, failfast bool, method string) (transport.ClientTransport, balancer.PickResult, error) {
- return cc.pickerWrapper.pick(ctx, failfast, balancer.PickInfo{
- Ctx: ctx,
- FullMethodName: method,
- })
-}
-
func (cc *ClientConn) applyServiceConfigAndBalancer(sc *ServiceConfig, configSelector iresolver.ConfigSelector) {
if sc == nil {
// should never reach here.
@@ -1231,8 +1233,7 @@ func (ac *addrConn) updateConnectivityState(s connectivity.State, lastErr error)
// adjustParams updates parameters used to create transports upon
// receiving a GoAway.
func (ac *addrConn) adjustParams(r transport.GoAwayReason) {
- switch r {
- case transport.GoAwayTooManyPings:
+ if r == transport.GoAwayTooManyPings {
v := 2 * ac.dopts.copts.KeepaliveParams.Time
ac.cc.mu.Lock()
if v > ac.cc.keepaliveParams.Time {
@@ -1823,7 +1824,7 @@ func (cc *ClientConn) initAuthority() error {
} else if auth, ok := cc.resolverBuilder.(resolver.AuthorityOverrider); ok {
cc.authority = auth.OverrideAuthority(cc.parsedTarget)
} else if strings.HasPrefix(endpoint, ":") {
- cc.authority = "localhost" + endpoint
+ cc.authority = "localhost" + encodeAuthority(endpoint)
} else {
cc.authority = encodeAuthority(endpoint)
}
diff --git a/openshift/default-catalog-consistency/vendor/google.golang.org/grpc/credentials/credentials.go b/openshift/default-catalog-consistency/vendor/google.golang.org/grpc/credentials/credentials.go
index 665e790bb0..c8e337cdda 100644
--- a/openshift/default-catalog-consistency/vendor/google.golang.org/grpc/credentials/credentials.go
+++ b/openshift/default-catalog-consistency/vendor/google.golang.org/grpc/credentials/credentials.go
@@ -96,10 +96,11 @@ func (c CommonAuthInfo) GetCommonAuthInfo() CommonAuthInfo {
return c
}
-// ProtocolInfo provides information regarding the gRPC wire protocol version,
-// security protocol, security protocol version in use, server name, etc.
+// ProtocolInfo provides static information regarding transport credentials.
type ProtocolInfo struct {
// ProtocolVersion is the gRPC wire protocol version.
+ //
+ // Deprecated: this is unused by gRPC.
ProtocolVersion string
// SecurityProtocol is the security protocol in use.
SecurityProtocol string
@@ -109,7 +110,16 @@ type ProtocolInfo struct {
//
// Deprecated: please use Peer.AuthInfo.
SecurityVersion string
- // ServerName is the user-configured server name.
+ // ServerName is the user-configured server name. If set, this overrides
+ // the default :authority header used for all RPCs on the channel using the
+ // containing credentials, unless grpc.WithAuthority is set on the channel,
+ // in which case that setting will take precedence.
+ //
+ // This must be a valid `:authority` header according to
+ // [RFC3986](https://datatracker.ietf.org/doc/html/rfc3986#section-3.2).
+ //
+ // Deprecated: Users should use grpc.WithAuthority to override the authority
+ // on a channel instead of configuring the credentials.
ServerName string
}
@@ -120,6 +130,20 @@ type AuthInfo interface {
AuthType() string
}
+// AuthorityValidator validates the authority used to override the `:authority`
+// header. This is an optional interface that implementations of AuthInfo can
+// implement if they support per-RPC authority overrides. It is invoked when the
+// application attempts to override the HTTP/2 `:authority` header using the
+// CallAuthority call option.
+type AuthorityValidator interface {
+ // ValidateAuthority checks the authority value used to override the
+ // `:authority` header. The authority parameter is the override value
+ // provided by the application via the CallAuthority option. This value
+ // typically corresponds to the server hostname or endpoint the RPC is
+ // targeting. It returns non-nil error if the validation fails.
+ ValidateAuthority(authority string) error
+}
+
// ErrConnDispatched indicates that rawConn has been dispatched out of gRPC
// and the caller should not close rawConn.
var ErrConnDispatched = errors.New("credentials: rawConn is dispatched out of gRPC")
@@ -159,12 +183,17 @@ type TransportCredentials interface {
// Clone makes a copy of this TransportCredentials.
Clone() TransportCredentials
// OverrideServerName specifies the value used for the following:
+ //
// - verifying the hostname on the returned certificates
// - as SNI in the client's handshake to support virtual hosting
// - as the value for `:authority` header at stream creation time
//
- // Deprecated: use grpc.WithAuthority instead. Will be supported
- // throughout 1.x.
+ // The provided string should be a valid `:authority` header according to
+ // [RFC3986](https://datatracker.ietf.org/doc/html/rfc3986#section-3.2).
+ //
+ // Deprecated: this method is unused by gRPC. Users should use
+ // grpc.WithAuthority to override the authority on a channel instead of
+ // configuring the credentials.
OverrideServerName(string) error
}
@@ -207,14 +236,32 @@ type RequestInfo struct {
AuthInfo AuthInfo
}
+// requestInfoKey is a struct to be used as the key to store RequestInfo in a
+// context.
+type requestInfoKey struct{}
+
// RequestInfoFromContext extracts the RequestInfo from the context if it exists.
//
// This API is experimental.
func RequestInfoFromContext(ctx context.Context) (ri RequestInfo, ok bool) {
- ri, ok = icredentials.RequestInfoFromContext(ctx).(RequestInfo)
+ ri, ok = ctx.Value(requestInfoKey{}).(RequestInfo)
return ri, ok
}
+// NewContextWithRequestInfo creates a new context from ctx and attaches ri to it.
+//
+// This RequestInfo will be accessible via RequestInfoFromContext.
+//
+// Intended to be used from tests for PerRPCCredentials implementations (that
+// often need to check connection's SecurityLevel). Should not be used from
+// non-test code: the gRPC client already prepares a context with the correct
+// RequestInfo attached when calling PerRPCCredentials.GetRequestMetadata.
+//
+// This API is experimental.
+func NewContextWithRequestInfo(ctx context.Context, ri RequestInfo) context.Context {
+ return context.WithValue(ctx, requestInfoKey{}, ri)
+}
+
// ClientHandshakeInfo holds data to be passed to ClientHandshake. This makes
// it possible to pass arbitrary data to the handshaker from gRPC, resolver,
// balancer etc. Individual credential implementations control the actual
diff --git a/openshift/default-catalog-consistency/vendor/google.golang.org/grpc/credentials/insecure/insecure.go b/openshift/default-catalog-consistency/vendor/google.golang.org/grpc/credentials/insecure/insecure.go
index 4c805c6446..93156c0f34 100644
--- a/openshift/default-catalog-consistency/vendor/google.golang.org/grpc/credentials/insecure/insecure.go
+++ b/openshift/default-catalog-consistency/vendor/google.golang.org/grpc/credentials/insecure/insecure.go
@@ -30,7 +30,7 @@ import (
// NewCredentials returns a credentials which disables transport security.
//
// Note that using this credentials with per-RPC credentials which require
-// transport security is incompatible and will cause grpc.Dial() to fail.
+// transport security is incompatible and will cause RPCs to fail.
func NewCredentials() credentials.TransportCredentials {
return insecureTC{}
}
@@ -71,6 +71,12 @@ func (info) AuthType() string {
return "insecure"
}
+// ValidateAuthority allows any value to be overridden for the :authority
+// header.
+func (info) ValidateAuthority(string) error {
+ return nil
+}
+
// insecureBundle implements an insecure bundle.
// An insecure bundle provides a thin wrapper around insecureTC to support
// the credentials.Bundle interface.
diff --git a/openshift/default-catalog-consistency/vendor/google.golang.org/grpc/credentials/tls.go b/openshift/default-catalog-consistency/vendor/google.golang.org/grpc/credentials/tls.go
index bd5fe22b6a..8277be7d6f 100644
--- a/openshift/default-catalog-consistency/vendor/google.golang.org/grpc/credentials/tls.go
+++ b/openshift/default-catalog-consistency/vendor/google.golang.org/grpc/credentials/tls.go
@@ -22,6 +22,7 @@ import (
"context"
"crypto/tls"
"crypto/x509"
+ "errors"
"fmt"
"net"
"net/url"
@@ -50,6 +51,21 @@ func (t TLSInfo) AuthType() string {
return "tls"
}
+// ValidateAuthority validates the provided authority being used to override the
+// :authority header by verifying it against the peer certificates. It returns a
+// non-nil error if the validation fails.
+func (t TLSInfo) ValidateAuthority(authority string) error {
+ var errs []error
+ for _, cert := range t.State.PeerCertificates {
+ var err error
+ if err = cert.VerifyHostname(authority); err == nil {
+ return nil
+ }
+ errs = append(errs, err)
+ }
+ return fmt.Errorf("credentials: invalid authority %q: %v", authority, errors.Join(errs...))
+}
+
// cipherSuiteLookup returns the string version of a TLS cipher suite ID.
func cipherSuiteLookup(cipherSuiteID uint16) string {
for _, s := range tls.CipherSuites() {
@@ -94,14 +110,14 @@ func (c tlsCreds) Info() ProtocolInfo {
func (c *tlsCreds) ClientHandshake(ctx context.Context, authority string, rawConn net.Conn) (_ net.Conn, _ AuthInfo, err error) {
// use local cfg to avoid clobbering ServerName if using multiple endpoints
cfg := credinternal.CloneTLSConfig(c.config)
- if cfg.ServerName == "" {
- serverName, _, err := net.SplitHostPort(authority)
- if err != nil {
- // If the authority had no host port or if the authority cannot be parsed, use it as-is.
- serverName = authority
- }
- cfg.ServerName = serverName
+
+ serverName, _, err := net.SplitHostPort(authority)
+ if err != nil {
+ // If the authority had no host port or if the authority cannot be parsed, use it as-is.
+ serverName = authority
}
+ cfg.ServerName = serverName
+
conn := tls.Client(rawConn, cfg)
errChannel := make(chan error, 1)
go func() {
@@ -243,9 +259,11 @@ func applyDefaults(c *tls.Config) *tls.Config {
// certificates to establish the identity of the client need to be included in
// the credentials (eg: for mTLS), use NewTLS instead, where a complete
// tls.Config can be specified.
-// serverNameOverride is for testing only. If set to a non empty string,
-// it will override the virtual host name of authority (e.g. :authority header
-// field) in requests.
+//
+// serverNameOverride is for testing only. If set to a non empty string, it will
+// override the virtual host name of authority (e.g. :authority header field) in
+// requests. Users should use grpc.WithAuthority passed to grpc.NewClient to
+// override the authority of the client instead.
func NewClientTLSFromCert(cp *x509.CertPool, serverNameOverride string) TransportCredentials {
return NewTLS(&tls.Config{ServerName: serverNameOverride, RootCAs: cp})
}
@@ -255,9 +273,11 @@ func NewClientTLSFromCert(cp *x509.CertPool, serverNameOverride string) Transpor
// certificates to establish the identity of the client need to be included in
// the credentials (eg: for mTLS), use NewTLS instead, where a complete
// tls.Config can be specified.
-// serverNameOverride is for testing only. If set to a non empty string,
-// it will override the virtual host name of authority (e.g. :authority header
-// field) in requests.
+//
+// serverNameOverride is for testing only. If set to a non empty string, it will
+// override the virtual host name of authority (e.g. :authority header field) in
+// requests. Users should use grpc.WithAuthority passed to grpc.NewClient to
+// override the authority of the client instead.
func NewClientTLSFromFile(certFile, serverNameOverride string) (TransportCredentials, error) {
b, err := os.ReadFile(certFile)
if err != nil {
diff --git a/openshift/default-catalog-consistency/vendor/google.golang.org/grpc/dialoptions.go b/openshift/default-catalog-consistency/vendor/google.golang.org/grpc/dialoptions.go
index 405a2ffeb3..7a5ac2e7c4 100644
--- a/openshift/default-catalog-consistency/vendor/google.golang.org/grpc/dialoptions.go
+++ b/openshift/default-catalog-consistency/vendor/google.golang.org/grpc/dialoptions.go
@@ -213,6 +213,7 @@ func WithReadBufferSize(s int) DialOption {
func WithInitialWindowSize(s int32) DialOption {
return newFuncDialOption(func(o *dialOptions) {
o.copts.InitialWindowSize = s
+ o.copts.StaticWindowSize = true
})
}
@@ -222,6 +223,26 @@ func WithInitialWindowSize(s int32) DialOption {
func WithInitialConnWindowSize(s int32) DialOption {
return newFuncDialOption(func(o *dialOptions) {
o.copts.InitialConnWindowSize = s
+ o.copts.StaticWindowSize = true
+ })
+}
+
+// WithStaticStreamWindowSize returns a DialOption which sets the initial
+// stream window size to the value provided and disables dynamic flow control.
+func WithStaticStreamWindowSize(s int32) DialOption {
+ return newFuncDialOption(func(o *dialOptions) {
+ o.copts.InitialWindowSize = s
+ o.copts.StaticWindowSize = true
+ })
+}
+
+// WithStaticConnWindowSize returns a DialOption which sets the initial
+// connection window size to the value provided and disables dynamic flow
+// control.
+func WithStaticConnWindowSize(s int32) DialOption {
+ return newFuncDialOption(func(o *dialOptions) {
+ o.copts.InitialConnWindowSize = s
+ o.copts.StaticWindowSize = true
})
}
@@ -360,7 +381,7 @@ func WithReturnConnectionError() DialOption {
//
// Note that using this DialOption with per-RPC credentials (through
// WithCredentialsBundle or WithPerRPCCredentials) which require transport
-// security is incompatible and will cause grpc.Dial() to fail.
+// security is incompatible and will cause RPCs to fail.
//
// Deprecated: use WithTransportCredentials and insecure.NewCredentials()
// instead. Will be supported throughout 1.x.
@@ -587,6 +608,8 @@ func WithChainStreamInterceptor(interceptors ...StreamClientInterceptor) DialOpt
// WithAuthority returns a DialOption that specifies the value to be used as the
// :authority pseudo-header and as the server name in authentication handshake.
+// This overrides all other ways of setting authority on the channel, but can be
+// overridden per-call by using grpc.CallAuthority.
func WithAuthority(a string) DialOption {
return newFuncDialOption(func(o *dialOptions) {
o.authority = a
diff --git a/openshift/default-catalog-consistency/vendor/google.golang.org/grpc/internal/balancer/gracefulswitch/gracefulswitch.go b/openshift/default-catalog-consistency/vendor/google.golang.org/grpc/internal/balancer/gracefulswitch/gracefulswitch.go
index fbc1ca356a..ba25b89887 100644
--- a/openshift/default-catalog-consistency/vendor/google.golang.org/grpc/internal/balancer/gracefulswitch/gracefulswitch.go
+++ b/openshift/default-catalog-consistency/vendor/google.golang.org/grpc/internal/balancer/gracefulswitch/gracefulswitch.go
@@ -223,15 +223,7 @@ func (gsb *Balancer) ExitIdle() {
// There is no need to protect this read with a mutex, as the write to the
// Balancer field happens in SwitchTo, which completes before this can be
// called.
- if ei, ok := balToUpdate.Balancer.(balancer.ExitIdler); ok {
- ei.ExitIdle()
- return
- }
- gsb.mu.Lock()
- defer gsb.mu.Unlock()
- for sc := range balToUpdate.subconns {
- sc.Connect()
- }
+ balToUpdate.ExitIdle()
}
// updateSubConnState forwards the update to the appropriate child.
diff --git a/openshift/default-catalog-consistency/vendor/google.golang.org/grpc/internal/credentials/credentials.go b/openshift/default-catalog-consistency/vendor/google.golang.org/grpc/internal/credentials/credentials.go
index 9deee7f651..48b22d9cf0 100644
--- a/openshift/default-catalog-consistency/vendor/google.golang.org/grpc/internal/credentials/credentials.go
+++ b/openshift/default-catalog-consistency/vendor/google.golang.org/grpc/internal/credentials/credentials.go
@@ -20,20 +20,6 @@ import (
"context"
)
-// requestInfoKey is a struct to be used as the key to store RequestInfo in a
-// context.
-type requestInfoKey struct{}
-
-// NewRequestInfoContext creates a context with ri.
-func NewRequestInfoContext(ctx context.Context, ri any) context.Context {
- return context.WithValue(ctx, requestInfoKey{}, ri)
-}
-
-// RequestInfoFromContext extracts the RequestInfo from ctx.
-func RequestInfoFromContext(ctx context.Context) any {
- return ctx.Value(requestInfoKey{})
-}
-
// clientHandshakeInfoKey is a struct used as the key to store
// ClientHandshakeInfo in a context.
type clientHandshakeInfoKey struct{}
diff --git a/openshift/default-catalog-consistency/vendor/google.golang.org/grpc/internal/envconfig/envconfig.go b/openshift/default-catalog-consistency/vendor/google.golang.org/grpc/internal/envconfig/envconfig.go
index 1e42b6fdc8..ee7a00b0f6 100644
--- a/openshift/default-catalog-consistency/vendor/google.golang.org/grpc/internal/envconfig/envconfig.go
+++ b/openshift/default-catalog-consistency/vendor/google.golang.org/grpc/internal/envconfig/envconfig.go
@@ -26,35 +26,71 @@ import (
)
var (
- // TXTErrIgnore is set if TXT errors should be ignored ("GRPC_GO_IGNORE_TXT_ERRORS" is not "false").
+ // EnableTXTServiceConfig is set if the DNS resolver should perform TXT
+ // lookups for service config ("GRPC_ENABLE_TXT_SERVICE_CONFIG" is not
+ // "false").
+ EnableTXTServiceConfig = boolFromEnv("GRPC_ENABLE_TXT_SERVICE_CONFIG", true)
+
+ // TXTErrIgnore is set if TXT errors should be ignored
+ // ("GRPC_GO_IGNORE_TXT_ERRORS" is not "false").
TXTErrIgnore = boolFromEnv("GRPC_GO_IGNORE_TXT_ERRORS", true)
+
// RingHashCap indicates the maximum ring size which defaults to 4096
// entries but may be overridden by setting the environment variable
// "GRPC_RING_HASH_CAP". This does not override the default bounds
// checking which NACKs configs specifying ring sizes > 8*1024*1024 (~8M).
RingHashCap = uint64FromEnv("GRPC_RING_HASH_CAP", 4096, 1, 8*1024*1024)
- // LeastRequestLB is set if we should support the least_request_experimental
- // LB policy, which can be enabled by setting the environment variable
- // "GRPC_EXPERIMENTAL_ENABLE_LEAST_REQUEST" to "true".
- LeastRequestLB = boolFromEnv("GRPC_EXPERIMENTAL_ENABLE_LEAST_REQUEST", false)
+
// ALTSMaxConcurrentHandshakes is the maximum number of concurrent ALTS
// handshakes that can be performed.
ALTSMaxConcurrentHandshakes = uint64FromEnv("GRPC_ALTS_MAX_CONCURRENT_HANDSHAKES", 100, 1, 100)
+
// EnforceALPNEnabled is set if TLS connections to servers with ALPN disabled
// should be rejected. The HTTP/2 protocol requires ALPN to be enabled, this
// option is present for backward compatibility. This option may be overridden
// by setting the environment variable "GRPC_ENFORCE_ALPN_ENABLED" to "true"
// or "false".
EnforceALPNEnabled = boolFromEnv("GRPC_ENFORCE_ALPN_ENABLED", true)
- // XDSFallbackSupport is the env variable that controls whether support for
- // xDS fallback is turned on. If this is unset or is false, only the first
- // xDS server in the list of server configs will be used.
- XDSFallbackSupport = boolFromEnv("GRPC_EXPERIMENTAL_XDS_FALLBACK", true)
+
// NewPickFirstEnabled is set if the new pickfirst leaf policy is to be used
- // instead of the exiting pickfirst implementation. This can be enabled by
+ // instead of the exiting pickfirst implementation. This can be disabled by
// setting the environment variable "GRPC_EXPERIMENTAL_ENABLE_NEW_PICK_FIRST"
- // to "true".
- NewPickFirstEnabled = boolFromEnv("GRPC_EXPERIMENTAL_ENABLE_NEW_PICK_FIRST", false)
+ // to "false".
+ NewPickFirstEnabled = boolFromEnv("GRPC_EXPERIMENTAL_ENABLE_NEW_PICK_FIRST", true)
+
+ // XDSEndpointHashKeyBackwardCompat controls the parsing of the endpoint hash
+ // key from EDS LbEndpoint metadata. Endpoint hash keys can be disabled by
+ // setting "GRPC_XDS_ENDPOINT_HASH_KEY_BACKWARD_COMPAT" to "true". When the
+ // implementation of A76 is stable, we will flip the default value to false
+ // in a subsequent release. A final release will remove this environment
+ // variable, enabling the new behavior unconditionally.
+ XDSEndpointHashKeyBackwardCompat = boolFromEnv("GRPC_XDS_ENDPOINT_HASH_KEY_BACKWARD_COMPAT", true)
+
+ // RingHashSetRequestHashKey is set if the ring hash balancer can get the
+ // request hash header by setting the "requestHashHeader" field, according
+ // to gRFC A76. It can be enabled by setting the environment variable
+ // "GRPC_EXPERIMENTAL_RING_HASH_SET_REQUEST_HASH_KEY" to "true".
+ RingHashSetRequestHashKey = boolFromEnv("GRPC_EXPERIMENTAL_RING_HASH_SET_REQUEST_HASH_KEY", false)
+
+ // ALTSHandshakerKeepaliveParams is set if we should add the
+ // KeepaliveParams when dial the ALTS handshaker service.
+ ALTSHandshakerKeepaliveParams = boolFromEnv("GRPC_EXPERIMENTAL_ALTS_HANDSHAKER_KEEPALIVE_PARAMS", false)
+
+ // DisableStrictPathChecking indicates whether strict path checking is
+ // disabled. This feature can be disabled by setting the environment
+ // variable GRPC_GO_EXPERIMENTAL_DISABLE_STRICT_PATH_CHECKING to "true".
+ //
+ // When strict path checking is enabled, gRPC will reject requests with
+ // paths that do not conform to the gRPC over HTTP/2 specification found at
+ // https://github.com/grpc/grpc/blob/master/doc/PROTOCOL-HTTP2.md.
+ //
+ // When disabled, gRPC will allow paths that do not contain a leading slash.
+ // Enabling strict path checking is recommended for security reasons, as it
+ // prevents potential path traversal vulnerabilities.
+ //
+ // A future release will remove this environment variable, enabling strict
+ // path checking behavior unconditionally.
+ DisableStrictPathChecking = boolFromEnv("GRPC_GO_EXPERIMENTAL_DISABLE_STRICT_PATH_CHECKING", false)
)
func boolFromEnv(envVar string, def bool) bool {
diff --git a/openshift/default-catalog-consistency/vendor/google.golang.org/grpc/internal/envconfig/xds.go b/openshift/default-catalog-consistency/vendor/google.golang.org/grpc/internal/envconfig/xds.go
index 2eb97f832b..e87551552a 100644
--- a/openshift/default-catalog-consistency/vendor/google.golang.org/grpc/internal/envconfig/xds.go
+++ b/openshift/default-catalog-consistency/vendor/google.golang.org/grpc/internal/envconfig/xds.go
@@ -63,4 +63,9 @@ var (
// For more details, see:
// https://github.com/grpc/proposal/blob/master/A82-xds-system-root-certs.md.
XDSSystemRootCertsEnabled = boolFromEnv("GRPC_EXPERIMENTAL_XDS_SYSTEM_ROOT_CERTS", false)
+
+ // XDSSPIFFEEnabled controls if SPIFFE Bundle Maps can be used as roots of
+ // trust. For more details, see:
+ // https://github.com/grpc/proposal/blob/master/A87-mtls-spiffe-support.md
+ XDSSPIFFEEnabled = boolFromEnv("GRPC_EXPERIMENTAL_XDS_MTLS_SPIFFE", false)
)
diff --git a/openshift/default-catalog-consistency/vendor/google.golang.org/grpc/internal/grpcsync/event.go b/openshift/default-catalog-consistency/vendor/google.golang.org/grpc/internal/grpcsync/event.go
index fbe697c376..d788c24930 100644
--- a/openshift/default-catalog-consistency/vendor/google.golang.org/grpc/internal/grpcsync/event.go
+++ b/openshift/default-catalog-consistency/vendor/google.golang.org/grpc/internal/grpcsync/event.go
@@ -21,28 +21,25 @@
package grpcsync
import (
- "sync"
"sync/atomic"
)
// Event represents a one-time event that may occur in the future.
type Event struct {
- fired int32
+ fired atomic.Bool
c chan struct{}
- o sync.Once
}
// Fire causes e to complete. It is safe to call multiple times, and
// concurrently. It returns true iff this call to Fire caused the signaling
-// channel returned by Done to close.
+// channel returned by Done to close. If Fire returns false, it is possible
+// the Done channel has not been closed yet.
func (e *Event) Fire() bool {
- ret := false
- e.o.Do(func() {
- atomic.StoreInt32(&e.fired, 1)
+ if e.fired.CompareAndSwap(false, true) {
close(e.c)
- ret = true
- })
- return ret
+ return true
+ }
+ return false
}
// Done returns a channel that will be closed when Fire is called.
@@ -52,7 +49,7 @@ func (e *Event) Done() <-chan struct{} {
// HasFired returns true if Fire has been called.
func (e *Event) HasFired() bool {
- return atomic.LoadInt32(&e.fired) == 1
+ return e.fired.Load()
}
// NewEvent returns a new, ready-to-use Event.
diff --git a/openshift/default-catalog-consistency/vendor/google.golang.org/grpc/internal/internal.go b/openshift/default-catalog-consistency/vendor/google.golang.org/grpc/internal/internal.go
index 13e1f386b1..2699223a27 100644
--- a/openshift/default-catalog-consistency/vendor/google.golang.org/grpc/internal/internal.go
+++ b/openshift/default-catalog-consistency/vendor/google.golang.org/grpc/internal/internal.go
@@ -182,35 +182,6 @@ var (
// other features, including the CSDS service.
NewXDSResolverWithClientForTesting any // func(xdsclient.XDSClient) (resolver.Builder, error)
- // RegisterRLSClusterSpecifierPluginForTesting registers the RLS Cluster
- // Specifier Plugin for testing purposes, regardless of the XDSRLS environment
- // variable.
- //
- // TODO: Remove this function once the RLS env var is removed.
- RegisterRLSClusterSpecifierPluginForTesting func()
-
- // UnregisterRLSClusterSpecifierPluginForTesting unregisters the RLS Cluster
- // Specifier Plugin for testing purposes. This is needed because there is no way
- // to unregister the RLS Cluster Specifier Plugin after registering it solely
- // for testing purposes using RegisterRLSClusterSpecifierPluginForTesting().
- //
- // TODO: Remove this function once the RLS env var is removed.
- UnregisterRLSClusterSpecifierPluginForTesting func()
-
- // RegisterRBACHTTPFilterForTesting registers the RBAC HTTP Filter for testing
- // purposes, regardless of the RBAC environment variable.
- //
- // TODO: Remove this function once the RBAC env var is removed.
- RegisterRBACHTTPFilterForTesting func()
-
- // UnregisterRBACHTTPFilterForTesting unregisters the RBAC HTTP Filter for
- // testing purposes. This is needed because there is no way to unregister the
- // HTTP Filter after registering it solely for testing purposes using
- // RegisterRBACHTTPFilterForTesting().
- //
- // TODO: Remove this function once the RBAC env var is removed.
- UnregisterRBACHTTPFilterForTesting func()
-
// ORCAAllowAnyMinReportingInterval is for examples/orca use ONLY.
ORCAAllowAnyMinReportingInterval any // func(so *orca.ServiceOptions)
@@ -259,6 +230,20 @@ var (
// SetBufferPoolingThresholdForTesting updates the buffer pooling threshold, for
// testing purposes.
SetBufferPoolingThresholdForTesting any // func(int)
+
+ // TimeAfterFunc is used to create timers. During tests the function is
+ // replaced to track allocated timers and fail the test if a timer isn't
+ // cancelled.
+ TimeAfterFunc = func(d time.Duration, f func()) Timer {
+ return time.AfterFunc(d, f)
+ }
+
+ // NewStreamWaitingForResolver is a test hook that is triggered when a
+ // new stream blocks while waiting for name resolution. This can be
+ // used in tests to synchronize resolver updates and avoid race conditions.
+ // When set, the function will be called before the stream enters
+ // the blocking state.
+ NewStreamWaitingForResolver = func() {}
)
// HealthChecker defines the signature of the client-side LB channel health
@@ -300,3 +285,9 @@ type EnforceSubConnEmbedding interface {
type EnforceClientConnEmbedding interface {
enforceClientConnEmbedding()
}
+
+// Timer is an interface to allow injecting different time.Timer implementations
+// during tests.
+type Timer interface {
+ Stop() bool
+}
diff --git a/openshift/default-catalog-consistency/vendor/google.golang.org/grpc/internal/metadata/metadata.go b/openshift/default-catalog-consistency/vendor/google.golang.org/grpc/internal/metadata/metadata.go
index 900bfb7160..c4055bc00e 100644
--- a/openshift/default-catalog-consistency/vendor/google.golang.org/grpc/internal/metadata/metadata.go
+++ b/openshift/default-catalog-consistency/vendor/google.golang.org/grpc/internal/metadata/metadata.go
@@ -97,13 +97,11 @@ func hasNotPrintable(msg string) bool {
return false
}
-// ValidatePair validate a key-value pair with the following rules (the pseudo-header will be skipped) :
-//
-// - key must contain one or more characters.
-// - the characters in the key must be contained in [0-9 a-z _ - .].
-// - if the key ends with a "-bin" suffix, no validation of the corresponding value is performed.
-// - the characters in the every value must be printable (in [%x20-%x7E]).
-func ValidatePair(key string, vals ...string) error {
+// ValidateKey validates a key with the following rules (pseudo-headers are
+// skipped):
+// - the key must contain one or more characters.
+// - the characters in the key must be in [0-9 a-z _ - .].
+func ValidateKey(key string) error {
// key should not be empty
if key == "" {
return fmt.Errorf("there is an empty key in the header")
@@ -119,6 +117,20 @@ func ValidatePair(key string, vals ...string) error {
return fmt.Errorf("header key %q contains illegal characters not in [0-9a-z-_.]", key)
}
}
+ return nil
+}
+
+// ValidatePair validates a key-value pair with the following rules
+// (pseudo-header are skipped):
+// - the key must contain one or more characters.
+// - the characters in the key must be in [0-9 a-z _ - .].
+// - if the key ends with a "-bin" suffix, no validation of the corresponding
+// value is performed.
+// - the characters in every value must be printable (in [%x20-%x7E]).
+func ValidatePair(key string, vals ...string) error {
+ if err := ValidateKey(key); err != nil {
+ return err
+ }
if strings.HasSuffix(key, "-bin") {
return nil
}
diff --git a/openshift/default-catalog-consistency/vendor/google.golang.org/grpc/internal/resolver/delegatingresolver/delegatingresolver.go b/openshift/default-catalog-consistency/vendor/google.golang.org/grpc/internal/resolver/delegatingresolver/delegatingresolver.go
index a6c6470133..20b8fb098a 100644
--- a/openshift/default-catalog-consistency/vendor/google.golang.org/grpc/internal/resolver/delegatingresolver/delegatingresolver.go
+++ b/openshift/default-catalog-consistency/vendor/google.golang.org/grpc/internal/resolver/delegatingresolver/delegatingresolver.go
@@ -28,6 +28,8 @@ import (
"google.golang.org/grpc/grpclog"
"google.golang.org/grpc/internal/proxyattributes"
+ "google.golang.org/grpc/internal/transport"
+ "google.golang.org/grpc/internal/transport/networktype"
"google.golang.org/grpc/resolver"
"google.golang.org/grpc/serviceconfig"
)
@@ -40,19 +42,26 @@ var (
// delegatingResolver manages both target URI and proxy address resolution by
// delegating these tasks to separate child resolvers. Essentially, it acts as
-// a intermediary between the gRPC ClientConn and the child resolvers.
+// an intermediary between the gRPC ClientConn and the child resolvers.
//
// It implements the [resolver.Resolver] interface.
type delegatingResolver struct {
- target resolver.Target // parsed target URI to be resolved
- cc resolver.ClientConn // gRPC ClientConn
- targetResolver resolver.Resolver // resolver for the target URI, based on its scheme
- proxyResolver resolver.Resolver // resolver for the proxy URI; nil if no proxy is configured
- proxyURL *url.URL // proxy URL, derived from proxy environment and target
+ target resolver.Target // parsed target URI to be resolved
+ cc resolver.ClientConn // gRPC ClientConn
+ proxyURL *url.URL // proxy URL, derived from proxy environment and target
+ // We do not hold both mu and childMu in the same goroutine. Avoid holding
+ // both locks when calling into the child, as the child resolver may
+ // synchronously callback into the channel.
mu sync.Mutex // protects all the fields below
targetResolverState *resolver.State // state of the target resolver
proxyAddrs []resolver.Address // resolved proxy addresses; empty if no proxy is configured
+
+ // childMu serializes calls into child resolvers. It also protects access to
+ // the following fields.
+ childMu sync.Mutex
+ targetResolver resolver.Resolver // resolver for the target URI, based on its scheme
+ proxyResolver resolver.Resolver // resolver for the proxy URI; nil if no proxy is configured
}
// nopResolver is a resolver that does nothing.
@@ -62,8 +71,8 @@ func (nopResolver) ResolveNow(resolver.ResolveNowOptions) {}
func (nopResolver) Close() {}
-// proxyURLForTarget determines the proxy URL for the given address based on
-// the environment. It can return the following:
+// proxyURLForTarget determines the proxy URL for the given address based on the
+// environment. It can return the following:
// - nil URL, nil error: No proxy is configured or the address is excluded
// using the `NO_PROXY` environment variable or if req.URL.Host is
// "localhost" (with or without // a port number)
@@ -82,7 +91,8 @@ func proxyURLForTarget(address string) (*url.URL, error) {
// resolvers:
// - one to resolve the proxy address specified using the supported
// environment variables. This uses the registered resolver for the "dns"
-// scheme.
+// scheme. It is lazily built when a target resolver update contains at least
+// one TCP address.
// - one to resolve the target URI using the resolver specified by the scheme
// in the target URI or specified by the user using the WithResolvers dial
// option. As a special case, if the target URI's scheme is "dns" and a
@@ -91,8 +101,10 @@ func proxyURLForTarget(address string) (*url.URL, error) {
// resolution is enabled using the dial option.
func New(target resolver.Target, cc resolver.ClientConn, opts resolver.BuildOptions, targetResolverBuilder resolver.Builder, targetResolutionEnabled bool) (resolver.Resolver, error) {
r := &delegatingResolver{
- target: target,
- cc: cc,
+ target: target,
+ cc: cc,
+ proxyResolver: nopResolver{},
+ targetResolver: nopResolver{},
}
var err error
@@ -111,41 +123,34 @@ func New(target resolver.Target, cc resolver.ClientConn, opts resolver.BuildOpti
logger.Infof("Proxy URL detected : %s", r.proxyURL)
}
+ // Resolver updates from one child may trigger calls into the other. Block
+ // updates until the children are initialized.
+ r.childMu.Lock()
+ defer r.childMu.Unlock()
// When the scheme is 'dns' and target resolution on client is not enabled,
// resolution should be handled by the proxy, not the client. Therefore, we
// bypass the target resolver and store the unresolved target address.
if target.URL.Scheme == "dns" && !targetResolutionEnabled {
- state := resolver.State{
+ r.targetResolverState = &resolver.State{
Addresses: []resolver.Address{{Addr: target.Endpoint()}},
Endpoints: []resolver.Endpoint{{Addresses: []resolver.Address{{Addr: target.Endpoint()}}}},
}
- r.targetResolverState = &state
- } else {
- wcc := &wrappingClientConn{
- stateListener: r.updateTargetResolverState,
- parent: r,
- }
- if r.targetResolver, err = targetResolverBuilder.Build(target, wcc, opts); err != nil {
- return nil, fmt.Errorf("delegating_resolver: unable to build the resolver for target %s: %v", target, err)
- }
- }
-
- if r.proxyResolver, err = r.proxyURIResolver(opts); err != nil {
- return nil, fmt.Errorf("delegating_resolver: failed to build resolver for proxy URL %q: %v", r.proxyURL, err)
+ r.updateTargetResolverState(*r.targetResolverState)
+ return r, nil
}
-
- if r.targetResolver == nil {
- r.targetResolver = nopResolver{}
+ wcc := &wrappingClientConn{
+ stateListener: r.updateTargetResolverState,
+ parent: r,
}
- if r.proxyResolver == nil {
- r.proxyResolver = nopResolver{}
+ if r.targetResolver, err = targetResolverBuilder.Build(target, wcc, opts); err != nil {
+ return nil, fmt.Errorf("delegating_resolver: unable to build the resolver for target %s: %v", target, err)
}
return r, nil
}
-// proxyURIResolver creates a resolver for resolving proxy URIs using the
-// "dns" scheme. It adjusts the proxyURL to conform to the "dns:///" format and
-// builds a resolver with a wrappingClientConn to capture resolved addresses.
+// proxyURIResolver creates a resolver for resolving proxy URIs using the "dns"
+// scheme. It adjusts the proxyURL to conform to the "dns:///" format and builds
+// a resolver with a wrappingClientConn to capture resolved addresses.
func (r *delegatingResolver) proxyURIResolver(opts resolver.BuildOptions) (resolver.Resolver, error) {
proxyBuilder := resolver.Get("dns")
if proxyBuilder == nil {
@@ -165,11 +170,15 @@ func (r *delegatingResolver) proxyURIResolver(opts resolver.BuildOptions) (resol
}
func (r *delegatingResolver) ResolveNow(o resolver.ResolveNowOptions) {
+ r.childMu.Lock()
+ defer r.childMu.Unlock()
r.targetResolver.ResolveNow(o)
r.proxyResolver.ResolveNow(o)
}
func (r *delegatingResolver) Close() {
+ r.childMu.Lock()
+ defer r.childMu.Unlock()
r.targetResolver.Close()
r.targetResolver = nil
@@ -177,18 +186,58 @@ func (r *delegatingResolver) Close() {
r.proxyResolver = nil
}
-// updateClientConnStateLocked creates a list of combined addresses by
-// pairing each proxy address with every target address. For each pair, it
-// generates a new [resolver.Address] using the proxy address, and adding the
-// target address as the attribute along with user info. It returns nil if
-// either resolver has not sent update even once and returns the error from
-// ClientConn update once both resolvers have sent update atleast once.
+func needsProxyResolver(state *resolver.State) bool {
+ for _, addr := range state.Addresses {
+ if !skipProxy(addr) {
+ return true
+ }
+ }
+ for _, endpoint := range state.Endpoints {
+ for _, addr := range endpoint.Addresses {
+ if !skipProxy(addr) {
+ return true
+ }
+ }
+ }
+ return false
+}
+
+func skipProxy(address resolver.Address) bool {
+ // Avoid proxy when network is not tcp.
+ networkType, ok := networktype.Get(address)
+ if !ok {
+ networkType, _ = transport.ParseDialTarget(address.Addr)
+ }
+ if networkType != "tcp" {
+ return true
+ }
+
+ req := &http.Request{URL: &url.URL{
+ Scheme: "https",
+ Host: address.Addr,
+ }}
+ // Avoid proxy when address included in `NO_PROXY` environment variable or
+ // fails to get the proxy address.
+ url, err := HTTPSProxyFromEnvironment(req)
+ if err != nil || url == nil {
+ return true
+ }
+ return false
+}
+
+// updateClientConnStateLocked constructs a combined list of addresses by
+// pairing each proxy address with every target address of type TCP. For each
+// pair, it creates a new [resolver.Address] using the proxy address and
+// attaches the corresponding target address and user info as attributes. Target
+// addresses that are not of type TCP are appended to the list as-is. The
+// function returns nil if either resolver has not yet provided an update, and
+// returns the result of ClientConn.UpdateState once both resolvers have
+// provided at least one update.
func (r *delegatingResolver) updateClientConnStateLocked() error {
if r.targetResolverState == nil || r.proxyAddrs == nil {
return nil
}
- curState := *r.targetResolverState
// If multiple resolved proxy addresses are present, we send only the
// unresolved proxy host and let net.Dial handle the proxy host name
// resolution when creating the transport. Sending all resolved addresses
@@ -206,24 +255,29 @@ func (r *delegatingResolver) updateClientConnStateLocked() error {
}
var addresses []resolver.Address
for _, targetAddr := range (*r.targetResolverState).Addresses {
+ if skipProxy(targetAddr) {
+ addresses = append(addresses, targetAddr)
+ continue
+ }
addresses = append(addresses, proxyattributes.Set(proxyAddr, proxyattributes.Options{
User: r.proxyURL.User,
ConnectAddr: targetAddr.Addr,
}))
}
- // Create a list of combined endpoints by pairing all proxy endpoints
- // with every target endpoint. Each time, it constructs a new
- // [resolver.Endpoint] using the all addresses from all the proxy endpoint
- // and the target addresses from one endpoint. The target address and user
- // information from the proxy URL are added as attributes to the proxy
- // address.The resulting list of addresses is then grouped into endpoints,
- // covering all combinations of proxy and target endpoints.
+ // For each target endpoint, construct a new [resolver.Endpoint] that
+ // includes all addresses from all proxy endpoints and the addresses from
+ // that target endpoint, preserving the number of target endpoints.
var endpoints []resolver.Endpoint
for _, endpt := range (*r.targetResolverState).Endpoints {
var addrs []resolver.Address
- for _, proxyAddr := range r.proxyAddrs {
- for _, targetAddr := range endpt.Addresses {
+ for _, targetAddr := range endpt.Addresses {
+ // Avoid proxy when network is not tcp.
+ if skipProxy(targetAddr) {
+ addrs = append(addrs, targetAddr)
+ continue
+ }
+ for _, proxyAddr := range r.proxyAddrs {
addrs = append(addrs, proxyattributes.Set(proxyAddr, proxyattributes.Options{
User: r.proxyURL.User,
ConnectAddr: targetAddr.Addr,
@@ -234,8 +288,9 @@ func (r *delegatingResolver) updateClientConnStateLocked() error {
}
// Use the targetResolverState for its service config and attributes
// contents. The state update is only sent after both the target and proxy
- // resolvers have sent their updates, and curState has been updated with
- // the combined addresses.
+ // resolvers have sent their updates, and curState has been updated with the
+ // combined addresses.
+ curState := *r.targetResolverState
curState.Addresses = addresses
curState.Endpoints = endpoints
return r.cc.UpdateState(curState)
@@ -245,7 +300,8 @@ func (r *delegatingResolver) updateClientConnStateLocked() error {
// addresses and endpoints, marking the resolver as ready, and triggering a
// state update if both proxy and target resolvers are ready. If the ClientConn
// returns a non-nil error, it calls `ResolveNow()` on the target resolver. It
-// is a StateListener function of wrappingClientConn passed to the proxy resolver.
+// is a StateListener function of wrappingClientConn passed to the proxy
+// resolver.
func (r *delegatingResolver) updateProxyResolverState(state resolver.State) error {
r.mu.Lock()
defer r.mu.Unlock()
@@ -253,8 +309,8 @@ func (r *delegatingResolver) updateProxyResolverState(state resolver.State) erro
logger.Infof("Addresses received from proxy resolver: %s", state.Addresses)
}
if len(state.Endpoints) > 0 {
- // We expect exactly one address per endpoint because the proxy
- // resolver uses "dns" resolution.
+ // We expect exactly one address per endpoint because the proxy resolver
+ // uses "dns" resolution.
r.proxyAddrs = make([]resolver.Address, 0, len(state.Endpoints))
for _, endpoint := range state.Endpoints {
r.proxyAddrs = append(r.proxyAddrs, endpoint.Addresses...)
@@ -267,20 +323,29 @@ func (r *delegatingResolver) updateProxyResolverState(state resolver.State) erro
err := r.updateClientConnStateLocked()
// Another possible approach was to block until updates are received from
// both resolvers. But this is not used because calling `New()` triggers
- // `Build()` for the first resolver, which calls `UpdateState()`. And the
+ // `Build()` for the first resolver, which calls `UpdateState()`. And the
// second resolver hasn't sent an update yet, so it would cause `New()` to
// block indefinitely.
if err != nil {
- r.targetResolver.ResolveNow(resolver.ResolveNowOptions{})
+ go func() {
+ r.childMu.Lock()
+ defer r.childMu.Unlock()
+ if r.targetResolver != nil {
+ r.targetResolver.ResolveNow(resolver.ResolveNowOptions{})
+ }
+ }()
}
return err
}
-// updateTargetResolverState updates the target resolver state by storing target
-// addresses, endpoints, and service config, marking the resolver as ready, and
-// triggering a state update if both resolvers are ready. If the ClientConn
-// returns a non-nil error, it calls `ResolveNow()` on the proxy resolver. It
-// is a StateListener function of wrappingClientConn passed to the target resolver.
+// updateTargetResolverState is the StateListener function provided to the
+// target resolver via wrappingClientConn. It updates the resolver state and
+// marks the target resolver as ready. If the update includes at least one TCP
+// address and the proxy resolver has not yet been constructed, it initializes
+// the proxy resolver. A combined state update is triggered once both resolvers
+// are ready. If all addresses are non-TCP, it proceeds without waiting for the
+// proxy resolver. If ClientConn.UpdateState returns a non-nil error,
+// ResolveNow() is called on the proxy resolver.
func (r *delegatingResolver) updateTargetResolverState(state resolver.State) error {
r.mu.Lock()
defer r.mu.Unlock()
@@ -289,9 +354,41 @@ func (r *delegatingResolver) updateTargetResolverState(state resolver.State) err
logger.Infof("Addresses received from target resolver: %v", state.Addresses)
}
r.targetResolverState = &state
+ // If all addresses returned by the target resolver have a non-TCP network
+ // type, or are listed in the `NO_PROXY` environment variable, do not wait
+ // for proxy update.
+ if !needsProxyResolver(r.targetResolverState) {
+ return r.cc.UpdateState(*r.targetResolverState)
+ }
+
+ // The proxy resolver may be rebuilt multiple times, specifically each time
+ // the target resolver sends an update, even if the target resolver is built
+ // successfully but building the proxy resolver fails.
+ if len(r.proxyAddrs) == 0 {
+ go func() {
+ r.childMu.Lock()
+ defer r.childMu.Unlock()
+ if _, ok := r.proxyResolver.(nopResolver); !ok {
+ return
+ }
+ proxyResolver, err := r.proxyURIResolver(resolver.BuildOptions{})
+ if err != nil {
+ r.cc.ReportError(fmt.Errorf("delegating_resolver: unable to build the proxy resolver: %v", err))
+ return
+ }
+ r.proxyResolver = proxyResolver
+ }()
+ }
+
err := r.updateClientConnStateLocked()
if err != nil {
- r.proxyResolver.ResolveNow(resolver.ResolveNowOptions{})
+ go func() {
+ r.childMu.Lock()
+ defer r.childMu.Unlock()
+ if r.proxyResolver != nil {
+ r.proxyResolver.ResolveNow(resolver.ResolveNowOptions{})
+ }
+ }()
}
return nil
}
@@ -311,7 +408,8 @@ func (wcc *wrappingClientConn) UpdateState(state resolver.State) error {
return wcc.stateListener(state)
}
-// ReportError intercepts errors from the child resolvers and passes them to ClientConn.
+// ReportError intercepts errors from the child resolvers and passes them to
+// ClientConn.
func (wcc *wrappingClientConn) ReportError(err error) {
wcc.parent.cc.ReportError(err)
}
@@ -322,8 +420,8 @@ func (wcc *wrappingClientConn) NewAddress(addrs []resolver.Address) {
wcc.UpdateState(resolver.State{Addresses: addrs})
}
-// ParseServiceConfig parses the provided service config and returns an
-// object that provides the parsed config.
+// ParseServiceConfig parses the provided service config and returns an object
+// that provides the parsed config.
func (wcc *wrappingClientConn) ParseServiceConfig(serviceConfigJSON string) *serviceconfig.ParseResult {
return wcc.parent.cc.ParseServiceConfig(serviceConfigJSON)
}
diff --git a/openshift/default-catalog-consistency/vendor/google.golang.org/grpc/internal/resolver/dns/dns_resolver.go b/openshift/default-catalog-consistency/vendor/google.golang.org/grpc/internal/resolver/dns/dns_resolver.go
index ba5c5a95d0..ada5251cff 100644
--- a/openshift/default-catalog-consistency/vendor/google.golang.org/grpc/internal/resolver/dns/dns_resolver.go
+++ b/openshift/default-catalog-consistency/vendor/google.golang.org/grpc/internal/resolver/dns/dns_resolver.go
@@ -132,13 +132,13 @@ func (b *dnsBuilder) Build(target resolver.Target, cc resolver.ClientConn, opts
// DNS address (non-IP).
ctx, cancel := context.WithCancel(context.Background())
d := &dnsResolver{
- host: host,
- port: port,
- ctx: ctx,
- cancel: cancel,
- cc: cc,
- rn: make(chan struct{}, 1),
- disableServiceConfig: opts.DisableServiceConfig,
+ host: host,
+ port: port,
+ ctx: ctx,
+ cancel: cancel,
+ cc: cc,
+ rn: make(chan struct{}, 1),
+ enableServiceConfig: envconfig.EnableTXTServiceConfig && !opts.DisableServiceConfig,
}
d.resolver, err = internal.NewNetResolver(target.URL.Host)
@@ -181,8 +181,8 @@ type dnsResolver struct {
// finishes, race detector sometimes will warn lookup (READ the lookup
// function pointers) inside watcher() goroutine has data race with
// replaceNetFunc (WRITE the lookup function pointers).
- wg sync.WaitGroup
- disableServiceConfig bool
+ wg sync.WaitGroup
+ enableServiceConfig bool
}
// ResolveNow invoke an immediate resolution of the target that this
@@ -346,7 +346,7 @@ func (d *dnsResolver) lookup() (*resolver.State, error) {
if len(srv) > 0 {
state = grpclbstate.Set(state, &grpclbstate.State{BalancerAddresses: srv})
}
- if !d.disableServiceConfig {
+ if d.enableServiceConfig {
state.ServiceConfig = d.lookupTXT(ctx)
}
return &state, nil
diff --git a/openshift/default-catalog-consistency/vendor/google.golang.org/grpc/internal/status/status.go b/openshift/default-catalog-consistency/vendor/google.golang.org/grpc/internal/status/status.go
index 1186f1e9a9..aad171cd02 100644
--- a/openshift/default-catalog-consistency/vendor/google.golang.org/grpc/internal/status/status.go
+++ b/openshift/default-catalog-consistency/vendor/google.golang.org/grpc/internal/status/status.go
@@ -236,3 +236,11 @@ func IsRestrictedControlPlaneCode(s *Status) bool {
}
return false
}
+
+// RawStatusProto returns the internal protobuf message for use by gRPC itself.
+func RawStatusProto(s *Status) *spb.Status {
+ if s == nil {
+ return nil
+ }
+ return s.s
+}
diff --git a/openshift/default-catalog-consistency/vendor/google.golang.org/grpc/internal/transport/client_stream.go b/openshift/default-catalog-consistency/vendor/google.golang.org/grpc/internal/transport/client_stream.go
index 8ed347c541..ccc0e017e5 100644
--- a/openshift/default-catalog-consistency/vendor/google.golang.org/grpc/internal/transport/client_stream.go
+++ b/openshift/default-catalog-consistency/vendor/google.golang.org/grpc/internal/transport/client_stream.go
@@ -59,7 +59,7 @@ func (s *ClientStream) Read(n int) (mem.BufferSlice, error) {
return b, err
}
-// Close closes the stream and popagates err to any readers.
+// Close closes the stream and propagates err to any readers.
func (s *ClientStream) Close(err error) {
var (
rst bool
diff --git a/openshift/default-catalog-consistency/vendor/google.golang.org/grpc/internal/transport/controlbuf.go b/openshift/default-catalog-consistency/vendor/google.golang.org/grpc/internal/transport/controlbuf.go
index ef72fbb3a0..a2831e5d01 100644
--- a/openshift/default-catalog-consistency/vendor/google.golang.org/grpc/internal/transport/controlbuf.go
+++ b/openshift/default-catalog-consistency/vendor/google.golang.org/grpc/internal/transport/controlbuf.go
@@ -40,6 +40,13 @@ var updateHeaderTblSize = func(e *hpack.Encoder, v uint32) {
e.SetMaxDynamicTableSizeLimit(v)
}
+// itemNodePool is used to reduce heap allocations.
+var itemNodePool = sync.Pool{
+ New: func() any {
+ return &itemNode{}
+ },
+}
+
type itemNode struct {
it any
next *itemNode
@@ -51,7 +58,9 @@ type itemList struct {
}
func (il *itemList) enqueue(i any) {
- n := &itemNode{it: i}
+ n := itemNodePool.Get().(*itemNode)
+ n.next = nil
+ n.it = i
if il.tail == nil {
il.head, il.tail = n, n
return
@@ -71,7 +80,9 @@ func (il *itemList) dequeue() any {
return nil
}
i := il.head.it
+ temp := il.head
il.head = il.head.next
+ itemNodePool.Put(temp)
if il.head == nil {
il.tail = nil
}
@@ -146,10 +157,11 @@ type earlyAbortStream struct {
func (*earlyAbortStream) isTransportResponseFrame() bool { return false }
type dataFrame struct {
- streamID uint32
- endStream bool
- h []byte
- reader mem.Reader
+ streamID uint32
+ endStream bool
+ h []byte
+ data mem.BufferSlice
+ processing bool
// onEachWrite is called every time
// a part of data is written out.
onEachWrite func()
@@ -234,6 +246,7 @@ type outStream struct {
itl *itemList
bytesOutStanding int
wq *writeQuota
+ reader mem.Reader
next *outStream
prev *outStream
@@ -461,7 +474,9 @@ func (c *controlBuffer) finish() {
v.onOrphaned(ErrConnClosing)
}
case *dataFrame:
- _ = v.reader.Close()
+ if !v.processing {
+ v.data.Free()
+ }
}
}
@@ -650,10 +665,11 @@ func (l *loopyWriter) incomingSettingsHandler(s *incomingSettings) error {
func (l *loopyWriter) registerStreamHandler(h *registerStream) {
str := &outStream{
- id: h.streamID,
- state: empty,
- itl: &itemList{},
- wq: h.wq,
+ id: h.streamID,
+ state: empty,
+ itl: &itemList{},
+ wq: h.wq,
+ reader: mem.BufferSlice{}.Reader(),
}
l.estdStreams[h.streamID] = str
}
@@ -685,10 +701,11 @@ func (l *loopyWriter) headerHandler(h *headerFrame) error {
}
// Case 2: Client wants to originate stream.
str := &outStream{
- id: h.streamID,
- state: empty,
- itl: &itemList{},
- wq: h.wq,
+ id: h.streamID,
+ state: empty,
+ itl: &itemList{},
+ wq: h.wq,
+ reader: mem.BufferSlice{}.Reader(),
}
return l.originateStream(str, h)
}
@@ -790,10 +807,13 @@ func (l *loopyWriter) cleanupStreamHandler(c *cleanupStream) error {
// a RST_STREAM before stream initialization thus the stream might
// not be established yet.
delete(l.estdStreams, c.streamID)
+ str.reader.Close()
str.deleteSelf()
for head := str.itl.dequeueAll(); head != nil; head = head.next {
if df, ok := head.it.(*dataFrame); ok {
- _ = df.reader.Close()
+ if !df.processing {
+ df.data.Free()
+ }
}
}
}
@@ -928,7 +948,13 @@ func (l *loopyWriter) processData() (bool, error) {
if str == nil {
return true, nil
}
+ reader := str.reader
dataItem := str.itl.peek().(*dataFrame) // Peek at the first data item this stream.
+ if !dataItem.processing {
+ dataItem.processing = true
+ str.reader.Reset(dataItem.data)
+ dataItem.data.Free()
+ }
// A data item is represented by a dataFrame, since it later translates into
// multiple HTTP2 data frames.
// Every dataFrame has two buffers; h that keeps grpc-message header and data
@@ -936,13 +962,13 @@ func (l *loopyWriter) processData() (bool, error) {
// from data is copied to h to make as big as the maximum possible HTTP2 frame
// size.
- if len(dataItem.h) == 0 && dataItem.reader.Remaining() == 0 { // Empty data frame
+ if len(dataItem.h) == 0 && reader.Remaining() == 0 { // Empty data frame
// Client sends out empty data frame with endStream = true
if err := l.framer.fr.WriteData(dataItem.streamID, dataItem.endStream, nil); err != nil {
return false, err
}
str.itl.dequeue() // remove the empty data item from stream
- _ = dataItem.reader.Close()
+ _ = reader.Close()
if str.itl.isEmpty() {
str.state = empty
} else if trailer, ok := str.itl.peek().(*headerFrame); ok { // the next item is trailers.
@@ -971,8 +997,8 @@ func (l *loopyWriter) processData() (bool, error) {
}
// Compute how much of the header and data we can send within quota and max frame length
hSize := min(maxSize, len(dataItem.h))
- dSize := min(maxSize-hSize, dataItem.reader.Remaining())
- remainingBytes := len(dataItem.h) + dataItem.reader.Remaining() - hSize - dSize
+ dSize := min(maxSize-hSize, reader.Remaining())
+ remainingBytes := len(dataItem.h) + reader.Remaining() - hSize - dSize
size := hSize + dSize
var buf *[]byte
@@ -993,7 +1019,7 @@ func (l *loopyWriter) processData() (bool, error) {
defer pool.Put(buf)
copy((*buf)[:hSize], dataItem.h)
- _, _ = dataItem.reader.Read((*buf)[hSize:])
+ _, _ = reader.Read((*buf)[hSize:])
}
// Now that outgoing flow controls are checked we can replenish str's write quota
@@ -1014,7 +1040,7 @@ func (l *loopyWriter) processData() (bool, error) {
dataItem.h = dataItem.h[hSize:]
if remainingBytes == 0 { // All the data from that message was written out.
- _ = dataItem.reader.Close()
+ _ = reader.Close()
str.itl.dequeue()
}
if str.itl.isEmpty() {
diff --git a/openshift/default-catalog-consistency/vendor/google.golang.org/grpc/internal/transport/handler_server.go b/openshift/default-catalog-consistency/vendor/google.golang.org/grpc/internal/transport/handler_server.go
index 3dea235735..d954a64c38 100644
--- a/openshift/default-catalog-consistency/vendor/google.golang.org/grpc/internal/transport/handler_server.go
+++ b/openshift/default-catalog-consistency/vendor/google.golang.org/grpc/internal/transport/handler_server.go
@@ -277,11 +277,13 @@ func (ht *serverHandlerTransport) writeStatus(s *ServerStream, st *status.Status
if err == nil { // transport has not been closed
// Note: The trailer fields are compressed with hpack after this call returns.
// No WireLength field is set here.
+ s.hdrMu.Lock()
for _, sh := range ht.stats {
sh.HandleRPC(s.Context(), &stats.OutTrailer{
Trailer: s.trailer.Copy(),
})
}
+ s.hdrMu.Unlock()
}
ht.Close(errors.New("finished writing status"))
return err
diff --git a/openshift/default-catalog-consistency/vendor/google.golang.org/grpc/internal/transport/http2_client.go b/openshift/default-catalog-consistency/vendor/google.golang.org/grpc/internal/transport/http2_client.go
index 513dbb93d5..5467fe9715 100644
--- a/openshift/default-catalog-consistency/vendor/google.golang.org/grpc/internal/transport/http2_client.go
+++ b/openshift/default-catalog-consistency/vendor/google.golang.org/grpc/internal/transport/http2_client.go
@@ -176,7 +176,7 @@ func dial(ctx context.Context, fn func(context.Context, string) (net.Conn, error
return fn(ctx, address)
}
if !ok {
- networkType, address = parseDialTarget(address)
+ networkType, address = ParseDialTarget(address)
}
if opts, present := proxyattributes.Get(addr); present {
return proxyDial(ctx, addr, grpcUA, opts)
@@ -309,11 +309,9 @@ func NewHTTP2Client(connectCtx, ctx context.Context, addr resolver.Address, opts
scheme = "https"
}
}
- dynamicWindow := true
icwz := int32(initialWindowSize)
if opts.InitialConnWindowSize >= defaultWindowSize {
icwz = opts.InitialConnWindowSize
- dynamicWindow = false
}
writeBufSize := opts.WriteBufferSize
readBufSize := opts.ReadBufferSize
@@ -381,9 +379,8 @@ func NewHTTP2Client(connectCtx, ctx context.Context, addr resolver.Address, opts
t.controlBuf = newControlBuffer(t.ctxDone)
if opts.InitialWindowSize >= defaultWindowSize {
t.initialWindowSize = opts.InitialWindowSize
- dynamicWindow = false
}
- if dynamicWindow {
+ if !opts.StaticWindowSize {
t.bdpEst = &bdpEstimator{
bdp: initialWindowSize,
updateFlowControl: t.updateFlowControl,
@@ -545,7 +542,7 @@ func (t *http2Client) createHeaderFields(ctx context.Context, callHdr *CallHdr)
Method: callHdr.Method,
AuthInfo: t.authInfo,
}
- ctxWithRequestInfo := icredentials.NewRequestInfoContext(ctx, ri)
+ ctxWithRequestInfo := credentials.NewContextWithRequestInfo(ctx, ri)
authData, err := t.getTrAuthData(ctxWithRequestInfo, aud)
if err != nil {
return nil, err
@@ -592,6 +589,9 @@ func (t *http2Client) createHeaderFields(ctx context.Context, callHdr *CallHdr)
// Send out timeout regardless its value. The server can detect timeout context by itself.
// TODO(mmukhi): Perhaps this field should be updated when actually writing out to the wire.
timeout := time.Until(dl)
+ if timeout <= 0 {
+ return nil, status.Error(codes.DeadlineExceeded, context.DeadlineExceeded.Error())
+ }
headerFields = append(headerFields, hpack.HeaderField{Name: "grpc-timeout", Value: grpcutil.EncodeDuration(timeout)})
}
for k, v := range authData {
@@ -749,6 +749,25 @@ func (t *http2Client) NewStream(ctx context.Context, callHdr *CallHdr) (*ClientS
callHdr = &newCallHdr
}
+ // The authority specified via the `CallAuthority` CallOption takes the
+ // highest precedence when determining the `:authority` header. It overrides
+ // any value present in the Host field of CallHdr. Before applying this
+ // override, the authority string is validated. If the credentials do not
+ // implement the AuthorityValidator interface, or if validation fails, the
+ // RPC is failed with a status code of `UNAVAILABLE`.
+ if callHdr.Authority != "" {
+ auth, ok := t.authInfo.(credentials.AuthorityValidator)
+ if !ok {
+ return nil, &NewStreamError{Err: status.Errorf(codes.Unavailable, "credentials type %q does not implement the AuthorityValidator interface, but authority override specified with CallAuthority call option", t.authInfo.AuthType())}
+ }
+ if err := auth.ValidateAuthority(callHdr.Authority); err != nil {
+ return nil, &NewStreamError{Err: status.Errorf(codes.Unavailable, "failed to validate authority %q : %v", callHdr.Authority, err)}
+ }
+ newCallHdr := *callHdr
+ newCallHdr.Host = callHdr.Authority
+ callHdr = &newCallHdr
+ }
+
headerFields, err := t.createHeaderFields(ctx, callHdr)
if err != nil {
return nil, &NewStreamError{Err: err, AllowTransparentRetry: false}
@@ -1069,32 +1088,29 @@ func (t *http2Client) GracefulClose() {
// Write formats the data into HTTP2 data frame(s) and sends it out. The caller
// should proceed only if Write returns nil.
func (t *http2Client) write(s *ClientStream, hdr []byte, data mem.BufferSlice, opts *WriteOptions) error {
- reader := data.Reader()
-
if opts.Last {
// If it's the last message, update stream state.
if !s.compareAndSwapState(streamActive, streamWriteDone) {
- _ = reader.Close()
return errStreamDone
}
} else if s.getState() != streamActive {
- _ = reader.Close()
return errStreamDone
}
df := &dataFrame{
streamID: s.id,
endStream: opts.Last,
h: hdr,
- reader: reader,
+ data: data,
}
- if hdr != nil || df.reader.Remaining() != 0 { // If it's not an empty data frame, check quota.
- if err := s.wq.get(int32(len(hdr) + df.reader.Remaining())); err != nil {
- _ = reader.Close()
+ dataLen := data.Len()
+ if hdr != nil || dataLen != 0 { // If it's not an empty data frame, check quota.
+ if err := s.wq.get(int32(len(hdr) + dataLen)); err != nil {
return err
}
}
+ data.Ref()
if err := t.controlBuf.put(df); err != nil {
- _ = reader.Close()
+ data.Free()
return err
}
t.incrMsgSent()
@@ -1242,7 +1258,8 @@ func (t *http2Client) handleRSTStream(f *http2.RSTStreamFrame) {
statusCode = codes.DeadlineExceeded
}
}
- t.closeStream(s, io.EOF, false, http2.ErrCodeNo, status.Newf(statusCode, "stream terminated by RST_STREAM with error code: %v", f.ErrCode), nil, false)
+ st := status.Newf(statusCode, "stream terminated by RST_STREAM with error code: %v", f.ErrCode)
+ t.closeStream(s, st.Err(), false, http2.ErrCodeNo, st, nil, false)
}
func (t *http2Client) handleSettings(f *http2.SettingsFrame, isFirst bool) {
@@ -1390,8 +1407,7 @@ func (t *http2Client) handleGoAway(f *http2.GoAwayFrame) error {
// the caller.
func (t *http2Client) setGoAwayReason(f *http2.GoAwayFrame) {
t.goAwayReason = GoAwayNoReason
- switch f.ErrCode {
- case http2.ErrCodeEnhanceYourCalm:
+ if f.ErrCode == http2.ErrCodeEnhanceYourCalm {
if string(f.DebugData()) == "too_many_pings" {
t.goAwayReason = GoAwayTooManyPings
}
diff --git a/openshift/default-catalog-consistency/vendor/google.golang.org/grpc/internal/transport/http2_server.go b/openshift/default-catalog-consistency/vendor/google.golang.org/grpc/internal/transport/http2_server.go
index 997b0a59b5..83cee314c8 100644
--- a/openshift/default-catalog-consistency/vendor/google.golang.org/grpc/internal/transport/http2_server.go
+++ b/openshift/default-catalog-consistency/vendor/google.golang.org/grpc/internal/transport/http2_server.go
@@ -35,9 +35,11 @@ import (
"golang.org/x/net/http2"
"golang.org/x/net/http2/hpack"
+ "google.golang.org/grpc/internal"
"google.golang.org/grpc/internal/grpclog"
"google.golang.org/grpc/internal/grpcutil"
"google.golang.org/grpc/internal/pretty"
+ istatus "google.golang.org/grpc/internal/status"
"google.golang.org/grpc/internal/syscall"
"google.golang.org/grpc/mem"
"google.golang.org/protobuf/proto"
@@ -130,6 +132,10 @@ type http2Server struct {
maxStreamID uint32 // max stream ID ever seen
logger *grpclog.PrefixLogger
+ // setResetPingStrikes is stored as a closure instead of making this a
+ // method on http2Server to avoid a heap allocation when converting a method
+ // to a closure for passing to frames objects.
+ setResetPingStrikes func()
}
// NewServerTransport creates a http2 transport with conn and configuration
@@ -174,16 +180,13 @@ func NewServerTransport(conn net.Conn, config *ServerConfig) (_ ServerTransport,
Val: config.MaxStreams,
})
}
- dynamicWindow := true
iwz := int32(initialWindowSize)
if config.InitialWindowSize >= defaultWindowSize {
iwz = config.InitialWindowSize
- dynamicWindow = false
}
icwz := int32(initialWindowSize)
if config.InitialConnWindowSize >= defaultWindowSize {
icwz = config.InitialConnWindowSize
- dynamicWindow = false
}
if iwz != defaultWindowSize {
isettings = append(isettings, http2.Setting{
@@ -264,6 +267,9 @@ func NewServerTransport(conn net.Conn, config *ServerConfig) (_ ServerTransport,
initialWindowSize: iwz,
bufferPool: config.BufferPool,
}
+ t.setResetPingStrikes = func() {
+ atomic.StoreUint32(&t.resetPingStrikes, 1)
+ }
var czSecurity credentials.ChannelzSecurityValue
if au, ok := authInfo.(credentials.ChannelzSecurityInfo); ok {
czSecurity = au.GetSecurityValue()
@@ -283,7 +289,7 @@ func NewServerTransport(conn net.Conn, config *ServerConfig) (_ ServerTransport,
t.logger = prefixLoggerForServerTransport(t)
t.controlBuf = newControlBuffer(t.done)
- if dynamicWindow {
+ if !config.StaticWindowSize {
t.bdpEst = &bdpEstimator{
bdp: initialWindowSize,
updateFlowControl: t.updateFlowControl,
@@ -594,10 +600,41 @@ func (t *http2Server) operateHeaders(ctx context.Context, frame *http2.MetaHeade
return nil
}
}
+
+ if s.ctx.Err() != nil {
+ t.mu.Unlock()
+ // Early abort in case the timeout was zero or so low it already fired.
+ t.controlBuf.put(&earlyAbortStream{
+ httpStatus: http.StatusOK,
+ streamID: s.id,
+ contentSubtype: s.contentSubtype,
+ status: status.New(codes.DeadlineExceeded, context.DeadlineExceeded.Error()),
+ rst: !frame.StreamEnded(),
+ })
+ return nil
+ }
+
t.activeStreams[streamID] = s
if len(t.activeStreams) == 1 {
t.idle = time.Time{}
}
+
+ // Start a timer to close the stream on reaching the deadline.
+ if timeoutSet {
+ // We need to wait for s.cancel to be updated before calling
+ // t.closeStream to avoid data races.
+ cancelUpdated := make(chan struct{})
+ timer := internal.TimeAfterFunc(timeout, func() {
+ <-cancelUpdated
+ t.closeStream(s, true, http2.ErrCodeCancel, false)
+ })
+ oldCancel := s.cancel
+ s.cancel = func() {
+ oldCancel()
+ timer.Stop()
+ }
+ close(cancelUpdated)
+ }
t.mu.Unlock()
if channelz.IsOn() {
t.channelz.SocketMetrics.StreamsStarted.Add(1)
@@ -998,10 +1035,6 @@ func (t *http2Server) writeHeader(s *ServerStream, md metadata.MD) error {
return nil
}
-func (t *http2Server) setResetPingStrikes() {
- atomic.StoreUint32(&t.resetPingStrikes, 1)
-}
-
func (t *http2Server) writeHeaderLocked(s *ServerStream) error {
// TODO(mmukhi): Benchmark if the performance gets better if count the metadata and other header fields
// first and create a slice of that exact size.
@@ -1038,7 +1071,7 @@ func (t *http2Server) writeHeaderLocked(s *ServerStream) error {
return nil
}
-// WriteStatus sends stream status to the client and terminates the stream.
+// writeStatus sends stream status to the client and terminates the stream.
// There is no further I/O operations being able to perform on this stream.
// TODO(zhaoq): Now it indicates the end of entire stream. Revisit if early
// OK is adopted.
@@ -1066,7 +1099,7 @@ func (t *http2Server) writeStatus(s *ServerStream, st *status.Status) error {
headerFields = append(headerFields, hpack.HeaderField{Name: "grpc-status", Value: strconv.Itoa(int(st.Code()))})
headerFields = append(headerFields, hpack.HeaderField{Name: "grpc-message", Value: encodeGrpcMessage(st.Message())})
- if p := st.Proto(); p != nil && len(p.Details) > 0 {
+ if p := istatus.RawStatusProto(st); len(p.GetDetails()) > 0 {
// Do not use the user's grpc-status-details-bin (if present) if we are
// even attempting to set our own.
delete(s.trailer, grpcStatusDetailsBinHeader)
@@ -1114,17 +1147,13 @@ func (t *http2Server) writeStatus(s *ServerStream, st *status.Status) error {
// Write converts the data into HTTP2 data frame and sends it out. Non-nil error
// is returns if it fails (e.g., framing error, transport error).
func (t *http2Server) write(s *ServerStream, hdr []byte, data mem.BufferSlice, _ *WriteOptions) error {
- reader := data.Reader()
-
if !s.isHeaderSent() { // Headers haven't been written yet.
if err := t.writeHeader(s, nil); err != nil {
- _ = reader.Close()
return err
}
} else {
// Writing headers checks for this condition.
if s.getState() == streamDone {
- _ = reader.Close()
return t.streamContextErr(s)
}
}
@@ -1132,15 +1161,16 @@ func (t *http2Server) write(s *ServerStream, hdr []byte, data mem.BufferSlice, _
df := &dataFrame{
streamID: s.id,
h: hdr,
- reader: reader,
+ data: data,
onEachWrite: t.setResetPingStrikes,
}
- if err := s.wq.get(int32(len(hdr) + df.reader.Remaining())); err != nil {
- _ = reader.Close()
+ dataLen := data.Len()
+ if err := s.wq.get(int32(len(hdr) + dataLen)); err != nil {
return t.streamContextErr(s)
}
+ data.Ref()
if err := t.controlBuf.put(df); err != nil {
- _ = reader.Close()
+ data.Free()
return err
}
t.incrMsgSent()
@@ -1274,7 +1304,6 @@ func (t *http2Server) Close(err error) {
// deleteStream deletes the stream s from transport's active streams.
func (t *http2Server) deleteStream(s *ServerStream, eosReceived bool) {
-
t.mu.Lock()
if _, ok := t.activeStreams[s.id]; ok {
delete(t.activeStreams, s.id)
@@ -1324,6 +1353,9 @@ func (t *http2Server) closeStream(s *ServerStream, rst bool, rstCode http2.ErrCo
// called to interrupt the potential blocking on other goroutines.
s.cancel()
+ // We can't return early even if the stream's state is "done" as the state
+ // might have been set by the `finishStream` method. Deleting the stream via
+ // `finishStream` can get blocked on flow control.
s.swapState(streamDone)
t.deleteStream(s, eosReceived)
diff --git a/openshift/default-catalog-consistency/vendor/google.golang.org/grpc/internal/transport/http_util.go b/openshift/default-catalog-consistency/vendor/google.golang.org/grpc/internal/transport/http_util.go
index 3613d7b648..e3663f87f3 100644
--- a/openshift/default-catalog-consistency/vendor/google.golang.org/grpc/internal/transport/http_util.go
+++ b/openshift/default-catalog-consistency/vendor/google.golang.org/grpc/internal/transport/http_util.go
@@ -196,11 +196,11 @@ func decodeTimeout(s string) (time.Duration, error) {
if !ok {
return 0, fmt.Errorf("transport: timeout unit is not recognized: %q", s)
}
- t, err := strconv.ParseInt(s[:size-1], 10, 64)
+ t, err := strconv.ParseUint(s[:size-1], 10, 64)
if err != nil {
return 0, err
}
- const maxHours = math.MaxInt64 / int64(time.Hour)
+ const maxHours = math.MaxInt64 / uint64(time.Hour)
if d == time.Hour && t > maxHours {
// This timeout would overflow math.MaxInt64; clamp it.
return time.Duration(math.MaxInt64), nil
@@ -439,8 +439,8 @@ func getWriteBufferPool(size int) *sync.Pool {
return pool
}
-// parseDialTarget returns the network and address to pass to dialer.
-func parseDialTarget(target string) (string, string) {
+// ParseDialTarget returns the network and address to pass to dialer.
+func ParseDialTarget(target string) (string, string) {
net := "tcp"
m1 := strings.Index(target, ":")
m2 := strings.Index(target, ":/")
diff --git a/openshift/default-catalog-consistency/vendor/google.golang.org/grpc/internal/transport/server_stream.go b/openshift/default-catalog-consistency/vendor/google.golang.org/grpc/internal/transport/server_stream.go
index a22a901514..cf8da0b52d 100644
--- a/openshift/default-catalog-consistency/vendor/google.golang.org/grpc/internal/transport/server_stream.go
+++ b/openshift/default-catalog-consistency/vendor/google.golang.org/grpc/internal/transport/server_stream.go
@@ -35,8 +35,10 @@ type ServerStream struct {
*Stream // Embed for common stream functionality.
st internalServerTransport
- ctxDone <-chan struct{} // closed at the end of stream. Cache of ctx.Done() (for performance)
- cancel context.CancelFunc // invoked at the end of stream to cancel ctx.
+ ctxDone <-chan struct{} // closed at the end of stream. Cache of ctx.Done() (for performance)
+ // cancel is invoked at the end of stream to cancel ctx. It also stops the
+ // timer for monitoring the rpc deadline if configured.
+ cancel func()
// Holds compressor names passed in grpc-accept-encoding metadata from the
// client.
diff --git a/openshift/default-catalog-consistency/vendor/google.golang.org/grpc/internal/transport/transport.go b/openshift/default-catalog-consistency/vendor/google.golang.org/grpc/internal/transport/transport.go
index af4a4aeab1..7dd53e80a7 100644
--- a/openshift/default-catalog-consistency/vendor/google.golang.org/grpc/internal/transport/transport.go
+++ b/openshift/default-catalog-consistency/vendor/google.golang.org/grpc/internal/transport/transport.go
@@ -466,6 +466,7 @@ type ServerConfig struct {
MaxHeaderListSize *uint32
HeaderTableSize *uint32
BufferPool mem.BufferPool
+ StaticWindowSize bool
}
// ConnectOptions covers all relevant options for communicating with the server.
@@ -504,6 +505,8 @@ type ConnectOptions struct {
MaxHeaderListSize *uint32
// The mem.BufferPool to use when reading/writing to the wire.
BufferPool mem.BufferPool
+ // StaticWindowSize controls whether dynamic window sizing is enabled.
+ StaticWindowSize bool
}
// WriteOptions provides additional hints and information for message
@@ -540,6 +543,11 @@ type CallHdr struct {
PreviousAttempts int // value of grpc-previous-rpc-attempts header to set
DoneFunc func() // called when the stream is finished
+
+ // Authority is used to explicitly override the `:authority` header. If set,
+ // this value takes precedence over the Host field and will be used as the
+ // value for the `:authority` header.
+ Authority string
}
// ClientTransport is the common interface for all gRPC client-side transport
diff --git a/openshift/default-catalog-consistency/vendor/google.golang.org/grpc/mem/buffer_slice.go b/openshift/default-catalog-consistency/vendor/google.golang.org/grpc/mem/buffer_slice.go
index 65002e2cc8..af510d20c5 100644
--- a/openshift/default-catalog-consistency/vendor/google.golang.org/grpc/mem/buffer_slice.go
+++ b/openshift/default-catalog-consistency/vendor/google.golang.org/grpc/mem/buffer_slice.go
@@ -137,6 +137,9 @@ type Reader interface {
Close() error
// Remaining returns the number of unread bytes remaining in the slice.
Remaining() int
+ // Reset frees the currently held buffer slice and starts reading from the
+ // provided slice. This allows reusing the reader object.
+ Reset(s BufferSlice)
}
type sliceReader struct {
@@ -150,6 +153,14 @@ func (r *sliceReader) Remaining() int {
return r.len
}
+func (r *sliceReader) Reset(s BufferSlice) {
+ r.data.Free()
+ s.Ref()
+ r.data = s
+ r.len = s.Len()
+ r.bufferIdx = 0
+}
+
func (r *sliceReader) Close() error {
r.data.Free()
r.data = nil
diff --git a/openshift/default-catalog-consistency/vendor/google.golang.org/grpc/picker_wrapper.go b/openshift/default-catalog-consistency/vendor/google.golang.org/grpc/picker_wrapper.go
index a2d2a798d4..aa52bfe95f 100644
--- a/openshift/default-catalog-consistency/vendor/google.golang.org/grpc/picker_wrapper.go
+++ b/openshift/default-catalog-consistency/vendor/google.golang.org/grpc/picker_wrapper.go
@@ -29,7 +29,6 @@ import (
"google.golang.org/grpc/internal/channelz"
istatus "google.golang.org/grpc/internal/status"
"google.golang.org/grpc/internal/transport"
- "google.golang.org/grpc/stats"
"google.golang.org/grpc/status"
)
@@ -48,14 +47,11 @@ type pickerGeneration struct {
// actions and unblock when there's a picker update.
type pickerWrapper struct {
// If pickerGen holds a nil pointer, the pickerWrapper is closed.
- pickerGen atomic.Pointer[pickerGeneration]
- statsHandlers []stats.Handler // to record blocking picker calls
+ pickerGen atomic.Pointer[pickerGeneration]
}
-func newPickerWrapper(statsHandlers []stats.Handler) *pickerWrapper {
- pw := &pickerWrapper{
- statsHandlers: statsHandlers,
- }
+func newPickerWrapper() *pickerWrapper {
+ pw := &pickerWrapper{}
pw.pickerGen.Store(&pickerGeneration{
blockingCh: make(chan struct{}),
})
@@ -93,6 +89,12 @@ func doneChannelzWrapper(acbw *acBalancerWrapper, result *balancer.PickResult) {
}
}
+type pick struct {
+ transport transport.ClientTransport // the selected transport
+ result balancer.PickResult // the contents of the pick from the LB policy
+ blocked bool // set if a picker call queued for a new picker
+}
+
// pick returns the transport that will be used for the RPC.
// It may block in the following cases:
// - there's no picker
@@ -100,15 +102,16 @@ func doneChannelzWrapper(acbw *acBalancerWrapper, result *balancer.PickResult) {
// - the current picker returns other errors and failfast is false.
// - the subConn returned by the current picker is not READY
// When one of these situations happens, pick blocks until the picker gets updated.
-func (pw *pickerWrapper) pick(ctx context.Context, failfast bool, info balancer.PickInfo) (transport.ClientTransport, balancer.PickResult, error) {
+func (pw *pickerWrapper) pick(ctx context.Context, failfast bool, info balancer.PickInfo) (pick, error) {
var ch chan struct{}
var lastPickErr error
+ pickBlocked := false
for {
pg := pw.pickerGen.Load()
if pg == nil {
- return nil, balancer.PickResult{}, ErrClientConnClosing
+ return pick{}, ErrClientConnClosing
}
if pg.picker == nil {
ch = pg.blockingCh
@@ -127,9 +130,9 @@ func (pw *pickerWrapper) pick(ctx context.Context, failfast bool, info balancer.
}
switch ctx.Err() {
case context.DeadlineExceeded:
- return nil, balancer.PickResult{}, status.Error(codes.DeadlineExceeded, errStr)
+ return pick{}, status.Error(codes.DeadlineExceeded, errStr)
case context.Canceled:
- return nil, balancer.PickResult{}, status.Error(codes.Canceled, errStr)
+ return pick{}, status.Error(codes.Canceled, errStr)
}
case <-ch:
}
@@ -145,9 +148,7 @@ func (pw *pickerWrapper) pick(ctx context.Context, failfast bool, info balancer.
// In the second case, the only way it will get to this conditional is
// if there is a new picker.
if ch != nil {
- for _, sh := range pw.statsHandlers {
- sh.HandleRPC(ctx, &stats.PickerUpdated{})
- }
+ pickBlocked = true
}
ch = pg.blockingCh
@@ -164,7 +165,7 @@ func (pw *pickerWrapper) pick(ctx context.Context, failfast bool, info balancer.
if istatus.IsRestrictedControlPlaneCode(st) {
err = status.Errorf(codes.Internal, "received picker error with illegal status: %v", err)
}
- return nil, balancer.PickResult{}, dropError{error: err}
+ return pick{}, dropError{error: err}
}
// For all other errors, wait for ready RPCs should block and other
// RPCs should fail with unavailable.
@@ -172,7 +173,7 @@ func (pw *pickerWrapper) pick(ctx context.Context, failfast bool, info balancer.
lastPickErr = err
continue
}
- return nil, balancer.PickResult{}, status.Error(codes.Unavailable, err.Error())
+ return pick{}, status.Error(codes.Unavailable, err.Error())
}
acbw, ok := pickResult.SubConn.(*acBalancerWrapper)
@@ -183,9 +184,8 @@ func (pw *pickerWrapper) pick(ctx context.Context, failfast bool, info balancer.
if t := acbw.ac.getReadyTransport(); t != nil {
if channelz.IsOn() {
doneChannelzWrapper(acbw, &pickResult)
- return t, pickResult, nil
}
- return t, pickResult, nil
+ return pick{transport: t, result: pickResult, blocked: pickBlocked}, nil
}
if pickResult.Done != nil {
// Calling done with nil error, no bytes sent and no bytes received.
diff --git a/openshift/default-catalog-consistency/vendor/google.golang.org/grpc/resolver/map.go b/openshift/default-catalog-consistency/vendor/google.golang.org/grpc/resolver/map.go
index ada5b9bb79..c3c15ac96f 100644
--- a/openshift/default-catalog-consistency/vendor/google.golang.org/grpc/resolver/map.go
+++ b/openshift/default-catalog-consistency/vendor/google.golang.org/grpc/resolver/map.go
@@ -18,16 +18,28 @@
package resolver
-type addressMapEntry struct {
+import (
+ "encoding/base64"
+ "sort"
+ "strings"
+)
+
+type addressMapEntry[T any] struct {
addr Address
- value any
+ value T
}
-// AddressMap is a map of addresses to arbitrary values taking into account
+// AddressMap is an AddressMapV2[any]. It will be deleted in an upcoming
+// release of grpc-go.
+//
+// Deprecated: use the generic AddressMapV2 type instead.
+type AddressMap = AddressMapV2[any]
+
+// AddressMapV2 is a map of addresses to arbitrary values taking into account
// Attributes. BalancerAttributes are ignored, as are Metadata and Type.
// Multiple accesses may not be performed concurrently. Must be created via
// NewAddressMap; do not construct directly.
-type AddressMap struct {
+type AddressMapV2[T any] struct {
// The underlying map is keyed by an Address with fields that we don't care
// about being set to their zero values. The only fields that we care about
// are `Addr`, `ServerName` and `Attributes`. Since we need to be able to
@@ -41,23 +53,30 @@ type AddressMap struct {
// The value type of the map contains a slice of addresses which match the key
// in their `Addr` and `ServerName` fields and contain the corresponding value
// associated with them.
- m map[Address]addressMapEntryList
+ m map[Address]addressMapEntryList[T]
}
func toMapKey(addr *Address) Address {
return Address{Addr: addr.Addr, ServerName: addr.ServerName}
}
-type addressMapEntryList []*addressMapEntry
+type addressMapEntryList[T any] []*addressMapEntry[T]
-// NewAddressMap creates a new AddressMap.
+// NewAddressMap creates a new AddressMapV2[any].
+//
+// Deprecated: use the generic NewAddressMapV2 constructor instead.
func NewAddressMap() *AddressMap {
- return &AddressMap{m: make(map[Address]addressMapEntryList)}
+ return NewAddressMapV2[any]()
+}
+
+// NewAddressMapV2 creates a new AddressMapV2.
+func NewAddressMapV2[T any]() *AddressMapV2[T] {
+ return &AddressMapV2[T]{m: make(map[Address]addressMapEntryList[T])}
}
// find returns the index of addr in the addressMapEntry slice, or -1 if not
// present.
-func (l addressMapEntryList) find(addr Address) int {
+func (l addressMapEntryList[T]) find(addr Address) int {
for i, entry := range l {
// Attributes are the only thing to match on here, since `Addr` and
// `ServerName` are already equal.
@@ -69,28 +88,28 @@ func (l addressMapEntryList) find(addr Address) int {
}
// Get returns the value for the address in the map, if present.
-func (a *AddressMap) Get(addr Address) (value any, ok bool) {
+func (a *AddressMapV2[T]) Get(addr Address) (value T, ok bool) {
addrKey := toMapKey(&addr)
entryList := a.m[addrKey]
if entry := entryList.find(addr); entry != -1 {
return entryList[entry].value, true
}
- return nil, false
+ return value, false
}
// Set updates or adds the value to the address in the map.
-func (a *AddressMap) Set(addr Address, value any) {
+func (a *AddressMapV2[T]) Set(addr Address, value T) {
addrKey := toMapKey(&addr)
entryList := a.m[addrKey]
if entry := entryList.find(addr); entry != -1 {
entryList[entry].value = value
return
}
- a.m[addrKey] = append(entryList, &addressMapEntry{addr: addr, value: value})
+ a.m[addrKey] = append(entryList, &addressMapEntry[T]{addr: addr, value: value})
}
// Delete removes addr from the map.
-func (a *AddressMap) Delete(addr Address) {
+func (a *AddressMapV2[T]) Delete(addr Address) {
addrKey := toMapKey(&addr)
entryList := a.m[addrKey]
entry := entryList.find(addr)
@@ -107,7 +126,7 @@ func (a *AddressMap) Delete(addr Address) {
}
// Len returns the number of entries in the map.
-func (a *AddressMap) Len() int {
+func (a *AddressMapV2[T]) Len() int {
ret := 0
for _, entryList := range a.m {
ret += len(entryList)
@@ -116,7 +135,7 @@ func (a *AddressMap) Len() int {
}
// Keys returns a slice of all current map keys.
-func (a *AddressMap) Keys() []Address {
+func (a *AddressMapV2[T]) Keys() []Address {
ret := make([]Address, 0, a.Len())
for _, entryList := range a.m {
for _, entry := range entryList {
@@ -127,8 +146,8 @@ func (a *AddressMap) Keys() []Address {
}
// Values returns a slice of all current map values.
-func (a *AddressMap) Values() []any {
- ret := make([]any, 0, a.Len())
+func (a *AddressMapV2[T]) Values() []T {
+ ret := make([]T, 0, a.Len())
for _, entryList := range a.m {
for _, entry := range entryList {
ret = append(ret, entry.value)
@@ -137,70 +156,65 @@ func (a *AddressMap) Values() []any {
return ret
}
-type endpointNode struct {
- addrs map[string]struct{}
-}
-
-// Equal returns whether the unordered set of addrs are the same between the
-// endpoint nodes.
-func (en *endpointNode) Equal(en2 *endpointNode) bool {
- if len(en.addrs) != len(en2.addrs) {
- return false
- }
- for addr := range en.addrs {
- if _, ok := en2.addrs[addr]; !ok {
- return false
- }
- }
- return true
-}
-
-func toEndpointNode(endpoint Endpoint) endpointNode {
- en := make(map[string]struct{})
- for _, addr := range endpoint.Addresses {
- en[addr.Addr] = struct{}{}
- }
- return endpointNode{
- addrs: en,
- }
-}
+type endpointMapKey string
// EndpointMap is a map of endpoints to arbitrary values keyed on only the
// unordered set of address strings within an endpoint. This map is not thread
// safe, thus it is unsafe to access concurrently. Must be created via
// NewEndpointMap; do not construct directly.
-type EndpointMap struct {
- endpoints map[*endpointNode]any
+type EndpointMap[T any] struct {
+ endpoints map[endpointMapKey]endpointData[T]
+}
+
+type endpointData[T any] struct {
+ // decodedKey stores the original key to avoid decoding when iterating on
+ // EndpointMap keys.
+ decodedKey Endpoint
+ value T
}
// NewEndpointMap creates a new EndpointMap.
-func NewEndpointMap() *EndpointMap {
- return &EndpointMap{
- endpoints: make(map[*endpointNode]any),
+func NewEndpointMap[T any]() *EndpointMap[T] {
+ return &EndpointMap[T]{
+ endpoints: make(map[endpointMapKey]endpointData[T]),
}
}
+// encodeEndpoint returns a string that uniquely identifies the unordered set of
+// addresses within an endpoint.
+func encodeEndpoint(e Endpoint) endpointMapKey {
+ addrs := make([]string, 0, len(e.Addresses))
+ // base64 encoding the address strings restricts the characters present
+ // within the strings. This allows us to use a delimiter without the need of
+ // escape characters.
+ for _, addr := range e.Addresses {
+ addrs = append(addrs, base64.StdEncoding.EncodeToString([]byte(addr.Addr)))
+ }
+ sort.Strings(addrs)
+ // " " should not appear in base64 encoded strings.
+ return endpointMapKey(strings.Join(addrs, " "))
+}
+
// Get returns the value for the address in the map, if present.
-func (em *EndpointMap) Get(e Endpoint) (value any, ok bool) {
- en := toEndpointNode(e)
- if endpoint := em.find(en); endpoint != nil {
- return em.endpoints[endpoint], true
+func (em *EndpointMap[T]) Get(e Endpoint) (value T, ok bool) {
+ val, found := em.endpoints[encodeEndpoint(e)]
+ if found {
+ return val.value, true
}
- return nil, false
+ return value, false
}
// Set updates or adds the value to the address in the map.
-func (em *EndpointMap) Set(e Endpoint, value any) {
- en := toEndpointNode(e)
- if endpoint := em.find(en); endpoint != nil {
- em.endpoints[endpoint] = value
- return
+func (em *EndpointMap[T]) Set(e Endpoint, value T) {
+ en := encodeEndpoint(e)
+ em.endpoints[en] = endpointData[T]{
+ decodedKey: Endpoint{Addresses: e.Addresses},
+ value: value,
}
- em.endpoints[&en] = value
}
// Len returns the number of entries in the map.
-func (em *EndpointMap) Len() int {
+func (em *EndpointMap[T]) Len() int {
return len(em.endpoints)
}
@@ -209,43 +223,25 @@ func (em *EndpointMap) Len() int {
// the unordered set of addresses. Thus, endpoint information returned is not
// the full endpoint data (drops duplicated addresses and attributes) but can be
// used for EndpointMap accesses.
-func (em *EndpointMap) Keys() []Endpoint {
+func (em *EndpointMap[T]) Keys() []Endpoint {
ret := make([]Endpoint, 0, len(em.endpoints))
- for en := range em.endpoints {
- var endpoint Endpoint
- for addr := range en.addrs {
- endpoint.Addresses = append(endpoint.Addresses, Address{Addr: addr})
- }
- ret = append(ret, endpoint)
+ for _, en := range em.endpoints {
+ ret = append(ret, en.decodedKey)
}
return ret
}
// Values returns a slice of all current map values.
-func (em *EndpointMap) Values() []any {
- ret := make([]any, 0, len(em.endpoints))
+func (em *EndpointMap[T]) Values() []T {
+ ret := make([]T, 0, len(em.endpoints))
for _, val := range em.endpoints {
- ret = append(ret, val)
+ ret = append(ret, val.value)
}
return ret
}
-// find returns a pointer to the endpoint node in em if the endpoint node is
-// already present. If not found, nil is returned. The comparisons are done on
-// the unordered set of addresses within an endpoint.
-func (em EndpointMap) find(e endpointNode) *endpointNode {
- for endpoint := range em.endpoints {
- if e.Equal(endpoint) {
- return endpoint
- }
- }
- return nil
-}
-
// Delete removes the specified endpoint from the map.
-func (em *EndpointMap) Delete(e Endpoint) {
- en := toEndpointNode(e)
- if entry := em.find(en); entry != nil {
- delete(em.endpoints, entry)
- }
+func (em *EndpointMap[T]) Delete(e Endpoint) {
+ en := encodeEndpoint(e)
+ delete(em.endpoints, en)
}
diff --git a/openshift/default-catalog-consistency/vendor/google.golang.org/grpc/resolver/resolver.go b/openshift/default-catalog-consistency/vendor/google.golang.org/grpc/resolver/resolver.go
index b84ef26d46..8e6af9514b 100644
--- a/openshift/default-catalog-consistency/vendor/google.golang.org/grpc/resolver/resolver.go
+++ b/openshift/default-catalog-consistency/vendor/google.golang.org/grpc/resolver/resolver.go
@@ -332,6 +332,11 @@ type AuthorityOverrider interface {
// OverrideAuthority returns the authority to use for a ClientConn with the
// given target. The implementation must generate it without blocking,
// typically in line, and must keep it unchanged.
+ //
+ // The returned string must be a valid ":authority" header value, i.e. be
+ // encoded according to
+ // [RFC3986](https://datatracker.ietf.org/doc/html/rfc3986#section-3.2) as
+ // necessary.
OverrideAuthority(Target) string
}
diff --git a/openshift/default-catalog-consistency/vendor/google.golang.org/grpc/resolver_wrapper.go b/openshift/default-catalog-consistency/vendor/google.golang.org/grpc/resolver_wrapper.go
index 945e24ff83..80e16a327c 100644
--- a/openshift/default-catalog-consistency/vendor/google.golang.org/grpc/resolver_wrapper.go
+++ b/openshift/default-catalog-consistency/vendor/google.golang.org/grpc/resolver_wrapper.go
@@ -134,12 +134,7 @@ func (ccr *ccResolverWrapper) UpdateState(s resolver.State) error {
return nil
}
if s.Endpoints == nil {
- s.Endpoints = make([]resolver.Endpoint, 0, len(s.Addresses))
- for _, a := range s.Addresses {
- ep := resolver.Endpoint{Addresses: []resolver.Address{a}, Attributes: a.BalancerAttributes}
- ep.Addresses[0].BalancerAttributes = nil
- s.Endpoints = append(s.Endpoints, ep)
- }
+ s.Endpoints = addressesToEndpoints(s.Addresses)
}
ccr.addChannelzTraceEvent(s)
ccr.curState = s
@@ -172,7 +167,11 @@ func (ccr *ccResolverWrapper) NewAddress(addrs []resolver.Address) {
ccr.cc.mu.Unlock()
return
}
- s := resolver.State{Addresses: addrs, ServiceConfig: ccr.curState.ServiceConfig}
+ s := resolver.State{
+ Addresses: addrs,
+ ServiceConfig: ccr.curState.ServiceConfig,
+ Endpoints: addressesToEndpoints(addrs),
+ }
ccr.addChannelzTraceEvent(s)
ccr.curState = s
ccr.mu.Unlock()
@@ -210,3 +209,13 @@ func (ccr *ccResolverWrapper) addChannelzTraceEvent(s resolver.State) {
}
channelz.Infof(logger, ccr.cc.channelz, "Resolver state updated: %s (%v)", pretty.ToJSON(s), strings.Join(updates, "; "))
}
+
+func addressesToEndpoints(addrs []resolver.Address) []resolver.Endpoint {
+ endpoints := make([]resolver.Endpoint, 0, len(addrs))
+ for _, a := range addrs {
+ ep := resolver.Endpoint{Addresses: []resolver.Address{a}, Attributes: a.BalancerAttributes}
+ ep.Addresses[0].BalancerAttributes = nil
+ endpoints = append(endpoints, ep)
+ }
+ return endpoints
+}
diff --git a/openshift/default-catalog-consistency/vendor/google.golang.org/grpc/rpc_util.go b/openshift/default-catalog-consistency/vendor/google.golang.org/grpc/rpc_util.go
index a8ddb0af52..47ea09f5c9 100644
--- a/openshift/default-catalog-consistency/vendor/google.golang.org/grpc/rpc_util.go
+++ b/openshift/default-catalog-consistency/vendor/google.golang.org/grpc/rpc_util.go
@@ -160,6 +160,7 @@ type callInfo struct {
codec baseCodec
maxRetryRPCBufferSize int
onFinish []func(err error)
+ authority string
}
func defaultCallInfo() *callInfo {
@@ -365,6 +366,36 @@ func (o MaxRecvMsgSizeCallOption) before(c *callInfo) error {
}
func (o MaxRecvMsgSizeCallOption) after(*callInfo, *csAttempt) {}
+// CallAuthority returns a CallOption that sets the HTTP/2 :authority header of
+// an RPC to the specified value. When using CallAuthority, the credentials in
+// use must implement the AuthorityValidator interface.
+//
+// # Experimental
+//
+// Notice: This API is EXPERIMENTAL and may be changed or removed in a later
+// release.
+func CallAuthority(authority string) CallOption {
+ return AuthorityOverrideCallOption{Authority: authority}
+}
+
+// AuthorityOverrideCallOption is a CallOption that indicates the HTTP/2
+// :authority header value to use for the call.
+//
+// # Experimental
+//
+// Notice: This type is EXPERIMENTAL and may be changed or removed in a later
+// release.
+type AuthorityOverrideCallOption struct {
+ Authority string
+}
+
+func (o AuthorityOverrideCallOption) before(c *callInfo) error {
+ c.authority = o.Authority
+ return nil
+}
+
+func (o AuthorityOverrideCallOption) after(*callInfo, *csAttempt) {}
+
// MaxCallSendMsgSize returns a CallOption which sets the maximum message size
// in bytes the client can send. If this is not set, gRPC uses the default
// `math.MaxInt32`.
@@ -870,13 +901,19 @@ func decompress(compressor encoding.Compressor, d mem.BufferSlice, dc Decompress
return nil, status.Errorf(codes.Internal, "grpc: failed to decompress the message: %v", err)
}
- out, err := mem.ReadAll(io.LimitReader(dcReader, int64(maxReceiveMessageSize)), pool)
+ // Read at most one byte more than the limit from the decompressor.
+ // Unless the limit is MaxInt64, in which case, that's impossible, so
+ // apply no limit.
+ if limit := int64(maxReceiveMessageSize); limit < math.MaxInt64 {
+ dcReader = io.LimitReader(dcReader, limit+1)
+ }
+ out, err := mem.ReadAll(dcReader, pool)
if err != nil {
out.Free()
return nil, status.Errorf(codes.Internal, "grpc: failed to read decompressed data: %v", err)
}
- if out.Len() == maxReceiveMessageSize && !atEOF(dcReader) {
+ if out.Len() > maxReceiveMessageSize {
out.Free()
return nil, status.Errorf(codes.ResourceExhausted, "grpc: received message after decompression larger than max %d", maxReceiveMessageSize)
}
@@ -885,12 +922,6 @@ func decompress(compressor encoding.Compressor, d mem.BufferSlice, dc Decompress
return nil, status.Errorf(codes.Internal, "grpc: no decompressor available for compressed payload")
}
-// atEOF reads data from r and returns true if zero bytes could be read and r.Read returns EOF.
-func atEOF(dcReader io.Reader) bool {
- n, err := dcReader.Read(make([]byte, 1))
- return n == 0 && err == io.EOF
-}
-
type recvCompressor interface {
RecvCompress() string
}
diff --git a/openshift/default-catalog-consistency/vendor/google.golang.org/grpc/server.go b/openshift/default-catalog-consistency/vendor/google.golang.org/grpc/server.go
index 976e70ae06..5b7d7a47d0 100644
--- a/openshift/default-catalog-consistency/vendor/google.golang.org/grpc/server.go
+++ b/openshift/default-catalog-consistency/vendor/google.golang.org/grpc/server.go
@@ -42,6 +42,7 @@ import (
"google.golang.org/grpc/internal"
"google.golang.org/grpc/internal/binarylog"
"google.golang.org/grpc/internal/channelz"
+ "google.golang.org/grpc/internal/envconfig"
"google.golang.org/grpc/internal/grpcsync"
"google.golang.org/grpc/internal/grpcutil"
istats "google.golang.org/grpc/internal/stats"
@@ -148,6 +149,8 @@ type Server struct {
serverWorkerChannel chan func()
serverWorkerChannelClose func()
+
+ strictPathCheckingLogEmitted atomic.Bool
}
type serverOptions struct {
@@ -179,6 +182,7 @@ type serverOptions struct {
numServerWorkers uint32
bufferPool mem.BufferPool
waitForHandlers bool
+ staticWindowSize bool
}
var defaultServerOptions = serverOptions{
@@ -279,6 +283,7 @@ func ReadBufferSize(s int) ServerOption {
func InitialWindowSize(s int32) ServerOption {
return newFuncServerOption(func(o *serverOptions) {
o.initialWindowSize = s
+ o.staticWindowSize = true
})
}
@@ -287,6 +292,29 @@ func InitialWindowSize(s int32) ServerOption {
func InitialConnWindowSize(s int32) ServerOption {
return newFuncServerOption(func(o *serverOptions) {
o.initialConnWindowSize = s
+ o.staticWindowSize = true
+ })
+}
+
+// StaticStreamWindowSize returns a ServerOption to set the initial stream
+// window size to the value provided and disables dynamic flow control.
+// The lower bound for window size is 64K and any value smaller than that
+// will be ignored.
+func StaticStreamWindowSize(s int32) ServerOption {
+ return newFuncServerOption(func(o *serverOptions) {
+ o.initialWindowSize = s
+ o.staticWindowSize = true
+ })
+}
+
+// StaticConnWindowSize returns a ServerOption to set the initial connection
+// window size to the value provided and disables dynamic flow control.
+// The lower bound for window size is 64K and any value smaller than that
+// will be ignored.
+func StaticConnWindowSize(s int32) ServerOption {
+ return newFuncServerOption(func(o *serverOptions) {
+ o.initialConnWindowSize = s
+ o.staticWindowSize = true
})
}
@@ -986,6 +1014,7 @@ func (s *Server) newHTTP2Transport(c net.Conn) transport.ServerTransport {
MaxHeaderListSize: s.opts.maxHeaderListSize,
HeaderTableSize: s.opts.headerTableSize,
BufferPool: s.opts.bufferPool,
+ StaticWindowSize: s.opts.staticWindowSize,
}
st, err := transport.NewServerTransport(c, config)
if err != nil {
@@ -1572,6 +1601,7 @@ func (s *Server) processStreamingRPC(ctx context.Context, stream *transport.Serv
s: stream,
p: &parser{r: stream, bufferPool: s.opts.bufferPool},
codec: s.getCodec(stream.ContentSubtype()),
+ desc: sd,
maxReceiveMessageSize: s.opts.maxReceiveMessageSize,
maxSendMessageSize: s.opts.maxSendMessageSize,
trInfo: trInfo,
@@ -1745,6 +1775,24 @@ func (s *Server) processStreamingRPC(ctx context.Context, stream *transport.Serv
return ss.s.WriteStatus(statusOK)
}
+func (s *Server) handleMalformedMethodName(stream *transport.ServerStream, ti *traceInfo) {
+ if ti != nil {
+ ti.tr.LazyLog(&fmtStringer{"Malformed method name %q", []any{stream.Method()}}, true)
+ ti.tr.SetError()
+ }
+ errDesc := fmt.Sprintf("malformed method name: %q", stream.Method())
+ if err := stream.WriteStatus(status.New(codes.Unimplemented, errDesc)); err != nil {
+ if ti != nil {
+ ti.tr.LazyLog(&fmtStringer{"%v", []any{err}}, true)
+ ti.tr.SetError()
+ }
+ channelz.Warningf(logger, s.channelz, "grpc: Server.handleStream failed to write status: %v", err)
+ }
+ if ti != nil {
+ ti.tr.Finish()
+ }
+}
+
func (s *Server) handleStream(t transport.ServerTransport, stream *transport.ServerStream) {
ctx := stream.Context()
ctx = contextWithServer(ctx, s)
@@ -1765,26 +1813,30 @@ func (s *Server) handleStream(t transport.ServerTransport, stream *transport.Ser
}
sm := stream.Method()
- if sm != "" && sm[0] == '/' {
+ if sm == "" {
+ s.handleMalformedMethodName(stream, ti)
+ return
+ }
+ if sm[0] != '/' {
+ // TODO(easwars): Add a link to the CVE in the below log messages once
+ // published.
+ if envconfig.DisableStrictPathChecking {
+ if old := s.strictPathCheckingLogEmitted.Swap(true); !old {
+ channelz.Warningf(logger, s.channelz, "grpc: Server.handleStream received malformed method name %q. Allowing it because the environment variable GRPC_GO_EXPERIMENTAL_DISABLE_STRICT_PATH_CHECKING is set to true, but this option will be removed in a future release.", sm)
+ }
+ } else {
+ if old := s.strictPathCheckingLogEmitted.Swap(true); !old {
+ channelz.Warningf(logger, s.channelz, "grpc: Server.handleStream rejected malformed method name %q. To temporarily allow such requests, set the environment variable GRPC_GO_EXPERIMENTAL_DISABLE_STRICT_PATH_CHECKING to true. Note that this is not recommended as it may allow requests to bypass security policies.", sm)
+ }
+ s.handleMalformedMethodName(stream, ti)
+ return
+ }
+ } else {
sm = sm[1:]
}
pos := strings.LastIndex(sm, "/")
if pos == -1 {
- if ti != nil {
- ti.tr.LazyLog(&fmtStringer{"Malformed method name %q", []any{sm}}, true)
- ti.tr.SetError()
- }
- errDesc := fmt.Sprintf("malformed method name: %q", stream.Method())
- if err := stream.WriteStatus(status.New(codes.Unimplemented, errDesc)); err != nil {
- if ti != nil {
- ti.tr.LazyLog(&fmtStringer{"%v", []any{err}}, true)
- ti.tr.SetError()
- }
- channelz.Warningf(logger, s.channelz, "grpc: Server.handleStream failed to write status: %v", err)
- }
- if ti != nil {
- ti.tr.Finish()
- }
+ s.handleMalformedMethodName(stream, ti)
return
}
service := sm[:pos]
diff --git a/openshift/default-catalog-consistency/vendor/google.golang.org/grpc/stats/handlers.go b/openshift/default-catalog-consistency/vendor/google.golang.org/grpc/stats/handlers.go
index dc03731e45..67194a592f 100644
--- a/openshift/default-catalog-consistency/vendor/google.golang.org/grpc/stats/handlers.go
+++ b/openshift/default-catalog-consistency/vendor/google.golang.org/grpc/stats/handlers.go
@@ -38,6 +38,15 @@ type RPCTagInfo struct {
// FailFast indicates if this RPC is failfast.
// This field is only valid on client side, it's always false on server side.
FailFast bool
+ // NameResolutionDelay indicates if the RPC needed to wait for the
+ // initial name resolver update before it could begin. This should only
+ // happen if the channel is IDLE when the RPC is started. Note that
+ // all retry or hedging attempts for an RPC that experienced a delay
+ // will have it set.
+ //
+ // This field is only valid on the client side; it is always false on
+ // the server side.
+ NameResolutionDelay bool
}
// Handler defines the interface for the related stats handling (e.g., RPCs, connections).
diff --git a/openshift/default-catalog-consistency/vendor/google.golang.org/grpc/stats/stats.go b/openshift/default-catalog-consistency/vendor/google.golang.org/grpc/stats/stats.go
index 6f20d2d548..10bf998aa5 100644
--- a/openshift/default-catalog-consistency/vendor/google.golang.org/grpc/stats/stats.go
+++ b/openshift/default-catalog-consistency/vendor/google.golang.org/grpc/stats/stats.go
@@ -36,7 +36,12 @@ type RPCStats interface {
IsClient() bool
}
-// Begin contains stats when an RPC attempt begins.
+// Begin contains stats for the start of an RPC attempt.
+//
+// - Server-side: Triggered after `InHeader`, as headers are processed
+// before the RPC lifecycle begins.
+// - Client-side: The first stats event recorded.
+//
// FailFast is only valid if this Begin is from client side.
type Begin struct {
// Client is true if this Begin is from client side.
@@ -59,17 +64,23 @@ func (s *Begin) IsClient() bool { return s.Client }
func (s *Begin) isRPCStats() {}
-// PickerUpdated indicates that the LB policy provided a new picker while the
-// RPC was waiting for one.
-type PickerUpdated struct{}
+// DelayedPickComplete indicates that the RPC is unblocked following a delay in
+// selecting a connection for the call.
+type DelayedPickComplete struct{}
+
+// IsClient indicates DelayedPickComplete is available on the client.
+func (*DelayedPickComplete) IsClient() bool { return true }
-// IsClient indicates if the stats information is from client side. Only Client
-// Side interfaces with a Picker, thus always returns true.
-func (*PickerUpdated) IsClient() bool { return true }
+func (*DelayedPickComplete) isRPCStats() {}
-func (*PickerUpdated) isRPCStats() {}
+// PickerUpdated indicates that the RPC is unblocked following a delay in
+// selecting a connection for the call.
+//
+// Deprecated: will be removed in a future release; use DelayedPickComplete
+// instead.
+type PickerUpdated = DelayedPickComplete
-// InPayload contains the information for an incoming payload.
+// InPayload contains stats about an incoming payload.
type InPayload struct {
// Client is true if this InPayload is from client side.
Client bool
@@ -98,7 +109,9 @@ func (s *InPayload) IsClient() bool { return s.Client }
func (s *InPayload) isRPCStats() {}
-// InHeader contains stats when a header is received.
+// InHeader contains stats about header reception.
+//
+// - Server-side: The first stats event after the RPC request is received.
type InHeader struct {
// Client is true if this InHeader is from client side.
Client bool
@@ -123,7 +136,7 @@ func (s *InHeader) IsClient() bool { return s.Client }
func (s *InHeader) isRPCStats() {}
-// InTrailer contains stats when a trailer is received.
+// InTrailer contains stats about trailer reception.
type InTrailer struct {
// Client is true if this InTrailer is from client side.
Client bool
@@ -139,7 +152,7 @@ func (s *InTrailer) IsClient() bool { return s.Client }
func (s *InTrailer) isRPCStats() {}
-// OutPayload contains the information for an outgoing payload.
+// OutPayload contains stats about an outgoing payload.
type OutPayload struct {
// Client is true if this OutPayload is from client side.
Client bool
@@ -166,7 +179,10 @@ func (s *OutPayload) IsClient() bool { return s.Client }
func (s *OutPayload) isRPCStats() {}
-// OutHeader contains stats when a header is sent.
+// OutHeader contains stats about header transmission.
+//
+// - Client-side: Only occurs after 'Begin', as headers are always the first
+// thing sent on a stream.
type OutHeader struct {
// Client is true if this OutHeader is from client side.
Client bool
@@ -189,14 +205,15 @@ func (s *OutHeader) IsClient() bool { return s.Client }
func (s *OutHeader) isRPCStats() {}
-// OutTrailer contains stats when a trailer is sent.
+// OutTrailer contains stats about trailer transmission.
type OutTrailer struct {
// Client is true if this OutTrailer is from client side.
Client bool
// WireLength is the wire length of trailer.
//
- // Deprecated: This field is never set. The length is not known when this message is
- // emitted because the trailer fields are compressed with hpack after that.
+ // Deprecated: This field is never set. The length is not known when this
+ // message is emitted because the trailer fields are compressed with hpack
+ // after that.
WireLength int
// Trailer contains the trailer metadata sent to the client. This
// field is only valid if this OutTrailer is from the server side.
@@ -208,7 +225,7 @@ func (s *OutTrailer) IsClient() bool { return s.Client }
func (s *OutTrailer) isRPCStats() {}
-// End contains stats when an RPC ends.
+// End contains stats about RPC completion.
type End struct {
// Client is true if this End is from client side.
Client bool
@@ -238,7 +255,7 @@ type ConnStats interface {
IsClient() bool
}
-// ConnBegin contains the stats of a connection when it is established.
+// ConnBegin contains stats about connection establishment.
type ConnBegin struct {
// Client is true if this ConnBegin is from client side.
Client bool
@@ -249,7 +266,7 @@ func (s *ConnBegin) IsClient() bool { return s.Client }
func (s *ConnBegin) isConnStats() {}
-// ConnEnd contains the stats of a connection when it ends.
+// ConnEnd contains stats about connection termination.
type ConnEnd struct {
// Client is true if this ConnEnd is from client side.
Client bool
diff --git a/openshift/default-catalog-consistency/vendor/google.golang.org/grpc/stream.go b/openshift/default-catalog-consistency/vendor/google.golang.org/grpc/stream.go
index 12163150ba..d9bbd4c57c 100644
--- a/openshift/default-catalog-consistency/vendor/google.golang.org/grpc/stream.go
+++ b/openshift/default-catalog-consistency/vendor/google.golang.org/grpc/stream.go
@@ -101,9 +101,9 @@ type ClientStream interface {
// It must only be called after stream.CloseAndRecv has returned, or
// stream.Recv has returned a non-nil error (including io.EOF).
Trailer() metadata.MD
- // CloseSend closes the send direction of the stream. It closes the stream
- // when non-nil error is met. It is also not safe to call CloseSend
- // concurrently with SendMsg.
+ // CloseSend closes the send direction of the stream. This method always
+ // returns a nil error. The status of the stream may be discovered using
+ // RecvMsg. It is also not safe to call CloseSend concurrently with SendMsg.
CloseSend() error
// Context returns the context for this stream.
//
@@ -212,14 +212,15 @@ func newClientStream(ctx context.Context, desc *StreamDesc, cc *ClientConn, meth
}
// Provide an opportunity for the first RPC to see the first service config
// provided by the resolver.
- if err := cc.waitForResolvedAddrs(ctx); err != nil {
+ nameResolutionDelayed, err := cc.waitForResolvedAddrs(ctx)
+ if err != nil {
return nil, err
}
var mc serviceconfig.MethodConfig
var onCommit func()
newStream := func(ctx context.Context, done func()) (iresolver.ClientStream, error) {
- return newClientStreamWithParams(ctx, desc, cc, method, mc, onCommit, done, opts...)
+ return newClientStreamWithParams(ctx, desc, cc, method, mc, onCommit, done, nameResolutionDelayed, opts...)
}
rpcInfo := iresolver.RPCInfo{Context: ctx, Method: method}
@@ -257,7 +258,7 @@ func newClientStream(ctx context.Context, desc *StreamDesc, cc *ClientConn, meth
return newStream(ctx, func() {})
}
-func newClientStreamWithParams(ctx context.Context, desc *StreamDesc, cc *ClientConn, method string, mc serviceconfig.MethodConfig, onCommit, doneFunc func(), opts ...CallOption) (_ iresolver.ClientStream, err error) {
+func newClientStreamWithParams(ctx context.Context, desc *StreamDesc, cc *ClientConn, method string, mc serviceconfig.MethodConfig, onCommit, doneFunc func(), nameResolutionDelayed bool, opts ...CallOption) (_ iresolver.ClientStream, err error) {
callInfo := defaultCallInfo()
if mc.WaitForReady != nil {
callInfo.failFast = !*mc.WaitForReady
@@ -296,6 +297,7 @@ func newClientStreamWithParams(ctx context.Context, desc *StreamDesc, cc *Client
Method: method,
ContentSubtype: callInfo.contentSubtype,
DoneFunc: doneFunc,
+ Authority: callInfo.authority,
}
// Set our outgoing compression according to the UseCompressor CallOption, if
@@ -321,19 +323,20 @@ func newClientStreamWithParams(ctx context.Context, desc *StreamDesc, cc *Client
}
cs := &clientStream{
- callHdr: callHdr,
- ctx: ctx,
- methodConfig: &mc,
- opts: opts,
- callInfo: callInfo,
- cc: cc,
- desc: desc,
- codec: callInfo.codec,
- compressorV0: compressorV0,
- compressorV1: compressorV1,
- cancel: cancel,
- firstAttempt: true,
- onCommit: onCommit,
+ callHdr: callHdr,
+ ctx: ctx,
+ methodConfig: &mc,
+ opts: opts,
+ callInfo: callInfo,
+ cc: cc,
+ desc: desc,
+ codec: callInfo.codec,
+ compressorV0: compressorV0,
+ compressorV1: compressorV1,
+ cancel: cancel,
+ firstAttempt: true,
+ onCommit: onCommit,
+ nameResolutionDelay: nameResolutionDelayed,
}
if !cc.dopts.disableRetry {
cs.retryThrottler = cc.retryThrottler.Load().(*retryThrottler)
@@ -417,7 +420,7 @@ func (cs *clientStream) newAttemptLocked(isTransparent bool) (*csAttempt, error)
var beginTime time.Time
shs := cs.cc.dopts.copts.StatsHandlers
for _, sh := range shs {
- ctx = sh.TagRPC(ctx, &stats.RPCTagInfo{FullMethodName: method, FailFast: cs.callInfo.failFast})
+ ctx = sh.TagRPC(ctx, &stats.RPCTagInfo{FullMethodName: method, FailFast: cs.callInfo.failFast, NameResolutionDelay: cs.nameResolutionDelay})
beginTime = time.Now()
begin := &stats.Begin{
Client: true,
@@ -466,8 +469,9 @@ func (cs *clientStream) newAttemptLocked(isTransparent bool) (*csAttempt, error)
func (a *csAttempt) getTransport() error {
cs := a.cs
- var err error
- a.transport, a.pickResult, err = cs.cc.getTransport(a.ctx, cs.callInfo.failFast, cs.callHdr.Method)
+ pickInfo := balancer.PickInfo{Ctx: a.ctx, FullMethodName: cs.callHdr.Method}
+ pick, err := cs.cc.pickerWrapper.pick(a.ctx, cs.callInfo.failFast, pickInfo)
+ a.transport, a.pickResult = pick.transport, pick.result
if err != nil {
if de, ok := err.(dropError); ok {
err = de.error
@@ -478,6 +482,11 @@ func (a *csAttempt) getTransport() error {
if a.trInfo != nil {
a.trInfo.firstLine.SetRemoteAddr(a.transport.RemoteAddr())
}
+ if pick.blocked {
+ for _, sh := range a.statsHandlers {
+ sh.HandleRPC(a.ctx, &stats.DelayedPickComplete{})
+ }
+ }
return nil
}
@@ -573,6 +582,9 @@ type clientStream struct {
onCommit func()
replayBuffer []replayOp // operations to replay on retry
replayBufferSize int // current size of replayBuffer
+ // nameResolutionDelay indicates if there was a delay in the name resolution.
+ // This field is only valid on client side, it's always false on server side.
+ nameResolutionDelay bool
}
type replayOp struct {
@@ -987,7 +999,7 @@ func (cs *clientStream) RecvMsg(m any) error {
func (cs *clientStream) CloseSend() error {
if cs.sentLast {
- // TODO: return an error and finish the stream instead, due to API misuse?
+ // Return a nil error on repeated calls to this method.
return nil
}
cs.sentLast = true
@@ -1008,7 +1020,10 @@ func (cs *clientStream) CloseSend() error {
binlog.Log(cs.ctx, chc)
}
}
- // We never returned an error here for reasons.
+ // We don't return an error here as we expect users to read all messages
+ // from the stream and get the RPC status from RecvMsg(). Note that
+ // SendMsg() must return an error when one occurs so the application
+ // knows to stop sending messages, but that does not apply here.
return nil
}
@@ -1162,7 +1177,7 @@ func (a *csAttempt) recvMsg(m any, payInfo *payloadInfo) (err error) {
} else if err != nil {
return toRPCErr(err)
}
- return toRPCErr(errors.New("grpc: client streaming protocol violation: get , want "))
+ return status.Errorf(codes.Internal, "cardinality violation: expected for non server-streaming RPCs, but received another message")
}
func (a *csAttempt) finish(err error) {
@@ -1372,7 +1387,7 @@ func (as *addrConnStream) Trailer() metadata.MD {
func (as *addrConnStream) CloseSend() error {
if as.sentLast {
- // TODO: return an error and finish the stream instead, due to API misuse?
+ // Return a nil error on repeated calls to this method.
return nil
}
as.sentLast = true
@@ -1486,7 +1501,7 @@ func (as *addrConnStream) RecvMsg(m any) (err error) {
} else if err != nil {
return toRPCErr(err)
}
- return toRPCErr(errors.New("grpc: client streaming protocol violation: get , want "))
+ return status.Errorf(codes.Internal, "cardinality violation: expected for non server-streaming RPCs, but received another message")
}
func (as *addrConnStream) finish(err error) {
@@ -1571,6 +1586,7 @@ type serverStream struct {
s *transport.ServerStream
p *parser
codec baseCodec
+ desc *StreamDesc
compressorV0 Compressor
compressorV1 encoding.Compressor
@@ -1579,6 +1595,8 @@ type serverStream struct {
sendCompressorName string
+ recvFirstMsg bool // set after the first message is received
+
maxReceiveMessageSize int
maxSendMessageSize int
trInfo *traceInfo
@@ -1765,6 +1783,10 @@ func (ss *serverStream) RecvMsg(m any) (err error) {
binlog.Log(ss.ctx, chc)
}
}
+ // Received no request msg for non-client streaming rpcs.
+ if !ss.desc.ClientStreams && !ss.recvFirstMsg {
+ return status.Error(codes.Internal, "cardinality violation: received no request message from non-client-streaming RPC")
+ }
return err
}
if err == io.ErrUnexpectedEOF {
@@ -1772,6 +1794,7 @@ func (ss *serverStream) RecvMsg(m any) (err error) {
}
return toRPCErr(err)
}
+ ss.recvFirstMsg = true
if len(ss.statsHandler) != 0 {
for _, sh := range ss.statsHandler {
sh.HandleRPC(ss.s.Context(), &stats.InPayload{
@@ -1791,7 +1814,19 @@ func (ss *serverStream) RecvMsg(m any) (err error) {
binlog.Log(ss.ctx, cm)
}
}
- return nil
+
+ if ss.desc.ClientStreams {
+ // Subsequent messages should be received by subsequent RecvMsg calls.
+ return nil
+ }
+ // Special handling for non-client-stream rpcs.
+ // This recv expects EOF or errors, so we don't collect inPayload.
+ if err := recv(ss.p, ss.codec, ss.s, ss.decompressorV0, m, ss.maxReceiveMessageSize, nil, ss.decompressorV1, true); err == io.EOF {
+ return nil
+ } else if err != nil {
+ return err
+ }
+ return status.Error(codes.Internal, "cardinality violation: received multiple request messages for non-client-streaming RPC")
}
// MethodFromServerStream returns the method string for the input stream.
diff --git a/openshift/default-catalog-consistency/vendor/google.golang.org/grpc/version.go b/openshift/default-catalog-consistency/vendor/google.golang.org/grpc/version.go
index 783c41f78c..468f110658 100644
--- a/openshift/default-catalog-consistency/vendor/google.golang.org/grpc/version.go
+++ b/openshift/default-catalog-consistency/vendor/google.golang.org/grpc/version.go
@@ -19,4 +19,4 @@
package grpc
// Version is the current grpc version.
-const Version = "1.71.0"
+const Version = "1.75.1"
diff --git a/openshift/default-catalog-consistency/vendor/modules.txt b/openshift/default-catalog-consistency/vendor/modules.txt
index 6a4d1b1b43..ec6678258e 100644
--- a/openshift/default-catalog-consistency/vendor/modules.txt
+++ b/openshift/default-catalog-consistency/vendor/modules.txt
@@ -200,12 +200,12 @@ github.com/go-git/go-git/v5/internal/path_util
github.com/go-git/go-git/v5/plumbing/format/config
github.com/go-git/go-git/v5/plumbing/format/gitignore
github.com/go-git/go-git/v5/utils/ioutil
-# github.com/go-jose/go-jose/v4 v4.0.5
-## explicit; go 1.21
+# github.com/go-jose/go-jose/v4 v4.1.1
+## explicit; go 1.23.0
github.com/go-jose/go-jose/v4
github.com/go-jose/go-jose/v4/cipher
github.com/go-jose/go-jose/v4/json
-# github.com/go-logr/logr v1.4.2
+# github.com/go-logr/logr v1.4.3
## explicit; go 1.18
github.com/go-logr/logr
github.com/go-logr/logr/funcr
@@ -511,7 +511,7 @@ go.opencensus.io/internal
go.opencensus.io/trace
go.opencensus.io/trace/internal
go.opencensus.io/trace/tracestate
-# golang.org/x/crypto v0.37.0
+# golang.org/x/crypto v0.39.0
## explicit; go 1.23.0
golang.org/x/crypto/cast5
golang.org/x/crypto/cryptobyte
@@ -533,7 +533,7 @@ golang.org/x/crypto/sha3
# golang.org/x/exp v0.0.0-20250408133849-7e4ce0ab07d0
## explicit; go 1.23.0
golang.org/x/exp/maps
-# golang.org/x/net v0.39.0
+# golang.org/x/net v0.41.0
## explicit; go 1.23.0
golang.org/x/net/context
golang.org/x/net/html
@@ -546,24 +546,24 @@ golang.org/x/net/idna
golang.org/x/net/internal/httpcommon
golang.org/x/net/internal/timeseries
golang.org/x/net/trace
-# golang.org/x/oauth2 v0.29.0
+# golang.org/x/oauth2 v0.30.0
## explicit; go 1.23.0
golang.org/x/oauth2
golang.org/x/oauth2/internal
-# golang.org/x/sync v0.13.0
+# golang.org/x/sync v0.15.0
## explicit; go 1.23.0
golang.org/x/sync/errgroup
golang.org/x/sync/semaphore
-# golang.org/x/sys v0.32.0
+# golang.org/x/sys v0.33.0
## explicit; go 1.23.0
golang.org/x/sys/cpu
golang.org/x/sys/plan9
golang.org/x/sys/unix
golang.org/x/sys/windows
-# golang.org/x/term v0.31.0
+# golang.org/x/term v0.32.0
## explicit; go 1.23.0
golang.org/x/term
-# golang.org/x/text v0.24.0
+# golang.org/x/text v0.26.0
## explicit; go 1.23.0
golang.org/x/text/cases
golang.org/x/text/encoding
@@ -590,20 +590,20 @@ golang.org/x/text/unicode/norm
# golang.org/x/time v0.11.0
## explicit; go 1.23.0
golang.org/x/time/rate
-# golang.org/x/tools v0.32.0
+# golang.org/x/tools v0.33.0
## explicit; go 1.23.0
golang.org/x/tools/cover
golang.org/x/tools/go/ast/inspector
golang.org/x/tools/internal/astutil/edge
-# google.golang.org/genproto/googleapis/api v0.0.0-20250303144028-a0af3efb3deb
+# google.golang.org/genproto/googleapis/api v0.0.0-20250707201910-8d1bb00bc6a7
## explicit; go 1.23.0
google.golang.org/genproto/googleapis/api
google.golang.org/genproto/googleapis/api/annotations
-# google.golang.org/genproto/googleapis/rpc v0.0.0-20250313205543-e70fdf4c4cb4
+# google.golang.org/genproto/googleapis/rpc v0.0.0-20250707201910-8d1bb00bc6a7
## explicit; go 1.23.0
google.golang.org/genproto/googleapis/rpc/status
-# google.golang.org/grpc v1.71.0
-## explicit; go 1.22.0
+# google.golang.org/grpc v1.71.0 => github.com/openshift-sustaining/grpc-go v1.75.1-sec.1
+## explicit; go 1.23.0
google.golang.org/grpc
google.golang.org/grpc/attributes
google.golang.org/grpc/backoff
@@ -849,3 +849,4 @@ sigs.k8s.io/structured-merge-diff/v4/value
## explicit; go 1.12
sigs.k8s.io/yaml
sigs.k8s.io/yaml/goyaml.v2
+# google.golang.org/grpc => github.com/openshift-sustaining/grpc-go v1.75.1-sec.1
diff --git a/vendor/cel.dev/expr/.bazelversion b/vendor/cel.dev/expr/.bazelversion
index 26bc914a3b..13c50892bd 100644
--- a/vendor/cel.dev/expr/.bazelversion
+++ b/vendor/cel.dev/expr/.bazelversion
@@ -1,2 +1,2 @@
-7.0.1
+7.3.2
# Keep this pinned version in parity with cel-go
diff --git a/vendor/cel.dev/expr/MODULE.bazel b/vendor/cel.dev/expr/MODULE.bazel
index 9794266f56..85ac9ff617 100644
--- a/vendor/cel.dev/expr/MODULE.bazel
+++ b/vendor/cel.dev/expr/MODULE.bazel
@@ -8,26 +8,38 @@ bazel_dep(
)
bazel_dep(
name = "gazelle",
- version = "0.36.0",
+ version = "0.39.1",
repo_name = "bazel_gazelle",
)
bazel_dep(
name = "googleapis",
- version = "0.0.0-20240819-fe8ba054a",
+ version = "0.0.0-20241220-5e258e33.bcr.1",
repo_name = "com_google_googleapis",
)
+bazel_dep(
+ name = "googleapis-cc",
+ version = "1.0.0",
+)
+bazel_dep(
+ name = "googleapis-java",
+ version = "1.0.0",
+)
+bazel_dep(
+ name = "googleapis-go",
+ version = "1.0.0",
+)
bazel_dep(
name = "protobuf",
- version = "26.0",
+ version = "27.0",
repo_name = "com_google_protobuf",
)
bazel_dep(
name = "rules_cc",
- version = "0.0.9",
+ version = "0.0.17",
)
bazel_dep(
name = "rules_go",
- version = "0.49.0",
+ version = "0.53.0",
repo_name = "io_bazel_rules_go",
)
bazel_dep(
@@ -36,7 +48,7 @@ bazel_dep(
)
bazel_dep(
name = "rules_proto",
- version = "6.0.0",
+ version = "7.0.2",
)
bazel_dep(
name = "rules_python",
@@ -50,16 +62,8 @@ python.toolchain(
python_version = "3.11",
)
-switched_rules = use_extension("@com_google_googleapis//:extensions.bzl", "switched_rules")
-switched_rules.use_languages(
- cc = True,
- go = True,
- java = True,
-)
-use_repo(switched_rules, "com_google_googleapis_imports")
-
go_sdk = use_extension("@io_bazel_rules_go//go:extensions.bzl", "go_sdk")
-go_sdk.download(version = "1.21.1")
+go_sdk.download(version = "1.22.0")
go_deps = use_extension("@bazel_gazelle//:extensions.bzl", "go_deps")
go_deps.from_file(go_mod = "//:go.mod")
diff --git a/vendor/cel.dev/expr/README.md b/vendor/cel.dev/expr/README.md
index 7930c0b755..42d67f87c2 100644
--- a/vendor/cel.dev/expr/README.md
+++ b/vendor/cel.dev/expr/README.md
@@ -69,5 +69,3 @@ For more detail, see:
* [Language Definition](doc/langdef.md)
Released under the [Apache License](LICENSE).
-
-Disclaimer: This is not an official Google product.
diff --git a/vendor/cel.dev/expr/cloudbuild.yaml b/vendor/cel.dev/expr/cloudbuild.yaml
index c40881f122..e3e533a04a 100644
--- a/vendor/cel.dev/expr/cloudbuild.yaml
+++ b/vendor/cel.dev/expr/cloudbuild.yaml
@@ -1,5 +1,5 @@
steps:
-- name: 'gcr.io/cloud-builders/bazel:7.0.1'
+- name: 'gcr.io/cloud-builders/bazel:7.3.2'
entrypoint: bazel
args: ['build', '...']
id: bazel-build
diff --git a/vendor/cel.dev/expr/eval.pb.go b/vendor/cel.dev/expr/eval.pb.go
index 8f651f9cc6..a7aae0900c 100644
--- a/vendor/cel.dev/expr/eval.pb.go
+++ b/vendor/cel.dev/expr/eval.pb.go
@@ -1,15 +1,15 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
-// protoc-gen-go v1.28.1
-// protoc v3.21.5
+// protoc-gen-go v1.36.3
+// protoc v5.27.1
// source: cel/expr/eval.proto
package expr
import (
- status "google.golang.org/genproto/googleapis/rpc/status"
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ anypb "google.golang.org/protobuf/types/known/anypb"
reflect "reflect"
sync "sync"
)
@@ -22,21 +22,18 @@ const (
)
type EvalState struct {
- state protoimpl.MessageState
- sizeCache protoimpl.SizeCache
+ state protoimpl.MessageState `protogen:"open.v1"`
+ Values []*ExprValue `protobuf:"bytes,1,rep,name=values,proto3" json:"values,omitempty"`
+ Results []*EvalState_Result `protobuf:"bytes,3,rep,name=results,proto3" json:"results,omitempty"`
unknownFields protoimpl.UnknownFields
-
- Values []*ExprValue `protobuf:"bytes,1,rep,name=values,proto3" json:"values,omitempty"`
- Results []*EvalState_Result `protobuf:"bytes,3,rep,name=results,proto3" json:"results,omitempty"`
+ sizeCache protoimpl.SizeCache
}
func (x *EvalState) Reset() {
*x = EvalState{}
- if protoimpl.UnsafeEnabled {
- mi := &file_cel_expr_eval_proto_msgTypes[0]
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- ms.StoreMessageInfo(mi)
- }
+ mi := &file_cel_expr_eval_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
}
func (x *EvalState) String() string {
@@ -47,7 +44,7 @@ func (*EvalState) ProtoMessage() {}
func (x *EvalState) ProtoReflect() protoreflect.Message {
mi := &file_cel_expr_eval_proto_msgTypes[0]
- if protoimpl.UnsafeEnabled && x != nil {
+ if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
@@ -77,25 +74,22 @@ func (x *EvalState) GetResults() []*EvalState_Result {
}
type ExprValue struct {
- state protoimpl.MessageState
- sizeCache protoimpl.SizeCache
- unknownFields protoimpl.UnknownFields
-
- // Types that are assignable to Kind:
+ state protoimpl.MessageState `protogen:"open.v1"`
+ // Types that are valid to be assigned to Kind:
//
// *ExprValue_Value
// *ExprValue_Error
// *ExprValue_Unknown
- Kind isExprValue_Kind `protobuf_oneof:"kind"`
+ Kind isExprValue_Kind `protobuf_oneof:"kind"`
+ unknownFields protoimpl.UnknownFields
+ sizeCache protoimpl.SizeCache
}
func (x *ExprValue) Reset() {
*x = ExprValue{}
- if protoimpl.UnsafeEnabled {
- mi := &file_cel_expr_eval_proto_msgTypes[1]
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- ms.StoreMessageInfo(mi)
- }
+ mi := &file_cel_expr_eval_proto_msgTypes[1]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
}
func (x *ExprValue) String() string {
@@ -106,7 +100,7 @@ func (*ExprValue) ProtoMessage() {}
func (x *ExprValue) ProtoReflect() protoreflect.Message {
mi := &file_cel_expr_eval_proto_msgTypes[1]
- if protoimpl.UnsafeEnabled && x != nil {
+ if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
@@ -121,30 +115,36 @@ func (*ExprValue) Descriptor() ([]byte, []int) {
return file_cel_expr_eval_proto_rawDescGZIP(), []int{1}
}
-func (m *ExprValue) GetKind() isExprValue_Kind {
- if m != nil {
- return m.Kind
+func (x *ExprValue) GetKind() isExprValue_Kind {
+ if x != nil {
+ return x.Kind
}
return nil
}
func (x *ExprValue) GetValue() *Value {
- if x, ok := x.GetKind().(*ExprValue_Value); ok {
- return x.Value
+ if x != nil {
+ if x, ok := x.Kind.(*ExprValue_Value); ok {
+ return x.Value
+ }
}
return nil
}
func (x *ExprValue) GetError() *ErrorSet {
- if x, ok := x.GetKind().(*ExprValue_Error); ok {
- return x.Error
+ if x != nil {
+ if x, ok := x.Kind.(*ExprValue_Error); ok {
+ return x.Error
+ }
}
return nil
}
func (x *ExprValue) GetUnknown() *UnknownSet {
- if x, ok := x.GetKind().(*ExprValue_Unknown); ok {
- return x.Unknown
+ if x != nil {
+ if x, ok := x.Kind.(*ExprValue_Unknown); ok {
+ return x.Unknown
+ }
}
return nil
}
@@ -172,20 +172,17 @@ func (*ExprValue_Error) isExprValue_Kind() {}
func (*ExprValue_Unknown) isExprValue_Kind() {}
type ErrorSet struct {
- state protoimpl.MessageState
- sizeCache protoimpl.SizeCache
+ state protoimpl.MessageState `protogen:"open.v1"`
+ Errors []*Status `protobuf:"bytes,1,rep,name=errors,proto3" json:"errors,omitempty"`
unknownFields protoimpl.UnknownFields
-
- Errors []*status.Status `protobuf:"bytes,1,rep,name=errors,proto3" json:"errors,omitempty"`
+ sizeCache protoimpl.SizeCache
}
func (x *ErrorSet) Reset() {
*x = ErrorSet{}
- if protoimpl.UnsafeEnabled {
- mi := &file_cel_expr_eval_proto_msgTypes[2]
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- ms.StoreMessageInfo(mi)
- }
+ mi := &file_cel_expr_eval_proto_msgTypes[2]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
}
func (x *ErrorSet) String() string {
@@ -196,7 +193,7 @@ func (*ErrorSet) ProtoMessage() {}
func (x *ErrorSet) ProtoReflect() protoreflect.Message {
mi := &file_cel_expr_eval_proto_msgTypes[2]
- if protoimpl.UnsafeEnabled && x != nil {
+ if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
@@ -211,28 +208,85 @@ func (*ErrorSet) Descriptor() ([]byte, []int) {
return file_cel_expr_eval_proto_rawDescGZIP(), []int{2}
}
-func (x *ErrorSet) GetErrors() []*status.Status {
+func (x *ErrorSet) GetErrors() []*Status {
if x != nil {
return x.Errors
}
return nil
}
-type UnknownSet struct {
- state protoimpl.MessageState
- sizeCache protoimpl.SizeCache
+type Status struct {
+ state protoimpl.MessageState `protogen:"open.v1"`
+ Code int32 `protobuf:"varint,1,opt,name=code,proto3" json:"code,omitempty"`
+ Message string `protobuf:"bytes,2,opt,name=message,proto3" json:"message,omitempty"`
+ Details []*anypb.Any `protobuf:"bytes,3,rep,name=details,proto3" json:"details,omitempty"`
unknownFields protoimpl.UnknownFields
+ sizeCache protoimpl.SizeCache
+}
- Exprs []int64 `protobuf:"varint,1,rep,packed,name=exprs,proto3" json:"exprs,omitempty"`
+func (x *Status) Reset() {
+ *x = Status{}
+ mi := &file_cel_expr_eval_proto_msgTypes[3]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
}
-func (x *UnknownSet) Reset() {
- *x = UnknownSet{}
- if protoimpl.UnsafeEnabled {
- mi := &file_cel_expr_eval_proto_msgTypes[3]
+func (x *Status) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*Status) ProtoMessage() {}
+
+func (x *Status) ProtoReflect() protoreflect.Message {
+ mi := &file_cel_expr_eval_proto_msgTypes[3]
+ if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- ms.StoreMessageInfo(mi)
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use Status.ProtoReflect.Descriptor instead.
+func (*Status) Descriptor() ([]byte, []int) {
+ return file_cel_expr_eval_proto_rawDescGZIP(), []int{3}
+}
+
+func (x *Status) GetCode() int32 {
+ if x != nil {
+ return x.Code
}
+ return 0
+}
+
+func (x *Status) GetMessage() string {
+ if x != nil {
+ return x.Message
+ }
+ return ""
+}
+
+func (x *Status) GetDetails() []*anypb.Any {
+ if x != nil {
+ return x.Details
+ }
+ return nil
+}
+
+type UnknownSet struct {
+ state protoimpl.MessageState `protogen:"open.v1"`
+ Exprs []int64 `protobuf:"varint,1,rep,packed,name=exprs,proto3" json:"exprs,omitempty"`
+ unknownFields protoimpl.UnknownFields
+ sizeCache protoimpl.SizeCache
+}
+
+func (x *UnknownSet) Reset() {
+ *x = UnknownSet{}
+ mi := &file_cel_expr_eval_proto_msgTypes[4]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
}
func (x *UnknownSet) String() string {
@@ -242,8 +296,8 @@ func (x *UnknownSet) String() string {
func (*UnknownSet) ProtoMessage() {}
func (x *UnknownSet) ProtoReflect() protoreflect.Message {
- mi := &file_cel_expr_eval_proto_msgTypes[3]
- if protoimpl.UnsafeEnabled && x != nil {
+ mi := &file_cel_expr_eval_proto_msgTypes[4]
+ if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
@@ -255,7 +309,7 @@ func (x *UnknownSet) ProtoReflect() protoreflect.Message {
// Deprecated: Use UnknownSet.ProtoReflect.Descriptor instead.
func (*UnknownSet) Descriptor() ([]byte, []int) {
- return file_cel_expr_eval_proto_rawDescGZIP(), []int{3}
+ return file_cel_expr_eval_proto_rawDescGZIP(), []int{4}
}
func (x *UnknownSet) GetExprs() []int64 {
@@ -266,21 +320,18 @@ func (x *UnknownSet) GetExprs() []int64 {
}
type EvalState_Result struct {
- state protoimpl.MessageState
- sizeCache protoimpl.SizeCache
+ state protoimpl.MessageState `protogen:"open.v1"`
+ Expr int64 `protobuf:"varint,1,opt,name=expr,proto3" json:"expr,omitempty"`
+ Value int64 `protobuf:"varint,2,opt,name=value,proto3" json:"value,omitempty"`
unknownFields protoimpl.UnknownFields
-
- Expr int64 `protobuf:"varint,1,opt,name=expr,proto3" json:"expr,omitempty"`
- Value int64 `protobuf:"varint,2,opt,name=value,proto3" json:"value,omitempty"`
+ sizeCache protoimpl.SizeCache
}
func (x *EvalState_Result) Reset() {
*x = EvalState_Result{}
- if protoimpl.UnsafeEnabled {
- mi := &file_cel_expr_eval_proto_msgTypes[4]
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- ms.StoreMessageInfo(mi)
- }
+ mi := &file_cel_expr_eval_proto_msgTypes[5]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
}
func (x *EvalState_Result) String() string {
@@ -290,8 +341,8 @@ func (x *EvalState_Result) String() string {
func (*EvalState_Result) ProtoMessage() {}
func (x *EvalState_Result) ProtoReflect() protoreflect.Message {
- mi := &file_cel_expr_eval_proto_msgTypes[4]
- if protoimpl.UnsafeEnabled && x != nil {
+ mi := &file_cel_expr_eval_proto_msgTypes[5]
+ if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
@@ -325,39 +376,45 @@ var File_cel_expr_eval_proto protoreflect.FileDescriptor
var file_cel_expr_eval_proto_rawDesc = []byte{
0x0a, 0x13, 0x63, 0x65, 0x6c, 0x2f, 0x65, 0x78, 0x70, 0x72, 0x2f, 0x65, 0x76, 0x61, 0x6c, 0x2e,
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x08, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x1a,
- 0x14, 0x63, 0x65, 0x6c, 0x2f, 0x65, 0x78, 0x70, 0x72, 0x2f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2e,
- 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x72, 0x70,
- 0x63, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xa2,
- 0x01, 0x0a, 0x09, 0x45, 0x76, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x2b, 0x0a, 0x06,
- 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x63,
- 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x45, 0x78, 0x70, 0x72, 0x56, 0x61, 0x6c, 0x75,
- 0x65, 0x52, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x34, 0x0a, 0x07, 0x72, 0x65, 0x73,
- 0x75, 0x6c, 0x74, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x63, 0x65, 0x6c,
- 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x45, 0x76, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x65, 0x2e,
- 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x07, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x1a,
- 0x32, 0x0a, 0x06, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x65, 0x78, 0x70,
- 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x65, 0x78, 0x70, 0x72, 0x12, 0x14, 0x0a,
- 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x76, 0x61,
- 0x6c, 0x75, 0x65, 0x22, 0x9a, 0x01, 0x0a, 0x09, 0x45, 0x78, 0x70, 0x72, 0x56, 0x61, 0x6c, 0x75,
- 0x65, 0x12, 0x27, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b,
- 0x32, 0x0f, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x56, 0x61, 0x6c, 0x75,
- 0x65, 0x48, 0x00, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x2a, 0x0a, 0x05, 0x65, 0x72,
- 0x72, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x63, 0x65, 0x6c, 0x2e,
- 0x65, 0x78, 0x70, 0x72, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x53, 0x65, 0x74, 0x48, 0x00, 0x52,
- 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x30, 0x0a, 0x07, 0x75, 0x6e, 0x6b, 0x6e, 0x6f, 0x77,
- 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78,
- 0x70, 0x72, 0x2e, 0x55, 0x6e, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x53, 0x65, 0x74, 0x48, 0x00, 0x52,
- 0x07, 0x75, 0x6e, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x42, 0x06, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64,
- 0x22, 0x36, 0x0a, 0x08, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x53, 0x65, 0x74, 0x12, 0x2a, 0x0a, 0x06,
- 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67,
- 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73,
- 0x52, 0x06, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x22, 0x22, 0x0a, 0x0a, 0x55, 0x6e, 0x6b, 0x6e,
- 0x6f, 0x77, 0x6e, 0x53, 0x65, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x78, 0x70, 0x72, 0x73, 0x18,
- 0x01, 0x20, 0x03, 0x28, 0x03, 0x52, 0x05, 0x65, 0x78, 0x70, 0x72, 0x73, 0x42, 0x2c, 0x0a, 0x0c,
- 0x64, 0x65, 0x76, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x42, 0x09, 0x45, 0x76,
- 0x61, 0x6c, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x0c, 0x63, 0x65, 0x6c, 0x2e, 0x64,
- 0x65, 0x76, 0x2f, 0x65, 0x78, 0x70, 0x72, 0xf8, 0x01, 0x01, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
- 0x6f, 0x33,
+ 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
+ 0x2f, 0x61, 0x6e, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x14, 0x63, 0x65, 0x6c, 0x2f,
+ 0x65, 0x78, 0x70, 0x72, 0x2f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x22, 0xa2, 0x01, 0x0a, 0x09, 0x45, 0x76, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x2b,
+ 0x0a, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13,
+ 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x45, 0x78, 0x70, 0x72, 0x56, 0x61,
+ 0x6c, 0x75, 0x65, 0x52, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x34, 0x0a, 0x07, 0x72,
+ 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x63,
+ 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x45, 0x76, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74,
+ 0x65, 0x2e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x07, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74,
+ 0x73, 0x1a, 0x32, 0x0a, 0x06, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x65,
+ 0x78, 0x70, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x65, 0x78, 0x70, 0x72, 0x12,
+ 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05,
+ 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x9a, 0x01, 0x0a, 0x09, 0x45, 0x78, 0x70, 0x72, 0x56, 0x61,
+ 0x6c, 0x75, 0x65, 0x12, 0x27, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01,
+ 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x56, 0x61,
+ 0x6c, 0x75, 0x65, 0x48, 0x00, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x2a, 0x0a, 0x05,
+ 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x63, 0x65,
+ 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x53, 0x65, 0x74, 0x48,
+ 0x00, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x30, 0x0a, 0x07, 0x75, 0x6e, 0x6b, 0x6e,
+ 0x6f, 0x77, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x63, 0x65, 0x6c, 0x2e,
+ 0x65, 0x78, 0x70, 0x72, 0x2e, 0x55, 0x6e, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x53, 0x65, 0x74, 0x48,
+ 0x00, 0x52, 0x07, 0x75, 0x6e, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x42, 0x06, 0x0a, 0x04, 0x6b, 0x69,
+ 0x6e, 0x64, 0x22, 0x34, 0x0a, 0x08, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x53, 0x65, 0x74, 0x12, 0x28,
+ 0x0a, 0x06, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10,
+ 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73,
+ 0x52, 0x06, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x22, 0x66, 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74,
+ 0x75, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05,
+ 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67,
+ 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65,
+ 0x12, 0x2e, 0x0a, 0x07, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28,
+ 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x07, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73,
+ 0x22, 0x22, 0x0a, 0x0a, 0x55, 0x6e, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x53, 0x65, 0x74, 0x12, 0x14,
+ 0x0a, 0x05, 0x65, 0x78, 0x70, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x03, 0x52, 0x05, 0x65,
+ 0x78, 0x70, 0x72, 0x73, 0x42, 0x2c, 0x0a, 0x0c, 0x64, 0x65, 0x76, 0x2e, 0x63, 0x65, 0x6c, 0x2e,
+ 0x65, 0x78, 0x70, 0x72, 0x42, 0x09, 0x45, 0x76, 0x61, 0x6c, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50,
+ 0x01, 0x5a, 0x0c, 0x63, 0x65, 0x6c, 0x2e, 0x64, 0x65, 0x76, 0x2f, 0x65, 0x78, 0x70, 0x72, 0xf8,
+ 0x01, 0x01, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (
@@ -372,28 +429,30 @@ func file_cel_expr_eval_proto_rawDescGZIP() []byte {
return file_cel_expr_eval_proto_rawDescData
}
-var file_cel_expr_eval_proto_msgTypes = make([]protoimpl.MessageInfo, 5)
-var file_cel_expr_eval_proto_goTypes = []interface{}{
+var file_cel_expr_eval_proto_msgTypes = make([]protoimpl.MessageInfo, 6)
+var file_cel_expr_eval_proto_goTypes = []any{
(*EvalState)(nil), // 0: cel.expr.EvalState
(*ExprValue)(nil), // 1: cel.expr.ExprValue
(*ErrorSet)(nil), // 2: cel.expr.ErrorSet
- (*UnknownSet)(nil), // 3: cel.expr.UnknownSet
- (*EvalState_Result)(nil), // 4: cel.expr.EvalState.Result
- (*Value)(nil), // 5: cel.expr.Value
- (*status.Status)(nil), // 6: google.rpc.Status
+ (*Status)(nil), // 3: cel.expr.Status
+ (*UnknownSet)(nil), // 4: cel.expr.UnknownSet
+ (*EvalState_Result)(nil), // 5: cel.expr.EvalState.Result
+ (*Value)(nil), // 6: cel.expr.Value
+ (*anypb.Any)(nil), // 7: google.protobuf.Any
}
var file_cel_expr_eval_proto_depIdxs = []int32{
1, // 0: cel.expr.EvalState.values:type_name -> cel.expr.ExprValue
- 4, // 1: cel.expr.EvalState.results:type_name -> cel.expr.EvalState.Result
- 5, // 2: cel.expr.ExprValue.value:type_name -> cel.expr.Value
+ 5, // 1: cel.expr.EvalState.results:type_name -> cel.expr.EvalState.Result
+ 6, // 2: cel.expr.ExprValue.value:type_name -> cel.expr.Value
2, // 3: cel.expr.ExprValue.error:type_name -> cel.expr.ErrorSet
- 3, // 4: cel.expr.ExprValue.unknown:type_name -> cel.expr.UnknownSet
- 6, // 5: cel.expr.ErrorSet.errors:type_name -> google.rpc.Status
- 6, // [6:6] is the sub-list for method output_type
- 6, // [6:6] is the sub-list for method input_type
- 6, // [6:6] is the sub-list for extension type_name
- 6, // [6:6] is the sub-list for extension extendee
- 0, // [0:6] is the sub-list for field type_name
+ 4, // 4: cel.expr.ExprValue.unknown:type_name -> cel.expr.UnknownSet
+ 3, // 5: cel.expr.ErrorSet.errors:type_name -> cel.expr.Status
+ 7, // 6: cel.expr.Status.details:type_name -> google.protobuf.Any
+ 7, // [7:7] is the sub-list for method output_type
+ 7, // [7:7] is the sub-list for method input_type
+ 7, // [7:7] is the sub-list for extension type_name
+ 7, // [7:7] is the sub-list for extension extendee
+ 0, // [0:7] is the sub-list for field type_name
}
func init() { file_cel_expr_eval_proto_init() }
@@ -402,69 +461,7 @@ func file_cel_expr_eval_proto_init() {
return
}
file_cel_expr_value_proto_init()
- if !protoimpl.UnsafeEnabled {
- file_cel_expr_eval_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*EvalState); i {
- case 0:
- return &v.state
- case 1:
- return &v.sizeCache
- case 2:
- return &v.unknownFields
- default:
- return nil
- }
- }
- file_cel_expr_eval_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*ExprValue); i {
- case 0:
- return &v.state
- case 1:
- return &v.sizeCache
- case 2:
- return &v.unknownFields
- default:
- return nil
- }
- }
- file_cel_expr_eval_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*ErrorSet); i {
- case 0:
- return &v.state
- case 1:
- return &v.sizeCache
- case 2:
- return &v.unknownFields
- default:
- return nil
- }
- }
- file_cel_expr_eval_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*UnknownSet); i {
- case 0:
- return &v.state
- case 1:
- return &v.sizeCache
- case 2:
- return &v.unknownFields
- default:
- return nil
- }
- }
- file_cel_expr_eval_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*EvalState_Result); i {
- case 0:
- return &v.state
- case 1:
- return &v.sizeCache
- case 2:
- return &v.unknownFields
- default:
- return nil
- }
- }
- }
- file_cel_expr_eval_proto_msgTypes[1].OneofWrappers = []interface{}{
+ file_cel_expr_eval_proto_msgTypes[1].OneofWrappers = []any{
(*ExprValue_Value)(nil),
(*ExprValue_Error)(nil),
(*ExprValue_Unknown)(nil),
@@ -475,7 +472,7 @@ func file_cel_expr_eval_proto_init() {
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_cel_expr_eval_proto_rawDesc,
NumEnums: 0,
- NumMessages: 5,
+ NumMessages: 6,
NumExtensions: 0,
NumServices: 0,
},
diff --git a/vendor/github.com/go-jose/go-jose/v4/CHANGELOG.md b/vendor/github.com/go-jose/go-jose/v4/CHANGELOG.md
index 6f717dbd86..66a8a0f89a 100644
--- a/vendor/github.com/go-jose/go-jose/v4/CHANGELOG.md
+++ b/vendor/github.com/go-jose/go-jose/v4/CHANGELOG.md
@@ -1,3 +1,8 @@
+## Changed
+
+ - Defined a custom error, ErrUnexpectedSignatureAlgorithm, returned when a JWS
+ header contains an unsupported signature algorithm.
+
# v4.0.4
## Fixed
diff --git a/vendor/github.com/go-jose/go-jose/v4/jwe.go b/vendor/github.com/go-jose/go-jose/v4/jwe.go
index 9f1322dccc..6102f91000 100644
--- a/vendor/github.com/go-jose/go-jose/v4/jwe.go
+++ b/vendor/github.com/go-jose/go-jose/v4/jwe.go
@@ -274,7 +274,7 @@ func validateAlgEnc(headers rawHeader, keyAlgorithms []KeyAlgorithm, contentEncr
if alg != "" && !containsKeyAlgorithm(keyAlgorithms, alg) {
return fmt.Errorf("unexpected key algorithm %q; expected %q", alg, keyAlgorithms)
}
- if alg != "" && !containsContentEncryption(contentEncryption, enc) {
+ if enc != "" && !containsContentEncryption(contentEncryption, enc) {
return fmt.Errorf("unexpected content encryption algorithm %q; expected %q", enc, contentEncryption)
}
return nil
@@ -288,11 +288,20 @@ func ParseEncryptedCompact(
keyAlgorithms []KeyAlgorithm,
contentEncryption []ContentEncryption,
) (*JSONWebEncryption, error) {
- // Five parts is four separators
- if strings.Count(input, ".") != 4 {
- return nil, fmt.Errorf("go-jose/go-jose: compact JWE format must have five parts")
+ var parts [5]string
+ var ok bool
+
+ for i := range 4 {
+ parts[i], input, ok = strings.Cut(input, ".")
+ if !ok {
+ return nil, errors.New("go-jose/go-jose: compact JWE format must have five parts")
+ }
+ }
+ // Validate that the last part does not contain more dots
+ if strings.ContainsRune(input, '.') {
+ return nil, errors.New("go-jose/go-jose: compact JWE format must have five parts")
}
- parts := strings.SplitN(input, ".", 5)
+ parts[4] = input
rawProtected, err := base64.RawURLEncoding.DecodeString(parts[0])
if err != nil {
diff --git a/vendor/github.com/go-jose/go-jose/v4/jwk.go b/vendor/github.com/go-jose/go-jose/v4/jwk.go
index 9e57e93ba2..9700f8906c 100644
--- a/vendor/github.com/go-jose/go-jose/v4/jwk.go
+++ b/vendor/github.com/go-jose/go-jose/v4/jwk.go
@@ -239,7 +239,7 @@ func (k *JSONWebKey) UnmarshalJSON(data []byte) (err error) {
keyPub = key
}
} else {
- return fmt.Errorf("go-jose/go-jose: unknown curve %s'", raw.Crv)
+ return fmt.Errorf("go-jose/go-jose: unknown curve '%s'", raw.Crv)
}
default:
return fmt.Errorf("go-jose/go-jose: unknown json web key type '%s'", raw.Kty)
diff --git a/vendor/github.com/go-jose/go-jose/v4/jws.go b/vendor/github.com/go-jose/go-jose/v4/jws.go
index d09d8ba507..c40bd3ec10 100644
--- a/vendor/github.com/go-jose/go-jose/v4/jws.go
+++ b/vendor/github.com/go-jose/go-jose/v4/jws.go
@@ -75,7 +75,14 @@ type Signature struct {
original *rawSignatureInfo
}
-// ParseSigned parses a signed message in JWS Compact or JWS JSON Serialization.
+// ParseSigned parses a signed message in JWS Compact or JWS JSON Serialization. Validation fails if
+// the JWS is signed with an algorithm that isn't in the provided list of signature algorithms.
+// Applications should decide for themselves which signature algorithms are acceptable. If you're
+// not sure which signature algorithms your application might receive, consult the documentation of
+// the program which provides them or the protocol that you are implementing. You can also try
+// getting an example JWS and decoding it with a tool like https://jwt.io to see what its "alg"
+// header parameter indicates. The signature on the JWS does not get validated during parsing. Call
+// Verify() after parsing to validate the signature and obtain the payload.
//
// https://datatracker.ietf.org/doc/html/rfc7515#section-7
func ParseSigned(
@@ -90,7 +97,14 @@ func ParseSigned(
return parseSignedCompact(signature, nil, signatureAlgorithms)
}
-// ParseSignedCompact parses a message in JWS Compact Serialization.
+// ParseSignedCompact parses a message in JWS Compact Serialization. Validation fails if the JWS is
+// signed with an algorithm that isn't in the provided list of signature algorithms. Applications
+// should decide for themselves which signature algorithms are acceptable.If you're not sure which
+// signature algorithms your application might receive, consult the documentation of the program
+// which provides them or the protocol that you are implementing. You can also try getting an
+// example JWS and decoding it with a tool like https://jwt.io to see what its "alg" header
+// parameter indicates. The signature on the JWS does not get validated during parsing. Call
+// Verify() after parsing to validate the signature and obtain the payload.
//
// https://datatracker.ietf.org/doc/html/rfc7515#section-7.1
func ParseSignedCompact(
@@ -101,6 +115,15 @@ func ParseSignedCompact(
}
// ParseDetached parses a signed message in compact serialization format with detached payload.
+// Validation fails if the JWS is signed with an algorithm that isn't in the provided list of
+// signature algorithms. Applications should decide for themselves which signature algorithms are
+// acceptable. If you're not sure which signature algorithms your application might receive, consult
+// the documentation of the program which provides them or the protocol that you are implementing.
+// You can also try getting an example JWS and decoding it with a tool like https://jwt.io to see
+// what its "alg" header parameter indicates. The signature on the JWS does not get validated during
+// parsing. Call Verify() after parsing to validate the signature and obtain the payload.
+//
+// https://datatracker.ietf.org/doc/html/rfc7515#appendix-F
func ParseDetached(
signature string,
payload []byte,
@@ -181,6 +204,25 @@ func containsSignatureAlgorithm(haystack []SignatureAlgorithm, needle SignatureA
return false
}
+// ErrUnexpectedSignatureAlgorithm is returned when the signature algorithm in
+// the JWS header does not match one of the expected algorithms.
+type ErrUnexpectedSignatureAlgorithm struct {
+ // Got is the signature algorithm found in the JWS header.
+ Got SignatureAlgorithm
+ expected []SignatureAlgorithm
+}
+
+func (e *ErrUnexpectedSignatureAlgorithm) Error() string {
+ return fmt.Sprintf("unexpected signature algorithm %q; expected %q", e.Got, e.expected)
+}
+
+func newErrUnexpectedSignatureAlgorithm(got SignatureAlgorithm, expected []SignatureAlgorithm) error {
+ return &ErrUnexpectedSignatureAlgorithm{
+ Got: got,
+ expected: expected,
+ }
+}
+
// sanitized produces a cleaned-up JWS object from the raw JSON.
func (parsed *rawJSONWebSignature) sanitized(signatureAlgorithms []SignatureAlgorithm) (*JSONWebSignature, error) {
if len(signatureAlgorithms) == 0 {
@@ -236,8 +278,7 @@ func (parsed *rawJSONWebSignature) sanitized(signatureAlgorithms []SignatureAlgo
alg := SignatureAlgorithm(signature.Header.Algorithm)
if !containsSignatureAlgorithm(signatureAlgorithms, alg) {
- return nil, fmt.Errorf("go-jose/go-jose: unexpected signature algorithm %q; expected %q",
- alg, signatureAlgorithms)
+ return nil, newErrUnexpectedSignatureAlgorithm(alg, signatureAlgorithms)
}
if signature.header != nil {
@@ -285,8 +326,7 @@ func (parsed *rawJSONWebSignature) sanitized(signatureAlgorithms []SignatureAlgo
alg := SignatureAlgorithm(obj.Signatures[i].Header.Algorithm)
if !containsSignatureAlgorithm(signatureAlgorithms, alg) {
- return nil, fmt.Errorf("go-jose/go-jose: unexpected signature algorithm %q; expected %q",
- alg, signatureAlgorithms)
+ return nil, newErrUnexpectedSignatureAlgorithm(alg, signatureAlgorithms)
}
if obj.Signatures[i].header != nil {
@@ -321,35 +361,43 @@ func (parsed *rawJSONWebSignature) sanitized(signatureAlgorithms []SignatureAlgo
return obj, nil
}
+const tokenDelim = "."
+
// parseSignedCompact parses a message in compact format.
func parseSignedCompact(
input string,
payload []byte,
signatureAlgorithms []SignatureAlgorithm,
) (*JSONWebSignature, error) {
- // Three parts is two separators
- if strings.Count(input, ".") != 2 {
+ protected, s, ok := strings.Cut(input, tokenDelim)
+ if !ok { // no period found
+ return nil, fmt.Errorf("go-jose/go-jose: compact JWS format must have three parts")
+ }
+ claims, sig, ok := strings.Cut(s, tokenDelim)
+ if !ok { // only one period found
+ return nil, fmt.Errorf("go-jose/go-jose: compact JWS format must have three parts")
+ }
+ if strings.ContainsRune(sig, '.') { // too many periods found
return nil, fmt.Errorf("go-jose/go-jose: compact JWS format must have three parts")
}
- parts := strings.SplitN(input, ".", 3)
- if parts[1] != "" && payload != nil {
+ if claims != "" && payload != nil {
return nil, fmt.Errorf("go-jose/go-jose: payload is not detached")
}
- rawProtected, err := base64.RawURLEncoding.DecodeString(parts[0])
+ rawProtected, err := base64.RawURLEncoding.DecodeString(protected)
if err != nil {
return nil, err
}
if payload == nil {
- payload, err = base64.RawURLEncoding.DecodeString(parts[1])
+ payload, err = base64.RawURLEncoding.DecodeString(claims)
if err != nil {
return nil, err
}
}
- signature, err := base64.RawURLEncoding.DecodeString(parts[2])
+ signature, err := base64.RawURLEncoding.DecodeString(sig)
if err != nil {
return nil, err
}
diff --git a/vendor/github.com/go-jose/go-jose/v4/symmetric.go b/vendor/github.com/go-jose/go-jose/v4/symmetric.go
index a69103b084..6176e06074 100644
--- a/vendor/github.com/go-jose/go-jose/v4/symmetric.go
+++ b/vendor/github.com/go-jose/go-jose/v4/symmetric.go
@@ -30,8 +30,6 @@ import (
"hash"
"io"
- "golang.org/x/crypto/pbkdf2"
-
josecipher "github.com/go-jose/go-jose/v4/cipher"
)
@@ -330,7 +328,10 @@ func (ctx *symmetricKeyCipher) encryptKey(cek []byte, alg KeyAlgorithm) (recipie
// derive key
keyLen, h := getPbkdf2Params(alg)
- key := pbkdf2.Key(ctx.key, salt, ctx.p2c, keyLen, h)
+ key, err := pbkdf2Key(h, string(ctx.key), salt, ctx.p2c, keyLen)
+ if err != nil {
+ return recipientInfo{}, nil
+ }
// use AES cipher with derived key
block, err := aes.NewCipher(key)
@@ -432,7 +433,10 @@ func (ctx *symmetricKeyCipher) decryptKey(headers rawHeader, recipient *recipien
// derive key
keyLen, h := getPbkdf2Params(alg)
- key := pbkdf2.Key(ctx.key, salt, p2c, keyLen, h)
+ key, err := pbkdf2Key(h, string(ctx.key), salt, p2c, keyLen)
+ if err != nil {
+ return nil, err
+ }
// use AES cipher with derived key
block, err := aes.NewCipher(key)
diff --git a/vendor/github.com/go-jose/go-jose/v4/symmetric_go124.go b/vendor/github.com/go-jose/go-jose/v4/symmetric_go124.go
new file mode 100644
index 0000000000..6c5a4e7f20
--- /dev/null
+++ b/vendor/github.com/go-jose/go-jose/v4/symmetric_go124.go
@@ -0,0 +1,28 @@
+//go:build go1.24
+
+/*-
+ * Copyright 2014 Square Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package jose
+
+import (
+ "crypto/pbkdf2"
+ "hash"
+)
+
+func pbkdf2Key(h func() hash.Hash, password string, salt []byte, iter, keyLen int) ([]byte, error) {
+ return pbkdf2.Key(h, password, salt, iter, keyLen)
+}
diff --git a/vendor/github.com/go-jose/go-jose/v4/symmetric_legacy.go b/vendor/github.com/go-jose/go-jose/v4/symmetric_legacy.go
new file mode 100644
index 0000000000..bdfc3d7663
--- /dev/null
+++ b/vendor/github.com/go-jose/go-jose/v4/symmetric_legacy.go
@@ -0,0 +1,29 @@
+//go:build !go1.24
+
+/*-
+ * Copyright 2014 Square Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package jose
+
+import (
+ "hash"
+
+ "golang.org/x/crypto/pbkdf2"
+)
+
+func pbkdf2Key(h func() hash.Hash, password string, salt []byte, iter, keyLen int) ([]byte, error) {
+ return pbkdf2.Key([]byte(password), salt, iter, keyLen, h), nil
+}
diff --git a/vendor/github.com/go-logr/logr/.golangci.yaml b/vendor/github.com/go-logr/logr/.golangci.yaml
index 0cffafa7bf..0ed62c1a18 100644
--- a/vendor/github.com/go-logr/logr/.golangci.yaml
+++ b/vendor/github.com/go-logr/logr/.golangci.yaml
@@ -1,26 +1,28 @@
+version: "2"
+
run:
timeout: 1m
tests: true
linters:
- disable-all: true
- enable:
+ default: none
+ enable: # please keep this alphabetized
+ - asasalint
- asciicheck
+ - copyloopvar
+ - dupl
- errcheck
- forcetypeassert
+ - goconst
- gocritic
- - gofmt
- - goimports
- - gosimple
- govet
- ineffassign
- misspell
+ - musttag
- revive
- staticcheck
- - typecheck
- unused
issues:
- exclude-use-default: false
max-issues-per-linter: 0
max-same-issues: 10
diff --git a/vendor/github.com/go-logr/logr/funcr/funcr.go b/vendor/github.com/go-logr/logr/funcr/funcr.go
index 30568e768d..b22c57d713 100644
--- a/vendor/github.com/go-logr/logr/funcr/funcr.go
+++ b/vendor/github.com/go-logr/logr/funcr/funcr.go
@@ -77,7 +77,7 @@ func newSink(fn func(prefix, args string), formatter Formatter) logr.LogSink {
write: fn,
}
// For skipping fnlogger.Info and fnlogger.Error.
- l.Formatter.AddCallDepth(1)
+ l.AddCallDepth(1) // via Formatter
return l
}
@@ -164,17 +164,17 @@ type fnlogger struct {
}
func (l fnlogger) WithName(name string) logr.LogSink {
- l.Formatter.AddName(name)
+ l.AddName(name) // via Formatter
return &l
}
func (l fnlogger) WithValues(kvList ...any) logr.LogSink {
- l.Formatter.AddValues(kvList)
+ l.AddValues(kvList) // via Formatter
return &l
}
func (l fnlogger) WithCallDepth(depth int) logr.LogSink {
- l.Formatter.AddCallDepth(depth)
+ l.AddCallDepth(depth) // via Formatter
return &l
}
diff --git a/vendor/go.opentelemetry.io/otel/.clomonitor.yml b/vendor/go.opentelemetry.io/otel/.clomonitor.yml
new file mode 100644
index 0000000000..128d61a226
--- /dev/null
+++ b/vendor/go.opentelemetry.io/otel/.clomonitor.yml
@@ -0,0 +1,3 @@
+exemptions:
+ - check: artifacthub_badge
+ reason: "Artifact Hub doesn't support Go packages"
diff --git a/vendor/go.opentelemetry.io/otel/.gitignore b/vendor/go.opentelemetry.io/otel/.gitignore
index ae8577ef36..749e8e881b 100644
--- a/vendor/go.opentelemetry.io/otel/.gitignore
+++ b/vendor/go.opentelemetry.io/otel/.gitignore
@@ -1,6 +1,7 @@
.DS_Store
Thumbs.db
+.cache/
.tools/
venv/
.idea/
diff --git a/vendor/go.opentelemetry.io/otel/.golangci.yml b/vendor/go.opentelemetry.io/otel/.golangci.yml
index ce3f40b609..5f69cc027c 100644
--- a/vendor/go.opentelemetry.io/otel/.golangci.yml
+++ b/vendor/go.opentelemetry.io/otel/.golangci.yml
@@ -1,13 +1,9 @@
-# See https://github.com/golangci/golangci-lint#config-file
+version: "2"
run:
- issues-exit-code: 1 #Default
- tests: true #Default
-
+ issues-exit-code: 1
+ tests: true
linters:
- # Disable everything by default so upgrades to not include new "default
- # enabled" linters.
- disable-all: true
- # Specifically enable linters we want to use.
+ default: none
enable:
- asasalint
- bodyclose
@@ -15,311 +11,240 @@ linters:
- errcheck
- errorlint
- godot
- - gofumpt
- - goimports
- gosec
- - gosimple
- govet
- ineffassign
- misspell
- perfsprint
- revive
- staticcheck
- - tenv
- testifylint
- - typecheck
- unconvert
- - unused
- unparam
+ - unused
- usestdlibvars
-
+ - usetesting
+ settings:
+ depguard:
+ rules:
+ auto/sdk:
+ files:
+ - '!internal/global/trace.go'
+ - ~internal/global/trace_test.go
+ deny:
+ - pkg: go.opentelemetry.io/auto/sdk
+ desc: Do not use SDK from automatic instrumentation.
+ non-tests:
+ files:
+ - '!$test'
+ - '!**/*test/*.go'
+ - '!**/internal/matchers/*.go'
+ deny:
+ - pkg: testing
+ - pkg: github.com/stretchr/testify
+ - pkg: crypto/md5
+ - pkg: crypto/sha1
+ - pkg: crypto/**/pkix
+ otel-internal:
+ files:
+ - '**/sdk/*.go'
+ - '**/sdk/**/*.go'
+ - '**/exporters/*.go'
+ - '**/exporters/**/*.go'
+ - '**/schema/*.go'
+ - '**/schema/**/*.go'
+ - '**/metric/*.go'
+ - '**/metric/**/*.go'
+ - '**/bridge/*.go'
+ - '**/bridge/**/*.go'
+ - '**/trace/*.go'
+ - '**/trace/**/*.go'
+ - '**/log/*.go'
+ - '**/log/**/*.go'
+ deny:
+ - pkg: go.opentelemetry.io/otel/internal$
+ desc: Do not use cross-module internal packages.
+ - pkg: go.opentelemetry.io/otel/internal/internaltest
+ desc: Do not use cross-module internal packages.
+ otlp-internal:
+ files:
+ - '!**/exporters/otlp/internal/**/*.go'
+ deny:
+ - pkg: go.opentelemetry.io/otel/exporters/otlp/internal
+ desc: Do not use cross-module internal packages.
+ otlpmetric-internal:
+ files:
+ - '!**/exporters/otlp/otlpmetric/internal/*.go'
+ - '!**/exporters/otlp/otlpmetric/internal/**/*.go'
+ deny:
+ - pkg: go.opentelemetry.io/otel/exporters/otlp/otlpmetric/internal
+ desc: Do not use cross-module internal packages.
+ otlptrace-internal:
+ files:
+ - '!**/exporters/otlp/otlptrace/*.go'
+ - '!**/exporters/otlp/otlptrace/internal/**.go'
+ deny:
+ - pkg: go.opentelemetry.io/otel/exporters/otlp/otlptrace/internal
+ desc: Do not use cross-module internal packages.
+ godot:
+ exclude:
+ # Exclude links.
+ - '^ *\[[^]]+\]:'
+ # Exclude sentence fragments for lists.
+ - ^[ ]*[-•]
+ # Exclude sentences prefixing a list.
+ - :$
+ misspell:
+ locale: US
+ ignore-rules:
+ - cancelled
+ perfsprint:
+ int-conversion: true
+ err-error: true
+ errorf: true
+ sprintf1: true
+ strconcat: true
+ revive:
+ confidence: 0.01
+ rules:
+ - name: blank-imports
+ - name: bool-literal-in-expr
+ - name: constant-logical-expr
+ - name: context-as-argument
+ arguments:
+ - allowTypesBefore: '*testing.T'
+ disabled: true
+ - name: context-keys-type
+ - name: deep-exit
+ - name: defer
+ arguments:
+ - - call-chain
+ - loop
+ - name: dot-imports
+ - name: duplicated-imports
+ - name: early-return
+ arguments:
+ - preserveScope
+ - name: empty-block
+ - name: empty-lines
+ - name: error-naming
+ - name: error-return
+ - name: error-strings
+ - name: errorf
+ - name: exported
+ arguments:
+ - sayRepetitiveInsteadOfStutters
+ - name: flag-parameter
+ - name: identical-branches
+ - name: if-return
+ - name: import-shadowing
+ - name: increment-decrement
+ - name: indent-error-flow
+ arguments:
+ - preserveScope
+ - name: package-comments
+ - name: range
+ - name: range-val-in-closure
+ - name: range-val-address
+ - name: redefines-builtin-id
+ - name: string-format
+ arguments:
+ - - panic
+ - /^[^\n]*$/
+ - must not contain line breaks
+ - name: struct-tag
+ - name: superfluous-else
+ arguments:
+ - preserveScope
+ - name: time-equal
+ - name: unconditional-recursion
+ - name: unexported-return
+ - name: unhandled-error
+ arguments:
+ - fmt.Fprint
+ - fmt.Fprintf
+ - fmt.Fprintln
+ - fmt.Print
+ - fmt.Printf
+ - fmt.Println
+ - name: unnecessary-stmt
+ - name: useless-break
+ - name: var-declaration
+ - name: var-naming
+ arguments:
+ - ["ID"] # AllowList
+ - ["Otel", "Aws", "Gcp"] # DenyList
+ - name: waitgroup-by-value
+ testifylint:
+ enable-all: true
+ disable:
+ - float-compare
+ - go-require
+ - require-error
+ exclusions:
+ generated: lax
+ presets:
+ - common-false-positives
+ - legacy
+ - std-error-handling
+ rules:
+ - linters:
+ - revive
+ path: schema/v.*/types/.*
+ text: avoid meaningless package names
+ # TODO: Having appropriate comments for exported objects helps development,
+ # even for objects in internal packages. Appropriate comments for all
+ # exported objects should be added and this exclusion removed.
+ - linters:
+ - revive
+ path: .*internal/.*
+ text: exported (method|function|type|const) (.+) should have comment or be unexported
+ # Yes, they are, but it's okay in a test.
+ - linters:
+ - revive
+ path: _test\.go
+ text: exported func.*returns unexported type.*which can be annoying to use
+ # Example test functions should be treated like main.
+ - linters:
+ - revive
+ path: example.*_test\.go
+ text: calls to (.+) only in main[(][)] or init[(][)] functions
+ # It's okay to not run gosec and perfsprint in a test.
+ - linters:
+ - gosec
+ - perfsprint
+ path: _test\.go
+ # Ignoring gosec G404: Use of weak random number generator (math/rand instead of crypto/rand)
+ # as we commonly use it in tests and examples.
+ - linters:
+ - gosec
+ text: 'G404:'
+ # Ignoring gosec G402: TLS MinVersion too low
+ # as the https://pkg.go.dev/crypto/tls#Config handles MinVersion default well.
+ - linters:
+ - gosec
+ text: 'G402: TLS MinVersion too low.'
+ paths:
+ - third_party$
+ - builtin$
+ - examples$
issues:
- # Maximum issues count per one linter.
- # Set to 0 to disable.
- # Default: 50
- # Setting to unlimited so the linter only is run once to debug all issues.
max-issues-per-linter: 0
- # Maximum count of issues with the same text.
- # Set to 0 to disable.
- # Default: 3
- # Setting to unlimited so the linter only is run once to debug all issues.
max-same-issues: 0
- # Excluding configuration per-path, per-linter, per-text and per-source.
- exclude-rules:
- # TODO: Having appropriate comments for exported objects helps development,
- # even for objects in internal packages. Appropriate comments for all
- # exported objects should be added and this exclusion removed.
- - path: '.*internal/.*'
- text: "exported (method|function|type|const) (.+) should have comment or be unexported"
- linters:
- - revive
- # Yes, they are, but it's okay in a test.
- - path: _test\.go
- text: "exported func.*returns unexported type.*which can be annoying to use"
- linters:
- - revive
- # Example test functions should be treated like main.
- - path: example.*_test\.go
- text: "calls to (.+) only in main[(][)] or init[(][)] functions"
- linters:
- - revive
- # It's okay to not run gosec and perfsprint in a test.
- - path: _test\.go
- linters:
- - gosec
- - perfsprint
- # Ignoring gosec G404: Use of weak random number generator (math/rand instead of crypto/rand)
- # as we commonly use it in tests and examples.
- - text: "G404:"
- linters:
- - gosec
- # Ignoring gosec G402: TLS MinVersion too low
- # as the https://pkg.go.dev/crypto/tls#Config handles MinVersion default well.
- - text: "G402: TLS MinVersion too low."
- linters:
- - gosec
- include:
- # revive exported should have comment or be unexported.
- - EXC0012
- # revive package comment should be of the form ...
- - EXC0013
-
-linters-settings:
- depguard:
- rules:
- non-tests:
- files:
- - "!$test"
- - "!**/*test/*.go"
- - "!**/internal/matchers/*.go"
- deny:
- - pkg: "testing"
- - pkg: "github.com/stretchr/testify"
- - pkg: "crypto/md5"
- - pkg: "crypto/sha1"
- - pkg: "crypto/**/pkix"
- auto/sdk:
- files:
- - "!internal/global/trace.go"
- - "~internal/global/trace_test.go"
- deny:
- - pkg: "go.opentelemetry.io/auto/sdk"
- desc: Do not use SDK from automatic instrumentation.
- otlp-internal:
- files:
- - "!**/exporters/otlp/internal/**/*.go"
- deny:
- - pkg: "go.opentelemetry.io/otel/exporters/otlp/internal"
- desc: Do not use cross-module internal packages.
- otlptrace-internal:
- files:
- - "!**/exporters/otlp/otlptrace/*.go"
- - "!**/exporters/otlp/otlptrace/internal/**.go"
- deny:
- - pkg: "go.opentelemetry.io/otel/exporters/otlp/otlptrace/internal"
- desc: Do not use cross-module internal packages.
- otlpmetric-internal:
- files:
- - "!**/exporters/otlp/otlpmetric/internal/*.go"
- - "!**/exporters/otlp/otlpmetric/internal/**/*.go"
- deny:
- - pkg: "go.opentelemetry.io/otel/exporters/otlp/otlpmetric/internal"
- desc: Do not use cross-module internal packages.
- otel-internal:
- files:
- - "**/sdk/*.go"
- - "**/sdk/**/*.go"
- - "**/exporters/*.go"
- - "**/exporters/**/*.go"
- - "**/schema/*.go"
- - "**/schema/**/*.go"
- - "**/metric/*.go"
- - "**/metric/**/*.go"
- - "**/bridge/*.go"
- - "**/bridge/**/*.go"
- - "**/trace/*.go"
- - "**/trace/**/*.go"
- - "**/log/*.go"
- - "**/log/**/*.go"
- deny:
- - pkg: "go.opentelemetry.io/otel/internal$"
- desc: Do not use cross-module internal packages.
- - pkg: "go.opentelemetry.io/otel/internal/attribute"
- desc: Do not use cross-module internal packages.
- - pkg: "go.opentelemetry.io/otel/internal/internaltest"
- desc: Do not use cross-module internal packages.
- - pkg: "go.opentelemetry.io/otel/internal/matchers"
- desc: Do not use cross-module internal packages.
- godot:
- exclude:
- # Exclude links.
- - '^ *\[[^]]+\]:'
- # Exclude sentence fragments for lists.
- - '^[ ]*[-•]'
- # Exclude sentences prefixing a list.
- - ':$'
- goimports:
- local-prefixes: go.opentelemetry.io
- misspell:
- locale: US
- ignore-words:
- - cancelled
- perfsprint:
- err-error: true
- errorf: true
- int-conversion: true
- sprintf1: true
- strconcat: true
- revive:
- # Sets the default failure confidence.
- # This means that linting errors with less than 0.8 confidence will be ignored.
- # Default: 0.8
- confidence: 0.01
- rules:
- # https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#blank-imports
- - name: blank-imports
- disabled: false
- # https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#bool-literal-in-expr
- - name: bool-literal-in-expr
- disabled: false
- # https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#constant-logical-expr
- - name: constant-logical-expr
- disabled: false
- # https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#context-as-argument
- # TODO (#3372) re-enable linter when it is compatible. https://github.com/golangci/golangci-lint/issues/3280
- - name: context-as-argument
- disabled: true
- arguments:
- allowTypesBefore: "*testing.T"
- # https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#context-keys-type
- - name: context-keys-type
- disabled: false
- # https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#deep-exit
- - name: deep-exit
- disabled: false
- # https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#defer
- - name: defer
- disabled: false
- arguments:
- - ["call-chain", "loop"]
- # https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#dot-imports
- - name: dot-imports
- disabled: false
- # https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#duplicated-imports
- - name: duplicated-imports
- disabled: false
- # https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#early-return
- - name: early-return
- disabled: false
- # https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#empty-block
- - name: empty-block
- disabled: false
- # https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#empty-lines
- - name: empty-lines
- disabled: false
- # https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#error-naming
- - name: error-naming
- disabled: false
- # https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#error-return
- - name: error-return
- disabled: false
- # https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#error-strings
- - name: error-strings
- disabled: false
- # https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#errorf
- - name: errorf
- disabled: false
- # https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#exported
- - name: exported
- disabled: false
- arguments:
- - "sayRepetitiveInsteadOfStutters"
- # https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#flag-parameter
- - name: flag-parameter
- disabled: false
- # https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#identical-branches
- - name: identical-branches
- disabled: false
- # https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#if-return
- - name: if-return
- disabled: false
- # https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#increment-decrement
- - name: increment-decrement
- disabled: false
- # https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#indent-error-flow
- - name: indent-error-flow
- disabled: false
- # https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#import-shadowing
- - name: import-shadowing
- disabled: false
- # https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#package-comments
- - name: package-comments
- disabled: false
- # https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#range
- - name: range
- disabled: false
- # https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#range-val-in-closure
- - name: range-val-in-closure
- disabled: false
- # https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#range-val-address
- - name: range-val-address
- disabled: false
- # https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#redefines-builtin-id
- - name: redefines-builtin-id
- disabled: false
- # https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#string-format
- - name: string-format
- disabled: false
- arguments:
- - - panic
- - '/^[^\n]*$/'
- - must not contain line breaks
- # https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#struct-tag
- - name: struct-tag
- disabled: false
- # https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#superfluous-else
- - name: superfluous-else
- disabled: false
- # https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#time-equal
- - name: time-equal
- disabled: false
- # https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#var-naming
- - name: var-naming
- disabled: false
- arguments:
- - ["ID"] # AllowList
- - ["Otel", "Aws", "Gcp"] # DenyList
- # https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#var-declaration
- - name: var-declaration
- disabled: false
- # https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#unconditional-recursion
- - name: unconditional-recursion
- disabled: false
- # https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#unexported-return
- - name: unexported-return
- disabled: false
- # https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#unhandled-error
- - name: unhandled-error
- disabled: false
- arguments:
- - "fmt.Fprint"
- - "fmt.Fprintf"
- - "fmt.Fprintln"
- - "fmt.Print"
- - "fmt.Printf"
- - "fmt.Println"
- # https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#unnecessary-stmt
- - name: unnecessary-stmt
- disabled: false
- # https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#useless-break
- - name: useless-break
- disabled: false
- # https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#waitgroup-by-value
- - name: waitgroup-by-value
- disabled: false
- testifylint:
- enable-all: true
- disable:
- - float-compare
- - go-require
- - require-error
+formatters:
+ enable:
+ - gofumpt
+ - goimports
+ - golines
+ settings:
+ goimports:
+ local-prefixes:
+ - go.opentelemetry.io
+ golines:
+ max-len: 120
+ exclusions:
+ generated: lax
+ paths:
+ - third_party$
+ - builtin$
+ - examples$
diff --git a/vendor/go.opentelemetry.io/otel/CHANGELOG.md b/vendor/go.opentelemetry.io/otel/CHANGELOG.md
index 599d59cd13..4acc75701b 100644
--- a/vendor/go.opentelemetry.io/otel/CHANGELOG.md
+++ b/vendor/go.opentelemetry.io/otel/CHANGELOG.md
@@ -11,6 +11,152 @@ This project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.htm
+## [1.37.0/0.59.0/0.13.0] 2025-06-25
+
+### Added
+
+- The `go.opentelemetry.io/otel/semconv/v1.33.0` package.
+ The package contains semantic conventions from the `v1.33.0` version of the OpenTelemetry Semantic Conventions.
+ See the [migration documentation](./semconv/v1.33.0/MIGRATION.md) for information on how to upgrade from `go.opentelemetry.io/otel/semconv/v1.32.0.`(#6799)
+- The `go.opentelemetry.io/otel/semconv/v1.34.0` package.
+ The package contains semantic conventions from the `v1.34.0` version of the OpenTelemetry Semantic Conventions. (#6812)
+- Add metric's schema URL as `otel_scope_schema_url` label in `go.opentelemetry.io/otel/exporters/prometheus`. (#5947)
+- Add metric's scope attributes as `otel_scope_[attribute]` labels in `go.opentelemetry.io/otel/exporters/prometheus`. (#5947)
+- Add `EventName` to `EnabledParameters` in `go.opentelemetry.io/otel/log`. (#6825)
+- Add `EventName` to `EnabledParameters` in `go.opentelemetry.io/otel/sdk/log`. (#6825)
+- Changed handling of `go.opentelemetry.io/otel/exporters/prometheus` metric renaming to add unit suffixes when it doesn't match one of the pre-defined values in the unit suffix map. (#6839)
+
+### Changed
+
+- The semantic conventions have been upgraded from `v1.26.0` to `v1.34.0` in `go.opentelemetry.io/otel/bridge/opentracing`. (#6827)
+- The semantic conventions have been upgraded from `v1.26.0` to `v1.34.0` in `go.opentelemetry.io/otel/exporters/zipkin`. (#6829)
+- The semantic conventions have been upgraded from `v1.26.0` to `v1.34.0` in `go.opentelemetry.io/otel/metric`. (#6832)
+- The semantic conventions have been upgraded from `v1.26.0` to `v1.34.0` in `go.opentelemetry.io/otel/sdk/resource`. (#6834)
+- The semantic conventions have been upgraded from `v1.26.0` to `v1.34.0` in `go.opentelemetry.io/otel/sdk/trace`. (#6835)
+- The semantic conventions have been upgraded from `v1.26.0` to `v1.34.0` in `go.opentelemetry.io/otel/trace`. (#6836)
+- `Record.Resource` now returns `*resource.Resource` instead of `resource.Resource` in `go.opentelemetry.io/otel/sdk/log`. (#6864)
+- Retry now shows error cause for context timeout in `go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc`, `go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc`, `go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploggrpc`, `go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp`, `go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp`, `go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp`. (#6898)
+
+### Fixed
+
+- Stop stripping trailing slashes from configured endpoint URL in `go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc`. (#6710)
+- Stop stripping trailing slashes from configured endpoint URL in `go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp`. (#6710)
+- Stop stripping trailing slashes from configured endpoint URL in `go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc`. (#6710)
+- Stop stripping trailing slashes from configured endpoint URL in `go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp`. (#6710)
+- Validate exponential histogram scale range for Prometheus compatibility in `go.opentelemetry.io/otel/exporters/prometheus`. (#6822)
+- Context cancellation during metric pipeline produce does not corrupt data in `go.opentelemetry.io/otel/sdk/metric`. (#6914)
+
+### Removed
+
+- `go.opentelemetry.io/otel/exporters/prometheus` no longer exports `otel_scope_info` metric. (#6770)
+
+## [0.12.2] 2025-05-22
+
+### Fixed
+
+- Retract `v0.12.0` release of `go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploggrpc` module that contains invalid dependencies. (#6804)
+- Retract `v0.12.0` release of `go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp` module that contains invalid dependencies. (#6804)
+- Retract `v0.12.0` release of `go.opentelemetry.io/otel/exporters/stdout/stdoutlog` module that contains invalid dependencies. (#6804)
+
+## [0.12.1] 2025-05-21
+
+### Fixes
+
+- Use the proper dependency version of `go.opentelemetry.io/otel/sdk/log/logtest` in `go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploggrpc`. (#6800)
+- Use the proper dependency version of `go.opentelemetry.io/otel/sdk/log/logtest` in `go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp`. (#6800)
+- Use the proper dependency version of `go.opentelemetry.io/otel/sdk/log/logtest` in `go.opentelemetry.io/otel/exporters/stdout/stdoutlog`. (#6800)
+
+## [1.36.0/0.58.0/0.12.0] 2025-05-20
+
+### Added
+
+- Add exponential histogram support in `go.opentelemetry.io/otel/exporters/prometheus`. (#6421)
+- The `go.opentelemetry.io/otel/semconv/v1.31.0` package.
+ The package contains semantic conventions from the `v1.31.0` version of the OpenTelemetry Semantic Conventions.
+ See the [migration documentation](./semconv/v1.31.0/MIGRATION.md) for information on how to upgrade from `go.opentelemetry.io/otel/semconv/v1.30.0`. (#6479)
+- Add `Recording`, `Scope`, and `Record` types in `go.opentelemetry.io/otel/log/logtest`. (#6507)
+- Add `WithHTTPClient` option to configure the `http.Client` used by `go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp`. (#6751)
+- Add `WithHTTPClient` option to configure the `http.Client` used by `go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp`. (#6752)
+- Add `WithHTTPClient` option to configure the `http.Client` used by `go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp`. (#6688)
+- Add `ValuesGetter` in `go.opentelemetry.io/otel/propagation`, a `TextMapCarrier` that supports retrieving multiple values for a single key. (#5973)
+- Add `Values` method to `HeaderCarrier` to implement the new `ValuesGetter` interface in `go.opentelemetry.io/otel/propagation`. (#5973)
+- Update `Baggage` in `go.opentelemetry.io/otel/propagation` to retrieve multiple values for a key when the carrier implements `ValuesGetter`. (#5973)
+- Add `AssertEqual` function in `go.opentelemetry.io/otel/log/logtest`. (#6662)
+- The `go.opentelemetry.io/otel/semconv/v1.32.0` package.
+ The package contains semantic conventions from the `v1.32.0` version of the OpenTelemetry Semantic Conventions.
+ See the [migration documentation](./semconv/v1.32.0/MIGRATION.md) for information on how to upgrade from `go.opentelemetry.io/otel/semconv/v1.31.0`(#6782)
+- Add `Transform` option in `go.opentelemetry.io/otel/log/logtest`. (#6794)
+- Add `Desc` option in `go.opentelemetry.io/otel/log/logtest`. (#6796)
+
+### Removed
+
+- Drop support for [Go 1.22]. (#6381, #6418)
+- Remove `Resource` field from `EnabledParameters` in `go.opentelemetry.io/otel/sdk/log`. (#6494)
+- Remove `RecordFactory` type from `go.opentelemetry.io/otel/log/logtest`. (#6492)
+- Remove `ScopeRecords`, `EmittedRecord`, and `RecordFactory` types from `go.opentelemetry.io/otel/log/logtest`. (#6507)
+- Remove `AssertRecordEqual` function in `go.opentelemetry.io/otel/log/logtest`, use `AssertEqual` instead. (#6662)
+
+### Changed
+
+- ⚠️ Update `github.com/prometheus/client_golang` to `v1.21.1`, which changes the `NameValidationScheme` to `UTF8Validation`.
+ This allows metrics names to keep original delimiters (e.g. `.`), rather than replacing with underscores.
+ This can be reverted by setting `github.com/prometheus/common/model.NameValidationScheme` to `LegacyValidation` in `github.com/prometheus/common/model`. (#6433)
+- Initialize map with `len(keys)` in `NewAllowKeysFilter` and `NewDenyKeysFilter` to avoid unnecessary allocations in `go.opentelemetry.io/otel/attribute`. (#6455)
+- `go.opentelemetry.io/otel/log/logtest` is now a separate Go module. (#6465)
+- `go.opentelemetry.io/otel/sdk/log/logtest` is now a separate Go module. (#6466)
+- `Recorder` in `go.opentelemetry.io/otel/log/logtest` no longer separately stores records emitted by loggers with the same instrumentation scope. (#6507)
+- Improve performance of `BatchProcessor` in `go.opentelemetry.io/otel/sdk/log` by not exporting when exporter cannot accept more. (#6569, #6641)
+
+### Deprecated
+
+- Deprecate support for `model.LegacyValidation` for `go.opentelemetry.io/otel/exporters/prometheus`. (#6449)
+
+### Fixes
+
+- Stop percent encoding header environment variables in `go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploggrpc` and `go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp`. (#6392)
+- Ensure the `noopSpan.tracerProvider` method is not inlined in `go.opentelemetry.io/otel/trace` so the `go.opentelemetry.io/auto` instrumentation can instrument non-recording spans. (#6456)
+- Use a `sync.Pool` instead of allocating `metricdata.ResourceMetrics` in `go.opentelemetry.io/otel/exporters/prometheus`. (#6472)
+
+## [1.35.0/0.57.0/0.11.0] 2025-03-05
+
+This release is the last to support [Go 1.22].
+The next release will require at least [Go 1.23].
+
+### Added
+
+- Add `ValueFromAttribute` and `KeyValueFromAttribute` in `go.opentelemetry.io/otel/log`. (#6180)
+- Add `EventName` and `SetEventName` to `Record` in `go.opentelemetry.io/otel/log`. (#6187)
+- Add `EventName` to `RecordFactory` in `go.opentelemetry.io/otel/log/logtest`. (#6187)
+- `AssertRecordEqual` in `go.opentelemetry.io/otel/log/logtest` checks `Record.EventName`. (#6187)
+- Add `EventName` and `SetEventName` to `Record` in `go.opentelemetry.io/otel/sdk/log`. (#6193)
+- Add `EventName` to `RecordFactory` in `go.opentelemetry.io/otel/sdk/log/logtest`. (#6193)
+- Emit `Record.EventName` field in `go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploggrpc`. (#6211)
+- Emit `Record.EventName` field in `go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp`. (#6211)
+- Emit `Record.EventName` field in `go.opentelemetry.io/otel/exporters/stdout/stdoutlog` (#6210)
+- The `go.opentelemetry.io/otel/semconv/v1.28.0` package.
+ The package contains semantic conventions from the `v1.28.0` version of the OpenTelemetry Semantic Conventions.
+ See the [migration documentation](./semconv/v1.28.0/MIGRATION.md) for information on how to upgrade from `go.opentelemetry.io/otel/semconv/v1.27.0`(#6236)
+- The `go.opentelemetry.io/otel/semconv/v1.30.0` package.
+ The package contains semantic conventions from the `v1.30.0` version of the OpenTelemetry Semantic Conventions.
+ See the [migration documentation](./semconv/v1.30.0/MIGRATION.md) for information on how to upgrade from `go.opentelemetry.io/otel/semconv/v1.28.0`(#6240)
+- Document the pitfalls of using `Resource` as a comparable type.
+ `Resource.Equal` and `Resource.Equivalent` should be used instead. (#6272)
+- Support [Go 1.24]. (#6304)
+- Add `FilterProcessor` and `EnabledParameters` in `go.opentelemetry.io/otel/sdk/log`.
+ It replaces `go.opentelemetry.io/otel/sdk/log/internal/x.FilterProcessor`.
+ Compared to previous version it additionally gives the possibility to filter by resource and instrumentation scope. (#6317)
+
+### Changed
+
+- Update `github.com/prometheus/common` to `v0.62.0`, which changes the `NameValidationScheme` to `NoEscaping`.
+ This allows metrics names to keep original delimiters (e.g. `.`), rather than replacing with underscores.
+ This is controlled by the `Content-Type` header, or can be reverted by setting `NameValidationScheme` to `LegacyValidation` in `github.com/prometheus/common/model`. (#6198)
+
+### Fixes
+
+- Eliminate goroutine leak for the processor returned by `NewSimpleSpanProcessor` in `go.opentelemetry.io/otel/sdk/trace` when `Shutdown` is called and the passed `ctx` is canceled and `SpanExporter.Shutdown` has not returned. (#6368)
+- Eliminate goroutine leak for the processor returned by `NewBatchSpanProcessor` in `go.opentelemetry.io/otel/sdk/trace` when `ForceFlush` is called and the passed `ctx` is canceled and `SpanExporter.Export` has not returned. (#6369)
+
## [1.34.0/0.56.0/0.10.0] 2025-01-17
### Changed
@@ -3197,7 +3343,12 @@ It contains api and sdk for trace and meter.
- CircleCI build CI manifest files.
- CODEOWNERS file to track owners of this project.
-[Unreleased]: https://github.com/open-telemetry/opentelemetry-go/compare/v1.34.0...HEAD
+[Unreleased]: https://github.com/open-telemetry/opentelemetry-go/compare/v1.37.0...HEAD
+[1.37.0/0.59.0/0.13.0]: https://github.com/open-telemetry/opentelemetry-go/releases/tag/v1.37.0
+[0.12.2]: https://github.com/open-telemetry/opentelemetry-go/releases/tag/log/v0.12.2
+[0.12.1]: https://github.com/open-telemetry/opentelemetry-go/releases/tag/log/v0.12.1
+[1.36.0/0.58.0/0.12.0]: https://github.com/open-telemetry/opentelemetry-go/releases/tag/v1.36.0
+[1.35.0/0.57.0/0.11.0]: https://github.com/open-telemetry/opentelemetry-go/releases/tag/v1.35.0
[1.34.0/0.56.0/0.10.0]: https://github.com/open-telemetry/opentelemetry-go/releases/tag/v1.34.0
[1.33.0/0.55.0/0.9.0/0.0.12]: https://github.com/open-telemetry/opentelemetry-go/releases/tag/v1.33.0
[1.32.0/0.54.0/0.8.0/0.0.11]: https://github.com/open-telemetry/opentelemetry-go/releases/tag/v1.32.0
@@ -3288,6 +3439,7 @@ It contains api and sdk for trace and meter.
+[Go 1.24]: https://go.dev/doc/go1.24
[Go 1.23]: https://go.dev/doc/go1.23
[Go 1.22]: https://go.dev/doc/go1.22
[Go 1.21]: https://go.dev/doc/go1.21
diff --git a/vendor/go.opentelemetry.io/otel/CONTRIBUTING.md b/vendor/go.opentelemetry.io/otel/CONTRIBUTING.md
index 22a2e9dbd4..f9ddc281fc 100644
--- a/vendor/go.opentelemetry.io/otel/CONTRIBUTING.md
+++ b/vendor/go.opentelemetry.io/otel/CONTRIBUTING.md
@@ -109,10 +109,9 @@ A PR is considered **ready to merge** when:
This is not enforced through automation, but needs to be validated by the
maintainer merging.
- * The qualified approvals need to be from [Approver]s/[Maintainer]s
- affiliated with different companies. Two qualified approvals from
- [Approver]s or [Maintainer]s affiliated with the same company counts as a
- single qualified approval.
+ * At least one of the qualified approvals need to be from an
+ [Approver]/[Maintainer] affiliated with a different company than the author
+ of the PR.
* PRs introducing changes that have already been discussed and consensus
reached only need one qualified approval. The discussion and resolution
needs to be linked to the PR.
@@ -181,6 +180,18 @@ patterns in the spec.
For a deeper discussion, see
[this](https://github.com/open-telemetry/opentelemetry-specification/issues/165).
+## Tests
+
+Each functionality should be covered by tests.
+
+Performance-critical functionality should also be covered by benchmarks.
+
+- Pull requests adding a performance-critical functionality
+should have `go test -bench` output in their description.
+- Pull requests changing a performance-critical functionality
+should have [`benchstat`](https://pkg.go.dev/golang.org/x/perf/cmd/benchstat)
+output in their description.
+
## Documentation
Each (non-internal, non-test) package must be documented using
@@ -631,17 +642,18 @@ should be canceled.
### Triagers
+- [Alex Kats](https://github.com/akats7), Capital One
- [Cheng-Zhen Yang](https://github.com/scorpionknifes), Independent
### Approvers
### Maintainers
-- [Damien Mathieu](https://github.com/dmathieu), Elastic
-- [David Ashpole](https://github.com/dashpole), Google
-- [Robert Pająk](https://github.com/pellared), Splunk
-- [Sam Xie](https://github.com/XSAM), Cisco/AppDynamics
-- [Tyler Yahn](https://github.com/MrAlias), Splunk
+- [Damien Mathieu](https://github.com/dmathieu), Elastic ([GPG](https://keys.openpgp.org/search?q=5A126B972A81A6CE443E5E1B408B8E44F0873832))
+- [David Ashpole](https://github.com/dashpole), Google ([GPG](https://keys.openpgp.org/search?q=C0D1BDDCAAEAE573673085F176327DA4D864DC70))
+- [Robert Pająk](https://github.com/pellared), Splunk ([GPG](https://keys.openpgp.org/search?q=CDAD3A60476A3DE599AA5092E5F7C35A4DBE90C2))
+- [Sam Xie](https://github.com/XSAM), Splunk ([GPG](https://keys.openpgp.org/search?q=AEA033782371ABB18EE39188B8044925D6FEEBEA))
+- [Tyler Yahn](https://github.com/MrAlias), Splunk ([GPG](https://keys.openpgp.org/search?q=0x46B0F3E1A8B1BA5A))
### Emeritus
diff --git a/vendor/go.opentelemetry.io/otel/Makefile b/vendor/go.opentelemetry.io/otel/Makefile
index a7f6d8cc68..4fa423ca02 100644
--- a/vendor/go.opentelemetry.io/otel/Makefile
+++ b/vendor/go.opentelemetry.io/otel/Makefile
@@ -11,6 +11,10 @@ ALL_COVERAGE_MOD_DIRS := $(shell find . -type f -name 'go.mod' -exec dirname {}
GO = go
TIMEOUT = 60
+# User to run as in docker images.
+DOCKER_USER=$(shell id -u):$(shell id -g)
+DEPENDENCIES_DOCKERFILE=./dependencies.Dockerfile
+
.DEFAULT_GOAL := precommit
.PHONY: precommit ci
@@ -39,8 +43,11 @@ $(TOOLS)/crosslink: PACKAGE=go.opentelemetry.io/build-tools/crosslink
SEMCONVKIT = $(TOOLS)/semconvkit
$(TOOLS)/semconvkit: PACKAGE=go.opentelemetry.io/otel/$(TOOLS_MOD_DIR)/semconvkit
+VERIFYREADMES = $(TOOLS)/verifyreadmes
+$(TOOLS)/verifyreadmes: PACKAGE=go.opentelemetry.io/otel/$(TOOLS_MOD_DIR)/verifyreadmes
+
GOLANGCI_LINT = $(TOOLS)/golangci-lint
-$(TOOLS)/golangci-lint: PACKAGE=github.com/golangci/golangci-lint/cmd/golangci-lint
+$(TOOLS)/golangci-lint: PACKAGE=github.com/golangci/golangci-lint/v2/cmd/golangci-lint
MISSPELL = $(TOOLS)/misspell
$(TOOLS)/misspell: PACKAGE=github.com/client9/misspell/cmd/misspell
@@ -64,7 +71,7 @@ GOVULNCHECK = $(TOOLS)/govulncheck
$(TOOLS)/govulncheck: PACKAGE=golang.org/x/vuln/cmd/govulncheck
.PHONY: tools
-tools: $(CROSSLINK) $(GOLANGCI_LINT) $(MISSPELL) $(GOCOVMERGE) $(STRINGER) $(PORTO) $(SEMCONVGEN) $(MULTIMOD) $(SEMCONVKIT) $(GOTMPL) $(GORELEASE)
+tools: $(CROSSLINK) $(GOLANGCI_LINT) $(MISSPELL) $(GOCOVMERGE) $(STRINGER) $(PORTO) $(SEMCONVGEN) $(VERIFYREADMES) $(MULTIMOD) $(SEMCONVKIT) $(GOTMPL) $(GORELEASE)
# Virtualized python tools via docker
@@ -81,20 +88,20 @@ PIP := $(PYTOOLS)/pip
WORKDIR := /workdir
# The python image to use for the virtual environment.
-PYTHONIMAGE := python:3.11.3-slim-bullseye
+PYTHONIMAGE := $(shell awk '$$4=="python" {print $$2}' $(DEPENDENCIES_DOCKERFILE))
# Run the python image with the current directory mounted.
-DOCKERPY := docker run --rm -v "$(CURDIR):$(WORKDIR)" -w $(WORKDIR) $(PYTHONIMAGE)
+DOCKERPY := docker run --rm -u $(DOCKER_USER) -v "$(CURDIR):$(WORKDIR)" -w $(WORKDIR) $(PYTHONIMAGE)
# Create a virtual environment for Python tools.
$(PYTOOLS):
# The `--upgrade` flag is needed to ensure that the virtual environment is
# created with the latest pip version.
- @$(DOCKERPY) bash -c "python3 -m venv $(VENVDIR) && $(PIP) install --upgrade pip"
+ @$(DOCKERPY) bash -c "python3 -m venv $(VENVDIR) && $(PIP) install --upgrade --cache-dir=$(WORKDIR)/.cache/pip pip"
# Install python packages into the virtual environment.
$(PYTOOLS)/%: $(PYTOOLS)
- @$(DOCKERPY) $(PIP) install -r requirements.txt
+ @$(DOCKERPY) $(PIP) install --cache-dir=$(WORKDIR)/.cache/pip -r requirements.txt
CODESPELL = $(PYTOOLS)/codespell
$(CODESPELL): PACKAGE=codespell
@@ -119,7 +126,7 @@ vanity-import-fix: $(PORTO)
# Generate go.work file for local development.
.PHONY: go-work
go-work: $(CROSSLINK)
- $(CROSSLINK) work --root=$(shell pwd)
+ $(CROSSLINK) work --root=$(shell pwd) --go=1.22.7
# Build
@@ -209,11 +216,8 @@ go-mod-tidy/%: crosslink
&& cd $(DIR) \
&& $(GO) mod tidy -compat=1.21
-.PHONY: lint-modules
-lint-modules: go-mod-tidy
-
.PHONY: lint
-lint: misspell lint-modules golangci-lint govulncheck
+lint: misspell go-mod-tidy golangci-lint govulncheck
.PHONY: vanity-import-check
vanity-import-check: $(PORTO)
@@ -265,14 +269,31 @@ check-clean-work-tree:
exit 1; \
fi
+# The weaver docker image to use for semconv-generate.
+WEAVER_IMAGE := $(shell awk '$$4=="weaver" {print $$2}' $(DEPENDENCIES_DOCKERFILE))
+
SEMCONVPKG ?= "semconv/"
.PHONY: semconv-generate
-semconv-generate: $(SEMCONVGEN) $(SEMCONVKIT)
+semconv-generate: $(SEMCONVKIT)
[ "$(TAG)" ] || ( echo "TAG unset: missing opentelemetry semantic-conventions tag"; exit 1 )
- [ "$(OTEL_SEMCONV_REPO)" ] || ( echo "OTEL_SEMCONV_REPO unset: missing path to opentelemetry semantic-conventions repo"; exit 1 )
- $(SEMCONVGEN) -i "$(OTEL_SEMCONV_REPO)/model/." --only=attribute_group -p conventionType=trace -f attribute_group.go -z "$(SEMCONVPKG)/capitalizations.txt" -t "$(SEMCONVPKG)/template.j2" -s "$(TAG)"
- $(SEMCONVGEN) -i "$(OTEL_SEMCONV_REPO)/model/." --only=metric -f metric.go -t "$(SEMCONVPKG)/metric_template.j2" -s "$(TAG)"
- $(SEMCONVKIT) -output "$(SEMCONVPKG)/$(TAG)" -tag "$(TAG)"
+ # Ensure the target directory for source code is available.
+ mkdir -p $(PWD)/$(SEMCONVPKG)/${TAG}
+ # Note: We mount a home directory for downloading/storing the semconv repository.
+ # Weaver will automatically clean the cache when finished, but the directories will remain.
+ mkdir -p ~/.weaver
+ docker run --rm \
+ -u $(DOCKER_USER) \
+ --env HOME=/tmp/weaver \
+ --mount 'type=bind,source=$(PWD)/semconv,target=/home/weaver/templates/registry/go,readonly' \
+ --mount 'type=bind,source=$(PWD)/semconv/${TAG},target=/home/weaver/target' \
+ --mount 'type=bind,source=$(HOME)/.weaver,target=/tmp/weaver/.weaver' \
+ $(WEAVER_IMAGE) registry generate \
+ --registry=https://github.com/open-telemetry/semantic-conventions/archive/refs/tags/$(TAG).zip[model] \
+ --templates=/home/weaver/templates \
+ --param tag=$(TAG) \
+ go \
+ /home/weaver/target
+ $(SEMCONVKIT) -semconv "$(SEMCONVPKG)" -tag "$(TAG)"
.PHONY: gorelease
gorelease: $(OTEL_GO_MOD_DIRS:%=gorelease/%)
@@ -298,10 +319,11 @@ add-tags: verify-mods
@[ "${MODSET}" ] || ( echo ">> env var MODSET is not set"; exit 1 )
$(MULTIMOD) tag -m ${MODSET} -c ${COMMIT}
+MARKDOWNIMAGE := $(shell awk '$$4=="markdown" {print $$2}' $(DEPENDENCIES_DOCKERFILE))
.PHONY: lint-markdown
lint-markdown:
- docker run -v "$(CURDIR):$(WORKDIR)" avtodev/markdown-lint:v1 -c $(WORKDIR)/.markdownlint.yaml $(WORKDIR)/**/*.md
+ docker run --rm -u $(DOCKER_USER) -v "$(CURDIR):$(WORKDIR)" $(MARKDOWNIMAGE) -c $(WORKDIR)/.markdownlint.yaml $(WORKDIR)/**/*.md
.PHONY: verify-readmes
-verify-readmes:
- ./verify_readmes.sh
+verify-readmes: $(VERIFYREADMES)
+ $(VERIFYREADMES)
diff --git a/vendor/go.opentelemetry.io/otel/README.md b/vendor/go.opentelemetry.io/otel/README.md
index d9a1920762..5fa1b75c60 100644
--- a/vendor/go.opentelemetry.io/otel/README.md
+++ b/vendor/go.opentelemetry.io/otel/README.md
@@ -4,6 +4,10 @@
[](https://app.codecov.io/gh/open-telemetry/opentelemetry-go?branch=main)
[](https://pkg.go.dev/go.opentelemetry.io/otel)
[](https://goreportcard.com/report/go.opentelemetry.io/otel)
+[](https://scorecard.dev/viewer/?uri=github.com/open-telemetry/opentelemetry-go)
+[](https://www.bestpractices.dev/projects/9996)
+[](https://issues.oss-fuzz.com/issues?q=project:opentelemetry-go)
+[](https://app.fossa.com/projects/custom%2B162%2Fgithub.com%2Fopen-telemetry%2Fopentelemetry-go?ref=badge_shield&issueType=license)
[](https://cloud-native.slack.com/archives/C01NPAXACKT)
OpenTelemetry-Go is the [Go](https://golang.org/) implementation of [OpenTelemetry](https://opentelemetry.io/).
@@ -49,20 +53,20 @@ Currently, this project supports the following environments.
| OS | Go Version | Architecture |
|----------|------------|--------------|
+| Ubuntu | 1.24 | amd64 |
| Ubuntu | 1.23 | amd64 |
-| Ubuntu | 1.22 | amd64 |
+| Ubuntu | 1.24 | 386 |
| Ubuntu | 1.23 | 386 |
-| Ubuntu | 1.22 | 386 |
-| Linux | 1.23 | arm64 |
-| Linux | 1.22 | arm64 |
+| Ubuntu | 1.24 | arm64 |
+| Ubuntu | 1.23 | arm64 |
+| macOS 13 | 1.24 | amd64 |
| macOS 13 | 1.23 | amd64 |
-| macOS 13 | 1.22 | amd64 |
+| macOS | 1.24 | arm64 |
| macOS | 1.23 | arm64 |
-| macOS | 1.22 | arm64 |
+| Windows | 1.24 | amd64 |
| Windows | 1.23 | amd64 |
-| Windows | 1.22 | amd64 |
+| Windows | 1.24 | 386 |
| Windows | 1.23 | 386 |
-| Windows | 1.22 | 386 |
While this project should work for other systems, no compatibility guarantees
are made for those systems currently.
diff --git a/vendor/go.opentelemetry.io/otel/RELEASING.md b/vendor/go.opentelemetry.io/otel/RELEASING.md
index 4ebef4f9dd..1ddcdef039 100644
--- a/vendor/go.opentelemetry.io/otel/RELEASING.md
+++ b/vendor/go.opentelemetry.io/otel/RELEASING.md
@@ -1,21 +1,22 @@
# Release Process
+## Create a `Version Release` issue
+
+Create a `Version Release` issue to track the release process.
+
## Semantic Convention Generation
New versions of the [OpenTelemetry Semantic Conventions] mean new versions of the `semconv` package need to be generated.
The `semconv-generate` make target is used for this.
-1. Checkout a local copy of the [OpenTelemetry Semantic Conventions] to the desired release tag.
-2. Pull the latest `otel/semconvgen` image: `docker pull otel/semconvgen:latest`
-3. Run the `make semconv-generate ...` target from this repository.
+1. Set the `TAG` environment variable to the semantic convention tag you want to generate.
+2. Run the `make semconv-generate ...` target from this repository.
For example,
```sh
-export TAG="v1.21.0" # Change to the release version you are generating.
-export OTEL_SEMCONV_REPO="/absolute/path/to/opentelemetry/semantic-conventions"
-docker pull otel/semconvgen:latest
-make semconv-generate # Uses the exported TAG and OTEL_SEMCONV_REPO.
+export TAG="v1.30.0" # Change to the release version you are generating.
+make semconv-generate # Uses the exported TAG.
```
This should create a new sub-package of [`semconv`](./semconv).
@@ -111,6 +112,29 @@ It is critical you make sure the version you push upstream is correct.
Finally create a Release for the new `` on GitHub.
The release body should include all the release notes from the Changelog for this release.
+### Sign the Release Artifact
+
+To ensure we comply with CNCF best practices, we need to sign the release artifact.
+The tarball attached to the GitHub release needs to be signed with your GPG key.
+
+Follow [these steps] to sign the release artifact and upload it to GitHub.
+You can use [this script] to verify the contents of the tarball before signing it.
+
+Be sure to use the correct GPG key when signing the release artifact.
+
+```terminal
+gpg --local-user --armor --detach-sign opentelemetry-go-.tar.gz
+```
+
+You can verify the signature with:
+
+```terminal
+gpg --verify opentelemetry-go-.tar.gz.asc opentelemetry-go-.tar.gz
+```
+
+[these steps]: https://wiki.debian.org/Creating%20signed%20GitHub%20releases
+[this script]: https://github.com/MrAlias/attest-sh
+
## Post-Release
### Contrib Repository
@@ -126,6 +150,16 @@ Importantly, bump any package versions referenced to be the latest one you just
[Go instrumentation documentation]: https://opentelemetry.io/docs/languages/go/
[content/en/docs/languages/go]: https://github.com/open-telemetry/opentelemetry.io/tree/main/content/en/docs/languages/go
+### Close the milestone
+
+Once a release is made, ensure all issues that were fixed and PRs that were merged as part of this release are added to the corresponding milestone.
+This helps track what changes were included in each release.
+
+- To find issues that haven't been included in a milestone, use this [GitHub search query](https://github.com/open-telemetry/opentelemetry-go/issues?q=is%3Aissue%20no%3Amilestone%20is%3Aclosed%20sort%3Aupdated-desc%20reason%3Acompleted%20-label%3AStale%20linked%3Apr)
+- To find merged PRs that haven't been included in a milestone, use this [GitHub search query](https://github.com/open-telemetry/opentelemetry-go/pulls?q=is%3Apr+no%3Amilestone+is%3Amerged).
+
+Once all related issues and PRs have been added to the milestone, close the milestone.
+
### Demo Repository
Bump the dependencies in the following Go services:
@@ -133,3 +167,7 @@ Bump the dependencies in the following Go services:
- [`accounting`](https://github.com/open-telemetry/opentelemetry-demo/tree/main/src/accounting)
- [`checkoutservice`](https://github.com/open-telemetry/opentelemetry-demo/tree/main/src/checkout)
- [`productcatalogservice`](https://github.com/open-telemetry/opentelemetry-demo/tree/main/src/product-catalog)
+
+### Close the `Version Release` issue
+
+Once the todo list in the `Version Release` issue is complete, close the issue.
diff --git a/vendor/go.opentelemetry.io/otel/attribute/filter.go b/vendor/go.opentelemetry.io/otel/attribute/filter.go
index be9cd922d8..3eeaa5d442 100644
--- a/vendor/go.opentelemetry.io/otel/attribute/filter.go
+++ b/vendor/go.opentelemetry.io/otel/attribute/filter.go
@@ -19,7 +19,7 @@ func NewAllowKeysFilter(keys ...Key) Filter {
return func(kv KeyValue) bool { return false }
}
- allowed := make(map[Key]struct{})
+ allowed := make(map[Key]struct{}, len(keys))
for _, k := range keys {
allowed[k] = struct{}{}
}
@@ -38,7 +38,7 @@ func NewDenyKeysFilter(keys ...Key) Filter {
return func(kv KeyValue) bool { return true }
}
- forbid := make(map[Key]struct{})
+ forbid := make(map[Key]struct{}, len(keys))
for _, k := range keys {
forbid[k] = struct{}{}
}
diff --git a/vendor/go.opentelemetry.io/otel/internal/attribute/attribute.go b/vendor/go.opentelemetry.io/otel/attribute/internal/attribute.go
similarity index 97%
rename from vendor/go.opentelemetry.io/otel/internal/attribute/attribute.go
rename to vendor/go.opentelemetry.io/otel/attribute/internal/attribute.go
index 691d96c755..b76d2bbfdb 100644
--- a/vendor/go.opentelemetry.io/otel/internal/attribute/attribute.go
+++ b/vendor/go.opentelemetry.io/otel/attribute/internal/attribute.go
@@ -5,7 +5,7 @@
Package attribute provide several helper functions for some commonly used
logic of processing attributes.
*/
-package attribute // import "go.opentelemetry.io/otel/internal/attribute"
+package attribute // import "go.opentelemetry.io/otel/attribute/internal"
import (
"reflect"
diff --git a/vendor/go.opentelemetry.io/otel/attribute/rawhelpers.go b/vendor/go.opentelemetry.io/otel/attribute/rawhelpers.go
new file mode 100644
index 0000000000..5791c6e7aa
--- /dev/null
+++ b/vendor/go.opentelemetry.io/otel/attribute/rawhelpers.go
@@ -0,0 +1,37 @@
+// Copyright The OpenTelemetry Authors
+// SPDX-License-Identifier: Apache-2.0
+
+package attribute // import "go.opentelemetry.io/otel/attribute"
+
+import (
+ "math"
+)
+
+func boolToRaw(b bool) uint64 { // nolint:revive // b is not a control flag.
+ if b {
+ return 1
+ }
+ return 0
+}
+
+func rawToBool(r uint64) bool {
+ return r != 0
+}
+
+func int64ToRaw(i int64) uint64 {
+ // Assumes original was a valid int64 (overflow not checked).
+ return uint64(i) // nolint: gosec
+}
+
+func rawToInt64(r uint64) int64 {
+ // Assumes original was a valid int64 (overflow not checked).
+ return int64(r) // nolint: gosec
+}
+
+func float64ToRaw(f float64) uint64 {
+ return math.Float64bits(f)
+}
+
+func rawToFloat64(r uint64) float64 {
+ return math.Float64frombits(r)
+}
diff --git a/vendor/go.opentelemetry.io/otel/attribute/value.go b/vendor/go.opentelemetry.io/otel/attribute/value.go
index 9ea0ecbbd2..817eecacf1 100644
--- a/vendor/go.opentelemetry.io/otel/attribute/value.go
+++ b/vendor/go.opentelemetry.io/otel/attribute/value.go
@@ -9,8 +9,7 @@ import (
"reflect"
"strconv"
- "go.opentelemetry.io/otel/internal"
- "go.opentelemetry.io/otel/internal/attribute"
+ attribute "go.opentelemetry.io/otel/attribute/internal"
)
//go:generate stringer -type=Type
@@ -51,7 +50,7 @@ const (
func BoolValue(v bool) Value {
return Value{
vtype: BOOL,
- numeric: internal.BoolToRaw(v),
+ numeric: boolToRaw(v),
}
}
@@ -82,7 +81,7 @@ func IntSliceValue(v []int) Value {
func Int64Value(v int64) Value {
return Value{
vtype: INT64,
- numeric: internal.Int64ToRaw(v),
+ numeric: int64ToRaw(v),
}
}
@@ -95,7 +94,7 @@ func Int64SliceValue(v []int64) Value {
func Float64Value(v float64) Value {
return Value{
vtype: FLOAT64,
- numeric: internal.Float64ToRaw(v),
+ numeric: float64ToRaw(v),
}
}
@@ -125,7 +124,7 @@ func (v Value) Type() Type {
// AsBool returns the bool value. Make sure that the Value's type is
// BOOL.
func (v Value) AsBool() bool {
- return internal.RawToBool(v.numeric)
+ return rawToBool(v.numeric)
}
// AsBoolSlice returns the []bool value. Make sure that the Value's type is
@@ -144,7 +143,7 @@ func (v Value) asBoolSlice() []bool {
// AsInt64 returns the int64 value. Make sure that the Value's type is
// INT64.
func (v Value) AsInt64() int64 {
- return internal.RawToInt64(v.numeric)
+ return rawToInt64(v.numeric)
}
// AsInt64Slice returns the []int64 value. Make sure that the Value's type is
@@ -163,7 +162,7 @@ func (v Value) asInt64Slice() []int64 {
// AsFloat64 returns the float64 value. Make sure that the Value's
// type is FLOAT64.
func (v Value) AsFloat64() float64 {
- return internal.RawToFloat64(v.numeric)
+ return rawToFloat64(v.numeric)
}
// AsFloat64Slice returns the []float64 value. Make sure that the Value's type is
diff --git a/vendor/go.opentelemetry.io/otel/dependencies.Dockerfile b/vendor/go.opentelemetry.io/otel/dependencies.Dockerfile
new file mode 100644
index 0000000000..935bd48763
--- /dev/null
+++ b/vendor/go.opentelemetry.io/otel/dependencies.Dockerfile
@@ -0,0 +1,4 @@
+# This is a renovate-friendly source of Docker images.
+FROM python:3.13.5-slim-bullseye@sha256:5b9fc0d8ef79cfb5f300e61cb516e0c668067bbf77646762c38c94107e230dbc AS python
+FROM otel/weaver:v0.15.2@sha256:b13acea09f721774daba36344861f689ac4bb8d6ecd94c4600b4d590c8fb34b9 AS weaver
+FROM avtodev/markdown-lint:v1@sha256:6aeedc2f49138ce7a1cd0adffc1b1c0321b841dc2102408967d9301c031949ee AS markdown
diff --git a/vendor/go.opentelemetry.io/otel/get_main_pkgs.sh b/vendor/go.opentelemetry.io/otel/get_main_pkgs.sh
deleted file mode 100644
index 93e80ea306..0000000000
--- a/vendor/go.opentelemetry.io/otel/get_main_pkgs.sh
+++ /dev/null
@@ -1,30 +0,0 @@
-#!/usr/bin/env bash
-
-# Copyright The OpenTelemetry Authors
-# SPDX-License-Identifier: Apache-2.0
-
-set -euo pipefail
-
-top_dir='.'
-if [[ $# -gt 0 ]]; then
- top_dir="${1}"
-fi
-
-p=$(pwd)
-mod_dirs=()
-
-# Note `mapfile` does not exist in older bash versions:
-# https://stackoverflow.com/questions/41475261/need-alternative-to-readarray-mapfile-for-script-on-older-version-of-bash
-
-while IFS= read -r line; do
- mod_dirs+=("$line")
-done < <(find "${top_dir}" -type f -name 'go.mod' -exec dirname {} \; | sort)
-
-for mod_dir in "${mod_dirs[@]}"; do
- cd "${mod_dir}"
-
- while IFS= read -r line; do
- echo ".${line#${p}}"
- done < <(go list --find -f '{{.Name}}|{{.Dir}}' ./... | grep '^main|' | cut -f 2- -d '|')
- cd "${p}"
-done
diff --git a/vendor/go.opentelemetry.io/otel/internal/gen.go b/vendor/go.opentelemetry.io/otel/internal/gen.go
deleted file mode 100644
index 4259f0320d..0000000000
--- a/vendor/go.opentelemetry.io/otel/internal/gen.go
+++ /dev/null
@@ -1,18 +0,0 @@
-// Copyright The OpenTelemetry Authors
-// SPDX-License-Identifier: Apache-2.0
-
-package internal // import "go.opentelemetry.io/otel/internal"
-
-//go:generate gotmpl --body=./shared/matchers/expectation.go.tmpl "--data={}" --out=matchers/expectation.go
-//go:generate gotmpl --body=./shared/matchers/expecter.go.tmpl "--data={}" --out=matchers/expecter.go
-//go:generate gotmpl --body=./shared/matchers/temporal_matcher.go.tmpl "--data={}" --out=matchers/temporal_matcher.go
-
-//go:generate gotmpl --body=./shared/internaltest/alignment.go.tmpl "--data={}" --out=internaltest/alignment.go
-//go:generate gotmpl --body=./shared/internaltest/env.go.tmpl "--data={}" --out=internaltest/env.go
-//go:generate gotmpl --body=./shared/internaltest/env_test.go.tmpl "--data={}" --out=internaltest/env_test.go
-//go:generate gotmpl --body=./shared/internaltest/errors.go.tmpl "--data={}" --out=internaltest/errors.go
-//go:generate gotmpl --body=./shared/internaltest/harness.go.tmpl "--data={\"matchersImportPath\": \"go.opentelemetry.io/otel/internal/matchers\"}" --out=internaltest/harness.go
-//go:generate gotmpl --body=./shared/internaltest/text_map_carrier.go.tmpl "--data={}" --out=internaltest/text_map_carrier.go
-//go:generate gotmpl --body=./shared/internaltest/text_map_carrier_test.go.tmpl "--data={}" --out=internaltest/text_map_carrier_test.go
-//go:generate gotmpl --body=./shared/internaltest/text_map_propagator.go.tmpl "--data={}" --out=internaltest/text_map_propagator.go
-//go:generate gotmpl --body=./shared/internaltest/text_map_propagator_test.go.tmpl "--data={}" --out=internaltest/text_map_propagator_test.go
diff --git a/vendor/go.opentelemetry.io/otel/internal/global/handler.go b/vendor/go.opentelemetry.io/otel/internal/global/handler.go
index c657ff8e75..2e47b2964c 100644
--- a/vendor/go.opentelemetry.io/otel/internal/global/handler.go
+++ b/vendor/go.opentelemetry.io/otel/internal/global/handler.go
@@ -1,6 +1,7 @@
// Copyright The OpenTelemetry Authors
// SPDX-License-Identifier: Apache-2.0
+// Package global provides the OpenTelemetry global API.
package global // import "go.opentelemetry.io/otel/internal/global"
import (
diff --git a/vendor/go.opentelemetry.io/otel/internal/global/meter.go b/vendor/go.opentelemetry.io/otel/internal/global/meter.go
index a6acd8dca6..adb37b5b0e 100644
--- a/vendor/go.opentelemetry.io/otel/internal/global/meter.go
+++ b/vendor/go.opentelemetry.io/otel/internal/global/meter.go
@@ -169,7 +169,10 @@ func (m *meter) Int64Counter(name string, options ...metric.Int64CounterOption)
return i, nil
}
-func (m *meter) Int64UpDownCounter(name string, options ...metric.Int64UpDownCounterOption) (metric.Int64UpDownCounter, error) {
+func (m *meter) Int64UpDownCounter(
+ name string,
+ options ...metric.Int64UpDownCounterOption,
+) (metric.Int64UpDownCounter, error) {
m.mtx.Lock()
defer m.mtx.Unlock()
@@ -238,7 +241,10 @@ func (m *meter) Int64Gauge(name string, options ...metric.Int64GaugeOption) (met
return i, nil
}
-func (m *meter) Int64ObservableCounter(name string, options ...metric.Int64ObservableCounterOption) (metric.Int64ObservableCounter, error) {
+func (m *meter) Int64ObservableCounter(
+ name string,
+ options ...metric.Int64ObservableCounterOption,
+) (metric.Int64ObservableCounter, error) {
m.mtx.Lock()
defer m.mtx.Unlock()
@@ -261,7 +267,10 @@ func (m *meter) Int64ObservableCounter(name string, options ...metric.Int64Obser
return i, nil
}
-func (m *meter) Int64ObservableUpDownCounter(name string, options ...metric.Int64ObservableUpDownCounterOption) (metric.Int64ObservableUpDownCounter, error) {
+func (m *meter) Int64ObservableUpDownCounter(
+ name string,
+ options ...metric.Int64ObservableUpDownCounterOption,
+) (metric.Int64ObservableUpDownCounter, error) {
m.mtx.Lock()
defer m.mtx.Unlock()
@@ -284,7 +293,10 @@ func (m *meter) Int64ObservableUpDownCounter(name string, options ...metric.Int6
return i, nil
}
-func (m *meter) Int64ObservableGauge(name string, options ...metric.Int64ObservableGaugeOption) (metric.Int64ObservableGauge, error) {
+func (m *meter) Int64ObservableGauge(
+ name string,
+ options ...metric.Int64ObservableGaugeOption,
+) (metric.Int64ObservableGauge, error) {
m.mtx.Lock()
defer m.mtx.Unlock()
@@ -330,7 +342,10 @@ func (m *meter) Float64Counter(name string, options ...metric.Float64CounterOpti
return i, nil
}
-func (m *meter) Float64UpDownCounter(name string, options ...metric.Float64UpDownCounterOption) (metric.Float64UpDownCounter, error) {
+func (m *meter) Float64UpDownCounter(
+ name string,
+ options ...metric.Float64UpDownCounterOption,
+) (metric.Float64UpDownCounter, error) {
m.mtx.Lock()
defer m.mtx.Unlock()
@@ -353,7 +368,10 @@ func (m *meter) Float64UpDownCounter(name string, options ...metric.Float64UpDow
return i, nil
}
-func (m *meter) Float64Histogram(name string, options ...metric.Float64HistogramOption) (metric.Float64Histogram, error) {
+func (m *meter) Float64Histogram(
+ name string,
+ options ...metric.Float64HistogramOption,
+) (metric.Float64Histogram, error) {
m.mtx.Lock()
defer m.mtx.Unlock()
@@ -399,7 +417,10 @@ func (m *meter) Float64Gauge(name string, options ...metric.Float64GaugeOption)
return i, nil
}
-func (m *meter) Float64ObservableCounter(name string, options ...metric.Float64ObservableCounterOption) (metric.Float64ObservableCounter, error) {
+func (m *meter) Float64ObservableCounter(
+ name string,
+ options ...metric.Float64ObservableCounterOption,
+) (metric.Float64ObservableCounter, error) {
m.mtx.Lock()
defer m.mtx.Unlock()
@@ -422,7 +443,10 @@ func (m *meter) Float64ObservableCounter(name string, options ...metric.Float64O
return i, nil
}
-func (m *meter) Float64ObservableUpDownCounter(name string, options ...metric.Float64ObservableUpDownCounterOption) (metric.Float64ObservableUpDownCounter, error) {
+func (m *meter) Float64ObservableUpDownCounter(
+ name string,
+ options ...metric.Float64ObservableUpDownCounterOption,
+) (metric.Float64ObservableUpDownCounter, error) {
m.mtx.Lock()
defer m.mtx.Unlock()
@@ -445,7 +469,10 @@ func (m *meter) Float64ObservableUpDownCounter(name string, options ...metric.Fl
return i, nil
}
-func (m *meter) Float64ObservableGauge(name string, options ...metric.Float64ObservableGaugeOption) (metric.Float64ObservableGauge, error) {
+func (m *meter) Float64ObservableGauge(
+ name string,
+ options ...metric.Float64ObservableGaugeOption,
+) (metric.Float64ObservableGauge, error) {
m.mtx.Lock()
defer m.mtx.Unlock()
diff --git a/vendor/go.opentelemetry.io/otel/internal/global/trace.go b/vendor/go.opentelemetry.io/otel/internal/global/trace.go
index 8982aa0dc5..49e4ac4faa 100644
--- a/vendor/go.opentelemetry.io/otel/internal/global/trace.go
+++ b/vendor/go.opentelemetry.io/otel/internal/global/trace.go
@@ -158,7 +158,18 @@ func (t *tracer) Start(ctx context.Context, name string, opts ...trace.SpanStart
// a nonRecordingSpan by default.
var autoInstEnabled = new(bool)
-func (t *tracer) newSpan(ctx context.Context, autoSpan *bool, name string, opts []trace.SpanStartOption) (context.Context, trace.Span) {
+// newSpan is called by tracer.Start so auto-instrumentation can attach an eBPF
+// uprobe to this code.
+//
+// "noinline" pragma prevents the method from ever being inlined.
+//
+//go:noinline
+func (t *tracer) newSpan(
+ ctx context.Context,
+ autoSpan *bool,
+ name string,
+ opts []trace.SpanStartOption,
+) (context.Context, trace.Span) {
// autoInstEnabled is passed to newSpan via the autoSpan parameter. This is
// so the auto-instrumentation can define a uprobe for (*t).newSpan and be
// provided with the address of the bool autoInstEnabled points to. It
diff --git a/vendor/go.opentelemetry.io/otel/internal/rawhelpers.go b/vendor/go.opentelemetry.io/otel/internal/rawhelpers.go
deleted file mode 100644
index b2fe3e41d3..0000000000
--- a/vendor/go.opentelemetry.io/otel/internal/rawhelpers.go
+++ /dev/null
@@ -1,48 +0,0 @@
-// Copyright The OpenTelemetry Authors
-// SPDX-License-Identifier: Apache-2.0
-
-package internal // import "go.opentelemetry.io/otel/internal"
-
-import (
- "math"
- "unsafe"
-)
-
-func BoolToRaw(b bool) uint64 { // nolint:revive // b is not a control flag.
- if b {
- return 1
- }
- return 0
-}
-
-func RawToBool(r uint64) bool {
- return r != 0
-}
-
-func Int64ToRaw(i int64) uint64 {
- // Assumes original was a valid int64 (overflow not checked).
- return uint64(i) // nolint: gosec
-}
-
-func RawToInt64(r uint64) int64 {
- // Assumes original was a valid int64 (overflow not checked).
- return int64(r) // nolint: gosec
-}
-
-func Float64ToRaw(f float64) uint64 {
- return math.Float64bits(f)
-}
-
-func RawToFloat64(r uint64) float64 {
- return math.Float64frombits(r)
-}
-
-func RawPtrToFloat64Ptr(r *uint64) *float64 {
- // Assumes original was a valid *float64 (overflow not checked).
- return (*float64)(unsafe.Pointer(r)) // nolint: gosec
-}
-
-func RawPtrToInt64Ptr(r *uint64) *int64 {
- // Assumes original was a valid *int64 (overflow not checked).
- return (*int64)(unsafe.Pointer(r)) // nolint: gosec
-}
diff --git a/vendor/go.opentelemetry.io/otel/metric/asyncfloat64.go b/vendor/go.opentelemetry.io/otel/metric/asyncfloat64.go
index f8435d8f28..b7fc973a66 100644
--- a/vendor/go.opentelemetry.io/otel/metric/asyncfloat64.go
+++ b/vendor/go.opentelemetry.io/otel/metric/asyncfloat64.go
@@ -106,7 +106,9 @@ type Float64ObservableUpDownCounterConfig struct {
// NewFloat64ObservableUpDownCounterConfig returns a new
// [Float64ObservableUpDownCounterConfig] with all opts applied.
-func NewFloat64ObservableUpDownCounterConfig(opts ...Float64ObservableUpDownCounterOption) Float64ObservableUpDownCounterConfig {
+func NewFloat64ObservableUpDownCounterConfig(
+ opts ...Float64ObservableUpDownCounterOption,
+) Float64ObservableUpDownCounterConfig {
var config Float64ObservableUpDownCounterConfig
for _, o := range opts {
config = o.applyFloat64ObservableUpDownCounter(config)
@@ -239,12 +241,16 @@ type float64CallbackOpt struct {
cback Float64Callback
}
-func (o float64CallbackOpt) applyFloat64ObservableCounter(cfg Float64ObservableCounterConfig) Float64ObservableCounterConfig {
+func (o float64CallbackOpt) applyFloat64ObservableCounter(
+ cfg Float64ObservableCounterConfig,
+) Float64ObservableCounterConfig {
cfg.callbacks = append(cfg.callbacks, o.cback)
return cfg
}
-func (o float64CallbackOpt) applyFloat64ObservableUpDownCounter(cfg Float64ObservableUpDownCounterConfig) Float64ObservableUpDownCounterConfig {
+func (o float64CallbackOpt) applyFloat64ObservableUpDownCounter(
+ cfg Float64ObservableUpDownCounterConfig,
+) Float64ObservableUpDownCounterConfig {
cfg.callbacks = append(cfg.callbacks, o.cback)
return cfg
}
diff --git a/vendor/go.opentelemetry.io/otel/metric/asyncint64.go b/vendor/go.opentelemetry.io/otel/metric/asyncint64.go
index e079aaef16..4404b71a22 100644
--- a/vendor/go.opentelemetry.io/otel/metric/asyncint64.go
+++ b/vendor/go.opentelemetry.io/otel/metric/asyncint64.go
@@ -105,7 +105,9 @@ type Int64ObservableUpDownCounterConfig struct {
// NewInt64ObservableUpDownCounterConfig returns a new
// [Int64ObservableUpDownCounterConfig] with all opts applied.
-func NewInt64ObservableUpDownCounterConfig(opts ...Int64ObservableUpDownCounterOption) Int64ObservableUpDownCounterConfig {
+func NewInt64ObservableUpDownCounterConfig(
+ opts ...Int64ObservableUpDownCounterOption,
+) Int64ObservableUpDownCounterConfig {
var config Int64ObservableUpDownCounterConfig
for _, o := range opts {
config = o.applyInt64ObservableUpDownCounter(config)
@@ -242,7 +244,9 @@ func (o int64CallbackOpt) applyInt64ObservableCounter(cfg Int64ObservableCounter
return cfg
}
-func (o int64CallbackOpt) applyInt64ObservableUpDownCounter(cfg Int64ObservableUpDownCounterConfig) Int64ObservableUpDownCounterConfig {
+func (o int64CallbackOpt) applyInt64ObservableUpDownCounter(
+ cfg Int64ObservableUpDownCounterConfig,
+) Int64ObservableUpDownCounterConfig {
cfg.callbacks = append(cfg.callbacks, o.cback)
return cfg
}
diff --git a/vendor/go.opentelemetry.io/otel/metric/instrument.go b/vendor/go.opentelemetry.io/otel/metric/instrument.go
index a535782e1d..9f48d5f117 100644
--- a/vendor/go.opentelemetry.io/otel/metric/instrument.go
+++ b/vendor/go.opentelemetry.io/otel/metric/instrument.go
@@ -63,7 +63,9 @@ func (o descOpt) applyFloat64ObservableCounter(c Float64ObservableCounterConfig)
return c
}
-func (o descOpt) applyFloat64ObservableUpDownCounter(c Float64ObservableUpDownCounterConfig) Float64ObservableUpDownCounterConfig {
+func (o descOpt) applyFloat64ObservableUpDownCounter(
+ c Float64ObservableUpDownCounterConfig,
+) Float64ObservableUpDownCounterConfig {
c.description = string(o)
return c
}
@@ -98,7 +100,9 @@ func (o descOpt) applyInt64ObservableCounter(c Int64ObservableCounterConfig) Int
return c
}
-func (o descOpt) applyInt64ObservableUpDownCounter(c Int64ObservableUpDownCounterConfig) Int64ObservableUpDownCounterConfig {
+func (o descOpt) applyInt64ObservableUpDownCounter(
+ c Int64ObservableUpDownCounterConfig,
+) Int64ObservableUpDownCounterConfig {
c.description = string(o)
return c
}
@@ -138,7 +142,9 @@ func (o unitOpt) applyFloat64ObservableCounter(c Float64ObservableCounterConfig)
return c
}
-func (o unitOpt) applyFloat64ObservableUpDownCounter(c Float64ObservableUpDownCounterConfig) Float64ObservableUpDownCounterConfig {
+func (o unitOpt) applyFloat64ObservableUpDownCounter(
+ c Float64ObservableUpDownCounterConfig,
+) Float64ObservableUpDownCounterConfig {
c.unit = string(o)
return c
}
@@ -173,7 +179,9 @@ func (o unitOpt) applyInt64ObservableCounter(c Int64ObservableCounterConfig) Int
return c
}
-func (o unitOpt) applyInt64ObservableUpDownCounter(c Int64ObservableUpDownCounterConfig) Int64ObservableUpDownCounterConfig {
+func (o unitOpt) applyInt64ObservableUpDownCounter(
+ c Int64ObservableUpDownCounterConfig,
+) Int64ObservableUpDownCounterConfig {
c.unit = string(o)
return c
}
diff --git a/vendor/go.opentelemetry.io/otel/metric/meter.go b/vendor/go.opentelemetry.io/otel/metric/meter.go
index 14e08c24a4..fdd2a7011c 100644
--- a/vendor/go.opentelemetry.io/otel/metric/meter.go
+++ b/vendor/go.opentelemetry.io/otel/metric/meter.go
@@ -110,7 +110,10 @@ type Meter interface {
// The name needs to conform to the OpenTelemetry instrument name syntax.
// See the Instrument Name section of the package documentation for more
// information.
- Int64ObservableUpDownCounter(name string, options ...Int64ObservableUpDownCounterOption) (Int64ObservableUpDownCounter, error)
+ Int64ObservableUpDownCounter(
+ name string,
+ options ...Int64ObservableUpDownCounterOption,
+ ) (Int64ObservableUpDownCounter, error)
// Int64ObservableGauge returns a new Int64ObservableGauge instrument
// identified by name and configured with options. The instrument is used
@@ -194,7 +197,10 @@ type Meter interface {
// The name needs to conform to the OpenTelemetry instrument name syntax.
// See the Instrument Name section of the package documentation for more
// information.
- Float64ObservableUpDownCounter(name string, options ...Float64ObservableUpDownCounterOption) (Float64ObservableUpDownCounter, error)
+ Float64ObservableUpDownCounter(
+ name string,
+ options ...Float64ObservableUpDownCounterOption,
+ ) (Float64ObservableUpDownCounter, error)
// Float64ObservableGauge returns a new Float64ObservableGauge instrument
// identified by name and configured with options. The instrument is used
diff --git a/vendor/go.opentelemetry.io/otel/metric/noop/noop.go b/vendor/go.opentelemetry.io/otel/metric/noop/noop.go
index ca6fcbdc09..9afb69e583 100644
--- a/vendor/go.opentelemetry.io/otel/metric/noop/noop.go
+++ b/vendor/go.opentelemetry.io/otel/metric/noop/noop.go
@@ -86,13 +86,19 @@ func (Meter) Int64Gauge(string, ...metric.Int64GaugeOption) (metric.Int64Gauge,
// Int64ObservableCounter returns an ObservableCounter used to record int64
// measurements that produces no telemetry.
-func (Meter) Int64ObservableCounter(string, ...metric.Int64ObservableCounterOption) (metric.Int64ObservableCounter, error) {
+func (Meter) Int64ObservableCounter(
+ string,
+ ...metric.Int64ObservableCounterOption,
+) (metric.Int64ObservableCounter, error) {
return Int64ObservableCounter{}, nil
}
// Int64ObservableUpDownCounter returns an ObservableUpDownCounter used to
// record int64 measurements that produces no telemetry.
-func (Meter) Int64ObservableUpDownCounter(string, ...metric.Int64ObservableUpDownCounterOption) (metric.Int64ObservableUpDownCounter, error) {
+func (Meter) Int64ObservableUpDownCounter(
+ string,
+ ...metric.Int64ObservableUpDownCounterOption,
+) (metric.Int64ObservableUpDownCounter, error) {
return Int64ObservableUpDownCounter{}, nil
}
@@ -128,19 +134,28 @@ func (Meter) Float64Gauge(string, ...metric.Float64GaugeOption) (metric.Float64G
// Float64ObservableCounter returns an ObservableCounter used to record int64
// measurements that produces no telemetry.
-func (Meter) Float64ObservableCounter(string, ...metric.Float64ObservableCounterOption) (metric.Float64ObservableCounter, error) {
+func (Meter) Float64ObservableCounter(
+ string,
+ ...metric.Float64ObservableCounterOption,
+) (metric.Float64ObservableCounter, error) {
return Float64ObservableCounter{}, nil
}
// Float64ObservableUpDownCounter returns an ObservableUpDownCounter used to
// record int64 measurements that produces no telemetry.
-func (Meter) Float64ObservableUpDownCounter(string, ...metric.Float64ObservableUpDownCounterOption) (metric.Float64ObservableUpDownCounter, error) {
+func (Meter) Float64ObservableUpDownCounter(
+ string,
+ ...metric.Float64ObservableUpDownCounterOption,
+) (metric.Float64ObservableUpDownCounter, error) {
return Float64ObservableUpDownCounter{}, nil
}
// Float64ObservableGauge returns an ObservableGauge used to record int64
// measurements that produces no telemetry.
-func (Meter) Float64ObservableGauge(string, ...metric.Float64ObservableGaugeOption) (metric.Float64ObservableGauge, error) {
+func (Meter) Float64ObservableGauge(
+ string,
+ ...metric.Float64ObservableGaugeOption,
+) (metric.Float64ObservableGauge, error) {
return Float64ObservableGauge{}, nil
}
diff --git a/vendor/go.opentelemetry.io/otel/propagation/baggage.go b/vendor/go.opentelemetry.io/otel/propagation/baggage.go
index 552263ba73..ebda5026d6 100644
--- a/vendor/go.opentelemetry.io/otel/propagation/baggage.go
+++ b/vendor/go.opentelemetry.io/otel/propagation/baggage.go
@@ -28,7 +28,21 @@ func (b Baggage) Inject(ctx context.Context, carrier TextMapCarrier) {
}
// Extract returns a copy of parent with the baggage from the carrier added.
+// If carrier implements [ValuesGetter] (e.g. [HeaderCarrier]), Values is invoked
+// for multiple values extraction. Otherwise, Get is called.
func (b Baggage) Extract(parent context.Context, carrier TextMapCarrier) context.Context {
+ if multiCarrier, ok := carrier.(ValuesGetter); ok {
+ return extractMultiBaggage(parent, multiCarrier)
+ }
+ return extractSingleBaggage(parent, carrier)
+}
+
+// Fields returns the keys who's values are set with Inject.
+func (b Baggage) Fields() []string {
+ return []string{baggageHeader}
+}
+
+func extractSingleBaggage(parent context.Context, carrier TextMapCarrier) context.Context {
bStr := carrier.Get(baggageHeader)
if bStr == "" {
return parent
@@ -41,7 +55,23 @@ func (b Baggage) Extract(parent context.Context, carrier TextMapCarrier) context
return baggage.ContextWithBaggage(parent, bag)
}
-// Fields returns the keys who's values are set with Inject.
-func (b Baggage) Fields() []string {
- return []string{baggageHeader}
+func extractMultiBaggage(parent context.Context, carrier ValuesGetter) context.Context {
+ bVals := carrier.Values(baggageHeader)
+ if len(bVals) == 0 {
+ return parent
+ }
+ var members []baggage.Member
+ for _, bStr := range bVals {
+ currBag, err := baggage.Parse(bStr)
+ if err != nil {
+ continue
+ }
+ members = append(members, currBag.Members()...)
+ }
+
+ b, err := baggage.New(members...)
+ if err != nil || b.Len() == 0 {
+ return parent
+ }
+ return baggage.ContextWithBaggage(parent, b)
}
diff --git a/vendor/go.opentelemetry.io/otel/propagation/propagation.go b/vendor/go.opentelemetry.io/otel/propagation/propagation.go
index 8c8286aab4..5c8c26ea2e 100644
--- a/vendor/go.opentelemetry.io/otel/propagation/propagation.go
+++ b/vendor/go.opentelemetry.io/otel/propagation/propagation.go
@@ -9,6 +9,7 @@ import (
)
// TextMapCarrier is the storage medium used by a TextMapPropagator.
+// See ValuesGetter for how a TextMapCarrier can get multiple values for a key.
type TextMapCarrier interface {
// DO NOT CHANGE: any modification will not be backwards compatible and
// must never be done outside of a new major release.
@@ -29,6 +30,18 @@ type TextMapCarrier interface {
// must never be done outside of a new major release.
}
+// ValuesGetter can return multiple values for a single key,
+// with contrast to TextMapCarrier.Get which returns a single value.
+type ValuesGetter interface {
+ // DO NOT CHANGE: any modification will not be backwards compatible and
+ // must never be done outside of a new major release.
+
+ // Values returns all values associated with the passed key.
+ Values(key string) []string
+ // DO NOT CHANGE: any modification will not be backwards compatible and
+ // must never be done outside of a new major release.
+}
+
// MapCarrier is a TextMapCarrier that uses a map held in memory as a storage
// medium for propagated key-value pairs.
type MapCarrier map[string]string
@@ -55,14 +68,25 @@ func (c MapCarrier) Keys() []string {
return keys
}
-// HeaderCarrier adapts http.Header to satisfy the TextMapCarrier interface.
+// HeaderCarrier adapts http.Header to satisfy the TextMapCarrier and ValuesGetter interfaces.
type HeaderCarrier http.Header
-// Get returns the value associated with the passed key.
+// Compile time check that HeaderCarrier implements ValuesGetter.
+var _ TextMapCarrier = HeaderCarrier{}
+
+// Compile time check that HeaderCarrier implements TextMapCarrier.
+var _ ValuesGetter = HeaderCarrier{}
+
+// Get returns the first value associated with the passed key.
func (hc HeaderCarrier) Get(key string) string {
return http.Header(hc).Get(key)
}
+// Values returns all values associated with the passed key.
+func (hc HeaderCarrier) Values(key string) []string {
+ return http.Header(hc).Values(key)
+}
+
// Set stores the key-value pair.
func (hc HeaderCarrier) Set(key string, value string) {
http.Header(hc).Set(key, value)
@@ -89,6 +113,8 @@ type TextMapPropagator interface {
// must never be done outside of a new major release.
// Extract reads cross-cutting concerns from the carrier into a Context.
+ // Implementations may check if the carrier implements ValuesGetter,
+ // to support extraction of multiple values per key.
Extract(ctx context.Context, carrier TextMapCarrier) context.Context
// DO NOT CHANGE: any modification will not be backwards compatible and
// must never be done outside of a new major release.
diff --git a/vendor/go.opentelemetry.io/otel/renovate.json b/vendor/go.opentelemetry.io/otel/renovate.json
index 4f80c898a1..fa5acf2d3b 100644
--- a/vendor/go.opentelemetry.io/otel/renovate.json
+++ b/vendor/go.opentelemetry.io/otel/renovate.json
@@ -1,7 +1,8 @@
{
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
"extends": [
- "config:recommended"
+ "config:best-practices",
+ "helpers:pinGitHubActionDigestsToSemver"
],
"ignorePaths": [],
"labels": ["Skip Changelog", "dependencies"],
@@ -14,6 +15,10 @@
"matchDepTypes": ["indirect"],
"enabled": true
},
+ {
+ "matchPackageNames": ["go.opentelemetry.io/build-tools/**"],
+ "groupName": "build-tools"
+ },
{
"matchPackageNames": ["google.golang.org/genproto/googleapis/**"],
"groupName": "googleapis"
@@ -21,6 +26,10 @@
{
"matchPackageNames": ["golang.org/x/**"],
"groupName": "golang.org/x"
+ },
+ {
+ "matchPackageNames": ["go.opentelemetry.io/otel/sdk/log/logtest"],
+ "enabled": false
}
]
}
diff --git a/vendor/go.opentelemetry.io/otel/requirements.txt b/vendor/go.opentelemetry.io/otel/requirements.txt
index ab09daf9d5..1bb55fb1cc 100644
--- a/vendor/go.opentelemetry.io/otel/requirements.txt
+++ b/vendor/go.opentelemetry.io/otel/requirements.txt
@@ -1 +1 @@
-codespell==2.3.0
+codespell==2.4.1
diff --git a/vendor/go.opentelemetry.io/otel/sdk/internal/env/env.go b/vendor/go.opentelemetry.io/otel/sdk/internal/env/env.go
index 07923ed8d9..e3309231d4 100644
--- a/vendor/go.opentelemetry.io/otel/sdk/internal/env/env.go
+++ b/vendor/go.opentelemetry.io/otel/sdk/internal/env/env.go
@@ -1,6 +1,8 @@
// Copyright The OpenTelemetry Authors
// SPDX-License-Identifier: Apache-2.0
+// Package env provides types and functionality for environment variable support
+// in the OpenTelemetry SDK.
package env // import "go.opentelemetry.io/otel/sdk/internal/env"
import (
diff --git a/vendor/go.opentelemetry.io/otel/sdk/resource/builtin.go b/vendor/go.opentelemetry.io/otel/sdk/resource/builtin.go
index cf3c88e15c..cefe4ab914 100644
--- a/vendor/go.opentelemetry.io/otel/sdk/resource/builtin.go
+++ b/vendor/go.opentelemetry.io/otel/sdk/resource/builtin.go
@@ -13,7 +13,7 @@ import (
"go.opentelemetry.io/otel/attribute"
"go.opentelemetry.io/otel/sdk"
- semconv "go.opentelemetry.io/otel/semconv/v1.26.0"
+ semconv "go.opentelemetry.io/otel/semconv/v1.34.0"
)
type (
diff --git a/vendor/go.opentelemetry.io/otel/sdk/resource/container.go b/vendor/go.opentelemetry.io/otel/sdk/resource/container.go
index 5ecd859a52..0d8619715e 100644
--- a/vendor/go.opentelemetry.io/otel/sdk/resource/container.go
+++ b/vendor/go.opentelemetry.io/otel/sdk/resource/container.go
@@ -11,7 +11,7 @@ import (
"os"
"regexp"
- semconv "go.opentelemetry.io/otel/semconv/v1.26.0"
+ semconv "go.opentelemetry.io/otel/semconv/v1.34.0"
)
type containerIDProvider func() (string, error)
diff --git a/vendor/go.opentelemetry.io/otel/sdk/resource/env.go b/vendor/go.opentelemetry.io/otel/sdk/resource/env.go
index 813f056242..16a062ad8c 100644
--- a/vendor/go.opentelemetry.io/otel/sdk/resource/env.go
+++ b/vendor/go.opentelemetry.io/otel/sdk/resource/env.go
@@ -12,7 +12,7 @@ import (
"go.opentelemetry.io/otel"
"go.opentelemetry.io/otel/attribute"
- semconv "go.opentelemetry.io/otel/semconv/v1.26.0"
+ semconv "go.opentelemetry.io/otel/semconv/v1.34.0"
)
const (
diff --git a/vendor/go.opentelemetry.io/otel/sdk/resource/host_id.go b/vendor/go.opentelemetry.io/otel/sdk/resource/host_id.go
index 2d0f65498a..7819039238 100644
--- a/vendor/go.opentelemetry.io/otel/sdk/resource/host_id.go
+++ b/vendor/go.opentelemetry.io/otel/sdk/resource/host_id.go
@@ -8,7 +8,7 @@ import (
"errors"
"strings"
- semconv "go.opentelemetry.io/otel/semconv/v1.26.0"
+ semconv "go.opentelemetry.io/otel/semconv/v1.34.0"
)
type hostIDProvider func() (string, error)
diff --git a/vendor/go.opentelemetry.io/otel/sdk/resource/os.go b/vendor/go.opentelemetry.io/otel/sdk/resource/os.go
index 8a48ab4fa3..01b4d27a03 100644
--- a/vendor/go.opentelemetry.io/otel/sdk/resource/os.go
+++ b/vendor/go.opentelemetry.io/otel/sdk/resource/os.go
@@ -8,7 +8,7 @@ import (
"strings"
"go.opentelemetry.io/otel/attribute"
- semconv "go.opentelemetry.io/otel/semconv/v1.26.0"
+ semconv "go.opentelemetry.io/otel/semconv/v1.34.0"
)
type osDescriptionProvider func() (string, error)
diff --git a/vendor/go.opentelemetry.io/otel/sdk/resource/os_release_darwin.go b/vendor/go.opentelemetry.io/otel/sdk/resource/os_release_darwin.go
index ce455dc544..3d703c5d98 100644
--- a/vendor/go.opentelemetry.io/otel/sdk/resource/os_release_darwin.go
+++ b/vendor/go.opentelemetry.io/otel/sdk/resource/os_release_darwin.go
@@ -5,6 +5,7 @@ package resource // import "go.opentelemetry.io/otel/sdk/resource"
import (
"encoding/xml"
+ "errors"
"fmt"
"io"
"os"
@@ -63,7 +64,7 @@ func parsePlistFile(file io.Reader) (map[string]string, error) {
}
if len(v.Dict.Key) != len(v.Dict.String) {
- return nil, fmt.Errorf("the number of and elements doesn't match")
+ return nil, errors.New("the number of and elements doesn't match")
}
properties := make(map[string]string, len(v.Dict.Key))
diff --git a/vendor/go.opentelemetry.io/otel/sdk/resource/process.go b/vendor/go.opentelemetry.io/otel/sdk/resource/process.go
index 085fe68fd7..6712ce80d5 100644
--- a/vendor/go.opentelemetry.io/otel/sdk/resource/process.go
+++ b/vendor/go.opentelemetry.io/otel/sdk/resource/process.go
@@ -11,7 +11,7 @@ import (
"path/filepath"
"runtime"
- semconv "go.opentelemetry.io/otel/semconv/v1.26.0"
+ semconv "go.opentelemetry.io/otel/semconv/v1.34.0"
)
type (
diff --git a/vendor/go.opentelemetry.io/otel/sdk/resource/resource.go b/vendor/go.opentelemetry.io/otel/sdk/resource/resource.go
index ad4b50df40..09b91e1e1b 100644
--- a/vendor/go.opentelemetry.io/otel/sdk/resource/resource.go
+++ b/vendor/go.opentelemetry.io/otel/sdk/resource/resource.go
@@ -21,11 +21,22 @@ import (
// Resources should be passed and stored as pointers
// (`*resource.Resource`). The `nil` value is equivalent to an empty
// Resource.
+//
+// Note that the Go == operator compares not just the resource attributes but
+// also all other internals of the Resource type. Therefore, Resource values
+// should not be used as map or database keys. In general, the [Resource.Equal]
+// method should be used instead of direct comparison with ==, since that
+// method ensures the correct comparison of resource attributes, and the
+// [attribute.Distinct] returned from [Resource.Equivalent] should be used for
+// map and database keys instead.
type Resource struct {
attrs attribute.Set
schemaURL string
}
+// Compile-time check that the Resource remains comparable.
+var _ map[Resource]struct{} = nil
+
var (
defaultResource *Resource
defaultResourceOnce sync.Once
@@ -137,15 +148,19 @@ func (r *Resource) Iter() attribute.Iterator {
return r.attrs.Iter()
}
-// Equal returns true when a Resource is equivalent to this Resource.
-func (r *Resource) Equal(eq *Resource) bool {
+// Equal returns whether r and o represent the same resource. Two resources can
+// be equal even if they have different schema URLs.
+//
+// See the documentation on the [Resource] type for the pitfalls of using ==
+// with Resource values; most code should use Equal instead.
+func (r *Resource) Equal(o *Resource) bool {
if r == nil {
r = Empty()
}
- if eq == nil {
- eq = Empty()
+ if o == nil {
+ o = Empty()
}
- return r.Equivalent() == eq.Equivalent()
+ return r.Equivalent() == o.Equivalent()
}
// Merge creates a new [Resource] by merging a and b.
diff --git a/vendor/go.opentelemetry.io/otel/sdk/trace/batch_span_processor.go b/vendor/go.opentelemetry.io/otel/sdk/trace/batch_span_processor.go
index ccc97e1b66..6966ed861e 100644
--- a/vendor/go.opentelemetry.io/otel/sdk/trace/batch_span_processor.go
+++ b/vendor/go.opentelemetry.io/otel/sdk/trace/batch_span_processor.go
@@ -5,6 +5,7 @@ package trace // import "go.opentelemetry.io/otel/sdk/trace"
import (
"context"
+ "errors"
"sync"
"sync/atomic"
"time"
@@ -201,10 +202,9 @@ func (bsp *batchSpanProcessor) ForceFlush(ctx context.Context) error {
}
}
- wait := make(chan error)
+ wait := make(chan error, 1)
go func() {
wait <- bsp.exportSpans(ctx)
- close(wait)
}()
// Wait until the export is finished or the context is cancelled/timed out
select {
@@ -268,7 +268,7 @@ func (bsp *batchSpanProcessor) exportSpans(ctx context.Context) error {
if bsp.o.ExportTimeout > 0 {
var cancel context.CancelFunc
- ctx, cancel = context.WithTimeout(ctx, bsp.o.ExportTimeout)
+ ctx, cancel = context.WithTimeoutCause(ctx, bsp.o.ExportTimeout, errors.New("processor export timeout"))
defer cancel()
}
diff --git a/vendor/go.opentelemetry.io/otel/sdk/trace/id_generator.go b/vendor/go.opentelemetry.io/otel/sdk/trace/id_generator.go
index 925bcf9930..c8d3fb7e3c 100644
--- a/vendor/go.opentelemetry.io/otel/sdk/trace/id_generator.go
+++ b/vendor/go.opentelemetry.io/otel/sdk/trace/id_generator.go
@@ -5,10 +5,8 @@ package trace // import "go.opentelemetry.io/otel/sdk/trace"
import (
"context"
- crand "crypto/rand"
"encoding/binary"
- "math/rand"
- "sync"
+ "math/rand/v2"
"go.opentelemetry.io/otel/trace"
)
@@ -29,20 +27,15 @@ type IDGenerator interface {
// must never be done outside of a new major release.
}
-type randomIDGenerator struct {
- sync.Mutex
- randSource *rand.Rand
-}
+type randomIDGenerator struct{}
var _ IDGenerator = &randomIDGenerator{}
// NewSpanID returns a non-zero span ID from a randomly-chosen sequence.
func (gen *randomIDGenerator) NewSpanID(ctx context.Context, traceID trace.TraceID) trace.SpanID {
- gen.Lock()
- defer gen.Unlock()
sid := trace.SpanID{}
for {
- _, _ = gen.randSource.Read(sid[:])
+ binary.NativeEndian.PutUint64(sid[:], rand.Uint64())
if sid.IsValid() {
break
}
@@ -53,18 +46,17 @@ func (gen *randomIDGenerator) NewSpanID(ctx context.Context, traceID trace.Trace
// NewIDs returns a non-zero trace ID and a non-zero span ID from a
// randomly-chosen sequence.
func (gen *randomIDGenerator) NewIDs(ctx context.Context) (trace.TraceID, trace.SpanID) {
- gen.Lock()
- defer gen.Unlock()
tid := trace.TraceID{}
sid := trace.SpanID{}
for {
- _, _ = gen.randSource.Read(tid[:])
+ binary.NativeEndian.PutUint64(tid[:8], rand.Uint64())
+ binary.NativeEndian.PutUint64(tid[8:], rand.Uint64())
if tid.IsValid() {
break
}
}
for {
- _, _ = gen.randSource.Read(sid[:])
+ binary.NativeEndian.PutUint64(sid[:], rand.Uint64())
if sid.IsValid() {
break
}
@@ -73,9 +65,5 @@ func (gen *randomIDGenerator) NewIDs(ctx context.Context) (trace.TraceID, trace.
}
func defaultIDGenerator() IDGenerator {
- gen := &randomIDGenerator{}
- var rngSeed int64
- _ = binary.Read(crand.Reader, binary.LittleEndian, &rngSeed)
- gen.randSource = rand.New(rand.NewSource(rngSeed))
- return gen
+ return &randomIDGenerator{}
}
diff --git a/vendor/go.opentelemetry.io/otel/sdk/trace/provider.go b/vendor/go.opentelemetry.io/otel/sdk/trace/provider.go
index 185aa7c08f..0e2a2e7c60 100644
--- a/vendor/go.opentelemetry.io/otel/sdk/trace/provider.go
+++ b/vendor/go.opentelemetry.io/otel/sdk/trace/provider.go
@@ -169,7 +169,17 @@ func (p *TracerProvider) Tracer(name string, opts ...trace.TracerOption) trace.T
// slowing down all tracing consumers.
// - Logging code may be instrumented with tracing and deadlock because it could try
// acquiring the same non-reentrant mutex.
- global.Info("Tracer created", "name", name, "version", is.Version, "schemaURL", is.SchemaURL, "attributes", is.Attributes)
+ global.Info(
+ "Tracer created",
+ "name",
+ name,
+ "version",
+ is.Version,
+ "schemaURL",
+ is.SchemaURL,
+ "attributes",
+ is.Attributes,
+ )
}
return t
}
diff --git a/vendor/go.opentelemetry.io/otel/sdk/trace/sampling.go b/vendor/go.opentelemetry.io/otel/sdk/trace/sampling.go
index ebb6df6c90..aa7b262d0d 100644
--- a/vendor/go.opentelemetry.io/otel/sdk/trace/sampling.go
+++ b/vendor/go.opentelemetry.io/otel/sdk/trace/sampling.go
@@ -47,12 +47,12 @@ const (
// Drop will not record the span and all attributes/events will be dropped.
Drop SamplingDecision = iota
- // Record indicates the span's `IsRecording() == true`, but `Sampled` flag
- // *must not* be set.
+ // RecordOnly indicates the span's IsRecording method returns true, but trace.FlagsSampled flag
+ // must not be set.
RecordOnly
- // RecordAndSample has span's `IsRecording() == true` and `Sampled` flag
- // *must* be set.
+ // RecordAndSample indicates the span's IsRecording method returns true and trace.FlagsSampled flag
+ // must be set.
RecordAndSample
)
diff --git a/vendor/go.opentelemetry.io/otel/sdk/trace/simple_span_processor.go b/vendor/go.opentelemetry.io/otel/sdk/trace/simple_span_processor.go
index 554111bb4a..664e13e03f 100644
--- a/vendor/go.opentelemetry.io/otel/sdk/trace/simple_span_processor.go
+++ b/vendor/go.opentelemetry.io/otel/sdk/trace/simple_span_processor.go
@@ -58,7 +58,7 @@ func (ssp *simpleSpanProcessor) Shutdown(ctx context.Context) error {
var err error
ssp.stopOnce.Do(func() {
stopFunc := func(exp SpanExporter) (<-chan error, func()) {
- done := make(chan error)
+ done := make(chan error, 1)
return done, func() { done <- exp.Shutdown(ctx) }
}
diff --git a/vendor/go.opentelemetry.io/otel/sdk/trace/span.go b/vendor/go.opentelemetry.io/otel/sdk/trace/span.go
index 8f4fc38508..1785a4bbb0 100644
--- a/vendor/go.opentelemetry.io/otel/sdk/trace/span.go
+++ b/vendor/go.opentelemetry.io/otel/sdk/trace/span.go
@@ -20,7 +20,7 @@ import (
"go.opentelemetry.io/otel/internal/global"
"go.opentelemetry.io/otel/sdk/instrumentation"
"go.opentelemetry.io/otel/sdk/resource"
- semconv "go.opentelemetry.io/otel/semconv/v1.26.0"
+ semconv "go.opentelemetry.io/otel/semconv/v1.34.0"
"go.opentelemetry.io/otel/trace"
"go.opentelemetry.io/otel/trace/embedded"
)
diff --git a/vendor/go.opentelemetry.io/otel/sdk/trace/tracer.go b/vendor/go.opentelemetry.io/otel/sdk/trace/tracer.go
index 43419d3b54..0b65ae9ab7 100644
--- a/vendor/go.opentelemetry.io/otel/sdk/trace/tracer.go
+++ b/vendor/go.opentelemetry.io/otel/sdk/trace/tracer.go
@@ -26,7 +26,11 @@ var _ trace.Tracer = &tracer{}
// The Span is created with the provided name and as a child of any existing
// span context found in the passed context. The created Span will be
// configured appropriately by any SpanOption passed.
-func (tr *tracer) Start(ctx context.Context, name string, options ...trace.SpanStartOption) (context.Context, trace.Span) {
+func (tr *tracer) Start(
+ ctx context.Context,
+ name string,
+ options ...trace.SpanStartOption,
+) (context.Context, trace.Span) {
config := trace.NewSpanStartConfig(options...)
if ctx == nil {
@@ -112,7 +116,12 @@ func (tr *tracer) newSpan(ctx context.Context, name string, config *trace.SpanCo
}
// newRecordingSpan returns a new configured recordingSpan.
-func (tr *tracer) newRecordingSpan(psc, sc trace.SpanContext, name string, sr SamplingResult, config *trace.SpanConfig) *recordingSpan {
+func (tr *tracer) newRecordingSpan(
+ psc, sc trace.SpanContext,
+ name string,
+ sr SamplingResult,
+ config *trace.SpanConfig,
+) *recordingSpan {
startTime := config.Timestamp()
if startTime.IsZero() {
startTime = time.Now()
diff --git a/vendor/go.opentelemetry.io/otel/sdk/version.go b/vendor/go.opentelemetry.io/otel/sdk/version.go
index 6b40385107..c0217af6b9 100644
--- a/vendor/go.opentelemetry.io/otel/sdk/version.go
+++ b/vendor/go.opentelemetry.io/otel/sdk/version.go
@@ -1,9 +1,10 @@
// Copyright The OpenTelemetry Authors
// SPDX-License-Identifier: Apache-2.0
+// Package sdk provides the OpenTelemetry default SDK for Go.
package sdk // import "go.opentelemetry.io/otel/sdk"
// Version is the current release version of the OpenTelemetry SDK in use.
func Version() string {
- return "1.34.0"
+ return "1.37.0"
}
diff --git a/vendor/go.opentelemetry.io/otel/semconv/v1.34.0/MIGRATION.md b/vendor/go.opentelemetry.io/otel/semconv/v1.34.0/MIGRATION.md
new file mode 100644
index 0000000000..02b56115e3
--- /dev/null
+++ b/vendor/go.opentelemetry.io/otel/semconv/v1.34.0/MIGRATION.md
@@ -0,0 +1,4 @@
+
+# Migration from v1.33.0 to v1.34.0
+
+The `go.opentelemetry.io/otel/semconv/v1.34.0` package should be a drop-in replacement for `go.opentelemetry.io/otel/semconv/v1.33.0`.
diff --git a/vendor/go.opentelemetry.io/otel/semconv/v1.34.0/README.md b/vendor/go.opentelemetry.io/otel/semconv/v1.34.0/README.md
new file mode 100644
index 0000000000..fab06c9752
--- /dev/null
+++ b/vendor/go.opentelemetry.io/otel/semconv/v1.34.0/README.md
@@ -0,0 +1,3 @@
+# Semconv v1.34.0
+
+[](https://pkg.go.dev/go.opentelemetry.io/otel/semconv/v1.34.0)
diff --git a/vendor/go.opentelemetry.io/otel/semconv/v1.34.0/attribute_group.go b/vendor/go.opentelemetry.io/otel/semconv/v1.34.0/attribute_group.go
new file mode 100644
index 0000000000..5b56662573
--- /dev/null
+++ b/vendor/go.opentelemetry.io/otel/semconv/v1.34.0/attribute_group.go
@@ -0,0 +1,13851 @@
+// Copyright The OpenTelemetry Authors
+// SPDX-License-Identifier: Apache-2.0
+
+// Code generated from semantic convention specification. DO NOT EDIT.
+
+package semconv // import "go.opentelemetry.io/otel/semconv/v1.34.0"
+
+import "go.opentelemetry.io/otel/attribute"
+
+// Namespace: android
+const (
+ // AndroidAppStateKey is the attribute Key conforming to the "android.app.state"
+ // semantic conventions. It represents the this attribute represents the state
+ // of the application.
+ //
+ // Type: Enum
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "created"
+ // Note: The Android lifecycle states are defined in
+ // [Activity lifecycle callbacks], and from which the `OS identifiers` are
+ // derived.
+ //
+ // [Activity lifecycle callbacks]: https://developer.android.com/guide/components/activities/activity-lifecycle#lc
+ AndroidAppStateKey = attribute.Key("android.app.state")
+
+ // AndroidOSAPILevelKey is the attribute Key conforming to the
+ // "android.os.api_level" semantic conventions. It represents the uniquely
+ // identifies the framework API revision offered by a version (`os.version`) of
+ // the android operating system. More information can be found [here].
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "33", "32"
+ //
+ // [here]: https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels
+ AndroidOSAPILevelKey = attribute.Key("android.os.api_level")
+)
+
+// AndroidOSAPILevel returns an attribute KeyValue conforming to the
+// "android.os.api_level" semantic conventions. It represents the uniquely
+// identifies the framework API revision offered by a version (`os.version`) of
+// the android operating system. More information can be found [here].
+//
+// [here]: https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels
+func AndroidOSAPILevel(val string) attribute.KeyValue {
+ return AndroidOSAPILevelKey.String(val)
+}
+
+// Enum values for android.app.state
+var (
+ // Any time before Activity.onResume() or, if the app has no Activity,
+ // Context.startService() has been called in the app for the first time.
+ //
+ // Stability: development
+ AndroidAppStateCreated = AndroidAppStateKey.String("created")
+ // Any time after Activity.onPause() or, if the app has no Activity,
+ // Context.stopService() has been called when the app was in the foreground
+ // state.
+ //
+ // Stability: development
+ AndroidAppStateBackground = AndroidAppStateKey.String("background")
+ // Any time after Activity.onResume() or, if the app has no Activity,
+ // Context.startService() has been called when the app was in either the created
+ // or background states.
+ //
+ // Stability: development
+ AndroidAppStateForeground = AndroidAppStateKey.String("foreground")
+)
+
+// Namespace: app
+const (
+ // AppInstallationIDKey is the attribute Key conforming to the
+ // "app.installation.id" semantic conventions. It represents a unique identifier
+ // representing the installation of an application on a specific device.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "2ab2916d-a51f-4ac8-80ee-45ac31a28092"
+ // Note: Its value SHOULD persist across launches of the same application
+ // installation, including through application upgrades.
+ // It SHOULD change if the application is uninstalled or if all applications of
+ // the vendor are uninstalled.
+ // Additionally, users might be able to reset this value (e.g. by clearing
+ // application data).
+ // If an app is installed multiple times on the same device (e.g. in different
+ // accounts on Android), each `app.installation.id` SHOULD have a different
+ // value.
+ // If multiple OpenTelemetry SDKs are used within the same application, they
+ // SHOULD use the same value for `app.installation.id`.
+ // Hardware IDs (e.g. serial number, IMEI, MAC address) MUST NOT be used as the
+ // `app.installation.id`.
+ //
+ // For iOS, this value SHOULD be equal to the [vendor identifier].
+ //
+ // For Android, examples of `app.installation.id` implementations include:
+ //
+ // - [Firebase Installation ID].
+ // - A globally unique UUID which is persisted across sessions in your
+ // application.
+ // - [App set ID].
+ // - [`Settings.getString(Settings.Secure.ANDROID_ID)`].
+ //
+ // More information about Android identifier best practices can be found [here]
+ // .
+ //
+ // [vendor identifier]: https://developer.apple.com/documentation/uikit/uidevice/identifierforvendor
+ // [Firebase Installation ID]: https://firebase.google.com/docs/projects/manage-installations
+ // [App set ID]: https://developer.android.com/identity/app-set-id
+ // [`Settings.getString(Settings.Secure.ANDROID_ID)`]: https://developer.android.com/reference/android/provider/Settings.Secure#ANDROID_ID
+ // [here]: https://developer.android.com/training/articles/user-data-ids
+ AppInstallationIDKey = attribute.Key("app.installation.id")
+
+ // AppScreenCoordinateXKey is the attribute Key conforming to the
+ // "app.screen.coordinate.x" semantic conventions. It represents the x
+ // (horizontal) coordinate of a screen coordinate, in screen pixels.
+ //
+ // Type: int
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: 0, 131
+ AppScreenCoordinateXKey = attribute.Key("app.screen.coordinate.x")
+
+ // AppScreenCoordinateYKey is the attribute Key conforming to the
+ // "app.screen.coordinate.y" semantic conventions. It represents the y
+ // (vertical) component of a screen coordinate, in screen pixels.
+ //
+ // Type: int
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: 12, 99
+ AppScreenCoordinateYKey = attribute.Key("app.screen.coordinate.y")
+
+ // AppWidgetIDKey is the attribute Key conforming to the "app.widget.id"
+ // semantic conventions. It represents an identifier that uniquely
+ // differentiates this widget from other widgets in the same application.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "f9bc787d-ff05-48ad-90e1-fca1d46130b3", "submit_order_1829"
+ // Note: A widget is an application component, typically an on-screen visual GUI
+ // element.
+ AppWidgetIDKey = attribute.Key("app.widget.id")
+
+ // AppWidgetNameKey is the attribute Key conforming to the "app.widget.name"
+ // semantic conventions. It represents the name of an application widget.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "submit", "attack", "Clear Cart"
+ // Note: A widget is an application component, typically an on-screen visual GUI
+ // element.
+ AppWidgetNameKey = attribute.Key("app.widget.name")
+)
+
+// AppInstallationID returns an attribute KeyValue conforming to the
+// "app.installation.id" semantic conventions. It represents a unique identifier
+// representing the installation of an application on a specific device.
+func AppInstallationID(val string) attribute.KeyValue {
+ return AppInstallationIDKey.String(val)
+}
+
+// AppScreenCoordinateX returns an attribute KeyValue conforming to the
+// "app.screen.coordinate.x" semantic conventions. It represents the x
+// (horizontal) coordinate of a screen coordinate, in screen pixels.
+func AppScreenCoordinateX(val int) attribute.KeyValue {
+ return AppScreenCoordinateXKey.Int(val)
+}
+
+// AppScreenCoordinateY returns an attribute KeyValue conforming to the
+// "app.screen.coordinate.y" semantic conventions. It represents the y (vertical)
+// component of a screen coordinate, in screen pixels.
+func AppScreenCoordinateY(val int) attribute.KeyValue {
+ return AppScreenCoordinateYKey.Int(val)
+}
+
+// AppWidgetID returns an attribute KeyValue conforming to the "app.widget.id"
+// semantic conventions. It represents an identifier that uniquely differentiates
+// this widget from other widgets in the same application.
+func AppWidgetID(val string) attribute.KeyValue {
+ return AppWidgetIDKey.String(val)
+}
+
+// AppWidgetName returns an attribute KeyValue conforming to the
+// "app.widget.name" semantic conventions. It represents the name of an
+// application widget.
+func AppWidgetName(val string) attribute.KeyValue {
+ return AppWidgetNameKey.String(val)
+}
+
+// Namespace: artifact
+const (
+ // ArtifactAttestationFilenameKey is the attribute Key conforming to the
+ // "artifact.attestation.filename" semantic conventions. It represents the
+ // provenance filename of the built attestation which directly relates to the
+ // build artifact filename. This filename SHOULD accompany the artifact at
+ // publish time. See the [SLSA Relationship] specification for more information.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "golang-binary-amd64-v0.1.0.attestation",
+ // "docker-image-amd64-v0.1.0.intoto.json1", "release-1.tar.gz.attestation",
+ // "file-name-package.tar.gz.intoto.json1"
+ //
+ // [SLSA Relationship]: https://slsa.dev/spec/v1.0/distributing-provenance#relationship-between-artifacts-and-attestations
+ ArtifactAttestationFilenameKey = attribute.Key("artifact.attestation.filename")
+
+ // ArtifactAttestationHashKey is the attribute Key conforming to the
+ // "artifact.attestation.hash" semantic conventions. It represents the full
+ // [hash value (see glossary)], of the built attestation. Some envelopes in the
+ // [software attestation space] also refer to this as the **digest**.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "1b31dfcd5b7f9267bf2ff47651df1cfb9147b9e4df1f335accf65b4cda498408"
+ //
+ // [hash value (see glossary)]: https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.186-5.pdf
+ // [software attestation space]: https://github.com/in-toto/attestation/tree/main/spec
+ ArtifactAttestationHashKey = attribute.Key("artifact.attestation.hash")
+
+ // ArtifactAttestationIDKey is the attribute Key conforming to the
+ // "artifact.attestation.id" semantic conventions. It represents the id of the
+ // build [software attestation].
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "123"
+ //
+ // [software attestation]: https://slsa.dev/attestation-model
+ ArtifactAttestationIDKey = attribute.Key("artifact.attestation.id")
+
+ // ArtifactFilenameKey is the attribute Key conforming to the
+ // "artifact.filename" semantic conventions. It represents the human readable
+ // file name of the artifact, typically generated during build and release
+ // processes. Often includes the package name and version in the file name.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "golang-binary-amd64-v0.1.0", "docker-image-amd64-v0.1.0",
+ // "release-1.tar.gz", "file-name-package.tar.gz"
+ // Note: This file name can also act as the [Package Name]
+ // in cases where the package ecosystem maps accordingly.
+ // Additionally, the artifact [can be published]
+ // for others, but that is not a guarantee.
+ //
+ // [Package Name]: https://slsa.dev/spec/v1.0/terminology#package-model
+ // [can be published]: https://slsa.dev/spec/v1.0/terminology#software-supply-chain
+ ArtifactFilenameKey = attribute.Key("artifact.filename")
+
+ // ArtifactHashKey is the attribute Key conforming to the "artifact.hash"
+ // semantic conventions. It represents the full [hash value (see glossary)],
+ // often found in checksum.txt on a release of the artifact and used to verify
+ // package integrity.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "9ff4c52759e2c4ac70b7d517bc7fcdc1cda631ca0045271ddd1b192544f8a3e9"
+ // Note: The specific algorithm used to create the cryptographic hash value is
+ // not defined. In situations where an artifact has multiple
+ // cryptographic hashes, it is up to the implementer to choose which
+ // hash value to set here; this should be the most secure hash algorithm
+ // that is suitable for the situation and consistent with the
+ // corresponding attestation. The implementer can then provide the other
+ // hash values through an additional set of attribute extensions as they
+ // deem necessary.
+ //
+ // [hash value (see glossary)]: https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.186-5.pdf
+ ArtifactHashKey = attribute.Key("artifact.hash")
+
+ // ArtifactPurlKey is the attribute Key conforming to the "artifact.purl"
+ // semantic conventions. It represents the [Package URL] of the
+ // [package artifact] provides a standard way to identify and locate the
+ // packaged artifact.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "pkg:github/package-url/purl-spec@1209109710924",
+ // "pkg:npm/foo@12.12.3"
+ //
+ // [Package URL]: https://github.com/package-url/purl-spec
+ // [package artifact]: https://slsa.dev/spec/v1.0/terminology#package-model
+ ArtifactPurlKey = attribute.Key("artifact.purl")
+
+ // ArtifactVersionKey is the attribute Key conforming to the "artifact.version"
+ // semantic conventions. It represents the version of the artifact.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "v0.1.0", "1.2.1", "122691-build"
+ ArtifactVersionKey = attribute.Key("artifact.version")
+)
+
+// ArtifactAttestationFilename returns an attribute KeyValue conforming to the
+// "artifact.attestation.filename" semantic conventions. It represents the
+// provenance filename of the built attestation which directly relates to the
+// build artifact filename. This filename SHOULD accompany the artifact at
+// publish time. See the [SLSA Relationship] specification for more information.
+//
+// [SLSA Relationship]: https://slsa.dev/spec/v1.0/distributing-provenance#relationship-between-artifacts-and-attestations
+func ArtifactAttestationFilename(val string) attribute.KeyValue {
+ return ArtifactAttestationFilenameKey.String(val)
+}
+
+// ArtifactAttestationHash returns an attribute KeyValue conforming to the
+// "artifact.attestation.hash" semantic conventions. It represents the full
+// [hash value (see glossary)], of the built attestation. Some envelopes in the
+// [software attestation space] also refer to this as the **digest**.
+//
+// [hash value (see glossary)]: https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.186-5.pdf
+// [software attestation space]: https://github.com/in-toto/attestation/tree/main/spec
+func ArtifactAttestationHash(val string) attribute.KeyValue {
+ return ArtifactAttestationHashKey.String(val)
+}
+
+// ArtifactAttestationID returns an attribute KeyValue conforming to the
+// "artifact.attestation.id" semantic conventions. It represents the id of the
+// build [software attestation].
+//
+// [software attestation]: https://slsa.dev/attestation-model
+func ArtifactAttestationID(val string) attribute.KeyValue {
+ return ArtifactAttestationIDKey.String(val)
+}
+
+// ArtifactFilename returns an attribute KeyValue conforming to the
+// "artifact.filename" semantic conventions. It represents the human readable
+// file name of the artifact, typically generated during build and release
+// processes. Often includes the package name and version in the file name.
+func ArtifactFilename(val string) attribute.KeyValue {
+ return ArtifactFilenameKey.String(val)
+}
+
+// ArtifactHash returns an attribute KeyValue conforming to the "artifact.hash"
+// semantic conventions. It represents the full [hash value (see glossary)],
+// often found in checksum.txt on a release of the artifact and used to verify
+// package integrity.
+//
+// [hash value (see glossary)]: https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.186-5.pdf
+func ArtifactHash(val string) attribute.KeyValue {
+ return ArtifactHashKey.String(val)
+}
+
+// ArtifactPurl returns an attribute KeyValue conforming to the "artifact.purl"
+// semantic conventions. It represents the [Package URL] of the
+// [package artifact] provides a standard way to identify and locate the packaged
+// artifact.
+//
+// [Package URL]: https://github.com/package-url/purl-spec
+// [package artifact]: https://slsa.dev/spec/v1.0/terminology#package-model
+func ArtifactPurl(val string) attribute.KeyValue {
+ return ArtifactPurlKey.String(val)
+}
+
+// ArtifactVersion returns an attribute KeyValue conforming to the
+// "artifact.version" semantic conventions. It represents the version of the
+// artifact.
+func ArtifactVersion(val string) attribute.KeyValue {
+ return ArtifactVersionKey.String(val)
+}
+
+// Namespace: aws
+const (
+ // AWSBedrockGuardrailIDKey is the attribute Key conforming to the
+ // "aws.bedrock.guardrail.id" semantic conventions. It represents the unique
+ // identifier of the AWS Bedrock Guardrail. A [guardrail] helps safeguard and
+ // prevent unwanted behavior from model responses or user messages.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "sgi5gkybzqak"
+ //
+ // [guardrail]: https://docs.aws.amazon.com/bedrock/latest/userguide/guardrails.html
+ AWSBedrockGuardrailIDKey = attribute.Key("aws.bedrock.guardrail.id")
+
+ // AWSBedrockKnowledgeBaseIDKey is the attribute Key conforming to the
+ // "aws.bedrock.knowledge_base.id" semantic conventions. It represents the
+ // unique identifier of the AWS Bedrock Knowledge base. A [knowledge base] is a
+ // bank of information that can be queried by models to generate more relevant
+ // responses and augment prompts.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "XFWUPB9PAW"
+ //
+ // [knowledge base]: https://docs.aws.amazon.com/bedrock/latest/userguide/knowledge-base.html
+ AWSBedrockKnowledgeBaseIDKey = attribute.Key("aws.bedrock.knowledge_base.id")
+
+ // AWSDynamoDBAttributeDefinitionsKey is the attribute Key conforming to the
+ // "aws.dynamodb.attribute_definitions" semantic conventions. It represents the
+ // JSON-serialized value of each item in the `AttributeDefinitions` request
+ // field.
+ //
+ // Type: string[]
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "{ "AttributeName": "string", "AttributeType": "string" }"
+ AWSDynamoDBAttributeDefinitionsKey = attribute.Key("aws.dynamodb.attribute_definitions")
+
+ // AWSDynamoDBAttributesToGetKey is the attribute Key conforming to the
+ // "aws.dynamodb.attributes_to_get" semantic conventions. It represents the
+ // value of the `AttributesToGet` request parameter.
+ //
+ // Type: string[]
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "lives", "id"
+ AWSDynamoDBAttributesToGetKey = attribute.Key("aws.dynamodb.attributes_to_get")
+
+ // AWSDynamoDBConsistentReadKey is the attribute Key conforming to the
+ // "aws.dynamodb.consistent_read" semantic conventions. It represents the value
+ // of the `ConsistentRead` request parameter.
+ //
+ // Type: boolean
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples:
+ AWSDynamoDBConsistentReadKey = attribute.Key("aws.dynamodb.consistent_read")
+
+ // AWSDynamoDBConsumedCapacityKey is the attribute Key conforming to the
+ // "aws.dynamodb.consumed_capacity" semantic conventions. It represents the
+ // JSON-serialized value of each item in the `ConsumedCapacity` response field.
+ //
+ // Type: string[]
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "{ "CapacityUnits": number, "GlobalSecondaryIndexes": { "string" :
+ // { "CapacityUnits": number, "ReadCapacityUnits": number, "WriteCapacityUnits":
+ // number } }, "LocalSecondaryIndexes": { "string" : { "CapacityUnits": number,
+ // "ReadCapacityUnits": number, "WriteCapacityUnits": number } },
+ // "ReadCapacityUnits": number, "Table": { "CapacityUnits": number,
+ // "ReadCapacityUnits": number, "WriteCapacityUnits": number }, "TableName":
+ // "string", "WriteCapacityUnits": number }"
+ AWSDynamoDBConsumedCapacityKey = attribute.Key("aws.dynamodb.consumed_capacity")
+
+ // AWSDynamoDBCountKey is the attribute Key conforming to the
+ // "aws.dynamodb.count" semantic conventions. It represents the value of the
+ // `Count` response parameter.
+ //
+ // Type: int
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: 10
+ AWSDynamoDBCountKey = attribute.Key("aws.dynamodb.count")
+
+ // AWSDynamoDBExclusiveStartTableKey is the attribute Key conforming to the
+ // "aws.dynamodb.exclusive_start_table" semantic conventions. It represents the
+ // value of the `ExclusiveStartTableName` request parameter.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "Users", "CatsTable"
+ AWSDynamoDBExclusiveStartTableKey = attribute.Key("aws.dynamodb.exclusive_start_table")
+
+ // AWSDynamoDBGlobalSecondaryIndexUpdatesKey is the attribute Key conforming to
+ // the "aws.dynamodb.global_secondary_index_updates" semantic conventions. It
+ // represents the JSON-serialized value of each item in the
+ // `GlobalSecondaryIndexUpdates` request field.
+ //
+ // Type: string[]
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "{ "Create": { "IndexName": "string", "KeySchema": [ {
+ // "AttributeName": "string", "KeyType": "string" } ], "Projection": {
+ // "NonKeyAttributes": [ "string" ], "ProjectionType": "string" },
+ // "ProvisionedThroughput": { "ReadCapacityUnits": number, "WriteCapacityUnits":
+ // number } }"
+ AWSDynamoDBGlobalSecondaryIndexUpdatesKey = attribute.Key("aws.dynamodb.global_secondary_index_updates")
+
+ // AWSDynamoDBGlobalSecondaryIndexesKey is the attribute Key conforming to the
+ // "aws.dynamodb.global_secondary_indexes" semantic conventions. It represents
+ // the JSON-serialized value of each item of the `GlobalSecondaryIndexes`
+ // request field.
+ //
+ // Type: string[]
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "{ "IndexName": "string", "KeySchema": [ { "AttributeName":
+ // "string", "KeyType": "string" } ], "Projection": { "NonKeyAttributes": [
+ // "string" ], "ProjectionType": "string" }, "ProvisionedThroughput": {
+ // "ReadCapacityUnits": number, "WriteCapacityUnits": number } }"
+ AWSDynamoDBGlobalSecondaryIndexesKey = attribute.Key("aws.dynamodb.global_secondary_indexes")
+
+ // AWSDynamoDBIndexNameKey is the attribute Key conforming to the
+ // "aws.dynamodb.index_name" semantic conventions. It represents the value of
+ // the `IndexName` request parameter.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "name_to_group"
+ AWSDynamoDBIndexNameKey = attribute.Key("aws.dynamodb.index_name")
+
+ // AWSDynamoDBItemCollectionMetricsKey is the attribute Key conforming to the
+ // "aws.dynamodb.item_collection_metrics" semantic conventions. It represents
+ // the JSON-serialized value of the `ItemCollectionMetrics` response field.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "{ "string" : [ { "ItemCollectionKey": { "string" : { "B": blob,
+ // "BOOL": boolean, "BS": [ blob ], "L": [ "AttributeValue" ], "M": { "string" :
+ // "AttributeValue" }, "N": "string", "NS": [ "string" ], "NULL": boolean, "S":
+ // "string", "SS": [ "string" ] } }, "SizeEstimateRangeGB": [ number ] } ] }"
+ AWSDynamoDBItemCollectionMetricsKey = attribute.Key("aws.dynamodb.item_collection_metrics")
+
+ // AWSDynamoDBLimitKey is the attribute Key conforming to the
+ // "aws.dynamodb.limit" semantic conventions. It represents the value of the
+ // `Limit` request parameter.
+ //
+ // Type: int
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: 10
+ AWSDynamoDBLimitKey = attribute.Key("aws.dynamodb.limit")
+
+ // AWSDynamoDBLocalSecondaryIndexesKey is the attribute Key conforming to the
+ // "aws.dynamodb.local_secondary_indexes" semantic conventions. It represents
+ // the JSON-serialized value of each item of the `LocalSecondaryIndexes` request
+ // field.
+ //
+ // Type: string[]
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "{ "IndexArn": "string", "IndexName": "string", "IndexSizeBytes":
+ // number, "ItemCount": number, "KeySchema": [ { "AttributeName": "string",
+ // "KeyType": "string" } ], "Projection": { "NonKeyAttributes": [ "string" ],
+ // "ProjectionType": "string" } }"
+ AWSDynamoDBLocalSecondaryIndexesKey = attribute.Key("aws.dynamodb.local_secondary_indexes")
+
+ // AWSDynamoDBProjectionKey is the attribute Key conforming to the
+ // "aws.dynamodb.projection" semantic conventions. It represents the value of
+ // the `ProjectionExpression` request parameter.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "Title", "Title, Price, Color", "Title, Description, RelatedItems,
+ // ProductReviews"
+ AWSDynamoDBProjectionKey = attribute.Key("aws.dynamodb.projection")
+
+ // AWSDynamoDBProvisionedReadCapacityKey is the attribute Key conforming to the
+ // "aws.dynamodb.provisioned_read_capacity" semantic conventions. It represents
+ // the value of the `ProvisionedThroughput.ReadCapacityUnits` request parameter.
+ //
+ // Type: double
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: 1.0, 2.0
+ AWSDynamoDBProvisionedReadCapacityKey = attribute.Key("aws.dynamodb.provisioned_read_capacity")
+
+ // AWSDynamoDBProvisionedWriteCapacityKey is the attribute Key conforming to the
+ // "aws.dynamodb.provisioned_write_capacity" semantic conventions. It represents
+ // the value of the `ProvisionedThroughput.WriteCapacityUnits` request
+ // parameter.
+ //
+ // Type: double
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: 1.0, 2.0
+ AWSDynamoDBProvisionedWriteCapacityKey = attribute.Key("aws.dynamodb.provisioned_write_capacity")
+
+ // AWSDynamoDBScanForwardKey is the attribute Key conforming to the
+ // "aws.dynamodb.scan_forward" semantic conventions. It represents the value of
+ // the `ScanIndexForward` request parameter.
+ //
+ // Type: boolean
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples:
+ AWSDynamoDBScanForwardKey = attribute.Key("aws.dynamodb.scan_forward")
+
+ // AWSDynamoDBScannedCountKey is the attribute Key conforming to the
+ // "aws.dynamodb.scanned_count" semantic conventions. It represents the value of
+ // the `ScannedCount` response parameter.
+ //
+ // Type: int
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: 50
+ AWSDynamoDBScannedCountKey = attribute.Key("aws.dynamodb.scanned_count")
+
+ // AWSDynamoDBSegmentKey is the attribute Key conforming to the
+ // "aws.dynamodb.segment" semantic conventions. It represents the value of the
+ // `Segment` request parameter.
+ //
+ // Type: int
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: 10
+ AWSDynamoDBSegmentKey = attribute.Key("aws.dynamodb.segment")
+
+ // AWSDynamoDBSelectKey is the attribute Key conforming to the
+ // "aws.dynamodb.select" semantic conventions. It represents the value of the
+ // `Select` request parameter.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "ALL_ATTRIBUTES", "COUNT"
+ AWSDynamoDBSelectKey = attribute.Key("aws.dynamodb.select")
+
+ // AWSDynamoDBTableCountKey is the attribute Key conforming to the
+ // "aws.dynamodb.table_count" semantic conventions. It represents the number of
+ // items in the `TableNames` response parameter.
+ //
+ // Type: int
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: 20
+ AWSDynamoDBTableCountKey = attribute.Key("aws.dynamodb.table_count")
+
+ // AWSDynamoDBTableNamesKey is the attribute Key conforming to the
+ // "aws.dynamodb.table_names" semantic conventions. It represents the keys in
+ // the `RequestItems` object field.
+ //
+ // Type: string[]
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "Users", "Cats"
+ AWSDynamoDBTableNamesKey = attribute.Key("aws.dynamodb.table_names")
+
+ // AWSDynamoDBTotalSegmentsKey is the attribute Key conforming to the
+ // "aws.dynamodb.total_segments" semantic conventions. It represents the value
+ // of the `TotalSegments` request parameter.
+ //
+ // Type: int
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: 100
+ AWSDynamoDBTotalSegmentsKey = attribute.Key("aws.dynamodb.total_segments")
+
+ // AWSECSClusterARNKey is the attribute Key conforming to the
+ // "aws.ecs.cluster.arn" semantic conventions. It represents the ARN of an
+ // [ECS cluster].
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "arn:aws:ecs:us-west-2:123456789123:cluster/my-cluster"
+ //
+ // [ECS cluster]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/clusters.html
+ AWSECSClusterARNKey = attribute.Key("aws.ecs.cluster.arn")
+
+ // AWSECSContainerARNKey is the attribute Key conforming to the
+ // "aws.ecs.container.arn" semantic conventions. It represents the Amazon
+ // Resource Name (ARN) of an [ECS container instance].
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples:
+ // "arn:aws:ecs:us-west-1:123456789123:container/32624152-9086-4f0e-acae-1a75b14fe4d9"
+ //
+ // [ECS container instance]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ECS_instances.html
+ AWSECSContainerARNKey = attribute.Key("aws.ecs.container.arn")
+
+ // AWSECSLaunchtypeKey is the attribute Key conforming to the
+ // "aws.ecs.launchtype" semantic conventions. It represents the [launch type]
+ // for an ECS task.
+ //
+ // Type: Enum
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples:
+ //
+ // [launch type]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_types.html
+ AWSECSLaunchtypeKey = attribute.Key("aws.ecs.launchtype")
+
+ // AWSECSTaskARNKey is the attribute Key conforming to the "aws.ecs.task.arn"
+ // semantic conventions. It represents the ARN of a running [ECS task].
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples:
+ // "arn:aws:ecs:us-west-1:123456789123:task/10838bed-421f-43ef-870a-f43feacbbb5b",
+ // "arn:aws:ecs:us-west-1:123456789123:task/my-cluster/task-id/23ebb8ac-c18f-46c6-8bbe-d55d0e37cfbd"
+ //
+ // [ECS task]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-account-settings.html#ecs-resource-ids
+ AWSECSTaskARNKey = attribute.Key("aws.ecs.task.arn")
+
+ // AWSECSTaskFamilyKey is the attribute Key conforming to the
+ // "aws.ecs.task.family" semantic conventions. It represents the family name of
+ // the [ECS task definition] used to create the ECS task.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "opentelemetry-family"
+ //
+ // [ECS task definition]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_definitions.html
+ AWSECSTaskFamilyKey = attribute.Key("aws.ecs.task.family")
+
+ // AWSECSTaskIDKey is the attribute Key conforming to the "aws.ecs.task.id"
+ // semantic conventions. It represents the ID of a running ECS task. The ID MUST
+ // be extracted from `task.arn`.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "10838bed-421f-43ef-870a-f43feacbbb5b",
+ // "23ebb8ac-c18f-46c6-8bbe-d55d0e37cfbd"
+ AWSECSTaskIDKey = attribute.Key("aws.ecs.task.id")
+
+ // AWSECSTaskRevisionKey is the attribute Key conforming to the
+ // "aws.ecs.task.revision" semantic conventions. It represents the revision for
+ // the task definition used to create the ECS task.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "8", "26"
+ AWSECSTaskRevisionKey = attribute.Key("aws.ecs.task.revision")
+
+ // AWSEKSClusterARNKey is the attribute Key conforming to the
+ // "aws.eks.cluster.arn" semantic conventions. It represents the ARN of an EKS
+ // cluster.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "arn:aws:ecs:us-west-2:123456789123:cluster/my-cluster"
+ AWSEKSClusterARNKey = attribute.Key("aws.eks.cluster.arn")
+
+ // AWSExtendedRequestIDKey is the attribute Key conforming to the
+ // "aws.extended_request_id" semantic conventions. It represents the AWS
+ // extended request ID as returned in the response header `x-amz-id-2`.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples:
+ // "wzHcyEWfmOGDIE5QOhTAqFDoDWP3y8IUvpNINCwL9N4TEHbUw0/gZJ+VZTmCNCWR7fezEN3eCiQ="
+ AWSExtendedRequestIDKey = attribute.Key("aws.extended_request_id")
+
+ // AWSKinesisStreamNameKey is the attribute Key conforming to the
+ // "aws.kinesis.stream_name" semantic conventions. It represents the name of the
+ // AWS Kinesis [stream] the request refers to. Corresponds to the
+ // `--stream-name` parameter of the Kinesis [describe-stream] operation.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "some-stream-name"
+ //
+ // [stream]: https://docs.aws.amazon.com/streams/latest/dev/introduction.html
+ // [describe-stream]: https://docs.aws.amazon.com/cli/latest/reference/kinesis/describe-stream.html
+ AWSKinesisStreamNameKey = attribute.Key("aws.kinesis.stream_name")
+
+ // AWSLambdaInvokedARNKey is the attribute Key conforming to the
+ // "aws.lambda.invoked_arn" semantic conventions. It represents the full invoked
+ // ARN as provided on the `Context` passed to the function (
+ // `Lambda-Runtime-Invoked-Function-Arn` header on the
+ // `/runtime/invocation/next` applicable).
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "arn:aws:lambda:us-east-1:123456:function:myfunction:myalias"
+ // Note: This may be different from `cloud.resource_id` if an alias is involved.
+ AWSLambdaInvokedARNKey = attribute.Key("aws.lambda.invoked_arn")
+
+ // AWSLambdaResourceMappingIDKey is the attribute Key conforming to the
+ // "aws.lambda.resource_mapping.id" semantic conventions. It represents the UUID
+ // of the [AWS Lambda EvenSource Mapping]. An event source is mapped to a lambda
+ // function. It's contents are read by Lambda and used to trigger a function.
+ // This isn't available in the lambda execution context or the lambda runtime
+ // environtment. This is going to be populated by the AWS SDK for each language
+ // when that UUID is present. Some of these operations are
+ // Create/Delete/Get/List/Update EventSourceMapping.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "587ad24b-03b9-4413-8202-bbd56b36e5b7"
+ //
+ // [AWS Lambda EvenSource Mapping]: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html
+ AWSLambdaResourceMappingIDKey = attribute.Key("aws.lambda.resource_mapping.id")
+
+ // AWSLogGroupARNsKey is the attribute Key conforming to the
+ // "aws.log.group.arns" semantic conventions. It represents the Amazon Resource
+ // Name(s) (ARN) of the AWS log group(s).
+ //
+ // Type: string[]
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "arn:aws:logs:us-west-1:123456789012:log-group:/aws/my/group:*"
+ // Note: See the [log group ARN format documentation].
+ //
+ // [log group ARN format documentation]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/iam-access-control-overview-cwl.html#CWL_ARN_Format
+ AWSLogGroupARNsKey = attribute.Key("aws.log.group.arns")
+
+ // AWSLogGroupNamesKey is the attribute Key conforming to the
+ // "aws.log.group.names" semantic conventions. It represents the name(s) of the
+ // AWS log group(s) an application is writing to.
+ //
+ // Type: string[]
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "/aws/lambda/my-function", "opentelemetry-service"
+ // Note: Multiple log groups must be supported for cases like multi-container
+ // applications, where a single application has sidecar containers, and each
+ // write to their own log group.
+ AWSLogGroupNamesKey = attribute.Key("aws.log.group.names")
+
+ // AWSLogStreamARNsKey is the attribute Key conforming to the
+ // "aws.log.stream.arns" semantic conventions. It represents the ARN(s) of the
+ // AWS log stream(s).
+ //
+ // Type: string[]
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples:
+ // "arn:aws:logs:us-west-1:123456789012:log-group:/aws/my/group:log-stream:logs/main/10838bed-421f-43ef-870a-f43feacbbb5b"
+ // Note: See the [log stream ARN format documentation]. One log group can
+ // contain several log streams, so these ARNs necessarily identify both a log
+ // group and a log stream.
+ //
+ // [log stream ARN format documentation]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/iam-access-control-overview-cwl.html#CWL_ARN_Format
+ AWSLogStreamARNsKey = attribute.Key("aws.log.stream.arns")
+
+ // AWSLogStreamNamesKey is the attribute Key conforming to the
+ // "aws.log.stream.names" semantic conventions. It represents the name(s) of the
+ // AWS log stream(s) an application is writing to.
+ //
+ // Type: string[]
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "logs/main/10838bed-421f-43ef-870a-f43feacbbb5b"
+ AWSLogStreamNamesKey = attribute.Key("aws.log.stream.names")
+
+ // AWSRequestIDKey is the attribute Key conforming to the "aws.request_id"
+ // semantic conventions. It represents the AWS request ID as returned in the
+ // response headers `x-amzn-requestid`, `x-amzn-request-id` or
+ // `x-amz-request-id`.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "79b9da39-b7ae-508a-a6bc-864b2829c622", "C9ER4AJX75574TDJ"
+ AWSRequestIDKey = attribute.Key("aws.request_id")
+
+ // AWSS3BucketKey is the attribute Key conforming to the "aws.s3.bucket"
+ // semantic conventions. It represents the S3 bucket name the request refers to.
+ // Corresponds to the `--bucket` parameter of the [S3 API] operations.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "some-bucket-name"
+ // Note: The `bucket` attribute is applicable to all S3 operations that
+ // reference a bucket, i.e. that require the bucket name as a mandatory
+ // parameter.
+ // This applies to almost all S3 operations except `list-buckets`.
+ //
+ // [S3 API]: https://docs.aws.amazon.com/cli/latest/reference/s3api/index.html
+ AWSS3BucketKey = attribute.Key("aws.s3.bucket")
+
+ // AWSS3CopySourceKey is the attribute Key conforming to the
+ // "aws.s3.copy_source" semantic conventions. It represents the source object
+ // (in the form `bucket`/`key`) for the copy operation.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "someFile.yml"
+ // Note: The `copy_source` attribute applies to S3 copy operations and
+ // corresponds to the `--copy-source` parameter
+ // of the [copy-object operation within the S3 API].
+ // This applies in particular to the following operations:
+ //
+ // - [copy-object]
+ // - [upload-part-copy]
+ //
+ //
+ // [copy-object operation within the S3 API]: https://docs.aws.amazon.com/cli/latest/reference/s3api/copy-object.html
+ // [copy-object]: https://docs.aws.amazon.com/cli/latest/reference/s3api/copy-object.html
+ // [upload-part-copy]: https://docs.aws.amazon.com/cli/latest/reference/s3api/upload-part-copy.html
+ AWSS3CopySourceKey = attribute.Key("aws.s3.copy_source")
+
+ // AWSS3DeleteKey is the attribute Key conforming to the "aws.s3.delete"
+ // semantic conventions. It represents the delete request container that
+ // specifies the objects to be deleted.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples:
+ // "Objects=[{Key=string,VersionId=string},{Key=string,VersionId=string}],Quiet=boolean"
+ // Note: The `delete` attribute is only applicable to the [delete-object]
+ // operation.
+ // The `delete` attribute corresponds to the `--delete` parameter of the
+ // [delete-objects operation within the S3 API].
+ //
+ // [delete-object]: https://docs.aws.amazon.com/cli/latest/reference/s3api/delete-object.html
+ // [delete-objects operation within the S3 API]: https://docs.aws.amazon.com/cli/latest/reference/s3api/delete-objects.html
+ AWSS3DeleteKey = attribute.Key("aws.s3.delete")
+
+ // AWSS3KeyKey is the attribute Key conforming to the "aws.s3.key" semantic
+ // conventions. It represents the S3 object key the request refers to.
+ // Corresponds to the `--key` parameter of the [S3 API] operations.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "someFile.yml"
+ // Note: The `key` attribute is applicable to all object-related S3 operations,
+ // i.e. that require the object key as a mandatory parameter.
+ // This applies in particular to the following operations:
+ //
+ // - [copy-object]
+ // - [delete-object]
+ // - [get-object]
+ // - [head-object]
+ // - [put-object]
+ // - [restore-object]
+ // - [select-object-content]
+ // - [abort-multipart-upload]
+ // - [complete-multipart-upload]
+ // - [create-multipart-upload]
+ // - [list-parts]
+ // - [upload-part]
+ // - [upload-part-copy]
+ //
+ //
+ // [S3 API]: https://docs.aws.amazon.com/cli/latest/reference/s3api/index.html
+ // [copy-object]: https://docs.aws.amazon.com/cli/latest/reference/s3api/copy-object.html
+ // [delete-object]: https://docs.aws.amazon.com/cli/latest/reference/s3api/delete-object.html
+ // [get-object]: https://docs.aws.amazon.com/cli/latest/reference/s3api/get-object.html
+ // [head-object]: https://docs.aws.amazon.com/cli/latest/reference/s3api/head-object.html
+ // [put-object]: https://docs.aws.amazon.com/cli/latest/reference/s3api/put-object.html
+ // [restore-object]: https://docs.aws.amazon.com/cli/latest/reference/s3api/restore-object.html
+ // [select-object-content]: https://docs.aws.amazon.com/cli/latest/reference/s3api/select-object-content.html
+ // [abort-multipart-upload]: https://docs.aws.amazon.com/cli/latest/reference/s3api/abort-multipart-upload.html
+ // [complete-multipart-upload]: https://docs.aws.amazon.com/cli/latest/reference/s3api/complete-multipart-upload.html
+ // [create-multipart-upload]: https://docs.aws.amazon.com/cli/latest/reference/s3api/create-multipart-upload.html
+ // [list-parts]: https://docs.aws.amazon.com/cli/latest/reference/s3api/list-parts.html
+ // [upload-part]: https://docs.aws.amazon.com/cli/latest/reference/s3api/upload-part.html
+ // [upload-part-copy]: https://docs.aws.amazon.com/cli/latest/reference/s3api/upload-part-copy.html
+ AWSS3KeyKey = attribute.Key("aws.s3.key")
+
+ // AWSS3PartNumberKey is the attribute Key conforming to the
+ // "aws.s3.part_number" semantic conventions. It represents the part number of
+ // the part being uploaded in a multipart-upload operation. This is a positive
+ // integer between 1 and 10,000.
+ //
+ // Type: int
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: 3456
+ // Note: The `part_number` attribute is only applicable to the [upload-part]
+ // and [upload-part-copy] operations.
+ // The `part_number` attribute corresponds to the `--part-number` parameter of
+ // the
+ // [upload-part operation within the S3 API].
+ //
+ // [upload-part]: https://docs.aws.amazon.com/cli/latest/reference/s3api/upload-part.html
+ // [upload-part-copy]: https://docs.aws.amazon.com/cli/latest/reference/s3api/upload-part-copy.html
+ // [upload-part operation within the S3 API]: https://docs.aws.amazon.com/cli/latest/reference/s3api/upload-part.html
+ AWSS3PartNumberKey = attribute.Key("aws.s3.part_number")
+
+ // AWSS3UploadIDKey is the attribute Key conforming to the "aws.s3.upload_id"
+ // semantic conventions. It represents the upload ID that identifies the
+ // multipart upload.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "dfRtDYWFbkRONycy.Yxwh66Yjlx.cph0gtNBtJ"
+ // Note: The `upload_id` attribute applies to S3 multipart-upload operations and
+ // corresponds to the `--upload-id` parameter
+ // of the [S3 API] multipart operations.
+ // This applies in particular to the following operations:
+ //
+ // - [abort-multipart-upload]
+ // - [complete-multipart-upload]
+ // - [list-parts]
+ // - [upload-part]
+ // - [upload-part-copy]
+ //
+ //
+ // [S3 API]: https://docs.aws.amazon.com/cli/latest/reference/s3api/index.html
+ // [abort-multipart-upload]: https://docs.aws.amazon.com/cli/latest/reference/s3api/abort-multipart-upload.html
+ // [complete-multipart-upload]: https://docs.aws.amazon.com/cli/latest/reference/s3api/complete-multipart-upload.html
+ // [list-parts]: https://docs.aws.amazon.com/cli/latest/reference/s3api/list-parts.html
+ // [upload-part]: https://docs.aws.amazon.com/cli/latest/reference/s3api/upload-part.html
+ // [upload-part-copy]: https://docs.aws.amazon.com/cli/latest/reference/s3api/upload-part-copy.html
+ AWSS3UploadIDKey = attribute.Key("aws.s3.upload_id")
+
+ // AWSSecretsmanagerSecretARNKey is the attribute Key conforming to the
+ // "aws.secretsmanager.secret.arn" semantic conventions. It represents the ARN
+ // of the Secret stored in the Secrets Mangger.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples:
+ // "arn:aws:secretsmanager:us-east-1:123456789012:secret:SecretName-6RandomCharacters"
+ AWSSecretsmanagerSecretARNKey = attribute.Key("aws.secretsmanager.secret.arn")
+
+ // AWSSNSTopicARNKey is the attribute Key conforming to the "aws.sns.topic.arn"
+ // semantic conventions. It represents the ARN of the AWS SNS Topic. An Amazon
+ // SNS [topic] is a logical access point that acts as a communication channel.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "arn:aws:sns:us-east-1:123456789012:mystack-mytopic-NZJ5JSMVGFIE"
+ //
+ // [topic]: https://docs.aws.amazon.com/sns/latest/dg/sns-create-topic.html
+ AWSSNSTopicARNKey = attribute.Key("aws.sns.topic.arn")
+
+ // AWSSQSQueueURLKey is the attribute Key conforming to the "aws.sqs.queue.url"
+ // semantic conventions. It represents the URL of the AWS SQS Queue. It's a
+ // unique identifier for a queue in Amazon Simple Queue Service (SQS) and is
+ // used to access the queue and perform actions on it.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "https://sqs.us-east-1.amazonaws.com/123456789012/MyQueue"
+ AWSSQSQueueURLKey = attribute.Key("aws.sqs.queue.url")
+
+ // AWSStepFunctionsActivityARNKey is the attribute Key conforming to the
+ // "aws.step_functions.activity.arn" semantic conventions. It represents the ARN
+ // of the AWS Step Functions Activity.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "arn:aws:states:us-east-1:123456789012:activity:get-greeting"
+ AWSStepFunctionsActivityARNKey = attribute.Key("aws.step_functions.activity.arn")
+
+ // AWSStepFunctionsStateMachineARNKey is the attribute Key conforming to the
+ // "aws.step_functions.state_machine.arn" semantic conventions. It represents
+ // the ARN of the AWS Step Functions State Machine.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples:
+ // "arn:aws:states:us-east-1:123456789012:stateMachine:myStateMachine:1"
+ AWSStepFunctionsStateMachineARNKey = attribute.Key("aws.step_functions.state_machine.arn")
+)
+
+// AWSBedrockGuardrailID returns an attribute KeyValue conforming to the
+// "aws.bedrock.guardrail.id" semantic conventions. It represents the unique
+// identifier of the AWS Bedrock Guardrail. A [guardrail] helps safeguard and
+// prevent unwanted behavior from model responses or user messages.
+//
+// [guardrail]: https://docs.aws.amazon.com/bedrock/latest/userguide/guardrails.html
+func AWSBedrockGuardrailID(val string) attribute.KeyValue {
+ return AWSBedrockGuardrailIDKey.String(val)
+}
+
+// AWSBedrockKnowledgeBaseID returns an attribute KeyValue conforming to the
+// "aws.bedrock.knowledge_base.id" semantic conventions. It represents the unique
+// identifier of the AWS Bedrock Knowledge base. A [knowledge base] is a bank of
+// information that can be queried by models to generate more relevant responses
+// and augment prompts.
+//
+// [knowledge base]: https://docs.aws.amazon.com/bedrock/latest/userguide/knowledge-base.html
+func AWSBedrockKnowledgeBaseID(val string) attribute.KeyValue {
+ return AWSBedrockKnowledgeBaseIDKey.String(val)
+}
+
+// AWSDynamoDBAttributeDefinitions returns an attribute KeyValue conforming to
+// the "aws.dynamodb.attribute_definitions" semantic conventions. It represents
+// the JSON-serialized value of each item in the `AttributeDefinitions` request
+// field.
+func AWSDynamoDBAttributeDefinitions(val ...string) attribute.KeyValue {
+ return AWSDynamoDBAttributeDefinitionsKey.StringSlice(val)
+}
+
+// AWSDynamoDBAttributesToGet returns an attribute KeyValue conforming to the
+// "aws.dynamodb.attributes_to_get" semantic conventions. It represents the value
+// of the `AttributesToGet` request parameter.
+func AWSDynamoDBAttributesToGet(val ...string) attribute.KeyValue {
+ return AWSDynamoDBAttributesToGetKey.StringSlice(val)
+}
+
+// AWSDynamoDBConsistentRead returns an attribute KeyValue conforming to the
+// "aws.dynamodb.consistent_read" semantic conventions. It represents the value
+// of the `ConsistentRead` request parameter.
+func AWSDynamoDBConsistentRead(val bool) attribute.KeyValue {
+ return AWSDynamoDBConsistentReadKey.Bool(val)
+}
+
+// AWSDynamoDBConsumedCapacity returns an attribute KeyValue conforming to the
+// "aws.dynamodb.consumed_capacity" semantic conventions. It represents the
+// JSON-serialized value of each item in the `ConsumedCapacity` response field.
+func AWSDynamoDBConsumedCapacity(val ...string) attribute.KeyValue {
+ return AWSDynamoDBConsumedCapacityKey.StringSlice(val)
+}
+
+// AWSDynamoDBCount returns an attribute KeyValue conforming to the
+// "aws.dynamodb.count" semantic conventions. It represents the value of the
+// `Count` response parameter.
+func AWSDynamoDBCount(val int) attribute.KeyValue {
+ return AWSDynamoDBCountKey.Int(val)
+}
+
+// AWSDynamoDBExclusiveStartTable returns an attribute KeyValue conforming to the
+// "aws.dynamodb.exclusive_start_table" semantic conventions. It represents the
+// value of the `ExclusiveStartTableName` request parameter.
+func AWSDynamoDBExclusiveStartTable(val string) attribute.KeyValue {
+ return AWSDynamoDBExclusiveStartTableKey.String(val)
+}
+
+// AWSDynamoDBGlobalSecondaryIndexUpdates returns an attribute KeyValue
+// conforming to the "aws.dynamodb.global_secondary_index_updates" semantic
+// conventions. It represents the JSON-serialized value of each item in the
+// `GlobalSecondaryIndexUpdates` request field.
+func AWSDynamoDBGlobalSecondaryIndexUpdates(val ...string) attribute.KeyValue {
+ return AWSDynamoDBGlobalSecondaryIndexUpdatesKey.StringSlice(val)
+}
+
+// AWSDynamoDBGlobalSecondaryIndexes returns an attribute KeyValue conforming to
+// the "aws.dynamodb.global_secondary_indexes" semantic conventions. It
+// represents the JSON-serialized value of each item of the
+// `GlobalSecondaryIndexes` request field.
+func AWSDynamoDBGlobalSecondaryIndexes(val ...string) attribute.KeyValue {
+ return AWSDynamoDBGlobalSecondaryIndexesKey.StringSlice(val)
+}
+
+// AWSDynamoDBIndexName returns an attribute KeyValue conforming to the
+// "aws.dynamodb.index_name" semantic conventions. It represents the value of the
+// `IndexName` request parameter.
+func AWSDynamoDBIndexName(val string) attribute.KeyValue {
+ return AWSDynamoDBIndexNameKey.String(val)
+}
+
+// AWSDynamoDBItemCollectionMetrics returns an attribute KeyValue conforming to
+// the "aws.dynamodb.item_collection_metrics" semantic conventions. It represents
+// the JSON-serialized value of the `ItemCollectionMetrics` response field.
+func AWSDynamoDBItemCollectionMetrics(val string) attribute.KeyValue {
+ return AWSDynamoDBItemCollectionMetricsKey.String(val)
+}
+
+// AWSDynamoDBLimit returns an attribute KeyValue conforming to the
+// "aws.dynamodb.limit" semantic conventions. It represents the value of the
+// `Limit` request parameter.
+func AWSDynamoDBLimit(val int) attribute.KeyValue {
+ return AWSDynamoDBLimitKey.Int(val)
+}
+
+// AWSDynamoDBLocalSecondaryIndexes returns an attribute KeyValue conforming to
+// the "aws.dynamodb.local_secondary_indexes" semantic conventions. It represents
+// the JSON-serialized value of each item of the `LocalSecondaryIndexes` request
+// field.
+func AWSDynamoDBLocalSecondaryIndexes(val ...string) attribute.KeyValue {
+ return AWSDynamoDBLocalSecondaryIndexesKey.StringSlice(val)
+}
+
+// AWSDynamoDBProjection returns an attribute KeyValue conforming to the
+// "aws.dynamodb.projection" semantic conventions. It represents the value of the
+// `ProjectionExpression` request parameter.
+func AWSDynamoDBProjection(val string) attribute.KeyValue {
+ return AWSDynamoDBProjectionKey.String(val)
+}
+
+// AWSDynamoDBProvisionedReadCapacity returns an attribute KeyValue conforming to
+// the "aws.dynamodb.provisioned_read_capacity" semantic conventions. It
+// represents the value of the `ProvisionedThroughput.ReadCapacityUnits` request
+// parameter.
+func AWSDynamoDBProvisionedReadCapacity(val float64) attribute.KeyValue {
+ return AWSDynamoDBProvisionedReadCapacityKey.Float64(val)
+}
+
+// AWSDynamoDBProvisionedWriteCapacity returns an attribute KeyValue conforming
+// to the "aws.dynamodb.provisioned_write_capacity" semantic conventions. It
+// represents the value of the `ProvisionedThroughput.WriteCapacityUnits` request
+// parameter.
+func AWSDynamoDBProvisionedWriteCapacity(val float64) attribute.KeyValue {
+ return AWSDynamoDBProvisionedWriteCapacityKey.Float64(val)
+}
+
+// AWSDynamoDBScanForward returns an attribute KeyValue conforming to the
+// "aws.dynamodb.scan_forward" semantic conventions. It represents the value of
+// the `ScanIndexForward` request parameter.
+func AWSDynamoDBScanForward(val bool) attribute.KeyValue {
+ return AWSDynamoDBScanForwardKey.Bool(val)
+}
+
+// AWSDynamoDBScannedCount returns an attribute KeyValue conforming to the
+// "aws.dynamodb.scanned_count" semantic conventions. It represents the value of
+// the `ScannedCount` response parameter.
+func AWSDynamoDBScannedCount(val int) attribute.KeyValue {
+ return AWSDynamoDBScannedCountKey.Int(val)
+}
+
+// AWSDynamoDBSegment returns an attribute KeyValue conforming to the
+// "aws.dynamodb.segment" semantic conventions. It represents the value of the
+// `Segment` request parameter.
+func AWSDynamoDBSegment(val int) attribute.KeyValue {
+ return AWSDynamoDBSegmentKey.Int(val)
+}
+
+// AWSDynamoDBSelect returns an attribute KeyValue conforming to the
+// "aws.dynamodb.select" semantic conventions. It represents the value of the
+// `Select` request parameter.
+func AWSDynamoDBSelect(val string) attribute.KeyValue {
+ return AWSDynamoDBSelectKey.String(val)
+}
+
+// AWSDynamoDBTableCount returns an attribute KeyValue conforming to the
+// "aws.dynamodb.table_count" semantic conventions. It represents the number of
+// items in the `TableNames` response parameter.
+func AWSDynamoDBTableCount(val int) attribute.KeyValue {
+ return AWSDynamoDBTableCountKey.Int(val)
+}
+
+// AWSDynamoDBTableNames returns an attribute KeyValue conforming to the
+// "aws.dynamodb.table_names" semantic conventions. It represents the keys in the
+// `RequestItems` object field.
+func AWSDynamoDBTableNames(val ...string) attribute.KeyValue {
+ return AWSDynamoDBTableNamesKey.StringSlice(val)
+}
+
+// AWSDynamoDBTotalSegments returns an attribute KeyValue conforming to the
+// "aws.dynamodb.total_segments" semantic conventions. It represents the value of
+// the `TotalSegments` request parameter.
+func AWSDynamoDBTotalSegments(val int) attribute.KeyValue {
+ return AWSDynamoDBTotalSegmentsKey.Int(val)
+}
+
+// AWSECSClusterARN returns an attribute KeyValue conforming to the
+// "aws.ecs.cluster.arn" semantic conventions. It represents the ARN of an
+// [ECS cluster].
+//
+// [ECS cluster]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/clusters.html
+func AWSECSClusterARN(val string) attribute.KeyValue {
+ return AWSECSClusterARNKey.String(val)
+}
+
+// AWSECSContainerARN returns an attribute KeyValue conforming to the
+// "aws.ecs.container.arn" semantic conventions. It represents the Amazon
+// Resource Name (ARN) of an [ECS container instance].
+//
+// [ECS container instance]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ECS_instances.html
+func AWSECSContainerARN(val string) attribute.KeyValue {
+ return AWSECSContainerARNKey.String(val)
+}
+
+// AWSECSTaskARN returns an attribute KeyValue conforming to the
+// "aws.ecs.task.arn" semantic conventions. It represents the ARN of a running
+// [ECS task].
+//
+// [ECS task]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-account-settings.html#ecs-resource-ids
+func AWSECSTaskARN(val string) attribute.KeyValue {
+ return AWSECSTaskARNKey.String(val)
+}
+
+// AWSECSTaskFamily returns an attribute KeyValue conforming to the
+// "aws.ecs.task.family" semantic conventions. It represents the family name of
+// the [ECS task definition] used to create the ECS task.
+//
+// [ECS task definition]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_definitions.html
+func AWSECSTaskFamily(val string) attribute.KeyValue {
+ return AWSECSTaskFamilyKey.String(val)
+}
+
+// AWSECSTaskID returns an attribute KeyValue conforming to the "aws.ecs.task.id"
+// semantic conventions. It represents the ID of a running ECS task. The ID MUST
+// be extracted from `task.arn`.
+func AWSECSTaskID(val string) attribute.KeyValue {
+ return AWSECSTaskIDKey.String(val)
+}
+
+// AWSECSTaskRevision returns an attribute KeyValue conforming to the
+// "aws.ecs.task.revision" semantic conventions. It represents the revision for
+// the task definition used to create the ECS task.
+func AWSECSTaskRevision(val string) attribute.KeyValue {
+ return AWSECSTaskRevisionKey.String(val)
+}
+
+// AWSEKSClusterARN returns an attribute KeyValue conforming to the
+// "aws.eks.cluster.arn" semantic conventions. It represents the ARN of an EKS
+// cluster.
+func AWSEKSClusterARN(val string) attribute.KeyValue {
+ return AWSEKSClusterARNKey.String(val)
+}
+
+// AWSExtendedRequestID returns an attribute KeyValue conforming to the
+// "aws.extended_request_id" semantic conventions. It represents the AWS extended
+// request ID as returned in the response header `x-amz-id-2`.
+func AWSExtendedRequestID(val string) attribute.KeyValue {
+ return AWSExtendedRequestIDKey.String(val)
+}
+
+// AWSKinesisStreamName returns an attribute KeyValue conforming to the
+// "aws.kinesis.stream_name" semantic conventions. It represents the name of the
+// AWS Kinesis [stream] the request refers to. Corresponds to the `--stream-name`
+// parameter of the Kinesis [describe-stream] operation.
+//
+// [stream]: https://docs.aws.amazon.com/streams/latest/dev/introduction.html
+// [describe-stream]: https://docs.aws.amazon.com/cli/latest/reference/kinesis/describe-stream.html
+func AWSKinesisStreamName(val string) attribute.KeyValue {
+ return AWSKinesisStreamNameKey.String(val)
+}
+
+// AWSLambdaInvokedARN returns an attribute KeyValue conforming to the
+// "aws.lambda.invoked_arn" semantic conventions. It represents the full invoked
+// ARN as provided on the `Context` passed to the function (
+// `Lambda-Runtime-Invoked-Function-Arn` header on the `/runtime/invocation/next`
+// applicable).
+func AWSLambdaInvokedARN(val string) attribute.KeyValue {
+ return AWSLambdaInvokedARNKey.String(val)
+}
+
+// AWSLambdaResourceMappingID returns an attribute KeyValue conforming to the
+// "aws.lambda.resource_mapping.id" semantic conventions. It represents the UUID
+// of the [AWS Lambda EvenSource Mapping]. An event source is mapped to a lambda
+// function. It's contents are read by Lambda and used to trigger a function.
+// This isn't available in the lambda execution context or the lambda runtime
+// environtment. This is going to be populated by the AWS SDK for each language
+// when that UUID is present. Some of these operations are
+// Create/Delete/Get/List/Update EventSourceMapping.
+//
+// [AWS Lambda EvenSource Mapping]: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html
+func AWSLambdaResourceMappingID(val string) attribute.KeyValue {
+ return AWSLambdaResourceMappingIDKey.String(val)
+}
+
+// AWSLogGroupARNs returns an attribute KeyValue conforming to the
+// "aws.log.group.arns" semantic conventions. It represents the Amazon Resource
+// Name(s) (ARN) of the AWS log group(s).
+func AWSLogGroupARNs(val ...string) attribute.KeyValue {
+ return AWSLogGroupARNsKey.StringSlice(val)
+}
+
+// AWSLogGroupNames returns an attribute KeyValue conforming to the
+// "aws.log.group.names" semantic conventions. It represents the name(s) of the
+// AWS log group(s) an application is writing to.
+func AWSLogGroupNames(val ...string) attribute.KeyValue {
+ return AWSLogGroupNamesKey.StringSlice(val)
+}
+
+// AWSLogStreamARNs returns an attribute KeyValue conforming to the
+// "aws.log.stream.arns" semantic conventions. It represents the ARN(s) of the
+// AWS log stream(s).
+func AWSLogStreamARNs(val ...string) attribute.KeyValue {
+ return AWSLogStreamARNsKey.StringSlice(val)
+}
+
+// AWSLogStreamNames returns an attribute KeyValue conforming to the
+// "aws.log.stream.names" semantic conventions. It represents the name(s) of the
+// AWS log stream(s) an application is writing to.
+func AWSLogStreamNames(val ...string) attribute.KeyValue {
+ return AWSLogStreamNamesKey.StringSlice(val)
+}
+
+// AWSRequestID returns an attribute KeyValue conforming to the "aws.request_id"
+// semantic conventions. It represents the AWS request ID as returned in the
+// response headers `x-amzn-requestid`, `x-amzn-request-id` or `x-amz-request-id`
+// .
+func AWSRequestID(val string) attribute.KeyValue {
+ return AWSRequestIDKey.String(val)
+}
+
+// AWSS3Bucket returns an attribute KeyValue conforming to the "aws.s3.bucket"
+// semantic conventions. It represents the S3 bucket name the request refers to.
+// Corresponds to the `--bucket` parameter of the [S3 API] operations.
+//
+// [S3 API]: https://docs.aws.amazon.com/cli/latest/reference/s3api/index.html
+func AWSS3Bucket(val string) attribute.KeyValue {
+ return AWSS3BucketKey.String(val)
+}
+
+// AWSS3CopySource returns an attribute KeyValue conforming to the
+// "aws.s3.copy_source" semantic conventions. It represents the source object (in
+// the form `bucket`/`key`) for the copy operation.
+func AWSS3CopySource(val string) attribute.KeyValue {
+ return AWSS3CopySourceKey.String(val)
+}
+
+// AWSS3Delete returns an attribute KeyValue conforming to the "aws.s3.delete"
+// semantic conventions. It represents the delete request container that
+// specifies the objects to be deleted.
+func AWSS3Delete(val string) attribute.KeyValue {
+ return AWSS3DeleteKey.String(val)
+}
+
+// AWSS3Key returns an attribute KeyValue conforming to the "aws.s3.key" semantic
+// conventions. It represents the S3 object key the request refers to.
+// Corresponds to the `--key` parameter of the [S3 API] operations.
+//
+// [S3 API]: https://docs.aws.amazon.com/cli/latest/reference/s3api/index.html
+func AWSS3Key(val string) attribute.KeyValue {
+ return AWSS3KeyKey.String(val)
+}
+
+// AWSS3PartNumber returns an attribute KeyValue conforming to the
+// "aws.s3.part_number" semantic conventions. It represents the part number of
+// the part being uploaded in a multipart-upload operation. This is a positive
+// integer between 1 and 10,000.
+func AWSS3PartNumber(val int) attribute.KeyValue {
+ return AWSS3PartNumberKey.Int(val)
+}
+
+// AWSS3UploadID returns an attribute KeyValue conforming to the
+// "aws.s3.upload_id" semantic conventions. It represents the upload ID that
+// identifies the multipart upload.
+func AWSS3UploadID(val string) attribute.KeyValue {
+ return AWSS3UploadIDKey.String(val)
+}
+
+// AWSSecretsmanagerSecretARN returns an attribute KeyValue conforming to the
+// "aws.secretsmanager.secret.arn" semantic conventions. It represents the ARN of
+// the Secret stored in the Secrets Mangger.
+func AWSSecretsmanagerSecretARN(val string) attribute.KeyValue {
+ return AWSSecretsmanagerSecretARNKey.String(val)
+}
+
+// AWSSNSTopicARN returns an attribute KeyValue conforming to the
+// "aws.sns.topic.arn" semantic conventions. It represents the ARN of the AWS SNS
+// Topic. An Amazon SNS [topic] is a logical access point that acts as a
+// communication channel.
+//
+// [topic]: https://docs.aws.amazon.com/sns/latest/dg/sns-create-topic.html
+func AWSSNSTopicARN(val string) attribute.KeyValue {
+ return AWSSNSTopicARNKey.String(val)
+}
+
+// AWSSQSQueueURL returns an attribute KeyValue conforming to the
+// "aws.sqs.queue.url" semantic conventions. It represents the URL of the AWS SQS
+// Queue. It's a unique identifier for a queue in Amazon Simple Queue Service
+// (SQS) and is used to access the queue and perform actions on it.
+func AWSSQSQueueURL(val string) attribute.KeyValue {
+ return AWSSQSQueueURLKey.String(val)
+}
+
+// AWSStepFunctionsActivityARN returns an attribute KeyValue conforming to the
+// "aws.step_functions.activity.arn" semantic conventions. It represents the ARN
+// of the AWS Step Functions Activity.
+func AWSStepFunctionsActivityARN(val string) attribute.KeyValue {
+ return AWSStepFunctionsActivityARNKey.String(val)
+}
+
+// AWSStepFunctionsStateMachineARN returns an attribute KeyValue conforming to
+// the "aws.step_functions.state_machine.arn" semantic conventions. It represents
+// the ARN of the AWS Step Functions State Machine.
+func AWSStepFunctionsStateMachineARN(val string) attribute.KeyValue {
+ return AWSStepFunctionsStateMachineARNKey.String(val)
+}
+
+// Enum values for aws.ecs.launchtype
+var (
+ // ec2
+ // Stability: development
+ AWSECSLaunchtypeEC2 = AWSECSLaunchtypeKey.String("ec2")
+ // fargate
+ // Stability: development
+ AWSECSLaunchtypeFargate = AWSECSLaunchtypeKey.String("fargate")
+)
+
+// Namespace: az
+const (
+ // AzNamespaceKey is the attribute Key conforming to the "az.namespace" semantic
+ // conventions. It represents the [Azure Resource Provider Namespace] as
+ // recognized by the client.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "Microsoft.Storage", "Microsoft.KeyVault", "Microsoft.ServiceBus"
+ //
+ // [Azure Resource Provider Namespace]: https://learn.microsoft.com/azure/azure-resource-manager/management/azure-services-resource-providers
+ AzNamespaceKey = attribute.Key("az.namespace")
+
+ // AzServiceRequestIDKey is the attribute Key conforming to the
+ // "az.service_request_id" semantic conventions. It represents the unique
+ // identifier of the service request. It's generated by the Azure service and
+ // returned with the response.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "00000000-0000-0000-0000-000000000000"
+ AzServiceRequestIDKey = attribute.Key("az.service_request_id")
+)
+
+// AzNamespace returns an attribute KeyValue conforming to the "az.namespace"
+// semantic conventions. It represents the [Azure Resource Provider Namespace] as
+// recognized by the client.
+//
+// [Azure Resource Provider Namespace]: https://learn.microsoft.com/azure/azure-resource-manager/management/azure-services-resource-providers
+func AzNamespace(val string) attribute.KeyValue {
+ return AzNamespaceKey.String(val)
+}
+
+// AzServiceRequestID returns an attribute KeyValue conforming to the
+// "az.service_request_id" semantic conventions. It represents the unique
+// identifier of the service request. It's generated by the Azure service and
+// returned with the response.
+func AzServiceRequestID(val string) attribute.KeyValue {
+ return AzServiceRequestIDKey.String(val)
+}
+
+// Namespace: azure
+const (
+ // AzureClientIDKey is the attribute Key conforming to the "azure.client.id"
+ // semantic conventions. It represents the unique identifier of the client
+ // instance.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "3ba4827d-4422-483f-b59f-85b74211c11d", "storage-client-1"
+ AzureClientIDKey = attribute.Key("azure.client.id")
+
+ // AzureCosmosDBConnectionModeKey is the attribute Key conforming to the
+ // "azure.cosmosdb.connection.mode" semantic conventions. It represents the
+ // cosmos client connection mode.
+ //
+ // Type: Enum
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples:
+ AzureCosmosDBConnectionModeKey = attribute.Key("azure.cosmosdb.connection.mode")
+
+ // AzureCosmosDBConsistencyLevelKey is the attribute Key conforming to the
+ // "azure.cosmosdb.consistency.level" semantic conventions. It represents the
+ // account or request [consistency level].
+ //
+ // Type: Enum
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "Eventual", "ConsistentPrefix", "BoundedStaleness", "Strong",
+ // "Session"
+ //
+ // [consistency level]: https://learn.microsoft.com/azure/cosmos-db/consistency-levels
+ AzureCosmosDBConsistencyLevelKey = attribute.Key("azure.cosmosdb.consistency.level")
+
+ // AzureCosmosDBOperationContactedRegionsKey is the attribute Key conforming to
+ // the "azure.cosmosdb.operation.contacted_regions" semantic conventions. It
+ // represents the list of regions contacted during operation in the order that
+ // they were contacted. If there is more than one region listed, it indicates
+ // that the operation was performed on multiple regions i.e. cross-regional
+ // call.
+ //
+ // Type: string[]
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "North Central US", "Australia East", "Australia Southeast"
+ // Note: Region name matches the format of `displayName` in [Azure Location API]
+ //
+ // [Azure Location API]: https://learn.microsoft.com/rest/api/subscription/subscriptions/list-locations?view=rest-subscription-2021-10-01&tabs=HTTP#location
+ AzureCosmosDBOperationContactedRegionsKey = attribute.Key("azure.cosmosdb.operation.contacted_regions")
+
+ // AzureCosmosDBOperationRequestChargeKey is the attribute Key conforming to the
+ // "azure.cosmosdb.operation.request_charge" semantic conventions. It represents
+ // the number of request units consumed by the operation.
+ //
+ // Type: double
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: 46.18, 1.0
+ AzureCosmosDBOperationRequestChargeKey = attribute.Key("azure.cosmosdb.operation.request_charge")
+
+ // AzureCosmosDBRequestBodySizeKey is the attribute Key conforming to the
+ // "azure.cosmosdb.request.body.size" semantic conventions. It represents the
+ // request payload size in bytes.
+ //
+ // Type: int
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples:
+ AzureCosmosDBRequestBodySizeKey = attribute.Key("azure.cosmosdb.request.body.size")
+
+ // AzureCosmosDBResponseSubStatusCodeKey is the attribute Key conforming to the
+ // "azure.cosmosdb.response.sub_status_code" semantic conventions. It represents
+ // the cosmos DB sub status code.
+ //
+ // Type: int
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: 1000, 1002
+ AzureCosmosDBResponseSubStatusCodeKey = attribute.Key("azure.cosmosdb.response.sub_status_code")
+)
+
+// AzureClientID returns an attribute KeyValue conforming to the
+// "azure.client.id" semantic conventions. It represents the unique identifier of
+// the client instance.
+func AzureClientID(val string) attribute.KeyValue {
+ return AzureClientIDKey.String(val)
+}
+
+// AzureCosmosDBOperationContactedRegions returns an attribute KeyValue
+// conforming to the "azure.cosmosdb.operation.contacted_regions" semantic
+// conventions. It represents the list of regions contacted during operation in
+// the order that they were contacted. If there is more than one region listed,
+// it indicates that the operation was performed on multiple regions i.e.
+// cross-regional call.
+func AzureCosmosDBOperationContactedRegions(val ...string) attribute.KeyValue {
+ return AzureCosmosDBOperationContactedRegionsKey.StringSlice(val)
+}
+
+// AzureCosmosDBOperationRequestCharge returns an attribute KeyValue conforming
+// to the "azure.cosmosdb.operation.request_charge" semantic conventions. It
+// represents the number of request units consumed by the operation.
+func AzureCosmosDBOperationRequestCharge(val float64) attribute.KeyValue {
+ return AzureCosmosDBOperationRequestChargeKey.Float64(val)
+}
+
+// AzureCosmosDBRequestBodySize returns an attribute KeyValue conforming to the
+// "azure.cosmosdb.request.body.size" semantic conventions. It represents the
+// request payload size in bytes.
+func AzureCosmosDBRequestBodySize(val int) attribute.KeyValue {
+ return AzureCosmosDBRequestBodySizeKey.Int(val)
+}
+
+// AzureCosmosDBResponseSubStatusCode returns an attribute KeyValue conforming to
+// the "azure.cosmosdb.response.sub_status_code" semantic conventions. It
+// represents the cosmos DB sub status code.
+func AzureCosmosDBResponseSubStatusCode(val int) attribute.KeyValue {
+ return AzureCosmosDBResponseSubStatusCodeKey.Int(val)
+}
+
+// Enum values for azure.cosmosdb.connection.mode
+var (
+ // Gateway (HTTP) connection.
+ // Stability: development
+ AzureCosmosDBConnectionModeGateway = AzureCosmosDBConnectionModeKey.String("gateway")
+ // Direct connection.
+ // Stability: development
+ AzureCosmosDBConnectionModeDirect = AzureCosmosDBConnectionModeKey.String("direct")
+)
+
+// Enum values for azure.cosmosdb.consistency.level
+var (
+ // strong
+ // Stability: development
+ AzureCosmosDBConsistencyLevelStrong = AzureCosmosDBConsistencyLevelKey.String("Strong")
+ // bounded_staleness
+ // Stability: development
+ AzureCosmosDBConsistencyLevelBoundedStaleness = AzureCosmosDBConsistencyLevelKey.String("BoundedStaleness")
+ // session
+ // Stability: development
+ AzureCosmosDBConsistencyLevelSession = AzureCosmosDBConsistencyLevelKey.String("Session")
+ // eventual
+ // Stability: development
+ AzureCosmosDBConsistencyLevelEventual = AzureCosmosDBConsistencyLevelKey.String("Eventual")
+ // consistent_prefix
+ // Stability: development
+ AzureCosmosDBConsistencyLevelConsistentPrefix = AzureCosmosDBConsistencyLevelKey.String("ConsistentPrefix")
+)
+
+// Namespace: browser
+const (
+ // BrowserBrandsKey is the attribute Key conforming to the "browser.brands"
+ // semantic conventions. It represents the array of brand name and version
+ // separated by a space.
+ //
+ // Type: string[]
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: " Not A;Brand 99", "Chromium 99", "Chrome 99"
+ // Note: This value is intended to be taken from the [UA client hints API] (
+ // `navigator.userAgentData.brands`).
+ //
+ // [UA client hints API]: https://wicg.github.io/ua-client-hints/#interface
+ BrowserBrandsKey = attribute.Key("browser.brands")
+
+ // BrowserLanguageKey is the attribute Key conforming to the "browser.language"
+ // semantic conventions. It represents the preferred language of the user using
+ // the browser.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "en", "en-US", "fr", "fr-FR"
+ // Note: This value is intended to be taken from the Navigator API
+ // `navigator.language`.
+ BrowserLanguageKey = attribute.Key("browser.language")
+
+ // BrowserMobileKey is the attribute Key conforming to the "browser.mobile"
+ // semantic conventions. It represents a boolean that is true if the browser is
+ // running on a mobile device.
+ //
+ // Type: boolean
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples:
+ // Note: This value is intended to be taken from the [UA client hints API] (
+ // `navigator.userAgentData.mobile`). If unavailable, this attribute SHOULD be
+ // left unset.
+ //
+ // [UA client hints API]: https://wicg.github.io/ua-client-hints/#interface
+ BrowserMobileKey = attribute.Key("browser.mobile")
+
+ // BrowserPlatformKey is the attribute Key conforming to the "browser.platform"
+ // semantic conventions. It represents the platform on which the browser is
+ // running.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "Windows", "macOS", "Android"
+ // Note: This value is intended to be taken from the [UA client hints API] (
+ // `navigator.userAgentData.platform`). If unavailable, the legacy
+ // `navigator.platform` API SHOULD NOT be used instead and this attribute SHOULD
+ // be left unset in order for the values to be consistent.
+ // The list of possible values is defined in the
+ // [W3C User-Agent Client Hints specification]. Note that some (but not all) of
+ // these values can overlap with values in the
+ // [`os.type` and `os.name` attributes]. However, for consistency, the values in
+ // the `browser.platform` attribute should capture the exact value that the user
+ // agent provides.
+ //
+ // [UA client hints API]: https://wicg.github.io/ua-client-hints/#interface
+ // [W3C User-Agent Client Hints specification]: https://wicg.github.io/ua-client-hints/#sec-ch-ua-platform
+ // [`os.type` and `os.name` attributes]: ./os.md
+ BrowserPlatformKey = attribute.Key("browser.platform")
+)
+
+// BrowserBrands returns an attribute KeyValue conforming to the "browser.brands"
+// semantic conventions. It represents the array of brand name and version
+// separated by a space.
+func BrowserBrands(val ...string) attribute.KeyValue {
+ return BrowserBrandsKey.StringSlice(val)
+}
+
+// BrowserLanguage returns an attribute KeyValue conforming to the
+// "browser.language" semantic conventions. It represents the preferred language
+// of the user using the browser.
+func BrowserLanguage(val string) attribute.KeyValue {
+ return BrowserLanguageKey.String(val)
+}
+
+// BrowserMobile returns an attribute KeyValue conforming to the "browser.mobile"
+// semantic conventions. It represents a boolean that is true if the browser is
+// running on a mobile device.
+func BrowserMobile(val bool) attribute.KeyValue {
+ return BrowserMobileKey.Bool(val)
+}
+
+// BrowserPlatform returns an attribute KeyValue conforming to the
+// "browser.platform" semantic conventions. It represents the platform on which
+// the browser is running.
+func BrowserPlatform(val string) attribute.KeyValue {
+ return BrowserPlatformKey.String(val)
+}
+
+// Namespace: cassandra
+const (
+ // CassandraConsistencyLevelKey is the attribute Key conforming to the
+ // "cassandra.consistency.level" semantic conventions. It represents the
+ // consistency level of the query. Based on consistency values from [CQL].
+ //
+ // Type: Enum
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples:
+ //
+ // [CQL]: https://docs.datastax.com/en/cassandra-oss/3.0/cassandra/dml/dmlConfigConsistency.html
+ CassandraConsistencyLevelKey = attribute.Key("cassandra.consistency.level")
+
+ // CassandraCoordinatorDCKey is the attribute Key conforming to the
+ // "cassandra.coordinator.dc" semantic conventions. It represents the data
+ // center of the coordinating node for a query.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: us-west-2
+ CassandraCoordinatorDCKey = attribute.Key("cassandra.coordinator.dc")
+
+ // CassandraCoordinatorIDKey is the attribute Key conforming to the
+ // "cassandra.coordinator.id" semantic conventions. It represents the ID of the
+ // coordinating node for a query.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: be13faa2-8574-4d71-926d-27f16cf8a7af
+ CassandraCoordinatorIDKey = attribute.Key("cassandra.coordinator.id")
+
+ // CassandraPageSizeKey is the attribute Key conforming to the
+ // "cassandra.page.size" semantic conventions. It represents the fetch size used
+ // for paging, i.e. how many rows will be returned at once.
+ //
+ // Type: int
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: 5000
+ CassandraPageSizeKey = attribute.Key("cassandra.page.size")
+
+ // CassandraQueryIdempotentKey is the attribute Key conforming to the
+ // "cassandra.query.idempotent" semantic conventions. It represents the whether
+ // or not the query is idempotent.
+ //
+ // Type: boolean
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples:
+ CassandraQueryIdempotentKey = attribute.Key("cassandra.query.idempotent")
+
+ // CassandraSpeculativeExecutionCountKey is the attribute Key conforming to the
+ // "cassandra.speculative_execution.count" semantic conventions. It represents
+ // the number of times a query was speculatively executed. Not set or `0` if the
+ // query was not executed speculatively.
+ //
+ // Type: int
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: 0, 2
+ CassandraSpeculativeExecutionCountKey = attribute.Key("cassandra.speculative_execution.count")
+)
+
+// CassandraCoordinatorDC returns an attribute KeyValue conforming to the
+// "cassandra.coordinator.dc" semantic conventions. It represents the data center
+// of the coordinating node for a query.
+func CassandraCoordinatorDC(val string) attribute.KeyValue {
+ return CassandraCoordinatorDCKey.String(val)
+}
+
+// CassandraCoordinatorID returns an attribute KeyValue conforming to the
+// "cassandra.coordinator.id" semantic conventions. It represents the ID of the
+// coordinating node for a query.
+func CassandraCoordinatorID(val string) attribute.KeyValue {
+ return CassandraCoordinatorIDKey.String(val)
+}
+
+// CassandraPageSize returns an attribute KeyValue conforming to the
+// "cassandra.page.size" semantic conventions. It represents the fetch size used
+// for paging, i.e. how many rows will be returned at once.
+func CassandraPageSize(val int) attribute.KeyValue {
+ return CassandraPageSizeKey.Int(val)
+}
+
+// CassandraQueryIdempotent returns an attribute KeyValue conforming to the
+// "cassandra.query.idempotent" semantic conventions. It represents the whether
+// or not the query is idempotent.
+func CassandraQueryIdempotent(val bool) attribute.KeyValue {
+ return CassandraQueryIdempotentKey.Bool(val)
+}
+
+// CassandraSpeculativeExecutionCount returns an attribute KeyValue conforming to
+// the "cassandra.speculative_execution.count" semantic conventions. It
+// represents the number of times a query was speculatively executed. Not set or
+// `0` if the query was not executed speculatively.
+func CassandraSpeculativeExecutionCount(val int) attribute.KeyValue {
+ return CassandraSpeculativeExecutionCountKey.Int(val)
+}
+
+// Enum values for cassandra.consistency.level
+var (
+ // all
+ // Stability: development
+ CassandraConsistencyLevelAll = CassandraConsistencyLevelKey.String("all")
+ // each_quorum
+ // Stability: development
+ CassandraConsistencyLevelEachQuorum = CassandraConsistencyLevelKey.String("each_quorum")
+ // quorum
+ // Stability: development
+ CassandraConsistencyLevelQuorum = CassandraConsistencyLevelKey.String("quorum")
+ // local_quorum
+ // Stability: development
+ CassandraConsistencyLevelLocalQuorum = CassandraConsistencyLevelKey.String("local_quorum")
+ // one
+ // Stability: development
+ CassandraConsistencyLevelOne = CassandraConsistencyLevelKey.String("one")
+ // two
+ // Stability: development
+ CassandraConsistencyLevelTwo = CassandraConsistencyLevelKey.String("two")
+ // three
+ // Stability: development
+ CassandraConsistencyLevelThree = CassandraConsistencyLevelKey.String("three")
+ // local_one
+ // Stability: development
+ CassandraConsistencyLevelLocalOne = CassandraConsistencyLevelKey.String("local_one")
+ // any
+ // Stability: development
+ CassandraConsistencyLevelAny = CassandraConsistencyLevelKey.String("any")
+ // serial
+ // Stability: development
+ CassandraConsistencyLevelSerial = CassandraConsistencyLevelKey.String("serial")
+ // local_serial
+ // Stability: development
+ CassandraConsistencyLevelLocalSerial = CassandraConsistencyLevelKey.String("local_serial")
+)
+
+// Namespace: cicd
+const (
+ // CICDPipelineActionNameKey is the attribute Key conforming to the
+ // "cicd.pipeline.action.name" semantic conventions. It represents the kind of
+ // action a pipeline run is performing.
+ //
+ // Type: Enum
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "BUILD", "RUN", "SYNC"
+ CICDPipelineActionNameKey = attribute.Key("cicd.pipeline.action.name")
+
+ // CICDPipelineNameKey is the attribute Key conforming to the
+ // "cicd.pipeline.name" semantic conventions. It represents the human readable
+ // name of the pipeline within a CI/CD system.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "Build and Test", "Lint", "Deploy Go Project",
+ // "deploy_to_environment"
+ CICDPipelineNameKey = attribute.Key("cicd.pipeline.name")
+
+ // CICDPipelineResultKey is the attribute Key conforming to the
+ // "cicd.pipeline.result" semantic conventions. It represents the result of a
+ // pipeline run.
+ //
+ // Type: Enum
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "success", "failure", "timeout", "skipped"
+ CICDPipelineResultKey = attribute.Key("cicd.pipeline.result")
+
+ // CICDPipelineRunIDKey is the attribute Key conforming to the
+ // "cicd.pipeline.run.id" semantic conventions. It represents the unique
+ // identifier of a pipeline run within a CI/CD system.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "120912"
+ CICDPipelineRunIDKey = attribute.Key("cicd.pipeline.run.id")
+
+ // CICDPipelineRunStateKey is the attribute Key conforming to the
+ // "cicd.pipeline.run.state" semantic conventions. It represents the pipeline
+ // run goes through these states during its lifecycle.
+ //
+ // Type: Enum
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "pending", "executing", "finalizing"
+ CICDPipelineRunStateKey = attribute.Key("cicd.pipeline.run.state")
+
+ // CICDPipelineRunURLFullKey is the attribute Key conforming to the
+ // "cicd.pipeline.run.url.full" semantic conventions. It represents the [URL] of
+ // the pipeline run, providing the complete address in order to locate and
+ // identify the pipeline run.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples:
+ // "https://github.com/open-telemetry/semantic-conventions/actions/runs/9753949763?pr=1075"
+ //
+ // [URL]: https://wikipedia.org/wiki/URL
+ CICDPipelineRunURLFullKey = attribute.Key("cicd.pipeline.run.url.full")
+
+ // CICDPipelineTaskNameKey is the attribute Key conforming to the
+ // "cicd.pipeline.task.name" semantic conventions. It represents the human
+ // readable name of a task within a pipeline. Task here most closely aligns with
+ // a [computing process] in a pipeline. Other terms for tasks include commands,
+ // steps, and procedures.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "Run GoLang Linter", "Go Build", "go-test", "deploy_binary"
+ //
+ // [computing process]: https://wikipedia.org/wiki/Pipeline_(computing)
+ CICDPipelineTaskNameKey = attribute.Key("cicd.pipeline.task.name")
+
+ // CICDPipelineTaskRunIDKey is the attribute Key conforming to the
+ // "cicd.pipeline.task.run.id" semantic conventions. It represents the unique
+ // identifier of a task run within a pipeline.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "12097"
+ CICDPipelineTaskRunIDKey = attribute.Key("cicd.pipeline.task.run.id")
+
+ // CICDPipelineTaskRunResultKey is the attribute Key conforming to the
+ // "cicd.pipeline.task.run.result" semantic conventions. It represents the
+ // result of a task run.
+ //
+ // Type: Enum
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "success", "failure", "timeout", "skipped"
+ CICDPipelineTaskRunResultKey = attribute.Key("cicd.pipeline.task.run.result")
+
+ // CICDPipelineTaskRunURLFullKey is the attribute Key conforming to the
+ // "cicd.pipeline.task.run.url.full" semantic conventions. It represents the
+ // [URL] of the pipeline task run, providing the complete address in order to
+ // locate and identify the pipeline task run.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples:
+ // "https://github.com/open-telemetry/semantic-conventions/actions/runs/9753949763/job/26920038674?pr=1075"
+ //
+ // [URL]: https://wikipedia.org/wiki/URL
+ CICDPipelineTaskRunURLFullKey = attribute.Key("cicd.pipeline.task.run.url.full")
+
+ // CICDPipelineTaskTypeKey is the attribute Key conforming to the
+ // "cicd.pipeline.task.type" semantic conventions. It represents the type of the
+ // task within a pipeline.
+ //
+ // Type: Enum
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "build", "test", "deploy"
+ CICDPipelineTaskTypeKey = attribute.Key("cicd.pipeline.task.type")
+
+ // CICDSystemComponentKey is the attribute Key conforming to the
+ // "cicd.system.component" semantic conventions. It represents the name of a
+ // component of the CICD system.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "controller", "scheduler", "agent"
+ CICDSystemComponentKey = attribute.Key("cicd.system.component")
+
+ // CICDWorkerIDKey is the attribute Key conforming to the "cicd.worker.id"
+ // semantic conventions. It represents the unique identifier of a worker within
+ // a CICD system.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "abc123", "10.0.1.2", "controller"
+ CICDWorkerIDKey = attribute.Key("cicd.worker.id")
+
+ // CICDWorkerNameKey is the attribute Key conforming to the "cicd.worker.name"
+ // semantic conventions. It represents the name of a worker within a CICD
+ // system.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "agent-abc", "controller", "Ubuntu LTS"
+ CICDWorkerNameKey = attribute.Key("cicd.worker.name")
+
+ // CICDWorkerStateKey is the attribute Key conforming to the "cicd.worker.state"
+ // semantic conventions. It represents the state of a CICD worker / agent.
+ //
+ // Type: Enum
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "idle", "busy", "down"
+ CICDWorkerStateKey = attribute.Key("cicd.worker.state")
+
+ // CICDWorkerURLFullKey is the attribute Key conforming to the
+ // "cicd.worker.url.full" semantic conventions. It represents the [URL] of the
+ // worker, providing the complete address in order to locate and identify the
+ // worker.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "https://cicd.example.org/worker/abc123"
+ //
+ // [URL]: https://wikipedia.org/wiki/URL
+ CICDWorkerURLFullKey = attribute.Key("cicd.worker.url.full")
+)
+
+// CICDPipelineName returns an attribute KeyValue conforming to the
+// "cicd.pipeline.name" semantic conventions. It represents the human readable
+// name of the pipeline within a CI/CD system.
+func CICDPipelineName(val string) attribute.KeyValue {
+ return CICDPipelineNameKey.String(val)
+}
+
+// CICDPipelineRunID returns an attribute KeyValue conforming to the
+// "cicd.pipeline.run.id" semantic conventions. It represents the unique
+// identifier of a pipeline run within a CI/CD system.
+func CICDPipelineRunID(val string) attribute.KeyValue {
+ return CICDPipelineRunIDKey.String(val)
+}
+
+// CICDPipelineRunURLFull returns an attribute KeyValue conforming to the
+// "cicd.pipeline.run.url.full" semantic conventions. It represents the [URL] of
+// the pipeline run, providing the complete address in order to locate and
+// identify the pipeline run.
+//
+// [URL]: https://wikipedia.org/wiki/URL
+func CICDPipelineRunURLFull(val string) attribute.KeyValue {
+ return CICDPipelineRunURLFullKey.String(val)
+}
+
+// CICDPipelineTaskName returns an attribute KeyValue conforming to the
+// "cicd.pipeline.task.name" semantic conventions. It represents the human
+// readable name of a task within a pipeline. Task here most closely aligns with
+// a [computing process] in a pipeline. Other terms for tasks include commands,
+// steps, and procedures.
+//
+// [computing process]: https://wikipedia.org/wiki/Pipeline_(computing)
+func CICDPipelineTaskName(val string) attribute.KeyValue {
+ return CICDPipelineTaskNameKey.String(val)
+}
+
+// CICDPipelineTaskRunID returns an attribute KeyValue conforming to the
+// "cicd.pipeline.task.run.id" semantic conventions. It represents the unique
+// identifier of a task run within a pipeline.
+func CICDPipelineTaskRunID(val string) attribute.KeyValue {
+ return CICDPipelineTaskRunIDKey.String(val)
+}
+
+// CICDPipelineTaskRunURLFull returns an attribute KeyValue conforming to the
+// "cicd.pipeline.task.run.url.full" semantic conventions. It represents the
+// [URL] of the pipeline task run, providing the complete address in order to
+// locate and identify the pipeline task run.
+//
+// [URL]: https://wikipedia.org/wiki/URL
+func CICDPipelineTaskRunURLFull(val string) attribute.KeyValue {
+ return CICDPipelineTaskRunURLFullKey.String(val)
+}
+
+// CICDSystemComponent returns an attribute KeyValue conforming to the
+// "cicd.system.component" semantic conventions. It represents the name of a
+// component of the CICD system.
+func CICDSystemComponent(val string) attribute.KeyValue {
+ return CICDSystemComponentKey.String(val)
+}
+
+// CICDWorkerID returns an attribute KeyValue conforming to the "cicd.worker.id"
+// semantic conventions. It represents the unique identifier of a worker within a
+// CICD system.
+func CICDWorkerID(val string) attribute.KeyValue {
+ return CICDWorkerIDKey.String(val)
+}
+
+// CICDWorkerName returns an attribute KeyValue conforming to the
+// "cicd.worker.name" semantic conventions. It represents the name of a worker
+// within a CICD system.
+func CICDWorkerName(val string) attribute.KeyValue {
+ return CICDWorkerNameKey.String(val)
+}
+
+// CICDWorkerURLFull returns an attribute KeyValue conforming to the
+// "cicd.worker.url.full" semantic conventions. It represents the [URL] of the
+// worker, providing the complete address in order to locate and identify the
+// worker.
+//
+// [URL]: https://wikipedia.org/wiki/URL
+func CICDWorkerURLFull(val string) attribute.KeyValue {
+ return CICDWorkerURLFullKey.String(val)
+}
+
+// Enum values for cicd.pipeline.action.name
+var (
+ // The pipeline run is executing a build.
+ // Stability: development
+ CICDPipelineActionNameBuild = CICDPipelineActionNameKey.String("BUILD")
+ // The pipeline run is executing.
+ // Stability: development
+ CICDPipelineActionNameRun = CICDPipelineActionNameKey.String("RUN")
+ // The pipeline run is executing a sync.
+ // Stability: development
+ CICDPipelineActionNameSync = CICDPipelineActionNameKey.String("SYNC")
+)
+
+// Enum values for cicd.pipeline.result
+var (
+ // The pipeline run finished successfully.
+ // Stability: development
+ CICDPipelineResultSuccess = CICDPipelineResultKey.String("success")
+ // The pipeline run did not finish successfully, eg. due to a compile error or a
+ // failing test. Such failures are usually detected by non-zero exit codes of
+ // the tools executed in the pipeline run.
+ // Stability: development
+ CICDPipelineResultFailure = CICDPipelineResultKey.String("failure")
+ // The pipeline run failed due to an error in the CICD system, eg. due to the
+ // worker being killed.
+ // Stability: development
+ CICDPipelineResultError = CICDPipelineResultKey.String("error")
+ // A timeout caused the pipeline run to be interrupted.
+ // Stability: development
+ CICDPipelineResultTimeout = CICDPipelineResultKey.String("timeout")
+ // The pipeline run was cancelled, eg. by a user manually cancelling the
+ // pipeline run.
+ // Stability: development
+ CICDPipelineResultCancellation = CICDPipelineResultKey.String("cancellation")
+ // The pipeline run was skipped, eg. due to a precondition not being met.
+ // Stability: development
+ CICDPipelineResultSkip = CICDPipelineResultKey.String("skip")
+)
+
+// Enum values for cicd.pipeline.run.state
+var (
+ // The run pending state spans from the event triggering the pipeline run until
+ // the execution of the run starts (eg. time spent in a queue, provisioning
+ // agents, creating run resources).
+ //
+ // Stability: development
+ CICDPipelineRunStatePending = CICDPipelineRunStateKey.String("pending")
+ // The executing state spans the execution of any run tasks (eg. build, test).
+ // Stability: development
+ CICDPipelineRunStateExecuting = CICDPipelineRunStateKey.String("executing")
+ // The finalizing state spans from when the run has finished executing (eg.
+ // cleanup of run resources).
+ // Stability: development
+ CICDPipelineRunStateFinalizing = CICDPipelineRunStateKey.String("finalizing")
+)
+
+// Enum values for cicd.pipeline.task.run.result
+var (
+ // The task run finished successfully.
+ // Stability: development
+ CICDPipelineTaskRunResultSuccess = CICDPipelineTaskRunResultKey.String("success")
+ // The task run did not finish successfully, eg. due to a compile error or a
+ // failing test. Such failures are usually detected by non-zero exit codes of
+ // the tools executed in the task run.
+ // Stability: development
+ CICDPipelineTaskRunResultFailure = CICDPipelineTaskRunResultKey.String("failure")
+ // The task run failed due to an error in the CICD system, eg. due to the worker
+ // being killed.
+ // Stability: development
+ CICDPipelineTaskRunResultError = CICDPipelineTaskRunResultKey.String("error")
+ // A timeout caused the task run to be interrupted.
+ // Stability: development
+ CICDPipelineTaskRunResultTimeout = CICDPipelineTaskRunResultKey.String("timeout")
+ // The task run was cancelled, eg. by a user manually cancelling the task run.
+ // Stability: development
+ CICDPipelineTaskRunResultCancellation = CICDPipelineTaskRunResultKey.String("cancellation")
+ // The task run was skipped, eg. due to a precondition not being met.
+ // Stability: development
+ CICDPipelineTaskRunResultSkip = CICDPipelineTaskRunResultKey.String("skip")
+)
+
+// Enum values for cicd.pipeline.task.type
+var (
+ // build
+ // Stability: development
+ CICDPipelineTaskTypeBuild = CICDPipelineTaskTypeKey.String("build")
+ // test
+ // Stability: development
+ CICDPipelineTaskTypeTest = CICDPipelineTaskTypeKey.String("test")
+ // deploy
+ // Stability: development
+ CICDPipelineTaskTypeDeploy = CICDPipelineTaskTypeKey.String("deploy")
+)
+
+// Enum values for cicd.worker.state
+var (
+ // The worker is not performing work for the CICD system. It is available to the
+ // CICD system to perform work on (online / idle).
+ // Stability: development
+ CICDWorkerStateAvailable = CICDWorkerStateKey.String("available")
+ // The worker is performing work for the CICD system.
+ // Stability: development
+ CICDWorkerStateBusy = CICDWorkerStateKey.String("busy")
+ // The worker is not available to the CICD system (disconnected / down).
+ // Stability: development
+ CICDWorkerStateOffline = CICDWorkerStateKey.String("offline")
+)
+
+// Namespace: client
+const (
+ // ClientAddressKey is the attribute Key conforming to the "client.address"
+ // semantic conventions. It represents the client address - domain name if
+ // available without reverse DNS lookup; otherwise, IP address or Unix domain
+ // socket name.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Stable
+ //
+ // Examples: "client.example.com", "10.1.2.80", "/tmp/my.sock"
+ // Note: When observed from the server side, and when communicating through an
+ // intermediary, `client.address` SHOULD represent the client address behind any
+ // intermediaries, for example proxies, if it's available.
+ ClientAddressKey = attribute.Key("client.address")
+
+ // ClientPortKey is the attribute Key conforming to the "client.port" semantic
+ // conventions. It represents the client port number.
+ //
+ // Type: int
+ // RequirementLevel: Recommended
+ // Stability: Stable
+ //
+ // Examples: 65123
+ // Note: When observed from the server side, and when communicating through an
+ // intermediary, `client.port` SHOULD represent the client port behind any
+ // intermediaries, for example proxies, if it's available.
+ ClientPortKey = attribute.Key("client.port")
+)
+
+// ClientAddress returns an attribute KeyValue conforming to the "client.address"
+// semantic conventions. It represents the client address - domain name if
+// available without reverse DNS lookup; otherwise, IP address or Unix domain
+// socket name.
+func ClientAddress(val string) attribute.KeyValue {
+ return ClientAddressKey.String(val)
+}
+
+// ClientPort returns an attribute KeyValue conforming to the "client.port"
+// semantic conventions. It represents the client port number.
+func ClientPort(val int) attribute.KeyValue {
+ return ClientPortKey.Int(val)
+}
+
+// Namespace: cloud
+const (
+ // CloudAccountIDKey is the attribute Key conforming to the "cloud.account.id"
+ // semantic conventions. It represents the cloud account ID the resource is
+ // assigned to.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "111111111111", "opentelemetry"
+ CloudAccountIDKey = attribute.Key("cloud.account.id")
+
+ // CloudAvailabilityZoneKey is the attribute Key conforming to the
+ // "cloud.availability_zone" semantic conventions. It represents the cloud
+ // regions often have multiple, isolated locations known as zones to increase
+ // availability. Availability zone represents the zone where the resource is
+ // running.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "us-east-1c"
+ // Note: Availability zones are called "zones" on Alibaba Cloud and Google
+ // Cloud.
+ CloudAvailabilityZoneKey = attribute.Key("cloud.availability_zone")
+
+ // CloudPlatformKey is the attribute Key conforming to the "cloud.platform"
+ // semantic conventions. It represents the cloud platform in use.
+ //
+ // Type: Enum
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples:
+ // Note: The prefix of the service SHOULD match the one specified in
+ // `cloud.provider`.
+ CloudPlatformKey = attribute.Key("cloud.platform")
+
+ // CloudProviderKey is the attribute Key conforming to the "cloud.provider"
+ // semantic conventions. It represents the name of the cloud provider.
+ //
+ // Type: Enum
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples:
+ CloudProviderKey = attribute.Key("cloud.provider")
+
+ // CloudRegionKey is the attribute Key conforming to the "cloud.region" semantic
+ // conventions. It represents the geographical region within a cloud provider.
+ // When associated with a resource, this attribute specifies the region where
+ // the resource operates. When calling services or APIs deployed on a cloud,
+ // this attribute identifies the region where the called destination is
+ // deployed.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "us-central1", "us-east-1"
+ // Note: Refer to your provider's docs to see the available regions, for example
+ // [Alibaba Cloud regions], [AWS regions], [Azure regions],
+ // [Google Cloud regions], or [Tencent Cloud regions].
+ //
+ // [Alibaba Cloud regions]: https://www.alibabacloud.com/help/doc-detail/40654.htm
+ // [AWS regions]: https://aws.amazon.com/about-aws/global-infrastructure/regions_az/
+ // [Azure regions]: https://azure.microsoft.com/global-infrastructure/geographies/
+ // [Google Cloud regions]: https://cloud.google.com/about/locations
+ // [Tencent Cloud regions]: https://www.tencentcloud.com/document/product/213/6091
+ CloudRegionKey = attribute.Key("cloud.region")
+
+ // CloudResourceIDKey is the attribute Key conforming to the "cloud.resource_id"
+ // semantic conventions. It represents the cloud provider-specific native
+ // identifier of the monitored cloud resource (e.g. an [ARN] on AWS, a
+ // [fully qualified resource ID] on Azure, a [full resource name] on GCP).
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "arn:aws:lambda:REGION:ACCOUNT_ID:function:my-function",
+ // "//run.googleapis.com/projects/PROJECT_ID/locations/LOCATION_ID/services/SERVICE_ID",
+ // "/subscriptions//resourceGroups/
+ // /providers/Microsoft.Web/sites//functions/"
+ // Note: On some cloud providers, it may not be possible to determine the full
+ // ID at startup,
+ // so it may be necessary to set `cloud.resource_id` as a span attribute
+ // instead.
+ //
+ // The exact value to use for `cloud.resource_id` depends on the cloud provider.
+ // The following well-known definitions MUST be used if you set this attribute
+ // and they apply:
+ //
+ // - **AWS Lambda:** The function [ARN].
+ // Take care not to use the "invoked ARN" directly but replace any
+ // [alias suffix]
+ // with the resolved function version, as the same runtime instance may be
+ // invocable with
+ // multiple different aliases.
+ // - **GCP:** The [URI of the resource]
+ // - **Azure:** The [Fully Qualified Resource ID] of the invoked function,
+ // *not* the function app, having the form
+ //
+ // `/subscriptions//resourceGroups//providers/Microsoft.Web/sites//functions/`
+ // .
+ // This means that a span attribute MUST be used, as an Azure function app
+ // can host multiple functions that would usually share
+ // a TracerProvider.
+ //
+ //
+ // [ARN]: https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html
+ // [fully qualified resource ID]: https://learn.microsoft.com/rest/api/resources/resources/get-by-id
+ // [full resource name]: https://google.aip.dev/122#full-resource-names
+ // [ARN]: https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html
+ // [alias suffix]: https://docs.aws.amazon.com/lambda/latest/dg/configuration-aliases.html
+ // [URI of the resource]: https://cloud.google.com/iam/docs/full-resource-names
+ // [Fully Qualified Resource ID]: https://docs.microsoft.com/rest/api/resources/resources/get-by-id
+ CloudResourceIDKey = attribute.Key("cloud.resource_id")
+)
+
+// CloudAccountID returns an attribute KeyValue conforming to the
+// "cloud.account.id" semantic conventions. It represents the cloud account ID
+// the resource is assigned to.
+func CloudAccountID(val string) attribute.KeyValue {
+ return CloudAccountIDKey.String(val)
+}
+
+// CloudAvailabilityZone returns an attribute KeyValue conforming to the
+// "cloud.availability_zone" semantic conventions. It represents the cloud
+// regions often have multiple, isolated locations known as zones to increase
+// availability. Availability zone represents the zone where the resource is
+// running.
+func CloudAvailabilityZone(val string) attribute.KeyValue {
+ return CloudAvailabilityZoneKey.String(val)
+}
+
+// CloudRegion returns an attribute KeyValue conforming to the "cloud.region"
+// semantic conventions. It represents the geographical region within a cloud
+// provider. When associated with a resource, this attribute specifies the region
+// where the resource operates. When calling services or APIs deployed on a
+// cloud, this attribute identifies the region where the called destination is
+// deployed.
+func CloudRegion(val string) attribute.KeyValue {
+ return CloudRegionKey.String(val)
+}
+
+// CloudResourceID returns an attribute KeyValue conforming to the
+// "cloud.resource_id" semantic conventions. It represents the cloud
+// provider-specific native identifier of the monitored cloud resource (e.g. an
+// [ARN] on AWS, a [fully qualified resource ID] on Azure, a [full resource name]
+// on GCP).
+//
+// [ARN]: https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html
+// [fully qualified resource ID]: https://learn.microsoft.com/rest/api/resources/resources/get-by-id
+// [full resource name]: https://google.aip.dev/122#full-resource-names
+func CloudResourceID(val string) attribute.KeyValue {
+ return CloudResourceIDKey.String(val)
+}
+
+// Enum values for cloud.platform
+var (
+ // Alibaba Cloud Elastic Compute Service
+ // Stability: development
+ CloudPlatformAlibabaCloudECS = CloudPlatformKey.String("alibaba_cloud_ecs")
+ // Alibaba Cloud Function Compute
+ // Stability: development
+ CloudPlatformAlibabaCloudFC = CloudPlatformKey.String("alibaba_cloud_fc")
+ // Red Hat OpenShift on Alibaba Cloud
+ // Stability: development
+ CloudPlatformAlibabaCloudOpenShift = CloudPlatformKey.String("alibaba_cloud_openshift")
+ // AWS Elastic Compute Cloud
+ // Stability: development
+ CloudPlatformAWSEC2 = CloudPlatformKey.String("aws_ec2")
+ // AWS Elastic Container Service
+ // Stability: development
+ CloudPlatformAWSECS = CloudPlatformKey.String("aws_ecs")
+ // AWS Elastic Kubernetes Service
+ // Stability: development
+ CloudPlatformAWSEKS = CloudPlatformKey.String("aws_eks")
+ // AWS Lambda
+ // Stability: development
+ CloudPlatformAWSLambda = CloudPlatformKey.String("aws_lambda")
+ // AWS Elastic Beanstalk
+ // Stability: development
+ CloudPlatformAWSElasticBeanstalk = CloudPlatformKey.String("aws_elastic_beanstalk")
+ // AWS App Runner
+ // Stability: development
+ CloudPlatformAWSAppRunner = CloudPlatformKey.String("aws_app_runner")
+ // Red Hat OpenShift on AWS (ROSA)
+ // Stability: development
+ CloudPlatformAWSOpenShift = CloudPlatformKey.String("aws_openshift")
+ // Azure Virtual Machines
+ // Stability: development
+ CloudPlatformAzureVM = CloudPlatformKey.String("azure_vm")
+ // Azure Container Apps
+ // Stability: development
+ CloudPlatformAzureContainerApps = CloudPlatformKey.String("azure_container_apps")
+ // Azure Container Instances
+ // Stability: development
+ CloudPlatformAzureContainerInstances = CloudPlatformKey.String("azure_container_instances")
+ // Azure Kubernetes Service
+ // Stability: development
+ CloudPlatformAzureAKS = CloudPlatformKey.String("azure_aks")
+ // Azure Functions
+ // Stability: development
+ CloudPlatformAzureFunctions = CloudPlatformKey.String("azure_functions")
+ // Azure App Service
+ // Stability: development
+ CloudPlatformAzureAppService = CloudPlatformKey.String("azure_app_service")
+ // Azure Red Hat OpenShift
+ // Stability: development
+ CloudPlatformAzureOpenShift = CloudPlatformKey.String("azure_openshift")
+ // Google Bare Metal Solution (BMS)
+ // Stability: development
+ CloudPlatformGCPBareMetalSolution = CloudPlatformKey.String("gcp_bare_metal_solution")
+ // Google Cloud Compute Engine (GCE)
+ // Stability: development
+ CloudPlatformGCPComputeEngine = CloudPlatformKey.String("gcp_compute_engine")
+ // Google Cloud Run
+ // Stability: development
+ CloudPlatformGCPCloudRun = CloudPlatformKey.String("gcp_cloud_run")
+ // Google Cloud Kubernetes Engine (GKE)
+ // Stability: development
+ CloudPlatformGCPKubernetesEngine = CloudPlatformKey.String("gcp_kubernetes_engine")
+ // Google Cloud Functions (GCF)
+ // Stability: development
+ CloudPlatformGCPCloudFunctions = CloudPlatformKey.String("gcp_cloud_functions")
+ // Google Cloud App Engine (GAE)
+ // Stability: development
+ CloudPlatformGCPAppEngine = CloudPlatformKey.String("gcp_app_engine")
+ // Red Hat OpenShift on Google Cloud
+ // Stability: development
+ CloudPlatformGCPOpenShift = CloudPlatformKey.String("gcp_openshift")
+ // Red Hat OpenShift on IBM Cloud
+ // Stability: development
+ CloudPlatformIBMCloudOpenShift = CloudPlatformKey.String("ibm_cloud_openshift")
+ // Compute on Oracle Cloud Infrastructure (OCI)
+ // Stability: development
+ CloudPlatformOracleCloudCompute = CloudPlatformKey.String("oracle_cloud_compute")
+ // Kubernetes Engine (OKE) on Oracle Cloud Infrastructure (OCI)
+ // Stability: development
+ CloudPlatformOracleCloudOKE = CloudPlatformKey.String("oracle_cloud_oke")
+ // Tencent Cloud Cloud Virtual Machine (CVM)
+ // Stability: development
+ CloudPlatformTencentCloudCVM = CloudPlatformKey.String("tencent_cloud_cvm")
+ // Tencent Cloud Elastic Kubernetes Service (EKS)
+ // Stability: development
+ CloudPlatformTencentCloudEKS = CloudPlatformKey.String("tencent_cloud_eks")
+ // Tencent Cloud Serverless Cloud Function (SCF)
+ // Stability: development
+ CloudPlatformTencentCloudSCF = CloudPlatformKey.String("tencent_cloud_scf")
+)
+
+// Enum values for cloud.provider
+var (
+ // Alibaba Cloud
+ // Stability: development
+ CloudProviderAlibabaCloud = CloudProviderKey.String("alibaba_cloud")
+ // Amazon Web Services
+ // Stability: development
+ CloudProviderAWS = CloudProviderKey.String("aws")
+ // Microsoft Azure
+ // Stability: development
+ CloudProviderAzure = CloudProviderKey.String("azure")
+ // Google Cloud Platform
+ // Stability: development
+ CloudProviderGCP = CloudProviderKey.String("gcp")
+ // Heroku Platform as a Service
+ // Stability: development
+ CloudProviderHeroku = CloudProviderKey.String("heroku")
+ // IBM Cloud
+ // Stability: development
+ CloudProviderIBMCloud = CloudProviderKey.String("ibm_cloud")
+ // Oracle Cloud Infrastructure (OCI)
+ // Stability: development
+ CloudProviderOracleCloud = CloudProviderKey.String("oracle_cloud")
+ // Tencent Cloud
+ // Stability: development
+ CloudProviderTencentCloud = CloudProviderKey.String("tencent_cloud")
+)
+
+// Namespace: cloudevents
+const (
+ // CloudEventsEventIDKey is the attribute Key conforming to the
+ // "cloudevents.event_id" semantic conventions. It represents the [event_id]
+ // uniquely identifies the event.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "123e4567-e89b-12d3-a456-426614174000", "0001"
+ //
+ // [event_id]: https://github.com/cloudevents/spec/blob/v1.0.2/cloudevents/spec.md#id
+ CloudEventsEventIDKey = attribute.Key("cloudevents.event_id")
+
+ // CloudEventsEventSourceKey is the attribute Key conforming to the
+ // "cloudevents.event_source" semantic conventions. It represents the [source]
+ // identifies the context in which an event happened.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "https://github.com/cloudevents", "/cloudevents/spec/pull/123",
+ // "my-service"
+ //
+ // [source]: https://github.com/cloudevents/spec/blob/v1.0.2/cloudevents/spec.md#source-1
+ CloudEventsEventSourceKey = attribute.Key("cloudevents.event_source")
+
+ // CloudEventsEventSpecVersionKey is the attribute Key conforming to the
+ // "cloudevents.event_spec_version" semantic conventions. It represents the
+ // [version of the CloudEvents specification] which the event uses.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: 1.0
+ //
+ // [version of the CloudEvents specification]: https://github.com/cloudevents/spec/blob/v1.0.2/cloudevents/spec.md#specversion
+ CloudEventsEventSpecVersionKey = attribute.Key("cloudevents.event_spec_version")
+
+ // CloudEventsEventSubjectKey is the attribute Key conforming to the
+ // "cloudevents.event_subject" semantic conventions. It represents the [subject]
+ // of the event in the context of the event producer (identified by source).
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: mynewfile.jpg
+ //
+ // [subject]: https://github.com/cloudevents/spec/blob/v1.0.2/cloudevents/spec.md#subject
+ CloudEventsEventSubjectKey = attribute.Key("cloudevents.event_subject")
+
+ // CloudEventsEventTypeKey is the attribute Key conforming to the
+ // "cloudevents.event_type" semantic conventions. It represents the [event_type]
+ // contains a value describing the type of event related to the originating
+ // occurrence.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "com.github.pull_request.opened", "com.example.object.deleted.v2"
+ //
+ // [event_type]: https://github.com/cloudevents/spec/blob/v1.0.2/cloudevents/spec.md#type
+ CloudEventsEventTypeKey = attribute.Key("cloudevents.event_type")
+)
+
+// CloudEventsEventID returns an attribute KeyValue conforming to the
+// "cloudevents.event_id" semantic conventions. It represents the [event_id]
+// uniquely identifies the event.
+//
+// [event_id]: https://github.com/cloudevents/spec/blob/v1.0.2/cloudevents/spec.md#id
+func CloudEventsEventID(val string) attribute.KeyValue {
+ return CloudEventsEventIDKey.String(val)
+}
+
+// CloudEventsEventSource returns an attribute KeyValue conforming to the
+// "cloudevents.event_source" semantic conventions. It represents the [source]
+// identifies the context in which an event happened.
+//
+// [source]: https://github.com/cloudevents/spec/blob/v1.0.2/cloudevents/spec.md#source-1
+func CloudEventsEventSource(val string) attribute.KeyValue {
+ return CloudEventsEventSourceKey.String(val)
+}
+
+// CloudEventsEventSpecVersion returns an attribute KeyValue conforming to the
+// "cloudevents.event_spec_version" semantic conventions. It represents the
+// [version of the CloudEvents specification] which the event uses.
+//
+// [version of the CloudEvents specification]: https://github.com/cloudevents/spec/blob/v1.0.2/cloudevents/spec.md#specversion
+func CloudEventsEventSpecVersion(val string) attribute.KeyValue {
+ return CloudEventsEventSpecVersionKey.String(val)
+}
+
+// CloudEventsEventSubject returns an attribute KeyValue conforming to the
+// "cloudevents.event_subject" semantic conventions. It represents the [subject]
+// of the event in the context of the event producer (identified by source).
+//
+// [subject]: https://github.com/cloudevents/spec/blob/v1.0.2/cloudevents/spec.md#subject
+func CloudEventsEventSubject(val string) attribute.KeyValue {
+ return CloudEventsEventSubjectKey.String(val)
+}
+
+// CloudEventsEventType returns an attribute KeyValue conforming to the
+// "cloudevents.event_type" semantic conventions. It represents the [event_type]
+// contains a value describing the type of event related to the originating
+// occurrence.
+//
+// [event_type]: https://github.com/cloudevents/spec/blob/v1.0.2/cloudevents/spec.md#type
+func CloudEventsEventType(val string) attribute.KeyValue {
+ return CloudEventsEventTypeKey.String(val)
+}
+
+// Namespace: cloudfoundry
+const (
+ // CloudFoundryAppIDKey is the attribute Key conforming to the
+ // "cloudfoundry.app.id" semantic conventions. It represents the guid of the
+ // application.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "218fc5a9-a5f1-4b54-aa05-46717d0ab26d"
+ // Note: Application instrumentation should use the value from environment
+ // variable `VCAP_APPLICATION.application_id`. This is the same value as
+ // reported by `cf app --guid`.
+ CloudFoundryAppIDKey = attribute.Key("cloudfoundry.app.id")
+
+ // CloudFoundryAppInstanceIDKey is the attribute Key conforming to the
+ // "cloudfoundry.app.instance.id" semantic conventions. It represents the index
+ // of the application instance. 0 when just one instance is active.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "0", "1"
+ // Note: CloudFoundry defines the `instance_id` in the [Loggregator v2 envelope]
+ // .
+ // It is used for logs and metrics emitted by CloudFoundry. It is
+ // supposed to contain the application instance index for applications
+ // deployed on the runtime.
+ //
+ // Application instrumentation should use the value from environment
+ // variable `CF_INSTANCE_INDEX`.
+ //
+ // [Loggregator v2 envelope]: https://github.com/cloudfoundry/loggregator-api#v2-envelope
+ CloudFoundryAppInstanceIDKey = attribute.Key("cloudfoundry.app.instance.id")
+
+ // CloudFoundryAppNameKey is the attribute Key conforming to the
+ // "cloudfoundry.app.name" semantic conventions. It represents the name of the
+ // application.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "my-app-name"
+ // Note: Application instrumentation should use the value from environment
+ // variable `VCAP_APPLICATION.application_name`. This is the same value
+ // as reported by `cf apps`.
+ CloudFoundryAppNameKey = attribute.Key("cloudfoundry.app.name")
+
+ // CloudFoundryOrgIDKey is the attribute Key conforming to the
+ // "cloudfoundry.org.id" semantic conventions. It represents the guid of the
+ // CloudFoundry org the application is running in.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "218fc5a9-a5f1-4b54-aa05-46717d0ab26d"
+ // Note: Application instrumentation should use the value from environment
+ // variable `VCAP_APPLICATION.org_id`. This is the same value as
+ // reported by `cf org --guid`.
+ CloudFoundryOrgIDKey = attribute.Key("cloudfoundry.org.id")
+
+ // CloudFoundryOrgNameKey is the attribute Key conforming to the
+ // "cloudfoundry.org.name" semantic conventions. It represents the name of the
+ // CloudFoundry organization the app is running in.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "my-org-name"
+ // Note: Application instrumentation should use the value from environment
+ // variable `VCAP_APPLICATION.org_name`. This is the same value as
+ // reported by `cf orgs`.
+ CloudFoundryOrgNameKey = attribute.Key("cloudfoundry.org.name")
+
+ // CloudFoundryProcessIDKey is the attribute Key conforming to the
+ // "cloudfoundry.process.id" semantic conventions. It represents the UID
+ // identifying the process.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "218fc5a9-a5f1-4b54-aa05-46717d0ab26d"
+ // Note: Application instrumentation should use the value from environment
+ // variable `VCAP_APPLICATION.process_id`. It is supposed to be equal to
+ // `VCAP_APPLICATION.app_id` for applications deployed to the runtime.
+ // For system components, this could be the actual PID.
+ CloudFoundryProcessIDKey = attribute.Key("cloudfoundry.process.id")
+
+ // CloudFoundryProcessTypeKey is the attribute Key conforming to the
+ // "cloudfoundry.process.type" semantic conventions. It represents the type of
+ // process.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "web"
+ // Note: CloudFoundry applications can consist of multiple jobs. Usually the
+ // main process will be of type `web`. There can be additional background
+ // tasks or side-cars with different process types.
+ CloudFoundryProcessTypeKey = attribute.Key("cloudfoundry.process.type")
+
+ // CloudFoundrySpaceIDKey is the attribute Key conforming to the
+ // "cloudfoundry.space.id" semantic conventions. It represents the guid of the
+ // CloudFoundry space the application is running in.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "218fc5a9-a5f1-4b54-aa05-46717d0ab26d"
+ // Note: Application instrumentation should use the value from environment
+ // variable `VCAP_APPLICATION.space_id`. This is the same value as
+ // reported by `cf space --guid`.
+ CloudFoundrySpaceIDKey = attribute.Key("cloudfoundry.space.id")
+
+ // CloudFoundrySpaceNameKey is the attribute Key conforming to the
+ // "cloudfoundry.space.name" semantic conventions. It represents the name of the
+ // CloudFoundry space the application is running in.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "my-space-name"
+ // Note: Application instrumentation should use the value from environment
+ // variable `VCAP_APPLICATION.space_name`. This is the same value as
+ // reported by `cf spaces`.
+ CloudFoundrySpaceNameKey = attribute.Key("cloudfoundry.space.name")
+
+ // CloudFoundrySystemIDKey is the attribute Key conforming to the
+ // "cloudfoundry.system.id" semantic conventions. It represents a guid or
+ // another name describing the event source.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "cf/gorouter"
+ // Note: CloudFoundry defines the `source_id` in the [Loggregator v2 envelope].
+ // It is used for logs and metrics emitted by CloudFoundry. It is
+ // supposed to contain the component name, e.g. "gorouter", for
+ // CloudFoundry components.
+ //
+ // When system components are instrumented, values from the
+ // [Bosh spec]
+ // should be used. The `system.id` should be set to
+ // `spec.deployment/spec.name`.
+ //
+ // [Loggregator v2 envelope]: https://github.com/cloudfoundry/loggregator-api#v2-envelope
+ // [Bosh spec]: https://bosh.io/docs/jobs/#properties-spec
+ CloudFoundrySystemIDKey = attribute.Key("cloudfoundry.system.id")
+
+ // CloudFoundrySystemInstanceIDKey is the attribute Key conforming to the
+ // "cloudfoundry.system.instance.id" semantic conventions. It represents a guid
+ // describing the concrete instance of the event source.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "218fc5a9-a5f1-4b54-aa05-46717d0ab26d"
+ // Note: CloudFoundry defines the `instance_id` in the [Loggregator v2 envelope]
+ // .
+ // It is used for logs and metrics emitted by CloudFoundry. It is
+ // supposed to contain the vm id for CloudFoundry components.
+ //
+ // When system components are instrumented, values from the
+ // [Bosh spec]
+ // should be used. The `system.instance.id` should be set to `spec.id`.
+ //
+ // [Loggregator v2 envelope]: https://github.com/cloudfoundry/loggregator-api#v2-envelope
+ // [Bosh spec]: https://bosh.io/docs/jobs/#properties-spec
+ CloudFoundrySystemInstanceIDKey = attribute.Key("cloudfoundry.system.instance.id")
+)
+
+// CloudFoundryAppID returns an attribute KeyValue conforming to the
+// "cloudfoundry.app.id" semantic conventions. It represents the guid of the
+// application.
+func CloudFoundryAppID(val string) attribute.KeyValue {
+ return CloudFoundryAppIDKey.String(val)
+}
+
+// CloudFoundryAppInstanceID returns an attribute KeyValue conforming to the
+// "cloudfoundry.app.instance.id" semantic conventions. It represents the index
+// of the application instance. 0 when just one instance is active.
+func CloudFoundryAppInstanceID(val string) attribute.KeyValue {
+ return CloudFoundryAppInstanceIDKey.String(val)
+}
+
+// CloudFoundryAppName returns an attribute KeyValue conforming to the
+// "cloudfoundry.app.name" semantic conventions. It represents the name of the
+// application.
+func CloudFoundryAppName(val string) attribute.KeyValue {
+ return CloudFoundryAppNameKey.String(val)
+}
+
+// CloudFoundryOrgID returns an attribute KeyValue conforming to the
+// "cloudfoundry.org.id" semantic conventions. It represents the guid of the
+// CloudFoundry org the application is running in.
+func CloudFoundryOrgID(val string) attribute.KeyValue {
+ return CloudFoundryOrgIDKey.String(val)
+}
+
+// CloudFoundryOrgName returns an attribute KeyValue conforming to the
+// "cloudfoundry.org.name" semantic conventions. It represents the name of the
+// CloudFoundry organization the app is running in.
+func CloudFoundryOrgName(val string) attribute.KeyValue {
+ return CloudFoundryOrgNameKey.String(val)
+}
+
+// CloudFoundryProcessID returns an attribute KeyValue conforming to the
+// "cloudfoundry.process.id" semantic conventions. It represents the UID
+// identifying the process.
+func CloudFoundryProcessID(val string) attribute.KeyValue {
+ return CloudFoundryProcessIDKey.String(val)
+}
+
+// CloudFoundryProcessType returns an attribute KeyValue conforming to the
+// "cloudfoundry.process.type" semantic conventions. It represents the type of
+// process.
+func CloudFoundryProcessType(val string) attribute.KeyValue {
+ return CloudFoundryProcessTypeKey.String(val)
+}
+
+// CloudFoundrySpaceID returns an attribute KeyValue conforming to the
+// "cloudfoundry.space.id" semantic conventions. It represents the guid of the
+// CloudFoundry space the application is running in.
+func CloudFoundrySpaceID(val string) attribute.KeyValue {
+ return CloudFoundrySpaceIDKey.String(val)
+}
+
+// CloudFoundrySpaceName returns an attribute KeyValue conforming to the
+// "cloudfoundry.space.name" semantic conventions. It represents the name of the
+// CloudFoundry space the application is running in.
+func CloudFoundrySpaceName(val string) attribute.KeyValue {
+ return CloudFoundrySpaceNameKey.String(val)
+}
+
+// CloudFoundrySystemID returns an attribute KeyValue conforming to the
+// "cloudfoundry.system.id" semantic conventions. It represents a guid or another
+// name describing the event source.
+func CloudFoundrySystemID(val string) attribute.KeyValue {
+ return CloudFoundrySystemIDKey.String(val)
+}
+
+// CloudFoundrySystemInstanceID returns an attribute KeyValue conforming to the
+// "cloudfoundry.system.instance.id" semantic conventions. It represents a guid
+// describing the concrete instance of the event source.
+func CloudFoundrySystemInstanceID(val string) attribute.KeyValue {
+ return CloudFoundrySystemInstanceIDKey.String(val)
+}
+
+// Namespace: code
+const (
+ // CodeColumnNumberKey is the attribute Key conforming to the
+ // "code.column.number" semantic conventions. It represents the column number in
+ // `code.file.path` best representing the operation. It SHOULD point within the
+ // code unit named in `code.function.name`. This attribute MUST NOT be used on
+ // the Profile signal since the data is already captured in 'message Line'. This
+ // constraint is imposed to prevent redundancy and maintain data integrity.
+ //
+ // Type: int
+ // RequirementLevel: Recommended
+ // Stability: Stable
+ CodeColumnNumberKey = attribute.Key("code.column.number")
+
+ // CodeFilePathKey is the attribute Key conforming to the "code.file.path"
+ // semantic conventions. It represents the source code file name that identifies
+ // the code unit as uniquely as possible (preferably an absolute file path).
+ // This attribute MUST NOT be used on the Profile signal since the data is
+ // already captured in 'message Function'. This constraint is imposed to prevent
+ // redundancy and maintain data integrity.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Stable
+ //
+ // Examples: /usr/local/MyApplication/content_root/app/index.php
+ CodeFilePathKey = attribute.Key("code.file.path")
+
+ // CodeFunctionNameKey is the attribute Key conforming to the
+ // "code.function.name" semantic conventions. It represents the method or
+ // function fully-qualified name without arguments. The value should fit the
+ // natural representation of the language runtime, which is also likely the same
+ // used within `code.stacktrace` attribute value. This attribute MUST NOT be
+ // used on the Profile signal since the data is already captured in 'message
+ // Function'. This constraint is imposed to prevent redundancy and maintain data
+ // integrity.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Stable
+ //
+ // Examples: "com.example.MyHttpService.serveRequest",
+ // "GuzzleHttp\Client::transfer", "fopen"
+ // Note: Values and format depends on each language runtime, thus it is
+ // impossible to provide an exhaustive list of examples.
+ // The values are usually the same (or prefixes of) the ones found in native
+ // stack trace representation stored in
+ // `code.stacktrace` without information on arguments.
+ //
+ // Examples:
+ //
+ // - Java method: `com.example.MyHttpService.serveRequest`
+ // - Java anonymous class method: `com.mycompany.Main$1.myMethod`
+ // - Java lambda method:
+ // `com.mycompany.Main$$Lambda/0x0000748ae4149c00.myMethod`
+ // - PHP function: `GuzzleHttp\Client::transfer`
+ // - Go function: `github.com/my/repo/pkg.foo.func5`
+ // - Elixir: `OpenTelemetry.Ctx.new`
+ // - Erlang: `opentelemetry_ctx:new`
+ // - Rust: `playground::my_module::my_cool_func`
+ // - C function: `fopen`
+ CodeFunctionNameKey = attribute.Key("code.function.name")
+
+ // CodeLineNumberKey is the attribute Key conforming to the "code.line.number"
+ // semantic conventions. It represents the line number in `code.file.path` best
+ // representing the operation. It SHOULD point within the code unit named in
+ // `code.function.name`. This attribute MUST NOT be used on the Profile signal
+ // since the data is already captured in 'message Line'. This constraint is
+ // imposed to prevent redundancy and maintain data integrity.
+ //
+ // Type: int
+ // RequirementLevel: Recommended
+ // Stability: Stable
+ CodeLineNumberKey = attribute.Key("code.line.number")
+
+ // CodeStacktraceKey is the attribute Key conforming to the "code.stacktrace"
+ // semantic conventions. It represents a stacktrace as a string in the natural
+ // representation for the language runtime. The representation is identical to
+ // [`exception.stacktrace`]. This attribute MUST NOT be used on the Profile
+ // signal since the data is already captured in 'message Location'. This
+ // constraint is imposed to prevent redundancy and maintain data integrity.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Stable
+ //
+ // Examples: at com.example.GenerateTrace.methodB(GenerateTrace.java:13)\n at
+ // com.example.GenerateTrace.methodA(GenerateTrace.java:9)\n at
+ // com.example.GenerateTrace.main(GenerateTrace.java:5)
+ //
+ // [`exception.stacktrace`]: /docs/exceptions/exceptions-spans.md#stacktrace-representation
+ CodeStacktraceKey = attribute.Key("code.stacktrace")
+)
+
+// CodeColumnNumber returns an attribute KeyValue conforming to the
+// "code.column.number" semantic conventions. It represents the column number in
+// `code.file.path` best representing the operation. It SHOULD point within the
+// code unit named in `code.function.name`. This attribute MUST NOT be used on
+// the Profile signal since the data is already captured in 'message Line'. This
+// constraint is imposed to prevent redundancy and maintain data integrity.
+func CodeColumnNumber(val int) attribute.KeyValue {
+ return CodeColumnNumberKey.Int(val)
+}
+
+// CodeFilePath returns an attribute KeyValue conforming to the "code.file.path"
+// semantic conventions. It represents the source code file name that identifies
+// the code unit as uniquely as possible (preferably an absolute file path). This
+// attribute MUST NOT be used on the Profile signal since the data is already
+// captured in 'message Function'. This constraint is imposed to prevent
+// redundancy and maintain data integrity.
+func CodeFilePath(val string) attribute.KeyValue {
+ return CodeFilePathKey.String(val)
+}
+
+// CodeFunctionName returns an attribute KeyValue conforming to the
+// "code.function.name" semantic conventions. It represents the method or
+// function fully-qualified name without arguments. The value should fit the
+// natural representation of the language runtime, which is also likely the same
+// used within `code.stacktrace` attribute value. This attribute MUST NOT be used
+// on the Profile signal since the data is already captured in 'message
+// Function'. This constraint is imposed to prevent redundancy and maintain data
+// integrity.
+func CodeFunctionName(val string) attribute.KeyValue {
+ return CodeFunctionNameKey.String(val)
+}
+
+// CodeLineNumber returns an attribute KeyValue conforming to the
+// "code.line.number" semantic conventions. It represents the line number in
+// `code.file.path` best representing the operation. It SHOULD point within the
+// code unit named in `code.function.name`. This attribute MUST NOT be used on
+// the Profile signal since the data is already captured in 'message Line'. This
+// constraint is imposed to prevent redundancy and maintain data integrity.
+func CodeLineNumber(val int) attribute.KeyValue {
+ return CodeLineNumberKey.Int(val)
+}
+
+// CodeStacktrace returns an attribute KeyValue conforming to the
+// "code.stacktrace" semantic conventions. It represents a stacktrace as a string
+// in the natural representation for the language runtime. The representation is
+// identical to [`exception.stacktrace`]. This attribute MUST NOT be used on the
+// Profile signal since the data is already captured in 'message Location'. This
+// constraint is imposed to prevent redundancy and maintain data integrity.
+//
+// [`exception.stacktrace`]: /docs/exceptions/exceptions-spans.md#stacktrace-representation
+func CodeStacktrace(val string) attribute.KeyValue {
+ return CodeStacktraceKey.String(val)
+}
+
+// Namespace: container
+const (
+ // ContainerCommandKey is the attribute Key conforming to the
+ // "container.command" semantic conventions. It represents the command used to
+ // run the container (i.e. the command name).
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "otelcontribcol"
+ // Note: If using embedded credentials or sensitive data, it is recommended to
+ // remove them to prevent potential leakage.
+ ContainerCommandKey = attribute.Key("container.command")
+
+ // ContainerCommandArgsKey is the attribute Key conforming to the
+ // "container.command_args" semantic conventions. It represents the all the
+ // command arguments (including the command/executable itself) run by the
+ // container.
+ //
+ // Type: string[]
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "otelcontribcol", "--config", "config.yaml"
+ ContainerCommandArgsKey = attribute.Key("container.command_args")
+
+ // ContainerCommandLineKey is the attribute Key conforming to the
+ // "container.command_line" semantic conventions. It represents the full command
+ // run by the container as a single string representing the full command.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "otelcontribcol --config config.yaml"
+ ContainerCommandLineKey = attribute.Key("container.command_line")
+
+ // ContainerCSIPluginNameKey is the attribute Key conforming to the
+ // "container.csi.plugin.name" semantic conventions. It represents the name of
+ // the CSI ([Container Storage Interface]) plugin used by the volume.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "pd.csi.storage.gke.io"
+ // Note: This can sometimes be referred to as a "driver" in CSI implementations.
+ // This should represent the `name` field of the GetPluginInfo RPC.
+ //
+ // [Container Storage Interface]: https://github.com/container-storage-interface/spec
+ ContainerCSIPluginNameKey = attribute.Key("container.csi.plugin.name")
+
+ // ContainerCSIVolumeIDKey is the attribute Key conforming to the
+ // "container.csi.volume.id" semantic conventions. It represents the unique
+ // volume ID returned by the CSI ([Container Storage Interface]) plugin.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "projects/my-gcp-project/zones/my-gcp-zone/disks/my-gcp-disk"
+ // Note: This can sometimes be referred to as a "volume handle" in CSI
+ // implementations. This should represent the `Volume.volume_id` field in CSI
+ // spec.
+ //
+ // [Container Storage Interface]: https://github.com/container-storage-interface/spec
+ ContainerCSIVolumeIDKey = attribute.Key("container.csi.volume.id")
+
+ // ContainerIDKey is the attribute Key conforming to the "container.id" semantic
+ // conventions. It represents the container ID. Usually a UUID, as for example
+ // used to [identify Docker containers]. The UUID might be abbreviated.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "a3bf90e006b2"
+ //
+ // [identify Docker containers]: https://docs.docker.com/engine/containers/run/#container-identification
+ ContainerIDKey = attribute.Key("container.id")
+
+ // ContainerImageIDKey is the attribute Key conforming to the
+ // "container.image.id" semantic conventions. It represents the runtime specific
+ // image identifier. Usually a hash algorithm followed by a UUID.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples:
+ // "sha256:19c92d0a00d1b66d897bceaa7319bee0dd38a10a851c60bcec9474aa3f01e50f"
+ // Note: Docker defines a sha256 of the image id; `container.image.id`
+ // corresponds to the `Image` field from the Docker container inspect [API]
+ // endpoint.
+ // K8s defines a link to the container registry repository with digest
+ // `"imageID": "registry.azurecr.io /namespace/service/dockerfile@sha256:bdeabd40c3a8a492eaf9e8e44d0ebbb84bac7ee25ac0cf8a7159d25f62555625"`
+ // .
+ // The ID is assigned by the container runtime and can vary in different
+ // environments. Consider using `oci.manifest.digest` if it is important to
+ // identify the same image in different environments/runtimes.
+ //
+ // [API]: https://docs.docker.com/engine/api/v1.43/#tag/Container/operation/ContainerInspect
+ ContainerImageIDKey = attribute.Key("container.image.id")
+
+ // ContainerImageNameKey is the attribute Key conforming to the
+ // "container.image.name" semantic conventions. It represents the name of the
+ // image the container was built on.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "gcr.io/opentelemetry/operator"
+ ContainerImageNameKey = attribute.Key("container.image.name")
+
+ // ContainerImageRepoDigestsKey is the attribute Key conforming to the
+ // "container.image.repo_digests" semantic conventions. It represents the repo
+ // digests of the container image as provided by the container runtime.
+ //
+ // Type: string[]
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples:
+ // "example@sha256:afcc7f1ac1b49db317a7196c902e61c6c3c4607d63599ee1a82d702d249a0ccb",
+ // "internal.registry.example.com:5000/example@sha256:b69959407d21e8a062e0416bf13405bb2b71ed7a84dde4158ebafacfa06f5578"
+ // Note: [Docker] and [CRI] report those under the `RepoDigests` field.
+ //
+ // [Docker]: https://docs.docker.com/engine/api/v1.43/#tag/Image/operation/ImageInspect
+ // [CRI]: https://github.com/kubernetes/cri-api/blob/c75ef5b473bbe2d0a4fc92f82235efd665ea8e9f/pkg/apis/runtime/v1/api.proto#L1237-L1238
+ ContainerImageRepoDigestsKey = attribute.Key("container.image.repo_digests")
+
+ // ContainerImageTagsKey is the attribute Key conforming to the
+ // "container.image.tags" semantic conventions. It represents the container
+ // image tags. An example can be found in [Docker Image Inspect]. Should be only
+ // the `` section of the full name for example from
+ // `registry.example.com/my-org/my-image:`.
+ //
+ // Type: string[]
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "v1.27.1", "3.5.7-0"
+ //
+ // [Docker Image Inspect]: https://docs.docker.com/engine/api/v1.43/#tag/Image/operation/ImageInspect
+ ContainerImageTagsKey = attribute.Key("container.image.tags")
+
+ // ContainerNameKey is the attribute Key conforming to the "container.name"
+ // semantic conventions. It represents the container name used by container
+ // runtime.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "opentelemetry-autoconf"
+ ContainerNameKey = attribute.Key("container.name")
+
+ // ContainerRuntimeKey is the attribute Key conforming to the
+ // "container.runtime" semantic conventions. It represents the container runtime
+ // managing this container.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "docker", "containerd", "rkt"
+ ContainerRuntimeKey = attribute.Key("container.runtime")
+)
+
+// ContainerCommand returns an attribute KeyValue conforming to the
+// "container.command" semantic conventions. It represents the command used to
+// run the container (i.e. the command name).
+func ContainerCommand(val string) attribute.KeyValue {
+ return ContainerCommandKey.String(val)
+}
+
+// ContainerCommandArgs returns an attribute KeyValue conforming to the
+// "container.command_args" semantic conventions. It represents the all the
+// command arguments (including the command/executable itself) run by the
+// container.
+func ContainerCommandArgs(val ...string) attribute.KeyValue {
+ return ContainerCommandArgsKey.StringSlice(val)
+}
+
+// ContainerCommandLine returns an attribute KeyValue conforming to the
+// "container.command_line" semantic conventions. It represents the full command
+// run by the container as a single string representing the full command.
+func ContainerCommandLine(val string) attribute.KeyValue {
+ return ContainerCommandLineKey.String(val)
+}
+
+// ContainerCSIPluginName returns an attribute KeyValue conforming to the
+// "container.csi.plugin.name" semantic conventions. It represents the name of
+// the CSI ([Container Storage Interface]) plugin used by the volume.
+//
+// [Container Storage Interface]: https://github.com/container-storage-interface/spec
+func ContainerCSIPluginName(val string) attribute.KeyValue {
+ return ContainerCSIPluginNameKey.String(val)
+}
+
+// ContainerCSIVolumeID returns an attribute KeyValue conforming to the
+// "container.csi.volume.id" semantic conventions. It represents the unique
+// volume ID returned by the CSI ([Container Storage Interface]) plugin.
+//
+// [Container Storage Interface]: https://github.com/container-storage-interface/spec
+func ContainerCSIVolumeID(val string) attribute.KeyValue {
+ return ContainerCSIVolumeIDKey.String(val)
+}
+
+// ContainerID returns an attribute KeyValue conforming to the "container.id"
+// semantic conventions. It represents the container ID. Usually a UUID, as for
+// example used to [identify Docker containers]. The UUID might be abbreviated.
+//
+// [identify Docker containers]: https://docs.docker.com/engine/containers/run/#container-identification
+func ContainerID(val string) attribute.KeyValue {
+ return ContainerIDKey.String(val)
+}
+
+// ContainerImageID returns an attribute KeyValue conforming to the
+// "container.image.id" semantic conventions. It represents the runtime specific
+// image identifier. Usually a hash algorithm followed by a UUID.
+func ContainerImageID(val string) attribute.KeyValue {
+ return ContainerImageIDKey.String(val)
+}
+
+// ContainerImageName returns an attribute KeyValue conforming to the
+// "container.image.name" semantic conventions. It represents the name of the
+// image the container was built on.
+func ContainerImageName(val string) attribute.KeyValue {
+ return ContainerImageNameKey.String(val)
+}
+
+// ContainerImageRepoDigests returns an attribute KeyValue conforming to the
+// "container.image.repo_digests" semantic conventions. It represents the repo
+// digests of the container image as provided by the container runtime.
+func ContainerImageRepoDigests(val ...string) attribute.KeyValue {
+ return ContainerImageRepoDigestsKey.StringSlice(val)
+}
+
+// ContainerImageTags returns an attribute KeyValue conforming to the
+// "container.image.tags" semantic conventions. It represents the container image
+// tags. An example can be found in [Docker Image Inspect]. Should be only the
+// `` section of the full name for example from
+// `registry.example.com/my-org/my-image:`.
+//
+// [Docker Image Inspect]: https://docs.docker.com/engine/api/v1.43/#tag/Image/operation/ImageInspect
+func ContainerImageTags(val ...string) attribute.KeyValue {
+ return ContainerImageTagsKey.StringSlice(val)
+}
+
+// ContainerName returns an attribute KeyValue conforming to the "container.name"
+// semantic conventions. It represents the container name used by container
+// runtime.
+func ContainerName(val string) attribute.KeyValue {
+ return ContainerNameKey.String(val)
+}
+
+// ContainerRuntime returns an attribute KeyValue conforming to the
+// "container.runtime" semantic conventions. It represents the container runtime
+// managing this container.
+func ContainerRuntime(val string) attribute.KeyValue {
+ return ContainerRuntimeKey.String(val)
+}
+
+// Namespace: cpu
+const (
+ // CPULogicalNumberKey is the attribute Key conforming to the
+ // "cpu.logical_number" semantic conventions. It represents the logical CPU
+ // number [0..n-1].
+ //
+ // Type: int
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: 1
+ CPULogicalNumberKey = attribute.Key("cpu.logical_number")
+
+ // CPUModeKey is the attribute Key conforming to the "cpu.mode" semantic
+ // conventions. It represents the mode of the CPU.
+ //
+ // Type: Enum
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "user", "system"
+ CPUModeKey = attribute.Key("cpu.mode")
+)
+
+// CPULogicalNumber returns an attribute KeyValue conforming to the
+// "cpu.logical_number" semantic conventions. It represents the logical CPU
+// number [0..n-1].
+func CPULogicalNumber(val int) attribute.KeyValue {
+ return CPULogicalNumberKey.Int(val)
+}
+
+// Enum values for cpu.mode
+var (
+ // user
+ // Stability: development
+ CPUModeUser = CPUModeKey.String("user")
+ // system
+ // Stability: development
+ CPUModeSystem = CPUModeKey.String("system")
+ // nice
+ // Stability: development
+ CPUModeNice = CPUModeKey.String("nice")
+ // idle
+ // Stability: development
+ CPUModeIdle = CPUModeKey.String("idle")
+ // iowait
+ // Stability: development
+ CPUModeIOWait = CPUModeKey.String("iowait")
+ // interrupt
+ // Stability: development
+ CPUModeInterrupt = CPUModeKey.String("interrupt")
+ // steal
+ // Stability: development
+ CPUModeSteal = CPUModeKey.String("steal")
+ // kernel
+ // Stability: development
+ CPUModeKernel = CPUModeKey.String("kernel")
+)
+
+// Namespace: db
+const (
+ // DBClientConnectionPoolNameKey is the attribute Key conforming to the
+ // "db.client.connection.pool.name" semantic conventions. It represents the name
+ // of the connection pool; unique within the instrumented application. In case
+ // the connection pool implementation doesn't provide a name, instrumentation
+ // SHOULD use a combination of parameters that would make the name unique, for
+ // example, combining attributes `server.address`, `server.port`, and
+ // `db.namespace`, formatted as `server.address:server.port/db.namespace`.
+ // Instrumentations that generate connection pool name following different
+ // patterns SHOULD document it.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "myDataSource"
+ DBClientConnectionPoolNameKey = attribute.Key("db.client.connection.pool.name")
+
+ // DBClientConnectionStateKey is the attribute Key conforming to the
+ // "db.client.connection.state" semantic conventions. It represents the state of
+ // a connection in the pool.
+ //
+ // Type: Enum
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "idle"
+ DBClientConnectionStateKey = attribute.Key("db.client.connection.state")
+
+ // DBCollectionNameKey is the attribute Key conforming to the
+ // "db.collection.name" semantic conventions. It represents the name of a
+ // collection (table, container) within the database.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Stable
+ //
+ // Examples: "public.users", "customers"
+ // Note: It is RECOMMENDED to capture the value as provided by the application
+ // without attempting to do any case normalization.
+ //
+ // The collection name SHOULD NOT be extracted from `db.query.text`,
+ // when the database system supports query text with multiple collections
+ // in non-batch operations.
+ //
+ // For batch operations, if the individual operations are known to have the same
+ // collection name then that collection name SHOULD be used.
+ DBCollectionNameKey = attribute.Key("db.collection.name")
+
+ // DBNamespaceKey is the attribute Key conforming to the "db.namespace" semantic
+ // conventions. It represents the name of the database, fully qualified within
+ // the server address and port.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Stable
+ //
+ // Examples: "customers", "test.users"
+ // Note: If a database system has multiple namespace components, they SHOULD be
+ // concatenated from the most general to the most specific namespace component,
+ // using `|` as a separator between the components. Any missing components (and
+ // their associated separators) SHOULD be omitted.
+ // Semantic conventions for individual database systems SHOULD document what
+ // `db.namespace` means in the context of that system.
+ // It is RECOMMENDED to capture the value as provided by the application without
+ // attempting to do any case normalization.
+ DBNamespaceKey = attribute.Key("db.namespace")
+
+ // DBOperationBatchSizeKey is the attribute Key conforming to the
+ // "db.operation.batch.size" semantic conventions. It represents the number of
+ // queries included in a batch operation.
+ //
+ // Type: int
+ // RequirementLevel: Recommended
+ // Stability: Stable
+ //
+ // Examples: 2, 3, 4
+ // Note: Operations are only considered batches when they contain two or more
+ // operations, and so `db.operation.batch.size` SHOULD never be `1`.
+ DBOperationBatchSizeKey = attribute.Key("db.operation.batch.size")
+
+ // DBOperationNameKey is the attribute Key conforming to the "db.operation.name"
+ // semantic conventions. It represents the name of the operation or command
+ // being executed.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Stable
+ //
+ // Examples: "findAndModify", "HMSET", "SELECT"
+ // Note: It is RECOMMENDED to capture the value as provided by the application
+ // without attempting to do any case normalization.
+ //
+ // The operation name SHOULD NOT be extracted from `db.query.text`,
+ // when the database system supports query text with multiple operations
+ // in non-batch operations.
+ //
+ // If spaces can occur in the operation name, multiple consecutive spaces
+ // SHOULD be normalized to a single space.
+ //
+ // For batch operations, if the individual operations are known to have the same
+ // operation name
+ // then that operation name SHOULD be used prepended by `BATCH `,
+ // otherwise `db.operation.name` SHOULD be `BATCH` or some other database
+ // system specific term if more applicable.
+ DBOperationNameKey = attribute.Key("db.operation.name")
+
+ // DBQuerySummaryKey is the attribute Key conforming to the "db.query.summary"
+ // semantic conventions. It represents the low cardinality summary of a database
+ // query.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Stable
+ //
+ // Examples: "SELECT wuser_table", "INSERT shipping_details SELECT orders", "get
+ // user by id"
+ // Note: The query summary describes a class of database queries and is useful
+ // as a grouping key, especially when analyzing telemetry for database
+ // calls involving complex queries.
+ //
+ // Summary may be available to the instrumentation through
+ // instrumentation hooks or other means. If it is not available,
+ // instrumentations
+ // that support query parsing SHOULD generate a summary following
+ // [Generating query summary]
+ // section.
+ //
+ // [Generating query summary]: /docs/database/database-spans.md#generating-a-summary-of-the-query
+ DBQuerySummaryKey = attribute.Key("db.query.summary")
+
+ // DBQueryTextKey is the attribute Key conforming to the "db.query.text"
+ // semantic conventions. It represents the database query being executed.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Stable
+ //
+ // Examples: "SELECT * FROM wuser_table where username = ?", "SET mykey ?"
+ // Note: For sanitization see [Sanitization of `db.query.text`].
+ // For batch operations, if the individual operations are known to have the same
+ // query text then that query text SHOULD be used, otherwise all of the
+ // individual query texts SHOULD be concatenated with separator `; ` or some
+ // other database system specific separator if more applicable.
+ // Parameterized query text SHOULD NOT be sanitized. Even though parameterized
+ // query text can potentially have sensitive data, by using a parameterized
+ // query the user is giving a strong signal that any sensitive data will be
+ // passed as parameter values, and the benefit to observability of capturing the
+ // static part of the query text by default outweighs the risk.
+ //
+ // [Sanitization of `db.query.text`]: /docs/database/database-spans.md#sanitization-of-dbquerytext
+ DBQueryTextKey = attribute.Key("db.query.text")
+
+ // DBResponseReturnedRowsKey is the attribute Key conforming to the
+ // "db.response.returned_rows" semantic conventions. It represents the number of
+ // rows returned by the operation.
+ //
+ // Type: int
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: 10, 30, 1000
+ DBResponseReturnedRowsKey = attribute.Key("db.response.returned_rows")
+
+ // DBResponseStatusCodeKey is the attribute Key conforming to the
+ // "db.response.status_code" semantic conventions. It represents the database
+ // response status code.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Stable
+ //
+ // Examples: "102", "ORA-17002", "08P01", "404"
+ // Note: The status code returned by the database. Usually it represents an
+ // error code, but may also represent partial success, warning, or differentiate
+ // between various types of successful outcomes.
+ // Semantic conventions for individual database systems SHOULD document what
+ // `db.response.status_code` means in the context of that system.
+ DBResponseStatusCodeKey = attribute.Key("db.response.status_code")
+
+ // DBStoredProcedureNameKey is the attribute Key conforming to the
+ // "db.stored_procedure.name" semantic conventions. It represents the name of a
+ // stored procedure within the database.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Stable
+ //
+ // Examples: "GetCustomer"
+ // Note: It is RECOMMENDED to capture the value as provided by the application
+ // without attempting to do any case normalization.
+ //
+ // For batch operations, if the individual operations are known to have the same
+ // stored procedure name then that stored procedure name SHOULD be used.
+ DBStoredProcedureNameKey = attribute.Key("db.stored_procedure.name")
+
+ // DBSystemNameKey is the attribute Key conforming to the "db.system.name"
+ // semantic conventions. It represents the database management system (DBMS)
+ // product as identified by the client instrumentation.
+ //
+ // Type: Enum
+ // RequirementLevel: Recommended
+ // Stability: Stable
+ //
+ // Examples:
+ // Note: The actual DBMS may differ from the one identified by the client. For
+ // example, when using PostgreSQL client libraries to connect to a CockroachDB,
+ // the `db.system.name` is set to `postgresql` based on the instrumentation's
+ // best knowledge.
+ DBSystemNameKey = attribute.Key("db.system.name")
+)
+
+// DBClientConnectionPoolName returns an attribute KeyValue conforming to the
+// "db.client.connection.pool.name" semantic conventions. It represents the name
+// of the connection pool; unique within the instrumented application. In case
+// the connection pool implementation doesn't provide a name, instrumentation
+// SHOULD use a combination of parameters that would make the name unique, for
+// example, combining attributes `server.address`, `server.port`, and
+// `db.namespace`, formatted as `server.address:server.port/db.namespace`.
+// Instrumentations that generate connection pool name following different
+// patterns SHOULD document it.
+func DBClientConnectionPoolName(val string) attribute.KeyValue {
+ return DBClientConnectionPoolNameKey.String(val)
+}
+
+// DBCollectionName returns an attribute KeyValue conforming to the
+// "db.collection.name" semantic conventions. It represents the name of a
+// collection (table, container) within the database.
+func DBCollectionName(val string) attribute.KeyValue {
+ return DBCollectionNameKey.String(val)
+}
+
+// DBNamespace returns an attribute KeyValue conforming to the "db.namespace"
+// semantic conventions. It represents the name of the database, fully qualified
+// within the server address and port.
+func DBNamespace(val string) attribute.KeyValue {
+ return DBNamespaceKey.String(val)
+}
+
+// DBOperationBatchSize returns an attribute KeyValue conforming to the
+// "db.operation.batch.size" semantic conventions. It represents the number of
+// queries included in a batch operation.
+func DBOperationBatchSize(val int) attribute.KeyValue {
+ return DBOperationBatchSizeKey.Int(val)
+}
+
+// DBOperationName returns an attribute KeyValue conforming to the
+// "db.operation.name" semantic conventions. It represents the name of the
+// operation or command being executed.
+func DBOperationName(val string) attribute.KeyValue {
+ return DBOperationNameKey.String(val)
+}
+
+// DBQuerySummary returns an attribute KeyValue conforming to the
+// "db.query.summary" semantic conventions. It represents the low cardinality
+// summary of a database query.
+func DBQuerySummary(val string) attribute.KeyValue {
+ return DBQuerySummaryKey.String(val)
+}
+
+// DBQueryText returns an attribute KeyValue conforming to the "db.query.text"
+// semantic conventions. It represents the database query being executed.
+func DBQueryText(val string) attribute.KeyValue {
+ return DBQueryTextKey.String(val)
+}
+
+// DBResponseReturnedRows returns an attribute KeyValue conforming to the
+// "db.response.returned_rows" semantic conventions. It represents the number of
+// rows returned by the operation.
+func DBResponseReturnedRows(val int) attribute.KeyValue {
+ return DBResponseReturnedRowsKey.Int(val)
+}
+
+// DBResponseStatusCode returns an attribute KeyValue conforming to the
+// "db.response.status_code" semantic conventions. It represents the database
+// response status code.
+func DBResponseStatusCode(val string) attribute.KeyValue {
+ return DBResponseStatusCodeKey.String(val)
+}
+
+// DBStoredProcedureName returns an attribute KeyValue conforming to the
+// "db.stored_procedure.name" semantic conventions. It represents the name of a
+// stored procedure within the database.
+func DBStoredProcedureName(val string) attribute.KeyValue {
+ return DBStoredProcedureNameKey.String(val)
+}
+
+// Enum values for db.client.connection.state
+var (
+ // idle
+ // Stability: development
+ DBClientConnectionStateIdle = DBClientConnectionStateKey.String("idle")
+ // used
+ // Stability: development
+ DBClientConnectionStateUsed = DBClientConnectionStateKey.String("used")
+)
+
+// Enum values for db.system.name
+var (
+ // Some other SQL database. Fallback only.
+ // Stability: development
+ DBSystemNameOtherSQL = DBSystemNameKey.String("other_sql")
+ // [Adabas (Adaptable Database System)]
+ // Stability: development
+ //
+ // [Adabas (Adaptable Database System)]: https://documentation.softwareag.com/?pf=adabas
+ DBSystemNameSoftwareagAdabas = DBSystemNameKey.String("softwareag.adabas")
+ // [Actian Ingres]
+ // Stability: development
+ //
+ // [Actian Ingres]: https://www.actian.com/databases/ingres/
+ DBSystemNameActianIngres = DBSystemNameKey.String("actian.ingres")
+ // [Amazon DynamoDB]
+ // Stability: development
+ //
+ // [Amazon DynamoDB]: https://aws.amazon.com/pm/dynamodb/
+ DBSystemNameAWSDynamoDB = DBSystemNameKey.String("aws.dynamodb")
+ // [Amazon Redshift]
+ // Stability: development
+ //
+ // [Amazon Redshift]: https://aws.amazon.com/redshift/
+ DBSystemNameAWSRedshift = DBSystemNameKey.String("aws.redshift")
+ // [Azure Cosmos DB]
+ // Stability: development
+ //
+ // [Azure Cosmos DB]: https://learn.microsoft.com/azure/cosmos-db
+ DBSystemNameAzureCosmosDB = DBSystemNameKey.String("azure.cosmosdb")
+ // [InterSystems Caché]
+ // Stability: development
+ //
+ // [InterSystems Caché]: https://www.intersystems.com/products/cache/
+ DBSystemNameIntersystemsCache = DBSystemNameKey.String("intersystems.cache")
+ // [Apache Cassandra]
+ // Stability: development
+ //
+ // [Apache Cassandra]: https://cassandra.apache.org/
+ DBSystemNameCassandra = DBSystemNameKey.String("cassandra")
+ // [ClickHouse]
+ // Stability: development
+ //
+ // [ClickHouse]: https://clickhouse.com/
+ DBSystemNameClickHouse = DBSystemNameKey.String("clickhouse")
+ // [CockroachDB]
+ // Stability: development
+ //
+ // [CockroachDB]: https://www.cockroachlabs.com/
+ DBSystemNameCockroachDB = DBSystemNameKey.String("cockroachdb")
+ // [Couchbase]
+ // Stability: development
+ //
+ // [Couchbase]: https://www.couchbase.com/
+ DBSystemNameCouchbase = DBSystemNameKey.String("couchbase")
+ // [Apache CouchDB]
+ // Stability: development
+ //
+ // [Apache CouchDB]: https://couchdb.apache.org/
+ DBSystemNameCouchDB = DBSystemNameKey.String("couchdb")
+ // [Apache Derby]
+ // Stability: development
+ //
+ // [Apache Derby]: https://db.apache.org/derby/
+ DBSystemNameDerby = DBSystemNameKey.String("derby")
+ // [Elasticsearch]
+ // Stability: development
+ //
+ // [Elasticsearch]: https://www.elastic.co/elasticsearch
+ DBSystemNameElasticsearch = DBSystemNameKey.String("elasticsearch")
+ // [Firebird]
+ // Stability: development
+ //
+ // [Firebird]: https://www.firebirdsql.org/
+ DBSystemNameFirebirdSQL = DBSystemNameKey.String("firebirdsql")
+ // [Google Cloud Spanner]
+ // Stability: development
+ //
+ // [Google Cloud Spanner]: https://cloud.google.com/spanner
+ DBSystemNameGCPSpanner = DBSystemNameKey.String("gcp.spanner")
+ // [Apache Geode]
+ // Stability: development
+ //
+ // [Apache Geode]: https://geode.apache.org/
+ DBSystemNameGeode = DBSystemNameKey.String("geode")
+ // [H2 Database]
+ // Stability: development
+ //
+ // [H2 Database]: https://h2database.com/
+ DBSystemNameH2database = DBSystemNameKey.String("h2database")
+ // [Apache HBase]
+ // Stability: development
+ //
+ // [Apache HBase]: https://hbase.apache.org/
+ DBSystemNameHBase = DBSystemNameKey.String("hbase")
+ // [Apache Hive]
+ // Stability: development
+ //
+ // [Apache Hive]: https://hive.apache.org/
+ DBSystemNameHive = DBSystemNameKey.String("hive")
+ // [HyperSQL Database]
+ // Stability: development
+ //
+ // [HyperSQL Database]: https://hsqldb.org/
+ DBSystemNameHSQLDB = DBSystemNameKey.String("hsqldb")
+ // [IBM Db2]
+ // Stability: development
+ //
+ // [IBM Db2]: https://www.ibm.com/db2
+ DBSystemNameIBMDB2 = DBSystemNameKey.String("ibm.db2")
+ // [IBM Informix]
+ // Stability: development
+ //
+ // [IBM Informix]: https://www.ibm.com/products/informix
+ DBSystemNameIBMInformix = DBSystemNameKey.String("ibm.informix")
+ // [IBM Netezza]
+ // Stability: development
+ //
+ // [IBM Netezza]: https://www.ibm.com/products/netezza
+ DBSystemNameIBMNetezza = DBSystemNameKey.String("ibm.netezza")
+ // [InfluxDB]
+ // Stability: development
+ //
+ // [InfluxDB]: https://www.influxdata.com/
+ DBSystemNameInfluxDB = DBSystemNameKey.String("influxdb")
+ // [Instant]
+ // Stability: development
+ //
+ // [Instant]: https://www.instantdb.com/
+ DBSystemNameInstantDB = DBSystemNameKey.String("instantdb")
+ // [MariaDB]
+ // Stability: stable
+ //
+ // [MariaDB]: https://mariadb.org/
+ DBSystemNameMariaDB = DBSystemNameKey.String("mariadb")
+ // [Memcached]
+ // Stability: development
+ //
+ // [Memcached]: https://memcached.org/
+ DBSystemNameMemcached = DBSystemNameKey.String("memcached")
+ // [MongoDB]
+ // Stability: development
+ //
+ // [MongoDB]: https://www.mongodb.com/
+ DBSystemNameMongoDB = DBSystemNameKey.String("mongodb")
+ // [Microsoft SQL Server]
+ // Stability: stable
+ //
+ // [Microsoft SQL Server]: https://www.microsoft.com/sql-server
+ DBSystemNameMicrosoftSQLServer = DBSystemNameKey.String("microsoft.sql_server")
+ // [MySQL]
+ // Stability: stable
+ //
+ // [MySQL]: https://www.mysql.com/
+ DBSystemNameMySQL = DBSystemNameKey.String("mysql")
+ // [Neo4j]
+ // Stability: development
+ //
+ // [Neo4j]: https://neo4j.com/
+ DBSystemNameNeo4j = DBSystemNameKey.String("neo4j")
+ // [OpenSearch]
+ // Stability: development
+ //
+ // [OpenSearch]: https://opensearch.org/
+ DBSystemNameOpenSearch = DBSystemNameKey.String("opensearch")
+ // [Oracle Database]
+ // Stability: development
+ //
+ // [Oracle Database]: https://www.oracle.com/database/
+ DBSystemNameOracleDB = DBSystemNameKey.String("oracle.db")
+ // [PostgreSQL]
+ // Stability: stable
+ //
+ // [PostgreSQL]: https://www.postgresql.org/
+ DBSystemNamePostgreSQL = DBSystemNameKey.String("postgresql")
+ // [Redis]
+ // Stability: development
+ //
+ // [Redis]: https://redis.io/
+ DBSystemNameRedis = DBSystemNameKey.String("redis")
+ // [SAP HANA]
+ // Stability: development
+ //
+ // [SAP HANA]: https://www.sap.com/products/technology-platform/hana/what-is-sap-hana.html
+ DBSystemNameSAPHANA = DBSystemNameKey.String("sap.hana")
+ // [SAP MaxDB]
+ // Stability: development
+ //
+ // [SAP MaxDB]: https://maxdb.sap.com/
+ DBSystemNameSAPMaxDB = DBSystemNameKey.String("sap.maxdb")
+ // [SQLite]
+ // Stability: development
+ //
+ // [SQLite]: https://www.sqlite.org/
+ DBSystemNameSQLite = DBSystemNameKey.String("sqlite")
+ // [Teradata]
+ // Stability: development
+ //
+ // [Teradata]: https://www.teradata.com/
+ DBSystemNameTeradata = DBSystemNameKey.String("teradata")
+ // [Trino]
+ // Stability: development
+ //
+ // [Trino]: https://trino.io/
+ DBSystemNameTrino = DBSystemNameKey.String("trino")
+)
+
+// Namespace: deployment
+const (
+ // DeploymentEnvironmentNameKey is the attribute Key conforming to the
+ // "deployment.environment.name" semantic conventions. It represents the name of
+ // the [deployment environment] (aka deployment tier).
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "staging", "production"
+ // Note: `deployment.environment.name` does not affect the uniqueness
+ // constraints defined through
+ // the `service.namespace`, `service.name` and `service.instance.id` resource
+ // attributes.
+ // This implies that resources carrying the following attribute combinations
+ // MUST be
+ // considered to be identifying the same service:
+ //
+ // - `service.name=frontend`, `deployment.environment.name=production`
+ // - `service.name=frontend`, `deployment.environment.name=staging`.
+ //
+ //
+ // [deployment environment]: https://wikipedia.org/wiki/Deployment_environment
+ DeploymentEnvironmentNameKey = attribute.Key("deployment.environment.name")
+
+ // DeploymentIDKey is the attribute Key conforming to the "deployment.id"
+ // semantic conventions. It represents the id of the deployment.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "1208"
+ DeploymentIDKey = attribute.Key("deployment.id")
+
+ // DeploymentNameKey is the attribute Key conforming to the "deployment.name"
+ // semantic conventions. It represents the name of the deployment.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "deploy my app", "deploy-frontend"
+ DeploymentNameKey = attribute.Key("deployment.name")
+
+ // DeploymentStatusKey is the attribute Key conforming to the
+ // "deployment.status" semantic conventions. It represents the status of the
+ // deployment.
+ //
+ // Type: Enum
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples:
+ DeploymentStatusKey = attribute.Key("deployment.status")
+)
+
+// DeploymentEnvironmentName returns an attribute KeyValue conforming to the
+// "deployment.environment.name" semantic conventions. It represents the name of
+// the [deployment environment] (aka deployment tier).
+//
+// [deployment environment]: https://wikipedia.org/wiki/Deployment_environment
+func DeploymentEnvironmentName(val string) attribute.KeyValue {
+ return DeploymentEnvironmentNameKey.String(val)
+}
+
+// DeploymentID returns an attribute KeyValue conforming to the "deployment.id"
+// semantic conventions. It represents the id of the deployment.
+func DeploymentID(val string) attribute.KeyValue {
+ return DeploymentIDKey.String(val)
+}
+
+// DeploymentName returns an attribute KeyValue conforming to the
+// "deployment.name" semantic conventions. It represents the name of the
+// deployment.
+func DeploymentName(val string) attribute.KeyValue {
+ return DeploymentNameKey.String(val)
+}
+
+// Enum values for deployment.status
+var (
+ // failed
+ // Stability: development
+ DeploymentStatusFailed = DeploymentStatusKey.String("failed")
+ // succeeded
+ // Stability: development
+ DeploymentStatusSucceeded = DeploymentStatusKey.String("succeeded")
+)
+
+// Namespace: destination
+const (
+ // DestinationAddressKey is the attribute Key conforming to the
+ // "destination.address" semantic conventions. It represents the destination
+ // address - domain name if available without reverse DNS lookup; otherwise, IP
+ // address or Unix domain socket name.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "destination.example.com", "10.1.2.80", "/tmp/my.sock"
+ // Note: When observed from the source side, and when communicating through an
+ // intermediary, `destination.address` SHOULD represent the destination address
+ // behind any intermediaries, for example proxies, if it's available.
+ DestinationAddressKey = attribute.Key("destination.address")
+
+ // DestinationPortKey is the attribute Key conforming to the "destination.port"
+ // semantic conventions. It represents the destination port number.
+ //
+ // Type: int
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: 3389, 2888
+ DestinationPortKey = attribute.Key("destination.port")
+)
+
+// DestinationAddress returns an attribute KeyValue conforming to the
+// "destination.address" semantic conventions. It represents the destination
+// address - domain name if available without reverse DNS lookup; otherwise, IP
+// address or Unix domain socket name.
+func DestinationAddress(val string) attribute.KeyValue {
+ return DestinationAddressKey.String(val)
+}
+
+// DestinationPort returns an attribute KeyValue conforming to the
+// "destination.port" semantic conventions. It represents the destination port
+// number.
+func DestinationPort(val int) attribute.KeyValue {
+ return DestinationPortKey.Int(val)
+}
+
+// Namespace: device
+const (
+ // DeviceIDKey is the attribute Key conforming to the "device.id" semantic
+ // conventions. It represents a unique identifier representing the device.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "123456789012345", "01:23:45:67:89:AB"
+ // Note: Its value SHOULD be identical for all apps on a device and it SHOULD
+ // NOT change if an app is uninstalled and re-installed.
+ // However, it might be resettable by the user for all apps on a device.
+ // Hardware IDs (e.g. vendor-specific serial number, IMEI or MAC address) MAY be
+ // used as values.
+ //
+ // More information about Android identifier best practices can be found [here]
+ // .
+ //
+ // > [!WARNING]> This attribute may contain sensitive (PII) information. Caution
+ // > should be taken when storing personal data or anything which can identify a
+ // > user. GDPR and data protection laws may apply,
+ // > ensure you do your own due diligence.> Due to these reasons, this
+ // > identifier is not recommended for consumer applications and will likely
+ // > result in rejection from both Google Play and App Store.
+ // > However, it may be appropriate for specific enterprise scenarios, such as
+ // > kiosk devices or enterprise-managed devices, with appropriate compliance
+ // > clearance.
+ // > Any instrumentation providing this identifier MUST implement it as an
+ // > opt-in feature.> See [`app.installation.id`]> for a more
+ // > privacy-preserving alternative.
+ //
+ // [here]: https://developer.android.com/training/articles/user-data-ids
+ // [`app.installation.id`]: /docs/registry/attributes/app.md#app-installation-id
+ DeviceIDKey = attribute.Key("device.id")
+
+ // DeviceManufacturerKey is the attribute Key conforming to the
+ // "device.manufacturer" semantic conventions. It represents the name of the
+ // device manufacturer.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "Apple", "Samsung"
+ // Note: The Android OS provides this field via [Build]. iOS apps SHOULD
+ // hardcode the value `Apple`.
+ //
+ // [Build]: https://developer.android.com/reference/android/os/Build#MANUFACTURER
+ DeviceManufacturerKey = attribute.Key("device.manufacturer")
+
+ // DeviceModelIdentifierKey is the attribute Key conforming to the
+ // "device.model.identifier" semantic conventions. It represents the model
+ // identifier for the device.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "iPhone3,4", "SM-G920F"
+ // Note: It's recommended this value represents a machine-readable version of
+ // the model identifier rather than the market or consumer-friendly name of the
+ // device.
+ DeviceModelIdentifierKey = attribute.Key("device.model.identifier")
+
+ // DeviceModelNameKey is the attribute Key conforming to the "device.model.name"
+ // semantic conventions. It represents the marketing name for the device model.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "iPhone 6s Plus", "Samsung Galaxy S6"
+ // Note: It's recommended this value represents a human-readable version of the
+ // device model rather than a machine-readable alternative.
+ DeviceModelNameKey = attribute.Key("device.model.name")
+)
+
+// DeviceID returns an attribute KeyValue conforming to the "device.id" semantic
+// conventions. It represents a unique identifier representing the device.
+func DeviceID(val string) attribute.KeyValue {
+ return DeviceIDKey.String(val)
+}
+
+// DeviceManufacturer returns an attribute KeyValue conforming to the
+// "device.manufacturer" semantic conventions. It represents the name of the
+// device manufacturer.
+func DeviceManufacturer(val string) attribute.KeyValue {
+ return DeviceManufacturerKey.String(val)
+}
+
+// DeviceModelIdentifier returns an attribute KeyValue conforming to the
+// "device.model.identifier" semantic conventions. It represents the model
+// identifier for the device.
+func DeviceModelIdentifier(val string) attribute.KeyValue {
+ return DeviceModelIdentifierKey.String(val)
+}
+
+// DeviceModelName returns an attribute KeyValue conforming to the
+// "device.model.name" semantic conventions. It represents the marketing name for
+// the device model.
+func DeviceModelName(val string) attribute.KeyValue {
+ return DeviceModelNameKey.String(val)
+}
+
+// Namespace: disk
+const (
+ // DiskIODirectionKey is the attribute Key conforming to the "disk.io.direction"
+ // semantic conventions. It represents the disk IO operation direction.
+ //
+ // Type: Enum
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "read"
+ DiskIODirectionKey = attribute.Key("disk.io.direction")
+)
+
+// Enum values for disk.io.direction
+var (
+ // read
+ // Stability: development
+ DiskIODirectionRead = DiskIODirectionKey.String("read")
+ // write
+ // Stability: development
+ DiskIODirectionWrite = DiskIODirectionKey.String("write")
+)
+
+// Namespace: dns
+const (
+ // DNSQuestionNameKey is the attribute Key conforming to the "dns.question.name"
+ // semantic conventions. It represents the name being queried.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "www.example.com", "opentelemetry.io"
+ // Note: If the name field contains non-printable characters (below 32 or above
+ // 126), those characters should be represented as escaped base 10 integers
+ // (\DDD). Back slashes and quotes should be escaped. Tabs, carriage returns,
+ // and line feeds should be converted to \t, \r, and \n respectively.
+ DNSQuestionNameKey = attribute.Key("dns.question.name")
+)
+
+// DNSQuestionName returns an attribute KeyValue conforming to the
+// "dns.question.name" semantic conventions. It represents the name being
+// queried.
+func DNSQuestionName(val string) attribute.KeyValue {
+ return DNSQuestionNameKey.String(val)
+}
+
+// Namespace: elasticsearch
+const (
+ // ElasticsearchNodeNameKey is the attribute Key conforming to the
+ // "elasticsearch.node.name" semantic conventions. It represents the represents
+ // the human-readable identifier of the node/instance to which a request was
+ // routed.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "instance-0000000001"
+ ElasticsearchNodeNameKey = attribute.Key("elasticsearch.node.name")
+)
+
+// ElasticsearchNodeName returns an attribute KeyValue conforming to the
+// "elasticsearch.node.name" semantic conventions. It represents the represents
+// the human-readable identifier of the node/instance to which a request was
+// routed.
+func ElasticsearchNodeName(val string) attribute.KeyValue {
+ return ElasticsearchNodeNameKey.String(val)
+}
+
+// Namespace: enduser
+const (
+ // EnduserIDKey is the attribute Key conforming to the "enduser.id" semantic
+ // conventions. It represents the unique identifier of an end user in the
+ // system. It maybe a username, email address, or other identifier.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "username"
+ // Note: Unique identifier of an end user in the system.
+ //
+ // > [!Warning]
+ // > This field contains sensitive (PII) information.
+ EnduserIDKey = attribute.Key("enduser.id")
+
+ // EnduserPseudoIDKey is the attribute Key conforming to the "enduser.pseudo.id"
+ // semantic conventions. It represents the pseudonymous identifier of an end
+ // user. This identifier should be a random value that is not directly linked or
+ // associated with the end user's actual identity.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "QdH5CAWJgqVT4rOr0qtumf"
+ // Note: Pseudonymous identifier of an end user.
+ //
+ // > [!Warning]
+ // > This field contains sensitive (linkable PII) information.
+ EnduserPseudoIDKey = attribute.Key("enduser.pseudo.id")
+)
+
+// EnduserID returns an attribute KeyValue conforming to the "enduser.id"
+// semantic conventions. It represents the unique identifier of an end user in
+// the system. It maybe a username, email address, or other identifier.
+func EnduserID(val string) attribute.KeyValue {
+ return EnduserIDKey.String(val)
+}
+
+// EnduserPseudoID returns an attribute KeyValue conforming to the
+// "enduser.pseudo.id" semantic conventions. It represents the pseudonymous
+// identifier of an end user. This identifier should be a random value that is
+// not directly linked or associated with the end user's actual identity.
+func EnduserPseudoID(val string) attribute.KeyValue {
+ return EnduserPseudoIDKey.String(val)
+}
+
+// Namespace: error
+const (
+ // ErrorMessageKey is the attribute Key conforming to the "error.message"
+ // semantic conventions. It represents a message providing more detail about an
+ // error in human-readable form.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "Unexpected input type: string", "The user has exceeded their
+ // storage quota"
+ // Note: `error.message` should provide additional context and detail about an
+ // error.
+ // It is NOT RECOMMENDED to duplicate the value of `error.type` in
+ // `error.message`.
+ // It is also NOT RECOMMENDED to duplicate the value of `exception.message` in
+ // `error.message`.
+ //
+ // `error.message` is NOT RECOMMENDED for metrics or spans due to its unbounded
+ // cardinality and overlap with span status.
+ ErrorMessageKey = attribute.Key("error.message")
+
+ // ErrorTypeKey is the attribute Key conforming to the "error.type" semantic
+ // conventions. It represents the describes a class of error the operation ended
+ // with.
+ //
+ // Type: Enum
+ // RequirementLevel: Recommended
+ // Stability: Stable
+ //
+ // Examples: "timeout", "java.net.UnknownHostException",
+ // "server_certificate_invalid", "500"
+ // Note: The `error.type` SHOULD be predictable, and SHOULD have low
+ // cardinality.
+ //
+ // When `error.type` is set to a type (e.g., an exception type), its
+ // canonical class name identifying the type within the artifact SHOULD be used.
+ //
+ // Instrumentations SHOULD document the list of errors they report.
+ //
+ // The cardinality of `error.type` within one instrumentation library SHOULD be
+ // low.
+ // Telemetry consumers that aggregate data from multiple instrumentation
+ // libraries and applications
+ // should be prepared for `error.type` to have high cardinality at query time
+ // when no
+ // additional filters are applied.
+ //
+ // If the operation has completed successfully, instrumentations SHOULD NOT set
+ // `error.type`.
+ //
+ // If a specific domain defines its own set of error identifiers (such as HTTP
+ // or gRPC status codes),
+ // it's RECOMMENDED to:
+ //
+ // - Use a domain-specific attribute
+ // - Set `error.type` to capture all errors, regardless of whether they are
+ // defined within the domain-specific set or not.
+ ErrorTypeKey = attribute.Key("error.type")
+)
+
+// ErrorMessage returns an attribute KeyValue conforming to the "error.message"
+// semantic conventions. It represents a message providing more detail about an
+// error in human-readable form.
+func ErrorMessage(val string) attribute.KeyValue {
+ return ErrorMessageKey.String(val)
+}
+
+// Enum values for error.type
+var (
+ // A fallback error value to be used when the instrumentation doesn't define a
+ // custom value.
+ //
+ // Stability: stable
+ ErrorTypeOther = ErrorTypeKey.String("_OTHER")
+)
+
+// Namespace: exception
+const (
+ // ExceptionMessageKey is the attribute Key conforming to the
+ // "exception.message" semantic conventions. It represents the exception
+ // message.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Stable
+ //
+ // Examples: "Division by zero", "Can't convert 'int' object to str implicitly"
+ ExceptionMessageKey = attribute.Key("exception.message")
+
+ // ExceptionStacktraceKey is the attribute Key conforming to the
+ // "exception.stacktrace" semantic conventions. It represents a stacktrace as a
+ // string in the natural representation for the language runtime. The
+ // representation is to be determined and documented by each language SIG.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Stable
+ //
+ // Examples: Exception in thread "main" java.lang.RuntimeException: Test
+ // exception\n at com.example.GenerateTrace.methodB(GenerateTrace.java:13)\n at
+ // com.example.GenerateTrace.methodA(GenerateTrace.java:9)\n at
+ // com.example.GenerateTrace.main(GenerateTrace.java:5)
+ ExceptionStacktraceKey = attribute.Key("exception.stacktrace")
+
+ // ExceptionTypeKey is the attribute Key conforming to the "exception.type"
+ // semantic conventions. It represents the type of the exception (its
+ // fully-qualified class name, if applicable). The dynamic type of the exception
+ // should be preferred over the static type in languages that support it.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Stable
+ //
+ // Examples: "java.net.ConnectException", "OSError"
+ ExceptionTypeKey = attribute.Key("exception.type")
+)
+
+// ExceptionMessage returns an attribute KeyValue conforming to the
+// "exception.message" semantic conventions. It represents the exception message.
+func ExceptionMessage(val string) attribute.KeyValue {
+ return ExceptionMessageKey.String(val)
+}
+
+// ExceptionStacktrace returns an attribute KeyValue conforming to the
+// "exception.stacktrace" semantic conventions. It represents a stacktrace as a
+// string in the natural representation for the language runtime. The
+// representation is to be determined and documented by each language SIG.
+func ExceptionStacktrace(val string) attribute.KeyValue {
+ return ExceptionStacktraceKey.String(val)
+}
+
+// ExceptionType returns an attribute KeyValue conforming to the "exception.type"
+// semantic conventions. It represents the type of the exception (its
+// fully-qualified class name, if applicable). The dynamic type of the exception
+// should be preferred over the static type in languages that support it.
+func ExceptionType(val string) attribute.KeyValue {
+ return ExceptionTypeKey.String(val)
+}
+
+// Namespace: faas
+const (
+ // FaaSColdstartKey is the attribute Key conforming to the "faas.coldstart"
+ // semantic conventions. It represents a boolean that is true if the serverless
+ // function is executed for the first time (aka cold-start).
+ //
+ // Type: boolean
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples:
+ FaaSColdstartKey = attribute.Key("faas.coldstart")
+
+ // FaaSCronKey is the attribute Key conforming to the "faas.cron" semantic
+ // conventions. It represents a string containing the schedule period as
+ // [Cron Expression].
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: 0/5 * * * ? *
+ //
+ // [Cron Expression]: https://docs.oracle.com/cd/E12058_01/doc/doc.1014/e12030/cron_expressions.htm
+ FaaSCronKey = attribute.Key("faas.cron")
+
+ // FaaSDocumentCollectionKey is the attribute Key conforming to the
+ // "faas.document.collection" semantic conventions. It represents the name of
+ // the source on which the triggering operation was performed. For example, in
+ // Cloud Storage or S3 corresponds to the bucket name, and in Cosmos DB to the
+ // database name.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "myBucketName", "myDbName"
+ FaaSDocumentCollectionKey = attribute.Key("faas.document.collection")
+
+ // FaaSDocumentNameKey is the attribute Key conforming to the
+ // "faas.document.name" semantic conventions. It represents the document
+ // name/table subjected to the operation. For example, in Cloud Storage or S3 is
+ // the name of the file, and in Cosmos DB the table name.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "myFile.txt", "myTableName"
+ FaaSDocumentNameKey = attribute.Key("faas.document.name")
+
+ // FaaSDocumentOperationKey is the attribute Key conforming to the
+ // "faas.document.operation" semantic conventions. It represents the describes
+ // the type of the operation that was performed on the data.
+ //
+ // Type: Enum
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples:
+ FaaSDocumentOperationKey = attribute.Key("faas.document.operation")
+
+ // FaaSDocumentTimeKey is the attribute Key conforming to the
+ // "faas.document.time" semantic conventions. It represents a string containing
+ // the time when the data was accessed in the [ISO 8601] format expressed in
+ // [UTC].
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: 2020-01-23T13:47:06Z
+ //
+ // [ISO 8601]: https://www.iso.org/iso-8601-date-and-time-format.html
+ // [UTC]: https://www.w3.org/TR/NOTE-datetime
+ FaaSDocumentTimeKey = attribute.Key("faas.document.time")
+
+ // FaaSInstanceKey is the attribute Key conforming to the "faas.instance"
+ // semantic conventions. It represents the execution environment ID as a string,
+ // that will be potentially reused for other invocations to the same
+ // function/function version.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "2021/06/28/[$LATEST]2f399eb14537447da05ab2a2e39309de"
+ // Note: - **AWS Lambda:** Use the (full) log stream name.
+ FaaSInstanceKey = attribute.Key("faas.instance")
+
+ // FaaSInvocationIDKey is the attribute Key conforming to the
+ // "faas.invocation_id" semantic conventions. It represents the invocation ID of
+ // the current function invocation.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: af9d5aa4-a685-4c5f-a22b-444f80b3cc28
+ FaaSInvocationIDKey = attribute.Key("faas.invocation_id")
+
+ // FaaSInvokedNameKey is the attribute Key conforming to the "faas.invoked_name"
+ // semantic conventions. It represents the name of the invoked function.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: my-function
+ // Note: SHOULD be equal to the `faas.name` resource attribute of the invoked
+ // function.
+ FaaSInvokedNameKey = attribute.Key("faas.invoked_name")
+
+ // FaaSInvokedProviderKey is the attribute Key conforming to the
+ // "faas.invoked_provider" semantic conventions. It represents the cloud
+ // provider of the invoked function.
+ //
+ // Type: Enum
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples:
+ // Note: SHOULD be equal to the `cloud.provider` resource attribute of the
+ // invoked function.
+ FaaSInvokedProviderKey = attribute.Key("faas.invoked_provider")
+
+ // FaaSInvokedRegionKey is the attribute Key conforming to the
+ // "faas.invoked_region" semantic conventions. It represents the cloud region of
+ // the invoked function.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: eu-central-1
+ // Note: SHOULD be equal to the `cloud.region` resource attribute of the invoked
+ // function.
+ FaaSInvokedRegionKey = attribute.Key("faas.invoked_region")
+
+ // FaaSMaxMemoryKey is the attribute Key conforming to the "faas.max_memory"
+ // semantic conventions. It represents the amount of memory available to the
+ // serverless function converted to Bytes.
+ //
+ // Type: int
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Note: It's recommended to set this attribute since e.g. too little memory can
+ // easily stop a Java AWS Lambda function from working correctly. On AWS Lambda,
+ // the environment variable `AWS_LAMBDA_FUNCTION_MEMORY_SIZE` provides this
+ // information (which must be multiplied by 1,048,576).
+ FaaSMaxMemoryKey = attribute.Key("faas.max_memory")
+
+ // FaaSNameKey is the attribute Key conforming to the "faas.name" semantic
+ // conventions. It represents the name of the single function that this runtime
+ // instance executes.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "my-function", "myazurefunctionapp/some-function-name"
+ // Note: This is the name of the function as configured/deployed on the FaaS
+ // platform and is usually different from the name of the callback
+ // function (which may be stored in the
+ // [`code.namespace`/`code.function.name`]
+ // span attributes).
+ //
+ // For some cloud providers, the above definition is ambiguous. The following
+ // definition of function name MUST be used for this attribute
+ // (and consequently the span name) for the listed cloud providers/products:
+ //
+ // - **Azure:** The full name `/`, i.e., function app name
+ // followed by a forward slash followed by the function name (this form
+ // can also be seen in the resource JSON for the function).
+ // This means that a span attribute MUST be used, as an Azure function
+ // app can host multiple functions that would usually share
+ // a TracerProvider (see also the `cloud.resource_id` attribute).
+ //
+ //
+ // [`code.namespace`/`code.function.name`]: /docs/general/attributes.md#source-code-attributes
+ FaaSNameKey = attribute.Key("faas.name")
+
+ // FaaSTimeKey is the attribute Key conforming to the "faas.time" semantic
+ // conventions. It represents a string containing the function invocation time
+ // in the [ISO 8601] format expressed in [UTC].
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: 2020-01-23T13:47:06Z
+ //
+ // [ISO 8601]: https://www.iso.org/iso-8601-date-and-time-format.html
+ // [UTC]: https://www.w3.org/TR/NOTE-datetime
+ FaaSTimeKey = attribute.Key("faas.time")
+
+ // FaaSTriggerKey is the attribute Key conforming to the "faas.trigger" semantic
+ // conventions. It represents the type of the trigger which caused this function
+ // invocation.
+ //
+ // Type: Enum
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples:
+ FaaSTriggerKey = attribute.Key("faas.trigger")
+
+ // FaaSVersionKey is the attribute Key conforming to the "faas.version" semantic
+ // conventions. It represents the immutable version of the function being
+ // executed.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "26", "pinkfroid-00002"
+ // Note: Depending on the cloud provider and platform, use:
+ //
+ // - **AWS Lambda:** The [function version]
+ // (an integer represented as a decimal string).
+ // - **Google Cloud Run (Services):** The [revision]
+ // (i.e., the function name plus the revision suffix).
+ // - **Google Cloud Functions:** The value of the
+ // [`K_REVISION` environment variable].
+ // - **Azure Functions:** Not applicable. Do not set this attribute.
+ //
+ //
+ // [function version]: https://docs.aws.amazon.com/lambda/latest/dg/configuration-versions.html
+ // [revision]: https://cloud.google.com/run/docs/managing/revisions
+ // [`K_REVISION` environment variable]: https://cloud.google.com/functions/docs/env-var#runtime_environment_variables_set_automatically
+ FaaSVersionKey = attribute.Key("faas.version")
+)
+
+// FaaSColdstart returns an attribute KeyValue conforming to the "faas.coldstart"
+// semantic conventions. It represents a boolean that is true if the serverless
+// function is executed for the first time (aka cold-start).
+func FaaSColdstart(val bool) attribute.KeyValue {
+ return FaaSColdstartKey.Bool(val)
+}
+
+// FaaSCron returns an attribute KeyValue conforming to the "faas.cron" semantic
+// conventions. It represents a string containing the schedule period as
+// [Cron Expression].
+//
+// [Cron Expression]: https://docs.oracle.com/cd/E12058_01/doc/doc.1014/e12030/cron_expressions.htm
+func FaaSCron(val string) attribute.KeyValue {
+ return FaaSCronKey.String(val)
+}
+
+// FaaSDocumentCollection returns an attribute KeyValue conforming to the
+// "faas.document.collection" semantic conventions. It represents the name of the
+// source on which the triggering operation was performed. For example, in Cloud
+// Storage or S3 corresponds to the bucket name, and in Cosmos DB to the database
+// name.
+func FaaSDocumentCollection(val string) attribute.KeyValue {
+ return FaaSDocumentCollectionKey.String(val)
+}
+
+// FaaSDocumentName returns an attribute KeyValue conforming to the
+// "faas.document.name" semantic conventions. It represents the document
+// name/table subjected to the operation. For example, in Cloud Storage or S3 is
+// the name of the file, and in Cosmos DB the table name.
+func FaaSDocumentName(val string) attribute.KeyValue {
+ return FaaSDocumentNameKey.String(val)
+}
+
+// FaaSDocumentTime returns an attribute KeyValue conforming to the
+// "faas.document.time" semantic conventions. It represents a string containing
+// the time when the data was accessed in the [ISO 8601] format expressed in
+// [UTC].
+//
+// [ISO 8601]: https://www.iso.org/iso-8601-date-and-time-format.html
+// [UTC]: https://www.w3.org/TR/NOTE-datetime
+func FaaSDocumentTime(val string) attribute.KeyValue {
+ return FaaSDocumentTimeKey.String(val)
+}
+
+// FaaSInstance returns an attribute KeyValue conforming to the "faas.instance"
+// semantic conventions. It represents the execution environment ID as a string,
+// that will be potentially reused for other invocations to the same
+// function/function version.
+func FaaSInstance(val string) attribute.KeyValue {
+ return FaaSInstanceKey.String(val)
+}
+
+// FaaSInvocationID returns an attribute KeyValue conforming to the
+// "faas.invocation_id" semantic conventions. It represents the invocation ID of
+// the current function invocation.
+func FaaSInvocationID(val string) attribute.KeyValue {
+ return FaaSInvocationIDKey.String(val)
+}
+
+// FaaSInvokedName returns an attribute KeyValue conforming to the
+// "faas.invoked_name" semantic conventions. It represents the name of the
+// invoked function.
+func FaaSInvokedName(val string) attribute.KeyValue {
+ return FaaSInvokedNameKey.String(val)
+}
+
+// FaaSInvokedRegion returns an attribute KeyValue conforming to the
+// "faas.invoked_region" semantic conventions. It represents the cloud region of
+// the invoked function.
+func FaaSInvokedRegion(val string) attribute.KeyValue {
+ return FaaSInvokedRegionKey.String(val)
+}
+
+// FaaSMaxMemory returns an attribute KeyValue conforming to the
+// "faas.max_memory" semantic conventions. It represents the amount of memory
+// available to the serverless function converted to Bytes.
+func FaaSMaxMemory(val int) attribute.KeyValue {
+ return FaaSMaxMemoryKey.Int(val)
+}
+
+// FaaSName returns an attribute KeyValue conforming to the "faas.name" semantic
+// conventions. It represents the name of the single function that this runtime
+// instance executes.
+func FaaSName(val string) attribute.KeyValue {
+ return FaaSNameKey.String(val)
+}
+
+// FaaSTime returns an attribute KeyValue conforming to the "faas.time" semantic
+// conventions. It represents a string containing the function invocation time in
+// the [ISO 8601] format expressed in [UTC].
+//
+// [ISO 8601]: https://www.iso.org/iso-8601-date-and-time-format.html
+// [UTC]: https://www.w3.org/TR/NOTE-datetime
+func FaaSTime(val string) attribute.KeyValue {
+ return FaaSTimeKey.String(val)
+}
+
+// FaaSVersion returns an attribute KeyValue conforming to the "faas.version"
+// semantic conventions. It represents the immutable version of the function
+// being executed.
+func FaaSVersion(val string) attribute.KeyValue {
+ return FaaSVersionKey.String(val)
+}
+
+// Enum values for faas.document.operation
+var (
+ // When a new object is created.
+ // Stability: development
+ FaaSDocumentOperationInsert = FaaSDocumentOperationKey.String("insert")
+ // When an object is modified.
+ // Stability: development
+ FaaSDocumentOperationEdit = FaaSDocumentOperationKey.String("edit")
+ // When an object is deleted.
+ // Stability: development
+ FaaSDocumentOperationDelete = FaaSDocumentOperationKey.String("delete")
+)
+
+// Enum values for faas.invoked_provider
+var (
+ // Alibaba Cloud
+ // Stability: development
+ FaaSInvokedProviderAlibabaCloud = FaaSInvokedProviderKey.String("alibaba_cloud")
+ // Amazon Web Services
+ // Stability: development
+ FaaSInvokedProviderAWS = FaaSInvokedProviderKey.String("aws")
+ // Microsoft Azure
+ // Stability: development
+ FaaSInvokedProviderAzure = FaaSInvokedProviderKey.String("azure")
+ // Google Cloud Platform
+ // Stability: development
+ FaaSInvokedProviderGCP = FaaSInvokedProviderKey.String("gcp")
+ // Tencent Cloud
+ // Stability: development
+ FaaSInvokedProviderTencentCloud = FaaSInvokedProviderKey.String("tencent_cloud")
+)
+
+// Enum values for faas.trigger
+var (
+ // A response to some data source operation such as a database or filesystem
+ // read/write
+ // Stability: development
+ FaaSTriggerDatasource = FaaSTriggerKey.String("datasource")
+ // To provide an answer to an inbound HTTP request
+ // Stability: development
+ FaaSTriggerHTTP = FaaSTriggerKey.String("http")
+ // A function is set to be executed when messages are sent to a messaging system
+ // Stability: development
+ FaaSTriggerPubSub = FaaSTriggerKey.String("pubsub")
+ // A function is scheduled to be executed regularly
+ // Stability: development
+ FaaSTriggerTimer = FaaSTriggerKey.String("timer")
+ // If none of the others apply
+ // Stability: development
+ FaaSTriggerOther = FaaSTriggerKey.String("other")
+)
+
+// Namespace: feature_flag
+const (
+ // FeatureFlagContextIDKey is the attribute Key conforming to the
+ // "feature_flag.context.id" semantic conventions. It represents the unique
+ // identifier for the flag evaluation context. For example, the targeting key.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "5157782b-2203-4c80-a857-dbbd5e7761db"
+ FeatureFlagContextIDKey = attribute.Key("feature_flag.context.id")
+
+ // FeatureFlagKeyKey is the attribute Key conforming to the "feature_flag.key"
+ // semantic conventions. It represents the lookup key of the feature flag.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "logo-color"
+ FeatureFlagKeyKey = attribute.Key("feature_flag.key")
+
+ // FeatureFlagProviderNameKey is the attribute Key conforming to the
+ // "feature_flag.provider.name" semantic conventions. It represents the
+ // identifies the feature flag provider.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "Flag Manager"
+ FeatureFlagProviderNameKey = attribute.Key("feature_flag.provider.name")
+
+ // FeatureFlagResultReasonKey is the attribute Key conforming to the
+ // "feature_flag.result.reason" semantic conventions. It represents the reason
+ // code which shows how a feature flag value was determined.
+ //
+ // Type: Enum
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "static", "targeting_match", "error", "default"
+ FeatureFlagResultReasonKey = attribute.Key("feature_flag.result.reason")
+
+ // FeatureFlagResultValueKey is the attribute Key conforming to the
+ // "feature_flag.result.value" semantic conventions. It represents the evaluated
+ // value of the feature flag.
+ //
+ // Type: any
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "#ff0000", true, 3
+ // Note: With some feature flag providers, feature flag results can be quite
+ // large or contain private or sensitive details.
+ // Because of this, `feature_flag.result.variant` is often the preferred
+ // attribute if it is available.
+ //
+ // It may be desirable to redact or otherwise limit the size and scope of
+ // `feature_flag.result.value` if possible.
+ // Because the evaluated flag value is unstructured and may be any type, it is
+ // left to the instrumentation author to determine how best to achieve this.
+ FeatureFlagResultValueKey = attribute.Key("feature_flag.result.value")
+
+ // FeatureFlagResultVariantKey is the attribute Key conforming to the
+ // "feature_flag.result.variant" semantic conventions. It represents a semantic
+ // identifier for an evaluated flag value.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "red", "true", "on"
+ // Note: A semantic identifier, commonly referred to as a variant, provides a
+ // means
+ // for referring to a value without including the value itself. This can
+ // provide additional context for understanding the meaning behind a value.
+ // For example, the variant `red` maybe be used for the value `#c05543`.
+ FeatureFlagResultVariantKey = attribute.Key("feature_flag.result.variant")
+
+ // FeatureFlagSetIDKey is the attribute Key conforming to the
+ // "feature_flag.set.id" semantic conventions. It represents the identifier of
+ // the [flag set] to which the feature flag belongs.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "proj-1", "ab98sgs", "service1/dev"
+ //
+ // [flag set]: https://openfeature.dev/specification/glossary/#flag-set
+ FeatureFlagSetIDKey = attribute.Key("feature_flag.set.id")
+
+ // FeatureFlagVersionKey is the attribute Key conforming to the
+ // "feature_flag.version" semantic conventions. It represents the version of the
+ // ruleset used during the evaluation. This may be any stable value which
+ // uniquely identifies the ruleset.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "1", "01ABCDEF"
+ FeatureFlagVersionKey = attribute.Key("feature_flag.version")
+)
+
+// FeatureFlagContextID returns an attribute KeyValue conforming to the
+// "feature_flag.context.id" semantic conventions. It represents the unique
+// identifier for the flag evaluation context. For example, the targeting key.
+func FeatureFlagContextID(val string) attribute.KeyValue {
+ return FeatureFlagContextIDKey.String(val)
+}
+
+// FeatureFlagKey returns an attribute KeyValue conforming to the
+// "feature_flag.key" semantic conventions. It represents the lookup key of the
+// feature flag.
+func FeatureFlagKey(val string) attribute.KeyValue {
+ return FeatureFlagKeyKey.String(val)
+}
+
+// FeatureFlagProviderName returns an attribute KeyValue conforming to the
+// "feature_flag.provider.name" semantic conventions. It represents the
+// identifies the feature flag provider.
+func FeatureFlagProviderName(val string) attribute.KeyValue {
+ return FeatureFlagProviderNameKey.String(val)
+}
+
+// FeatureFlagResultVariant returns an attribute KeyValue conforming to the
+// "feature_flag.result.variant" semantic conventions. It represents a semantic
+// identifier for an evaluated flag value.
+func FeatureFlagResultVariant(val string) attribute.KeyValue {
+ return FeatureFlagResultVariantKey.String(val)
+}
+
+// FeatureFlagSetID returns an attribute KeyValue conforming to the
+// "feature_flag.set.id" semantic conventions. It represents the identifier of
+// the [flag set] to which the feature flag belongs.
+//
+// [flag set]: https://openfeature.dev/specification/glossary/#flag-set
+func FeatureFlagSetID(val string) attribute.KeyValue {
+ return FeatureFlagSetIDKey.String(val)
+}
+
+// FeatureFlagVersion returns an attribute KeyValue conforming to the
+// "feature_flag.version" semantic conventions. It represents the version of the
+// ruleset used during the evaluation. This may be any stable value which
+// uniquely identifies the ruleset.
+func FeatureFlagVersion(val string) attribute.KeyValue {
+ return FeatureFlagVersionKey.String(val)
+}
+
+// Enum values for feature_flag.result.reason
+var (
+ // The resolved value is static (no dynamic evaluation).
+ // Stability: development
+ FeatureFlagResultReasonStatic = FeatureFlagResultReasonKey.String("static")
+ // The resolved value fell back to a pre-configured value (no dynamic evaluation
+ // occurred or dynamic evaluation yielded no result).
+ // Stability: development
+ FeatureFlagResultReasonDefault = FeatureFlagResultReasonKey.String("default")
+ // The resolved value was the result of a dynamic evaluation, such as a rule or
+ // specific user-targeting.
+ // Stability: development
+ FeatureFlagResultReasonTargetingMatch = FeatureFlagResultReasonKey.String("targeting_match")
+ // The resolved value was the result of pseudorandom assignment.
+ // Stability: development
+ FeatureFlagResultReasonSplit = FeatureFlagResultReasonKey.String("split")
+ // The resolved value was retrieved from cache.
+ // Stability: development
+ FeatureFlagResultReasonCached = FeatureFlagResultReasonKey.String("cached")
+ // The resolved value was the result of the flag being disabled in the
+ // management system.
+ // Stability: development
+ FeatureFlagResultReasonDisabled = FeatureFlagResultReasonKey.String("disabled")
+ // The reason for the resolved value could not be determined.
+ // Stability: development
+ FeatureFlagResultReasonUnknown = FeatureFlagResultReasonKey.String("unknown")
+ // The resolved value is non-authoritative or possibly out of date
+ // Stability: development
+ FeatureFlagResultReasonStale = FeatureFlagResultReasonKey.String("stale")
+ // The resolved value was the result of an error.
+ // Stability: development
+ FeatureFlagResultReasonError = FeatureFlagResultReasonKey.String("error")
+)
+
+// Namespace: file
+const (
+ // FileAccessedKey is the attribute Key conforming to the "file.accessed"
+ // semantic conventions. It represents the time when the file was last accessed,
+ // in ISO 8601 format.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "2021-01-01T12:00:00Z"
+ // Note: This attribute might not be supported by some file systems — NFS,
+ // FAT32, in embedded OS, etc.
+ FileAccessedKey = attribute.Key("file.accessed")
+
+ // FileAttributesKey is the attribute Key conforming to the "file.attributes"
+ // semantic conventions. It represents the array of file attributes.
+ //
+ // Type: string[]
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "readonly", "hidden"
+ // Note: Attributes names depend on the OS or file system. Here’s a
+ // non-exhaustive list of values expected for this attribute: `archive`,
+ // `compressed`, `directory`, `encrypted`, `execute`, `hidden`, `immutable`,
+ // `journaled`, `read`, `readonly`, `symbolic link`, `system`, `temporary`,
+ // `write`.
+ FileAttributesKey = attribute.Key("file.attributes")
+
+ // FileChangedKey is the attribute Key conforming to the "file.changed" semantic
+ // conventions. It represents the time when the file attributes or metadata was
+ // last changed, in ISO 8601 format.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "2021-01-01T12:00:00Z"
+ // Note: `file.changed` captures the time when any of the file's properties or
+ // attributes (including the content) are changed, while `file.modified`
+ // captures the timestamp when the file content is modified.
+ FileChangedKey = attribute.Key("file.changed")
+
+ // FileCreatedKey is the attribute Key conforming to the "file.created" semantic
+ // conventions. It represents the time when the file was created, in ISO 8601
+ // format.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "2021-01-01T12:00:00Z"
+ // Note: This attribute might not be supported by some file systems — NFS,
+ // FAT32, in embedded OS, etc.
+ FileCreatedKey = attribute.Key("file.created")
+
+ // FileDirectoryKey is the attribute Key conforming to the "file.directory"
+ // semantic conventions. It represents the directory where the file is located.
+ // It should include the drive letter, when appropriate.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "/home/user", "C:\Program Files\MyApp"
+ FileDirectoryKey = attribute.Key("file.directory")
+
+ // FileExtensionKey is the attribute Key conforming to the "file.extension"
+ // semantic conventions. It represents the file extension, excluding the leading
+ // dot.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "png", "gz"
+ // Note: When the file name has multiple extensions (example.tar.gz), only the
+ // last one should be captured ("gz", not "tar.gz").
+ FileExtensionKey = attribute.Key("file.extension")
+
+ // FileForkNameKey is the attribute Key conforming to the "file.fork_name"
+ // semantic conventions. It represents the name of the fork. A fork is
+ // additional data associated with a filesystem object.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "Zone.Identifer"
+ // Note: On Linux, a resource fork is used to store additional data with a
+ // filesystem object. A file always has at least one fork for the data portion,
+ // and additional forks may exist.
+ // On NTFS, this is analogous to an Alternate Data Stream (ADS), and the default
+ // data stream for a file is just called $DATA. Zone.Identifier is commonly used
+ // by Windows to track contents downloaded from the Internet. An ADS is
+ // typically of the form: C:\path\to\filename.extension:some_fork_name, and
+ // some_fork_name is the value that should populate `fork_name`.
+ // `filename.extension` should populate `file.name`, and `extension` should
+ // populate `file.extension`. The full path, `file.path`, will include the fork
+ // name.
+ FileForkNameKey = attribute.Key("file.fork_name")
+
+ // FileGroupIDKey is the attribute Key conforming to the "file.group.id"
+ // semantic conventions. It represents the primary Group ID (GID) of the file.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "1000"
+ FileGroupIDKey = attribute.Key("file.group.id")
+
+ // FileGroupNameKey is the attribute Key conforming to the "file.group.name"
+ // semantic conventions. It represents the primary group name of the file.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "users"
+ FileGroupNameKey = attribute.Key("file.group.name")
+
+ // FileInodeKey is the attribute Key conforming to the "file.inode" semantic
+ // conventions. It represents the inode representing the file in the filesystem.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "256383"
+ FileInodeKey = attribute.Key("file.inode")
+
+ // FileModeKey is the attribute Key conforming to the "file.mode" semantic
+ // conventions. It represents the mode of the file in octal representation.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "0640"
+ FileModeKey = attribute.Key("file.mode")
+
+ // FileModifiedKey is the attribute Key conforming to the "file.modified"
+ // semantic conventions. It represents the time when the file content was last
+ // modified, in ISO 8601 format.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "2021-01-01T12:00:00Z"
+ FileModifiedKey = attribute.Key("file.modified")
+
+ // FileNameKey is the attribute Key conforming to the "file.name" semantic
+ // conventions. It represents the name of the file including the extension,
+ // without the directory.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "example.png"
+ FileNameKey = attribute.Key("file.name")
+
+ // FileOwnerIDKey is the attribute Key conforming to the "file.owner.id"
+ // semantic conventions. It represents the user ID (UID) or security identifier
+ // (SID) of the file owner.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "1000"
+ FileOwnerIDKey = attribute.Key("file.owner.id")
+
+ // FileOwnerNameKey is the attribute Key conforming to the "file.owner.name"
+ // semantic conventions. It represents the username of the file owner.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "root"
+ FileOwnerNameKey = attribute.Key("file.owner.name")
+
+ // FilePathKey is the attribute Key conforming to the "file.path" semantic
+ // conventions. It represents the full path to the file, including the file
+ // name. It should include the drive letter, when appropriate.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "/home/alice/example.png", "C:\Program Files\MyApp\myapp.exe"
+ FilePathKey = attribute.Key("file.path")
+
+ // FileSizeKey is the attribute Key conforming to the "file.size" semantic
+ // conventions. It represents the file size in bytes.
+ //
+ // Type: int
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples:
+ FileSizeKey = attribute.Key("file.size")
+
+ // FileSymbolicLinkTargetPathKey is the attribute Key conforming to the
+ // "file.symbolic_link.target_path" semantic conventions. It represents the path
+ // to the target of a symbolic link.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "/usr/bin/python3"
+ // Note: This attribute is only applicable to symbolic links.
+ FileSymbolicLinkTargetPathKey = attribute.Key("file.symbolic_link.target_path")
+)
+
+// FileAccessed returns an attribute KeyValue conforming to the "file.accessed"
+// semantic conventions. It represents the time when the file was last accessed,
+// in ISO 8601 format.
+func FileAccessed(val string) attribute.KeyValue {
+ return FileAccessedKey.String(val)
+}
+
+// FileAttributes returns an attribute KeyValue conforming to the
+// "file.attributes" semantic conventions. It represents the array of file
+// attributes.
+func FileAttributes(val ...string) attribute.KeyValue {
+ return FileAttributesKey.StringSlice(val)
+}
+
+// FileChanged returns an attribute KeyValue conforming to the "file.changed"
+// semantic conventions. It represents the time when the file attributes or
+// metadata was last changed, in ISO 8601 format.
+func FileChanged(val string) attribute.KeyValue {
+ return FileChangedKey.String(val)
+}
+
+// FileCreated returns an attribute KeyValue conforming to the "file.created"
+// semantic conventions. It represents the time when the file was created, in ISO
+// 8601 format.
+func FileCreated(val string) attribute.KeyValue {
+ return FileCreatedKey.String(val)
+}
+
+// FileDirectory returns an attribute KeyValue conforming to the "file.directory"
+// semantic conventions. It represents the directory where the file is located.
+// It should include the drive letter, when appropriate.
+func FileDirectory(val string) attribute.KeyValue {
+ return FileDirectoryKey.String(val)
+}
+
+// FileExtension returns an attribute KeyValue conforming to the "file.extension"
+// semantic conventions. It represents the file extension, excluding the leading
+// dot.
+func FileExtension(val string) attribute.KeyValue {
+ return FileExtensionKey.String(val)
+}
+
+// FileForkName returns an attribute KeyValue conforming to the "file.fork_name"
+// semantic conventions. It represents the name of the fork. A fork is additional
+// data associated with a filesystem object.
+func FileForkName(val string) attribute.KeyValue {
+ return FileForkNameKey.String(val)
+}
+
+// FileGroupID returns an attribute KeyValue conforming to the "file.group.id"
+// semantic conventions. It represents the primary Group ID (GID) of the file.
+func FileGroupID(val string) attribute.KeyValue {
+ return FileGroupIDKey.String(val)
+}
+
+// FileGroupName returns an attribute KeyValue conforming to the
+// "file.group.name" semantic conventions. It represents the primary group name
+// of the file.
+func FileGroupName(val string) attribute.KeyValue {
+ return FileGroupNameKey.String(val)
+}
+
+// FileInode returns an attribute KeyValue conforming to the "file.inode"
+// semantic conventions. It represents the inode representing the file in the
+// filesystem.
+func FileInode(val string) attribute.KeyValue {
+ return FileInodeKey.String(val)
+}
+
+// FileMode returns an attribute KeyValue conforming to the "file.mode" semantic
+// conventions. It represents the mode of the file in octal representation.
+func FileMode(val string) attribute.KeyValue {
+ return FileModeKey.String(val)
+}
+
+// FileModified returns an attribute KeyValue conforming to the "file.modified"
+// semantic conventions. It represents the time when the file content was last
+// modified, in ISO 8601 format.
+func FileModified(val string) attribute.KeyValue {
+ return FileModifiedKey.String(val)
+}
+
+// FileName returns an attribute KeyValue conforming to the "file.name" semantic
+// conventions. It represents the name of the file including the extension,
+// without the directory.
+func FileName(val string) attribute.KeyValue {
+ return FileNameKey.String(val)
+}
+
+// FileOwnerID returns an attribute KeyValue conforming to the "file.owner.id"
+// semantic conventions. It represents the user ID (UID) or security identifier
+// (SID) of the file owner.
+func FileOwnerID(val string) attribute.KeyValue {
+ return FileOwnerIDKey.String(val)
+}
+
+// FileOwnerName returns an attribute KeyValue conforming to the
+// "file.owner.name" semantic conventions. It represents the username of the file
+// owner.
+func FileOwnerName(val string) attribute.KeyValue {
+ return FileOwnerNameKey.String(val)
+}
+
+// FilePath returns an attribute KeyValue conforming to the "file.path" semantic
+// conventions. It represents the full path to the file, including the file name.
+// It should include the drive letter, when appropriate.
+func FilePath(val string) attribute.KeyValue {
+ return FilePathKey.String(val)
+}
+
+// FileSize returns an attribute KeyValue conforming to the "file.size" semantic
+// conventions. It represents the file size in bytes.
+func FileSize(val int) attribute.KeyValue {
+ return FileSizeKey.Int(val)
+}
+
+// FileSymbolicLinkTargetPath returns an attribute KeyValue conforming to the
+// "file.symbolic_link.target_path" semantic conventions. It represents the path
+// to the target of a symbolic link.
+func FileSymbolicLinkTargetPath(val string) attribute.KeyValue {
+ return FileSymbolicLinkTargetPathKey.String(val)
+}
+
+// Namespace: gcp
+const (
+ // GCPAppHubApplicationContainerKey is the attribute Key conforming to the
+ // "gcp.apphub.application.container" semantic conventions. It represents the
+ // container within GCP where the AppHub application is defined.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "projects/my-container-project"
+ GCPAppHubApplicationContainerKey = attribute.Key("gcp.apphub.application.container")
+
+ // GCPAppHubApplicationIDKey is the attribute Key conforming to the
+ // "gcp.apphub.application.id" semantic conventions. It represents the name of
+ // the application as configured in AppHub.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "my-application"
+ GCPAppHubApplicationIDKey = attribute.Key("gcp.apphub.application.id")
+
+ // GCPAppHubApplicationLocationKey is the attribute Key conforming to the
+ // "gcp.apphub.application.location" semantic conventions. It represents the GCP
+ // zone or region where the application is defined.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "us-central1"
+ GCPAppHubApplicationLocationKey = attribute.Key("gcp.apphub.application.location")
+
+ // GCPAppHubServiceCriticalityTypeKey is the attribute Key conforming to the
+ // "gcp.apphub.service.criticality_type" semantic conventions. It represents the
+ // criticality of a service indicates its importance to the business.
+ //
+ // Type: Enum
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples:
+ // Note: [See AppHub type enum]
+ //
+ // [See AppHub type enum]: https://cloud.google.com/app-hub/docs/reference/rest/v1/Attributes#type
+ GCPAppHubServiceCriticalityTypeKey = attribute.Key("gcp.apphub.service.criticality_type")
+
+ // GCPAppHubServiceEnvironmentTypeKey is the attribute Key conforming to the
+ // "gcp.apphub.service.environment_type" semantic conventions. It represents the
+ // environment of a service is the stage of a software lifecycle.
+ //
+ // Type: Enum
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples:
+ // Note: [See AppHub environment type]
+ //
+ // [See AppHub environment type]: https://cloud.google.com/app-hub/docs/reference/rest/v1/Attributes#type_1
+ GCPAppHubServiceEnvironmentTypeKey = attribute.Key("gcp.apphub.service.environment_type")
+
+ // GCPAppHubServiceIDKey is the attribute Key conforming to the
+ // "gcp.apphub.service.id" semantic conventions. It represents the name of the
+ // service as configured in AppHub.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "my-service"
+ GCPAppHubServiceIDKey = attribute.Key("gcp.apphub.service.id")
+
+ // GCPAppHubWorkloadCriticalityTypeKey is the attribute Key conforming to the
+ // "gcp.apphub.workload.criticality_type" semantic conventions. It represents
+ // the criticality of a workload indicates its importance to the business.
+ //
+ // Type: Enum
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples:
+ // Note: [See AppHub type enum]
+ //
+ // [See AppHub type enum]: https://cloud.google.com/app-hub/docs/reference/rest/v1/Attributes#type
+ GCPAppHubWorkloadCriticalityTypeKey = attribute.Key("gcp.apphub.workload.criticality_type")
+
+ // GCPAppHubWorkloadEnvironmentTypeKey is the attribute Key conforming to the
+ // "gcp.apphub.workload.environment_type" semantic conventions. It represents
+ // the environment of a workload is the stage of a software lifecycle.
+ //
+ // Type: Enum
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples:
+ // Note: [See AppHub environment type]
+ //
+ // [See AppHub environment type]: https://cloud.google.com/app-hub/docs/reference/rest/v1/Attributes#type_1
+ GCPAppHubWorkloadEnvironmentTypeKey = attribute.Key("gcp.apphub.workload.environment_type")
+
+ // GCPAppHubWorkloadIDKey is the attribute Key conforming to the
+ // "gcp.apphub.workload.id" semantic conventions. It represents the name of the
+ // workload as configured in AppHub.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "my-workload"
+ GCPAppHubWorkloadIDKey = attribute.Key("gcp.apphub.workload.id")
+
+ // GCPClientServiceKey is the attribute Key conforming to the
+ // "gcp.client.service" semantic conventions. It represents the identifies the
+ // Google Cloud service for which the official client library is intended.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "appengine", "run", "firestore", "alloydb", "spanner"
+ // Note: Intended to be a stable identifier for Google Cloud client libraries
+ // that is uniform across implementation languages. The value should be derived
+ // from the canonical service domain for the service; for example,
+ // 'foo.googleapis.com' should result in a value of 'foo'.
+ GCPClientServiceKey = attribute.Key("gcp.client.service")
+
+ // GCPCloudRunJobExecutionKey is the attribute Key conforming to the
+ // "gcp.cloud_run.job.execution" semantic conventions. It represents the name of
+ // the Cloud Run [execution] being run for the Job, as set by the
+ // [`CLOUD_RUN_EXECUTION`] environment variable.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "job-name-xxxx", "sample-job-mdw84"
+ //
+ // [execution]: https://cloud.google.com/run/docs/managing/job-executions
+ // [`CLOUD_RUN_EXECUTION`]: https://cloud.google.com/run/docs/container-contract#jobs-env-vars
+ GCPCloudRunJobExecutionKey = attribute.Key("gcp.cloud_run.job.execution")
+
+ // GCPCloudRunJobTaskIndexKey is the attribute Key conforming to the
+ // "gcp.cloud_run.job.task_index" semantic conventions. It represents the index
+ // for a task within an execution as provided by the [`CLOUD_RUN_TASK_INDEX`]
+ // environment variable.
+ //
+ // Type: int
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: 0, 1
+ //
+ // [`CLOUD_RUN_TASK_INDEX`]: https://cloud.google.com/run/docs/container-contract#jobs-env-vars
+ GCPCloudRunJobTaskIndexKey = attribute.Key("gcp.cloud_run.job.task_index")
+
+ // GCPGCEInstanceHostnameKey is the attribute Key conforming to the
+ // "gcp.gce.instance.hostname" semantic conventions. It represents the hostname
+ // of a GCE instance. This is the full value of the default or [custom hostname]
+ // .
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "my-host1234.example.com",
+ // "sample-vm.us-west1-b.c.my-project.internal"
+ //
+ // [custom hostname]: https://cloud.google.com/compute/docs/instances/custom-hostname-vm
+ GCPGCEInstanceHostnameKey = attribute.Key("gcp.gce.instance.hostname")
+
+ // GCPGCEInstanceNameKey is the attribute Key conforming to the
+ // "gcp.gce.instance.name" semantic conventions. It represents the instance name
+ // of a GCE instance. This is the value provided by `host.name`, the visible
+ // name of the instance in the Cloud Console UI, and the prefix for the default
+ // hostname of the instance as defined by the [default internal DNS name].
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "instance-1", "my-vm-name"
+ //
+ // [default internal DNS name]: https://cloud.google.com/compute/docs/internal-dns#instance-fully-qualified-domain-names
+ GCPGCEInstanceNameKey = attribute.Key("gcp.gce.instance.name")
+)
+
+// GCPAppHubApplicationContainer returns an attribute KeyValue conforming to the
+// "gcp.apphub.application.container" semantic conventions. It represents the
+// container within GCP where the AppHub application is defined.
+func GCPAppHubApplicationContainer(val string) attribute.KeyValue {
+ return GCPAppHubApplicationContainerKey.String(val)
+}
+
+// GCPAppHubApplicationID returns an attribute KeyValue conforming to the
+// "gcp.apphub.application.id" semantic conventions. It represents the name of
+// the application as configured in AppHub.
+func GCPAppHubApplicationID(val string) attribute.KeyValue {
+ return GCPAppHubApplicationIDKey.String(val)
+}
+
+// GCPAppHubApplicationLocation returns an attribute KeyValue conforming to the
+// "gcp.apphub.application.location" semantic conventions. It represents the GCP
+// zone or region where the application is defined.
+func GCPAppHubApplicationLocation(val string) attribute.KeyValue {
+ return GCPAppHubApplicationLocationKey.String(val)
+}
+
+// GCPAppHubServiceID returns an attribute KeyValue conforming to the
+// "gcp.apphub.service.id" semantic conventions. It represents the name of the
+// service as configured in AppHub.
+func GCPAppHubServiceID(val string) attribute.KeyValue {
+ return GCPAppHubServiceIDKey.String(val)
+}
+
+// GCPAppHubWorkloadID returns an attribute KeyValue conforming to the
+// "gcp.apphub.workload.id" semantic conventions. It represents the name of the
+// workload as configured in AppHub.
+func GCPAppHubWorkloadID(val string) attribute.KeyValue {
+ return GCPAppHubWorkloadIDKey.String(val)
+}
+
+// GCPClientService returns an attribute KeyValue conforming to the
+// "gcp.client.service" semantic conventions. It represents the identifies the
+// Google Cloud service for which the official client library is intended.
+func GCPClientService(val string) attribute.KeyValue {
+ return GCPClientServiceKey.String(val)
+}
+
+// GCPCloudRunJobExecution returns an attribute KeyValue conforming to the
+// "gcp.cloud_run.job.execution" semantic conventions. It represents the name of
+// the Cloud Run [execution] being run for the Job, as set by the
+// [`CLOUD_RUN_EXECUTION`] environment variable.
+//
+// [execution]: https://cloud.google.com/run/docs/managing/job-executions
+// [`CLOUD_RUN_EXECUTION`]: https://cloud.google.com/run/docs/container-contract#jobs-env-vars
+func GCPCloudRunJobExecution(val string) attribute.KeyValue {
+ return GCPCloudRunJobExecutionKey.String(val)
+}
+
+// GCPCloudRunJobTaskIndex returns an attribute KeyValue conforming to the
+// "gcp.cloud_run.job.task_index" semantic conventions. It represents the index
+// for a task within an execution as provided by the [`CLOUD_RUN_TASK_INDEX`]
+// environment variable.
+//
+// [`CLOUD_RUN_TASK_INDEX`]: https://cloud.google.com/run/docs/container-contract#jobs-env-vars
+func GCPCloudRunJobTaskIndex(val int) attribute.KeyValue {
+ return GCPCloudRunJobTaskIndexKey.Int(val)
+}
+
+// GCPGCEInstanceHostname returns an attribute KeyValue conforming to the
+// "gcp.gce.instance.hostname" semantic conventions. It represents the hostname
+// of a GCE instance. This is the full value of the default or [custom hostname]
+// .
+//
+// [custom hostname]: https://cloud.google.com/compute/docs/instances/custom-hostname-vm
+func GCPGCEInstanceHostname(val string) attribute.KeyValue {
+ return GCPGCEInstanceHostnameKey.String(val)
+}
+
+// GCPGCEInstanceName returns an attribute KeyValue conforming to the
+// "gcp.gce.instance.name" semantic conventions. It represents the instance name
+// of a GCE instance. This is the value provided by `host.name`, the visible name
+// of the instance in the Cloud Console UI, and the prefix for the default
+// hostname of the instance as defined by the [default internal DNS name].
+//
+// [default internal DNS name]: https://cloud.google.com/compute/docs/internal-dns#instance-fully-qualified-domain-names
+func GCPGCEInstanceName(val string) attribute.KeyValue {
+ return GCPGCEInstanceNameKey.String(val)
+}
+
+// Enum values for gcp.apphub.service.criticality_type
+var (
+ // Mission critical service.
+ // Stability: development
+ GCPAppHubServiceCriticalityTypeMissionCritical = GCPAppHubServiceCriticalityTypeKey.String("MISSION_CRITICAL")
+ // High impact.
+ // Stability: development
+ GCPAppHubServiceCriticalityTypeHigh = GCPAppHubServiceCriticalityTypeKey.String("HIGH")
+ // Medium impact.
+ // Stability: development
+ GCPAppHubServiceCriticalityTypeMedium = GCPAppHubServiceCriticalityTypeKey.String("MEDIUM")
+ // Low impact.
+ // Stability: development
+ GCPAppHubServiceCriticalityTypeLow = GCPAppHubServiceCriticalityTypeKey.String("LOW")
+)
+
+// Enum values for gcp.apphub.service.environment_type
+var (
+ // Production environment.
+ // Stability: development
+ GCPAppHubServiceEnvironmentTypeProduction = GCPAppHubServiceEnvironmentTypeKey.String("PRODUCTION")
+ // Staging environment.
+ // Stability: development
+ GCPAppHubServiceEnvironmentTypeStaging = GCPAppHubServiceEnvironmentTypeKey.String("STAGING")
+ // Test environment.
+ // Stability: development
+ GCPAppHubServiceEnvironmentTypeTest = GCPAppHubServiceEnvironmentTypeKey.String("TEST")
+ // Development environment.
+ // Stability: development
+ GCPAppHubServiceEnvironmentTypeDevelopment = GCPAppHubServiceEnvironmentTypeKey.String("DEVELOPMENT")
+)
+
+// Enum values for gcp.apphub.workload.criticality_type
+var (
+ // Mission critical service.
+ // Stability: development
+ GCPAppHubWorkloadCriticalityTypeMissionCritical = GCPAppHubWorkloadCriticalityTypeKey.String("MISSION_CRITICAL")
+ // High impact.
+ // Stability: development
+ GCPAppHubWorkloadCriticalityTypeHigh = GCPAppHubWorkloadCriticalityTypeKey.String("HIGH")
+ // Medium impact.
+ // Stability: development
+ GCPAppHubWorkloadCriticalityTypeMedium = GCPAppHubWorkloadCriticalityTypeKey.String("MEDIUM")
+ // Low impact.
+ // Stability: development
+ GCPAppHubWorkloadCriticalityTypeLow = GCPAppHubWorkloadCriticalityTypeKey.String("LOW")
+)
+
+// Enum values for gcp.apphub.workload.environment_type
+var (
+ // Production environment.
+ // Stability: development
+ GCPAppHubWorkloadEnvironmentTypeProduction = GCPAppHubWorkloadEnvironmentTypeKey.String("PRODUCTION")
+ // Staging environment.
+ // Stability: development
+ GCPAppHubWorkloadEnvironmentTypeStaging = GCPAppHubWorkloadEnvironmentTypeKey.String("STAGING")
+ // Test environment.
+ // Stability: development
+ GCPAppHubWorkloadEnvironmentTypeTest = GCPAppHubWorkloadEnvironmentTypeKey.String("TEST")
+ // Development environment.
+ // Stability: development
+ GCPAppHubWorkloadEnvironmentTypeDevelopment = GCPAppHubWorkloadEnvironmentTypeKey.String("DEVELOPMENT")
+)
+
+// Namespace: gen_ai
+const (
+ // GenAIAgentDescriptionKey is the attribute Key conforming to the
+ // "gen_ai.agent.description" semantic conventions. It represents the free-form
+ // description of the GenAI agent provided by the application.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "Helps with math problems", "Generates fiction stories"
+ GenAIAgentDescriptionKey = attribute.Key("gen_ai.agent.description")
+
+ // GenAIAgentIDKey is the attribute Key conforming to the "gen_ai.agent.id"
+ // semantic conventions. It represents the unique identifier of the GenAI agent.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "asst_5j66UpCpwteGg4YSxUnt7lPY"
+ GenAIAgentIDKey = attribute.Key("gen_ai.agent.id")
+
+ // GenAIAgentNameKey is the attribute Key conforming to the "gen_ai.agent.name"
+ // semantic conventions. It represents the human-readable name of the GenAI
+ // agent provided by the application.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "Math Tutor", "Fiction Writer"
+ GenAIAgentNameKey = attribute.Key("gen_ai.agent.name")
+
+ // GenAIConversationIDKey is the attribute Key conforming to the
+ // "gen_ai.conversation.id" semantic conventions. It represents the unique
+ // identifier for a conversation (session, thread), used to store and correlate
+ // messages within this conversation.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "conv_5j66UpCpwteGg4YSxUnt7lPY"
+ GenAIConversationIDKey = attribute.Key("gen_ai.conversation.id")
+
+ // GenAIDataSourceIDKey is the attribute Key conforming to the
+ // "gen_ai.data_source.id" semantic conventions. It represents the data source
+ // identifier.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "H7STPQYOND"
+ // Note: Data sources are used by AI agents and RAG applications to store
+ // grounding data. A data source may be an external database, object store,
+ // document collection, website, or any other storage system used by the GenAI
+ // agent or application. The `gen_ai.data_source.id` SHOULD match the identifier
+ // used by the GenAI system rather than a name specific to the external storage,
+ // such as a database or object store. Semantic conventions referencing
+ // `gen_ai.data_source.id` MAY also leverage additional attributes, such as
+ // `db.*`, to further identify and describe the data source.
+ GenAIDataSourceIDKey = attribute.Key("gen_ai.data_source.id")
+
+ // GenAIOpenAIRequestServiceTierKey is the attribute Key conforming to the
+ // "gen_ai.openai.request.service_tier" semantic conventions. It represents the
+ // service tier requested. May be a specific tier, default, or auto.
+ //
+ // Type: Enum
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "auto", "default"
+ GenAIOpenAIRequestServiceTierKey = attribute.Key("gen_ai.openai.request.service_tier")
+
+ // GenAIOpenAIResponseServiceTierKey is the attribute Key conforming to the
+ // "gen_ai.openai.response.service_tier" semantic conventions. It represents the
+ // service tier used for the response.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "scale", "default"
+ GenAIOpenAIResponseServiceTierKey = attribute.Key("gen_ai.openai.response.service_tier")
+
+ // GenAIOpenAIResponseSystemFingerprintKey is the attribute Key conforming to
+ // the "gen_ai.openai.response.system_fingerprint" semantic conventions. It
+ // represents a fingerprint to track any eventual change in the Generative AI
+ // environment.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "fp_44709d6fcb"
+ GenAIOpenAIResponseSystemFingerprintKey = attribute.Key("gen_ai.openai.response.system_fingerprint")
+
+ // GenAIOperationNameKey is the attribute Key conforming to the
+ // "gen_ai.operation.name" semantic conventions. It represents the name of the
+ // operation being performed.
+ //
+ // Type: Enum
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples:
+ // Note: If one of the predefined values applies, but specific system uses a
+ // different name it's RECOMMENDED to document it in the semantic conventions
+ // for specific GenAI system and use system-specific name in the
+ // instrumentation. If a different name is not documented, instrumentation
+ // libraries SHOULD use applicable predefined value.
+ GenAIOperationNameKey = attribute.Key("gen_ai.operation.name")
+
+ // GenAIOutputTypeKey is the attribute Key conforming to the
+ // "gen_ai.output.type" semantic conventions. It represents the represents the
+ // content type requested by the client.
+ //
+ // Type: Enum
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples:
+ // Note: This attribute SHOULD be used when the client requests output of a
+ // specific type. The model may return zero or more outputs of this type.
+ // This attribute specifies the output modality and not the actual output
+ // format. For example, if an image is requested, the actual output could be a
+ // URL pointing to an image file.
+ // Additional output format details may be recorded in the future in the
+ // `gen_ai.output.{type}.*` attributes.
+ GenAIOutputTypeKey = attribute.Key("gen_ai.output.type")
+
+ // GenAIRequestChoiceCountKey is the attribute Key conforming to the
+ // "gen_ai.request.choice.count" semantic conventions. It represents the target
+ // number of candidate completions to return.
+ //
+ // Type: int
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: 3
+ GenAIRequestChoiceCountKey = attribute.Key("gen_ai.request.choice.count")
+
+ // GenAIRequestEncodingFormatsKey is the attribute Key conforming to the
+ // "gen_ai.request.encoding_formats" semantic conventions. It represents the
+ // encoding formats requested in an embeddings operation, if specified.
+ //
+ // Type: string[]
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "base64"], ["float", "binary"
+ // Note: In some GenAI systems the encoding formats are called embedding types.
+ // Also, some GenAI systems only accept a single format per request.
+ GenAIRequestEncodingFormatsKey = attribute.Key("gen_ai.request.encoding_formats")
+
+ // GenAIRequestFrequencyPenaltyKey is the attribute Key conforming to the
+ // "gen_ai.request.frequency_penalty" semantic conventions. It represents the
+ // frequency penalty setting for the GenAI request.
+ //
+ // Type: double
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: 0.1
+ GenAIRequestFrequencyPenaltyKey = attribute.Key("gen_ai.request.frequency_penalty")
+
+ // GenAIRequestMaxTokensKey is the attribute Key conforming to the
+ // "gen_ai.request.max_tokens" semantic conventions. It represents the maximum
+ // number of tokens the model generates for a request.
+ //
+ // Type: int
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: 100
+ GenAIRequestMaxTokensKey = attribute.Key("gen_ai.request.max_tokens")
+
+ // GenAIRequestModelKey is the attribute Key conforming to the
+ // "gen_ai.request.model" semantic conventions. It represents the name of the
+ // GenAI model a request is being made to.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: gpt-4
+ GenAIRequestModelKey = attribute.Key("gen_ai.request.model")
+
+ // GenAIRequestPresencePenaltyKey is the attribute Key conforming to the
+ // "gen_ai.request.presence_penalty" semantic conventions. It represents the
+ // presence penalty setting for the GenAI request.
+ //
+ // Type: double
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: 0.1
+ GenAIRequestPresencePenaltyKey = attribute.Key("gen_ai.request.presence_penalty")
+
+ // GenAIRequestSeedKey is the attribute Key conforming to the
+ // "gen_ai.request.seed" semantic conventions. It represents the requests with
+ // same seed value more likely to return same result.
+ //
+ // Type: int
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: 100
+ GenAIRequestSeedKey = attribute.Key("gen_ai.request.seed")
+
+ // GenAIRequestStopSequencesKey is the attribute Key conforming to the
+ // "gen_ai.request.stop_sequences" semantic conventions. It represents the list
+ // of sequences that the model will use to stop generating further tokens.
+ //
+ // Type: string[]
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "forest", "lived"
+ GenAIRequestStopSequencesKey = attribute.Key("gen_ai.request.stop_sequences")
+
+ // GenAIRequestTemperatureKey is the attribute Key conforming to the
+ // "gen_ai.request.temperature" semantic conventions. It represents the
+ // temperature setting for the GenAI request.
+ //
+ // Type: double
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: 0.0
+ GenAIRequestTemperatureKey = attribute.Key("gen_ai.request.temperature")
+
+ // GenAIRequestTopKKey is the attribute Key conforming to the
+ // "gen_ai.request.top_k" semantic conventions. It represents the top_k sampling
+ // setting for the GenAI request.
+ //
+ // Type: double
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: 1.0
+ GenAIRequestTopKKey = attribute.Key("gen_ai.request.top_k")
+
+ // GenAIRequestTopPKey is the attribute Key conforming to the
+ // "gen_ai.request.top_p" semantic conventions. It represents the top_p sampling
+ // setting for the GenAI request.
+ //
+ // Type: double
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: 1.0
+ GenAIRequestTopPKey = attribute.Key("gen_ai.request.top_p")
+
+ // GenAIResponseFinishReasonsKey is the attribute Key conforming to the
+ // "gen_ai.response.finish_reasons" semantic conventions. It represents the
+ // array of reasons the model stopped generating tokens, corresponding to each
+ // generation received.
+ //
+ // Type: string[]
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "stop"], ["stop", "length"
+ GenAIResponseFinishReasonsKey = attribute.Key("gen_ai.response.finish_reasons")
+
+ // GenAIResponseIDKey is the attribute Key conforming to the
+ // "gen_ai.response.id" semantic conventions. It represents the unique
+ // identifier for the completion.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "chatcmpl-123"
+ GenAIResponseIDKey = attribute.Key("gen_ai.response.id")
+
+ // GenAIResponseModelKey is the attribute Key conforming to the
+ // "gen_ai.response.model" semantic conventions. It represents the name of the
+ // model that generated the response.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "gpt-4-0613"
+ GenAIResponseModelKey = attribute.Key("gen_ai.response.model")
+
+ // GenAISystemKey is the attribute Key conforming to the "gen_ai.system"
+ // semantic conventions. It represents the Generative AI product as identified
+ // by the client or server instrumentation.
+ //
+ // Type: Enum
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: openai
+ // Note: The `gen_ai.system` describes a family of GenAI models with specific
+ // model identified
+ // by `gen_ai.request.model` and `gen_ai.response.model` attributes.
+ //
+ // The actual GenAI product may differ from the one identified by the client.
+ // Multiple systems, including Azure OpenAI and Gemini, are accessible by OpenAI
+ // client
+ // libraries. In such cases, the `gen_ai.system` is set to `openai` based on the
+ // instrumentation's best knowledge, instead of the actual system. The
+ // `server.address`
+ // attribute may help identify the actual system in use for `openai`.
+ //
+ // For custom model, a custom friendly name SHOULD be used.
+ // If none of these options apply, the `gen_ai.system` SHOULD be set to `_OTHER`
+ // .
+ GenAISystemKey = attribute.Key("gen_ai.system")
+
+ // GenAITokenTypeKey is the attribute Key conforming to the "gen_ai.token.type"
+ // semantic conventions. It represents the type of token being counted.
+ //
+ // Type: Enum
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "input", "output"
+ GenAITokenTypeKey = attribute.Key("gen_ai.token.type")
+
+ // GenAIToolCallIDKey is the attribute Key conforming to the
+ // "gen_ai.tool.call.id" semantic conventions. It represents the tool call
+ // identifier.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "call_mszuSIzqtI65i1wAUOE8w5H4"
+ GenAIToolCallIDKey = attribute.Key("gen_ai.tool.call.id")
+
+ // GenAIToolDescriptionKey is the attribute Key conforming to the
+ // "gen_ai.tool.description" semantic conventions. It represents the tool
+ // description.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "Multiply two numbers"
+ GenAIToolDescriptionKey = attribute.Key("gen_ai.tool.description")
+
+ // GenAIToolNameKey is the attribute Key conforming to the "gen_ai.tool.name"
+ // semantic conventions. It represents the name of the tool utilized by the
+ // agent.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "Flights"
+ GenAIToolNameKey = attribute.Key("gen_ai.tool.name")
+
+ // GenAIToolTypeKey is the attribute Key conforming to the "gen_ai.tool.type"
+ // semantic conventions. It represents the type of the tool utilized by the
+ // agent.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "function", "extension", "datastore"
+ // Note: Extension: A tool executed on the agent-side to directly call external
+ // APIs, bridging the gap between the agent and real-world systems.
+ // Agent-side operations involve actions that are performed by the agent on the
+ // server or within the agent's controlled environment.
+ // Function: A tool executed on the client-side, where the agent generates
+ // parameters for a predefined function, and the client executes the logic.
+ // Client-side operations are actions taken on the user's end or within the
+ // client application.
+ // Datastore: A tool used by the agent to access and query structured or
+ // unstructured external data for retrieval-augmented tasks or knowledge
+ // updates.
+ GenAIToolTypeKey = attribute.Key("gen_ai.tool.type")
+
+ // GenAIUsageInputTokensKey is the attribute Key conforming to the
+ // "gen_ai.usage.input_tokens" semantic conventions. It represents the number of
+ // tokens used in the GenAI input (prompt).
+ //
+ // Type: int
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: 100
+ GenAIUsageInputTokensKey = attribute.Key("gen_ai.usage.input_tokens")
+
+ // GenAIUsageOutputTokensKey is the attribute Key conforming to the
+ // "gen_ai.usage.output_tokens" semantic conventions. It represents the number
+ // of tokens used in the GenAI response (completion).
+ //
+ // Type: int
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: 180
+ GenAIUsageOutputTokensKey = attribute.Key("gen_ai.usage.output_tokens")
+)
+
+// GenAIAgentDescription returns an attribute KeyValue conforming to the
+// "gen_ai.agent.description" semantic conventions. It represents the free-form
+// description of the GenAI agent provided by the application.
+func GenAIAgentDescription(val string) attribute.KeyValue {
+ return GenAIAgentDescriptionKey.String(val)
+}
+
+// GenAIAgentID returns an attribute KeyValue conforming to the "gen_ai.agent.id"
+// semantic conventions. It represents the unique identifier of the GenAI agent.
+func GenAIAgentID(val string) attribute.KeyValue {
+ return GenAIAgentIDKey.String(val)
+}
+
+// GenAIAgentName returns an attribute KeyValue conforming to the
+// "gen_ai.agent.name" semantic conventions. It represents the human-readable
+// name of the GenAI agent provided by the application.
+func GenAIAgentName(val string) attribute.KeyValue {
+ return GenAIAgentNameKey.String(val)
+}
+
+// GenAIConversationID returns an attribute KeyValue conforming to the
+// "gen_ai.conversation.id" semantic conventions. It represents the unique
+// identifier for a conversation (session, thread), used to store and correlate
+// messages within this conversation.
+func GenAIConversationID(val string) attribute.KeyValue {
+ return GenAIConversationIDKey.String(val)
+}
+
+// GenAIDataSourceID returns an attribute KeyValue conforming to the
+// "gen_ai.data_source.id" semantic conventions. It represents the data source
+// identifier.
+func GenAIDataSourceID(val string) attribute.KeyValue {
+ return GenAIDataSourceIDKey.String(val)
+}
+
+// GenAIOpenAIResponseServiceTier returns an attribute KeyValue conforming to the
+// "gen_ai.openai.response.service_tier" semantic conventions. It represents the
+// service tier used for the response.
+func GenAIOpenAIResponseServiceTier(val string) attribute.KeyValue {
+ return GenAIOpenAIResponseServiceTierKey.String(val)
+}
+
+// GenAIOpenAIResponseSystemFingerprint returns an attribute KeyValue conforming
+// to the "gen_ai.openai.response.system_fingerprint" semantic conventions. It
+// represents a fingerprint to track any eventual change in the Generative AI
+// environment.
+func GenAIOpenAIResponseSystemFingerprint(val string) attribute.KeyValue {
+ return GenAIOpenAIResponseSystemFingerprintKey.String(val)
+}
+
+// GenAIRequestChoiceCount returns an attribute KeyValue conforming to the
+// "gen_ai.request.choice.count" semantic conventions. It represents the target
+// number of candidate completions to return.
+func GenAIRequestChoiceCount(val int) attribute.KeyValue {
+ return GenAIRequestChoiceCountKey.Int(val)
+}
+
+// GenAIRequestEncodingFormats returns an attribute KeyValue conforming to the
+// "gen_ai.request.encoding_formats" semantic conventions. It represents the
+// encoding formats requested in an embeddings operation, if specified.
+func GenAIRequestEncodingFormats(val ...string) attribute.KeyValue {
+ return GenAIRequestEncodingFormatsKey.StringSlice(val)
+}
+
+// GenAIRequestFrequencyPenalty returns an attribute KeyValue conforming to the
+// "gen_ai.request.frequency_penalty" semantic conventions. It represents the
+// frequency penalty setting for the GenAI request.
+func GenAIRequestFrequencyPenalty(val float64) attribute.KeyValue {
+ return GenAIRequestFrequencyPenaltyKey.Float64(val)
+}
+
+// GenAIRequestMaxTokens returns an attribute KeyValue conforming to the
+// "gen_ai.request.max_tokens" semantic conventions. It represents the maximum
+// number of tokens the model generates for a request.
+func GenAIRequestMaxTokens(val int) attribute.KeyValue {
+ return GenAIRequestMaxTokensKey.Int(val)
+}
+
+// GenAIRequestModel returns an attribute KeyValue conforming to the
+// "gen_ai.request.model" semantic conventions. It represents the name of the
+// GenAI model a request is being made to.
+func GenAIRequestModel(val string) attribute.KeyValue {
+ return GenAIRequestModelKey.String(val)
+}
+
+// GenAIRequestPresencePenalty returns an attribute KeyValue conforming to the
+// "gen_ai.request.presence_penalty" semantic conventions. It represents the
+// presence penalty setting for the GenAI request.
+func GenAIRequestPresencePenalty(val float64) attribute.KeyValue {
+ return GenAIRequestPresencePenaltyKey.Float64(val)
+}
+
+// GenAIRequestSeed returns an attribute KeyValue conforming to the
+// "gen_ai.request.seed" semantic conventions. It represents the requests with
+// same seed value more likely to return same result.
+func GenAIRequestSeed(val int) attribute.KeyValue {
+ return GenAIRequestSeedKey.Int(val)
+}
+
+// GenAIRequestStopSequences returns an attribute KeyValue conforming to the
+// "gen_ai.request.stop_sequences" semantic conventions. It represents the list
+// of sequences that the model will use to stop generating further tokens.
+func GenAIRequestStopSequences(val ...string) attribute.KeyValue {
+ return GenAIRequestStopSequencesKey.StringSlice(val)
+}
+
+// GenAIRequestTemperature returns an attribute KeyValue conforming to the
+// "gen_ai.request.temperature" semantic conventions. It represents the
+// temperature setting for the GenAI request.
+func GenAIRequestTemperature(val float64) attribute.KeyValue {
+ return GenAIRequestTemperatureKey.Float64(val)
+}
+
+// GenAIRequestTopK returns an attribute KeyValue conforming to the
+// "gen_ai.request.top_k" semantic conventions. It represents the top_k sampling
+// setting for the GenAI request.
+func GenAIRequestTopK(val float64) attribute.KeyValue {
+ return GenAIRequestTopKKey.Float64(val)
+}
+
+// GenAIRequestTopP returns an attribute KeyValue conforming to the
+// "gen_ai.request.top_p" semantic conventions. It represents the top_p sampling
+// setting for the GenAI request.
+func GenAIRequestTopP(val float64) attribute.KeyValue {
+ return GenAIRequestTopPKey.Float64(val)
+}
+
+// GenAIResponseFinishReasons returns an attribute KeyValue conforming to the
+// "gen_ai.response.finish_reasons" semantic conventions. It represents the array
+// of reasons the model stopped generating tokens, corresponding to each
+// generation received.
+func GenAIResponseFinishReasons(val ...string) attribute.KeyValue {
+ return GenAIResponseFinishReasonsKey.StringSlice(val)
+}
+
+// GenAIResponseID returns an attribute KeyValue conforming to the
+// "gen_ai.response.id" semantic conventions. It represents the unique identifier
+// for the completion.
+func GenAIResponseID(val string) attribute.KeyValue {
+ return GenAIResponseIDKey.String(val)
+}
+
+// GenAIResponseModel returns an attribute KeyValue conforming to the
+// "gen_ai.response.model" semantic conventions. It represents the name of the
+// model that generated the response.
+func GenAIResponseModel(val string) attribute.KeyValue {
+ return GenAIResponseModelKey.String(val)
+}
+
+// GenAIToolCallID returns an attribute KeyValue conforming to the
+// "gen_ai.tool.call.id" semantic conventions. It represents the tool call
+// identifier.
+func GenAIToolCallID(val string) attribute.KeyValue {
+ return GenAIToolCallIDKey.String(val)
+}
+
+// GenAIToolDescription returns an attribute KeyValue conforming to the
+// "gen_ai.tool.description" semantic conventions. It represents the tool
+// description.
+func GenAIToolDescription(val string) attribute.KeyValue {
+ return GenAIToolDescriptionKey.String(val)
+}
+
+// GenAIToolName returns an attribute KeyValue conforming to the
+// "gen_ai.tool.name" semantic conventions. It represents the name of the tool
+// utilized by the agent.
+func GenAIToolName(val string) attribute.KeyValue {
+ return GenAIToolNameKey.String(val)
+}
+
+// GenAIToolType returns an attribute KeyValue conforming to the
+// "gen_ai.tool.type" semantic conventions. It represents the type of the tool
+// utilized by the agent.
+func GenAIToolType(val string) attribute.KeyValue {
+ return GenAIToolTypeKey.String(val)
+}
+
+// GenAIUsageInputTokens returns an attribute KeyValue conforming to the
+// "gen_ai.usage.input_tokens" semantic conventions. It represents the number of
+// tokens used in the GenAI input (prompt).
+func GenAIUsageInputTokens(val int) attribute.KeyValue {
+ return GenAIUsageInputTokensKey.Int(val)
+}
+
+// GenAIUsageOutputTokens returns an attribute KeyValue conforming to the
+// "gen_ai.usage.output_tokens" semantic conventions. It represents the number of
+// tokens used in the GenAI response (completion).
+func GenAIUsageOutputTokens(val int) attribute.KeyValue {
+ return GenAIUsageOutputTokensKey.Int(val)
+}
+
+// Enum values for gen_ai.openai.request.service_tier
+var (
+ // The system will utilize scale tier credits until they are exhausted.
+ // Stability: development
+ GenAIOpenAIRequestServiceTierAuto = GenAIOpenAIRequestServiceTierKey.String("auto")
+ // The system will utilize the default scale tier.
+ // Stability: development
+ GenAIOpenAIRequestServiceTierDefault = GenAIOpenAIRequestServiceTierKey.String("default")
+)
+
+// Enum values for gen_ai.operation.name
+var (
+ // Chat completion operation such as [OpenAI Chat API]
+ // Stability: development
+ //
+ // [OpenAI Chat API]: https://platform.openai.com/docs/api-reference/chat
+ GenAIOperationNameChat = GenAIOperationNameKey.String("chat")
+ // Multimodal content generation operation such as [Gemini Generate Content]
+ // Stability: development
+ //
+ // [Gemini Generate Content]: https://ai.google.dev/api/generate-content
+ GenAIOperationNameGenerateContent = GenAIOperationNameKey.String("generate_content")
+ // Text completions operation such as [OpenAI Completions API (Legacy)]
+ // Stability: development
+ //
+ // [OpenAI Completions API (Legacy)]: https://platform.openai.com/docs/api-reference/completions
+ GenAIOperationNameTextCompletion = GenAIOperationNameKey.String("text_completion")
+ // Embeddings operation such as [OpenAI Create embeddings API]
+ // Stability: development
+ //
+ // [OpenAI Create embeddings API]: https://platform.openai.com/docs/api-reference/embeddings/create
+ GenAIOperationNameEmbeddings = GenAIOperationNameKey.String("embeddings")
+ // Create GenAI agent
+ // Stability: development
+ GenAIOperationNameCreateAgent = GenAIOperationNameKey.String("create_agent")
+ // Invoke GenAI agent
+ // Stability: development
+ GenAIOperationNameInvokeAgent = GenAIOperationNameKey.String("invoke_agent")
+ // Execute a tool
+ // Stability: development
+ GenAIOperationNameExecuteTool = GenAIOperationNameKey.String("execute_tool")
+)
+
+// Enum values for gen_ai.output.type
+var (
+ // Plain text
+ // Stability: development
+ GenAIOutputTypeText = GenAIOutputTypeKey.String("text")
+ // JSON object with known or unknown schema
+ // Stability: development
+ GenAIOutputTypeJSON = GenAIOutputTypeKey.String("json")
+ // Image
+ // Stability: development
+ GenAIOutputTypeImage = GenAIOutputTypeKey.String("image")
+ // Speech
+ // Stability: development
+ GenAIOutputTypeSpeech = GenAIOutputTypeKey.String("speech")
+)
+
+// Enum values for gen_ai.system
+var (
+ // OpenAI
+ // Stability: development
+ GenAISystemOpenAI = GenAISystemKey.String("openai")
+ // Any Google generative AI endpoint
+ // Stability: development
+ GenAISystemGCPGenAI = GenAISystemKey.String("gcp.gen_ai")
+ // Vertex AI
+ // Stability: development
+ GenAISystemGCPVertexAI = GenAISystemKey.String("gcp.vertex_ai")
+ // Gemini
+ // Stability: development
+ GenAISystemGCPGemini = GenAISystemKey.String("gcp.gemini")
+ // Deprecated: Use 'gcp.vertex_ai' instead.
+ GenAISystemVertexAI = GenAISystemKey.String("vertex_ai")
+ // Deprecated: Use 'gcp.gemini' instead.
+ GenAISystemGemini = GenAISystemKey.String("gemini")
+ // Anthropic
+ // Stability: development
+ GenAISystemAnthropic = GenAISystemKey.String("anthropic")
+ // Cohere
+ // Stability: development
+ GenAISystemCohere = GenAISystemKey.String("cohere")
+ // Azure AI Inference
+ // Stability: development
+ GenAISystemAzAIInference = GenAISystemKey.String("az.ai.inference")
+ // Azure OpenAI
+ // Stability: development
+ GenAISystemAzAIOpenAI = GenAISystemKey.String("az.ai.openai")
+ // IBM Watsonx AI
+ // Stability: development
+ GenAISystemIBMWatsonxAI = GenAISystemKey.String("ibm.watsonx.ai")
+ // AWS Bedrock
+ // Stability: development
+ GenAISystemAWSBedrock = GenAISystemKey.String("aws.bedrock")
+ // Perplexity
+ // Stability: development
+ GenAISystemPerplexity = GenAISystemKey.String("perplexity")
+ // xAI
+ // Stability: development
+ GenAISystemXai = GenAISystemKey.String("xai")
+ // DeepSeek
+ // Stability: development
+ GenAISystemDeepseek = GenAISystemKey.String("deepseek")
+ // Groq
+ // Stability: development
+ GenAISystemGroq = GenAISystemKey.String("groq")
+ // Mistral AI
+ // Stability: development
+ GenAISystemMistralAI = GenAISystemKey.String("mistral_ai")
+)
+
+// Enum values for gen_ai.token.type
+var (
+ // Input tokens (prompt, input, etc.)
+ // Stability: development
+ GenAITokenTypeInput = GenAITokenTypeKey.String("input")
+ // Deprecated: Replaced by `output`.
+ GenAITokenTypeCompletion = GenAITokenTypeKey.String("output")
+ // Output tokens (completion, response, etc.)
+ // Stability: development
+ GenAITokenTypeOutput = GenAITokenTypeKey.String("output")
+)
+
+// Namespace: geo
+const (
+ // GeoContinentCodeKey is the attribute Key conforming to the
+ // "geo.continent.code" semantic conventions. It represents the two-letter code
+ // representing continent’s name.
+ //
+ // Type: Enum
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples:
+ GeoContinentCodeKey = attribute.Key("geo.continent.code")
+
+ // GeoCountryISOCodeKey is the attribute Key conforming to the
+ // "geo.country.iso_code" semantic conventions. It represents the two-letter ISO
+ // Country Code ([ISO 3166-1 alpha2]).
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "CA"
+ //
+ // [ISO 3166-1 alpha2]: https://wikipedia.org/wiki/ISO_3166-1#Codes
+ GeoCountryISOCodeKey = attribute.Key("geo.country.iso_code")
+
+ // GeoLocalityNameKey is the attribute Key conforming to the "geo.locality.name"
+ // semantic conventions. It represents the locality name. Represents the name of
+ // a city, town, village, or similar populated place.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "Montreal", "Berlin"
+ GeoLocalityNameKey = attribute.Key("geo.locality.name")
+
+ // GeoLocationLatKey is the attribute Key conforming to the "geo.location.lat"
+ // semantic conventions. It represents the latitude of the geo location in
+ // [WGS84].
+ //
+ // Type: double
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: 45.505918
+ //
+ // [WGS84]: https://wikipedia.org/wiki/World_Geodetic_System#WGS84
+ GeoLocationLatKey = attribute.Key("geo.location.lat")
+
+ // GeoLocationLonKey is the attribute Key conforming to the "geo.location.lon"
+ // semantic conventions. It represents the longitude of the geo location in
+ // [WGS84].
+ //
+ // Type: double
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: -73.61483
+ //
+ // [WGS84]: https://wikipedia.org/wiki/World_Geodetic_System#WGS84
+ GeoLocationLonKey = attribute.Key("geo.location.lon")
+
+ // GeoPostalCodeKey is the attribute Key conforming to the "geo.postal_code"
+ // semantic conventions. It represents the postal code associated with the
+ // location. Values appropriate for this field may also be known as a postcode
+ // or ZIP code and will vary widely from country to country.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "94040"
+ GeoPostalCodeKey = attribute.Key("geo.postal_code")
+
+ // GeoRegionISOCodeKey is the attribute Key conforming to the
+ // "geo.region.iso_code" semantic conventions. It represents the region ISO code
+ // ([ISO 3166-2]).
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "CA-QC"
+ //
+ // [ISO 3166-2]: https://wikipedia.org/wiki/ISO_3166-2
+ GeoRegionISOCodeKey = attribute.Key("geo.region.iso_code")
+)
+
+// GeoCountryISOCode returns an attribute KeyValue conforming to the
+// "geo.country.iso_code" semantic conventions. It represents the two-letter ISO
+// Country Code ([ISO 3166-1 alpha2]).
+//
+// [ISO 3166-1 alpha2]: https://wikipedia.org/wiki/ISO_3166-1#Codes
+func GeoCountryISOCode(val string) attribute.KeyValue {
+ return GeoCountryISOCodeKey.String(val)
+}
+
+// GeoLocalityName returns an attribute KeyValue conforming to the
+// "geo.locality.name" semantic conventions. It represents the locality name.
+// Represents the name of a city, town, village, or similar populated place.
+func GeoLocalityName(val string) attribute.KeyValue {
+ return GeoLocalityNameKey.String(val)
+}
+
+// GeoLocationLat returns an attribute KeyValue conforming to the
+// "geo.location.lat" semantic conventions. It represents the latitude of the geo
+// location in [WGS84].
+//
+// [WGS84]: https://wikipedia.org/wiki/World_Geodetic_System#WGS84
+func GeoLocationLat(val float64) attribute.KeyValue {
+ return GeoLocationLatKey.Float64(val)
+}
+
+// GeoLocationLon returns an attribute KeyValue conforming to the
+// "geo.location.lon" semantic conventions. It represents the longitude of the
+// geo location in [WGS84].
+//
+// [WGS84]: https://wikipedia.org/wiki/World_Geodetic_System#WGS84
+func GeoLocationLon(val float64) attribute.KeyValue {
+ return GeoLocationLonKey.Float64(val)
+}
+
+// GeoPostalCode returns an attribute KeyValue conforming to the
+// "geo.postal_code" semantic conventions. It represents the postal code
+// associated with the location. Values appropriate for this field may also be
+// known as a postcode or ZIP code and will vary widely from country to country.
+func GeoPostalCode(val string) attribute.KeyValue {
+ return GeoPostalCodeKey.String(val)
+}
+
+// GeoRegionISOCode returns an attribute KeyValue conforming to the
+// "geo.region.iso_code" semantic conventions. It represents the region ISO code
+// ([ISO 3166-2]).
+//
+// [ISO 3166-2]: https://wikipedia.org/wiki/ISO_3166-2
+func GeoRegionISOCode(val string) attribute.KeyValue {
+ return GeoRegionISOCodeKey.String(val)
+}
+
+// Enum values for geo.continent.code
+var (
+ // Africa
+ // Stability: development
+ GeoContinentCodeAf = GeoContinentCodeKey.String("AF")
+ // Antarctica
+ // Stability: development
+ GeoContinentCodeAn = GeoContinentCodeKey.String("AN")
+ // Asia
+ // Stability: development
+ GeoContinentCodeAs = GeoContinentCodeKey.String("AS")
+ // Europe
+ // Stability: development
+ GeoContinentCodeEu = GeoContinentCodeKey.String("EU")
+ // North America
+ // Stability: development
+ GeoContinentCodeNa = GeoContinentCodeKey.String("NA")
+ // Oceania
+ // Stability: development
+ GeoContinentCodeOc = GeoContinentCodeKey.String("OC")
+ // South America
+ // Stability: development
+ GeoContinentCodeSa = GeoContinentCodeKey.String("SA")
+)
+
+// Namespace: go
+const (
+ // GoMemoryTypeKey is the attribute Key conforming to the "go.memory.type"
+ // semantic conventions. It represents the type of memory.
+ //
+ // Type: Enum
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "other", "stack"
+ GoMemoryTypeKey = attribute.Key("go.memory.type")
+)
+
+// Enum values for go.memory.type
+var (
+ // Memory allocated from the heap that is reserved for stack space, whether or
+ // not it is currently in-use.
+ // Stability: development
+ GoMemoryTypeStack = GoMemoryTypeKey.String("stack")
+ // Memory used by the Go runtime, excluding other categories of memory usage
+ // described in this enumeration.
+ // Stability: development
+ GoMemoryTypeOther = GoMemoryTypeKey.String("other")
+)
+
+// Namespace: graphql
+const (
+ // GraphQLDocumentKey is the attribute Key conforming to the "graphql.document"
+ // semantic conventions. It represents the GraphQL document being executed.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: query findBookById { bookById(id: ?) { name } }
+ // Note: The value may be sanitized to exclude sensitive information.
+ GraphQLDocumentKey = attribute.Key("graphql.document")
+
+ // GraphQLOperationNameKey is the attribute Key conforming to the
+ // "graphql.operation.name" semantic conventions. It represents the name of the
+ // operation being executed.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: findBookById
+ GraphQLOperationNameKey = attribute.Key("graphql.operation.name")
+
+ // GraphQLOperationTypeKey is the attribute Key conforming to the
+ // "graphql.operation.type" semantic conventions. It represents the type of the
+ // operation being executed.
+ //
+ // Type: Enum
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "query", "mutation", "subscription"
+ GraphQLOperationTypeKey = attribute.Key("graphql.operation.type")
+)
+
+// GraphQLDocument returns an attribute KeyValue conforming to the
+// "graphql.document" semantic conventions. It represents the GraphQL document
+// being executed.
+func GraphQLDocument(val string) attribute.KeyValue {
+ return GraphQLDocumentKey.String(val)
+}
+
+// GraphQLOperationName returns an attribute KeyValue conforming to the
+// "graphql.operation.name" semantic conventions. It represents the name of the
+// operation being executed.
+func GraphQLOperationName(val string) attribute.KeyValue {
+ return GraphQLOperationNameKey.String(val)
+}
+
+// Enum values for graphql.operation.type
+var (
+ // GraphQL query
+ // Stability: development
+ GraphQLOperationTypeQuery = GraphQLOperationTypeKey.String("query")
+ // GraphQL mutation
+ // Stability: development
+ GraphQLOperationTypeMutation = GraphQLOperationTypeKey.String("mutation")
+ // GraphQL subscription
+ // Stability: development
+ GraphQLOperationTypeSubscription = GraphQLOperationTypeKey.String("subscription")
+)
+
+// Namespace: heroku
+const (
+ // HerokuAppIDKey is the attribute Key conforming to the "heroku.app.id"
+ // semantic conventions. It represents the unique identifier for the
+ // application.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "2daa2797-e42b-4624-9322-ec3f968df4da"
+ HerokuAppIDKey = attribute.Key("heroku.app.id")
+
+ // HerokuReleaseCommitKey is the attribute Key conforming to the
+ // "heroku.release.commit" semantic conventions. It represents the commit hash
+ // for the current release.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "e6134959463efd8966b20e75b913cafe3f5ec"
+ HerokuReleaseCommitKey = attribute.Key("heroku.release.commit")
+
+ // HerokuReleaseCreationTimestampKey is the attribute Key conforming to the
+ // "heroku.release.creation_timestamp" semantic conventions. It represents the
+ // time and date the release was created.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "2022-10-23T18:00:42Z"
+ HerokuReleaseCreationTimestampKey = attribute.Key("heroku.release.creation_timestamp")
+)
+
+// HerokuAppID returns an attribute KeyValue conforming to the "heroku.app.id"
+// semantic conventions. It represents the unique identifier for the application.
+func HerokuAppID(val string) attribute.KeyValue {
+ return HerokuAppIDKey.String(val)
+}
+
+// HerokuReleaseCommit returns an attribute KeyValue conforming to the
+// "heroku.release.commit" semantic conventions. It represents the commit hash
+// for the current release.
+func HerokuReleaseCommit(val string) attribute.KeyValue {
+ return HerokuReleaseCommitKey.String(val)
+}
+
+// HerokuReleaseCreationTimestamp returns an attribute KeyValue conforming to the
+// "heroku.release.creation_timestamp" semantic conventions. It represents the
+// time and date the release was created.
+func HerokuReleaseCreationTimestamp(val string) attribute.KeyValue {
+ return HerokuReleaseCreationTimestampKey.String(val)
+}
+
+// Namespace: host
+const (
+ // HostArchKey is the attribute Key conforming to the "host.arch" semantic
+ // conventions. It represents the CPU architecture the host system is running
+ // on.
+ //
+ // Type: Enum
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples:
+ HostArchKey = attribute.Key("host.arch")
+
+ // HostCPUCacheL2SizeKey is the attribute Key conforming to the
+ // "host.cpu.cache.l2.size" semantic conventions. It represents the amount of
+ // level 2 memory cache available to the processor (in Bytes).
+ //
+ // Type: int
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: 12288000
+ HostCPUCacheL2SizeKey = attribute.Key("host.cpu.cache.l2.size")
+
+ // HostCPUFamilyKey is the attribute Key conforming to the "host.cpu.family"
+ // semantic conventions. It represents the family or generation of the CPU.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "6", "PA-RISC 1.1e"
+ HostCPUFamilyKey = attribute.Key("host.cpu.family")
+
+ // HostCPUModelIDKey is the attribute Key conforming to the "host.cpu.model.id"
+ // semantic conventions. It represents the model identifier. It provides more
+ // granular information about the CPU, distinguishing it from other CPUs within
+ // the same family.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "6", "9000/778/B180L"
+ HostCPUModelIDKey = attribute.Key("host.cpu.model.id")
+
+ // HostCPUModelNameKey is the attribute Key conforming to the
+ // "host.cpu.model.name" semantic conventions. It represents the model
+ // designation of the processor.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "11th Gen Intel(R) Core(TM) i7-1185G7 @ 3.00GHz"
+ HostCPUModelNameKey = attribute.Key("host.cpu.model.name")
+
+ // HostCPUSteppingKey is the attribute Key conforming to the "host.cpu.stepping"
+ // semantic conventions. It represents the stepping or core revisions.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "1", "r1p1"
+ HostCPUSteppingKey = attribute.Key("host.cpu.stepping")
+
+ // HostCPUVendorIDKey is the attribute Key conforming to the
+ // "host.cpu.vendor.id" semantic conventions. It represents the processor
+ // manufacturer identifier. A maximum 12-character string.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "GenuineIntel"
+ // Note: [CPUID] command returns the vendor ID string in EBX, EDX and ECX
+ // registers. Writing these to memory in this order results in a 12-character
+ // string.
+ //
+ // [CPUID]: https://wiki.osdev.org/CPUID
+ HostCPUVendorIDKey = attribute.Key("host.cpu.vendor.id")
+
+ // HostIDKey is the attribute Key conforming to the "host.id" semantic
+ // conventions. It represents the unique host ID. For Cloud, this must be the
+ // instance_id assigned by the cloud provider. For non-containerized systems,
+ // this should be the `machine-id`. See the table below for the sources to use
+ // to determine the `machine-id` based on operating system.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "fdbf79e8af94cb7f9e8df36789187052"
+ HostIDKey = attribute.Key("host.id")
+
+ // HostImageIDKey is the attribute Key conforming to the "host.image.id"
+ // semantic conventions. It represents the VM image ID or host OS image ID. For
+ // Cloud, this value is from the provider.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "ami-07b06b442921831e5"
+ HostImageIDKey = attribute.Key("host.image.id")
+
+ // HostImageNameKey is the attribute Key conforming to the "host.image.name"
+ // semantic conventions. It represents the name of the VM image or OS install
+ // the host was instantiated from.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "infra-ami-eks-worker-node-7d4ec78312", "CentOS-8-x86_64-1905"
+ HostImageNameKey = attribute.Key("host.image.name")
+
+ // HostImageVersionKey is the attribute Key conforming to the
+ // "host.image.version" semantic conventions. It represents the version string
+ // of the VM image or host OS as defined in [Version Attributes].
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "0.1"
+ //
+ // [Version Attributes]: /docs/resource/README.md#version-attributes
+ HostImageVersionKey = attribute.Key("host.image.version")
+
+ // HostIPKey is the attribute Key conforming to the "host.ip" semantic
+ // conventions. It represents the available IP addresses of the host, excluding
+ // loopback interfaces.
+ //
+ // Type: string[]
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "192.168.1.140", "fe80::abc2:4a28:737a:609e"
+ // Note: IPv4 Addresses MUST be specified in dotted-quad notation. IPv6
+ // addresses MUST be specified in the [RFC 5952] format.
+ //
+ // [RFC 5952]: https://www.rfc-editor.org/rfc/rfc5952.html
+ HostIPKey = attribute.Key("host.ip")
+
+ // HostMacKey is the attribute Key conforming to the "host.mac" semantic
+ // conventions. It represents the available MAC addresses of the host, excluding
+ // loopback interfaces.
+ //
+ // Type: string[]
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "AC-DE-48-23-45-67", "AC-DE-48-23-45-67-01-9F"
+ // Note: MAC Addresses MUST be represented in [IEEE RA hexadecimal form]: as
+ // hyphen-separated octets in uppercase hexadecimal form from most to least
+ // significant.
+ //
+ // [IEEE RA hexadecimal form]: https://standards.ieee.org/wp-content/uploads/import/documents/tutorials/eui.pdf
+ HostMacKey = attribute.Key("host.mac")
+
+ // HostNameKey is the attribute Key conforming to the "host.name" semantic
+ // conventions. It represents the name of the host. On Unix systems, it may
+ // contain what the hostname command returns, or the fully qualified hostname,
+ // or another name specified by the user.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "opentelemetry-test"
+ HostNameKey = attribute.Key("host.name")
+
+ // HostTypeKey is the attribute Key conforming to the "host.type" semantic
+ // conventions. It represents the type of host. For Cloud, this must be the
+ // machine type.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "n1-standard-1"
+ HostTypeKey = attribute.Key("host.type")
+)
+
+// HostCPUCacheL2Size returns an attribute KeyValue conforming to the
+// "host.cpu.cache.l2.size" semantic conventions. It represents the amount of
+// level 2 memory cache available to the processor (in Bytes).
+func HostCPUCacheL2Size(val int) attribute.KeyValue {
+ return HostCPUCacheL2SizeKey.Int(val)
+}
+
+// HostCPUFamily returns an attribute KeyValue conforming to the
+// "host.cpu.family" semantic conventions. It represents the family or generation
+// of the CPU.
+func HostCPUFamily(val string) attribute.KeyValue {
+ return HostCPUFamilyKey.String(val)
+}
+
+// HostCPUModelID returns an attribute KeyValue conforming to the
+// "host.cpu.model.id" semantic conventions. It represents the model identifier.
+// It provides more granular information about the CPU, distinguishing it from
+// other CPUs within the same family.
+func HostCPUModelID(val string) attribute.KeyValue {
+ return HostCPUModelIDKey.String(val)
+}
+
+// HostCPUModelName returns an attribute KeyValue conforming to the
+// "host.cpu.model.name" semantic conventions. It represents the model
+// designation of the processor.
+func HostCPUModelName(val string) attribute.KeyValue {
+ return HostCPUModelNameKey.String(val)
+}
+
+// HostCPUStepping returns an attribute KeyValue conforming to the
+// "host.cpu.stepping" semantic conventions. It represents the stepping or core
+// revisions.
+func HostCPUStepping(val string) attribute.KeyValue {
+ return HostCPUSteppingKey.String(val)
+}
+
+// HostCPUVendorID returns an attribute KeyValue conforming to the
+// "host.cpu.vendor.id" semantic conventions. It represents the processor
+// manufacturer identifier. A maximum 12-character string.
+func HostCPUVendorID(val string) attribute.KeyValue {
+ return HostCPUVendorIDKey.String(val)
+}
+
+// HostID returns an attribute KeyValue conforming to the "host.id" semantic
+// conventions. It represents the unique host ID. For Cloud, this must be the
+// instance_id assigned by the cloud provider. For non-containerized systems,
+// this should be the `machine-id`. See the table below for the sources to use to
+// determine the `machine-id` based on operating system.
+func HostID(val string) attribute.KeyValue {
+ return HostIDKey.String(val)
+}
+
+// HostImageID returns an attribute KeyValue conforming to the "host.image.id"
+// semantic conventions. It represents the VM image ID or host OS image ID. For
+// Cloud, this value is from the provider.
+func HostImageID(val string) attribute.KeyValue {
+ return HostImageIDKey.String(val)
+}
+
+// HostImageName returns an attribute KeyValue conforming to the
+// "host.image.name" semantic conventions. It represents the name of the VM image
+// or OS install the host was instantiated from.
+func HostImageName(val string) attribute.KeyValue {
+ return HostImageNameKey.String(val)
+}
+
+// HostImageVersion returns an attribute KeyValue conforming to the
+// "host.image.version" semantic conventions. It represents the version string of
+// the VM image or host OS as defined in [Version Attributes].
+//
+// [Version Attributes]: /docs/resource/README.md#version-attributes
+func HostImageVersion(val string) attribute.KeyValue {
+ return HostImageVersionKey.String(val)
+}
+
+// HostIP returns an attribute KeyValue conforming to the "host.ip" semantic
+// conventions. It represents the available IP addresses of the host, excluding
+// loopback interfaces.
+func HostIP(val ...string) attribute.KeyValue {
+ return HostIPKey.StringSlice(val)
+}
+
+// HostMac returns an attribute KeyValue conforming to the "host.mac" semantic
+// conventions. It represents the available MAC addresses of the host, excluding
+// loopback interfaces.
+func HostMac(val ...string) attribute.KeyValue {
+ return HostMacKey.StringSlice(val)
+}
+
+// HostName returns an attribute KeyValue conforming to the "host.name" semantic
+// conventions. It represents the name of the host. On Unix systems, it may
+// contain what the hostname command returns, or the fully qualified hostname, or
+// another name specified by the user.
+func HostName(val string) attribute.KeyValue {
+ return HostNameKey.String(val)
+}
+
+// HostType returns an attribute KeyValue conforming to the "host.type" semantic
+// conventions. It represents the type of host. For Cloud, this must be the
+// machine type.
+func HostType(val string) attribute.KeyValue {
+ return HostTypeKey.String(val)
+}
+
+// Enum values for host.arch
+var (
+ // AMD64
+ // Stability: development
+ HostArchAMD64 = HostArchKey.String("amd64")
+ // ARM32
+ // Stability: development
+ HostArchARM32 = HostArchKey.String("arm32")
+ // ARM64
+ // Stability: development
+ HostArchARM64 = HostArchKey.String("arm64")
+ // Itanium
+ // Stability: development
+ HostArchIA64 = HostArchKey.String("ia64")
+ // 32-bit PowerPC
+ // Stability: development
+ HostArchPPC32 = HostArchKey.String("ppc32")
+ // 64-bit PowerPC
+ // Stability: development
+ HostArchPPC64 = HostArchKey.String("ppc64")
+ // IBM z/Architecture
+ // Stability: development
+ HostArchS390x = HostArchKey.String("s390x")
+ // 32-bit x86
+ // Stability: development
+ HostArchX86 = HostArchKey.String("x86")
+)
+
+// Namespace: http
+const (
+ // HTTPConnectionStateKey is the attribute Key conforming to the
+ // "http.connection.state" semantic conventions. It represents the state of the
+ // HTTP connection in the HTTP connection pool.
+ //
+ // Type: Enum
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "active", "idle"
+ HTTPConnectionStateKey = attribute.Key("http.connection.state")
+
+ // HTTPRequestBodySizeKey is the attribute Key conforming to the
+ // "http.request.body.size" semantic conventions. It represents the size of the
+ // request payload body in bytes. This is the number of bytes transferred
+ // excluding headers and is often, but not always, present as the
+ // [Content-Length] header. For requests using transport encoding, this should
+ // be the compressed size.
+ //
+ // Type: int
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // [Content-Length]: https://www.rfc-editor.org/rfc/rfc9110.html#field.content-length
+ HTTPRequestBodySizeKey = attribute.Key("http.request.body.size")
+
+ // HTTPRequestMethodKey is the attribute Key conforming to the
+ // "http.request.method" semantic conventions. It represents the HTTP request
+ // method.
+ //
+ // Type: Enum
+ // RequirementLevel: Recommended
+ // Stability: Stable
+ //
+ // Examples: "GET", "POST", "HEAD"
+ // Note: HTTP request method value SHOULD be "known" to the instrumentation.
+ // By default, this convention defines "known" methods as the ones listed in
+ // [RFC9110]
+ // and the PATCH method defined in [RFC5789].
+ //
+ // If the HTTP request method is not known to instrumentation, it MUST set the
+ // `http.request.method` attribute to `_OTHER`.
+ //
+ // If the HTTP instrumentation could end up converting valid HTTP request
+ // methods to `_OTHER`, then it MUST provide a way to override
+ // the list of known HTTP methods. If this override is done via environment
+ // variable, then the environment variable MUST be named
+ // OTEL_INSTRUMENTATION_HTTP_KNOWN_METHODS and support a comma-separated list of
+ // case-sensitive known HTTP methods
+ // (this list MUST be a full override of the default known method, it is not a
+ // list of known methods in addition to the defaults).
+ //
+ // HTTP method names are case-sensitive and `http.request.method` attribute
+ // value MUST match a known HTTP method name exactly.
+ // Instrumentations for specific web frameworks that consider HTTP methods to be
+ // case insensitive, SHOULD populate a canonical equivalent.
+ // Tracing instrumentations that do so, MUST also set
+ // `http.request.method_original` to the original value.
+ //
+ // [RFC9110]: https://www.rfc-editor.org/rfc/rfc9110.html#name-methods
+ // [RFC5789]: https://www.rfc-editor.org/rfc/rfc5789.html
+ HTTPRequestMethodKey = attribute.Key("http.request.method")
+
+ // HTTPRequestMethodOriginalKey is the attribute Key conforming to the
+ // "http.request.method_original" semantic conventions. It represents the
+ // original HTTP method sent by the client in the request line.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Stable
+ //
+ // Examples: "GeT", "ACL", "foo"
+ HTTPRequestMethodOriginalKey = attribute.Key("http.request.method_original")
+
+ // HTTPRequestResendCountKey is the attribute Key conforming to the
+ // "http.request.resend_count" semantic conventions. It represents the ordinal
+ // number of request resending attempt (for any reason, including redirects).
+ //
+ // Type: int
+ // RequirementLevel: Recommended
+ // Stability: Stable
+ //
+ // Note: The resend count SHOULD be updated each time an HTTP request gets
+ // resent by the client, regardless of what was the cause of the resending (e.g.
+ // redirection, authorization failure, 503 Server Unavailable, network issues,
+ // or any other).
+ HTTPRequestResendCountKey = attribute.Key("http.request.resend_count")
+
+ // HTTPRequestSizeKey is the attribute Key conforming to the "http.request.size"
+ // semantic conventions. It represents the total size of the request in bytes.
+ // This should be the total number of bytes sent over the wire, including the
+ // request line (HTTP/1.1), framing (HTTP/2 and HTTP/3), headers, and request
+ // body if any.
+ //
+ // Type: int
+ // RequirementLevel: Recommended
+ // Stability: Development
+ HTTPRequestSizeKey = attribute.Key("http.request.size")
+
+ // HTTPResponseBodySizeKey is the attribute Key conforming to the
+ // "http.response.body.size" semantic conventions. It represents the size of the
+ // response payload body in bytes. This is the number of bytes transferred
+ // excluding headers and is often, but not always, present as the
+ // [Content-Length] header. For requests using transport encoding, this should
+ // be the compressed size.
+ //
+ // Type: int
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // [Content-Length]: https://www.rfc-editor.org/rfc/rfc9110.html#field.content-length
+ HTTPResponseBodySizeKey = attribute.Key("http.response.body.size")
+
+ // HTTPResponseSizeKey is the attribute Key conforming to the
+ // "http.response.size" semantic conventions. It represents the total size of
+ // the response in bytes. This should be the total number of bytes sent over the
+ // wire, including the status line (HTTP/1.1), framing (HTTP/2 and HTTP/3),
+ // headers, and response body and trailers if any.
+ //
+ // Type: int
+ // RequirementLevel: Recommended
+ // Stability: Development
+ HTTPResponseSizeKey = attribute.Key("http.response.size")
+
+ // HTTPResponseStatusCodeKey is the attribute Key conforming to the
+ // "http.response.status_code" semantic conventions. It represents the
+ // [HTTP response status code].
+ //
+ // Type: int
+ // RequirementLevel: Recommended
+ // Stability: Stable
+ //
+ // Examples: 200
+ //
+ // [HTTP response status code]: https://tools.ietf.org/html/rfc7231#section-6
+ HTTPResponseStatusCodeKey = attribute.Key("http.response.status_code")
+
+ // HTTPRouteKey is the attribute Key conforming to the "http.route" semantic
+ // conventions. It represents the matched route, that is, the path template in
+ // the format used by the respective server framework.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Stable
+ //
+ // Examples: "/users/:userID?", "{controller}/{action}/{id?}"
+ // Note: MUST NOT be populated when this is not supported by the HTTP server
+ // framework as the route attribute should have low-cardinality and the URI path
+ // can NOT substitute it.
+ // SHOULD include the [application root] if there is one.
+ //
+ // [application root]: /docs/http/http-spans.md#http-server-definitions
+ HTTPRouteKey = attribute.Key("http.route")
+)
+
+// HTTPRequestBodySize returns an attribute KeyValue conforming to the
+// "http.request.body.size" semantic conventions. It represents the size of the
+// request payload body in bytes. This is the number of bytes transferred
+// excluding headers and is often, but not always, present as the
+// [Content-Length] header. For requests using transport encoding, this should be
+// the compressed size.
+//
+// [Content-Length]: https://www.rfc-editor.org/rfc/rfc9110.html#field.content-length
+func HTTPRequestBodySize(val int) attribute.KeyValue {
+ return HTTPRequestBodySizeKey.Int(val)
+}
+
+// HTTPRequestMethodOriginal returns an attribute KeyValue conforming to the
+// "http.request.method_original" semantic conventions. It represents the
+// original HTTP method sent by the client in the request line.
+func HTTPRequestMethodOriginal(val string) attribute.KeyValue {
+ return HTTPRequestMethodOriginalKey.String(val)
+}
+
+// HTTPRequestResendCount returns an attribute KeyValue conforming to the
+// "http.request.resend_count" semantic conventions. It represents the ordinal
+// number of request resending attempt (for any reason, including redirects).
+func HTTPRequestResendCount(val int) attribute.KeyValue {
+ return HTTPRequestResendCountKey.Int(val)
+}
+
+// HTTPRequestSize returns an attribute KeyValue conforming to the
+// "http.request.size" semantic conventions. It represents the total size of the
+// request in bytes. This should be the total number of bytes sent over the wire,
+// including the request line (HTTP/1.1), framing (HTTP/2 and HTTP/3), headers,
+// and request body if any.
+func HTTPRequestSize(val int) attribute.KeyValue {
+ return HTTPRequestSizeKey.Int(val)
+}
+
+// HTTPResponseBodySize returns an attribute KeyValue conforming to the
+// "http.response.body.size" semantic conventions. It represents the size of the
+// response payload body in bytes. This is the number of bytes transferred
+// excluding headers and is often, but not always, present as the
+// [Content-Length] header. For requests using transport encoding, this should be
+// the compressed size.
+//
+// [Content-Length]: https://www.rfc-editor.org/rfc/rfc9110.html#field.content-length
+func HTTPResponseBodySize(val int) attribute.KeyValue {
+ return HTTPResponseBodySizeKey.Int(val)
+}
+
+// HTTPResponseSize returns an attribute KeyValue conforming to the
+// "http.response.size" semantic conventions. It represents the total size of the
+// response in bytes. This should be the total number of bytes sent over the
+// wire, including the status line (HTTP/1.1), framing (HTTP/2 and HTTP/3),
+// headers, and response body and trailers if any.
+func HTTPResponseSize(val int) attribute.KeyValue {
+ return HTTPResponseSizeKey.Int(val)
+}
+
+// HTTPResponseStatusCode returns an attribute KeyValue conforming to the
+// "http.response.status_code" semantic conventions. It represents the
+// [HTTP response status code].
+//
+// [HTTP response status code]: https://tools.ietf.org/html/rfc7231#section-6
+func HTTPResponseStatusCode(val int) attribute.KeyValue {
+ return HTTPResponseStatusCodeKey.Int(val)
+}
+
+// HTTPRoute returns an attribute KeyValue conforming to the "http.route"
+// semantic conventions. It represents the matched route, that is, the path
+// template in the format used by the respective server framework.
+func HTTPRoute(val string) attribute.KeyValue {
+ return HTTPRouteKey.String(val)
+}
+
+// Enum values for http.connection.state
+var (
+ // active state.
+ // Stability: development
+ HTTPConnectionStateActive = HTTPConnectionStateKey.String("active")
+ // idle state.
+ // Stability: development
+ HTTPConnectionStateIdle = HTTPConnectionStateKey.String("idle")
+)
+
+// Enum values for http.request.method
+var (
+ // CONNECT method.
+ // Stability: stable
+ HTTPRequestMethodConnect = HTTPRequestMethodKey.String("CONNECT")
+ // DELETE method.
+ // Stability: stable
+ HTTPRequestMethodDelete = HTTPRequestMethodKey.String("DELETE")
+ // GET method.
+ // Stability: stable
+ HTTPRequestMethodGet = HTTPRequestMethodKey.String("GET")
+ // HEAD method.
+ // Stability: stable
+ HTTPRequestMethodHead = HTTPRequestMethodKey.String("HEAD")
+ // OPTIONS method.
+ // Stability: stable
+ HTTPRequestMethodOptions = HTTPRequestMethodKey.String("OPTIONS")
+ // PATCH method.
+ // Stability: stable
+ HTTPRequestMethodPatch = HTTPRequestMethodKey.String("PATCH")
+ // POST method.
+ // Stability: stable
+ HTTPRequestMethodPost = HTTPRequestMethodKey.String("POST")
+ // PUT method.
+ // Stability: stable
+ HTTPRequestMethodPut = HTTPRequestMethodKey.String("PUT")
+ // TRACE method.
+ // Stability: stable
+ HTTPRequestMethodTrace = HTTPRequestMethodKey.String("TRACE")
+ // Any HTTP method that the instrumentation has no prior knowledge of.
+ // Stability: stable
+ HTTPRequestMethodOther = HTTPRequestMethodKey.String("_OTHER")
+)
+
+// Namespace: hw
+const (
+ // HwIDKey is the attribute Key conforming to the "hw.id" semantic conventions.
+ // It represents an identifier for the hardware component, unique within the
+ // monitored host.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "win32battery_battery_testsysa33_1"
+ HwIDKey = attribute.Key("hw.id")
+
+ // HwNameKey is the attribute Key conforming to the "hw.name" semantic
+ // conventions. It represents an easily-recognizable name for the hardware
+ // component.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "eth0"
+ HwNameKey = attribute.Key("hw.name")
+
+ // HwParentKey is the attribute Key conforming to the "hw.parent" semantic
+ // conventions. It represents the unique identifier of the parent component
+ // (typically the `hw.id` attribute of the enclosure, or disk controller).
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "dellStorage_perc_0"
+ HwParentKey = attribute.Key("hw.parent")
+
+ // HwStateKey is the attribute Key conforming to the "hw.state" semantic
+ // conventions. It represents the current state of the component.
+ //
+ // Type: Enum
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples:
+ HwStateKey = attribute.Key("hw.state")
+
+ // HwTypeKey is the attribute Key conforming to the "hw.type" semantic
+ // conventions. It represents the type of the component.
+ //
+ // Type: Enum
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples:
+ // Note: Describes the category of the hardware component for which `hw.state`
+ // is being reported. For example, `hw.type=temperature` along with
+ // `hw.state=degraded` would indicate that the temperature of the hardware
+ // component has been reported as `degraded`.
+ HwTypeKey = attribute.Key("hw.type")
+)
+
+// HwID returns an attribute KeyValue conforming to the "hw.id" semantic
+// conventions. It represents an identifier for the hardware component, unique
+// within the monitored host.
+func HwID(val string) attribute.KeyValue {
+ return HwIDKey.String(val)
+}
+
+// HwName returns an attribute KeyValue conforming to the "hw.name" semantic
+// conventions. It represents an easily-recognizable name for the hardware
+// component.
+func HwName(val string) attribute.KeyValue {
+ return HwNameKey.String(val)
+}
+
+// HwParent returns an attribute KeyValue conforming to the "hw.parent" semantic
+// conventions. It represents the unique identifier of the parent component
+// (typically the `hw.id` attribute of the enclosure, or disk controller).
+func HwParent(val string) attribute.KeyValue {
+ return HwParentKey.String(val)
+}
+
+// Enum values for hw.state
+var (
+ // Ok
+ // Stability: development
+ HwStateOk = HwStateKey.String("ok")
+ // Degraded
+ // Stability: development
+ HwStateDegraded = HwStateKey.String("degraded")
+ // Failed
+ // Stability: development
+ HwStateFailed = HwStateKey.String("failed")
+)
+
+// Enum values for hw.type
+var (
+ // Battery
+ // Stability: development
+ HwTypeBattery = HwTypeKey.String("battery")
+ // CPU
+ // Stability: development
+ HwTypeCPU = HwTypeKey.String("cpu")
+ // Disk controller
+ // Stability: development
+ HwTypeDiskController = HwTypeKey.String("disk_controller")
+ // Enclosure
+ // Stability: development
+ HwTypeEnclosure = HwTypeKey.String("enclosure")
+ // Fan
+ // Stability: development
+ HwTypeFan = HwTypeKey.String("fan")
+ // GPU
+ // Stability: development
+ HwTypeGpu = HwTypeKey.String("gpu")
+ // Logical disk
+ // Stability: development
+ HwTypeLogicalDisk = HwTypeKey.String("logical_disk")
+ // Memory
+ // Stability: development
+ HwTypeMemory = HwTypeKey.String("memory")
+ // Network
+ // Stability: development
+ HwTypeNetwork = HwTypeKey.String("network")
+ // Physical disk
+ // Stability: development
+ HwTypePhysicalDisk = HwTypeKey.String("physical_disk")
+ // Power supply
+ // Stability: development
+ HwTypePowerSupply = HwTypeKey.String("power_supply")
+ // Tape drive
+ // Stability: development
+ HwTypeTapeDrive = HwTypeKey.String("tape_drive")
+ // Temperature
+ // Stability: development
+ HwTypeTemperature = HwTypeKey.String("temperature")
+ // Voltage
+ // Stability: development
+ HwTypeVoltage = HwTypeKey.String("voltage")
+)
+
+// Namespace: ios
+const (
+ // IOSAppStateKey is the attribute Key conforming to the "ios.app.state"
+ // semantic conventions. It represents the this attribute represents the state
+ // of the application.
+ //
+ // Type: Enum
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples:
+ // Note: The iOS lifecycle states are defined in the
+ // [UIApplicationDelegate documentation], and from which the `OS terminology`
+ // column values are derived.
+ //
+ // [UIApplicationDelegate documentation]: https://developer.apple.com/documentation/uikit/uiapplicationdelegate
+ IOSAppStateKey = attribute.Key("ios.app.state")
+)
+
+// Enum values for ios.app.state
+var (
+ // The app has become `active`. Associated with UIKit notification
+ // `applicationDidBecomeActive`.
+ //
+ // Stability: development
+ IOSAppStateActive = IOSAppStateKey.String("active")
+ // The app is now `inactive`. Associated with UIKit notification
+ // `applicationWillResignActive`.
+ //
+ // Stability: development
+ IOSAppStateInactive = IOSAppStateKey.String("inactive")
+ // The app is now in the background. This value is associated with UIKit
+ // notification `applicationDidEnterBackground`.
+ //
+ // Stability: development
+ IOSAppStateBackground = IOSAppStateKey.String("background")
+ // The app is now in the foreground. This value is associated with UIKit
+ // notification `applicationWillEnterForeground`.
+ //
+ // Stability: development
+ IOSAppStateForeground = IOSAppStateKey.String("foreground")
+ // The app is about to terminate. Associated with UIKit notification
+ // `applicationWillTerminate`.
+ //
+ // Stability: development
+ IOSAppStateTerminate = IOSAppStateKey.String("terminate")
+)
+
+// Namespace: k8s
+const (
+ // K8SClusterNameKey is the attribute Key conforming to the "k8s.cluster.name"
+ // semantic conventions. It represents the name of the cluster.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "opentelemetry-cluster"
+ K8SClusterNameKey = attribute.Key("k8s.cluster.name")
+
+ // K8SClusterUIDKey is the attribute Key conforming to the "k8s.cluster.uid"
+ // semantic conventions. It represents a pseudo-ID for the cluster, set to the
+ // UID of the `kube-system` namespace.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "218fc5a9-a5f1-4b54-aa05-46717d0ab26d"
+ // Note: K8s doesn't have support for obtaining a cluster ID. If this is ever
+ // added, we will recommend collecting the `k8s.cluster.uid` through the
+ // official APIs. In the meantime, we are able to use the `uid` of the
+ // `kube-system` namespace as a proxy for cluster ID. Read on for the
+ // rationale.
+ //
+ // Every object created in a K8s cluster is assigned a distinct UID. The
+ // `kube-system` namespace is used by Kubernetes itself and will exist
+ // for the lifetime of the cluster. Using the `uid` of the `kube-system`
+ // namespace is a reasonable proxy for the K8s ClusterID as it will only
+ // change if the cluster is rebuilt. Furthermore, Kubernetes UIDs are
+ // UUIDs as standardized by
+ // [ISO/IEC 9834-8 and ITU-T X.667].
+ // Which states:
+ //
+ // > If generated according to one of the mechanisms defined in Rec.
+ // > ITU-T X.667 | ISO/IEC 9834-8, a UUID is either guaranteed to be
+ // > different from all other UUIDs generated before 3603 A.D., or is
+ // > extremely likely to be different (depending on the mechanism chosen).
+ //
+ // Therefore, UIDs between clusters should be extremely unlikely to
+ // conflict.
+ //
+ // [ISO/IEC 9834-8 and ITU-T X.667]: https://www.itu.int/ITU-T/studygroups/com17/oid.html
+ K8SClusterUIDKey = attribute.Key("k8s.cluster.uid")
+
+ // K8SContainerNameKey is the attribute Key conforming to the
+ // "k8s.container.name" semantic conventions. It represents the name of the
+ // Container from Pod specification, must be unique within a Pod. Container
+ // runtime usually uses different globally unique name (`container.name`).
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "redis"
+ K8SContainerNameKey = attribute.Key("k8s.container.name")
+
+ // K8SContainerRestartCountKey is the attribute Key conforming to the
+ // "k8s.container.restart_count" semantic conventions. It represents the number
+ // of times the container was restarted. This attribute can be used to identify
+ // a particular container (running or stopped) within a container spec.
+ //
+ // Type: int
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples:
+ K8SContainerRestartCountKey = attribute.Key("k8s.container.restart_count")
+
+ // K8SContainerStatusLastTerminatedReasonKey is the attribute Key conforming to
+ // the "k8s.container.status.last_terminated_reason" semantic conventions. It
+ // represents the last terminated reason of the Container.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "Evicted", "Error"
+ K8SContainerStatusLastTerminatedReasonKey = attribute.Key("k8s.container.status.last_terminated_reason")
+
+ // K8SCronJobNameKey is the attribute Key conforming to the "k8s.cronjob.name"
+ // semantic conventions. It represents the name of the CronJob.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "opentelemetry"
+ K8SCronJobNameKey = attribute.Key("k8s.cronjob.name")
+
+ // K8SCronJobUIDKey is the attribute Key conforming to the "k8s.cronjob.uid"
+ // semantic conventions. It represents the UID of the CronJob.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "275ecb36-5aa8-4c2a-9c47-d8bb681b9aff"
+ K8SCronJobUIDKey = attribute.Key("k8s.cronjob.uid")
+
+ // K8SDaemonSetNameKey is the attribute Key conforming to the
+ // "k8s.daemonset.name" semantic conventions. It represents the name of the
+ // DaemonSet.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "opentelemetry"
+ K8SDaemonSetNameKey = attribute.Key("k8s.daemonset.name")
+
+ // K8SDaemonSetUIDKey is the attribute Key conforming to the "k8s.daemonset.uid"
+ // semantic conventions. It represents the UID of the DaemonSet.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "275ecb36-5aa8-4c2a-9c47-d8bb681b9aff"
+ K8SDaemonSetUIDKey = attribute.Key("k8s.daemonset.uid")
+
+ // K8SDeploymentNameKey is the attribute Key conforming to the
+ // "k8s.deployment.name" semantic conventions. It represents the name of the
+ // Deployment.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "opentelemetry"
+ K8SDeploymentNameKey = attribute.Key("k8s.deployment.name")
+
+ // K8SDeploymentUIDKey is the attribute Key conforming to the
+ // "k8s.deployment.uid" semantic conventions. It represents the UID of the
+ // Deployment.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "275ecb36-5aa8-4c2a-9c47-d8bb681b9aff"
+ K8SDeploymentUIDKey = attribute.Key("k8s.deployment.uid")
+
+ // K8SHPANameKey is the attribute Key conforming to the "k8s.hpa.name" semantic
+ // conventions. It represents the name of the horizontal pod autoscaler.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "opentelemetry"
+ K8SHPANameKey = attribute.Key("k8s.hpa.name")
+
+ // K8SHPAUIDKey is the attribute Key conforming to the "k8s.hpa.uid" semantic
+ // conventions. It represents the UID of the horizontal pod autoscaler.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "275ecb36-5aa8-4c2a-9c47-d8bb681b9aff"
+ K8SHPAUIDKey = attribute.Key("k8s.hpa.uid")
+
+ // K8SJobNameKey is the attribute Key conforming to the "k8s.job.name" semantic
+ // conventions. It represents the name of the Job.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "opentelemetry"
+ K8SJobNameKey = attribute.Key("k8s.job.name")
+
+ // K8SJobUIDKey is the attribute Key conforming to the "k8s.job.uid" semantic
+ // conventions. It represents the UID of the Job.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "275ecb36-5aa8-4c2a-9c47-d8bb681b9aff"
+ K8SJobUIDKey = attribute.Key("k8s.job.uid")
+
+ // K8SNamespaceNameKey is the attribute Key conforming to the
+ // "k8s.namespace.name" semantic conventions. It represents the name of the
+ // namespace that the pod is running in.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "default"
+ K8SNamespaceNameKey = attribute.Key("k8s.namespace.name")
+
+ // K8SNamespacePhaseKey is the attribute Key conforming to the
+ // "k8s.namespace.phase" semantic conventions. It represents the phase of the
+ // K8s namespace.
+ //
+ // Type: Enum
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "active", "terminating"
+ // Note: This attribute aligns with the `phase` field of the
+ // [K8s NamespaceStatus]
+ //
+ // [K8s NamespaceStatus]: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#namespacestatus-v1-core
+ K8SNamespacePhaseKey = attribute.Key("k8s.namespace.phase")
+
+ // K8SNodeNameKey is the attribute Key conforming to the "k8s.node.name"
+ // semantic conventions. It represents the name of the Node.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "node-1"
+ K8SNodeNameKey = attribute.Key("k8s.node.name")
+
+ // K8SNodeUIDKey is the attribute Key conforming to the "k8s.node.uid" semantic
+ // conventions. It represents the UID of the Node.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "1eb3a0c6-0477-4080-a9cb-0cb7db65c6a2"
+ K8SNodeUIDKey = attribute.Key("k8s.node.uid")
+
+ // K8SPodNameKey is the attribute Key conforming to the "k8s.pod.name" semantic
+ // conventions. It represents the name of the Pod.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "opentelemetry-pod-autoconf"
+ K8SPodNameKey = attribute.Key("k8s.pod.name")
+
+ // K8SPodUIDKey is the attribute Key conforming to the "k8s.pod.uid" semantic
+ // conventions. It represents the UID of the Pod.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "275ecb36-5aa8-4c2a-9c47-d8bb681b9aff"
+ K8SPodUIDKey = attribute.Key("k8s.pod.uid")
+
+ // K8SReplicaSetNameKey is the attribute Key conforming to the
+ // "k8s.replicaset.name" semantic conventions. It represents the name of the
+ // ReplicaSet.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "opentelemetry"
+ K8SReplicaSetNameKey = attribute.Key("k8s.replicaset.name")
+
+ // K8SReplicaSetUIDKey is the attribute Key conforming to the
+ // "k8s.replicaset.uid" semantic conventions. It represents the UID of the
+ // ReplicaSet.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "275ecb36-5aa8-4c2a-9c47-d8bb681b9aff"
+ K8SReplicaSetUIDKey = attribute.Key("k8s.replicaset.uid")
+
+ // K8SReplicationControllerNameKey is the attribute Key conforming to the
+ // "k8s.replicationcontroller.name" semantic conventions. It represents the name
+ // of the replication controller.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "opentelemetry"
+ K8SReplicationControllerNameKey = attribute.Key("k8s.replicationcontroller.name")
+
+ // K8SReplicationControllerUIDKey is the attribute Key conforming to the
+ // "k8s.replicationcontroller.uid" semantic conventions. It represents the UID
+ // of the replication controller.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "275ecb36-5aa8-4c2a-9c47-d8bb681b9aff"
+ K8SReplicationControllerUIDKey = attribute.Key("k8s.replicationcontroller.uid")
+
+ // K8SResourceQuotaNameKey is the attribute Key conforming to the
+ // "k8s.resourcequota.name" semantic conventions. It represents the name of the
+ // resource quota.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "opentelemetry"
+ K8SResourceQuotaNameKey = attribute.Key("k8s.resourcequota.name")
+
+ // K8SResourceQuotaUIDKey is the attribute Key conforming to the
+ // "k8s.resourcequota.uid" semantic conventions. It represents the UID of the
+ // resource quota.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "275ecb36-5aa8-4c2a-9c47-d8bb681b9aff"
+ K8SResourceQuotaUIDKey = attribute.Key("k8s.resourcequota.uid")
+
+ // K8SStatefulSetNameKey is the attribute Key conforming to the
+ // "k8s.statefulset.name" semantic conventions. It represents the name of the
+ // StatefulSet.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "opentelemetry"
+ K8SStatefulSetNameKey = attribute.Key("k8s.statefulset.name")
+
+ // K8SStatefulSetUIDKey is the attribute Key conforming to the
+ // "k8s.statefulset.uid" semantic conventions. It represents the UID of the
+ // StatefulSet.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "275ecb36-5aa8-4c2a-9c47-d8bb681b9aff"
+ K8SStatefulSetUIDKey = attribute.Key("k8s.statefulset.uid")
+
+ // K8SVolumeNameKey is the attribute Key conforming to the "k8s.volume.name"
+ // semantic conventions. It represents the name of the K8s volume.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "volume0"
+ K8SVolumeNameKey = attribute.Key("k8s.volume.name")
+
+ // K8SVolumeTypeKey is the attribute Key conforming to the "k8s.volume.type"
+ // semantic conventions. It represents the type of the K8s volume.
+ //
+ // Type: Enum
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "emptyDir", "persistentVolumeClaim"
+ K8SVolumeTypeKey = attribute.Key("k8s.volume.type")
+)
+
+// K8SClusterName returns an attribute KeyValue conforming to the
+// "k8s.cluster.name" semantic conventions. It represents the name of the
+// cluster.
+func K8SClusterName(val string) attribute.KeyValue {
+ return K8SClusterNameKey.String(val)
+}
+
+// K8SClusterUID returns an attribute KeyValue conforming to the
+// "k8s.cluster.uid" semantic conventions. It represents a pseudo-ID for the
+// cluster, set to the UID of the `kube-system` namespace.
+func K8SClusterUID(val string) attribute.KeyValue {
+ return K8SClusterUIDKey.String(val)
+}
+
+// K8SContainerName returns an attribute KeyValue conforming to the
+// "k8s.container.name" semantic conventions. It represents the name of the
+// Container from Pod specification, must be unique within a Pod. Container
+// runtime usually uses different globally unique name (`container.name`).
+func K8SContainerName(val string) attribute.KeyValue {
+ return K8SContainerNameKey.String(val)
+}
+
+// K8SContainerRestartCount returns an attribute KeyValue conforming to the
+// "k8s.container.restart_count" semantic conventions. It represents the number
+// of times the container was restarted. This attribute can be used to identify a
+// particular container (running or stopped) within a container spec.
+func K8SContainerRestartCount(val int) attribute.KeyValue {
+ return K8SContainerRestartCountKey.Int(val)
+}
+
+// K8SContainerStatusLastTerminatedReason returns an attribute KeyValue
+// conforming to the "k8s.container.status.last_terminated_reason" semantic
+// conventions. It represents the last terminated reason of the Container.
+func K8SContainerStatusLastTerminatedReason(val string) attribute.KeyValue {
+ return K8SContainerStatusLastTerminatedReasonKey.String(val)
+}
+
+// K8SCronJobName returns an attribute KeyValue conforming to the
+// "k8s.cronjob.name" semantic conventions. It represents the name of the
+// CronJob.
+func K8SCronJobName(val string) attribute.KeyValue {
+ return K8SCronJobNameKey.String(val)
+}
+
+// K8SCronJobUID returns an attribute KeyValue conforming to the
+// "k8s.cronjob.uid" semantic conventions. It represents the UID of the CronJob.
+func K8SCronJobUID(val string) attribute.KeyValue {
+ return K8SCronJobUIDKey.String(val)
+}
+
+// K8SDaemonSetName returns an attribute KeyValue conforming to the
+// "k8s.daemonset.name" semantic conventions. It represents the name of the
+// DaemonSet.
+func K8SDaemonSetName(val string) attribute.KeyValue {
+ return K8SDaemonSetNameKey.String(val)
+}
+
+// K8SDaemonSetUID returns an attribute KeyValue conforming to the
+// "k8s.daemonset.uid" semantic conventions. It represents the UID of the
+// DaemonSet.
+func K8SDaemonSetUID(val string) attribute.KeyValue {
+ return K8SDaemonSetUIDKey.String(val)
+}
+
+// K8SDeploymentName returns an attribute KeyValue conforming to the
+// "k8s.deployment.name" semantic conventions. It represents the name of the
+// Deployment.
+func K8SDeploymentName(val string) attribute.KeyValue {
+ return K8SDeploymentNameKey.String(val)
+}
+
+// K8SDeploymentUID returns an attribute KeyValue conforming to the
+// "k8s.deployment.uid" semantic conventions. It represents the UID of the
+// Deployment.
+func K8SDeploymentUID(val string) attribute.KeyValue {
+ return K8SDeploymentUIDKey.String(val)
+}
+
+// K8SHPAName returns an attribute KeyValue conforming to the "k8s.hpa.name"
+// semantic conventions. It represents the name of the horizontal pod autoscaler.
+func K8SHPAName(val string) attribute.KeyValue {
+ return K8SHPANameKey.String(val)
+}
+
+// K8SHPAUID returns an attribute KeyValue conforming to the "k8s.hpa.uid"
+// semantic conventions. It represents the UID of the horizontal pod autoscaler.
+func K8SHPAUID(val string) attribute.KeyValue {
+ return K8SHPAUIDKey.String(val)
+}
+
+// K8SJobName returns an attribute KeyValue conforming to the "k8s.job.name"
+// semantic conventions. It represents the name of the Job.
+func K8SJobName(val string) attribute.KeyValue {
+ return K8SJobNameKey.String(val)
+}
+
+// K8SJobUID returns an attribute KeyValue conforming to the "k8s.job.uid"
+// semantic conventions. It represents the UID of the Job.
+func K8SJobUID(val string) attribute.KeyValue {
+ return K8SJobUIDKey.String(val)
+}
+
+// K8SNamespaceName returns an attribute KeyValue conforming to the
+// "k8s.namespace.name" semantic conventions. It represents the name of the
+// namespace that the pod is running in.
+func K8SNamespaceName(val string) attribute.KeyValue {
+ return K8SNamespaceNameKey.String(val)
+}
+
+// K8SNodeName returns an attribute KeyValue conforming to the "k8s.node.name"
+// semantic conventions. It represents the name of the Node.
+func K8SNodeName(val string) attribute.KeyValue {
+ return K8SNodeNameKey.String(val)
+}
+
+// K8SNodeUID returns an attribute KeyValue conforming to the "k8s.node.uid"
+// semantic conventions. It represents the UID of the Node.
+func K8SNodeUID(val string) attribute.KeyValue {
+ return K8SNodeUIDKey.String(val)
+}
+
+// K8SPodName returns an attribute KeyValue conforming to the "k8s.pod.name"
+// semantic conventions. It represents the name of the Pod.
+func K8SPodName(val string) attribute.KeyValue {
+ return K8SPodNameKey.String(val)
+}
+
+// K8SPodUID returns an attribute KeyValue conforming to the "k8s.pod.uid"
+// semantic conventions. It represents the UID of the Pod.
+func K8SPodUID(val string) attribute.KeyValue {
+ return K8SPodUIDKey.String(val)
+}
+
+// K8SReplicaSetName returns an attribute KeyValue conforming to the
+// "k8s.replicaset.name" semantic conventions. It represents the name of the
+// ReplicaSet.
+func K8SReplicaSetName(val string) attribute.KeyValue {
+ return K8SReplicaSetNameKey.String(val)
+}
+
+// K8SReplicaSetUID returns an attribute KeyValue conforming to the
+// "k8s.replicaset.uid" semantic conventions. It represents the UID of the
+// ReplicaSet.
+func K8SReplicaSetUID(val string) attribute.KeyValue {
+ return K8SReplicaSetUIDKey.String(val)
+}
+
+// K8SReplicationControllerName returns an attribute KeyValue conforming to the
+// "k8s.replicationcontroller.name" semantic conventions. It represents the name
+// of the replication controller.
+func K8SReplicationControllerName(val string) attribute.KeyValue {
+ return K8SReplicationControllerNameKey.String(val)
+}
+
+// K8SReplicationControllerUID returns an attribute KeyValue conforming to the
+// "k8s.replicationcontroller.uid" semantic conventions. It represents the UID of
+// the replication controller.
+func K8SReplicationControllerUID(val string) attribute.KeyValue {
+ return K8SReplicationControllerUIDKey.String(val)
+}
+
+// K8SResourceQuotaName returns an attribute KeyValue conforming to the
+// "k8s.resourcequota.name" semantic conventions. It represents the name of the
+// resource quota.
+func K8SResourceQuotaName(val string) attribute.KeyValue {
+ return K8SResourceQuotaNameKey.String(val)
+}
+
+// K8SResourceQuotaUID returns an attribute KeyValue conforming to the
+// "k8s.resourcequota.uid" semantic conventions. It represents the UID of the
+// resource quota.
+func K8SResourceQuotaUID(val string) attribute.KeyValue {
+ return K8SResourceQuotaUIDKey.String(val)
+}
+
+// K8SStatefulSetName returns an attribute KeyValue conforming to the
+// "k8s.statefulset.name" semantic conventions. It represents the name of the
+// StatefulSet.
+func K8SStatefulSetName(val string) attribute.KeyValue {
+ return K8SStatefulSetNameKey.String(val)
+}
+
+// K8SStatefulSetUID returns an attribute KeyValue conforming to the
+// "k8s.statefulset.uid" semantic conventions. It represents the UID of the
+// StatefulSet.
+func K8SStatefulSetUID(val string) attribute.KeyValue {
+ return K8SStatefulSetUIDKey.String(val)
+}
+
+// K8SVolumeName returns an attribute KeyValue conforming to the
+// "k8s.volume.name" semantic conventions. It represents the name of the K8s
+// volume.
+func K8SVolumeName(val string) attribute.KeyValue {
+ return K8SVolumeNameKey.String(val)
+}
+
+// Enum values for k8s.namespace.phase
+var (
+ // Active namespace phase as described by [K8s API]
+ // Stability: development
+ //
+ // [K8s API]: https://pkg.go.dev/k8s.io/api@v0.31.3/core/v1#NamespacePhase
+ K8SNamespacePhaseActive = K8SNamespacePhaseKey.String("active")
+ // Terminating namespace phase as described by [K8s API]
+ // Stability: development
+ //
+ // [K8s API]: https://pkg.go.dev/k8s.io/api@v0.31.3/core/v1#NamespacePhase
+ K8SNamespacePhaseTerminating = K8SNamespacePhaseKey.String("terminating")
+)
+
+// Enum values for k8s.volume.type
+var (
+ // A [persistentVolumeClaim] volume
+ // Stability: development
+ //
+ // [persistentVolumeClaim]: https://v1-30.docs.kubernetes.io/docs/concepts/storage/volumes/#persistentvolumeclaim
+ K8SVolumeTypePersistentVolumeClaim = K8SVolumeTypeKey.String("persistentVolumeClaim")
+ // A [configMap] volume
+ // Stability: development
+ //
+ // [configMap]: https://v1-30.docs.kubernetes.io/docs/concepts/storage/volumes/#configmap
+ K8SVolumeTypeConfigMap = K8SVolumeTypeKey.String("configMap")
+ // A [downwardAPI] volume
+ // Stability: development
+ //
+ // [downwardAPI]: https://v1-30.docs.kubernetes.io/docs/concepts/storage/volumes/#downwardapi
+ K8SVolumeTypeDownwardAPI = K8SVolumeTypeKey.String("downwardAPI")
+ // An [emptyDir] volume
+ // Stability: development
+ //
+ // [emptyDir]: https://v1-30.docs.kubernetes.io/docs/concepts/storage/volumes/#emptydir
+ K8SVolumeTypeEmptyDir = K8SVolumeTypeKey.String("emptyDir")
+ // A [secret] volume
+ // Stability: development
+ //
+ // [secret]: https://v1-30.docs.kubernetes.io/docs/concepts/storage/volumes/#secret
+ K8SVolumeTypeSecret = K8SVolumeTypeKey.String("secret")
+ // A [local] volume
+ // Stability: development
+ //
+ // [local]: https://v1-30.docs.kubernetes.io/docs/concepts/storage/volumes/#local
+ K8SVolumeTypeLocal = K8SVolumeTypeKey.String("local")
+)
+
+// Namespace: linux
+const (
+ // LinuxMemorySlabStateKey is the attribute Key conforming to the
+ // "linux.memory.slab.state" semantic conventions. It represents the Linux Slab
+ // memory state.
+ //
+ // Type: Enum
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "reclaimable", "unreclaimable"
+ LinuxMemorySlabStateKey = attribute.Key("linux.memory.slab.state")
+)
+
+// Enum values for linux.memory.slab.state
+var (
+ // reclaimable
+ // Stability: development
+ LinuxMemorySlabStateReclaimable = LinuxMemorySlabStateKey.String("reclaimable")
+ // unreclaimable
+ // Stability: development
+ LinuxMemorySlabStateUnreclaimable = LinuxMemorySlabStateKey.String("unreclaimable")
+)
+
+// Namespace: log
+const (
+ // LogFileNameKey is the attribute Key conforming to the "log.file.name"
+ // semantic conventions. It represents the basename of the file.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "audit.log"
+ LogFileNameKey = attribute.Key("log.file.name")
+
+ // LogFileNameResolvedKey is the attribute Key conforming to the
+ // "log.file.name_resolved" semantic conventions. It represents the basename of
+ // the file, with symlinks resolved.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "uuid.log"
+ LogFileNameResolvedKey = attribute.Key("log.file.name_resolved")
+
+ // LogFilePathKey is the attribute Key conforming to the "log.file.path"
+ // semantic conventions. It represents the full path to the file.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "/var/log/mysql/audit.log"
+ LogFilePathKey = attribute.Key("log.file.path")
+
+ // LogFilePathResolvedKey is the attribute Key conforming to the
+ // "log.file.path_resolved" semantic conventions. It represents the full path to
+ // the file, with symlinks resolved.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "/var/lib/docker/uuid.log"
+ LogFilePathResolvedKey = attribute.Key("log.file.path_resolved")
+
+ // LogIostreamKey is the attribute Key conforming to the "log.iostream" semantic
+ // conventions. It represents the stream associated with the log. See below for
+ // a list of well-known values.
+ //
+ // Type: Enum
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples:
+ LogIostreamKey = attribute.Key("log.iostream")
+
+ // LogRecordOriginalKey is the attribute Key conforming to the
+ // "log.record.original" semantic conventions. It represents the complete
+ // original Log Record.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "77 <86>1 2015-08-06T21:58:59.694Z 192.168.2.133 inactive - - -
+ // Something happened", "[INFO] 8/3/24 12:34:56 Something happened"
+ // Note: This value MAY be added when processing a Log Record which was
+ // originally transmitted as a string or equivalent data type AND the Body field
+ // of the Log Record does not contain the same value. (e.g. a syslog or a log
+ // record read from a file.)
+ LogRecordOriginalKey = attribute.Key("log.record.original")
+
+ // LogRecordUIDKey is the attribute Key conforming to the "log.record.uid"
+ // semantic conventions. It represents a unique identifier for the Log Record.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "01ARZ3NDEKTSV4RRFFQ69G5FAV"
+ // Note: If an id is provided, other log records with the same id will be
+ // considered duplicates and can be removed safely. This means, that two
+ // distinguishable log records MUST have different values.
+ // The id MAY be an
+ // [Universally Unique Lexicographically Sortable Identifier (ULID)], but other
+ // identifiers (e.g. UUID) may be used as needed.
+ //
+ // [Universally Unique Lexicographically Sortable Identifier (ULID)]: https://github.com/ulid/spec
+ LogRecordUIDKey = attribute.Key("log.record.uid")
+)
+
+// LogFileName returns an attribute KeyValue conforming to the "log.file.name"
+// semantic conventions. It represents the basename of the file.
+func LogFileName(val string) attribute.KeyValue {
+ return LogFileNameKey.String(val)
+}
+
+// LogFileNameResolved returns an attribute KeyValue conforming to the
+// "log.file.name_resolved" semantic conventions. It represents the basename of
+// the file, with symlinks resolved.
+func LogFileNameResolved(val string) attribute.KeyValue {
+ return LogFileNameResolvedKey.String(val)
+}
+
+// LogFilePath returns an attribute KeyValue conforming to the "log.file.path"
+// semantic conventions. It represents the full path to the file.
+func LogFilePath(val string) attribute.KeyValue {
+ return LogFilePathKey.String(val)
+}
+
+// LogFilePathResolved returns an attribute KeyValue conforming to the
+// "log.file.path_resolved" semantic conventions. It represents the full path to
+// the file, with symlinks resolved.
+func LogFilePathResolved(val string) attribute.KeyValue {
+ return LogFilePathResolvedKey.String(val)
+}
+
+// LogRecordOriginal returns an attribute KeyValue conforming to the
+// "log.record.original" semantic conventions. It represents the complete
+// original Log Record.
+func LogRecordOriginal(val string) attribute.KeyValue {
+ return LogRecordOriginalKey.String(val)
+}
+
+// LogRecordUID returns an attribute KeyValue conforming to the "log.record.uid"
+// semantic conventions. It represents a unique identifier for the Log Record.
+func LogRecordUID(val string) attribute.KeyValue {
+ return LogRecordUIDKey.String(val)
+}
+
+// Enum values for log.iostream
+var (
+ // Logs from stdout stream
+ // Stability: development
+ LogIostreamStdout = LogIostreamKey.String("stdout")
+ // Events from stderr stream
+ // Stability: development
+ LogIostreamStderr = LogIostreamKey.String("stderr")
+)
+
+// Namespace: messaging
+const (
+ // MessagingBatchMessageCountKey is the attribute Key conforming to the
+ // "messaging.batch.message_count" semantic conventions. It represents the
+ // number of messages sent, received, or processed in the scope of the batching
+ // operation.
+ //
+ // Type: int
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: 0, 1, 2
+ // Note: Instrumentations SHOULD NOT set `messaging.batch.message_count` on
+ // spans that operate with a single message. When a messaging client library
+ // supports both batch and single-message API for the same operation,
+ // instrumentations SHOULD use `messaging.batch.message_count` for batching APIs
+ // and SHOULD NOT use it for single-message APIs.
+ MessagingBatchMessageCountKey = attribute.Key("messaging.batch.message_count")
+
+ // MessagingClientIDKey is the attribute Key conforming to the
+ // "messaging.client.id" semantic conventions. It represents a unique identifier
+ // for the client that consumes or produces a message.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "client-5", "myhost@8742@s8083jm"
+ MessagingClientIDKey = attribute.Key("messaging.client.id")
+
+ // MessagingConsumerGroupNameKey is the attribute Key conforming to the
+ // "messaging.consumer.group.name" semantic conventions. It represents the name
+ // of the consumer group with which a consumer is associated.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "my-group", "indexer"
+ // Note: Semantic conventions for individual messaging systems SHOULD document
+ // whether `messaging.consumer.group.name` is applicable and what it means in
+ // the context of that system.
+ MessagingConsumerGroupNameKey = attribute.Key("messaging.consumer.group.name")
+
+ // MessagingDestinationAnonymousKey is the attribute Key conforming to the
+ // "messaging.destination.anonymous" semantic conventions. It represents a
+ // boolean that is true if the message destination is anonymous (could be
+ // unnamed or have auto-generated name).
+ //
+ // Type: boolean
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples:
+ MessagingDestinationAnonymousKey = attribute.Key("messaging.destination.anonymous")
+
+ // MessagingDestinationNameKey is the attribute Key conforming to the
+ // "messaging.destination.name" semantic conventions. It represents the message
+ // destination name.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "MyQueue", "MyTopic"
+ // Note: Destination name SHOULD uniquely identify a specific queue, topic or
+ // other entity within the broker. If
+ // the broker doesn't have such notion, the destination name SHOULD uniquely
+ // identify the broker.
+ MessagingDestinationNameKey = attribute.Key("messaging.destination.name")
+
+ // MessagingDestinationPartitionIDKey is the attribute Key conforming to the
+ // "messaging.destination.partition.id" semantic conventions. It represents the
+ // identifier of the partition messages are sent to or received from, unique
+ // within the `messaging.destination.name`.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: 1
+ MessagingDestinationPartitionIDKey = attribute.Key("messaging.destination.partition.id")
+
+ // MessagingDestinationSubscriptionNameKey is the attribute Key conforming to
+ // the "messaging.destination.subscription.name" semantic conventions. It
+ // represents the name of the destination subscription from which a message is
+ // consumed.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "subscription-a"
+ // Note: Semantic conventions for individual messaging systems SHOULD document
+ // whether `messaging.destination.subscription.name` is applicable and what it
+ // means in the context of that system.
+ MessagingDestinationSubscriptionNameKey = attribute.Key("messaging.destination.subscription.name")
+
+ // MessagingDestinationTemplateKey is the attribute Key conforming to the
+ // "messaging.destination.template" semantic conventions. It represents the low
+ // cardinality representation of the messaging destination name.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "/customers/{customerId}"
+ // Note: Destination names could be constructed from templates. An example would
+ // be a destination name involving a user name or product id. Although the
+ // destination name in this case is of high cardinality, the underlying template
+ // is of low cardinality and can be effectively used for grouping and
+ // aggregation.
+ MessagingDestinationTemplateKey = attribute.Key("messaging.destination.template")
+
+ // MessagingDestinationTemporaryKey is the attribute Key conforming to the
+ // "messaging.destination.temporary" semantic conventions. It represents a
+ // boolean that is true if the message destination is temporary and might not
+ // exist anymore after messages are processed.
+ //
+ // Type: boolean
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples:
+ MessagingDestinationTemporaryKey = attribute.Key("messaging.destination.temporary")
+
+ // MessagingEventHubsMessageEnqueuedTimeKey is the attribute Key conforming to
+ // the "messaging.eventhubs.message.enqueued_time" semantic conventions. It
+ // represents the UTC epoch seconds at which the message has been accepted and
+ // stored in the entity.
+ //
+ // Type: int
+ // RequirementLevel: Recommended
+ // Stability: Development
+ MessagingEventHubsMessageEnqueuedTimeKey = attribute.Key("messaging.eventhubs.message.enqueued_time")
+
+ // MessagingGCPPubSubMessageAckDeadlineKey is the attribute Key conforming to
+ // the "messaging.gcp_pubsub.message.ack_deadline" semantic conventions. It
+ // represents the ack deadline in seconds set for the modify ack deadline
+ // request.
+ //
+ // Type: int
+ // RequirementLevel: Recommended
+ // Stability: Development
+ MessagingGCPPubSubMessageAckDeadlineKey = attribute.Key("messaging.gcp_pubsub.message.ack_deadline")
+
+ // MessagingGCPPubSubMessageAckIDKey is the attribute Key conforming to the
+ // "messaging.gcp_pubsub.message.ack_id" semantic conventions. It represents the
+ // ack id for a given message.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: ack_id
+ MessagingGCPPubSubMessageAckIDKey = attribute.Key("messaging.gcp_pubsub.message.ack_id")
+
+ // MessagingGCPPubSubMessageDeliveryAttemptKey is the attribute Key conforming
+ // to the "messaging.gcp_pubsub.message.delivery_attempt" semantic conventions.
+ // It represents the delivery attempt for a given message.
+ //
+ // Type: int
+ // RequirementLevel: Recommended
+ // Stability: Development
+ MessagingGCPPubSubMessageDeliveryAttemptKey = attribute.Key("messaging.gcp_pubsub.message.delivery_attempt")
+
+ // MessagingGCPPubSubMessageOrderingKeyKey is the attribute Key conforming to
+ // the "messaging.gcp_pubsub.message.ordering_key" semantic conventions. It
+ // represents the ordering key for a given message. If the attribute is not
+ // present, the message does not have an ordering key.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: ordering_key
+ MessagingGCPPubSubMessageOrderingKeyKey = attribute.Key("messaging.gcp_pubsub.message.ordering_key")
+
+ // MessagingKafkaMessageKeyKey is the attribute Key conforming to the
+ // "messaging.kafka.message.key" semantic conventions. It represents the message
+ // keys in Kafka are used for grouping alike messages to ensure they're
+ // processed on the same partition. They differ from `messaging.message.id` in
+ // that they're not unique. If the key is `null`, the attribute MUST NOT be set.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: myKey
+ // Note: If the key type is not string, it's string representation has to be
+ // supplied for the attribute. If the key has no unambiguous, canonical string
+ // form, don't include its value.
+ MessagingKafkaMessageKeyKey = attribute.Key("messaging.kafka.message.key")
+
+ // MessagingKafkaMessageTombstoneKey is the attribute Key conforming to the
+ // "messaging.kafka.message.tombstone" semantic conventions. It represents a
+ // boolean that is true if the message is a tombstone.
+ //
+ // Type: boolean
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples:
+ MessagingKafkaMessageTombstoneKey = attribute.Key("messaging.kafka.message.tombstone")
+
+ // MessagingKafkaOffsetKey is the attribute Key conforming to the
+ // "messaging.kafka.offset" semantic conventions. It represents the offset of a
+ // record in the corresponding Kafka partition.
+ //
+ // Type: int
+ // RequirementLevel: Recommended
+ // Stability: Development
+ MessagingKafkaOffsetKey = attribute.Key("messaging.kafka.offset")
+
+ // MessagingMessageBodySizeKey is the attribute Key conforming to the
+ // "messaging.message.body.size" semantic conventions. It represents the size of
+ // the message body in bytes.
+ //
+ // Type: int
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Note: This can refer to both the compressed or uncompressed body size. If
+ // both sizes are known, the uncompressed
+ // body size should be used.
+ MessagingMessageBodySizeKey = attribute.Key("messaging.message.body.size")
+
+ // MessagingMessageConversationIDKey is the attribute Key conforming to the
+ // "messaging.message.conversation_id" semantic conventions. It represents the
+ // conversation ID identifying the conversation to which the message belongs,
+ // represented as a string. Sometimes called "Correlation ID".
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: MyConversationId
+ MessagingMessageConversationIDKey = attribute.Key("messaging.message.conversation_id")
+
+ // MessagingMessageEnvelopeSizeKey is the attribute Key conforming to the
+ // "messaging.message.envelope.size" semantic conventions. It represents the
+ // size of the message body and metadata in bytes.
+ //
+ // Type: int
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Note: This can refer to both the compressed or uncompressed size. If both
+ // sizes are known, the uncompressed
+ // size should be used.
+ MessagingMessageEnvelopeSizeKey = attribute.Key("messaging.message.envelope.size")
+
+ // MessagingMessageIDKey is the attribute Key conforming to the
+ // "messaging.message.id" semantic conventions. It represents a value used by
+ // the messaging system as an identifier for the message, represented as a
+ // string.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: 452a7c7c7c7048c2f887f61572b18fc2
+ MessagingMessageIDKey = attribute.Key("messaging.message.id")
+
+ // MessagingOperationNameKey is the attribute Key conforming to the
+ // "messaging.operation.name" semantic conventions. It represents the
+ // system-specific name of the messaging operation.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "ack", "nack", "send"
+ MessagingOperationNameKey = attribute.Key("messaging.operation.name")
+
+ // MessagingOperationTypeKey is the attribute Key conforming to the
+ // "messaging.operation.type" semantic conventions. It represents a string
+ // identifying the type of the messaging operation.
+ //
+ // Type: Enum
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples:
+ // Note: If a custom value is used, it MUST be of low cardinality.
+ MessagingOperationTypeKey = attribute.Key("messaging.operation.type")
+
+ // MessagingRabbitMQDestinationRoutingKeyKey is the attribute Key conforming to
+ // the "messaging.rabbitmq.destination.routing_key" semantic conventions. It
+ // represents the rabbitMQ message routing key.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: myKey
+ MessagingRabbitMQDestinationRoutingKeyKey = attribute.Key("messaging.rabbitmq.destination.routing_key")
+
+ // MessagingRabbitMQMessageDeliveryTagKey is the attribute Key conforming to the
+ // "messaging.rabbitmq.message.delivery_tag" semantic conventions. It represents
+ // the rabbitMQ message delivery tag.
+ //
+ // Type: int
+ // RequirementLevel: Recommended
+ // Stability: Development
+ MessagingRabbitMQMessageDeliveryTagKey = attribute.Key("messaging.rabbitmq.message.delivery_tag")
+
+ // MessagingRocketMQConsumptionModelKey is the attribute Key conforming to the
+ // "messaging.rocketmq.consumption_model" semantic conventions. It represents
+ // the model of message consumption. This only applies to consumer spans.
+ //
+ // Type: Enum
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples:
+ MessagingRocketMQConsumptionModelKey = attribute.Key("messaging.rocketmq.consumption_model")
+
+ // MessagingRocketMQMessageDelayTimeLevelKey is the attribute Key conforming to
+ // the "messaging.rocketmq.message.delay_time_level" semantic conventions. It
+ // represents the delay time level for delay message, which determines the
+ // message delay time.
+ //
+ // Type: int
+ // RequirementLevel: Recommended
+ // Stability: Development
+ MessagingRocketMQMessageDelayTimeLevelKey = attribute.Key("messaging.rocketmq.message.delay_time_level")
+
+ // MessagingRocketMQMessageDeliveryTimestampKey is the attribute Key conforming
+ // to the "messaging.rocketmq.message.delivery_timestamp" semantic conventions.
+ // It represents the timestamp in milliseconds that the delay message is
+ // expected to be delivered to consumer.
+ //
+ // Type: int
+ // RequirementLevel: Recommended
+ // Stability: Development
+ MessagingRocketMQMessageDeliveryTimestampKey = attribute.Key("messaging.rocketmq.message.delivery_timestamp")
+
+ // MessagingRocketMQMessageGroupKey is the attribute Key conforming to the
+ // "messaging.rocketmq.message.group" semantic conventions. It represents the it
+ // is essential for FIFO message. Messages that belong to the same message group
+ // are always processed one by one within the same consumer group.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: myMessageGroup
+ MessagingRocketMQMessageGroupKey = attribute.Key("messaging.rocketmq.message.group")
+
+ // MessagingRocketMQMessageKeysKey is the attribute Key conforming to the
+ // "messaging.rocketmq.message.keys" semantic conventions. It represents the
+ // key(s) of message, another way to mark message besides message id.
+ //
+ // Type: string[]
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "keyA", "keyB"
+ MessagingRocketMQMessageKeysKey = attribute.Key("messaging.rocketmq.message.keys")
+
+ // MessagingRocketMQMessageTagKey is the attribute Key conforming to the
+ // "messaging.rocketmq.message.tag" semantic conventions. It represents the
+ // secondary classifier of message besides topic.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: tagA
+ MessagingRocketMQMessageTagKey = attribute.Key("messaging.rocketmq.message.tag")
+
+ // MessagingRocketMQMessageTypeKey is the attribute Key conforming to the
+ // "messaging.rocketmq.message.type" semantic conventions. It represents the
+ // type of message.
+ //
+ // Type: Enum
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples:
+ MessagingRocketMQMessageTypeKey = attribute.Key("messaging.rocketmq.message.type")
+
+ // MessagingRocketMQNamespaceKey is the attribute Key conforming to the
+ // "messaging.rocketmq.namespace" semantic conventions. It represents the
+ // namespace of RocketMQ resources, resources in different namespaces are
+ // individual.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: myNamespace
+ MessagingRocketMQNamespaceKey = attribute.Key("messaging.rocketmq.namespace")
+
+ // MessagingServiceBusDispositionStatusKey is the attribute Key conforming to
+ // the "messaging.servicebus.disposition_status" semantic conventions. It
+ // represents the describes the [settlement type].
+ //
+ // Type: Enum
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples:
+ //
+ // [settlement type]: https://learn.microsoft.com/azure/service-bus-messaging/message-transfers-locks-settlement#peeklock
+ MessagingServiceBusDispositionStatusKey = attribute.Key("messaging.servicebus.disposition_status")
+
+ // MessagingServiceBusMessageDeliveryCountKey is the attribute Key conforming to
+ // the "messaging.servicebus.message.delivery_count" semantic conventions. It
+ // represents the number of deliveries that have been attempted for this
+ // message.
+ //
+ // Type: int
+ // RequirementLevel: Recommended
+ // Stability: Development
+ MessagingServiceBusMessageDeliveryCountKey = attribute.Key("messaging.servicebus.message.delivery_count")
+
+ // MessagingServiceBusMessageEnqueuedTimeKey is the attribute Key conforming to
+ // the "messaging.servicebus.message.enqueued_time" semantic conventions. It
+ // represents the UTC epoch seconds at which the message has been accepted and
+ // stored in the entity.
+ //
+ // Type: int
+ // RequirementLevel: Recommended
+ // Stability: Development
+ MessagingServiceBusMessageEnqueuedTimeKey = attribute.Key("messaging.servicebus.message.enqueued_time")
+
+ // MessagingSystemKey is the attribute Key conforming to the "messaging.system"
+ // semantic conventions. It represents the messaging system as identified by the
+ // client instrumentation.
+ //
+ // Type: Enum
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples:
+ // Note: The actual messaging system may differ from the one known by the
+ // client. For example, when using Kafka client libraries to communicate with
+ // Azure Event Hubs, the `messaging.system` is set to `kafka` based on the
+ // instrumentation's best knowledge.
+ MessagingSystemKey = attribute.Key("messaging.system")
+)
+
+// MessagingBatchMessageCount returns an attribute KeyValue conforming to the
+// "messaging.batch.message_count" semantic conventions. It represents the number
+// of messages sent, received, or processed in the scope of the batching
+// operation.
+func MessagingBatchMessageCount(val int) attribute.KeyValue {
+ return MessagingBatchMessageCountKey.Int(val)
+}
+
+// MessagingClientID returns an attribute KeyValue conforming to the
+// "messaging.client.id" semantic conventions. It represents a unique identifier
+// for the client that consumes or produces a message.
+func MessagingClientID(val string) attribute.KeyValue {
+ return MessagingClientIDKey.String(val)
+}
+
+// MessagingConsumerGroupName returns an attribute KeyValue conforming to the
+// "messaging.consumer.group.name" semantic conventions. It represents the name
+// of the consumer group with which a consumer is associated.
+func MessagingConsumerGroupName(val string) attribute.KeyValue {
+ return MessagingConsumerGroupNameKey.String(val)
+}
+
+// MessagingDestinationAnonymous returns an attribute KeyValue conforming to the
+// "messaging.destination.anonymous" semantic conventions. It represents a
+// boolean that is true if the message destination is anonymous (could be unnamed
+// or have auto-generated name).
+func MessagingDestinationAnonymous(val bool) attribute.KeyValue {
+ return MessagingDestinationAnonymousKey.Bool(val)
+}
+
+// MessagingDestinationName returns an attribute KeyValue conforming to the
+// "messaging.destination.name" semantic conventions. It represents the message
+// destination name.
+func MessagingDestinationName(val string) attribute.KeyValue {
+ return MessagingDestinationNameKey.String(val)
+}
+
+// MessagingDestinationPartitionID returns an attribute KeyValue conforming to
+// the "messaging.destination.partition.id" semantic conventions. It represents
+// the identifier of the partition messages are sent to or received from, unique
+// within the `messaging.destination.name`.
+func MessagingDestinationPartitionID(val string) attribute.KeyValue {
+ return MessagingDestinationPartitionIDKey.String(val)
+}
+
+// MessagingDestinationSubscriptionName returns an attribute KeyValue conforming
+// to the "messaging.destination.subscription.name" semantic conventions. It
+// represents the name of the destination subscription from which a message is
+// consumed.
+func MessagingDestinationSubscriptionName(val string) attribute.KeyValue {
+ return MessagingDestinationSubscriptionNameKey.String(val)
+}
+
+// MessagingDestinationTemplate returns an attribute KeyValue conforming to the
+// "messaging.destination.template" semantic conventions. It represents the low
+// cardinality representation of the messaging destination name.
+func MessagingDestinationTemplate(val string) attribute.KeyValue {
+ return MessagingDestinationTemplateKey.String(val)
+}
+
+// MessagingDestinationTemporary returns an attribute KeyValue conforming to the
+// "messaging.destination.temporary" semantic conventions. It represents a
+// boolean that is true if the message destination is temporary and might not
+// exist anymore after messages are processed.
+func MessagingDestinationTemporary(val bool) attribute.KeyValue {
+ return MessagingDestinationTemporaryKey.Bool(val)
+}
+
+// MessagingEventHubsMessageEnqueuedTime returns an attribute KeyValue conforming
+// to the "messaging.eventhubs.message.enqueued_time" semantic conventions. It
+// represents the UTC epoch seconds at which the message has been accepted and
+// stored in the entity.
+func MessagingEventHubsMessageEnqueuedTime(val int) attribute.KeyValue {
+ return MessagingEventHubsMessageEnqueuedTimeKey.Int(val)
+}
+
+// MessagingGCPPubSubMessageAckDeadline returns an attribute KeyValue conforming
+// to the "messaging.gcp_pubsub.message.ack_deadline" semantic conventions. It
+// represents the ack deadline in seconds set for the modify ack deadline
+// request.
+func MessagingGCPPubSubMessageAckDeadline(val int) attribute.KeyValue {
+ return MessagingGCPPubSubMessageAckDeadlineKey.Int(val)
+}
+
+// MessagingGCPPubSubMessageAckID returns an attribute KeyValue conforming to the
+// "messaging.gcp_pubsub.message.ack_id" semantic conventions. It represents the
+// ack id for a given message.
+func MessagingGCPPubSubMessageAckID(val string) attribute.KeyValue {
+ return MessagingGCPPubSubMessageAckIDKey.String(val)
+}
+
+// MessagingGCPPubSubMessageDeliveryAttempt returns an attribute KeyValue
+// conforming to the "messaging.gcp_pubsub.message.delivery_attempt" semantic
+// conventions. It represents the delivery attempt for a given message.
+func MessagingGCPPubSubMessageDeliveryAttempt(val int) attribute.KeyValue {
+ return MessagingGCPPubSubMessageDeliveryAttemptKey.Int(val)
+}
+
+// MessagingGCPPubSubMessageOrderingKey returns an attribute KeyValue conforming
+// to the "messaging.gcp_pubsub.message.ordering_key" semantic conventions. It
+// represents the ordering key for a given message. If the attribute is not
+// present, the message does not have an ordering key.
+func MessagingGCPPubSubMessageOrderingKey(val string) attribute.KeyValue {
+ return MessagingGCPPubSubMessageOrderingKeyKey.String(val)
+}
+
+// MessagingKafkaMessageKey returns an attribute KeyValue conforming to the
+// "messaging.kafka.message.key" semantic conventions. It represents the message
+// keys in Kafka are used for grouping alike messages to ensure they're processed
+// on the same partition. They differ from `messaging.message.id` in that they're
+// not unique. If the key is `null`, the attribute MUST NOT be set.
+func MessagingKafkaMessageKey(val string) attribute.KeyValue {
+ return MessagingKafkaMessageKeyKey.String(val)
+}
+
+// MessagingKafkaMessageTombstone returns an attribute KeyValue conforming to the
+// "messaging.kafka.message.tombstone" semantic conventions. It represents a
+// boolean that is true if the message is a tombstone.
+func MessagingKafkaMessageTombstone(val bool) attribute.KeyValue {
+ return MessagingKafkaMessageTombstoneKey.Bool(val)
+}
+
+// MessagingKafkaOffset returns an attribute KeyValue conforming to the
+// "messaging.kafka.offset" semantic conventions. It represents the offset of a
+// record in the corresponding Kafka partition.
+func MessagingKafkaOffset(val int) attribute.KeyValue {
+ return MessagingKafkaOffsetKey.Int(val)
+}
+
+// MessagingMessageBodySize returns an attribute KeyValue conforming to the
+// "messaging.message.body.size" semantic conventions. It represents the size of
+// the message body in bytes.
+func MessagingMessageBodySize(val int) attribute.KeyValue {
+ return MessagingMessageBodySizeKey.Int(val)
+}
+
+// MessagingMessageConversationID returns an attribute KeyValue conforming to the
+// "messaging.message.conversation_id" semantic conventions. It represents the
+// conversation ID identifying the conversation to which the message belongs,
+// represented as a string. Sometimes called "Correlation ID".
+func MessagingMessageConversationID(val string) attribute.KeyValue {
+ return MessagingMessageConversationIDKey.String(val)
+}
+
+// MessagingMessageEnvelopeSize returns an attribute KeyValue conforming to the
+// "messaging.message.envelope.size" semantic conventions. It represents the size
+// of the message body and metadata in bytes.
+func MessagingMessageEnvelopeSize(val int) attribute.KeyValue {
+ return MessagingMessageEnvelopeSizeKey.Int(val)
+}
+
+// MessagingMessageID returns an attribute KeyValue conforming to the
+// "messaging.message.id" semantic conventions. It represents a value used by the
+// messaging system as an identifier for the message, represented as a string.
+func MessagingMessageID(val string) attribute.KeyValue {
+ return MessagingMessageIDKey.String(val)
+}
+
+// MessagingOperationName returns an attribute KeyValue conforming to the
+// "messaging.operation.name" semantic conventions. It represents the
+// system-specific name of the messaging operation.
+func MessagingOperationName(val string) attribute.KeyValue {
+ return MessagingOperationNameKey.String(val)
+}
+
+// MessagingRabbitMQDestinationRoutingKey returns an attribute KeyValue
+// conforming to the "messaging.rabbitmq.destination.routing_key" semantic
+// conventions. It represents the rabbitMQ message routing key.
+func MessagingRabbitMQDestinationRoutingKey(val string) attribute.KeyValue {
+ return MessagingRabbitMQDestinationRoutingKeyKey.String(val)
+}
+
+// MessagingRabbitMQMessageDeliveryTag returns an attribute KeyValue conforming
+// to the "messaging.rabbitmq.message.delivery_tag" semantic conventions. It
+// represents the rabbitMQ message delivery tag.
+func MessagingRabbitMQMessageDeliveryTag(val int) attribute.KeyValue {
+ return MessagingRabbitMQMessageDeliveryTagKey.Int(val)
+}
+
+// MessagingRocketMQMessageDelayTimeLevel returns an attribute KeyValue
+// conforming to the "messaging.rocketmq.message.delay_time_level" semantic
+// conventions. It represents the delay time level for delay message, which
+// determines the message delay time.
+func MessagingRocketMQMessageDelayTimeLevel(val int) attribute.KeyValue {
+ return MessagingRocketMQMessageDelayTimeLevelKey.Int(val)
+}
+
+// MessagingRocketMQMessageDeliveryTimestamp returns an attribute KeyValue
+// conforming to the "messaging.rocketmq.message.delivery_timestamp" semantic
+// conventions. It represents the timestamp in milliseconds that the delay
+// message is expected to be delivered to consumer.
+func MessagingRocketMQMessageDeliveryTimestamp(val int) attribute.KeyValue {
+ return MessagingRocketMQMessageDeliveryTimestampKey.Int(val)
+}
+
+// MessagingRocketMQMessageGroup returns an attribute KeyValue conforming to the
+// "messaging.rocketmq.message.group" semantic conventions. It represents the it
+// is essential for FIFO message. Messages that belong to the same message group
+// are always processed one by one within the same consumer group.
+func MessagingRocketMQMessageGroup(val string) attribute.KeyValue {
+ return MessagingRocketMQMessageGroupKey.String(val)
+}
+
+// MessagingRocketMQMessageKeys returns an attribute KeyValue conforming to the
+// "messaging.rocketmq.message.keys" semantic conventions. It represents the
+// key(s) of message, another way to mark message besides message id.
+func MessagingRocketMQMessageKeys(val ...string) attribute.KeyValue {
+ return MessagingRocketMQMessageKeysKey.StringSlice(val)
+}
+
+// MessagingRocketMQMessageTag returns an attribute KeyValue conforming to the
+// "messaging.rocketmq.message.tag" semantic conventions. It represents the
+// secondary classifier of message besides topic.
+func MessagingRocketMQMessageTag(val string) attribute.KeyValue {
+ return MessagingRocketMQMessageTagKey.String(val)
+}
+
+// MessagingRocketMQNamespace returns an attribute KeyValue conforming to the
+// "messaging.rocketmq.namespace" semantic conventions. It represents the
+// namespace of RocketMQ resources, resources in different namespaces are
+// individual.
+func MessagingRocketMQNamespace(val string) attribute.KeyValue {
+ return MessagingRocketMQNamespaceKey.String(val)
+}
+
+// MessagingServiceBusMessageDeliveryCount returns an attribute KeyValue
+// conforming to the "messaging.servicebus.message.delivery_count" semantic
+// conventions. It represents the number of deliveries that have been attempted
+// for this message.
+func MessagingServiceBusMessageDeliveryCount(val int) attribute.KeyValue {
+ return MessagingServiceBusMessageDeliveryCountKey.Int(val)
+}
+
+// MessagingServiceBusMessageEnqueuedTime returns an attribute KeyValue
+// conforming to the "messaging.servicebus.message.enqueued_time" semantic
+// conventions. It represents the UTC epoch seconds at which the message has been
+// accepted and stored in the entity.
+func MessagingServiceBusMessageEnqueuedTime(val int) attribute.KeyValue {
+ return MessagingServiceBusMessageEnqueuedTimeKey.Int(val)
+}
+
+// Enum values for messaging.operation.type
+var (
+ // A message is created. "Create" spans always refer to a single message and are
+ // used to provide a unique creation context for messages in batch sending
+ // scenarios.
+ //
+ // Stability: development
+ MessagingOperationTypeCreate = MessagingOperationTypeKey.String("create")
+ // One or more messages are provided for sending to an intermediary. If a single
+ // message is sent, the context of the "Send" span can be used as the creation
+ // context and no "Create" span needs to be created.
+ //
+ // Stability: development
+ MessagingOperationTypeSend = MessagingOperationTypeKey.String("send")
+ // One or more messages are requested by a consumer. This operation refers to
+ // pull-based scenarios, where consumers explicitly call methods of messaging
+ // SDKs to receive messages.
+ //
+ // Stability: development
+ MessagingOperationTypeReceive = MessagingOperationTypeKey.String("receive")
+ // One or more messages are processed by a consumer.
+ //
+ // Stability: development
+ MessagingOperationTypeProcess = MessagingOperationTypeKey.String("process")
+ // One or more messages are settled.
+ //
+ // Stability: development
+ MessagingOperationTypeSettle = MessagingOperationTypeKey.String("settle")
+ // Deprecated: Replaced by `process`.
+ MessagingOperationTypeDeliver = MessagingOperationTypeKey.String("deliver")
+ // Deprecated: Replaced by `send`.
+ MessagingOperationTypePublish = MessagingOperationTypeKey.String("publish")
+)
+
+// Enum values for messaging.rocketmq.consumption_model
+var (
+ // Clustering consumption model
+ // Stability: development
+ MessagingRocketMQConsumptionModelClustering = MessagingRocketMQConsumptionModelKey.String("clustering")
+ // Broadcasting consumption model
+ // Stability: development
+ MessagingRocketMQConsumptionModelBroadcasting = MessagingRocketMQConsumptionModelKey.String("broadcasting")
+)
+
+// Enum values for messaging.rocketmq.message.type
+var (
+ // Normal message
+ // Stability: development
+ MessagingRocketMQMessageTypeNormal = MessagingRocketMQMessageTypeKey.String("normal")
+ // FIFO message
+ // Stability: development
+ MessagingRocketMQMessageTypeFifo = MessagingRocketMQMessageTypeKey.String("fifo")
+ // Delay message
+ // Stability: development
+ MessagingRocketMQMessageTypeDelay = MessagingRocketMQMessageTypeKey.String("delay")
+ // Transaction message
+ // Stability: development
+ MessagingRocketMQMessageTypeTransaction = MessagingRocketMQMessageTypeKey.String("transaction")
+)
+
+// Enum values for messaging.servicebus.disposition_status
+var (
+ // Message is completed
+ // Stability: development
+ MessagingServiceBusDispositionStatusComplete = MessagingServiceBusDispositionStatusKey.String("complete")
+ // Message is abandoned
+ // Stability: development
+ MessagingServiceBusDispositionStatusAbandon = MessagingServiceBusDispositionStatusKey.String("abandon")
+ // Message is sent to dead letter queue
+ // Stability: development
+ MessagingServiceBusDispositionStatusDeadLetter = MessagingServiceBusDispositionStatusKey.String("dead_letter")
+ // Message is deferred
+ // Stability: development
+ MessagingServiceBusDispositionStatusDefer = MessagingServiceBusDispositionStatusKey.String("defer")
+)
+
+// Enum values for messaging.system
+var (
+ // Apache ActiveMQ
+ // Stability: development
+ MessagingSystemActiveMQ = MessagingSystemKey.String("activemq")
+ // Amazon Simple Queue Service (SQS)
+ // Stability: development
+ MessagingSystemAWSSQS = MessagingSystemKey.String("aws_sqs")
+ // Azure Event Grid
+ // Stability: development
+ MessagingSystemEventGrid = MessagingSystemKey.String("eventgrid")
+ // Azure Event Hubs
+ // Stability: development
+ MessagingSystemEventHubs = MessagingSystemKey.String("eventhubs")
+ // Azure Service Bus
+ // Stability: development
+ MessagingSystemServiceBus = MessagingSystemKey.String("servicebus")
+ // Google Cloud Pub/Sub
+ // Stability: development
+ MessagingSystemGCPPubSub = MessagingSystemKey.String("gcp_pubsub")
+ // Java Message Service
+ // Stability: development
+ MessagingSystemJMS = MessagingSystemKey.String("jms")
+ // Apache Kafka
+ // Stability: development
+ MessagingSystemKafka = MessagingSystemKey.String("kafka")
+ // RabbitMQ
+ // Stability: development
+ MessagingSystemRabbitMQ = MessagingSystemKey.String("rabbitmq")
+ // Apache RocketMQ
+ // Stability: development
+ MessagingSystemRocketMQ = MessagingSystemKey.String("rocketmq")
+ // Apache Pulsar
+ // Stability: development
+ MessagingSystemPulsar = MessagingSystemKey.String("pulsar")
+)
+
+// Namespace: network
+const (
+ // NetworkCarrierICCKey is the attribute Key conforming to the
+ // "network.carrier.icc" semantic conventions. It represents the ISO 3166-1
+ // alpha-2 2-character country code associated with the mobile carrier network.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: DE
+ NetworkCarrierICCKey = attribute.Key("network.carrier.icc")
+
+ // NetworkCarrierMCCKey is the attribute Key conforming to the
+ // "network.carrier.mcc" semantic conventions. It represents the mobile carrier
+ // country code.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: 310
+ NetworkCarrierMCCKey = attribute.Key("network.carrier.mcc")
+
+ // NetworkCarrierMNCKey is the attribute Key conforming to the
+ // "network.carrier.mnc" semantic conventions. It represents the mobile carrier
+ // network code.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: 001
+ NetworkCarrierMNCKey = attribute.Key("network.carrier.mnc")
+
+ // NetworkCarrierNameKey is the attribute Key conforming to the
+ // "network.carrier.name" semantic conventions. It represents the name of the
+ // mobile carrier.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: sprint
+ NetworkCarrierNameKey = attribute.Key("network.carrier.name")
+
+ // NetworkConnectionStateKey is the attribute Key conforming to the
+ // "network.connection.state" semantic conventions. It represents the state of
+ // network connection.
+ //
+ // Type: Enum
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "close_wait"
+ // Note: Connection states are defined as part of the [rfc9293]
+ //
+ // [rfc9293]: https://datatracker.ietf.org/doc/html/rfc9293#section-3.3.2
+ NetworkConnectionStateKey = attribute.Key("network.connection.state")
+
+ // NetworkConnectionSubtypeKey is the attribute Key conforming to the
+ // "network.connection.subtype" semantic conventions. It represents the this
+ // describes more details regarding the connection.type. It may be the type of
+ // cell technology connection, but it could be used for describing details about
+ // a wifi connection.
+ //
+ // Type: Enum
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: LTE
+ NetworkConnectionSubtypeKey = attribute.Key("network.connection.subtype")
+
+ // NetworkConnectionTypeKey is the attribute Key conforming to the
+ // "network.connection.type" semantic conventions. It represents the internet
+ // connection type.
+ //
+ // Type: Enum
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: wifi
+ NetworkConnectionTypeKey = attribute.Key("network.connection.type")
+
+ // NetworkInterfaceNameKey is the attribute Key conforming to the
+ // "network.interface.name" semantic conventions. It represents the network
+ // interface name.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "lo", "eth0"
+ NetworkInterfaceNameKey = attribute.Key("network.interface.name")
+
+ // NetworkIODirectionKey is the attribute Key conforming to the
+ // "network.io.direction" semantic conventions. It represents the network IO
+ // operation direction.
+ //
+ // Type: Enum
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "transmit"
+ NetworkIODirectionKey = attribute.Key("network.io.direction")
+
+ // NetworkLocalAddressKey is the attribute Key conforming to the
+ // "network.local.address" semantic conventions. It represents the local address
+ // of the network connection - IP address or Unix domain socket name.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Stable
+ //
+ // Examples: "10.1.2.80", "/tmp/my.sock"
+ NetworkLocalAddressKey = attribute.Key("network.local.address")
+
+ // NetworkLocalPortKey is the attribute Key conforming to the
+ // "network.local.port" semantic conventions. It represents the local port
+ // number of the network connection.
+ //
+ // Type: int
+ // RequirementLevel: Recommended
+ // Stability: Stable
+ //
+ // Examples: 65123
+ NetworkLocalPortKey = attribute.Key("network.local.port")
+
+ // NetworkPeerAddressKey is the attribute Key conforming to the
+ // "network.peer.address" semantic conventions. It represents the peer address
+ // of the network connection - IP address or Unix domain socket name.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Stable
+ //
+ // Examples: "10.1.2.80", "/tmp/my.sock"
+ NetworkPeerAddressKey = attribute.Key("network.peer.address")
+
+ // NetworkPeerPortKey is the attribute Key conforming to the "network.peer.port"
+ // semantic conventions. It represents the peer port number of the network
+ // connection.
+ //
+ // Type: int
+ // RequirementLevel: Recommended
+ // Stability: Stable
+ //
+ // Examples: 65123
+ NetworkPeerPortKey = attribute.Key("network.peer.port")
+
+ // NetworkProtocolNameKey is the attribute Key conforming to the
+ // "network.protocol.name" semantic conventions. It represents the
+ // [OSI application layer] or non-OSI equivalent.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Stable
+ //
+ // Examples: "amqp", "http", "mqtt"
+ // Note: The value SHOULD be normalized to lowercase.
+ //
+ // [OSI application layer]: https://wikipedia.org/wiki/Application_layer
+ NetworkProtocolNameKey = attribute.Key("network.protocol.name")
+
+ // NetworkProtocolVersionKey is the attribute Key conforming to the
+ // "network.protocol.version" semantic conventions. It represents the actual
+ // version of the protocol used for network communication.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Stable
+ //
+ // Examples: "1.1", "2"
+ // Note: If protocol version is subject to negotiation (for example using [ALPN]
+ // ), this attribute SHOULD be set to the negotiated version. If the actual
+ // protocol version is not known, this attribute SHOULD NOT be set.
+ //
+ // [ALPN]: https://www.rfc-editor.org/rfc/rfc7301.html
+ NetworkProtocolVersionKey = attribute.Key("network.protocol.version")
+
+ // NetworkTransportKey is the attribute Key conforming to the
+ // "network.transport" semantic conventions. It represents the
+ // [OSI transport layer] or [inter-process communication method].
+ //
+ // Type: Enum
+ // RequirementLevel: Recommended
+ // Stability: Stable
+ //
+ // Examples: "tcp", "udp"
+ // Note: The value SHOULD be normalized to lowercase.
+ //
+ // Consider always setting the transport when setting a port number, since
+ // a port number is ambiguous without knowing the transport. For example
+ // different processes could be listening on TCP port 12345 and UDP port 12345.
+ //
+ // [OSI transport layer]: https://wikipedia.org/wiki/Transport_layer
+ // [inter-process communication method]: https://wikipedia.org/wiki/Inter-process_communication
+ NetworkTransportKey = attribute.Key("network.transport")
+
+ // NetworkTypeKey is the attribute Key conforming to the "network.type" semantic
+ // conventions. It represents the [OSI network layer] or non-OSI equivalent.
+ //
+ // Type: Enum
+ // RequirementLevel: Recommended
+ // Stability: Stable
+ //
+ // Examples: "ipv4", "ipv6"
+ // Note: The value SHOULD be normalized to lowercase.
+ //
+ // [OSI network layer]: https://wikipedia.org/wiki/Network_layer
+ NetworkTypeKey = attribute.Key("network.type")
+)
+
+// NetworkCarrierICC returns an attribute KeyValue conforming to the
+// "network.carrier.icc" semantic conventions. It represents the ISO 3166-1
+// alpha-2 2-character country code associated with the mobile carrier network.
+func NetworkCarrierICC(val string) attribute.KeyValue {
+ return NetworkCarrierICCKey.String(val)
+}
+
+// NetworkCarrierMCC returns an attribute KeyValue conforming to the
+// "network.carrier.mcc" semantic conventions. It represents the mobile carrier
+// country code.
+func NetworkCarrierMCC(val string) attribute.KeyValue {
+ return NetworkCarrierMCCKey.String(val)
+}
+
+// NetworkCarrierMNC returns an attribute KeyValue conforming to the
+// "network.carrier.mnc" semantic conventions. It represents the mobile carrier
+// network code.
+func NetworkCarrierMNC(val string) attribute.KeyValue {
+ return NetworkCarrierMNCKey.String(val)
+}
+
+// NetworkCarrierName returns an attribute KeyValue conforming to the
+// "network.carrier.name" semantic conventions. It represents the name of the
+// mobile carrier.
+func NetworkCarrierName(val string) attribute.KeyValue {
+ return NetworkCarrierNameKey.String(val)
+}
+
+// NetworkInterfaceName returns an attribute KeyValue conforming to the
+// "network.interface.name" semantic conventions. It represents the network
+// interface name.
+func NetworkInterfaceName(val string) attribute.KeyValue {
+ return NetworkInterfaceNameKey.String(val)
+}
+
+// NetworkLocalAddress returns an attribute KeyValue conforming to the
+// "network.local.address" semantic conventions. It represents the local address
+// of the network connection - IP address or Unix domain socket name.
+func NetworkLocalAddress(val string) attribute.KeyValue {
+ return NetworkLocalAddressKey.String(val)
+}
+
+// NetworkLocalPort returns an attribute KeyValue conforming to the
+// "network.local.port" semantic conventions. It represents the local port number
+// of the network connection.
+func NetworkLocalPort(val int) attribute.KeyValue {
+ return NetworkLocalPortKey.Int(val)
+}
+
+// NetworkPeerAddress returns an attribute KeyValue conforming to the
+// "network.peer.address" semantic conventions. It represents the peer address of
+// the network connection - IP address or Unix domain socket name.
+func NetworkPeerAddress(val string) attribute.KeyValue {
+ return NetworkPeerAddressKey.String(val)
+}
+
+// NetworkPeerPort returns an attribute KeyValue conforming to the
+// "network.peer.port" semantic conventions. It represents the peer port number
+// of the network connection.
+func NetworkPeerPort(val int) attribute.KeyValue {
+ return NetworkPeerPortKey.Int(val)
+}
+
+// NetworkProtocolName returns an attribute KeyValue conforming to the
+// "network.protocol.name" semantic conventions. It represents the
+// [OSI application layer] or non-OSI equivalent.
+//
+// [OSI application layer]: https://wikipedia.org/wiki/Application_layer
+func NetworkProtocolName(val string) attribute.KeyValue {
+ return NetworkProtocolNameKey.String(val)
+}
+
+// NetworkProtocolVersion returns an attribute KeyValue conforming to the
+// "network.protocol.version" semantic conventions. It represents the actual
+// version of the protocol used for network communication.
+func NetworkProtocolVersion(val string) attribute.KeyValue {
+ return NetworkProtocolVersionKey.String(val)
+}
+
+// Enum values for network.connection.state
+var (
+ // closed
+ // Stability: development
+ NetworkConnectionStateClosed = NetworkConnectionStateKey.String("closed")
+ // close_wait
+ // Stability: development
+ NetworkConnectionStateCloseWait = NetworkConnectionStateKey.String("close_wait")
+ // closing
+ // Stability: development
+ NetworkConnectionStateClosing = NetworkConnectionStateKey.String("closing")
+ // established
+ // Stability: development
+ NetworkConnectionStateEstablished = NetworkConnectionStateKey.String("established")
+ // fin_wait_1
+ // Stability: development
+ NetworkConnectionStateFinWait1 = NetworkConnectionStateKey.String("fin_wait_1")
+ // fin_wait_2
+ // Stability: development
+ NetworkConnectionStateFinWait2 = NetworkConnectionStateKey.String("fin_wait_2")
+ // last_ack
+ // Stability: development
+ NetworkConnectionStateLastAck = NetworkConnectionStateKey.String("last_ack")
+ // listen
+ // Stability: development
+ NetworkConnectionStateListen = NetworkConnectionStateKey.String("listen")
+ // syn_received
+ // Stability: development
+ NetworkConnectionStateSynReceived = NetworkConnectionStateKey.String("syn_received")
+ // syn_sent
+ // Stability: development
+ NetworkConnectionStateSynSent = NetworkConnectionStateKey.String("syn_sent")
+ // time_wait
+ // Stability: development
+ NetworkConnectionStateTimeWait = NetworkConnectionStateKey.String("time_wait")
+)
+
+// Enum values for network.connection.subtype
+var (
+ // GPRS
+ // Stability: development
+ NetworkConnectionSubtypeGprs = NetworkConnectionSubtypeKey.String("gprs")
+ // EDGE
+ // Stability: development
+ NetworkConnectionSubtypeEdge = NetworkConnectionSubtypeKey.String("edge")
+ // UMTS
+ // Stability: development
+ NetworkConnectionSubtypeUmts = NetworkConnectionSubtypeKey.String("umts")
+ // CDMA
+ // Stability: development
+ NetworkConnectionSubtypeCdma = NetworkConnectionSubtypeKey.String("cdma")
+ // EVDO Rel. 0
+ // Stability: development
+ NetworkConnectionSubtypeEvdo0 = NetworkConnectionSubtypeKey.String("evdo_0")
+ // EVDO Rev. A
+ // Stability: development
+ NetworkConnectionSubtypeEvdoA = NetworkConnectionSubtypeKey.String("evdo_a")
+ // CDMA2000 1XRTT
+ // Stability: development
+ NetworkConnectionSubtypeCdma20001xrtt = NetworkConnectionSubtypeKey.String("cdma2000_1xrtt")
+ // HSDPA
+ // Stability: development
+ NetworkConnectionSubtypeHsdpa = NetworkConnectionSubtypeKey.String("hsdpa")
+ // HSUPA
+ // Stability: development
+ NetworkConnectionSubtypeHsupa = NetworkConnectionSubtypeKey.String("hsupa")
+ // HSPA
+ // Stability: development
+ NetworkConnectionSubtypeHspa = NetworkConnectionSubtypeKey.String("hspa")
+ // IDEN
+ // Stability: development
+ NetworkConnectionSubtypeIden = NetworkConnectionSubtypeKey.String("iden")
+ // EVDO Rev. B
+ // Stability: development
+ NetworkConnectionSubtypeEvdoB = NetworkConnectionSubtypeKey.String("evdo_b")
+ // LTE
+ // Stability: development
+ NetworkConnectionSubtypeLte = NetworkConnectionSubtypeKey.String("lte")
+ // EHRPD
+ // Stability: development
+ NetworkConnectionSubtypeEhrpd = NetworkConnectionSubtypeKey.String("ehrpd")
+ // HSPAP
+ // Stability: development
+ NetworkConnectionSubtypeHspap = NetworkConnectionSubtypeKey.String("hspap")
+ // GSM
+ // Stability: development
+ NetworkConnectionSubtypeGsm = NetworkConnectionSubtypeKey.String("gsm")
+ // TD-SCDMA
+ // Stability: development
+ NetworkConnectionSubtypeTdScdma = NetworkConnectionSubtypeKey.String("td_scdma")
+ // IWLAN
+ // Stability: development
+ NetworkConnectionSubtypeIwlan = NetworkConnectionSubtypeKey.String("iwlan")
+ // 5G NR (New Radio)
+ // Stability: development
+ NetworkConnectionSubtypeNr = NetworkConnectionSubtypeKey.String("nr")
+ // 5G NRNSA (New Radio Non-Standalone)
+ // Stability: development
+ NetworkConnectionSubtypeNrnsa = NetworkConnectionSubtypeKey.String("nrnsa")
+ // LTE CA
+ // Stability: development
+ NetworkConnectionSubtypeLteCa = NetworkConnectionSubtypeKey.String("lte_ca")
+)
+
+// Enum values for network.connection.type
+var (
+ // wifi
+ // Stability: development
+ NetworkConnectionTypeWifi = NetworkConnectionTypeKey.String("wifi")
+ // wired
+ // Stability: development
+ NetworkConnectionTypeWired = NetworkConnectionTypeKey.String("wired")
+ // cell
+ // Stability: development
+ NetworkConnectionTypeCell = NetworkConnectionTypeKey.String("cell")
+ // unavailable
+ // Stability: development
+ NetworkConnectionTypeUnavailable = NetworkConnectionTypeKey.String("unavailable")
+ // unknown
+ // Stability: development
+ NetworkConnectionTypeUnknown = NetworkConnectionTypeKey.String("unknown")
+)
+
+// Enum values for network.io.direction
+var (
+ // transmit
+ // Stability: development
+ NetworkIODirectionTransmit = NetworkIODirectionKey.String("transmit")
+ // receive
+ // Stability: development
+ NetworkIODirectionReceive = NetworkIODirectionKey.String("receive")
+)
+
+// Enum values for network.transport
+var (
+ // TCP
+ // Stability: stable
+ NetworkTransportTCP = NetworkTransportKey.String("tcp")
+ // UDP
+ // Stability: stable
+ NetworkTransportUDP = NetworkTransportKey.String("udp")
+ // Named or anonymous pipe.
+ // Stability: stable
+ NetworkTransportPipe = NetworkTransportKey.String("pipe")
+ // Unix domain socket
+ // Stability: stable
+ NetworkTransportUnix = NetworkTransportKey.String("unix")
+ // QUIC
+ // Stability: stable
+ NetworkTransportQUIC = NetworkTransportKey.String("quic")
+)
+
+// Enum values for network.type
+var (
+ // IPv4
+ // Stability: stable
+ NetworkTypeIPv4 = NetworkTypeKey.String("ipv4")
+ // IPv6
+ // Stability: stable
+ NetworkTypeIPv6 = NetworkTypeKey.String("ipv6")
+)
+
+// Namespace: oci
+const (
+ // OCIManifestDigestKey is the attribute Key conforming to the
+ // "oci.manifest.digest" semantic conventions. It represents the digest of the
+ // OCI image manifest. For container images specifically is the digest by which
+ // the container image is known.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples:
+ // "sha256:e4ca62c0d62f3e886e684806dfe9d4e0cda60d54986898173c1083856cfda0f4"
+ // Note: Follows [OCI Image Manifest Specification], and specifically the
+ // [Digest property].
+ // An example can be found in [Example Image Manifest].
+ //
+ // [OCI Image Manifest Specification]: https://github.com/opencontainers/image-spec/blob/main/manifest.md
+ // [Digest property]: https://github.com/opencontainers/image-spec/blob/main/descriptor.md#digests
+ // [Example Image Manifest]: https://github.com/opencontainers/image-spec/blob/main/manifest.md#example-image-manifest
+ OCIManifestDigestKey = attribute.Key("oci.manifest.digest")
+)
+
+// OCIManifestDigest returns an attribute KeyValue conforming to the
+// "oci.manifest.digest" semantic conventions. It represents the digest of the
+// OCI image manifest. For container images specifically is the digest by which
+// the container image is known.
+func OCIManifestDigest(val string) attribute.KeyValue {
+ return OCIManifestDigestKey.String(val)
+}
+
+// Namespace: opentracing
+const (
+ // OpenTracingRefTypeKey is the attribute Key conforming to the
+ // "opentracing.ref_type" semantic conventions. It represents the parent-child
+ // Reference type.
+ //
+ // Type: Enum
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples:
+ // Note: The causal relationship between a child Span and a parent Span.
+ OpenTracingRefTypeKey = attribute.Key("opentracing.ref_type")
+)
+
+// Enum values for opentracing.ref_type
+var (
+ // The parent Span depends on the child Span in some capacity
+ // Stability: development
+ OpenTracingRefTypeChildOf = OpenTracingRefTypeKey.String("child_of")
+ // The parent Span doesn't depend in any way on the result of the child Span
+ // Stability: development
+ OpenTracingRefTypeFollowsFrom = OpenTracingRefTypeKey.String("follows_from")
+)
+
+// Namespace: os
+const (
+ // OSBuildIDKey is the attribute Key conforming to the "os.build_id" semantic
+ // conventions. It represents the unique identifier for a particular build or
+ // compilation of the operating system.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "TQ3C.230805.001.B2", "20E247", "22621"
+ OSBuildIDKey = attribute.Key("os.build_id")
+
+ // OSDescriptionKey is the attribute Key conforming to the "os.description"
+ // semantic conventions. It represents the human readable (not intended to be
+ // parsed) OS version information, like e.g. reported by `ver` or
+ // `lsb_release -a` commands.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "Microsoft Windows [Version 10.0.18363.778]", "Ubuntu 18.04.1 LTS"
+ OSDescriptionKey = attribute.Key("os.description")
+
+ // OSNameKey is the attribute Key conforming to the "os.name" semantic
+ // conventions. It represents the human readable operating system name.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "iOS", "Android", "Ubuntu"
+ OSNameKey = attribute.Key("os.name")
+
+ // OSTypeKey is the attribute Key conforming to the "os.type" semantic
+ // conventions. It represents the operating system type.
+ //
+ // Type: Enum
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples:
+ OSTypeKey = attribute.Key("os.type")
+
+ // OSVersionKey is the attribute Key conforming to the "os.version" semantic
+ // conventions. It represents the version string of the operating system as
+ // defined in [Version Attributes].
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "14.2.1", "18.04.1"
+ //
+ // [Version Attributes]: /docs/resource/README.md#version-attributes
+ OSVersionKey = attribute.Key("os.version")
+)
+
+// OSBuildID returns an attribute KeyValue conforming to the "os.build_id"
+// semantic conventions. It represents the unique identifier for a particular
+// build or compilation of the operating system.
+func OSBuildID(val string) attribute.KeyValue {
+ return OSBuildIDKey.String(val)
+}
+
+// OSDescription returns an attribute KeyValue conforming to the "os.description"
+// semantic conventions. It represents the human readable (not intended to be
+// parsed) OS version information, like e.g. reported by `ver` or
+// `lsb_release -a` commands.
+func OSDescription(val string) attribute.KeyValue {
+ return OSDescriptionKey.String(val)
+}
+
+// OSName returns an attribute KeyValue conforming to the "os.name" semantic
+// conventions. It represents the human readable operating system name.
+func OSName(val string) attribute.KeyValue {
+ return OSNameKey.String(val)
+}
+
+// OSVersion returns an attribute KeyValue conforming to the "os.version"
+// semantic conventions. It represents the version string of the operating system
+// as defined in [Version Attributes].
+//
+// [Version Attributes]: /docs/resource/README.md#version-attributes
+func OSVersion(val string) attribute.KeyValue {
+ return OSVersionKey.String(val)
+}
+
+// Enum values for os.type
+var (
+ // Microsoft Windows
+ // Stability: development
+ OSTypeWindows = OSTypeKey.String("windows")
+ // Linux
+ // Stability: development
+ OSTypeLinux = OSTypeKey.String("linux")
+ // Apple Darwin
+ // Stability: development
+ OSTypeDarwin = OSTypeKey.String("darwin")
+ // FreeBSD
+ // Stability: development
+ OSTypeFreeBSD = OSTypeKey.String("freebsd")
+ // NetBSD
+ // Stability: development
+ OSTypeNetBSD = OSTypeKey.String("netbsd")
+ // OpenBSD
+ // Stability: development
+ OSTypeOpenBSD = OSTypeKey.String("openbsd")
+ // DragonFly BSD
+ // Stability: development
+ OSTypeDragonflyBSD = OSTypeKey.String("dragonflybsd")
+ // HP-UX (Hewlett Packard Unix)
+ // Stability: development
+ OSTypeHPUX = OSTypeKey.String("hpux")
+ // AIX (Advanced Interactive eXecutive)
+ // Stability: development
+ OSTypeAIX = OSTypeKey.String("aix")
+ // SunOS, Oracle Solaris
+ // Stability: development
+ OSTypeSolaris = OSTypeKey.String("solaris")
+ // IBM z/OS
+ // Stability: development
+ OSTypeZOS = OSTypeKey.String("z_os")
+)
+
+// Namespace: otel
+const (
+ // OTelComponentNameKey is the attribute Key conforming to the
+ // "otel.component.name" semantic conventions. It represents a name uniquely
+ // identifying the instance of the OpenTelemetry component within its containing
+ // SDK instance.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "otlp_grpc_span_exporter/0", "custom-name"
+ // Note: Implementations SHOULD ensure a low cardinality for this attribute,
+ // even across application or SDK restarts.
+ // E.g. implementations MUST NOT use UUIDs as values for this attribute.
+ //
+ // Implementations MAY achieve these goals by following a
+ // `/` pattern, e.g.
+ // `batching_span_processor/0`.
+ // Hereby `otel.component.type` refers to the corresponding attribute value of
+ // the component.
+ //
+ // The value of `instance-counter` MAY be automatically assigned by the
+ // component and uniqueness within the enclosing SDK instance MUST be
+ // guaranteed.
+ // For example, `` MAY be implemented by using a monotonically
+ // increasing counter (starting with `0`), which is incremented every time an
+ // instance of the given component type is started.
+ //
+ // With this implementation, for example the first Batching Span Processor would
+ // have `batching_span_processor/0`
+ // as `otel.component.name`, the second one `batching_span_processor/1` and so
+ // on.
+ // These values will therefore be reused in the case of an application restart.
+ OTelComponentNameKey = attribute.Key("otel.component.name")
+
+ // OTelComponentTypeKey is the attribute Key conforming to the
+ // "otel.component.type" semantic conventions. It represents a name identifying
+ // the type of the OpenTelemetry component.
+ //
+ // Type: Enum
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "batching_span_processor", "com.example.MySpanExporter"
+ // Note: If none of the standardized values apply, implementations SHOULD use
+ // the language-defined name of the type.
+ // E.g. for Java the fully qualified classname SHOULD be used in this case.
+ OTelComponentTypeKey = attribute.Key("otel.component.type")
+
+ // OTelScopeNameKey is the attribute Key conforming to the "otel.scope.name"
+ // semantic conventions. It represents the name of the instrumentation scope - (
+ // `InstrumentationScope.Name` in OTLP).
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Stable
+ //
+ // Examples: "io.opentelemetry.contrib.mongodb"
+ OTelScopeNameKey = attribute.Key("otel.scope.name")
+
+ // OTelScopeVersionKey is the attribute Key conforming to the
+ // "otel.scope.version" semantic conventions. It represents the version of the
+ // instrumentation scope - (`InstrumentationScope.Version` in OTLP).
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Stable
+ //
+ // Examples: "1.0.0"
+ OTelScopeVersionKey = attribute.Key("otel.scope.version")
+
+ // OTelSpanSamplingResultKey is the attribute Key conforming to the
+ // "otel.span.sampling_result" semantic conventions. It represents the result
+ // value of the sampler for this span.
+ //
+ // Type: Enum
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples:
+ OTelSpanSamplingResultKey = attribute.Key("otel.span.sampling_result")
+
+ // OTelStatusCodeKey is the attribute Key conforming to the "otel.status_code"
+ // semantic conventions. It represents the name of the code, either "OK" or
+ // "ERROR". MUST NOT be set if the status code is UNSET.
+ //
+ // Type: Enum
+ // RequirementLevel: Recommended
+ // Stability: Stable
+ //
+ // Examples:
+ OTelStatusCodeKey = attribute.Key("otel.status_code")
+
+ // OTelStatusDescriptionKey is the attribute Key conforming to the
+ // "otel.status_description" semantic conventions. It represents the description
+ // of the Status if it has a value, otherwise not set.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Stable
+ //
+ // Examples: "resource not found"
+ OTelStatusDescriptionKey = attribute.Key("otel.status_description")
+)
+
+// OTelComponentName returns an attribute KeyValue conforming to the
+// "otel.component.name" semantic conventions. It represents a name uniquely
+// identifying the instance of the OpenTelemetry component within its containing
+// SDK instance.
+func OTelComponentName(val string) attribute.KeyValue {
+ return OTelComponentNameKey.String(val)
+}
+
+// OTelScopeName returns an attribute KeyValue conforming to the
+// "otel.scope.name" semantic conventions. It represents the name of the
+// instrumentation scope - (`InstrumentationScope.Name` in OTLP).
+func OTelScopeName(val string) attribute.KeyValue {
+ return OTelScopeNameKey.String(val)
+}
+
+// OTelScopeVersion returns an attribute KeyValue conforming to the
+// "otel.scope.version" semantic conventions. It represents the version of the
+// instrumentation scope - (`InstrumentationScope.Version` in OTLP).
+func OTelScopeVersion(val string) attribute.KeyValue {
+ return OTelScopeVersionKey.String(val)
+}
+
+// OTelStatusDescription returns an attribute KeyValue conforming to the
+// "otel.status_description" semantic conventions. It represents the description
+// of the Status if it has a value, otherwise not set.
+func OTelStatusDescription(val string) attribute.KeyValue {
+ return OTelStatusDescriptionKey.String(val)
+}
+
+// Enum values for otel.component.type
+var (
+ // The builtin SDK batching span processor
+ //
+ // Stability: development
+ OTelComponentTypeBatchingSpanProcessor = OTelComponentTypeKey.String("batching_span_processor")
+ // The builtin SDK simple span processor
+ //
+ // Stability: development
+ OTelComponentTypeSimpleSpanProcessor = OTelComponentTypeKey.String("simple_span_processor")
+ // The builtin SDK batching log record processor
+ //
+ // Stability: development
+ OTelComponentTypeBatchingLogProcessor = OTelComponentTypeKey.String("batching_log_processor")
+ // The builtin SDK simple log record processor
+ //
+ // Stability: development
+ OTelComponentTypeSimpleLogProcessor = OTelComponentTypeKey.String("simple_log_processor")
+ // OTLP span exporter over gRPC with protobuf serialization
+ //
+ // Stability: development
+ OTelComponentTypeOtlpGRPCSpanExporter = OTelComponentTypeKey.String("otlp_grpc_span_exporter")
+ // OTLP span exporter over HTTP with protobuf serialization
+ //
+ // Stability: development
+ OTelComponentTypeOtlpHTTPSpanExporter = OTelComponentTypeKey.String("otlp_http_span_exporter")
+ // OTLP span exporter over HTTP with JSON serialization
+ //
+ // Stability: development
+ OTelComponentTypeOtlpHTTPJSONSpanExporter = OTelComponentTypeKey.String("otlp_http_json_span_exporter")
+ // OTLP log record exporter over gRPC with protobuf serialization
+ //
+ // Stability: development
+ OTelComponentTypeOtlpGRPCLogExporter = OTelComponentTypeKey.String("otlp_grpc_log_exporter")
+ // OTLP log record exporter over HTTP with protobuf serialization
+ //
+ // Stability: development
+ OTelComponentTypeOtlpHTTPLogExporter = OTelComponentTypeKey.String("otlp_http_log_exporter")
+ // OTLP log record exporter over HTTP with JSON serialization
+ //
+ // Stability: development
+ OTelComponentTypeOtlpHTTPJSONLogExporter = OTelComponentTypeKey.String("otlp_http_json_log_exporter")
+ // The builtin SDK periodically exporting metric reader
+ //
+ // Stability: development
+ OTelComponentTypePeriodicMetricReader = OTelComponentTypeKey.String("periodic_metric_reader")
+ // OTLP metric exporter over gRPC with protobuf serialization
+ //
+ // Stability: development
+ OTelComponentTypeOtlpGRPCMetricExporter = OTelComponentTypeKey.String("otlp_grpc_metric_exporter")
+ // OTLP metric exporter over HTTP with protobuf serialization
+ //
+ // Stability: development
+ OTelComponentTypeOtlpHTTPMetricExporter = OTelComponentTypeKey.String("otlp_http_metric_exporter")
+ // OTLP metric exporter over HTTP with JSON serialization
+ //
+ // Stability: development
+ OTelComponentTypeOtlpHTTPJSONMetricExporter = OTelComponentTypeKey.String("otlp_http_json_metric_exporter")
+)
+
+// Enum values for otel.span.sampling_result
+var (
+ // The span is not sampled and not recording
+ // Stability: development
+ OTelSpanSamplingResultDrop = OTelSpanSamplingResultKey.String("DROP")
+ // The span is not sampled, but recording
+ // Stability: development
+ OTelSpanSamplingResultRecordOnly = OTelSpanSamplingResultKey.String("RECORD_ONLY")
+ // The span is sampled and recording
+ // Stability: development
+ OTelSpanSamplingResultRecordAndSample = OTelSpanSamplingResultKey.String("RECORD_AND_SAMPLE")
+)
+
+// Enum values for otel.status_code
+var (
+ // The operation has been validated by an Application developer or Operator to
+ // have completed successfully.
+ // Stability: stable
+ OTelStatusCodeOk = OTelStatusCodeKey.String("OK")
+ // The operation contains an error.
+ // Stability: stable
+ OTelStatusCodeError = OTelStatusCodeKey.String("ERROR")
+)
+
+// Namespace: peer
+const (
+ // PeerServiceKey is the attribute Key conforming to the "peer.service" semantic
+ // conventions. It represents the [`service.name`] of the remote service. SHOULD
+ // be equal to the actual `service.name` resource attribute of the remote
+ // service if any.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: AuthTokenCache
+ //
+ // [`service.name`]: /docs/resource/README.md#service
+ PeerServiceKey = attribute.Key("peer.service")
+)
+
+// PeerService returns an attribute KeyValue conforming to the "peer.service"
+// semantic conventions. It represents the [`service.name`] of the remote
+// service. SHOULD be equal to the actual `service.name` resource attribute of
+// the remote service if any.
+//
+// [`service.name`]: /docs/resource/README.md#service
+func PeerService(val string) attribute.KeyValue {
+ return PeerServiceKey.String(val)
+}
+
+// Namespace: process
+const (
+ // ProcessArgsCountKey is the attribute Key conforming to the
+ // "process.args_count" semantic conventions. It represents the length of the
+ // process.command_args array.
+ //
+ // Type: int
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: 4
+ // Note: This field can be useful for querying or performing bucket analysis on
+ // how many arguments were provided to start a process. More arguments may be an
+ // indication of suspicious activity.
+ ProcessArgsCountKey = attribute.Key("process.args_count")
+
+ // ProcessCommandKey is the attribute Key conforming to the "process.command"
+ // semantic conventions. It represents the command used to launch the process
+ // (i.e. the command name). On Linux based systems, can be set to the zeroth
+ // string in `proc/[pid]/cmdline`. On Windows, can be set to the first parameter
+ // extracted from `GetCommandLineW`.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "cmd/otelcol"
+ ProcessCommandKey = attribute.Key("process.command")
+
+ // ProcessCommandArgsKey is the attribute Key conforming to the
+ // "process.command_args" semantic conventions. It represents the all the
+ // command arguments (including the command/executable itself) as received by
+ // the process. On Linux-based systems (and some other Unixoid systems
+ // supporting procfs), can be set according to the list of null-delimited
+ // strings extracted from `proc/[pid]/cmdline`. For libc-based executables, this
+ // would be the full argv vector passed to `main`. SHOULD NOT be collected by
+ // default unless there is sanitization that excludes sensitive data.
+ //
+ // Type: string[]
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "cmd/otecol", "--config=config.yaml"
+ ProcessCommandArgsKey = attribute.Key("process.command_args")
+
+ // ProcessCommandLineKey is the attribute Key conforming to the
+ // "process.command_line" semantic conventions. It represents the full command
+ // used to launch the process as a single string representing the full command.
+ // On Windows, can be set to the result of `GetCommandLineW`. Do not set this if
+ // you have to assemble it just for monitoring; use `process.command_args`
+ // instead. SHOULD NOT be collected by default unless there is sanitization that
+ // excludes sensitive data.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "C:\cmd\otecol --config="my directory\config.yaml""
+ ProcessCommandLineKey = attribute.Key("process.command_line")
+
+ // ProcessContextSwitchTypeKey is the attribute Key conforming to the
+ // "process.context_switch_type" semantic conventions. It represents the
+ // specifies whether the context switches for this data point were voluntary or
+ // involuntary.
+ //
+ // Type: Enum
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples:
+ ProcessContextSwitchTypeKey = attribute.Key("process.context_switch_type")
+
+ // ProcessCreationTimeKey is the attribute Key conforming to the
+ // "process.creation.time" semantic conventions. It represents the date and time
+ // the process was created, in ISO 8601 format.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "2023-11-21T09:25:34.853Z"
+ ProcessCreationTimeKey = attribute.Key("process.creation.time")
+
+ // ProcessExecutableBuildIDGNUKey is the attribute Key conforming to the
+ // "process.executable.build_id.gnu" semantic conventions. It represents the GNU
+ // build ID as found in the `.note.gnu.build-id` ELF section (hex string).
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "c89b11207f6479603b0d49bf291c092c2b719293"
+ ProcessExecutableBuildIDGNUKey = attribute.Key("process.executable.build_id.gnu")
+
+ // ProcessExecutableBuildIDGoKey is the attribute Key conforming to the
+ // "process.executable.build_id.go" semantic conventions. It represents the Go
+ // build ID as retrieved by `go tool buildid `.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples:
+ // "foh3mEXu7BLZjsN9pOwG/kATcXlYVCDEFouRMQed_/WwRFB1hPo9LBkekthSPG/x8hMC8emW2cCjXD0_1aY"
+ ProcessExecutableBuildIDGoKey = attribute.Key("process.executable.build_id.go")
+
+ // ProcessExecutableBuildIDHtlhashKey is the attribute Key conforming to the
+ // "process.executable.build_id.htlhash" semantic conventions. It represents the
+ // profiling specific build ID for executables. See the OTel specification for
+ // Profiles for more information.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "600DCAFE4A110000F2BF38C493F5FB92"
+ ProcessExecutableBuildIDHtlhashKey = attribute.Key("process.executable.build_id.htlhash")
+
+ // ProcessExecutableNameKey is the attribute Key conforming to the
+ // "process.executable.name" semantic conventions. It represents the name of the
+ // process executable. On Linux based systems, this SHOULD be set to the base
+ // name of the target of `/proc/[pid]/exe`. On Windows, this SHOULD be set to
+ // the base name of `GetProcessImageFileNameW`.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "otelcol"
+ ProcessExecutableNameKey = attribute.Key("process.executable.name")
+
+ // ProcessExecutablePathKey is the attribute Key conforming to the
+ // "process.executable.path" semantic conventions. It represents the full path
+ // to the process executable. On Linux based systems, can be set to the target
+ // of `proc/[pid]/exe`. On Windows, can be set to the result of
+ // `GetProcessImageFileNameW`.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "/usr/bin/cmd/otelcol"
+ ProcessExecutablePathKey = attribute.Key("process.executable.path")
+
+ // ProcessExitCodeKey is the attribute Key conforming to the "process.exit.code"
+ // semantic conventions. It represents the exit code of the process.
+ //
+ // Type: int
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: 127
+ ProcessExitCodeKey = attribute.Key("process.exit.code")
+
+ // ProcessExitTimeKey is the attribute Key conforming to the "process.exit.time"
+ // semantic conventions. It represents the date and time the process exited, in
+ // ISO 8601 format.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "2023-11-21T09:26:12.315Z"
+ ProcessExitTimeKey = attribute.Key("process.exit.time")
+
+ // ProcessGroupLeaderPIDKey is the attribute Key conforming to the
+ // "process.group_leader.pid" semantic conventions. It represents the PID of the
+ // process's group leader. This is also the process group ID (PGID) of the
+ // process.
+ //
+ // Type: int
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: 23
+ ProcessGroupLeaderPIDKey = attribute.Key("process.group_leader.pid")
+
+ // ProcessInteractiveKey is the attribute Key conforming to the
+ // "process.interactive" semantic conventions. It represents the whether the
+ // process is connected to an interactive shell.
+ //
+ // Type: boolean
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples:
+ ProcessInteractiveKey = attribute.Key("process.interactive")
+
+ // ProcessLinuxCgroupKey is the attribute Key conforming to the
+ // "process.linux.cgroup" semantic conventions. It represents the control group
+ // associated with the process.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "1:name=systemd:/user.slice/user-1000.slice/session-3.scope",
+ // "0::/user.slice/user-1000.slice/user@1000.service/tmux-spawn-0267755b-4639-4a27-90ed-f19f88e53748.scope"
+ // Note: Control groups (cgroups) are a kernel feature used to organize and
+ // manage process resources. This attribute provides the path(s) to the
+ // cgroup(s) associated with the process, which should match the contents of the
+ // [/proc/[PID]/cgroup] file.
+ //
+ // [/proc/[PID]/cgroup]: https://man7.org/linux/man-pages/man7/cgroups.7.html
+ ProcessLinuxCgroupKey = attribute.Key("process.linux.cgroup")
+
+ // ProcessOwnerKey is the attribute Key conforming to the "process.owner"
+ // semantic conventions. It represents the username of the user that owns the
+ // process.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "root"
+ ProcessOwnerKey = attribute.Key("process.owner")
+
+ // ProcessPagingFaultTypeKey is the attribute Key conforming to the
+ // "process.paging.fault_type" semantic conventions. It represents the type of
+ // page fault for this data point. Type `major` is for major/hard page faults,
+ // and `minor` is for minor/soft page faults.
+ //
+ // Type: Enum
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples:
+ ProcessPagingFaultTypeKey = attribute.Key("process.paging.fault_type")
+
+ // ProcessParentPIDKey is the attribute Key conforming to the
+ // "process.parent_pid" semantic conventions. It represents the parent Process
+ // identifier (PPID).
+ //
+ // Type: int
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: 111
+ ProcessParentPIDKey = attribute.Key("process.parent_pid")
+
+ // ProcessPIDKey is the attribute Key conforming to the "process.pid" semantic
+ // conventions. It represents the process identifier (PID).
+ //
+ // Type: int
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: 1234
+ ProcessPIDKey = attribute.Key("process.pid")
+
+ // ProcessRealUserIDKey is the attribute Key conforming to the
+ // "process.real_user.id" semantic conventions. It represents the real user ID
+ // (RUID) of the process.
+ //
+ // Type: int
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: 1000
+ ProcessRealUserIDKey = attribute.Key("process.real_user.id")
+
+ // ProcessRealUserNameKey is the attribute Key conforming to the
+ // "process.real_user.name" semantic conventions. It represents the username of
+ // the real user of the process.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "operator"
+ ProcessRealUserNameKey = attribute.Key("process.real_user.name")
+
+ // ProcessRuntimeDescriptionKey is the attribute Key conforming to the
+ // "process.runtime.description" semantic conventions. It represents an
+ // additional description about the runtime of the process, for example a
+ // specific vendor customization of the runtime environment.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: Eclipse OpenJ9 Eclipse OpenJ9 VM openj9-0.21.0
+ ProcessRuntimeDescriptionKey = attribute.Key("process.runtime.description")
+
+ // ProcessRuntimeNameKey is the attribute Key conforming to the
+ // "process.runtime.name" semantic conventions. It represents the name of the
+ // runtime of this process.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "OpenJDK Runtime Environment"
+ ProcessRuntimeNameKey = attribute.Key("process.runtime.name")
+
+ // ProcessRuntimeVersionKey is the attribute Key conforming to the
+ // "process.runtime.version" semantic conventions. It represents the version of
+ // the runtime of this process, as returned by the runtime without modification.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: 14.0.2
+ ProcessRuntimeVersionKey = attribute.Key("process.runtime.version")
+
+ // ProcessSavedUserIDKey is the attribute Key conforming to the
+ // "process.saved_user.id" semantic conventions. It represents the saved user ID
+ // (SUID) of the process.
+ //
+ // Type: int
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: 1002
+ ProcessSavedUserIDKey = attribute.Key("process.saved_user.id")
+
+ // ProcessSavedUserNameKey is the attribute Key conforming to the
+ // "process.saved_user.name" semantic conventions. It represents the username of
+ // the saved user.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "operator"
+ ProcessSavedUserNameKey = attribute.Key("process.saved_user.name")
+
+ // ProcessSessionLeaderPIDKey is the attribute Key conforming to the
+ // "process.session_leader.pid" semantic conventions. It represents the PID of
+ // the process's session leader. This is also the session ID (SID) of the
+ // process.
+ //
+ // Type: int
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: 14
+ ProcessSessionLeaderPIDKey = attribute.Key("process.session_leader.pid")
+
+ // ProcessTitleKey is the attribute Key conforming to the "process.title"
+ // semantic conventions. It represents the process title (proctitle).
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "cat /etc/hostname", "xfce4-session", "bash"
+ // Note: In many Unix-like systems, process title (proctitle), is the string
+ // that represents the name or command line of a running process, displayed by
+ // system monitoring tools like ps, top, and htop.
+ ProcessTitleKey = attribute.Key("process.title")
+
+ // ProcessUserIDKey is the attribute Key conforming to the "process.user.id"
+ // semantic conventions. It represents the effective user ID (EUID) of the
+ // process.
+ //
+ // Type: int
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: 1001
+ ProcessUserIDKey = attribute.Key("process.user.id")
+
+ // ProcessUserNameKey is the attribute Key conforming to the "process.user.name"
+ // semantic conventions. It represents the username of the effective user of the
+ // process.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "root"
+ ProcessUserNameKey = attribute.Key("process.user.name")
+
+ // ProcessVpidKey is the attribute Key conforming to the "process.vpid" semantic
+ // conventions. It represents the virtual process identifier.
+ //
+ // Type: int
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: 12
+ // Note: The process ID within a PID namespace. This is not necessarily unique
+ // across all processes on the host but it is unique within the process
+ // namespace that the process exists within.
+ ProcessVpidKey = attribute.Key("process.vpid")
+
+ // ProcessWorkingDirectoryKey is the attribute Key conforming to the
+ // "process.working_directory" semantic conventions. It represents the working
+ // directory of the process.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "/root"
+ ProcessWorkingDirectoryKey = attribute.Key("process.working_directory")
+)
+
+// ProcessArgsCount returns an attribute KeyValue conforming to the
+// "process.args_count" semantic conventions. It represents the length of the
+// process.command_args array.
+func ProcessArgsCount(val int) attribute.KeyValue {
+ return ProcessArgsCountKey.Int(val)
+}
+
+// ProcessCommand returns an attribute KeyValue conforming to the
+// "process.command" semantic conventions. It represents the command used to
+// launch the process (i.e. the command name). On Linux based systems, can be set
+// to the zeroth string in `proc/[pid]/cmdline`. On Windows, can be set to the
+// first parameter extracted from `GetCommandLineW`.
+func ProcessCommand(val string) attribute.KeyValue {
+ return ProcessCommandKey.String(val)
+}
+
+// ProcessCommandArgs returns an attribute KeyValue conforming to the
+// "process.command_args" semantic conventions. It represents the all the command
+// arguments (including the command/executable itself) as received by the
+// process. On Linux-based systems (and some other Unixoid systems supporting
+// procfs), can be set according to the list of null-delimited strings extracted
+// from `proc/[pid]/cmdline`. For libc-based executables, this would be the full
+// argv vector passed to `main`. SHOULD NOT be collected by default unless there
+// is sanitization that excludes sensitive data.
+func ProcessCommandArgs(val ...string) attribute.KeyValue {
+ return ProcessCommandArgsKey.StringSlice(val)
+}
+
+// ProcessCommandLine returns an attribute KeyValue conforming to the
+// "process.command_line" semantic conventions. It represents the full command
+// used to launch the process as a single string representing the full command.
+// On Windows, can be set to the result of `GetCommandLineW`. Do not set this if
+// you have to assemble it just for monitoring; use `process.command_args`
+// instead. SHOULD NOT be collected by default unless there is sanitization that
+// excludes sensitive data.
+func ProcessCommandLine(val string) attribute.KeyValue {
+ return ProcessCommandLineKey.String(val)
+}
+
+// ProcessCreationTime returns an attribute KeyValue conforming to the
+// "process.creation.time" semantic conventions. It represents the date and time
+// the process was created, in ISO 8601 format.
+func ProcessCreationTime(val string) attribute.KeyValue {
+ return ProcessCreationTimeKey.String(val)
+}
+
+// ProcessExecutableBuildIDGNU returns an attribute KeyValue conforming to the
+// "process.executable.build_id.gnu" semantic conventions. It represents the GNU
+// build ID as found in the `.note.gnu.build-id` ELF section (hex string).
+func ProcessExecutableBuildIDGNU(val string) attribute.KeyValue {
+ return ProcessExecutableBuildIDGNUKey.String(val)
+}
+
+// ProcessExecutableBuildIDGo returns an attribute KeyValue conforming to the
+// "process.executable.build_id.go" semantic conventions. It represents the Go
+// build ID as retrieved by `go tool buildid `.
+func ProcessExecutableBuildIDGo(val string) attribute.KeyValue {
+ return ProcessExecutableBuildIDGoKey.String(val)
+}
+
+// ProcessExecutableBuildIDHtlhash returns an attribute KeyValue conforming to
+// the "process.executable.build_id.htlhash" semantic conventions. It represents
+// the profiling specific build ID for executables. See the OTel specification
+// for Profiles for more information.
+func ProcessExecutableBuildIDHtlhash(val string) attribute.KeyValue {
+ return ProcessExecutableBuildIDHtlhashKey.String(val)
+}
+
+// ProcessExecutableName returns an attribute KeyValue conforming to the
+// "process.executable.name" semantic conventions. It represents the name of the
+// process executable. On Linux based systems, this SHOULD be set to the base
+// name of the target of `/proc/[pid]/exe`. On Windows, this SHOULD be set to the
+// base name of `GetProcessImageFileNameW`.
+func ProcessExecutableName(val string) attribute.KeyValue {
+ return ProcessExecutableNameKey.String(val)
+}
+
+// ProcessExecutablePath returns an attribute KeyValue conforming to the
+// "process.executable.path" semantic conventions. It represents the full path to
+// the process executable. On Linux based systems, can be set to the target of
+// `proc/[pid]/exe`. On Windows, can be set to the result of
+// `GetProcessImageFileNameW`.
+func ProcessExecutablePath(val string) attribute.KeyValue {
+ return ProcessExecutablePathKey.String(val)
+}
+
+// ProcessExitCode returns an attribute KeyValue conforming to the
+// "process.exit.code" semantic conventions. It represents the exit code of the
+// process.
+func ProcessExitCode(val int) attribute.KeyValue {
+ return ProcessExitCodeKey.Int(val)
+}
+
+// ProcessExitTime returns an attribute KeyValue conforming to the
+// "process.exit.time" semantic conventions. It represents the date and time the
+// process exited, in ISO 8601 format.
+func ProcessExitTime(val string) attribute.KeyValue {
+ return ProcessExitTimeKey.String(val)
+}
+
+// ProcessGroupLeaderPID returns an attribute KeyValue conforming to the
+// "process.group_leader.pid" semantic conventions. It represents the PID of the
+// process's group leader. This is also the process group ID (PGID) of the
+// process.
+func ProcessGroupLeaderPID(val int) attribute.KeyValue {
+ return ProcessGroupLeaderPIDKey.Int(val)
+}
+
+// ProcessInteractive returns an attribute KeyValue conforming to the
+// "process.interactive" semantic conventions. It represents the whether the
+// process is connected to an interactive shell.
+func ProcessInteractive(val bool) attribute.KeyValue {
+ return ProcessInteractiveKey.Bool(val)
+}
+
+// ProcessLinuxCgroup returns an attribute KeyValue conforming to the
+// "process.linux.cgroup" semantic conventions. It represents the control group
+// associated with the process.
+func ProcessLinuxCgroup(val string) attribute.KeyValue {
+ return ProcessLinuxCgroupKey.String(val)
+}
+
+// ProcessOwner returns an attribute KeyValue conforming to the "process.owner"
+// semantic conventions. It represents the username of the user that owns the
+// process.
+func ProcessOwner(val string) attribute.KeyValue {
+ return ProcessOwnerKey.String(val)
+}
+
+// ProcessParentPID returns an attribute KeyValue conforming to the
+// "process.parent_pid" semantic conventions. It represents the parent Process
+// identifier (PPID).
+func ProcessParentPID(val int) attribute.KeyValue {
+ return ProcessParentPIDKey.Int(val)
+}
+
+// ProcessPID returns an attribute KeyValue conforming to the "process.pid"
+// semantic conventions. It represents the process identifier (PID).
+func ProcessPID(val int) attribute.KeyValue {
+ return ProcessPIDKey.Int(val)
+}
+
+// ProcessRealUserID returns an attribute KeyValue conforming to the
+// "process.real_user.id" semantic conventions. It represents the real user ID
+// (RUID) of the process.
+func ProcessRealUserID(val int) attribute.KeyValue {
+ return ProcessRealUserIDKey.Int(val)
+}
+
+// ProcessRealUserName returns an attribute KeyValue conforming to the
+// "process.real_user.name" semantic conventions. It represents the username of
+// the real user of the process.
+func ProcessRealUserName(val string) attribute.KeyValue {
+ return ProcessRealUserNameKey.String(val)
+}
+
+// ProcessRuntimeDescription returns an attribute KeyValue conforming to the
+// "process.runtime.description" semantic conventions. It represents an
+// additional description about the runtime of the process, for example a
+// specific vendor customization of the runtime environment.
+func ProcessRuntimeDescription(val string) attribute.KeyValue {
+ return ProcessRuntimeDescriptionKey.String(val)
+}
+
+// ProcessRuntimeName returns an attribute KeyValue conforming to the
+// "process.runtime.name" semantic conventions. It represents the name of the
+// runtime of this process.
+func ProcessRuntimeName(val string) attribute.KeyValue {
+ return ProcessRuntimeNameKey.String(val)
+}
+
+// ProcessRuntimeVersion returns an attribute KeyValue conforming to the
+// "process.runtime.version" semantic conventions. It represents the version of
+// the runtime of this process, as returned by the runtime without modification.
+func ProcessRuntimeVersion(val string) attribute.KeyValue {
+ return ProcessRuntimeVersionKey.String(val)
+}
+
+// ProcessSavedUserID returns an attribute KeyValue conforming to the
+// "process.saved_user.id" semantic conventions. It represents the saved user ID
+// (SUID) of the process.
+func ProcessSavedUserID(val int) attribute.KeyValue {
+ return ProcessSavedUserIDKey.Int(val)
+}
+
+// ProcessSavedUserName returns an attribute KeyValue conforming to the
+// "process.saved_user.name" semantic conventions. It represents the username of
+// the saved user.
+func ProcessSavedUserName(val string) attribute.KeyValue {
+ return ProcessSavedUserNameKey.String(val)
+}
+
+// ProcessSessionLeaderPID returns an attribute KeyValue conforming to the
+// "process.session_leader.pid" semantic conventions. It represents the PID of
+// the process's session leader. This is also the session ID (SID) of the
+// process.
+func ProcessSessionLeaderPID(val int) attribute.KeyValue {
+ return ProcessSessionLeaderPIDKey.Int(val)
+}
+
+// ProcessTitle returns an attribute KeyValue conforming to the "process.title"
+// semantic conventions. It represents the process title (proctitle).
+func ProcessTitle(val string) attribute.KeyValue {
+ return ProcessTitleKey.String(val)
+}
+
+// ProcessUserID returns an attribute KeyValue conforming to the
+// "process.user.id" semantic conventions. It represents the effective user ID
+// (EUID) of the process.
+func ProcessUserID(val int) attribute.KeyValue {
+ return ProcessUserIDKey.Int(val)
+}
+
+// ProcessUserName returns an attribute KeyValue conforming to the
+// "process.user.name" semantic conventions. It represents the username of the
+// effective user of the process.
+func ProcessUserName(val string) attribute.KeyValue {
+ return ProcessUserNameKey.String(val)
+}
+
+// ProcessVpid returns an attribute KeyValue conforming to the "process.vpid"
+// semantic conventions. It represents the virtual process identifier.
+func ProcessVpid(val int) attribute.KeyValue {
+ return ProcessVpidKey.Int(val)
+}
+
+// ProcessWorkingDirectory returns an attribute KeyValue conforming to the
+// "process.working_directory" semantic conventions. It represents the working
+// directory of the process.
+func ProcessWorkingDirectory(val string) attribute.KeyValue {
+ return ProcessWorkingDirectoryKey.String(val)
+}
+
+// Enum values for process.context_switch_type
+var (
+ // voluntary
+ // Stability: development
+ ProcessContextSwitchTypeVoluntary = ProcessContextSwitchTypeKey.String("voluntary")
+ // involuntary
+ // Stability: development
+ ProcessContextSwitchTypeInvoluntary = ProcessContextSwitchTypeKey.String("involuntary")
+)
+
+// Enum values for process.paging.fault_type
+var (
+ // major
+ // Stability: development
+ ProcessPagingFaultTypeMajor = ProcessPagingFaultTypeKey.String("major")
+ // minor
+ // Stability: development
+ ProcessPagingFaultTypeMinor = ProcessPagingFaultTypeKey.String("minor")
+)
+
+// Namespace: profile
+const (
+ // ProfileFrameTypeKey is the attribute Key conforming to the
+ // "profile.frame.type" semantic conventions. It represents the describes the
+ // interpreter or compiler of a single frame.
+ //
+ // Type: Enum
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "cpython"
+ ProfileFrameTypeKey = attribute.Key("profile.frame.type")
+)
+
+// Enum values for profile.frame.type
+var (
+ // [.NET]
+ //
+ // Stability: development
+ //
+ // [.NET]: https://wikipedia.org/wiki/.NET
+ ProfileFrameTypeDotnet = ProfileFrameTypeKey.String("dotnet")
+ // [JVM]
+ //
+ // Stability: development
+ //
+ // [JVM]: https://wikipedia.org/wiki/Java_virtual_machine
+ ProfileFrameTypeJVM = ProfileFrameTypeKey.String("jvm")
+ // [Kernel]
+ //
+ // Stability: development
+ //
+ // [Kernel]: https://wikipedia.org/wiki/Kernel_(operating_system)
+ ProfileFrameTypeKernel = ProfileFrameTypeKey.String("kernel")
+ // Can be one of but not limited to [C], [C++], [Go] or [Rust]. If possible, a
+ // more precise value MUST be used.
+ //
+ // Stability: development
+ //
+ // [C]: https://wikipedia.org/wiki/C_(programming_language)
+ // [C++]: https://wikipedia.org/wiki/C%2B%2B
+ // [Go]: https://wikipedia.org/wiki/Go_(programming_language)
+ // [Rust]: https://wikipedia.org/wiki/Rust_(programming_language)
+ ProfileFrameTypeNative = ProfileFrameTypeKey.String("native")
+ // [Perl]
+ //
+ // Stability: development
+ //
+ // [Perl]: https://wikipedia.org/wiki/Perl
+ ProfileFrameTypePerl = ProfileFrameTypeKey.String("perl")
+ // [PHP]
+ //
+ // Stability: development
+ //
+ // [PHP]: https://wikipedia.org/wiki/PHP
+ ProfileFrameTypePHP = ProfileFrameTypeKey.String("php")
+ // [Python]
+ //
+ // Stability: development
+ //
+ // [Python]: https://wikipedia.org/wiki/Python_(programming_language)
+ ProfileFrameTypeCpython = ProfileFrameTypeKey.String("cpython")
+ // [Ruby]
+ //
+ // Stability: development
+ //
+ // [Ruby]: https://wikipedia.org/wiki/Ruby_(programming_language)
+ ProfileFrameTypeRuby = ProfileFrameTypeKey.String("ruby")
+ // [V8JS]
+ //
+ // Stability: development
+ //
+ // [V8JS]: https://wikipedia.org/wiki/V8_(JavaScript_engine)
+ ProfileFrameTypeV8JS = ProfileFrameTypeKey.String("v8js")
+ // [Erlang]
+ //
+ // Stability: development
+ //
+ // [Erlang]: https://en.wikipedia.org/wiki/BEAM_(Erlang_virtual_machine)
+ ProfileFrameTypeBeam = ProfileFrameTypeKey.String("beam")
+ // [Go],
+ //
+ // Stability: development
+ //
+ // [Go]: https://wikipedia.org/wiki/Go_(programming_language)
+ ProfileFrameTypeGo = ProfileFrameTypeKey.String("go")
+ // [Rust]
+ //
+ // Stability: development
+ //
+ // [Rust]: https://wikipedia.org/wiki/Rust_(programming_language)
+ ProfileFrameTypeRust = ProfileFrameTypeKey.String("rust")
+)
+
+// Namespace: rpc
+const (
+ // RPCConnectRPCErrorCodeKey is the attribute Key conforming to the
+ // "rpc.connect_rpc.error_code" semantic conventions. It represents the
+ // [error codes] of the Connect request. Error codes are always string values.
+ //
+ // Type: Enum
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples:
+ //
+ // [error codes]: https://connectrpc.com//docs/protocol/#error-codes
+ RPCConnectRPCErrorCodeKey = attribute.Key("rpc.connect_rpc.error_code")
+
+ // RPCGRPCStatusCodeKey is the attribute Key conforming to the
+ // "rpc.grpc.status_code" semantic conventions. It represents the
+ // [numeric status code] of the gRPC request.
+ //
+ // Type: Enum
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples:
+ //
+ // [numeric status code]: https://github.com/grpc/grpc/blob/v1.33.2/doc/statuscodes.md
+ RPCGRPCStatusCodeKey = attribute.Key("rpc.grpc.status_code")
+
+ // RPCJSONRPCErrorCodeKey is the attribute Key conforming to the
+ // "rpc.jsonrpc.error_code" semantic conventions. It represents the `error.code`
+ // property of response if it is an error response.
+ //
+ // Type: int
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: -32700, 100
+ RPCJSONRPCErrorCodeKey = attribute.Key("rpc.jsonrpc.error_code")
+
+ // RPCJSONRPCErrorMessageKey is the attribute Key conforming to the
+ // "rpc.jsonrpc.error_message" semantic conventions. It represents the
+ // `error.message` property of response if it is an error response.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "Parse error", "User already exists"
+ RPCJSONRPCErrorMessageKey = attribute.Key("rpc.jsonrpc.error_message")
+
+ // RPCJSONRPCRequestIDKey is the attribute Key conforming to the
+ // "rpc.jsonrpc.request_id" semantic conventions. It represents the `id`
+ // property of request or response. Since protocol allows id to be int, string,
+ // `null` or missing (for notifications), value is expected to be cast to string
+ // for simplicity. Use empty string in case of `null` value. Omit entirely if
+ // this is a notification.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "10", "request-7", ""
+ RPCJSONRPCRequestIDKey = attribute.Key("rpc.jsonrpc.request_id")
+
+ // RPCJSONRPCVersionKey is the attribute Key conforming to the
+ // "rpc.jsonrpc.version" semantic conventions. It represents the protocol
+ // version as in `jsonrpc` property of request/response. Since JSON-RPC 1.0
+ // doesn't specify this, the value can be omitted.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "2.0", "1.0"
+ RPCJSONRPCVersionKey = attribute.Key("rpc.jsonrpc.version")
+
+ // RPCMessageCompressedSizeKey is the attribute Key conforming to the
+ // "rpc.message.compressed_size" semantic conventions. It represents the
+ // compressed size of the message in bytes.
+ //
+ // Type: int
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples:
+ RPCMessageCompressedSizeKey = attribute.Key("rpc.message.compressed_size")
+
+ // RPCMessageIDKey is the attribute Key conforming to the "rpc.message.id"
+ // semantic conventions. It MUST be calculated as two different counters
+ // starting from `1` one for sent messages and one for received message..
+ //
+ // Type: int
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples:
+ // Note: This way we guarantee that the values will be consistent between
+ // different implementations.
+ RPCMessageIDKey = attribute.Key("rpc.message.id")
+
+ // RPCMessageTypeKey is the attribute Key conforming to the "rpc.message.type"
+ // semantic conventions. It represents the whether this is a received or sent
+ // message.
+ //
+ // Type: Enum
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples:
+ RPCMessageTypeKey = attribute.Key("rpc.message.type")
+
+ // RPCMessageUncompressedSizeKey is the attribute Key conforming to the
+ // "rpc.message.uncompressed_size" semantic conventions. It represents the
+ // uncompressed size of the message in bytes.
+ //
+ // Type: int
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples:
+ RPCMessageUncompressedSizeKey = attribute.Key("rpc.message.uncompressed_size")
+
+ // RPCMethodKey is the attribute Key conforming to the "rpc.method" semantic
+ // conventions. It represents the name of the (logical) method being called,
+ // must be equal to the $method part in the span name.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: exampleMethod
+ // Note: This is the logical name of the method from the RPC interface
+ // perspective, which can be different from the name of any implementing
+ // method/function. The `code.function.name` attribute may be used to store the
+ // latter (e.g., method actually executing the call on the server side, RPC
+ // client stub method on the client side).
+ RPCMethodKey = attribute.Key("rpc.method")
+
+ // RPCServiceKey is the attribute Key conforming to the "rpc.service" semantic
+ // conventions. It represents the full (logical) name of the service being
+ // called, including its package name, if applicable.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: myservice.EchoService
+ // Note: This is the logical name of the service from the RPC interface
+ // perspective, which can be different from the name of any implementing class.
+ // The `code.namespace` attribute may be used to store the latter (despite the
+ // attribute name, it may include a class name; e.g., class with method actually
+ // executing the call on the server side, RPC client stub class on the client
+ // side).
+ RPCServiceKey = attribute.Key("rpc.service")
+
+ // RPCSystemKey is the attribute Key conforming to the "rpc.system" semantic
+ // conventions. It represents a string identifying the remoting system. See
+ // below for a list of well-known identifiers.
+ //
+ // Type: Enum
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples:
+ RPCSystemKey = attribute.Key("rpc.system")
+)
+
+// RPCJSONRPCErrorCode returns an attribute KeyValue conforming to the
+// "rpc.jsonrpc.error_code" semantic conventions. It represents the `error.code`
+// property of response if it is an error response.
+func RPCJSONRPCErrorCode(val int) attribute.KeyValue {
+ return RPCJSONRPCErrorCodeKey.Int(val)
+}
+
+// RPCJSONRPCErrorMessage returns an attribute KeyValue conforming to the
+// "rpc.jsonrpc.error_message" semantic conventions. It represents the
+// `error.message` property of response if it is an error response.
+func RPCJSONRPCErrorMessage(val string) attribute.KeyValue {
+ return RPCJSONRPCErrorMessageKey.String(val)
+}
+
+// RPCJSONRPCRequestID returns an attribute KeyValue conforming to the
+// "rpc.jsonrpc.request_id" semantic conventions. It represents the `id` property
+// of request or response. Since protocol allows id to be int, string, `null` or
+// missing (for notifications), value is expected to be cast to string for
+// simplicity. Use empty string in case of `null` value. Omit entirely if this is
+// a notification.
+func RPCJSONRPCRequestID(val string) attribute.KeyValue {
+ return RPCJSONRPCRequestIDKey.String(val)
+}
+
+// RPCJSONRPCVersion returns an attribute KeyValue conforming to the
+// "rpc.jsonrpc.version" semantic conventions. It represents the protocol version
+// as in `jsonrpc` property of request/response. Since JSON-RPC 1.0 doesn't
+// specify this, the value can be omitted.
+func RPCJSONRPCVersion(val string) attribute.KeyValue {
+ return RPCJSONRPCVersionKey.String(val)
+}
+
+// RPCMessageCompressedSize returns an attribute KeyValue conforming to the
+// "rpc.message.compressed_size" semantic conventions. It represents the
+// compressed size of the message in bytes.
+func RPCMessageCompressedSize(val int) attribute.KeyValue {
+ return RPCMessageCompressedSizeKey.Int(val)
+}
+
+// RPCMessageID returns an attribute KeyValue conforming to the "rpc.message.id"
+// semantic conventions. It MUST be calculated as two different counters starting
+// from `1` one for sent messages and one for received message..
+func RPCMessageID(val int) attribute.KeyValue {
+ return RPCMessageIDKey.Int(val)
+}
+
+// RPCMessageUncompressedSize returns an attribute KeyValue conforming to the
+// "rpc.message.uncompressed_size" semantic conventions. It represents the
+// uncompressed size of the message in bytes.
+func RPCMessageUncompressedSize(val int) attribute.KeyValue {
+ return RPCMessageUncompressedSizeKey.Int(val)
+}
+
+// RPCMethod returns an attribute KeyValue conforming to the "rpc.method"
+// semantic conventions. It represents the name of the (logical) method being
+// called, must be equal to the $method part in the span name.
+func RPCMethod(val string) attribute.KeyValue {
+ return RPCMethodKey.String(val)
+}
+
+// RPCService returns an attribute KeyValue conforming to the "rpc.service"
+// semantic conventions. It represents the full (logical) name of the service
+// being called, including its package name, if applicable.
+func RPCService(val string) attribute.KeyValue {
+ return RPCServiceKey.String(val)
+}
+
+// Enum values for rpc.connect_rpc.error_code
+var (
+ // cancelled
+ // Stability: development
+ RPCConnectRPCErrorCodeCancelled = RPCConnectRPCErrorCodeKey.String("cancelled")
+ // unknown
+ // Stability: development
+ RPCConnectRPCErrorCodeUnknown = RPCConnectRPCErrorCodeKey.String("unknown")
+ // invalid_argument
+ // Stability: development
+ RPCConnectRPCErrorCodeInvalidArgument = RPCConnectRPCErrorCodeKey.String("invalid_argument")
+ // deadline_exceeded
+ // Stability: development
+ RPCConnectRPCErrorCodeDeadlineExceeded = RPCConnectRPCErrorCodeKey.String("deadline_exceeded")
+ // not_found
+ // Stability: development
+ RPCConnectRPCErrorCodeNotFound = RPCConnectRPCErrorCodeKey.String("not_found")
+ // already_exists
+ // Stability: development
+ RPCConnectRPCErrorCodeAlreadyExists = RPCConnectRPCErrorCodeKey.String("already_exists")
+ // permission_denied
+ // Stability: development
+ RPCConnectRPCErrorCodePermissionDenied = RPCConnectRPCErrorCodeKey.String("permission_denied")
+ // resource_exhausted
+ // Stability: development
+ RPCConnectRPCErrorCodeResourceExhausted = RPCConnectRPCErrorCodeKey.String("resource_exhausted")
+ // failed_precondition
+ // Stability: development
+ RPCConnectRPCErrorCodeFailedPrecondition = RPCConnectRPCErrorCodeKey.String("failed_precondition")
+ // aborted
+ // Stability: development
+ RPCConnectRPCErrorCodeAborted = RPCConnectRPCErrorCodeKey.String("aborted")
+ // out_of_range
+ // Stability: development
+ RPCConnectRPCErrorCodeOutOfRange = RPCConnectRPCErrorCodeKey.String("out_of_range")
+ // unimplemented
+ // Stability: development
+ RPCConnectRPCErrorCodeUnimplemented = RPCConnectRPCErrorCodeKey.String("unimplemented")
+ // internal
+ // Stability: development
+ RPCConnectRPCErrorCodeInternal = RPCConnectRPCErrorCodeKey.String("internal")
+ // unavailable
+ // Stability: development
+ RPCConnectRPCErrorCodeUnavailable = RPCConnectRPCErrorCodeKey.String("unavailable")
+ // data_loss
+ // Stability: development
+ RPCConnectRPCErrorCodeDataLoss = RPCConnectRPCErrorCodeKey.String("data_loss")
+ // unauthenticated
+ // Stability: development
+ RPCConnectRPCErrorCodeUnauthenticated = RPCConnectRPCErrorCodeKey.String("unauthenticated")
+)
+
+// Enum values for rpc.grpc.status_code
+var (
+ // OK
+ // Stability: development
+ RPCGRPCStatusCodeOk = RPCGRPCStatusCodeKey.Int(0)
+ // CANCELLED
+ // Stability: development
+ RPCGRPCStatusCodeCancelled = RPCGRPCStatusCodeKey.Int(1)
+ // UNKNOWN
+ // Stability: development
+ RPCGRPCStatusCodeUnknown = RPCGRPCStatusCodeKey.Int(2)
+ // INVALID_ARGUMENT
+ // Stability: development
+ RPCGRPCStatusCodeInvalidArgument = RPCGRPCStatusCodeKey.Int(3)
+ // DEADLINE_EXCEEDED
+ // Stability: development
+ RPCGRPCStatusCodeDeadlineExceeded = RPCGRPCStatusCodeKey.Int(4)
+ // NOT_FOUND
+ // Stability: development
+ RPCGRPCStatusCodeNotFound = RPCGRPCStatusCodeKey.Int(5)
+ // ALREADY_EXISTS
+ // Stability: development
+ RPCGRPCStatusCodeAlreadyExists = RPCGRPCStatusCodeKey.Int(6)
+ // PERMISSION_DENIED
+ // Stability: development
+ RPCGRPCStatusCodePermissionDenied = RPCGRPCStatusCodeKey.Int(7)
+ // RESOURCE_EXHAUSTED
+ // Stability: development
+ RPCGRPCStatusCodeResourceExhausted = RPCGRPCStatusCodeKey.Int(8)
+ // FAILED_PRECONDITION
+ // Stability: development
+ RPCGRPCStatusCodeFailedPrecondition = RPCGRPCStatusCodeKey.Int(9)
+ // ABORTED
+ // Stability: development
+ RPCGRPCStatusCodeAborted = RPCGRPCStatusCodeKey.Int(10)
+ // OUT_OF_RANGE
+ // Stability: development
+ RPCGRPCStatusCodeOutOfRange = RPCGRPCStatusCodeKey.Int(11)
+ // UNIMPLEMENTED
+ // Stability: development
+ RPCGRPCStatusCodeUnimplemented = RPCGRPCStatusCodeKey.Int(12)
+ // INTERNAL
+ // Stability: development
+ RPCGRPCStatusCodeInternal = RPCGRPCStatusCodeKey.Int(13)
+ // UNAVAILABLE
+ // Stability: development
+ RPCGRPCStatusCodeUnavailable = RPCGRPCStatusCodeKey.Int(14)
+ // DATA_LOSS
+ // Stability: development
+ RPCGRPCStatusCodeDataLoss = RPCGRPCStatusCodeKey.Int(15)
+ // UNAUTHENTICATED
+ // Stability: development
+ RPCGRPCStatusCodeUnauthenticated = RPCGRPCStatusCodeKey.Int(16)
+)
+
+// Enum values for rpc.message.type
+var (
+ // sent
+ // Stability: development
+ RPCMessageTypeSent = RPCMessageTypeKey.String("SENT")
+ // received
+ // Stability: development
+ RPCMessageTypeReceived = RPCMessageTypeKey.String("RECEIVED")
+)
+
+// Enum values for rpc.system
+var (
+ // gRPC
+ // Stability: development
+ RPCSystemGRPC = RPCSystemKey.String("grpc")
+ // Java RMI
+ // Stability: development
+ RPCSystemJavaRmi = RPCSystemKey.String("java_rmi")
+ // .NET WCF
+ // Stability: development
+ RPCSystemDotnetWcf = RPCSystemKey.String("dotnet_wcf")
+ // Apache Dubbo
+ // Stability: development
+ RPCSystemApacheDubbo = RPCSystemKey.String("apache_dubbo")
+ // Connect RPC
+ // Stability: development
+ RPCSystemConnectRPC = RPCSystemKey.String("connect_rpc")
+)
+
+// Namespace: security_rule
+const (
+ // SecurityRuleCategoryKey is the attribute Key conforming to the
+ // "security_rule.category" semantic conventions. It represents a categorization
+ // value keyword used by the entity using the rule for detection of this event.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "Attempted Information Leak"
+ SecurityRuleCategoryKey = attribute.Key("security_rule.category")
+
+ // SecurityRuleDescriptionKey is the attribute Key conforming to the
+ // "security_rule.description" semantic conventions. It represents the
+ // description of the rule generating the event.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "Block requests to public DNS over HTTPS / TLS protocols"
+ SecurityRuleDescriptionKey = attribute.Key("security_rule.description")
+
+ // SecurityRuleLicenseKey is the attribute Key conforming to the
+ // "security_rule.license" semantic conventions. It represents the name of the
+ // license under which the rule used to generate this event is made available.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "Apache 2.0"
+ SecurityRuleLicenseKey = attribute.Key("security_rule.license")
+
+ // SecurityRuleNameKey is the attribute Key conforming to the
+ // "security_rule.name" semantic conventions. It represents the name of the rule
+ // or signature generating the event.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "BLOCK_DNS_over_TLS"
+ SecurityRuleNameKey = attribute.Key("security_rule.name")
+
+ // SecurityRuleReferenceKey is the attribute Key conforming to the
+ // "security_rule.reference" semantic conventions. It represents the reference
+ // URL to additional information about the rule used to generate this event.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "https://en.wikipedia.org/wiki/DNS_over_TLS"
+ // Note: The URL can point to the vendor’s documentation about the rule. If
+ // that’s not available, it can also be a link to a more general page
+ // describing this type of alert.
+ SecurityRuleReferenceKey = attribute.Key("security_rule.reference")
+
+ // SecurityRuleRulesetNameKey is the attribute Key conforming to the
+ // "security_rule.ruleset.name" semantic conventions. It represents the name of
+ // the ruleset, policy, group, or parent category in which the rule used to
+ // generate this event is a member.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "Standard_Protocol_Filters"
+ SecurityRuleRulesetNameKey = attribute.Key("security_rule.ruleset.name")
+
+ // SecurityRuleUUIDKey is the attribute Key conforming to the
+ // "security_rule.uuid" semantic conventions. It represents a rule ID that is
+ // unique within the scope of a set or group of agents, observers, or other
+ // entities using the rule for detection of this event.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "550e8400-e29b-41d4-a716-446655440000", "1100110011"
+ SecurityRuleUUIDKey = attribute.Key("security_rule.uuid")
+
+ // SecurityRuleVersionKey is the attribute Key conforming to the
+ // "security_rule.version" semantic conventions. It represents the version /
+ // revision of the rule being used for analysis.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "1.0.0"
+ SecurityRuleVersionKey = attribute.Key("security_rule.version")
+)
+
+// SecurityRuleCategory returns an attribute KeyValue conforming to the
+// "security_rule.category" semantic conventions. It represents a categorization
+// value keyword used by the entity using the rule for detection of this event.
+func SecurityRuleCategory(val string) attribute.KeyValue {
+ return SecurityRuleCategoryKey.String(val)
+}
+
+// SecurityRuleDescription returns an attribute KeyValue conforming to the
+// "security_rule.description" semantic conventions. It represents the
+// description of the rule generating the event.
+func SecurityRuleDescription(val string) attribute.KeyValue {
+ return SecurityRuleDescriptionKey.String(val)
+}
+
+// SecurityRuleLicense returns an attribute KeyValue conforming to the
+// "security_rule.license" semantic conventions. It represents the name of the
+// license under which the rule used to generate this event is made available.
+func SecurityRuleLicense(val string) attribute.KeyValue {
+ return SecurityRuleLicenseKey.String(val)
+}
+
+// SecurityRuleName returns an attribute KeyValue conforming to the
+// "security_rule.name" semantic conventions. It represents the name of the rule
+// or signature generating the event.
+func SecurityRuleName(val string) attribute.KeyValue {
+ return SecurityRuleNameKey.String(val)
+}
+
+// SecurityRuleReference returns an attribute KeyValue conforming to the
+// "security_rule.reference" semantic conventions. It represents the reference
+// URL to additional information about the rule used to generate this event.
+func SecurityRuleReference(val string) attribute.KeyValue {
+ return SecurityRuleReferenceKey.String(val)
+}
+
+// SecurityRuleRulesetName returns an attribute KeyValue conforming to the
+// "security_rule.ruleset.name" semantic conventions. It represents the name of
+// the ruleset, policy, group, or parent category in which the rule used to
+// generate this event is a member.
+func SecurityRuleRulesetName(val string) attribute.KeyValue {
+ return SecurityRuleRulesetNameKey.String(val)
+}
+
+// SecurityRuleUUID returns an attribute KeyValue conforming to the
+// "security_rule.uuid" semantic conventions. It represents a rule ID that is
+// unique within the scope of a set or group of agents, observers, or other
+// entities using the rule for detection of this event.
+func SecurityRuleUUID(val string) attribute.KeyValue {
+ return SecurityRuleUUIDKey.String(val)
+}
+
+// SecurityRuleVersion returns an attribute KeyValue conforming to the
+// "security_rule.version" semantic conventions. It represents the version /
+// revision of the rule being used for analysis.
+func SecurityRuleVersion(val string) attribute.KeyValue {
+ return SecurityRuleVersionKey.String(val)
+}
+
+// Namespace: server
+const (
+ // ServerAddressKey is the attribute Key conforming to the "server.address"
+ // semantic conventions. It represents the server domain name if available
+ // without reverse DNS lookup; otherwise, IP address or Unix domain socket name.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Stable
+ //
+ // Examples: "example.com", "10.1.2.80", "/tmp/my.sock"
+ // Note: When observed from the client side, and when communicating through an
+ // intermediary, `server.address` SHOULD represent the server address behind any
+ // intermediaries, for example proxies, if it's available.
+ ServerAddressKey = attribute.Key("server.address")
+
+ // ServerPortKey is the attribute Key conforming to the "server.port" semantic
+ // conventions. It represents the server port number.
+ //
+ // Type: int
+ // RequirementLevel: Recommended
+ // Stability: Stable
+ //
+ // Examples: 80, 8080, 443
+ // Note: When observed from the client side, and when communicating through an
+ // intermediary, `server.port` SHOULD represent the server port behind any
+ // intermediaries, for example proxies, if it's available.
+ ServerPortKey = attribute.Key("server.port")
+)
+
+// ServerAddress returns an attribute KeyValue conforming to the "server.address"
+// semantic conventions. It represents the server domain name if available
+// without reverse DNS lookup; otherwise, IP address or Unix domain socket name.
+func ServerAddress(val string) attribute.KeyValue {
+ return ServerAddressKey.String(val)
+}
+
+// ServerPort returns an attribute KeyValue conforming to the "server.port"
+// semantic conventions. It represents the server port number.
+func ServerPort(val int) attribute.KeyValue {
+ return ServerPortKey.Int(val)
+}
+
+// Namespace: service
+const (
+ // ServiceInstanceIDKey is the attribute Key conforming to the
+ // "service.instance.id" semantic conventions. It represents the string ID of
+ // the service instance.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "627cc493-f310-47de-96bd-71410b7dec09"
+ // Note: MUST be unique for each instance of the same
+ // `service.namespace,service.name` pair (in other words
+ // `service.namespace,service.name,service.instance.id` triplet MUST be globally
+ // unique). The ID helps to
+ // distinguish instances of the same service that exist at the same time (e.g.
+ // instances of a horizontally scaled
+ // service).
+ //
+ // Implementations, such as SDKs, are recommended to generate a random Version 1
+ // or Version 4 [RFC
+ // 4122] UUID, but are free to use an inherent unique ID as
+ // the source of
+ // this value if stability is desirable. In that case, the ID SHOULD be used as
+ // source of a UUID Version 5 and
+ // SHOULD use the following UUID as the namespace:
+ // `4d63009a-8d0f-11ee-aad7-4c796ed8e320`.
+ //
+ // UUIDs are typically recommended, as only an opaque value for the purposes of
+ // identifying a service instance is
+ // needed. Similar to what can be seen in the man page for the
+ // [`/etc/machine-id`] file, the underlying
+ // data, such as pod name and namespace should be treated as confidential, being
+ // the user's choice to expose it
+ // or not via another resource attribute.
+ //
+ // For applications running behind an application server (like unicorn), we do
+ // not recommend using one identifier
+ // for all processes participating in the application. Instead, it's recommended
+ // each division (e.g. a worker
+ // thread in unicorn) to have its own instance.id.
+ //
+ // It's not recommended for a Collector to set `service.instance.id` if it can't
+ // unambiguously determine the
+ // service instance that is generating that telemetry. For instance, creating an
+ // UUID based on `pod.name` will
+ // likely be wrong, as the Collector might not know from which container within
+ // that pod the telemetry originated.
+ // However, Collectors can set the `service.instance.id` if they can
+ // unambiguously determine the service instance
+ // for that telemetry. This is typically the case for scraping receivers, as
+ // they know the target address and
+ // port.
+ //
+ // [RFC
+ // 4122]: https://www.ietf.org/rfc/rfc4122.txt
+ // [`/etc/machine-id`]: https://www.freedesktop.org/software/systemd/man/latest/machine-id.html
+ ServiceInstanceIDKey = attribute.Key("service.instance.id")
+
+ // ServiceNameKey is the attribute Key conforming to the "service.name" semantic
+ // conventions. It represents the logical name of the service.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Stable
+ //
+ // Examples: "shoppingcart"
+ // Note: MUST be the same for all instances of horizontally scaled services. If
+ // the value was not specified, SDKs MUST fallback to `unknown_service:`
+ // concatenated with [`process.executable.name`], e.g. `unknown_service:bash`.
+ // If `process.executable.name` is not available, the value MUST be set to
+ // `unknown_service`.
+ //
+ // [`process.executable.name`]: process.md
+ ServiceNameKey = attribute.Key("service.name")
+
+ // ServiceNamespaceKey is the attribute Key conforming to the
+ // "service.namespace" semantic conventions. It represents a namespace for
+ // `service.name`.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "Shop"
+ // Note: A string value having a meaning that helps to distinguish a group of
+ // services, for example the team name that owns a group of services.
+ // `service.name` is expected to be unique within the same namespace. If
+ // `service.namespace` is not specified in the Resource then `service.name` is
+ // expected to be unique for all services that have no explicit namespace
+ // defined (so the empty/unspecified namespace is simply one more valid
+ // namespace). Zero-length namespace string is assumed equal to unspecified
+ // namespace.
+ ServiceNamespaceKey = attribute.Key("service.namespace")
+
+ // ServiceVersionKey is the attribute Key conforming to the "service.version"
+ // semantic conventions. It represents the version string of the service API or
+ // implementation. The format is not defined by these conventions.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Stable
+ //
+ // Examples: "2.0.0", "a01dbef8a"
+ ServiceVersionKey = attribute.Key("service.version")
+)
+
+// ServiceInstanceID returns an attribute KeyValue conforming to the
+// "service.instance.id" semantic conventions. It represents the string ID of the
+// service instance.
+func ServiceInstanceID(val string) attribute.KeyValue {
+ return ServiceInstanceIDKey.String(val)
+}
+
+// ServiceName returns an attribute KeyValue conforming to the "service.name"
+// semantic conventions. It represents the logical name of the service.
+func ServiceName(val string) attribute.KeyValue {
+ return ServiceNameKey.String(val)
+}
+
+// ServiceNamespace returns an attribute KeyValue conforming to the
+// "service.namespace" semantic conventions. It represents a namespace for
+// `service.name`.
+func ServiceNamespace(val string) attribute.KeyValue {
+ return ServiceNamespaceKey.String(val)
+}
+
+// ServiceVersion returns an attribute KeyValue conforming to the
+// "service.version" semantic conventions. It represents the version string of
+// the service API or implementation. The format is not defined by these
+// conventions.
+func ServiceVersion(val string) attribute.KeyValue {
+ return ServiceVersionKey.String(val)
+}
+
+// Namespace: session
+const (
+ // SessionIDKey is the attribute Key conforming to the "session.id" semantic
+ // conventions. It represents a unique id to identify a session.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: 00112233-4455-6677-8899-aabbccddeeff
+ SessionIDKey = attribute.Key("session.id")
+
+ // SessionPreviousIDKey is the attribute Key conforming to the
+ // "session.previous_id" semantic conventions. It represents the previous
+ // `session.id` for this user, when known.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: 00112233-4455-6677-8899-aabbccddeeff
+ SessionPreviousIDKey = attribute.Key("session.previous_id")
+)
+
+// SessionID returns an attribute KeyValue conforming to the "session.id"
+// semantic conventions. It represents a unique id to identify a session.
+func SessionID(val string) attribute.KeyValue {
+ return SessionIDKey.String(val)
+}
+
+// SessionPreviousID returns an attribute KeyValue conforming to the
+// "session.previous_id" semantic conventions. It represents the previous
+// `session.id` for this user, when known.
+func SessionPreviousID(val string) attribute.KeyValue {
+ return SessionPreviousIDKey.String(val)
+}
+
+// Namespace: signalr
+const (
+ // SignalRConnectionStatusKey is the attribute Key conforming to the
+ // "signalr.connection.status" semantic conventions. It represents the signalR
+ // HTTP connection closure status.
+ //
+ // Type: Enum
+ // RequirementLevel: Recommended
+ // Stability: Stable
+ //
+ // Examples: "app_shutdown", "timeout"
+ SignalRConnectionStatusKey = attribute.Key("signalr.connection.status")
+
+ // SignalRTransportKey is the attribute Key conforming to the
+ // "signalr.transport" semantic conventions. It represents the
+ // [SignalR transport type].
+ //
+ // Type: Enum
+ // RequirementLevel: Recommended
+ // Stability: Stable
+ //
+ // Examples: "web_sockets", "long_polling"
+ //
+ // [SignalR transport type]: https://github.com/dotnet/aspnetcore/blob/main/src/SignalR/docs/specs/TransportProtocols.md
+ SignalRTransportKey = attribute.Key("signalr.transport")
+)
+
+// Enum values for signalr.connection.status
+var (
+ // The connection was closed normally.
+ // Stability: stable
+ SignalRConnectionStatusNormalClosure = SignalRConnectionStatusKey.String("normal_closure")
+ // The connection was closed due to a timeout.
+ // Stability: stable
+ SignalRConnectionStatusTimeout = SignalRConnectionStatusKey.String("timeout")
+ // The connection was closed because the app is shutting down.
+ // Stability: stable
+ SignalRConnectionStatusAppShutdown = SignalRConnectionStatusKey.String("app_shutdown")
+)
+
+// Enum values for signalr.transport
+var (
+ // ServerSentEvents protocol
+ // Stability: stable
+ SignalRTransportServerSentEvents = SignalRTransportKey.String("server_sent_events")
+ // LongPolling protocol
+ // Stability: stable
+ SignalRTransportLongPolling = SignalRTransportKey.String("long_polling")
+ // WebSockets protocol
+ // Stability: stable
+ SignalRTransportWebSockets = SignalRTransportKey.String("web_sockets")
+)
+
+// Namespace: source
+const (
+ // SourceAddressKey is the attribute Key conforming to the "source.address"
+ // semantic conventions. It represents the source address - domain name if
+ // available without reverse DNS lookup; otherwise, IP address or Unix domain
+ // socket name.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "source.example.com", "10.1.2.80", "/tmp/my.sock"
+ // Note: When observed from the destination side, and when communicating through
+ // an intermediary, `source.address` SHOULD represent the source address behind
+ // any intermediaries, for example proxies, if it's available.
+ SourceAddressKey = attribute.Key("source.address")
+
+ // SourcePortKey is the attribute Key conforming to the "source.port" semantic
+ // conventions. It represents the source port number.
+ //
+ // Type: int
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: 3389, 2888
+ SourcePortKey = attribute.Key("source.port")
+)
+
+// SourceAddress returns an attribute KeyValue conforming to the "source.address"
+// semantic conventions. It represents the source address - domain name if
+// available without reverse DNS lookup; otherwise, IP address or Unix domain
+// socket name.
+func SourceAddress(val string) attribute.KeyValue {
+ return SourceAddressKey.String(val)
+}
+
+// SourcePort returns an attribute KeyValue conforming to the "source.port"
+// semantic conventions. It represents the source port number.
+func SourcePort(val int) attribute.KeyValue {
+ return SourcePortKey.Int(val)
+}
+
+// Namespace: system
+const (
+ // SystemCPULogicalNumberKey is the attribute Key conforming to the
+ // "system.cpu.logical_number" semantic conventions. It represents the
+ // deprecated, use `cpu.logical_number` instead.
+ //
+ // Type: int
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: 1
+ SystemCPULogicalNumberKey = attribute.Key("system.cpu.logical_number")
+
+ // SystemDeviceKey is the attribute Key conforming to the "system.device"
+ // semantic conventions. It represents the device identifier.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "(identifier)"
+ SystemDeviceKey = attribute.Key("system.device")
+
+ // SystemFilesystemModeKey is the attribute Key conforming to the
+ // "system.filesystem.mode" semantic conventions. It represents the filesystem
+ // mode.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "rw, ro"
+ SystemFilesystemModeKey = attribute.Key("system.filesystem.mode")
+
+ // SystemFilesystemMountpointKey is the attribute Key conforming to the
+ // "system.filesystem.mountpoint" semantic conventions. It represents the
+ // filesystem mount path.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "/mnt/data"
+ SystemFilesystemMountpointKey = attribute.Key("system.filesystem.mountpoint")
+
+ // SystemFilesystemStateKey is the attribute Key conforming to the
+ // "system.filesystem.state" semantic conventions. It represents the filesystem
+ // state.
+ //
+ // Type: Enum
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "used"
+ SystemFilesystemStateKey = attribute.Key("system.filesystem.state")
+
+ // SystemFilesystemTypeKey is the attribute Key conforming to the
+ // "system.filesystem.type" semantic conventions. It represents the filesystem
+ // type.
+ //
+ // Type: Enum
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "ext4"
+ SystemFilesystemTypeKey = attribute.Key("system.filesystem.type")
+
+ // SystemMemoryStateKey is the attribute Key conforming to the
+ // "system.memory.state" semantic conventions. It represents the memory state.
+ //
+ // Type: Enum
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "free", "cached"
+ SystemMemoryStateKey = attribute.Key("system.memory.state")
+
+ // SystemPagingDirectionKey is the attribute Key conforming to the
+ // "system.paging.direction" semantic conventions. It represents the paging
+ // access direction.
+ //
+ // Type: Enum
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "in"
+ SystemPagingDirectionKey = attribute.Key("system.paging.direction")
+
+ // SystemPagingStateKey is the attribute Key conforming to the
+ // "system.paging.state" semantic conventions. It represents the memory paging
+ // state.
+ //
+ // Type: Enum
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "free"
+ SystemPagingStateKey = attribute.Key("system.paging.state")
+
+ // SystemPagingTypeKey is the attribute Key conforming to the
+ // "system.paging.type" semantic conventions. It represents the memory paging
+ // type.
+ //
+ // Type: Enum
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "minor"
+ SystemPagingTypeKey = attribute.Key("system.paging.type")
+
+ // SystemProcessStatusKey is the attribute Key conforming to the
+ // "system.process.status" semantic conventions. It represents the process
+ // state, e.g., [Linux Process State Codes].
+ //
+ // Type: Enum
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "running"
+ //
+ // [Linux Process State Codes]: https://man7.org/linux/man-pages/man1/ps.1.html#PROCESS_STATE_CODES
+ SystemProcessStatusKey = attribute.Key("system.process.status")
+)
+
+// SystemCPULogicalNumber returns an attribute KeyValue conforming to the
+// "system.cpu.logical_number" semantic conventions. It represents the
+// deprecated, use `cpu.logical_number` instead.
+func SystemCPULogicalNumber(val int) attribute.KeyValue {
+ return SystemCPULogicalNumberKey.Int(val)
+}
+
+// SystemDevice returns an attribute KeyValue conforming to the "system.device"
+// semantic conventions. It represents the device identifier.
+func SystemDevice(val string) attribute.KeyValue {
+ return SystemDeviceKey.String(val)
+}
+
+// SystemFilesystemMode returns an attribute KeyValue conforming to the
+// "system.filesystem.mode" semantic conventions. It represents the filesystem
+// mode.
+func SystemFilesystemMode(val string) attribute.KeyValue {
+ return SystemFilesystemModeKey.String(val)
+}
+
+// SystemFilesystemMountpoint returns an attribute KeyValue conforming to the
+// "system.filesystem.mountpoint" semantic conventions. It represents the
+// filesystem mount path.
+func SystemFilesystemMountpoint(val string) attribute.KeyValue {
+ return SystemFilesystemMountpointKey.String(val)
+}
+
+// Enum values for system.filesystem.state
+var (
+ // used
+ // Stability: development
+ SystemFilesystemStateUsed = SystemFilesystemStateKey.String("used")
+ // free
+ // Stability: development
+ SystemFilesystemStateFree = SystemFilesystemStateKey.String("free")
+ // reserved
+ // Stability: development
+ SystemFilesystemStateReserved = SystemFilesystemStateKey.String("reserved")
+)
+
+// Enum values for system.filesystem.type
+var (
+ // fat32
+ // Stability: development
+ SystemFilesystemTypeFat32 = SystemFilesystemTypeKey.String("fat32")
+ // exfat
+ // Stability: development
+ SystemFilesystemTypeExfat = SystemFilesystemTypeKey.String("exfat")
+ // ntfs
+ // Stability: development
+ SystemFilesystemTypeNtfs = SystemFilesystemTypeKey.String("ntfs")
+ // refs
+ // Stability: development
+ SystemFilesystemTypeRefs = SystemFilesystemTypeKey.String("refs")
+ // hfsplus
+ // Stability: development
+ SystemFilesystemTypeHfsplus = SystemFilesystemTypeKey.String("hfsplus")
+ // ext4
+ // Stability: development
+ SystemFilesystemTypeExt4 = SystemFilesystemTypeKey.String("ext4")
+)
+
+// Enum values for system.memory.state
+var (
+ // used
+ // Stability: development
+ SystemMemoryStateUsed = SystemMemoryStateKey.String("used")
+ // free
+ // Stability: development
+ SystemMemoryStateFree = SystemMemoryStateKey.String("free")
+ // Deprecated: Removed, report shared memory usage with
+ // `metric.system.memory.shared` metric.
+ SystemMemoryStateShared = SystemMemoryStateKey.String("shared")
+ // buffers
+ // Stability: development
+ SystemMemoryStateBuffers = SystemMemoryStateKey.String("buffers")
+ // cached
+ // Stability: development
+ SystemMemoryStateCached = SystemMemoryStateKey.String("cached")
+)
+
+// Enum values for system.paging.direction
+var (
+ // in
+ // Stability: development
+ SystemPagingDirectionIn = SystemPagingDirectionKey.String("in")
+ // out
+ // Stability: development
+ SystemPagingDirectionOut = SystemPagingDirectionKey.String("out")
+)
+
+// Enum values for system.paging.state
+var (
+ // used
+ // Stability: development
+ SystemPagingStateUsed = SystemPagingStateKey.String("used")
+ // free
+ // Stability: development
+ SystemPagingStateFree = SystemPagingStateKey.String("free")
+)
+
+// Enum values for system.paging.type
+var (
+ // major
+ // Stability: development
+ SystemPagingTypeMajor = SystemPagingTypeKey.String("major")
+ // minor
+ // Stability: development
+ SystemPagingTypeMinor = SystemPagingTypeKey.String("minor")
+)
+
+// Enum values for system.process.status
+var (
+ // running
+ // Stability: development
+ SystemProcessStatusRunning = SystemProcessStatusKey.String("running")
+ // sleeping
+ // Stability: development
+ SystemProcessStatusSleeping = SystemProcessStatusKey.String("sleeping")
+ // stopped
+ // Stability: development
+ SystemProcessStatusStopped = SystemProcessStatusKey.String("stopped")
+ // defunct
+ // Stability: development
+ SystemProcessStatusDefunct = SystemProcessStatusKey.String("defunct")
+)
+
+// Namespace: telemetry
+const (
+ // TelemetryDistroNameKey is the attribute Key conforming to the
+ // "telemetry.distro.name" semantic conventions. It represents the name of the
+ // auto instrumentation agent or distribution, if used.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "parts-unlimited-java"
+ // Note: Official auto instrumentation agents and distributions SHOULD set the
+ // `telemetry.distro.name` attribute to
+ // a string starting with `opentelemetry-`, e.g.
+ // `opentelemetry-java-instrumentation`.
+ TelemetryDistroNameKey = attribute.Key("telemetry.distro.name")
+
+ // TelemetryDistroVersionKey is the attribute Key conforming to the
+ // "telemetry.distro.version" semantic conventions. It represents the version
+ // string of the auto instrumentation agent or distribution, if used.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "1.2.3"
+ TelemetryDistroVersionKey = attribute.Key("telemetry.distro.version")
+
+ // TelemetrySDKLanguageKey is the attribute Key conforming to the
+ // "telemetry.sdk.language" semantic conventions. It represents the language of
+ // the telemetry SDK.
+ //
+ // Type: Enum
+ // RequirementLevel: Recommended
+ // Stability: Stable
+ //
+ // Examples:
+ TelemetrySDKLanguageKey = attribute.Key("telemetry.sdk.language")
+
+ // TelemetrySDKNameKey is the attribute Key conforming to the
+ // "telemetry.sdk.name" semantic conventions. It represents the name of the
+ // telemetry SDK as defined above.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Stable
+ //
+ // Examples: "opentelemetry"
+ // Note: The OpenTelemetry SDK MUST set the `telemetry.sdk.name` attribute to
+ // `opentelemetry`.
+ // If another SDK, like a fork or a vendor-provided implementation, is used,
+ // this SDK MUST set the
+ // `telemetry.sdk.name` attribute to the fully-qualified class or module name of
+ // this SDK's main entry point
+ // or another suitable identifier depending on the language.
+ // The identifier `opentelemetry` is reserved and MUST NOT be used in this case.
+ // All custom identifiers SHOULD be stable across different versions of an
+ // implementation.
+ TelemetrySDKNameKey = attribute.Key("telemetry.sdk.name")
+
+ // TelemetrySDKVersionKey is the attribute Key conforming to the
+ // "telemetry.sdk.version" semantic conventions. It represents the version
+ // string of the telemetry SDK.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Stable
+ //
+ // Examples: "1.2.3"
+ TelemetrySDKVersionKey = attribute.Key("telemetry.sdk.version")
+)
+
+// TelemetryDistroName returns an attribute KeyValue conforming to the
+// "telemetry.distro.name" semantic conventions. It represents the name of the
+// auto instrumentation agent or distribution, if used.
+func TelemetryDistroName(val string) attribute.KeyValue {
+ return TelemetryDistroNameKey.String(val)
+}
+
+// TelemetryDistroVersion returns an attribute KeyValue conforming to the
+// "telemetry.distro.version" semantic conventions. It represents the version
+// string of the auto instrumentation agent or distribution, if used.
+func TelemetryDistroVersion(val string) attribute.KeyValue {
+ return TelemetryDistroVersionKey.String(val)
+}
+
+// TelemetrySDKName returns an attribute KeyValue conforming to the
+// "telemetry.sdk.name" semantic conventions. It represents the name of the
+// telemetry SDK as defined above.
+func TelemetrySDKName(val string) attribute.KeyValue {
+ return TelemetrySDKNameKey.String(val)
+}
+
+// TelemetrySDKVersion returns an attribute KeyValue conforming to the
+// "telemetry.sdk.version" semantic conventions. It represents the version string
+// of the telemetry SDK.
+func TelemetrySDKVersion(val string) attribute.KeyValue {
+ return TelemetrySDKVersionKey.String(val)
+}
+
+// Enum values for telemetry.sdk.language
+var (
+ // cpp
+ // Stability: stable
+ TelemetrySDKLanguageCPP = TelemetrySDKLanguageKey.String("cpp")
+ // dotnet
+ // Stability: stable
+ TelemetrySDKLanguageDotnet = TelemetrySDKLanguageKey.String("dotnet")
+ // erlang
+ // Stability: stable
+ TelemetrySDKLanguageErlang = TelemetrySDKLanguageKey.String("erlang")
+ // go
+ // Stability: stable
+ TelemetrySDKLanguageGo = TelemetrySDKLanguageKey.String("go")
+ // java
+ // Stability: stable
+ TelemetrySDKLanguageJava = TelemetrySDKLanguageKey.String("java")
+ // nodejs
+ // Stability: stable
+ TelemetrySDKLanguageNodejs = TelemetrySDKLanguageKey.String("nodejs")
+ // php
+ // Stability: stable
+ TelemetrySDKLanguagePHP = TelemetrySDKLanguageKey.String("php")
+ // python
+ // Stability: stable
+ TelemetrySDKLanguagePython = TelemetrySDKLanguageKey.String("python")
+ // ruby
+ // Stability: stable
+ TelemetrySDKLanguageRuby = TelemetrySDKLanguageKey.String("ruby")
+ // rust
+ // Stability: stable
+ TelemetrySDKLanguageRust = TelemetrySDKLanguageKey.String("rust")
+ // swift
+ // Stability: stable
+ TelemetrySDKLanguageSwift = TelemetrySDKLanguageKey.String("swift")
+ // webjs
+ // Stability: stable
+ TelemetrySDKLanguageWebJS = TelemetrySDKLanguageKey.String("webjs")
+)
+
+// Namespace: test
+const (
+ // TestCaseNameKey is the attribute Key conforming to the "test.case.name"
+ // semantic conventions. It represents the fully qualified human readable name
+ // of the [test case].
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "org.example.TestCase1.test1", "example/tests/TestCase1.test1",
+ // "ExampleTestCase1_test1"
+ //
+ // [test case]: https://wikipedia.org/wiki/Test_case
+ TestCaseNameKey = attribute.Key("test.case.name")
+
+ // TestCaseResultStatusKey is the attribute Key conforming to the
+ // "test.case.result.status" semantic conventions. It represents the status of
+ // the actual test case result from test execution.
+ //
+ // Type: Enum
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "pass", "fail"
+ TestCaseResultStatusKey = attribute.Key("test.case.result.status")
+
+ // TestSuiteNameKey is the attribute Key conforming to the "test.suite.name"
+ // semantic conventions. It represents the human readable name of a [test suite]
+ // .
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "TestSuite1"
+ //
+ // [test suite]: https://wikipedia.org/wiki/Test_suite
+ TestSuiteNameKey = attribute.Key("test.suite.name")
+
+ // TestSuiteRunStatusKey is the attribute Key conforming to the
+ // "test.suite.run.status" semantic conventions. It represents the status of the
+ // test suite run.
+ //
+ // Type: Enum
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "success", "failure", "skipped", "aborted", "timed_out",
+ // "in_progress"
+ TestSuiteRunStatusKey = attribute.Key("test.suite.run.status")
+)
+
+// TestCaseName returns an attribute KeyValue conforming to the "test.case.name"
+// semantic conventions. It represents the fully qualified human readable name of
+// the [test case].
+//
+// [test case]: https://wikipedia.org/wiki/Test_case
+func TestCaseName(val string) attribute.KeyValue {
+ return TestCaseNameKey.String(val)
+}
+
+// TestSuiteName returns an attribute KeyValue conforming to the
+// "test.suite.name" semantic conventions. It represents the human readable name
+// of a [test suite].
+//
+// [test suite]: https://wikipedia.org/wiki/Test_suite
+func TestSuiteName(val string) attribute.KeyValue {
+ return TestSuiteNameKey.String(val)
+}
+
+// Enum values for test.case.result.status
+var (
+ // pass
+ // Stability: development
+ TestCaseResultStatusPass = TestCaseResultStatusKey.String("pass")
+ // fail
+ // Stability: development
+ TestCaseResultStatusFail = TestCaseResultStatusKey.String("fail")
+)
+
+// Enum values for test.suite.run.status
+var (
+ // success
+ // Stability: development
+ TestSuiteRunStatusSuccess = TestSuiteRunStatusKey.String("success")
+ // failure
+ // Stability: development
+ TestSuiteRunStatusFailure = TestSuiteRunStatusKey.String("failure")
+ // skipped
+ // Stability: development
+ TestSuiteRunStatusSkipped = TestSuiteRunStatusKey.String("skipped")
+ // aborted
+ // Stability: development
+ TestSuiteRunStatusAborted = TestSuiteRunStatusKey.String("aborted")
+ // timed_out
+ // Stability: development
+ TestSuiteRunStatusTimedOut = TestSuiteRunStatusKey.String("timed_out")
+ // in_progress
+ // Stability: development
+ TestSuiteRunStatusInProgress = TestSuiteRunStatusKey.String("in_progress")
+)
+
+// Namespace: thread
+const (
+ // ThreadIDKey is the attribute Key conforming to the "thread.id" semantic
+ // conventions. It represents the current "managed" thread ID (as opposed to OS
+ // thread ID).
+ //
+ // Type: int
+ // RequirementLevel: Recommended
+ // Stability: Development
+ ThreadIDKey = attribute.Key("thread.id")
+
+ // ThreadNameKey is the attribute Key conforming to the "thread.name" semantic
+ // conventions. It represents the current thread name.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: main
+ ThreadNameKey = attribute.Key("thread.name")
+)
+
+// ThreadID returns an attribute KeyValue conforming to the "thread.id" semantic
+// conventions. It represents the current "managed" thread ID (as opposed to OS
+// thread ID).
+func ThreadID(val int) attribute.KeyValue {
+ return ThreadIDKey.Int(val)
+}
+
+// ThreadName returns an attribute KeyValue conforming to the "thread.name"
+// semantic conventions. It represents the current thread name.
+func ThreadName(val string) attribute.KeyValue {
+ return ThreadNameKey.String(val)
+}
+
+// Namespace: tls
+const (
+ // TLSCipherKey is the attribute Key conforming to the "tls.cipher" semantic
+ // conventions. It represents the string indicating the [cipher] used during the
+ // current connection.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "TLS_RSA_WITH_3DES_EDE_CBC_SHA",
+ // "TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256"
+ // Note: The values allowed for `tls.cipher` MUST be one of the `Descriptions`
+ // of the [registered TLS Cipher Suits].
+ //
+ // [cipher]: https://datatracker.ietf.org/doc/html/rfc5246#appendix-A.5
+ // [registered TLS Cipher Suits]: https://www.iana.org/assignments/tls-parameters/tls-parameters.xhtml#table-tls-parameters-4
+ TLSCipherKey = attribute.Key("tls.cipher")
+
+ // TLSClientCertificateKey is the attribute Key conforming to the
+ // "tls.client.certificate" semantic conventions. It represents the PEM-encoded
+ // stand-alone certificate offered by the client. This is usually
+ // mutually-exclusive of `client.certificate_chain` since this value also exists
+ // in that list.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "MII..."
+ TLSClientCertificateKey = attribute.Key("tls.client.certificate")
+
+ // TLSClientCertificateChainKey is the attribute Key conforming to the
+ // "tls.client.certificate_chain" semantic conventions. It represents the array
+ // of PEM-encoded certificates that make up the certificate chain offered by the
+ // client. This is usually mutually-exclusive of `client.certificate` since that
+ // value should be the first certificate in the chain.
+ //
+ // Type: string[]
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "MII...", "MI..."
+ TLSClientCertificateChainKey = attribute.Key("tls.client.certificate_chain")
+
+ // TLSClientHashMd5Key is the attribute Key conforming to the
+ // "tls.client.hash.md5" semantic conventions. It represents the certificate
+ // fingerprint using the MD5 digest of DER-encoded version of certificate
+ // offered by the client. For consistency with other hash values, this value
+ // should be formatted as an uppercase hash.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "0F76C7F2C55BFD7D8E8B8F4BFBF0C9EC"
+ TLSClientHashMd5Key = attribute.Key("tls.client.hash.md5")
+
+ // TLSClientHashSha1Key is the attribute Key conforming to the
+ // "tls.client.hash.sha1" semantic conventions. It represents the certificate
+ // fingerprint using the SHA1 digest of DER-encoded version of certificate
+ // offered by the client. For consistency with other hash values, this value
+ // should be formatted as an uppercase hash.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "9E393D93138888D288266C2D915214D1D1CCEB2A"
+ TLSClientHashSha1Key = attribute.Key("tls.client.hash.sha1")
+
+ // TLSClientHashSha256Key is the attribute Key conforming to the
+ // "tls.client.hash.sha256" semantic conventions. It represents the certificate
+ // fingerprint using the SHA256 digest of DER-encoded version of certificate
+ // offered by the client. For consistency with other hash values, this value
+ // should be formatted as an uppercase hash.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "0687F666A054EF17A08E2F2162EAB4CBC0D265E1D7875BE74BF3C712CA92DAF0"
+ TLSClientHashSha256Key = attribute.Key("tls.client.hash.sha256")
+
+ // TLSClientIssuerKey is the attribute Key conforming to the "tls.client.issuer"
+ // semantic conventions. It represents the distinguished name of [subject] of
+ // the issuer of the x.509 certificate presented by the client.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "CN=Example Root CA, OU=Infrastructure Team, DC=example, DC=com"
+ //
+ // [subject]: https://datatracker.ietf.org/doc/html/rfc5280#section-4.1.2.6
+ TLSClientIssuerKey = attribute.Key("tls.client.issuer")
+
+ // TLSClientJa3Key is the attribute Key conforming to the "tls.client.ja3"
+ // semantic conventions. It represents a hash that identifies clients based on
+ // how they perform an SSL/TLS handshake.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "d4e5b18d6b55c71272893221c96ba240"
+ TLSClientJa3Key = attribute.Key("tls.client.ja3")
+
+ // TLSClientNotAfterKey is the attribute Key conforming to the
+ // "tls.client.not_after" semantic conventions. It represents the date/Time
+ // indicating when client certificate is no longer considered valid.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "2021-01-01T00:00:00.000Z"
+ TLSClientNotAfterKey = attribute.Key("tls.client.not_after")
+
+ // TLSClientNotBeforeKey is the attribute Key conforming to the
+ // "tls.client.not_before" semantic conventions. It represents the date/Time
+ // indicating when client certificate is first considered valid.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "1970-01-01T00:00:00.000Z"
+ TLSClientNotBeforeKey = attribute.Key("tls.client.not_before")
+
+ // TLSClientSubjectKey is the attribute Key conforming to the
+ // "tls.client.subject" semantic conventions. It represents the distinguished
+ // name of subject of the x.509 certificate presented by the client.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "CN=myclient, OU=Documentation Team, DC=example, DC=com"
+ TLSClientSubjectKey = attribute.Key("tls.client.subject")
+
+ // TLSClientSupportedCiphersKey is the attribute Key conforming to the
+ // "tls.client.supported_ciphers" semantic conventions. It represents the array
+ // of ciphers offered by the client during the client hello.
+ //
+ // Type: string[]
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384",
+ // "TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384"
+ TLSClientSupportedCiphersKey = attribute.Key("tls.client.supported_ciphers")
+
+ // TLSCurveKey is the attribute Key conforming to the "tls.curve" semantic
+ // conventions. It represents the string indicating the curve used for the given
+ // cipher, when applicable.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "secp256r1"
+ TLSCurveKey = attribute.Key("tls.curve")
+
+ // TLSEstablishedKey is the attribute Key conforming to the "tls.established"
+ // semantic conventions. It represents the boolean flag indicating if the TLS
+ // negotiation was successful and transitioned to an encrypted tunnel.
+ //
+ // Type: boolean
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: true
+ TLSEstablishedKey = attribute.Key("tls.established")
+
+ // TLSNextProtocolKey is the attribute Key conforming to the "tls.next_protocol"
+ // semantic conventions. It represents the string indicating the protocol being
+ // tunneled. Per the values in the [IANA registry], this string should be lower
+ // case.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "http/1.1"
+ //
+ // [IANA registry]: https://www.iana.org/assignments/tls-extensiontype-values/tls-extensiontype-values.xhtml#alpn-protocol-ids
+ TLSNextProtocolKey = attribute.Key("tls.next_protocol")
+
+ // TLSProtocolNameKey is the attribute Key conforming to the "tls.protocol.name"
+ // semantic conventions. It represents the normalized lowercase protocol name
+ // parsed from original string of the negotiated [SSL/TLS protocol version].
+ //
+ // Type: Enum
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples:
+ //
+ // [SSL/TLS protocol version]: https://docs.openssl.org/1.1.1/man3/SSL_get_version/#return-values
+ TLSProtocolNameKey = attribute.Key("tls.protocol.name")
+
+ // TLSProtocolVersionKey is the attribute Key conforming to the
+ // "tls.protocol.version" semantic conventions. It represents the numeric part
+ // of the version parsed from the original string of the negotiated
+ // [SSL/TLS protocol version].
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "1.2", "3"
+ //
+ // [SSL/TLS protocol version]: https://docs.openssl.org/1.1.1/man3/SSL_get_version/#return-values
+ TLSProtocolVersionKey = attribute.Key("tls.protocol.version")
+
+ // TLSResumedKey is the attribute Key conforming to the "tls.resumed" semantic
+ // conventions. It represents the boolean flag indicating if this TLS connection
+ // was resumed from an existing TLS negotiation.
+ //
+ // Type: boolean
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: true
+ TLSResumedKey = attribute.Key("tls.resumed")
+
+ // TLSServerCertificateKey is the attribute Key conforming to the
+ // "tls.server.certificate" semantic conventions. It represents the PEM-encoded
+ // stand-alone certificate offered by the server. This is usually
+ // mutually-exclusive of `server.certificate_chain` since this value also exists
+ // in that list.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "MII..."
+ TLSServerCertificateKey = attribute.Key("tls.server.certificate")
+
+ // TLSServerCertificateChainKey is the attribute Key conforming to the
+ // "tls.server.certificate_chain" semantic conventions. It represents the array
+ // of PEM-encoded certificates that make up the certificate chain offered by the
+ // server. This is usually mutually-exclusive of `server.certificate` since that
+ // value should be the first certificate in the chain.
+ //
+ // Type: string[]
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "MII...", "MI..."
+ TLSServerCertificateChainKey = attribute.Key("tls.server.certificate_chain")
+
+ // TLSServerHashMd5Key is the attribute Key conforming to the
+ // "tls.server.hash.md5" semantic conventions. It represents the certificate
+ // fingerprint using the MD5 digest of DER-encoded version of certificate
+ // offered by the server. For consistency with other hash values, this value
+ // should be formatted as an uppercase hash.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "0F76C7F2C55BFD7D8E8B8F4BFBF0C9EC"
+ TLSServerHashMd5Key = attribute.Key("tls.server.hash.md5")
+
+ // TLSServerHashSha1Key is the attribute Key conforming to the
+ // "tls.server.hash.sha1" semantic conventions. It represents the certificate
+ // fingerprint using the SHA1 digest of DER-encoded version of certificate
+ // offered by the server. For consistency with other hash values, this value
+ // should be formatted as an uppercase hash.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "9E393D93138888D288266C2D915214D1D1CCEB2A"
+ TLSServerHashSha1Key = attribute.Key("tls.server.hash.sha1")
+
+ // TLSServerHashSha256Key is the attribute Key conforming to the
+ // "tls.server.hash.sha256" semantic conventions. It represents the certificate
+ // fingerprint using the SHA256 digest of DER-encoded version of certificate
+ // offered by the server. For consistency with other hash values, this value
+ // should be formatted as an uppercase hash.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "0687F666A054EF17A08E2F2162EAB4CBC0D265E1D7875BE74BF3C712CA92DAF0"
+ TLSServerHashSha256Key = attribute.Key("tls.server.hash.sha256")
+
+ // TLSServerIssuerKey is the attribute Key conforming to the "tls.server.issuer"
+ // semantic conventions. It represents the distinguished name of [subject] of
+ // the issuer of the x.509 certificate presented by the client.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "CN=Example Root CA, OU=Infrastructure Team, DC=example, DC=com"
+ //
+ // [subject]: https://datatracker.ietf.org/doc/html/rfc5280#section-4.1.2.6
+ TLSServerIssuerKey = attribute.Key("tls.server.issuer")
+
+ // TLSServerJa3sKey is the attribute Key conforming to the "tls.server.ja3s"
+ // semantic conventions. It represents a hash that identifies servers based on
+ // how they perform an SSL/TLS handshake.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "d4e5b18d6b55c71272893221c96ba240"
+ TLSServerJa3sKey = attribute.Key("tls.server.ja3s")
+
+ // TLSServerNotAfterKey is the attribute Key conforming to the
+ // "tls.server.not_after" semantic conventions. It represents the date/Time
+ // indicating when server certificate is no longer considered valid.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "2021-01-01T00:00:00.000Z"
+ TLSServerNotAfterKey = attribute.Key("tls.server.not_after")
+
+ // TLSServerNotBeforeKey is the attribute Key conforming to the
+ // "tls.server.not_before" semantic conventions. It represents the date/Time
+ // indicating when server certificate is first considered valid.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "1970-01-01T00:00:00.000Z"
+ TLSServerNotBeforeKey = attribute.Key("tls.server.not_before")
+
+ // TLSServerSubjectKey is the attribute Key conforming to the
+ // "tls.server.subject" semantic conventions. It represents the distinguished
+ // name of subject of the x.509 certificate presented by the server.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "CN=myserver, OU=Documentation Team, DC=example, DC=com"
+ TLSServerSubjectKey = attribute.Key("tls.server.subject")
+)
+
+// TLSCipher returns an attribute KeyValue conforming to the "tls.cipher"
+// semantic conventions. It represents the string indicating the [cipher] used
+// during the current connection.
+//
+// [cipher]: https://datatracker.ietf.org/doc/html/rfc5246#appendix-A.5
+func TLSCipher(val string) attribute.KeyValue {
+ return TLSCipherKey.String(val)
+}
+
+// TLSClientCertificate returns an attribute KeyValue conforming to the
+// "tls.client.certificate" semantic conventions. It represents the PEM-encoded
+// stand-alone certificate offered by the client. This is usually
+// mutually-exclusive of `client.certificate_chain` since this value also exists
+// in that list.
+func TLSClientCertificate(val string) attribute.KeyValue {
+ return TLSClientCertificateKey.String(val)
+}
+
+// TLSClientCertificateChain returns an attribute KeyValue conforming to the
+// "tls.client.certificate_chain" semantic conventions. It represents the array
+// of PEM-encoded certificates that make up the certificate chain offered by the
+// client. This is usually mutually-exclusive of `client.certificate` since that
+// value should be the first certificate in the chain.
+func TLSClientCertificateChain(val ...string) attribute.KeyValue {
+ return TLSClientCertificateChainKey.StringSlice(val)
+}
+
+// TLSClientHashMd5 returns an attribute KeyValue conforming to the
+// "tls.client.hash.md5" semantic conventions. It represents the certificate
+// fingerprint using the MD5 digest of DER-encoded version of certificate offered
+// by the client. For consistency with other hash values, this value should be
+// formatted as an uppercase hash.
+func TLSClientHashMd5(val string) attribute.KeyValue {
+ return TLSClientHashMd5Key.String(val)
+}
+
+// TLSClientHashSha1 returns an attribute KeyValue conforming to the
+// "tls.client.hash.sha1" semantic conventions. It represents the certificate
+// fingerprint using the SHA1 digest of DER-encoded version of certificate
+// offered by the client. For consistency with other hash values, this value
+// should be formatted as an uppercase hash.
+func TLSClientHashSha1(val string) attribute.KeyValue {
+ return TLSClientHashSha1Key.String(val)
+}
+
+// TLSClientHashSha256 returns an attribute KeyValue conforming to the
+// "tls.client.hash.sha256" semantic conventions. It represents the certificate
+// fingerprint using the SHA256 digest of DER-encoded version of certificate
+// offered by the client. For consistency with other hash values, this value
+// should be formatted as an uppercase hash.
+func TLSClientHashSha256(val string) attribute.KeyValue {
+ return TLSClientHashSha256Key.String(val)
+}
+
+// TLSClientIssuer returns an attribute KeyValue conforming to the
+// "tls.client.issuer" semantic conventions. It represents the distinguished name
+// of [subject] of the issuer of the x.509 certificate presented by the client.
+//
+// [subject]: https://datatracker.ietf.org/doc/html/rfc5280#section-4.1.2.6
+func TLSClientIssuer(val string) attribute.KeyValue {
+ return TLSClientIssuerKey.String(val)
+}
+
+// TLSClientJa3 returns an attribute KeyValue conforming to the "tls.client.ja3"
+// semantic conventions. It represents a hash that identifies clients based on
+// how they perform an SSL/TLS handshake.
+func TLSClientJa3(val string) attribute.KeyValue {
+ return TLSClientJa3Key.String(val)
+}
+
+// TLSClientNotAfter returns an attribute KeyValue conforming to the
+// "tls.client.not_after" semantic conventions. It represents the date/Time
+// indicating when client certificate is no longer considered valid.
+func TLSClientNotAfter(val string) attribute.KeyValue {
+ return TLSClientNotAfterKey.String(val)
+}
+
+// TLSClientNotBefore returns an attribute KeyValue conforming to the
+// "tls.client.not_before" semantic conventions. It represents the date/Time
+// indicating when client certificate is first considered valid.
+func TLSClientNotBefore(val string) attribute.KeyValue {
+ return TLSClientNotBeforeKey.String(val)
+}
+
+// TLSClientSubject returns an attribute KeyValue conforming to the
+// "tls.client.subject" semantic conventions. It represents the distinguished
+// name of subject of the x.509 certificate presented by the client.
+func TLSClientSubject(val string) attribute.KeyValue {
+ return TLSClientSubjectKey.String(val)
+}
+
+// TLSClientSupportedCiphers returns an attribute KeyValue conforming to the
+// "tls.client.supported_ciphers" semantic conventions. It represents the array
+// of ciphers offered by the client during the client hello.
+func TLSClientSupportedCiphers(val ...string) attribute.KeyValue {
+ return TLSClientSupportedCiphersKey.StringSlice(val)
+}
+
+// TLSCurve returns an attribute KeyValue conforming to the "tls.curve" semantic
+// conventions. It represents the string indicating the curve used for the given
+// cipher, when applicable.
+func TLSCurve(val string) attribute.KeyValue {
+ return TLSCurveKey.String(val)
+}
+
+// TLSEstablished returns an attribute KeyValue conforming to the
+// "tls.established" semantic conventions. It represents the boolean flag
+// indicating if the TLS negotiation was successful and transitioned to an
+// encrypted tunnel.
+func TLSEstablished(val bool) attribute.KeyValue {
+ return TLSEstablishedKey.Bool(val)
+}
+
+// TLSNextProtocol returns an attribute KeyValue conforming to the
+// "tls.next_protocol" semantic conventions. It represents the string indicating
+// the protocol being tunneled. Per the values in the [IANA registry], this
+// string should be lower case.
+//
+// [IANA registry]: https://www.iana.org/assignments/tls-extensiontype-values/tls-extensiontype-values.xhtml#alpn-protocol-ids
+func TLSNextProtocol(val string) attribute.KeyValue {
+ return TLSNextProtocolKey.String(val)
+}
+
+// TLSProtocolVersion returns an attribute KeyValue conforming to the
+// "tls.protocol.version" semantic conventions. It represents the numeric part of
+// the version parsed from the original string of the negotiated
+// [SSL/TLS protocol version].
+//
+// [SSL/TLS protocol version]: https://docs.openssl.org/1.1.1/man3/SSL_get_version/#return-values
+func TLSProtocolVersion(val string) attribute.KeyValue {
+ return TLSProtocolVersionKey.String(val)
+}
+
+// TLSResumed returns an attribute KeyValue conforming to the "tls.resumed"
+// semantic conventions. It represents the boolean flag indicating if this TLS
+// connection was resumed from an existing TLS negotiation.
+func TLSResumed(val bool) attribute.KeyValue {
+ return TLSResumedKey.Bool(val)
+}
+
+// TLSServerCertificate returns an attribute KeyValue conforming to the
+// "tls.server.certificate" semantic conventions. It represents the PEM-encoded
+// stand-alone certificate offered by the server. This is usually
+// mutually-exclusive of `server.certificate_chain` since this value also exists
+// in that list.
+func TLSServerCertificate(val string) attribute.KeyValue {
+ return TLSServerCertificateKey.String(val)
+}
+
+// TLSServerCertificateChain returns an attribute KeyValue conforming to the
+// "tls.server.certificate_chain" semantic conventions. It represents the array
+// of PEM-encoded certificates that make up the certificate chain offered by the
+// server. This is usually mutually-exclusive of `server.certificate` since that
+// value should be the first certificate in the chain.
+func TLSServerCertificateChain(val ...string) attribute.KeyValue {
+ return TLSServerCertificateChainKey.StringSlice(val)
+}
+
+// TLSServerHashMd5 returns an attribute KeyValue conforming to the
+// "tls.server.hash.md5" semantic conventions. It represents the certificate
+// fingerprint using the MD5 digest of DER-encoded version of certificate offered
+// by the server. For consistency with other hash values, this value should be
+// formatted as an uppercase hash.
+func TLSServerHashMd5(val string) attribute.KeyValue {
+ return TLSServerHashMd5Key.String(val)
+}
+
+// TLSServerHashSha1 returns an attribute KeyValue conforming to the
+// "tls.server.hash.sha1" semantic conventions. It represents the certificate
+// fingerprint using the SHA1 digest of DER-encoded version of certificate
+// offered by the server. For consistency with other hash values, this value
+// should be formatted as an uppercase hash.
+func TLSServerHashSha1(val string) attribute.KeyValue {
+ return TLSServerHashSha1Key.String(val)
+}
+
+// TLSServerHashSha256 returns an attribute KeyValue conforming to the
+// "tls.server.hash.sha256" semantic conventions. It represents the certificate
+// fingerprint using the SHA256 digest of DER-encoded version of certificate
+// offered by the server. For consistency with other hash values, this value
+// should be formatted as an uppercase hash.
+func TLSServerHashSha256(val string) attribute.KeyValue {
+ return TLSServerHashSha256Key.String(val)
+}
+
+// TLSServerIssuer returns an attribute KeyValue conforming to the
+// "tls.server.issuer" semantic conventions. It represents the distinguished name
+// of [subject] of the issuer of the x.509 certificate presented by the client.
+//
+// [subject]: https://datatracker.ietf.org/doc/html/rfc5280#section-4.1.2.6
+func TLSServerIssuer(val string) attribute.KeyValue {
+ return TLSServerIssuerKey.String(val)
+}
+
+// TLSServerJa3s returns an attribute KeyValue conforming to the
+// "tls.server.ja3s" semantic conventions. It represents a hash that identifies
+// servers based on how they perform an SSL/TLS handshake.
+func TLSServerJa3s(val string) attribute.KeyValue {
+ return TLSServerJa3sKey.String(val)
+}
+
+// TLSServerNotAfter returns an attribute KeyValue conforming to the
+// "tls.server.not_after" semantic conventions. It represents the date/Time
+// indicating when server certificate is no longer considered valid.
+func TLSServerNotAfter(val string) attribute.KeyValue {
+ return TLSServerNotAfterKey.String(val)
+}
+
+// TLSServerNotBefore returns an attribute KeyValue conforming to the
+// "tls.server.not_before" semantic conventions. It represents the date/Time
+// indicating when server certificate is first considered valid.
+func TLSServerNotBefore(val string) attribute.KeyValue {
+ return TLSServerNotBeforeKey.String(val)
+}
+
+// TLSServerSubject returns an attribute KeyValue conforming to the
+// "tls.server.subject" semantic conventions. It represents the distinguished
+// name of subject of the x.509 certificate presented by the server.
+func TLSServerSubject(val string) attribute.KeyValue {
+ return TLSServerSubjectKey.String(val)
+}
+
+// Enum values for tls.protocol.name
+var (
+ // ssl
+ // Stability: development
+ TLSProtocolNameSsl = TLSProtocolNameKey.String("ssl")
+ // tls
+ // Stability: development
+ TLSProtocolNameTLS = TLSProtocolNameKey.String("tls")
+)
+
+// Namespace: url
+const (
+ // URLDomainKey is the attribute Key conforming to the "url.domain" semantic
+ // conventions. It represents the domain extracted from the `url.full`, such as
+ // "opentelemetry.io".
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "www.foo.bar", "opentelemetry.io", "3.12.167.2",
+ // "[1080:0:0:0:8:800:200C:417A]"
+ // Note: In some cases a URL may refer to an IP and/or port directly, without a
+ // domain name. In this case, the IP address would go to the domain field. If
+ // the URL contains a [literal IPv6 address] enclosed by `[` and `]`, the `[`
+ // and `]` characters should also be captured in the domain field.
+ //
+ // [literal IPv6 address]: https://www.rfc-editor.org/rfc/rfc2732#section-2
+ URLDomainKey = attribute.Key("url.domain")
+
+ // URLExtensionKey is the attribute Key conforming to the "url.extension"
+ // semantic conventions. It represents the file extension extracted from the
+ // `url.full`, excluding the leading dot.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "png", "gz"
+ // Note: The file extension is only set if it exists, as not every url has a
+ // file extension. When the file name has multiple extensions `example.tar.gz`,
+ // only the last one should be captured `gz`, not `tar.gz`.
+ URLExtensionKey = attribute.Key("url.extension")
+
+ // URLFragmentKey is the attribute Key conforming to the "url.fragment" semantic
+ // conventions. It represents the [URI fragment] component.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Stable
+ //
+ // Examples: "SemConv"
+ //
+ // [URI fragment]: https://www.rfc-editor.org/rfc/rfc3986#section-3.5
+ URLFragmentKey = attribute.Key("url.fragment")
+
+ // URLFullKey is the attribute Key conforming to the "url.full" semantic
+ // conventions. It represents the absolute URL describing a network resource
+ // according to [RFC3986].
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Stable
+ //
+ // Examples: "https://www.foo.bar/search?q=OpenTelemetry#SemConv", "//localhost"
+ // Note: For network calls, URL usually has
+ // `scheme://host[:port][path][?query][#fragment]` format, where the fragment
+ // is not transmitted over HTTP, but if it is known, it SHOULD be included
+ // nevertheless.
+ //
+ // `url.full` MUST NOT contain credentials passed via URL in form of
+ // `https://username:password@www.example.com/`.
+ // In such case username and password SHOULD be redacted and attribute's value
+ // SHOULD be `https://REDACTED:REDACTED@www.example.com/`.
+ //
+ // `url.full` SHOULD capture the absolute URL when it is available (or can be
+ // reconstructed).
+ //
+ // Sensitive content provided in `url.full` SHOULD be scrubbed when
+ // instrumentations can identify it.
+ //
+ //
+ // Query string values for the following keys SHOULD be redacted by default and
+ // replaced by the
+ // value `REDACTED`:
+ //
+ // - [`AWSAccessKeyId`]
+ // - [`Signature`]
+ // - [`sig`]
+ // - [`X-Goog-Signature`]
+ //
+ // This list is subject to change over time.
+ //
+ // When a query string value is redacted, the query string key SHOULD still be
+ // preserved, e.g.
+ // `https://www.example.com/path?color=blue&sig=REDACTED`.
+ //
+ // [RFC3986]: https://www.rfc-editor.org/rfc/rfc3986
+ // [`AWSAccessKeyId`]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/RESTAuthentication.html#RESTAuthenticationQueryStringAuth
+ // [`Signature`]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/RESTAuthentication.html#RESTAuthenticationQueryStringAuth
+ // [`sig`]: https://learn.microsoft.com/azure/storage/common/storage-sas-overview#sas-token
+ // [`X-Goog-Signature`]: https://cloud.google.com/storage/docs/access-control/signed-urls
+ URLFullKey = attribute.Key("url.full")
+
+ // URLOriginalKey is the attribute Key conforming to the "url.original" semantic
+ // conventions. It represents the unmodified original URL as seen in the event
+ // source.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "https://www.foo.bar/search?q=OpenTelemetry#SemConv",
+ // "search?q=OpenTelemetry"
+ // Note: In network monitoring, the observed URL may be a full URL, whereas in
+ // access logs, the URL is often just represented as a path. This field is meant
+ // to represent the URL as it was observed, complete or not.
+ // `url.original` might contain credentials passed via URL in form of
+ // `https://username:password@www.example.com/`. In such case password and
+ // username SHOULD NOT be redacted and attribute's value SHOULD remain the same.
+ URLOriginalKey = attribute.Key("url.original")
+
+ // URLPathKey is the attribute Key conforming to the "url.path" semantic
+ // conventions. It represents the [URI path] component.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Stable
+ //
+ // Examples: "/search"
+ // Note: Sensitive content provided in `url.path` SHOULD be scrubbed when
+ // instrumentations can identify it.
+ //
+ // [URI path]: https://www.rfc-editor.org/rfc/rfc3986#section-3.3
+ URLPathKey = attribute.Key("url.path")
+
+ // URLPortKey is the attribute Key conforming to the "url.port" semantic
+ // conventions. It represents the port extracted from the `url.full`.
+ //
+ // Type: int
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: 443
+ URLPortKey = attribute.Key("url.port")
+
+ // URLQueryKey is the attribute Key conforming to the "url.query" semantic
+ // conventions. It represents the [URI query] component.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Stable
+ //
+ // Examples: "q=OpenTelemetry"
+ // Note: Sensitive content provided in `url.query` SHOULD be scrubbed when
+ // instrumentations can identify it.
+ //
+ //
+ // Query string values for the following keys SHOULD be redacted by default and
+ // replaced by the value `REDACTED`:
+ //
+ // - [`AWSAccessKeyId`]
+ // - [`Signature`]
+ // - [`sig`]
+ // - [`X-Goog-Signature`]
+ //
+ // This list is subject to change over time.
+ //
+ // When a query string value is redacted, the query string key SHOULD still be
+ // preserved, e.g.
+ // `q=OpenTelemetry&sig=REDACTED`.
+ //
+ // [URI query]: https://www.rfc-editor.org/rfc/rfc3986#section-3.4
+ // [`AWSAccessKeyId`]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/RESTAuthentication.html#RESTAuthenticationQueryStringAuth
+ // [`Signature`]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/RESTAuthentication.html#RESTAuthenticationQueryStringAuth
+ // [`sig`]: https://learn.microsoft.com/azure/storage/common/storage-sas-overview#sas-token
+ // [`X-Goog-Signature`]: https://cloud.google.com/storage/docs/access-control/signed-urls
+ URLQueryKey = attribute.Key("url.query")
+
+ // URLRegisteredDomainKey is the attribute Key conforming to the
+ // "url.registered_domain" semantic conventions. It represents the highest
+ // registered url domain, stripped of the subdomain.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "example.com", "foo.co.uk"
+ // Note: This value can be determined precisely with the [public suffix list].
+ // For example, the registered domain for `foo.example.com` is `example.com`.
+ // Trying to approximate this by simply taking the last two labels will not work
+ // well for TLDs such as `co.uk`.
+ //
+ // [public suffix list]: https://publicsuffix.org/
+ URLRegisteredDomainKey = attribute.Key("url.registered_domain")
+
+ // URLSchemeKey is the attribute Key conforming to the "url.scheme" semantic
+ // conventions. It represents the [URI scheme] component identifying the used
+ // protocol.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Stable
+ //
+ // Examples: "https", "ftp", "telnet"
+ //
+ // [URI scheme]: https://www.rfc-editor.org/rfc/rfc3986#section-3.1
+ URLSchemeKey = attribute.Key("url.scheme")
+
+ // URLSubdomainKey is the attribute Key conforming to the "url.subdomain"
+ // semantic conventions. It represents the subdomain portion of a fully
+ // qualified domain name includes all of the names except the host name under
+ // the registered_domain. In a partially qualified domain, or if the
+ // qualification level of the full name cannot be determined, subdomain contains
+ // all of the names below the registered domain.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "east", "sub2.sub1"
+ // Note: The subdomain portion of `www.east.mydomain.co.uk` is `east`. If the
+ // domain has multiple levels of subdomain, such as `sub2.sub1.example.com`, the
+ // subdomain field should contain `sub2.sub1`, with no trailing period.
+ URLSubdomainKey = attribute.Key("url.subdomain")
+
+ // URLTemplateKey is the attribute Key conforming to the "url.template" semantic
+ // conventions. It represents the low-cardinality template of an
+ // [absolute path reference].
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "/users/{id}", "/users/:id", "/users?id={id}"
+ //
+ // [absolute path reference]: https://www.rfc-editor.org/rfc/rfc3986#section-4.2
+ URLTemplateKey = attribute.Key("url.template")
+
+ // URLTopLevelDomainKey is the attribute Key conforming to the
+ // "url.top_level_domain" semantic conventions. It represents the effective top
+ // level domain (eTLD), also known as the domain suffix, is the last part of the
+ // domain name. For example, the top level domain for example.com is `com`.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "com", "co.uk"
+ // Note: This value can be determined precisely with the [public suffix list].
+ //
+ // [public suffix list]: https://publicsuffix.org/
+ URLTopLevelDomainKey = attribute.Key("url.top_level_domain")
+)
+
+// URLDomain returns an attribute KeyValue conforming to the "url.domain"
+// semantic conventions. It represents the domain extracted from the `url.full`,
+// such as "opentelemetry.io".
+func URLDomain(val string) attribute.KeyValue {
+ return URLDomainKey.String(val)
+}
+
+// URLExtension returns an attribute KeyValue conforming to the "url.extension"
+// semantic conventions. It represents the file extension extracted from the
+// `url.full`, excluding the leading dot.
+func URLExtension(val string) attribute.KeyValue {
+ return URLExtensionKey.String(val)
+}
+
+// URLFragment returns an attribute KeyValue conforming to the "url.fragment"
+// semantic conventions. It represents the [URI fragment] component.
+//
+// [URI fragment]: https://www.rfc-editor.org/rfc/rfc3986#section-3.5
+func URLFragment(val string) attribute.KeyValue {
+ return URLFragmentKey.String(val)
+}
+
+// URLFull returns an attribute KeyValue conforming to the "url.full" semantic
+// conventions. It represents the absolute URL describing a network resource
+// according to [RFC3986].
+//
+// [RFC3986]: https://www.rfc-editor.org/rfc/rfc3986
+func URLFull(val string) attribute.KeyValue {
+ return URLFullKey.String(val)
+}
+
+// URLOriginal returns an attribute KeyValue conforming to the "url.original"
+// semantic conventions. It represents the unmodified original URL as seen in the
+// event source.
+func URLOriginal(val string) attribute.KeyValue {
+ return URLOriginalKey.String(val)
+}
+
+// URLPath returns an attribute KeyValue conforming to the "url.path" semantic
+// conventions. It represents the [URI path] component.
+//
+// [URI path]: https://www.rfc-editor.org/rfc/rfc3986#section-3.3
+func URLPath(val string) attribute.KeyValue {
+ return URLPathKey.String(val)
+}
+
+// URLPort returns an attribute KeyValue conforming to the "url.port" semantic
+// conventions. It represents the port extracted from the `url.full`.
+func URLPort(val int) attribute.KeyValue {
+ return URLPortKey.Int(val)
+}
+
+// URLQuery returns an attribute KeyValue conforming to the "url.query" semantic
+// conventions. It represents the [URI query] component.
+//
+// [URI query]: https://www.rfc-editor.org/rfc/rfc3986#section-3.4
+func URLQuery(val string) attribute.KeyValue {
+ return URLQueryKey.String(val)
+}
+
+// URLRegisteredDomain returns an attribute KeyValue conforming to the
+// "url.registered_domain" semantic conventions. It represents the highest
+// registered url domain, stripped of the subdomain.
+func URLRegisteredDomain(val string) attribute.KeyValue {
+ return URLRegisteredDomainKey.String(val)
+}
+
+// URLScheme returns an attribute KeyValue conforming to the "url.scheme"
+// semantic conventions. It represents the [URI scheme] component identifying the
+// used protocol.
+//
+// [URI scheme]: https://www.rfc-editor.org/rfc/rfc3986#section-3.1
+func URLScheme(val string) attribute.KeyValue {
+ return URLSchemeKey.String(val)
+}
+
+// URLSubdomain returns an attribute KeyValue conforming to the "url.subdomain"
+// semantic conventions. It represents the subdomain portion of a fully qualified
+// domain name includes all of the names except the host name under the
+// registered_domain. In a partially qualified domain, or if the qualification
+// level of the full name cannot be determined, subdomain contains all of the
+// names below the registered domain.
+func URLSubdomain(val string) attribute.KeyValue {
+ return URLSubdomainKey.String(val)
+}
+
+// URLTemplate returns an attribute KeyValue conforming to the "url.template"
+// semantic conventions. It represents the low-cardinality template of an
+// [absolute path reference].
+//
+// [absolute path reference]: https://www.rfc-editor.org/rfc/rfc3986#section-4.2
+func URLTemplate(val string) attribute.KeyValue {
+ return URLTemplateKey.String(val)
+}
+
+// URLTopLevelDomain returns an attribute KeyValue conforming to the
+// "url.top_level_domain" semantic conventions. It represents the effective top
+// level domain (eTLD), also known as the domain suffix, is the last part of the
+// domain name. For example, the top level domain for example.com is `com`.
+func URLTopLevelDomain(val string) attribute.KeyValue {
+ return URLTopLevelDomainKey.String(val)
+}
+
+// Namespace: user
+const (
+ // UserEmailKey is the attribute Key conforming to the "user.email" semantic
+ // conventions. It represents the user email address.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "a.einstein@example.com"
+ UserEmailKey = attribute.Key("user.email")
+
+ // UserFullNameKey is the attribute Key conforming to the "user.full_name"
+ // semantic conventions. It represents the user's full name.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "Albert Einstein"
+ UserFullNameKey = attribute.Key("user.full_name")
+
+ // UserHashKey is the attribute Key conforming to the "user.hash" semantic
+ // conventions. It represents the unique user hash to correlate information for
+ // a user in anonymized form.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "364fc68eaf4c8acec74a4e52d7d1feaa"
+ // Note: Useful if `user.id` or `user.name` contain confidential information and
+ // cannot be used.
+ UserHashKey = attribute.Key("user.hash")
+
+ // UserIDKey is the attribute Key conforming to the "user.id" semantic
+ // conventions. It represents the unique identifier of the user.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "S-1-5-21-202424912787-2692429404-2351956786-1000"
+ UserIDKey = attribute.Key("user.id")
+
+ // UserNameKey is the attribute Key conforming to the "user.name" semantic
+ // conventions. It represents the short name or login/username of the user.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "a.einstein"
+ UserNameKey = attribute.Key("user.name")
+
+ // UserRolesKey is the attribute Key conforming to the "user.roles" semantic
+ // conventions. It represents the array of user roles at the time of the event.
+ //
+ // Type: string[]
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "admin", "reporting_user"
+ UserRolesKey = attribute.Key("user.roles")
+)
+
+// UserEmail returns an attribute KeyValue conforming to the "user.email"
+// semantic conventions. It represents the user email address.
+func UserEmail(val string) attribute.KeyValue {
+ return UserEmailKey.String(val)
+}
+
+// UserFullName returns an attribute KeyValue conforming to the "user.full_name"
+// semantic conventions. It represents the user's full name.
+func UserFullName(val string) attribute.KeyValue {
+ return UserFullNameKey.String(val)
+}
+
+// UserHash returns an attribute KeyValue conforming to the "user.hash" semantic
+// conventions. It represents the unique user hash to correlate information for a
+// user in anonymized form.
+func UserHash(val string) attribute.KeyValue {
+ return UserHashKey.String(val)
+}
+
+// UserID returns an attribute KeyValue conforming to the "user.id" semantic
+// conventions. It represents the unique identifier of the user.
+func UserID(val string) attribute.KeyValue {
+ return UserIDKey.String(val)
+}
+
+// UserName returns an attribute KeyValue conforming to the "user.name" semantic
+// conventions. It represents the short name or login/username of the user.
+func UserName(val string) attribute.KeyValue {
+ return UserNameKey.String(val)
+}
+
+// UserRoles returns an attribute KeyValue conforming to the "user.roles"
+// semantic conventions. It represents the array of user roles at the time of the
+// event.
+func UserRoles(val ...string) attribute.KeyValue {
+ return UserRolesKey.StringSlice(val)
+}
+
+// Namespace: user_agent
+const (
+ // UserAgentNameKey is the attribute Key conforming to the "user_agent.name"
+ // semantic conventions. It represents the name of the user-agent extracted from
+ // original. Usually refers to the browser's name.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "Safari", "YourApp"
+ // Note: [Example] of extracting browser's name from original string. In the
+ // case of using a user-agent for non-browser products, such as microservices
+ // with multiple names/versions inside the `user_agent.original`, the most
+ // significant name SHOULD be selected. In such a scenario it should align with
+ // `user_agent.version`
+ //
+ // [Example]: https://www.whatsmyua.info
+ UserAgentNameKey = attribute.Key("user_agent.name")
+
+ // UserAgentOriginalKey is the attribute Key conforming to the
+ // "user_agent.original" semantic conventions. It represents the value of the
+ // [HTTP User-Agent] header sent by the client.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Stable
+ //
+ // Examples: "CERN-LineMode/2.15 libwww/2.17b3", "Mozilla/5.0 (iPhone; CPU
+ // iPhone OS 14_7_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko)
+ // Version/14.1.2 Mobile/15E148 Safari/604.1", "YourApp/1.0.0
+ // grpc-java-okhttp/1.27.2"
+ //
+ // [HTTP User-Agent]: https://www.rfc-editor.org/rfc/rfc9110.html#field.user-agent
+ UserAgentOriginalKey = attribute.Key("user_agent.original")
+
+ // UserAgentOSNameKey is the attribute Key conforming to the
+ // "user_agent.os.name" semantic conventions. It represents the human readable
+ // operating system name.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "iOS", "Android", "Ubuntu"
+ // Note: For mapping user agent strings to OS names, libraries such as
+ // [ua-parser] can be utilized.
+ //
+ // [ua-parser]: https://github.com/ua-parser
+ UserAgentOSNameKey = attribute.Key("user_agent.os.name")
+
+ // UserAgentOSVersionKey is the attribute Key conforming to the
+ // "user_agent.os.version" semantic conventions. It represents the version
+ // string of the operating system as defined in [Version Attributes].
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "14.2.1", "18.04.1"
+ // Note: For mapping user agent strings to OS versions, libraries such as
+ // [ua-parser] can be utilized.
+ //
+ // [Version Attributes]: /docs/resource/README.md#version-attributes
+ // [ua-parser]: https://github.com/ua-parser
+ UserAgentOSVersionKey = attribute.Key("user_agent.os.version")
+
+ // UserAgentSyntheticTypeKey is the attribute Key conforming to the
+ // "user_agent.synthetic.type" semantic conventions. It represents the specifies
+ // the category of synthetic traffic, such as tests or bots.
+ //
+ // Type: Enum
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples:
+ // Note: This attribute MAY be derived from the contents of the
+ // `user_agent.original` attribute. Components that populate the attribute are
+ // responsible for determining what they consider to be synthetic bot or test
+ // traffic. This attribute can either be set for self-identification purposes,
+ // or on telemetry detected to be generated as a result of a synthetic request.
+ // This attribute is useful for distinguishing between genuine client traffic
+ // and synthetic traffic generated by bots or tests.
+ UserAgentSyntheticTypeKey = attribute.Key("user_agent.synthetic.type")
+
+ // UserAgentVersionKey is the attribute Key conforming to the
+ // "user_agent.version" semantic conventions. It represents the version of the
+ // user-agent extracted from original. Usually refers to the browser's version.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "14.1.2", "1.0.0"
+ // Note: [Example] of extracting browser's version from original string. In the
+ // case of using a user-agent for non-browser products, such as microservices
+ // with multiple names/versions inside the `user_agent.original`, the most
+ // significant version SHOULD be selected. In such a scenario it should align
+ // with `user_agent.name`
+ //
+ // [Example]: https://www.whatsmyua.info
+ UserAgentVersionKey = attribute.Key("user_agent.version")
+)
+
+// UserAgentName returns an attribute KeyValue conforming to the
+// "user_agent.name" semantic conventions. It represents the name of the
+// user-agent extracted from original. Usually refers to the browser's name.
+func UserAgentName(val string) attribute.KeyValue {
+ return UserAgentNameKey.String(val)
+}
+
+// UserAgentOriginal returns an attribute KeyValue conforming to the
+// "user_agent.original" semantic conventions. It represents the value of the
+// [HTTP User-Agent] header sent by the client.
+//
+// [HTTP User-Agent]: https://www.rfc-editor.org/rfc/rfc9110.html#field.user-agent
+func UserAgentOriginal(val string) attribute.KeyValue {
+ return UserAgentOriginalKey.String(val)
+}
+
+// UserAgentOSName returns an attribute KeyValue conforming to the
+// "user_agent.os.name" semantic conventions. It represents the human readable
+// operating system name.
+func UserAgentOSName(val string) attribute.KeyValue {
+ return UserAgentOSNameKey.String(val)
+}
+
+// UserAgentOSVersion returns an attribute KeyValue conforming to the
+// "user_agent.os.version" semantic conventions. It represents the version string
+// of the operating system as defined in [Version Attributes].
+//
+// [Version Attributes]: /docs/resource/README.md#version-attributes
+func UserAgentOSVersion(val string) attribute.KeyValue {
+ return UserAgentOSVersionKey.String(val)
+}
+
+// UserAgentVersion returns an attribute KeyValue conforming to the
+// "user_agent.version" semantic conventions. It represents the version of the
+// user-agent extracted from original. Usually refers to the browser's version.
+func UserAgentVersion(val string) attribute.KeyValue {
+ return UserAgentVersionKey.String(val)
+}
+
+// Enum values for user_agent.synthetic.type
+var (
+ // Bot source.
+ // Stability: development
+ UserAgentSyntheticTypeBot = UserAgentSyntheticTypeKey.String("bot")
+ // Synthetic test source.
+ // Stability: development
+ UserAgentSyntheticTypeTest = UserAgentSyntheticTypeKey.String("test")
+)
+
+// Namespace: vcs
+const (
+ // VCSChangeIDKey is the attribute Key conforming to the "vcs.change.id"
+ // semantic conventions. It represents the ID of the change (pull request/merge
+ // request/changelist) if applicable. This is usually a unique (within
+ // repository) identifier generated by the VCS system.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "123"
+ VCSChangeIDKey = attribute.Key("vcs.change.id")
+
+ // VCSChangeStateKey is the attribute Key conforming to the "vcs.change.state"
+ // semantic conventions. It represents the state of the change (pull
+ // request/merge request/changelist).
+ //
+ // Type: Enum
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "open", "closed", "merged"
+ VCSChangeStateKey = attribute.Key("vcs.change.state")
+
+ // VCSChangeTitleKey is the attribute Key conforming to the "vcs.change.title"
+ // semantic conventions. It represents the human readable title of the change
+ // (pull request/merge request/changelist). This title is often a brief summary
+ // of the change and may get merged in to a ref as the commit summary.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "Fixes broken thing", "feat: add my new feature", "[chore] update
+ // dependency"
+ VCSChangeTitleKey = attribute.Key("vcs.change.title")
+
+ // VCSLineChangeTypeKey is the attribute Key conforming to the
+ // "vcs.line_change.type" semantic conventions. It represents the type of line
+ // change being measured on a branch or change.
+ //
+ // Type: Enum
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "added", "removed"
+ VCSLineChangeTypeKey = attribute.Key("vcs.line_change.type")
+
+ // VCSOwnerNameKey is the attribute Key conforming to the "vcs.owner.name"
+ // semantic conventions. It represents the group owner within the version
+ // control system.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "my-org", "myteam", "business-unit"
+ VCSOwnerNameKey = attribute.Key("vcs.owner.name")
+
+ // VCSProviderNameKey is the attribute Key conforming to the "vcs.provider.name"
+ // semantic conventions. It represents the name of the version control system
+ // provider.
+ //
+ // Type: Enum
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "github", "gitlab", "gitea", "bitbucket"
+ VCSProviderNameKey = attribute.Key("vcs.provider.name")
+
+ // VCSRefBaseNameKey is the attribute Key conforming to the "vcs.ref.base.name"
+ // semantic conventions. It represents the name of the [reference] such as
+ // **branch** or **tag** in the repository.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "my-feature-branch", "tag-1-test"
+ // Note: `base` refers to the starting point of a change. For example, `main`
+ // would be the base reference of type branch if you've created a new
+ // reference of type branch from it and created new commits.
+ //
+ // [reference]: https://git-scm.com/docs/gitglossary#def_ref
+ VCSRefBaseNameKey = attribute.Key("vcs.ref.base.name")
+
+ // VCSRefBaseRevisionKey is the attribute Key conforming to the
+ // "vcs.ref.base.revision" semantic conventions. It represents the revision,
+ // literally [revised version], The revision most often refers to a commit
+ // object in Git, or a revision number in SVN.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "9d59409acf479dfa0df1aa568182e43e43df8bbe28d60fcf2bc52e30068802cc",
+ // "main", "123", "HEAD"
+ // Note: `base` refers to the starting point of a change. For example, `main`
+ // would be the base reference of type branch if you've created a new
+ // reference of type branch from it and created new commits. The
+ // revision can be a full [hash value (see
+ // glossary)],
+ // of the recorded change to a ref within a repository pointing to a
+ // commit [commit] object. It does
+ // not necessarily have to be a hash; it can simply define a [revision
+ // number]
+ // which is an integer that is monotonically increasing. In cases where
+ // it is identical to the `ref.base.name`, it SHOULD still be included.
+ // It is up to the implementer to decide which value to set as the
+ // revision based on the VCS system and situational context.
+ //
+ // [revised version]: https://www.merriam-webster.com/dictionary/revision
+ // [hash value (see
+ // glossary)]: https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.186-5.pdf
+ // [commit]: https://git-scm.com/docs/git-commit
+ // [revision
+ // number]: https://svnbook.red-bean.com/en/1.7/svn.tour.revs.specifiers.html
+ VCSRefBaseRevisionKey = attribute.Key("vcs.ref.base.revision")
+
+ // VCSRefBaseTypeKey is the attribute Key conforming to the "vcs.ref.base.type"
+ // semantic conventions. It represents the type of the [reference] in the
+ // repository.
+ //
+ // Type: Enum
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "branch", "tag"
+ // Note: `base` refers to the starting point of a change. For example, `main`
+ // would be the base reference of type branch if you've created a new
+ // reference of type branch from it and created new commits.
+ //
+ // [reference]: https://git-scm.com/docs/gitglossary#def_ref
+ VCSRefBaseTypeKey = attribute.Key("vcs.ref.base.type")
+
+ // VCSRefHeadNameKey is the attribute Key conforming to the "vcs.ref.head.name"
+ // semantic conventions. It represents the name of the [reference] such as
+ // **branch** or **tag** in the repository.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "my-feature-branch", "tag-1-test"
+ // Note: `head` refers to where you are right now; the current reference at a
+ // given time.
+ //
+ // [reference]: https://git-scm.com/docs/gitglossary#def_ref
+ VCSRefHeadNameKey = attribute.Key("vcs.ref.head.name")
+
+ // VCSRefHeadRevisionKey is the attribute Key conforming to the
+ // "vcs.ref.head.revision" semantic conventions. It represents the revision,
+ // literally [revised version], The revision most often refers to a commit
+ // object in Git, or a revision number in SVN.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "9d59409acf479dfa0df1aa568182e43e43df8bbe28d60fcf2bc52e30068802cc",
+ // "main", "123", "HEAD"
+ // Note: `head` refers to where you are right now; the current reference at a
+ // given time.The revision can be a full [hash value (see
+ // glossary)],
+ // of the recorded change to a ref within a repository pointing to a
+ // commit [commit] object. It does
+ // not necessarily have to be a hash; it can simply define a [revision
+ // number]
+ // which is an integer that is monotonically increasing. In cases where
+ // it is identical to the `ref.head.name`, it SHOULD still be included.
+ // It is up to the implementer to decide which value to set as the
+ // revision based on the VCS system and situational context.
+ //
+ // [revised version]: https://www.merriam-webster.com/dictionary/revision
+ // [hash value (see
+ // glossary)]: https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.186-5.pdf
+ // [commit]: https://git-scm.com/docs/git-commit
+ // [revision
+ // number]: https://svnbook.red-bean.com/en/1.7/svn.tour.revs.specifiers.html
+ VCSRefHeadRevisionKey = attribute.Key("vcs.ref.head.revision")
+
+ // VCSRefHeadTypeKey is the attribute Key conforming to the "vcs.ref.head.type"
+ // semantic conventions. It represents the type of the [reference] in the
+ // repository.
+ //
+ // Type: Enum
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "branch", "tag"
+ // Note: `head` refers to where you are right now; the current reference at a
+ // given time.
+ //
+ // [reference]: https://git-scm.com/docs/gitglossary#def_ref
+ VCSRefHeadTypeKey = attribute.Key("vcs.ref.head.type")
+
+ // VCSRefTypeKey is the attribute Key conforming to the "vcs.ref.type" semantic
+ // conventions. It represents the type of the [reference] in the repository.
+ //
+ // Type: Enum
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "branch", "tag"
+ //
+ // [reference]: https://git-scm.com/docs/gitglossary#def_ref
+ VCSRefTypeKey = attribute.Key("vcs.ref.type")
+
+ // VCSRepositoryNameKey is the attribute Key conforming to the
+ // "vcs.repository.name" semantic conventions. It represents the human readable
+ // name of the repository. It SHOULD NOT include any additional identifier like
+ // Group/SubGroup in GitLab or organization in GitHub.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "semantic-conventions", "my-cool-repo"
+ // Note: Due to it only being the name, it can clash with forks of the same
+ // repository if collecting telemetry across multiple orgs or groups in
+ // the same backends.
+ VCSRepositoryNameKey = attribute.Key("vcs.repository.name")
+
+ // VCSRepositoryURLFullKey is the attribute Key conforming to the
+ // "vcs.repository.url.full" semantic conventions. It represents the
+ // [canonical URL] of the repository providing the complete HTTP(S) address in
+ // order to locate and identify the repository through a browser.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples:
+ // "https://github.com/opentelemetry/open-telemetry-collector-contrib",
+ // "https://gitlab.com/my-org/my-project/my-projects-project/repo"
+ // Note: In Git Version Control Systems, the canonical URL SHOULD NOT include
+ // the `.git` extension.
+ //
+ // [canonical URL]: https://support.google.com/webmasters/answer/10347851?hl=en#:~:text=A%20canonical%20URL%20is%20the,Google%20chooses%20one%20as%20canonical.
+ VCSRepositoryURLFullKey = attribute.Key("vcs.repository.url.full")
+
+ // VCSRevisionDeltaDirectionKey is the attribute Key conforming to the
+ // "vcs.revision_delta.direction" semantic conventions. It represents the type
+ // of revision comparison.
+ //
+ // Type: Enum
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "ahead", "behind"
+ VCSRevisionDeltaDirectionKey = attribute.Key("vcs.revision_delta.direction")
+)
+
+// VCSChangeID returns an attribute KeyValue conforming to the "vcs.change.id"
+// semantic conventions. It represents the ID of the change (pull request/merge
+// request/changelist) if applicable. This is usually a unique (within
+// repository) identifier generated by the VCS system.
+func VCSChangeID(val string) attribute.KeyValue {
+ return VCSChangeIDKey.String(val)
+}
+
+// VCSChangeTitle returns an attribute KeyValue conforming to the
+// "vcs.change.title" semantic conventions. It represents the human readable
+// title of the change (pull request/merge request/changelist). This title is
+// often a brief summary of the change and may get merged in to a ref as the
+// commit summary.
+func VCSChangeTitle(val string) attribute.KeyValue {
+ return VCSChangeTitleKey.String(val)
+}
+
+// VCSOwnerName returns an attribute KeyValue conforming to the "vcs.owner.name"
+// semantic conventions. It represents the group owner within the version control
+// system.
+func VCSOwnerName(val string) attribute.KeyValue {
+ return VCSOwnerNameKey.String(val)
+}
+
+// VCSRefBaseName returns an attribute KeyValue conforming to the
+// "vcs.ref.base.name" semantic conventions. It represents the name of the
+// [reference] such as **branch** or **tag** in the repository.
+//
+// [reference]: https://git-scm.com/docs/gitglossary#def_ref
+func VCSRefBaseName(val string) attribute.KeyValue {
+ return VCSRefBaseNameKey.String(val)
+}
+
+// VCSRefBaseRevision returns an attribute KeyValue conforming to the
+// "vcs.ref.base.revision" semantic conventions. It represents the revision,
+// literally [revised version], The revision most often refers to a commit object
+// in Git, or a revision number in SVN.
+//
+// [revised version]: https://www.merriam-webster.com/dictionary/revision
+func VCSRefBaseRevision(val string) attribute.KeyValue {
+ return VCSRefBaseRevisionKey.String(val)
+}
+
+// VCSRefHeadName returns an attribute KeyValue conforming to the
+// "vcs.ref.head.name" semantic conventions. It represents the name of the
+// [reference] such as **branch** or **tag** in the repository.
+//
+// [reference]: https://git-scm.com/docs/gitglossary#def_ref
+func VCSRefHeadName(val string) attribute.KeyValue {
+ return VCSRefHeadNameKey.String(val)
+}
+
+// VCSRefHeadRevision returns an attribute KeyValue conforming to the
+// "vcs.ref.head.revision" semantic conventions. It represents the revision,
+// literally [revised version], The revision most often refers to a commit object
+// in Git, or a revision number in SVN.
+//
+// [revised version]: https://www.merriam-webster.com/dictionary/revision
+func VCSRefHeadRevision(val string) attribute.KeyValue {
+ return VCSRefHeadRevisionKey.String(val)
+}
+
+// VCSRepositoryName returns an attribute KeyValue conforming to the
+// "vcs.repository.name" semantic conventions. It represents the human readable
+// name of the repository. It SHOULD NOT include any additional identifier like
+// Group/SubGroup in GitLab or organization in GitHub.
+func VCSRepositoryName(val string) attribute.KeyValue {
+ return VCSRepositoryNameKey.String(val)
+}
+
+// VCSRepositoryURLFull returns an attribute KeyValue conforming to the
+// "vcs.repository.url.full" semantic conventions. It represents the
+// [canonical URL] of the repository providing the complete HTTP(S) address in
+// order to locate and identify the repository through a browser.
+//
+// [canonical URL]: https://support.google.com/webmasters/answer/10347851?hl=en#:~:text=A%20canonical%20URL%20is%20the,Google%20chooses%20one%20as%20canonical.
+func VCSRepositoryURLFull(val string) attribute.KeyValue {
+ return VCSRepositoryURLFullKey.String(val)
+}
+
+// Enum values for vcs.change.state
+var (
+ // Open means the change is currently active and under review. It hasn't been
+ // merged into the target branch yet, and it's still possible to make changes or
+ // add comments.
+ // Stability: development
+ VCSChangeStateOpen = VCSChangeStateKey.String("open")
+ // WIP (work-in-progress, draft) means the change is still in progress and not
+ // yet ready for a full review. It might still undergo significant changes.
+ // Stability: development
+ VCSChangeStateWip = VCSChangeStateKey.String("wip")
+ // Closed means the merge request has been closed without merging. This can
+ // happen for various reasons, such as the changes being deemed unnecessary, the
+ // issue being resolved in another way, or the author deciding to withdraw the
+ // request.
+ // Stability: development
+ VCSChangeStateClosed = VCSChangeStateKey.String("closed")
+ // Merged indicates that the change has been successfully integrated into the
+ // target codebase.
+ // Stability: development
+ VCSChangeStateMerged = VCSChangeStateKey.String("merged")
+)
+
+// Enum values for vcs.line_change.type
+var (
+ // How many lines were added.
+ // Stability: development
+ VCSLineChangeTypeAdded = VCSLineChangeTypeKey.String("added")
+ // How many lines were removed.
+ // Stability: development
+ VCSLineChangeTypeRemoved = VCSLineChangeTypeKey.String("removed")
+)
+
+// Enum values for vcs.provider.name
+var (
+ // [GitHub]
+ // Stability: development
+ //
+ // [GitHub]: https://github.com
+ VCSProviderNameGithub = VCSProviderNameKey.String("github")
+ // [GitLab]
+ // Stability: development
+ //
+ // [GitLab]: https://gitlab.com
+ VCSProviderNameGitlab = VCSProviderNameKey.String("gitlab")
+ // Deprecated: Replaced by `gitea`.
+ VCSProviderNameGittea = VCSProviderNameKey.String("gittea")
+ // [Gitea]
+ // Stability: development
+ //
+ // [Gitea]: https://gitea.io
+ VCSProviderNameGitea = VCSProviderNameKey.String("gitea")
+ // [Bitbucket]
+ // Stability: development
+ //
+ // [Bitbucket]: https://bitbucket.org
+ VCSProviderNameBitbucket = VCSProviderNameKey.String("bitbucket")
+)
+
+// Enum values for vcs.ref.base.type
+var (
+ // [branch]
+ // Stability: development
+ //
+ // [branch]: https://git-scm.com/docs/gitglossary#Documentation/gitglossary.txt-aiddefbranchabranch
+ VCSRefBaseTypeBranch = VCSRefBaseTypeKey.String("branch")
+ // [tag]
+ // Stability: development
+ //
+ // [tag]: https://git-scm.com/docs/gitglossary#Documentation/gitglossary.txt-aiddeftagatag
+ VCSRefBaseTypeTag = VCSRefBaseTypeKey.String("tag")
+)
+
+// Enum values for vcs.ref.head.type
+var (
+ // [branch]
+ // Stability: development
+ //
+ // [branch]: https://git-scm.com/docs/gitglossary#Documentation/gitglossary.txt-aiddefbranchabranch
+ VCSRefHeadTypeBranch = VCSRefHeadTypeKey.String("branch")
+ // [tag]
+ // Stability: development
+ //
+ // [tag]: https://git-scm.com/docs/gitglossary#Documentation/gitglossary.txt-aiddeftagatag
+ VCSRefHeadTypeTag = VCSRefHeadTypeKey.String("tag")
+)
+
+// Enum values for vcs.ref.type
+var (
+ // [branch]
+ // Stability: development
+ //
+ // [branch]: https://git-scm.com/docs/gitglossary#Documentation/gitglossary.txt-aiddefbranchabranch
+ VCSRefTypeBranch = VCSRefTypeKey.String("branch")
+ // [tag]
+ // Stability: development
+ //
+ // [tag]: https://git-scm.com/docs/gitglossary#Documentation/gitglossary.txt-aiddeftagatag
+ VCSRefTypeTag = VCSRefTypeKey.String("tag")
+)
+
+// Enum values for vcs.revision_delta.direction
+var (
+ // How many revisions the change is behind the target ref.
+ // Stability: development
+ VCSRevisionDeltaDirectionBehind = VCSRevisionDeltaDirectionKey.String("behind")
+ // How many revisions the change is ahead of the target ref.
+ // Stability: development
+ VCSRevisionDeltaDirectionAhead = VCSRevisionDeltaDirectionKey.String("ahead")
+)
+
+// Namespace: webengine
+const (
+ // WebEngineDescriptionKey is the attribute Key conforming to the
+ // "webengine.description" semantic conventions. It represents the additional
+ // description of the web engine (e.g. detailed version and edition
+ // information).
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "WildFly Full 21.0.0.Final (WildFly Core 13.0.1.Final) -
+ // 2.2.2.Final"
+ WebEngineDescriptionKey = attribute.Key("webengine.description")
+
+ // WebEngineNameKey is the attribute Key conforming to the "webengine.name"
+ // semantic conventions. It represents the name of the web engine.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "WildFly"
+ WebEngineNameKey = attribute.Key("webengine.name")
+
+ // WebEngineVersionKey is the attribute Key conforming to the
+ // "webengine.version" semantic conventions. It represents the version of the
+ // web engine.
+ //
+ // Type: string
+ // RequirementLevel: Recommended
+ // Stability: Development
+ //
+ // Examples: "21.0.0"
+ WebEngineVersionKey = attribute.Key("webengine.version")
+)
+
+// WebEngineDescription returns an attribute KeyValue conforming to the
+// "webengine.description" semantic conventions. It represents the additional
+// description of the web engine (e.g. detailed version and edition information).
+func WebEngineDescription(val string) attribute.KeyValue {
+ return WebEngineDescriptionKey.String(val)
+}
+
+// WebEngineName returns an attribute KeyValue conforming to the "webengine.name"
+// semantic conventions. It represents the name of the web engine.
+func WebEngineName(val string) attribute.KeyValue {
+ return WebEngineNameKey.String(val)
+}
+
+// WebEngineVersion returns an attribute KeyValue conforming to the
+// "webengine.version" semantic conventions. It represents the version of the web
+// engine.
+func WebEngineVersion(val string) attribute.KeyValue {
+ return WebEngineVersionKey.String(val)
+}
\ No newline at end of file
diff --git a/vendor/go.opentelemetry.io/otel/semconv/v1.34.0/doc.go b/vendor/go.opentelemetry.io/otel/semconv/v1.34.0/doc.go
new file mode 100644
index 0000000000..2c5c7ebd04
--- /dev/null
+++ b/vendor/go.opentelemetry.io/otel/semconv/v1.34.0/doc.go
@@ -0,0 +1,9 @@
+// Copyright The OpenTelemetry Authors
+// SPDX-License-Identifier: Apache-2.0
+
+// Package semconv implements OpenTelemetry semantic conventions.
+//
+// OpenTelemetry semantic conventions are agreed standardized naming
+// patterns for OpenTelemetry things. This package represents the v1.34.0
+// version of the OpenTelemetry semantic conventions.
+package semconv // import "go.opentelemetry.io/otel/semconv/v1.34.0"
diff --git a/vendor/go.opentelemetry.io/otel/semconv/v1.34.0/exception.go b/vendor/go.opentelemetry.io/otel/semconv/v1.34.0/exception.go
new file mode 100644
index 0000000000..88a998f1e5
--- /dev/null
+++ b/vendor/go.opentelemetry.io/otel/semconv/v1.34.0/exception.go
@@ -0,0 +1,9 @@
+// Copyright The OpenTelemetry Authors
+// SPDX-License-Identifier: Apache-2.0
+
+package semconv // import "go.opentelemetry.io/otel/semconv/v1.34.0"
+
+const (
+ // ExceptionEventName is the name of the Span event representing an exception.
+ ExceptionEventName = "exception"
+)
diff --git a/vendor/go.opentelemetry.io/otel/semconv/v1.34.0/schema.go b/vendor/go.opentelemetry.io/otel/semconv/v1.34.0/schema.go
new file mode 100644
index 0000000000..3c23d45925
--- /dev/null
+++ b/vendor/go.opentelemetry.io/otel/semconv/v1.34.0/schema.go
@@ -0,0 +1,9 @@
+// Copyright The OpenTelemetry Authors
+// SPDX-License-Identifier: Apache-2.0
+
+package semconv // import "go.opentelemetry.io/otel/semconv/v1.34.0"
+
+// SchemaURL is the schema URL that matches the version of the semantic conventions
+// that this package defines. Semconv packages starting from v1.4.0 must declare
+// non-empty schema URL in the form https://opentelemetry.io/schemas/
+const SchemaURL = "https://opentelemetry.io/schemas/1.34.0"
diff --git a/vendor/go.opentelemetry.io/otel/trace/auto.go b/vendor/go.opentelemetry.io/otel/trace/auto.go
new file mode 100644
index 0000000000..f3aa398138
--- /dev/null
+++ b/vendor/go.opentelemetry.io/otel/trace/auto.go
@@ -0,0 +1,662 @@
+// Copyright The OpenTelemetry Authors
+// SPDX-License-Identifier: Apache-2.0
+
+package trace // import "go.opentelemetry.io/otel/trace"
+
+import (
+ "context"
+ "encoding/json"
+ "fmt"
+ "math"
+ "os"
+ "reflect"
+ "runtime"
+ "strconv"
+ "strings"
+ "sync"
+ "sync/atomic"
+ "time"
+ "unicode/utf8"
+
+ "go.opentelemetry.io/otel/attribute"
+ "go.opentelemetry.io/otel/codes"
+ semconv "go.opentelemetry.io/otel/semconv/v1.34.0"
+ "go.opentelemetry.io/otel/trace/embedded"
+ "go.opentelemetry.io/otel/trace/internal/telemetry"
+)
+
+// newAutoTracerProvider returns an auto-instrumentable [trace.TracerProvider].
+// If an [go.opentelemetry.io/auto.Instrumentation] is configured to instrument
+// the process using the returned TracerProvider, all of the telemetry it
+// produces will be processed and handled by that Instrumentation. By default,
+// if no Instrumentation instruments the TracerProvider it will not generate
+// any trace telemetry.
+func newAutoTracerProvider() TracerProvider { return tracerProviderInstance }
+
+var tracerProviderInstance = new(autoTracerProvider)
+
+type autoTracerProvider struct{ embedded.TracerProvider }
+
+var _ TracerProvider = autoTracerProvider{}
+
+func (p autoTracerProvider) Tracer(name string, opts ...TracerOption) Tracer {
+ cfg := NewTracerConfig(opts...)
+ return autoTracer{
+ name: name,
+ version: cfg.InstrumentationVersion(),
+ schemaURL: cfg.SchemaURL(),
+ }
+}
+
+type autoTracer struct {
+ embedded.Tracer
+
+ name, schemaURL, version string
+}
+
+var _ Tracer = autoTracer{}
+
+func (t autoTracer) Start(ctx context.Context, name string, opts ...SpanStartOption) (context.Context, Span) {
+ var psc, sc SpanContext
+ sampled := true
+ span := new(autoSpan)
+
+ // Ask eBPF for sampling decision and span context info.
+ t.start(ctx, span, &psc, &sampled, &sc)
+
+ span.sampled.Store(sampled)
+ span.spanContext = sc
+
+ ctx = ContextWithSpan(ctx, span)
+
+ if sampled {
+ // Only build traces if sampled.
+ cfg := NewSpanStartConfig(opts...)
+ span.traces, span.span = t.traces(name, cfg, span.spanContext, psc)
+ }
+
+ return ctx, span
+}
+
+// Expected to be implemented in eBPF.
+//
+//go:noinline
+func (t *autoTracer) start(
+ ctx context.Context,
+ spanPtr *autoSpan,
+ psc *SpanContext,
+ sampled *bool,
+ sc *SpanContext,
+) {
+ start(ctx, spanPtr, psc, sampled, sc)
+}
+
+// start is used for testing.
+var start = func(context.Context, *autoSpan, *SpanContext, *bool, *SpanContext) {}
+
+func (t autoTracer) traces(name string, cfg SpanConfig, sc, psc SpanContext) (*telemetry.Traces, *telemetry.Span) {
+ span := &telemetry.Span{
+ TraceID: telemetry.TraceID(sc.TraceID()),
+ SpanID: telemetry.SpanID(sc.SpanID()),
+ Flags: uint32(sc.TraceFlags()),
+ TraceState: sc.TraceState().String(),
+ ParentSpanID: telemetry.SpanID(psc.SpanID()),
+ Name: name,
+ Kind: spanKind(cfg.SpanKind()),
+ }
+
+ span.Attrs, span.DroppedAttrs = convCappedAttrs(maxSpan.Attrs, cfg.Attributes())
+
+ links := cfg.Links()
+ if limit := maxSpan.Links; limit == 0 {
+ n := int64(len(links))
+ if n > 0 {
+ span.DroppedLinks = uint32(min(n, math.MaxUint32)) // nolint: gosec // Bounds checked.
+ }
+ } else {
+ if limit > 0 {
+ n := int64(max(len(links)-limit, 0))
+ span.DroppedLinks = uint32(min(n, math.MaxUint32)) // nolint: gosec // Bounds checked.
+ links = links[n:]
+ }
+ span.Links = convLinks(links)
+ }
+
+ if t := cfg.Timestamp(); !t.IsZero() {
+ span.StartTime = cfg.Timestamp()
+ } else {
+ span.StartTime = time.Now()
+ }
+
+ return &telemetry.Traces{
+ ResourceSpans: []*telemetry.ResourceSpans{
+ {
+ ScopeSpans: []*telemetry.ScopeSpans{
+ {
+ Scope: &telemetry.Scope{
+ Name: t.name,
+ Version: t.version,
+ },
+ Spans: []*telemetry.Span{span},
+ SchemaURL: t.schemaURL,
+ },
+ },
+ },
+ },
+ }, span
+}
+
+func spanKind(kind SpanKind) telemetry.SpanKind {
+ switch kind {
+ case SpanKindInternal:
+ return telemetry.SpanKindInternal
+ case SpanKindServer:
+ return telemetry.SpanKindServer
+ case SpanKindClient:
+ return telemetry.SpanKindClient
+ case SpanKindProducer:
+ return telemetry.SpanKindProducer
+ case SpanKindConsumer:
+ return telemetry.SpanKindConsumer
+ }
+ return telemetry.SpanKind(0) // undefined.
+}
+
+type autoSpan struct {
+ embedded.Span
+
+ spanContext SpanContext
+ sampled atomic.Bool
+
+ mu sync.Mutex
+ traces *telemetry.Traces
+ span *telemetry.Span
+}
+
+func (s *autoSpan) SpanContext() SpanContext {
+ if s == nil {
+ return SpanContext{}
+ }
+ // s.spanContext is immutable, do not acquire lock s.mu.
+ return s.spanContext
+}
+
+func (s *autoSpan) IsRecording() bool {
+ if s == nil {
+ return false
+ }
+
+ return s.sampled.Load()
+}
+
+func (s *autoSpan) SetStatus(c codes.Code, msg string) {
+ if s == nil || !s.sampled.Load() {
+ return
+ }
+
+ s.mu.Lock()
+ defer s.mu.Unlock()
+
+ if s.span.Status == nil {
+ s.span.Status = new(telemetry.Status)
+ }
+
+ s.span.Status.Message = msg
+
+ switch c {
+ case codes.Unset:
+ s.span.Status.Code = telemetry.StatusCodeUnset
+ case codes.Error:
+ s.span.Status.Code = telemetry.StatusCodeError
+ case codes.Ok:
+ s.span.Status.Code = telemetry.StatusCodeOK
+ }
+}
+
+func (s *autoSpan) SetAttributes(attrs ...attribute.KeyValue) {
+ if s == nil || !s.sampled.Load() {
+ return
+ }
+
+ s.mu.Lock()
+ defer s.mu.Unlock()
+
+ limit := maxSpan.Attrs
+ if limit == 0 {
+ // No attributes allowed.
+ n := int64(len(attrs))
+ if n > 0 {
+ s.span.DroppedAttrs += uint32(min(n, math.MaxUint32)) // nolint: gosec // Bounds checked.
+ }
+ return
+ }
+
+ m := make(map[string]int)
+ for i, a := range s.span.Attrs {
+ m[a.Key] = i
+ }
+
+ for _, a := range attrs {
+ val := convAttrValue(a.Value)
+ if val.Empty() {
+ s.span.DroppedAttrs++
+ continue
+ }
+
+ if idx, ok := m[string(a.Key)]; ok {
+ s.span.Attrs[idx] = telemetry.Attr{
+ Key: string(a.Key),
+ Value: val,
+ }
+ } else if limit < 0 || len(s.span.Attrs) < limit {
+ s.span.Attrs = append(s.span.Attrs, telemetry.Attr{
+ Key: string(a.Key),
+ Value: val,
+ })
+ m[string(a.Key)] = len(s.span.Attrs) - 1
+ } else {
+ s.span.DroppedAttrs++
+ }
+ }
+}
+
+// convCappedAttrs converts up to limit attrs into a []telemetry.Attr. The
+// number of dropped attributes is also returned.
+func convCappedAttrs(limit int, attrs []attribute.KeyValue) ([]telemetry.Attr, uint32) {
+ n := len(attrs)
+ if limit == 0 {
+ var out uint32
+ if n > 0 {
+ out = uint32(min(int64(n), math.MaxUint32)) // nolint: gosec // Bounds checked.
+ }
+ return nil, out
+ }
+
+ if limit < 0 {
+ // Unlimited.
+ return convAttrs(attrs), 0
+ }
+
+ if n < 0 {
+ n = 0
+ }
+
+ limit = min(n, limit)
+ return convAttrs(attrs[:limit]), uint32(n - limit) // nolint: gosec // Bounds checked.
+}
+
+func convAttrs(attrs []attribute.KeyValue) []telemetry.Attr {
+ if len(attrs) == 0 {
+ // Avoid allocations if not necessary.
+ return nil
+ }
+
+ out := make([]telemetry.Attr, 0, len(attrs))
+ for _, attr := range attrs {
+ key := string(attr.Key)
+ val := convAttrValue(attr.Value)
+ if val.Empty() {
+ continue
+ }
+ out = append(out, telemetry.Attr{Key: key, Value: val})
+ }
+ return out
+}
+
+func convAttrValue(value attribute.Value) telemetry.Value {
+ switch value.Type() {
+ case attribute.BOOL:
+ return telemetry.BoolValue(value.AsBool())
+ case attribute.INT64:
+ return telemetry.Int64Value(value.AsInt64())
+ case attribute.FLOAT64:
+ return telemetry.Float64Value(value.AsFloat64())
+ case attribute.STRING:
+ v := truncate(maxSpan.AttrValueLen, value.AsString())
+ return telemetry.StringValue(v)
+ case attribute.BOOLSLICE:
+ slice := value.AsBoolSlice()
+ out := make([]telemetry.Value, 0, len(slice))
+ for _, v := range slice {
+ out = append(out, telemetry.BoolValue(v))
+ }
+ return telemetry.SliceValue(out...)
+ case attribute.INT64SLICE:
+ slice := value.AsInt64Slice()
+ out := make([]telemetry.Value, 0, len(slice))
+ for _, v := range slice {
+ out = append(out, telemetry.Int64Value(v))
+ }
+ return telemetry.SliceValue(out...)
+ case attribute.FLOAT64SLICE:
+ slice := value.AsFloat64Slice()
+ out := make([]telemetry.Value, 0, len(slice))
+ for _, v := range slice {
+ out = append(out, telemetry.Float64Value(v))
+ }
+ return telemetry.SliceValue(out...)
+ case attribute.STRINGSLICE:
+ slice := value.AsStringSlice()
+ out := make([]telemetry.Value, 0, len(slice))
+ for _, v := range slice {
+ v = truncate(maxSpan.AttrValueLen, v)
+ out = append(out, telemetry.StringValue(v))
+ }
+ return telemetry.SliceValue(out...)
+ }
+ return telemetry.Value{}
+}
+
+// truncate returns a truncated version of s such that it contains less than
+// the limit number of characters. Truncation is applied by returning the limit
+// number of valid characters contained in s.
+//
+// If limit is negative, it returns the original string.
+//
+// UTF-8 is supported. When truncating, all invalid characters are dropped
+// before applying truncation.
+//
+// If s already contains less than the limit number of bytes, it is returned
+// unchanged. No invalid characters are removed.
+func truncate(limit int, s string) string {
+ // This prioritize performance in the following order based on the most
+ // common expected use-cases.
+ //
+ // - Short values less than the default limit (128).
+ // - Strings with valid encodings that exceed the limit.
+ // - No limit.
+ // - Strings with invalid encodings that exceed the limit.
+ if limit < 0 || len(s) <= limit {
+ return s
+ }
+
+ // Optimistically, assume all valid UTF-8.
+ var b strings.Builder
+ count := 0
+ for i, c := range s {
+ if c != utf8.RuneError {
+ count++
+ if count > limit {
+ return s[:i]
+ }
+ continue
+ }
+
+ _, size := utf8.DecodeRuneInString(s[i:])
+ if size == 1 {
+ // Invalid encoding.
+ b.Grow(len(s) - 1)
+ _, _ = b.WriteString(s[:i])
+ s = s[i:]
+ break
+ }
+ }
+
+ // Fast-path, no invalid input.
+ if b.Cap() == 0 {
+ return s
+ }
+
+ // Truncate while validating UTF-8.
+ for i := 0; i < len(s) && count < limit; {
+ c := s[i]
+ if c < utf8.RuneSelf {
+ // Optimization for single byte runes (common case).
+ _ = b.WriteByte(c)
+ i++
+ count++
+ continue
+ }
+
+ _, size := utf8.DecodeRuneInString(s[i:])
+ if size == 1 {
+ // We checked for all 1-byte runes above, this is a RuneError.
+ i++
+ continue
+ }
+
+ _, _ = b.WriteString(s[i : i+size])
+ i += size
+ count++
+ }
+
+ return b.String()
+}
+
+func (s *autoSpan) End(opts ...SpanEndOption) {
+ if s == nil || !s.sampled.Swap(false) {
+ return
+ }
+
+ // s.end exists so the lock (s.mu) is not held while s.ended is called.
+ s.ended(s.end(opts))
+}
+
+func (s *autoSpan) end(opts []SpanEndOption) []byte {
+ s.mu.Lock()
+ defer s.mu.Unlock()
+
+ cfg := NewSpanEndConfig(opts...)
+ if t := cfg.Timestamp(); !t.IsZero() {
+ s.span.EndTime = cfg.Timestamp()
+ } else {
+ s.span.EndTime = time.Now()
+ }
+
+ b, _ := json.Marshal(s.traces) // TODO: do not ignore this error.
+ return b
+}
+
+// Expected to be implemented in eBPF.
+//
+//go:noinline
+func (*autoSpan) ended(buf []byte) { ended(buf) }
+
+// ended is used for testing.
+var ended = func([]byte) {}
+
+func (s *autoSpan) RecordError(err error, opts ...EventOption) {
+ if s == nil || err == nil || !s.sampled.Load() {
+ return
+ }
+
+ cfg := NewEventConfig(opts...)
+
+ attrs := cfg.Attributes()
+ attrs = append(attrs,
+ semconv.ExceptionType(typeStr(err)),
+ semconv.ExceptionMessage(err.Error()),
+ )
+ if cfg.StackTrace() {
+ buf := make([]byte, 2048)
+ n := runtime.Stack(buf, false)
+ attrs = append(attrs, semconv.ExceptionStacktrace(string(buf[0:n])))
+ }
+
+ s.mu.Lock()
+ defer s.mu.Unlock()
+
+ s.addEvent(semconv.ExceptionEventName, cfg.Timestamp(), attrs)
+}
+
+func typeStr(i any) string {
+ t := reflect.TypeOf(i)
+ if t.PkgPath() == "" && t.Name() == "" {
+ // Likely a builtin type.
+ return t.String()
+ }
+ return fmt.Sprintf("%s.%s", t.PkgPath(), t.Name())
+}
+
+func (s *autoSpan) AddEvent(name string, opts ...EventOption) {
+ if s == nil || !s.sampled.Load() {
+ return
+ }
+
+ cfg := NewEventConfig(opts...)
+
+ s.mu.Lock()
+ defer s.mu.Unlock()
+
+ s.addEvent(name, cfg.Timestamp(), cfg.Attributes())
+}
+
+// addEvent adds an event with name and attrs at tStamp to the span. The span
+// lock (s.mu) needs to be held by the caller.
+func (s *autoSpan) addEvent(name string, tStamp time.Time, attrs []attribute.KeyValue) {
+ limit := maxSpan.Events
+
+ if limit == 0 {
+ s.span.DroppedEvents++
+ return
+ }
+
+ if limit > 0 && len(s.span.Events) == limit {
+ // Drop head while avoiding allocation of more capacity.
+ copy(s.span.Events[:limit-1], s.span.Events[1:])
+ s.span.Events = s.span.Events[:limit-1]
+ s.span.DroppedEvents++
+ }
+
+ e := &telemetry.SpanEvent{Time: tStamp, Name: name}
+ e.Attrs, e.DroppedAttrs = convCappedAttrs(maxSpan.EventAttrs, attrs)
+
+ s.span.Events = append(s.span.Events, e)
+}
+
+func (s *autoSpan) AddLink(link Link) {
+ if s == nil || !s.sampled.Load() {
+ return
+ }
+
+ l := maxSpan.Links
+
+ s.mu.Lock()
+ defer s.mu.Unlock()
+
+ if l == 0 {
+ s.span.DroppedLinks++
+ return
+ }
+
+ if l > 0 && len(s.span.Links) == l {
+ // Drop head while avoiding allocation of more capacity.
+ copy(s.span.Links[:l-1], s.span.Links[1:])
+ s.span.Links = s.span.Links[:l-1]
+ s.span.DroppedLinks++
+ }
+
+ s.span.Links = append(s.span.Links, convLink(link))
+}
+
+func convLinks(links []Link) []*telemetry.SpanLink {
+ out := make([]*telemetry.SpanLink, 0, len(links))
+ for _, link := range links {
+ out = append(out, convLink(link))
+ }
+ return out
+}
+
+func convLink(link Link) *telemetry.SpanLink {
+ l := &telemetry.SpanLink{
+ TraceID: telemetry.TraceID(link.SpanContext.TraceID()),
+ SpanID: telemetry.SpanID(link.SpanContext.SpanID()),
+ TraceState: link.SpanContext.TraceState().String(),
+ Flags: uint32(link.SpanContext.TraceFlags()),
+ }
+ l.Attrs, l.DroppedAttrs = convCappedAttrs(maxSpan.LinkAttrs, link.Attributes)
+
+ return l
+}
+
+func (s *autoSpan) SetName(name string) {
+ if s == nil || !s.sampled.Load() {
+ return
+ }
+
+ s.mu.Lock()
+ defer s.mu.Unlock()
+
+ s.span.Name = name
+}
+
+func (*autoSpan) TracerProvider() TracerProvider { return newAutoTracerProvider() }
+
+// maxSpan are the span limits resolved during startup.
+var maxSpan = newSpanLimits()
+
+type spanLimits struct {
+ // Attrs is the number of allowed attributes for a span.
+ //
+ // This is resolved from the environment variable value for the
+ // OTEL_SPAN_ATTRIBUTE_COUNT_LIMIT key if it exists. Otherwise, the
+ // environment variable value for OTEL_ATTRIBUTE_COUNT_LIMIT, or 128 if
+ // that is not set, is used.
+ Attrs int
+ // AttrValueLen is the maximum attribute value length allowed for a span.
+ //
+ // This is resolved from the environment variable value for the
+ // OTEL_SPAN_ATTRIBUTE_VALUE_LENGTH_LIMIT key if it exists. Otherwise, the
+ // environment variable value for OTEL_ATTRIBUTE_VALUE_LENGTH_LIMIT, or -1
+ // if that is not set, is used.
+ AttrValueLen int
+ // Events is the number of allowed events for a span.
+ //
+ // This is resolved from the environment variable value for the
+ // OTEL_SPAN_EVENT_COUNT_LIMIT key, or 128 is used if that is not set.
+ Events int
+ // EventAttrs is the number of allowed attributes for a span event.
+ //
+ // The is resolved from the environment variable value for the
+ // OTEL_EVENT_ATTRIBUTE_COUNT_LIMIT key, or 128 is used if that is not set.
+ EventAttrs int
+ // Links is the number of allowed Links for a span.
+ //
+ // This is resolved from the environment variable value for the
+ // OTEL_SPAN_LINK_COUNT_LIMIT, or 128 is used if that is not set.
+ Links int
+ // LinkAttrs is the number of allowed attributes for a span link.
+ //
+ // This is resolved from the environment variable value for the
+ // OTEL_LINK_ATTRIBUTE_COUNT_LIMIT, or 128 is used if that is not set.
+ LinkAttrs int
+}
+
+func newSpanLimits() spanLimits {
+ return spanLimits{
+ Attrs: firstEnv(
+ 128,
+ "OTEL_SPAN_ATTRIBUTE_COUNT_LIMIT",
+ "OTEL_ATTRIBUTE_COUNT_LIMIT",
+ ),
+ AttrValueLen: firstEnv(
+ -1, // Unlimited.
+ "OTEL_SPAN_ATTRIBUTE_VALUE_LENGTH_LIMIT",
+ "OTEL_ATTRIBUTE_VALUE_LENGTH_LIMIT",
+ ),
+ Events: firstEnv(128, "OTEL_SPAN_EVENT_COUNT_LIMIT"),
+ EventAttrs: firstEnv(128, "OTEL_EVENT_ATTRIBUTE_COUNT_LIMIT"),
+ Links: firstEnv(128, "OTEL_SPAN_LINK_COUNT_LIMIT"),
+ LinkAttrs: firstEnv(128, "OTEL_LINK_ATTRIBUTE_COUNT_LIMIT"),
+ }
+}
+
+// firstEnv returns the parsed integer value of the first matching environment
+// variable from keys. The defaultVal is returned if the value is not an
+// integer or no match is found.
+func firstEnv(defaultVal int, keys ...string) int {
+ for _, key := range keys {
+ strV := os.Getenv(key)
+ if strV == "" {
+ continue
+ }
+
+ v, err := strconv.Atoi(strV)
+ if err == nil {
+ return v
+ }
+ // Ignore invalid environment variable.
+ }
+
+ return defaultVal
+}
diff --git a/vendor/go.opentelemetry.io/otel/trace/internal/telemetry/attr.go b/vendor/go.opentelemetry.io/otel/trace/internal/telemetry/attr.go
new file mode 100644
index 0000000000..f663547b4e
--- /dev/null
+++ b/vendor/go.opentelemetry.io/otel/trace/internal/telemetry/attr.go
@@ -0,0 +1,58 @@
+// Copyright The OpenTelemetry Authors
+// SPDX-License-Identifier: Apache-2.0
+
+package telemetry // import "go.opentelemetry.io/otel/trace/internal/telemetry"
+
+// Attr is a key-value pair.
+type Attr struct {
+ Key string `json:"key,omitempty"`
+ Value Value `json:"value,omitempty"`
+}
+
+// String returns an Attr for a string value.
+func String(key, value string) Attr {
+ return Attr{key, StringValue(value)}
+}
+
+// Int64 returns an Attr for an int64 value.
+func Int64(key string, value int64) Attr {
+ return Attr{key, Int64Value(value)}
+}
+
+// Int returns an Attr for an int value.
+func Int(key string, value int) Attr {
+ return Int64(key, int64(value))
+}
+
+// Float64 returns an Attr for a float64 value.
+func Float64(key string, value float64) Attr {
+ return Attr{key, Float64Value(value)}
+}
+
+// Bool returns an Attr for a bool value.
+func Bool(key string, value bool) Attr {
+ return Attr{key, BoolValue(value)}
+}
+
+// Bytes returns an Attr for a []byte value.
+// The passed slice must not be changed after it is passed.
+func Bytes(key string, value []byte) Attr {
+ return Attr{key, BytesValue(value)}
+}
+
+// Slice returns an Attr for a []Value value.
+// The passed slice must not be changed after it is passed.
+func Slice(key string, value ...Value) Attr {
+ return Attr{key, SliceValue(value...)}
+}
+
+// Map returns an Attr for a map value.
+// The passed slice must not be changed after it is passed.
+func Map(key string, value ...Attr) Attr {
+ return Attr{key, MapValue(value...)}
+}
+
+// Equal returns if a is equal to b.
+func (a Attr) Equal(b Attr) bool {
+ return a.Key == b.Key && a.Value.Equal(b.Value)
+}
diff --git a/vendor/go.opentelemetry.io/otel/trace/internal/telemetry/doc.go b/vendor/go.opentelemetry.io/otel/trace/internal/telemetry/doc.go
new file mode 100644
index 0000000000..5debe90bbb
--- /dev/null
+++ b/vendor/go.opentelemetry.io/otel/trace/internal/telemetry/doc.go
@@ -0,0 +1,8 @@
+// Copyright The OpenTelemetry Authors
+// SPDX-License-Identifier: Apache-2.0
+
+/*
+Package telemetry provides a lightweight representations of OpenTelemetry
+telemetry that is compatible with the OTLP JSON protobuf encoding.
+*/
+package telemetry // import "go.opentelemetry.io/otel/trace/internal/telemetry"
diff --git a/vendor/go.opentelemetry.io/otel/trace/internal/telemetry/id.go b/vendor/go.opentelemetry.io/otel/trace/internal/telemetry/id.go
new file mode 100644
index 0000000000..7b1ae3c4ea
--- /dev/null
+++ b/vendor/go.opentelemetry.io/otel/trace/internal/telemetry/id.go
@@ -0,0 +1,103 @@
+// Copyright The OpenTelemetry Authors
+// SPDX-License-Identifier: Apache-2.0
+
+package telemetry // import "go.opentelemetry.io/otel/trace/internal/telemetry"
+
+import (
+ "encoding/hex"
+ "errors"
+ "fmt"
+)
+
+const (
+ traceIDSize = 16
+ spanIDSize = 8
+)
+
+// TraceID is a custom data type that is used for all trace IDs.
+type TraceID [traceIDSize]byte
+
+// String returns the hex string representation form of a TraceID.
+func (tid TraceID) String() string {
+ return hex.EncodeToString(tid[:])
+}
+
+// IsEmpty returns false if id contains at least one non-zero byte.
+func (tid TraceID) IsEmpty() bool {
+ return tid == [traceIDSize]byte{}
+}
+
+// MarshalJSON converts the trace ID into a hex string enclosed in quotes.
+func (tid TraceID) MarshalJSON() ([]byte, error) {
+ if tid.IsEmpty() {
+ return []byte(`""`), nil
+ }
+ return marshalJSON(tid[:])
+}
+
+// UnmarshalJSON inflates the trace ID from hex string, possibly enclosed in
+// quotes.
+func (tid *TraceID) UnmarshalJSON(data []byte) error {
+ *tid = [traceIDSize]byte{}
+ return unmarshalJSON(tid[:], data)
+}
+
+// SpanID is a custom data type that is used for all span IDs.
+type SpanID [spanIDSize]byte
+
+// String returns the hex string representation form of a SpanID.
+func (sid SpanID) String() string {
+ return hex.EncodeToString(sid[:])
+}
+
+// IsEmpty returns true if the span ID contains at least one non-zero byte.
+func (sid SpanID) IsEmpty() bool {
+ return sid == [spanIDSize]byte{}
+}
+
+// MarshalJSON converts span ID into a hex string enclosed in quotes.
+func (sid SpanID) MarshalJSON() ([]byte, error) {
+ if sid.IsEmpty() {
+ return []byte(`""`), nil
+ }
+ return marshalJSON(sid[:])
+}
+
+// UnmarshalJSON decodes span ID from hex string, possibly enclosed in quotes.
+func (sid *SpanID) UnmarshalJSON(data []byte) error {
+ *sid = [spanIDSize]byte{}
+ return unmarshalJSON(sid[:], data)
+}
+
+// marshalJSON converts id into a hex string enclosed in quotes.
+func marshalJSON(id []byte) ([]byte, error) {
+ // Plus 2 quote chars at the start and end.
+ hexLen := hex.EncodedLen(len(id)) + 2
+
+ b := make([]byte, hexLen)
+ hex.Encode(b[1:hexLen-1], id)
+ b[0], b[hexLen-1] = '"', '"'
+
+ return b, nil
+}
+
+// unmarshalJSON inflates trace id from hex string, possibly enclosed in quotes.
+func unmarshalJSON(dst []byte, src []byte) error {
+ if l := len(src); l >= 2 && src[0] == '"' && src[l-1] == '"' {
+ src = src[1 : l-1]
+ }
+ nLen := len(src)
+ if nLen == 0 {
+ return nil
+ }
+
+ if len(dst) != hex.DecodedLen(nLen) {
+ return errors.New("invalid length for ID")
+ }
+
+ _, err := hex.Decode(dst, src)
+ if err != nil {
+ return fmt.Errorf("cannot unmarshal ID from string '%s': %w", string(src), err)
+ }
+ return nil
+}
diff --git a/vendor/go.opentelemetry.io/otel/trace/internal/telemetry/number.go b/vendor/go.opentelemetry.io/otel/trace/internal/telemetry/number.go
new file mode 100644
index 0000000000..f5e3a8cec9
--- /dev/null
+++ b/vendor/go.opentelemetry.io/otel/trace/internal/telemetry/number.go
@@ -0,0 +1,67 @@
+// Copyright The OpenTelemetry Authors
+// SPDX-License-Identifier: Apache-2.0
+
+package telemetry // import "go.opentelemetry.io/otel/trace/internal/telemetry"
+
+import (
+ "encoding/json"
+ "strconv"
+)
+
+// protoInt64 represents the protobuf encoding of integers which can be either
+// strings or integers.
+type protoInt64 int64
+
+// Int64 returns the protoInt64 as an int64.
+func (i *protoInt64) Int64() int64 { return int64(*i) }
+
+// UnmarshalJSON decodes both strings and integers.
+func (i *protoInt64) UnmarshalJSON(data []byte) error {
+ if data[0] == '"' {
+ var str string
+ if err := json.Unmarshal(data, &str); err != nil {
+ return err
+ }
+ parsedInt, err := strconv.ParseInt(str, 10, 64)
+ if err != nil {
+ return err
+ }
+ *i = protoInt64(parsedInt)
+ } else {
+ var parsedInt int64
+ if err := json.Unmarshal(data, &parsedInt); err != nil {
+ return err
+ }
+ *i = protoInt64(parsedInt)
+ }
+ return nil
+}
+
+// protoUint64 represents the protobuf encoding of integers which can be either
+// strings or integers.
+type protoUint64 uint64
+
+// Int64 returns the protoUint64 as a uint64.
+func (i *protoUint64) Uint64() uint64 { return uint64(*i) }
+
+// UnmarshalJSON decodes both strings and integers.
+func (i *protoUint64) UnmarshalJSON(data []byte) error {
+ if data[0] == '"' {
+ var str string
+ if err := json.Unmarshal(data, &str); err != nil {
+ return err
+ }
+ parsedUint, err := strconv.ParseUint(str, 10, 64)
+ if err != nil {
+ return err
+ }
+ *i = protoUint64(parsedUint)
+ } else {
+ var parsedUint uint64
+ if err := json.Unmarshal(data, &parsedUint); err != nil {
+ return err
+ }
+ *i = protoUint64(parsedUint)
+ }
+ return nil
+}
diff --git a/vendor/go.opentelemetry.io/otel/trace/internal/telemetry/resource.go b/vendor/go.opentelemetry.io/otel/trace/internal/telemetry/resource.go
new file mode 100644
index 0000000000..1798a702d4
--- /dev/null
+++ b/vendor/go.opentelemetry.io/otel/trace/internal/telemetry/resource.go
@@ -0,0 +1,66 @@
+// Copyright The OpenTelemetry Authors
+// SPDX-License-Identifier: Apache-2.0
+
+package telemetry // import "go.opentelemetry.io/otel/trace/internal/telemetry"
+
+import (
+ "bytes"
+ "encoding/json"
+ "errors"
+ "fmt"
+ "io"
+)
+
+// Resource information.
+type Resource struct {
+ // Attrs are the set of attributes that describe the resource. Attribute
+ // keys MUST be unique (it is not allowed to have more than one attribute
+ // with the same key).
+ Attrs []Attr `json:"attributes,omitempty"`
+ // DroppedAttrs is the number of dropped attributes. If the value
+ // is 0, then no attributes were dropped.
+ DroppedAttrs uint32 `json:"droppedAttributesCount,omitempty"`
+}
+
+// UnmarshalJSON decodes the OTLP formatted JSON contained in data into r.
+func (r *Resource) UnmarshalJSON(data []byte) error {
+ decoder := json.NewDecoder(bytes.NewReader(data))
+
+ t, err := decoder.Token()
+ if err != nil {
+ return err
+ }
+ if t != json.Delim('{') {
+ return errors.New("invalid Resource type")
+ }
+
+ for decoder.More() {
+ keyIface, err := decoder.Token()
+ if err != nil {
+ if errors.Is(err, io.EOF) {
+ // Empty.
+ return nil
+ }
+ return err
+ }
+
+ key, ok := keyIface.(string)
+ if !ok {
+ return fmt.Errorf("invalid Resource field: %#v", keyIface)
+ }
+
+ switch key {
+ case "attributes":
+ err = decoder.Decode(&r.Attrs)
+ case "droppedAttributesCount", "dropped_attributes_count":
+ err = decoder.Decode(&r.DroppedAttrs)
+ default:
+ // Skip unknown.
+ }
+
+ if err != nil {
+ return err
+ }
+ }
+ return nil
+}
diff --git a/vendor/go.opentelemetry.io/otel/trace/internal/telemetry/scope.go b/vendor/go.opentelemetry.io/otel/trace/internal/telemetry/scope.go
new file mode 100644
index 0000000000..c2b4c635b7
--- /dev/null
+++ b/vendor/go.opentelemetry.io/otel/trace/internal/telemetry/scope.go
@@ -0,0 +1,67 @@
+// Copyright The OpenTelemetry Authors
+// SPDX-License-Identifier: Apache-2.0
+
+package telemetry // import "go.opentelemetry.io/otel/trace/internal/telemetry"
+
+import (
+ "bytes"
+ "encoding/json"
+ "errors"
+ "fmt"
+ "io"
+)
+
+// Scope is the identifying values of the instrumentation scope.
+type Scope struct {
+ Name string `json:"name,omitempty"`
+ Version string `json:"version,omitempty"`
+ Attrs []Attr `json:"attributes,omitempty"`
+ DroppedAttrs uint32 `json:"droppedAttributesCount,omitempty"`
+}
+
+// UnmarshalJSON decodes the OTLP formatted JSON contained in data into r.
+func (s *Scope) UnmarshalJSON(data []byte) error {
+ decoder := json.NewDecoder(bytes.NewReader(data))
+
+ t, err := decoder.Token()
+ if err != nil {
+ return err
+ }
+ if t != json.Delim('{') {
+ return errors.New("invalid Scope type")
+ }
+
+ for decoder.More() {
+ keyIface, err := decoder.Token()
+ if err != nil {
+ if errors.Is(err, io.EOF) {
+ // Empty.
+ return nil
+ }
+ return err
+ }
+
+ key, ok := keyIface.(string)
+ if !ok {
+ return fmt.Errorf("invalid Scope field: %#v", keyIface)
+ }
+
+ switch key {
+ case "name":
+ err = decoder.Decode(&s.Name)
+ case "version":
+ err = decoder.Decode(&s.Version)
+ case "attributes":
+ err = decoder.Decode(&s.Attrs)
+ case "droppedAttributesCount", "dropped_attributes_count":
+ err = decoder.Decode(&s.DroppedAttrs)
+ default:
+ // Skip unknown.
+ }
+
+ if err != nil {
+ return err
+ }
+ }
+ return nil
+}
diff --git a/vendor/go.opentelemetry.io/otel/trace/internal/telemetry/span.go b/vendor/go.opentelemetry.io/otel/trace/internal/telemetry/span.go
new file mode 100644
index 0000000000..e7ca62c660
--- /dev/null
+++ b/vendor/go.opentelemetry.io/otel/trace/internal/telemetry/span.go
@@ -0,0 +1,472 @@
+// Copyright The OpenTelemetry Authors
+// SPDX-License-Identifier: Apache-2.0
+
+package telemetry // import "go.opentelemetry.io/otel/trace/internal/telemetry"
+
+import (
+ "bytes"
+ "encoding/hex"
+ "encoding/json"
+ "errors"
+ "fmt"
+ "io"
+ "math"
+ "time"
+)
+
+// A Span represents a single operation performed by a single component of the
+// system.
+type Span struct {
+ // A unique identifier for a trace. All spans from the same trace share
+ // the same `trace_id`. The ID is a 16-byte array. An ID with all zeroes OR
+ // of length other than 16 bytes is considered invalid (empty string in OTLP/JSON
+ // is zero-length and thus is also invalid).
+ //
+ // This field is required.
+ TraceID TraceID `json:"traceId,omitempty"`
+ // A unique identifier for a span within a trace, assigned when the span
+ // is created. The ID is an 8-byte array. An ID with all zeroes OR of length
+ // other than 8 bytes is considered invalid (empty string in OTLP/JSON
+ // is zero-length and thus is also invalid).
+ //
+ // This field is required.
+ SpanID SpanID `json:"spanId,omitempty"`
+ // trace_state conveys information about request position in multiple distributed tracing graphs.
+ // It is a trace_state in w3c-trace-context format: https://www.w3.org/TR/trace-context/#tracestate-header
+ // See also https://github.com/w3c/distributed-tracing for more details about this field.
+ TraceState string `json:"traceState,omitempty"`
+ // The `span_id` of this span's parent span. If this is a root span, then this
+ // field must be empty. The ID is an 8-byte array.
+ ParentSpanID SpanID `json:"parentSpanId,omitempty"`
+ // Flags, a bit field.
+ //
+ // Bits 0-7 (8 least significant bits) are the trace flags as defined in W3C Trace
+ // Context specification. To read the 8-bit W3C trace flag, use
+ // `flags & SPAN_FLAGS_TRACE_FLAGS_MASK`.
+ //
+ // See https://www.w3.org/TR/trace-context-2/#trace-flags for the flag definitions.
+ //
+ // Bits 8 and 9 represent the 3 states of whether a span's parent
+ // is remote. The states are (unknown, is not remote, is remote).
+ // To read whether the value is known, use `(flags & SPAN_FLAGS_CONTEXT_HAS_IS_REMOTE_MASK) != 0`.
+ // To read whether the span is remote, use `(flags & SPAN_FLAGS_CONTEXT_IS_REMOTE_MASK) != 0`.
+ //
+ // When creating span messages, if the message is logically forwarded from another source
+ // with an equivalent flags fields (i.e., usually another OTLP span message), the field SHOULD
+ // be copied as-is. If creating from a source that does not have an equivalent flags field
+ // (such as a runtime representation of an OpenTelemetry span), the high 22 bits MUST
+ // be set to zero.
+ // Readers MUST NOT assume that bits 10-31 (22 most significant bits) will be zero.
+ //
+ // [Optional].
+ Flags uint32 `json:"flags,omitempty"`
+ // A description of the span's operation.
+ //
+ // For example, the name can be a qualified method name or a file name
+ // and a line number where the operation is called. A best practice is to use
+ // the same display name at the same call point in an application.
+ // This makes it easier to correlate spans in different traces.
+ //
+ // This field is semantically required to be set to non-empty string.
+ // Empty value is equivalent to an unknown span name.
+ //
+ // This field is required.
+ Name string `json:"name"`
+ // Distinguishes between spans generated in a particular context. For example,
+ // two spans with the same name may be distinguished using `CLIENT` (caller)
+ // and `SERVER` (callee) to identify queueing latency associated with the span.
+ Kind SpanKind `json:"kind,omitempty"`
+ // start_time_unix_nano is the start time of the span. On the client side, this is the time
+ // kept by the local machine where the span execution starts. On the server side, this
+ // is the time when the server's application handler starts running.
+ // Value is UNIX Epoch time in nanoseconds since 00:00:00 UTC on 1 January 1970.
+ //
+ // This field is semantically required and it is expected that end_time >= start_time.
+ StartTime time.Time `json:"startTimeUnixNano,omitempty"`
+ // end_time_unix_nano is the end time of the span. On the client side, this is the time
+ // kept by the local machine where the span execution ends. On the server side, this
+ // is the time when the server application handler stops running.
+ // Value is UNIX Epoch time in nanoseconds since 00:00:00 UTC on 1 January 1970.
+ //
+ // This field is semantically required and it is expected that end_time >= start_time.
+ EndTime time.Time `json:"endTimeUnixNano,omitempty"`
+ // attributes is a collection of key/value pairs. Note, global attributes
+ // like server name can be set using the resource API. Examples of attributes:
+ //
+ // "/http/user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36"
+ // "/http/server_latency": 300
+ // "example.com/myattribute": true
+ // "example.com/score": 10.239
+ //
+ // The OpenTelemetry API specification further restricts the allowed value types:
+ // https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/common/README.md#attribute
+ // Attribute keys MUST be unique (it is not allowed to have more than one
+ // attribute with the same key).
+ Attrs []Attr `json:"attributes,omitempty"`
+ // dropped_attributes_count is the number of attributes that were discarded. Attributes
+ // can be discarded because their keys are too long or because there are too many
+ // attributes. If this value is 0, then no attributes were dropped.
+ DroppedAttrs uint32 `json:"droppedAttributesCount,omitempty"`
+ // events is a collection of Event items.
+ Events []*SpanEvent `json:"events,omitempty"`
+ // dropped_events_count is the number of dropped events. If the value is 0, then no
+ // events were dropped.
+ DroppedEvents uint32 `json:"droppedEventsCount,omitempty"`
+ // links is a collection of Links, which are references from this span to a span
+ // in the same or different trace.
+ Links []*SpanLink `json:"links,omitempty"`
+ // dropped_links_count is the number of dropped links after the maximum size was
+ // enforced. If this value is 0, then no links were dropped.
+ DroppedLinks uint32 `json:"droppedLinksCount,omitempty"`
+ // An optional final status for this span. Semantically when Status isn't set, it means
+ // span's status code is unset, i.e. assume STATUS_CODE_UNSET (code = 0).
+ Status *Status `json:"status,omitempty"`
+}
+
+// MarshalJSON encodes s into OTLP formatted JSON.
+func (s Span) MarshalJSON() ([]byte, error) {
+ startT := s.StartTime.UnixNano()
+ if s.StartTime.IsZero() || startT < 0 {
+ startT = 0
+ }
+
+ endT := s.EndTime.UnixNano()
+ if s.EndTime.IsZero() || endT < 0 {
+ endT = 0
+ }
+
+ // Override non-empty default SpanID marshal and omitempty.
+ var parentSpanId string
+ if !s.ParentSpanID.IsEmpty() {
+ b := make([]byte, hex.EncodedLen(spanIDSize))
+ hex.Encode(b, s.ParentSpanID[:])
+ parentSpanId = string(b)
+ }
+
+ type Alias Span
+ return json.Marshal(struct {
+ Alias
+ ParentSpanID string `json:"parentSpanId,omitempty"`
+ StartTime uint64 `json:"startTimeUnixNano,omitempty"`
+ EndTime uint64 `json:"endTimeUnixNano,omitempty"`
+ }{
+ Alias: Alias(s),
+ ParentSpanID: parentSpanId,
+ StartTime: uint64(startT), // nolint:gosec // >0 checked above.
+ EndTime: uint64(endT), // nolint:gosec // >0 checked above.
+ })
+}
+
+// UnmarshalJSON decodes the OTLP formatted JSON contained in data into s.
+func (s *Span) UnmarshalJSON(data []byte) error {
+ decoder := json.NewDecoder(bytes.NewReader(data))
+
+ t, err := decoder.Token()
+ if err != nil {
+ return err
+ }
+ if t != json.Delim('{') {
+ return errors.New("invalid Span type")
+ }
+
+ for decoder.More() {
+ keyIface, err := decoder.Token()
+ if err != nil {
+ if errors.Is(err, io.EOF) {
+ // Empty.
+ return nil
+ }
+ return err
+ }
+
+ key, ok := keyIface.(string)
+ if !ok {
+ return fmt.Errorf("invalid Span field: %#v", keyIface)
+ }
+
+ switch key {
+ case "traceId", "trace_id":
+ err = decoder.Decode(&s.TraceID)
+ case "spanId", "span_id":
+ err = decoder.Decode(&s.SpanID)
+ case "traceState", "trace_state":
+ err = decoder.Decode(&s.TraceState)
+ case "parentSpanId", "parent_span_id":
+ err = decoder.Decode(&s.ParentSpanID)
+ case "flags":
+ err = decoder.Decode(&s.Flags)
+ case "name":
+ err = decoder.Decode(&s.Name)
+ case "kind":
+ err = decoder.Decode(&s.Kind)
+ case "startTimeUnixNano", "start_time_unix_nano":
+ var val protoUint64
+ err = decoder.Decode(&val)
+ v := int64(min(val.Uint64(), math.MaxInt64)) // nolint: gosec // Overflow checked.
+ s.StartTime = time.Unix(0, v)
+ case "endTimeUnixNano", "end_time_unix_nano":
+ var val protoUint64
+ err = decoder.Decode(&val)
+ v := int64(min(val.Uint64(), math.MaxInt64)) // nolint: gosec // Overflow checked.
+ s.EndTime = time.Unix(0, v)
+ case "attributes":
+ err = decoder.Decode(&s.Attrs)
+ case "droppedAttributesCount", "dropped_attributes_count":
+ err = decoder.Decode(&s.DroppedAttrs)
+ case "events":
+ err = decoder.Decode(&s.Events)
+ case "droppedEventsCount", "dropped_events_count":
+ err = decoder.Decode(&s.DroppedEvents)
+ case "links":
+ err = decoder.Decode(&s.Links)
+ case "droppedLinksCount", "dropped_links_count":
+ err = decoder.Decode(&s.DroppedLinks)
+ case "status":
+ err = decoder.Decode(&s.Status)
+ default:
+ // Skip unknown.
+ }
+
+ if err != nil {
+ return err
+ }
+ }
+ return nil
+}
+
+// SpanFlags represents constants used to interpret the
+// Span.flags field, which is protobuf 'fixed32' type and is to
+// be used as bit-fields. Each non-zero value defined in this enum is
+// a bit-mask. To extract the bit-field, for example, use an
+// expression like:
+//
+// (span.flags & SPAN_FLAGS_TRACE_FLAGS_MASK)
+//
+// See https://www.w3.org/TR/trace-context-2/#trace-flags for the flag definitions.
+//
+// Note that Span flags were introduced in version 1.1 of the
+// OpenTelemetry protocol. Older Span producers do not set this
+// field, consequently consumers should not rely on the absence of a
+// particular flag bit to indicate the presence of a particular feature.
+type SpanFlags int32
+
+const (
+ // SpanFlagsTraceFlagsMask is a mask for trace-flags.
+ //
+ // Bits 0-7 are used for trace flags.
+ SpanFlagsTraceFlagsMask SpanFlags = 255
+ // SpanFlagsContextHasIsRemoteMask is a mask for HAS_IS_REMOTE status.
+ //
+ // Bits 8 and 9 are used to indicate that the parent span or link span is
+ // remote. Bit 8 (`HAS_IS_REMOTE`) indicates whether the value is known.
+ SpanFlagsContextHasIsRemoteMask SpanFlags = 256
+ // SpanFlagsContextIsRemoteMask is a mask for IS_REMOTE status.
+ //
+ // Bits 8 and 9 are used to indicate that the parent span or link span is
+ // remote. Bit 9 (`IS_REMOTE`) indicates whether the span or link is
+ // remote.
+ SpanFlagsContextIsRemoteMask SpanFlags = 512
+)
+
+// SpanKind is the type of span. Can be used to specify additional relationships between spans
+// in addition to a parent/child relationship.
+type SpanKind int32
+
+const (
+ // SpanKindInternal indicates that the span represents an internal
+ // operation within an application, as opposed to an operation happening at
+ // the boundaries.
+ SpanKindInternal SpanKind = 1
+ // SpanKindServer indicates that the span covers server-side handling of an
+ // RPC or other remote network request.
+ SpanKindServer SpanKind = 2
+ // SpanKindClient indicates that the span describes a request to some
+ // remote service.
+ SpanKindClient SpanKind = 3
+ // SpanKindProducer indicates that the span describes a producer sending a
+ // message to a broker. Unlike SpanKindClient and SpanKindServer, there is
+ // often no direct critical path latency relationship between producer and
+ // consumer spans. A SpanKindProducer span ends when the message was
+ // accepted by the broker while the logical processing of the message might
+ // span a much longer time.
+ SpanKindProducer SpanKind = 4
+ // SpanKindConsumer indicates that the span describes a consumer receiving
+ // a message from a broker. Like SpanKindProducer, there is often no direct
+ // critical path latency relationship between producer and consumer spans.
+ SpanKindConsumer SpanKind = 5
+)
+
+// SpanEvent is a time-stamped annotation of the span, consisting of
+// user-supplied text description and key-value pairs.
+type SpanEvent struct {
+ // time_unix_nano is the time the event occurred.
+ Time time.Time `json:"timeUnixNano,omitempty"`
+ // name of the event.
+ // This field is semantically required to be set to non-empty string.
+ Name string `json:"name,omitempty"`
+ // attributes is a collection of attribute key/value pairs on the event.
+ // Attribute keys MUST be unique (it is not allowed to have more than one
+ // attribute with the same key).
+ Attrs []Attr `json:"attributes,omitempty"`
+ // dropped_attributes_count is the number of dropped attributes. If the value is 0,
+ // then no attributes were dropped.
+ DroppedAttrs uint32 `json:"droppedAttributesCount,omitempty"`
+}
+
+// MarshalJSON encodes e into OTLP formatted JSON.
+func (e SpanEvent) MarshalJSON() ([]byte, error) {
+ t := e.Time.UnixNano()
+ if e.Time.IsZero() || t < 0 {
+ t = 0
+ }
+
+ type Alias SpanEvent
+ return json.Marshal(struct {
+ Alias
+ Time uint64 `json:"timeUnixNano,omitempty"`
+ }{
+ Alias: Alias(e),
+ Time: uint64(t), // nolint: gosec // >0 checked above
+ })
+}
+
+// UnmarshalJSON decodes the OTLP formatted JSON contained in data into se.
+func (se *SpanEvent) UnmarshalJSON(data []byte) error {
+ decoder := json.NewDecoder(bytes.NewReader(data))
+
+ t, err := decoder.Token()
+ if err != nil {
+ return err
+ }
+ if t != json.Delim('{') {
+ return errors.New("invalid SpanEvent type")
+ }
+
+ for decoder.More() {
+ keyIface, err := decoder.Token()
+ if err != nil {
+ if errors.Is(err, io.EOF) {
+ // Empty.
+ return nil
+ }
+ return err
+ }
+
+ key, ok := keyIface.(string)
+ if !ok {
+ return fmt.Errorf("invalid SpanEvent field: %#v", keyIface)
+ }
+
+ switch key {
+ case "timeUnixNano", "time_unix_nano":
+ var val protoUint64
+ err = decoder.Decode(&val)
+ v := int64(min(val.Uint64(), math.MaxInt64)) // nolint: gosec // Overflow checked.
+ se.Time = time.Unix(0, v)
+ case "name":
+ err = decoder.Decode(&se.Name)
+ case "attributes":
+ err = decoder.Decode(&se.Attrs)
+ case "droppedAttributesCount", "dropped_attributes_count":
+ err = decoder.Decode(&se.DroppedAttrs)
+ default:
+ // Skip unknown.
+ }
+
+ if err != nil {
+ return err
+ }
+ }
+ return nil
+}
+
+// SpanLink is a reference from the current span to another span in the same
+// trace or in a different trace. For example, this can be used in batching
+// operations, where a single batch handler processes multiple requests from
+// different traces or when the handler receives a request from a different
+// project.
+type SpanLink struct {
+ // A unique identifier of a trace that this linked span is part of. The ID is a
+ // 16-byte array.
+ TraceID TraceID `json:"traceId,omitempty"`
+ // A unique identifier for the linked span. The ID is an 8-byte array.
+ SpanID SpanID `json:"spanId,omitempty"`
+ // The trace_state associated with the link.
+ TraceState string `json:"traceState,omitempty"`
+ // attributes is a collection of attribute key/value pairs on the link.
+ // Attribute keys MUST be unique (it is not allowed to have more than one
+ // attribute with the same key).
+ Attrs []Attr `json:"attributes,omitempty"`
+ // dropped_attributes_count is the number of dropped attributes. If the value is 0,
+ // then no attributes were dropped.
+ DroppedAttrs uint32 `json:"droppedAttributesCount,omitempty"`
+ // Flags, a bit field.
+ //
+ // Bits 0-7 (8 least significant bits) are the trace flags as defined in W3C Trace
+ // Context specification. To read the 8-bit W3C trace flag, use
+ // `flags & SPAN_FLAGS_TRACE_FLAGS_MASK`.
+ //
+ // See https://www.w3.org/TR/trace-context-2/#trace-flags for the flag definitions.
+ //
+ // Bits 8 and 9 represent the 3 states of whether the link is remote.
+ // The states are (unknown, is not remote, is remote).
+ // To read whether the value is known, use `(flags & SPAN_FLAGS_CONTEXT_HAS_IS_REMOTE_MASK) != 0`.
+ // To read whether the link is remote, use `(flags & SPAN_FLAGS_CONTEXT_IS_REMOTE_MASK) != 0`.
+ //
+ // Readers MUST NOT assume that bits 10-31 (22 most significant bits) will be zero.
+ // When creating new spans, bits 10-31 (most-significant 22-bits) MUST be zero.
+ //
+ // [Optional].
+ Flags uint32 `json:"flags,omitempty"`
+}
+
+// UnmarshalJSON decodes the OTLP formatted JSON contained in data into sl.
+func (sl *SpanLink) UnmarshalJSON(data []byte) error {
+ decoder := json.NewDecoder(bytes.NewReader(data))
+
+ t, err := decoder.Token()
+ if err != nil {
+ return err
+ }
+ if t != json.Delim('{') {
+ return errors.New("invalid SpanLink type")
+ }
+
+ for decoder.More() {
+ keyIface, err := decoder.Token()
+ if err != nil {
+ if errors.Is(err, io.EOF) {
+ // Empty.
+ return nil
+ }
+ return err
+ }
+
+ key, ok := keyIface.(string)
+ if !ok {
+ return fmt.Errorf("invalid SpanLink field: %#v", keyIface)
+ }
+
+ switch key {
+ case "traceId", "trace_id":
+ err = decoder.Decode(&sl.TraceID)
+ case "spanId", "span_id":
+ err = decoder.Decode(&sl.SpanID)
+ case "traceState", "trace_state":
+ err = decoder.Decode(&sl.TraceState)
+ case "attributes":
+ err = decoder.Decode(&sl.Attrs)
+ case "droppedAttributesCount", "dropped_attributes_count":
+ err = decoder.Decode(&sl.DroppedAttrs)
+ case "flags":
+ err = decoder.Decode(&sl.Flags)
+ default:
+ // Skip unknown.
+ }
+
+ if err != nil {
+ return err
+ }
+ }
+ return nil
+}
diff --git a/vendor/go.opentelemetry.io/otel/trace/internal/telemetry/status.go b/vendor/go.opentelemetry.io/otel/trace/internal/telemetry/status.go
new file mode 100644
index 0000000000..1039bf40cd
--- /dev/null
+++ b/vendor/go.opentelemetry.io/otel/trace/internal/telemetry/status.go
@@ -0,0 +1,42 @@
+// Copyright The OpenTelemetry Authors
+// SPDX-License-Identifier: Apache-2.0
+
+package telemetry // import "go.opentelemetry.io/otel/trace/internal/telemetry"
+
+// StatusCode is the status of a Span.
+//
+// For the semantics of status codes see
+// https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/trace/api.md#set-status
+type StatusCode int32
+
+const (
+ // StatusCodeUnset is the default status.
+ StatusCodeUnset StatusCode = 0
+ // StatusCodeOK is used when the Span has been validated by an Application
+ // developer or Operator to have completed successfully.
+ StatusCodeOK StatusCode = 1
+ // StatusCodeError is used when the Span contains an error.
+ StatusCodeError StatusCode = 2
+)
+
+var statusCodeStrings = []string{
+ "Unset",
+ "OK",
+ "Error",
+}
+
+func (s StatusCode) String() string {
+ if s >= 0 && int(s) < len(statusCodeStrings) {
+ return statusCodeStrings[s]
+ }
+ return ""
+}
+
+// Status defines a logical error model that is suitable for different
+// programming environments, including REST APIs and RPC APIs.
+type Status struct {
+ // A developer-facing human readable error message.
+ Message string `json:"message,omitempty"`
+ // The status code.
+ Code StatusCode `json:"code,omitempty"`
+}
diff --git a/vendor/go.opentelemetry.io/otel/trace/internal/telemetry/traces.go b/vendor/go.opentelemetry.io/otel/trace/internal/telemetry/traces.go
new file mode 100644
index 0000000000..e5f10767ca
--- /dev/null
+++ b/vendor/go.opentelemetry.io/otel/trace/internal/telemetry/traces.go
@@ -0,0 +1,189 @@
+// Copyright The OpenTelemetry Authors
+// SPDX-License-Identifier: Apache-2.0
+
+package telemetry // import "go.opentelemetry.io/otel/trace/internal/telemetry"
+
+import (
+ "bytes"
+ "encoding/json"
+ "errors"
+ "fmt"
+ "io"
+)
+
+// Traces represents the traces data that can be stored in a persistent storage,
+// OR can be embedded by other protocols that transfer OTLP traces data but do
+// not implement the OTLP protocol.
+//
+// The main difference between this message and collector protocol is that
+// in this message there will not be any "control" or "metadata" specific to
+// OTLP protocol.
+//
+// When new fields are added into this message, the OTLP request MUST be updated
+// as well.
+type Traces struct {
+ // An array of ResourceSpans.
+ // For data coming from a single resource this array will typically contain
+ // one element. Intermediary nodes that receive data from multiple origins
+ // typically batch the data before forwarding further and in that case this
+ // array will contain multiple elements.
+ ResourceSpans []*ResourceSpans `json:"resourceSpans,omitempty"`
+}
+
+// UnmarshalJSON decodes the OTLP formatted JSON contained in data into td.
+func (td *Traces) UnmarshalJSON(data []byte) error {
+ decoder := json.NewDecoder(bytes.NewReader(data))
+
+ t, err := decoder.Token()
+ if err != nil {
+ return err
+ }
+ if t != json.Delim('{') {
+ return errors.New("invalid TracesData type")
+ }
+
+ for decoder.More() {
+ keyIface, err := decoder.Token()
+ if err != nil {
+ if errors.Is(err, io.EOF) {
+ // Empty.
+ return nil
+ }
+ return err
+ }
+
+ key, ok := keyIface.(string)
+ if !ok {
+ return fmt.Errorf("invalid TracesData field: %#v", keyIface)
+ }
+
+ switch key {
+ case "resourceSpans", "resource_spans":
+ err = decoder.Decode(&td.ResourceSpans)
+ default:
+ // Skip unknown.
+ }
+
+ if err != nil {
+ return err
+ }
+ }
+ return nil
+}
+
+// ResourceSpans is a collection of ScopeSpans from a Resource.
+type ResourceSpans struct {
+ // The resource for the spans in this message.
+ // If this field is not set then no resource info is known.
+ Resource Resource `json:"resource"`
+ // A list of ScopeSpans that originate from a resource.
+ ScopeSpans []*ScopeSpans `json:"scopeSpans,omitempty"`
+ // This schema_url applies to the data in the "resource" field. It does not apply
+ // to the data in the "scope_spans" field which have their own schema_url field.
+ SchemaURL string `json:"schemaUrl,omitempty"`
+}
+
+// UnmarshalJSON decodes the OTLP formatted JSON contained in data into rs.
+func (rs *ResourceSpans) UnmarshalJSON(data []byte) error {
+ decoder := json.NewDecoder(bytes.NewReader(data))
+
+ t, err := decoder.Token()
+ if err != nil {
+ return err
+ }
+ if t != json.Delim('{') {
+ return errors.New("invalid ResourceSpans type")
+ }
+
+ for decoder.More() {
+ keyIface, err := decoder.Token()
+ if err != nil {
+ if errors.Is(err, io.EOF) {
+ // Empty.
+ return nil
+ }
+ return err
+ }
+
+ key, ok := keyIface.(string)
+ if !ok {
+ return fmt.Errorf("invalid ResourceSpans field: %#v", keyIface)
+ }
+
+ switch key {
+ case "resource":
+ err = decoder.Decode(&rs.Resource)
+ case "scopeSpans", "scope_spans":
+ err = decoder.Decode(&rs.ScopeSpans)
+ case "schemaUrl", "schema_url":
+ err = decoder.Decode(&rs.SchemaURL)
+ default:
+ // Skip unknown.
+ }
+
+ if err != nil {
+ return err
+ }
+ }
+ return nil
+}
+
+// ScopeSpans is a collection of Spans produced by an InstrumentationScope.
+type ScopeSpans struct {
+ // The instrumentation scope information for the spans in this message.
+ // Semantically when InstrumentationScope isn't set, it is equivalent with
+ // an empty instrumentation scope name (unknown).
+ Scope *Scope `json:"scope"`
+ // A list of Spans that originate from an instrumentation scope.
+ Spans []*Span `json:"spans,omitempty"`
+ // The Schema URL, if known. This is the identifier of the Schema that the span data
+ // is recorded in. To learn more about Schema URL see
+ // https://opentelemetry.io/docs/specs/otel/schemas/#schema-url
+ // This schema_url applies to all spans and span events in the "spans" field.
+ SchemaURL string `json:"schemaUrl,omitempty"`
+}
+
+// UnmarshalJSON decodes the OTLP formatted JSON contained in data into ss.
+func (ss *ScopeSpans) UnmarshalJSON(data []byte) error {
+ decoder := json.NewDecoder(bytes.NewReader(data))
+
+ t, err := decoder.Token()
+ if err != nil {
+ return err
+ }
+ if t != json.Delim('{') {
+ return errors.New("invalid ScopeSpans type")
+ }
+
+ for decoder.More() {
+ keyIface, err := decoder.Token()
+ if err != nil {
+ if errors.Is(err, io.EOF) {
+ // Empty.
+ return nil
+ }
+ return err
+ }
+
+ key, ok := keyIface.(string)
+ if !ok {
+ return fmt.Errorf("invalid ScopeSpans field: %#v", keyIface)
+ }
+
+ switch key {
+ case "scope":
+ err = decoder.Decode(&ss.Scope)
+ case "spans":
+ err = decoder.Decode(&ss.Spans)
+ case "schemaUrl", "schema_url":
+ err = decoder.Decode(&ss.SchemaURL)
+ default:
+ // Skip unknown.
+ }
+
+ if err != nil {
+ return err
+ }
+ }
+ return nil
+}
diff --git a/vendor/go.opentelemetry.io/otel/trace/internal/telemetry/value.go b/vendor/go.opentelemetry.io/otel/trace/internal/telemetry/value.go
new file mode 100644
index 0000000000..ae9ce102a9
--- /dev/null
+++ b/vendor/go.opentelemetry.io/otel/trace/internal/telemetry/value.go
@@ -0,0 +1,453 @@
+// Copyright The OpenTelemetry Authors
+// SPDX-License-Identifier: Apache-2.0
+
+package telemetry // import "go.opentelemetry.io/otel/trace/internal/telemetry"
+
+import (
+ "bytes"
+ "cmp"
+ "encoding/base64"
+ "encoding/json"
+ "errors"
+ "fmt"
+ "io"
+ "math"
+ "slices"
+ "strconv"
+ "unsafe"
+)
+
+// A Value represents a structured value.
+// A zero value is valid and represents an empty value.
+type Value struct {
+ // Ensure forward compatibility by explicitly making this not comparable.
+ noCmp [0]func() //nolint: unused // This is indeed used.
+
+ // num holds the value for Int64, Float64, and Bool. It holds the length
+ // for String, Bytes, Slice, Map.
+ num uint64
+ // any holds either the KindBool, KindInt64, KindFloat64, stringptr,
+ // bytesptr, sliceptr, or mapptr. If KindBool, KindInt64, or KindFloat64
+ // then the value of Value is in num as described above. Otherwise, it
+ // contains the value wrapped in the appropriate type.
+ any any
+}
+
+type (
+ // sliceptr represents a value in Value.any for KindString Values.
+ stringptr *byte
+ // bytesptr represents a value in Value.any for KindBytes Values.
+ bytesptr *byte
+ // sliceptr represents a value in Value.any for KindSlice Values.
+ sliceptr *Value
+ // mapptr represents a value in Value.any for KindMap Values.
+ mapptr *Attr
+)
+
+// ValueKind is the kind of a [Value].
+type ValueKind int
+
+// ValueKind values.
+const (
+ ValueKindEmpty ValueKind = iota
+ ValueKindBool
+ ValueKindFloat64
+ ValueKindInt64
+ ValueKindString
+ ValueKindBytes
+ ValueKindSlice
+ ValueKindMap
+)
+
+var valueKindStrings = []string{
+ "Empty",
+ "Bool",
+ "Float64",
+ "Int64",
+ "String",
+ "Bytes",
+ "Slice",
+ "Map",
+}
+
+func (k ValueKind) String() string {
+ if k >= 0 && int(k) < len(valueKindStrings) {
+ return valueKindStrings[k]
+ }
+ return ""
+}
+
+// StringValue returns a new [Value] for a string.
+func StringValue(v string) Value {
+ return Value{
+ num: uint64(len(v)),
+ any: stringptr(unsafe.StringData(v)),
+ }
+}
+
+// IntValue returns a [Value] for an int.
+func IntValue(v int) Value { return Int64Value(int64(v)) }
+
+// Int64Value returns a [Value] for an int64.
+func Int64Value(v int64) Value {
+ return Value{
+ num: uint64(v), // nolint: gosec // Store raw bytes.
+ any: ValueKindInt64,
+ }
+}
+
+// Float64Value returns a [Value] for a float64.
+func Float64Value(v float64) Value {
+ return Value{num: math.Float64bits(v), any: ValueKindFloat64}
+}
+
+// BoolValue returns a [Value] for a bool.
+func BoolValue(v bool) Value { //nolint:revive // Not a control flag.
+ var n uint64
+ if v {
+ n = 1
+ }
+ return Value{num: n, any: ValueKindBool}
+}
+
+// BytesValue returns a [Value] for a byte slice. The passed slice must not be
+// changed after it is passed.
+func BytesValue(v []byte) Value {
+ return Value{
+ num: uint64(len(v)),
+ any: bytesptr(unsafe.SliceData(v)),
+ }
+}
+
+// SliceValue returns a [Value] for a slice of [Value]. The passed slice must
+// not be changed after it is passed.
+func SliceValue(vs ...Value) Value {
+ return Value{
+ num: uint64(len(vs)),
+ any: sliceptr(unsafe.SliceData(vs)),
+ }
+}
+
+// MapValue returns a new [Value] for a slice of key-value pairs. The passed
+// slice must not be changed after it is passed.
+func MapValue(kvs ...Attr) Value {
+ return Value{
+ num: uint64(len(kvs)),
+ any: mapptr(unsafe.SliceData(kvs)),
+ }
+}
+
+// AsString returns the value held by v as a string.
+func (v Value) AsString() string {
+ if sp, ok := v.any.(stringptr); ok {
+ return unsafe.String(sp, v.num)
+ }
+ // TODO: error handle
+ return ""
+}
+
+// asString returns the value held by v as a string. It will panic if the Value
+// is not KindString.
+func (v Value) asString() string {
+ return unsafe.String(v.any.(stringptr), v.num)
+}
+
+// AsInt64 returns the value held by v as an int64.
+func (v Value) AsInt64() int64 {
+ if v.Kind() != ValueKindInt64 {
+ // TODO: error handle
+ return 0
+ }
+ return v.asInt64()
+}
+
+// asInt64 returns the value held by v as an int64. If v is not of KindInt64,
+// this will return garbage.
+func (v Value) asInt64() int64 {
+ // Assumes v.num was a valid int64 (overflow not checked).
+ return int64(v.num) // nolint: gosec
+}
+
+// AsBool returns the value held by v as a bool.
+func (v Value) AsBool() bool {
+ if v.Kind() != ValueKindBool {
+ // TODO: error handle
+ return false
+ }
+ return v.asBool()
+}
+
+// asBool returns the value held by v as a bool. If v is not of KindBool, this
+// will return garbage.
+func (v Value) asBool() bool { return v.num == 1 }
+
+// AsFloat64 returns the value held by v as a float64.
+func (v Value) AsFloat64() float64 {
+ if v.Kind() != ValueKindFloat64 {
+ // TODO: error handle
+ return 0
+ }
+ return v.asFloat64()
+}
+
+// asFloat64 returns the value held by v as a float64. If v is not of
+// KindFloat64, this will return garbage.
+func (v Value) asFloat64() float64 { return math.Float64frombits(v.num) }
+
+// AsBytes returns the value held by v as a []byte.
+func (v Value) AsBytes() []byte {
+ if sp, ok := v.any.(bytesptr); ok {
+ return unsafe.Slice((*byte)(sp), v.num)
+ }
+ // TODO: error handle
+ return nil
+}
+
+// asBytes returns the value held by v as a []byte. It will panic if the Value
+// is not KindBytes.
+func (v Value) asBytes() []byte {
+ return unsafe.Slice((*byte)(v.any.(bytesptr)), v.num)
+}
+
+// AsSlice returns the value held by v as a []Value.
+func (v Value) AsSlice() []Value {
+ if sp, ok := v.any.(sliceptr); ok {
+ return unsafe.Slice((*Value)(sp), v.num)
+ }
+ // TODO: error handle
+ return nil
+}
+
+// asSlice returns the value held by v as a []Value. It will panic if the Value
+// is not KindSlice.
+func (v Value) asSlice() []Value {
+ return unsafe.Slice((*Value)(v.any.(sliceptr)), v.num)
+}
+
+// AsMap returns the value held by v as a []Attr.
+func (v Value) AsMap() []Attr {
+ if sp, ok := v.any.(mapptr); ok {
+ return unsafe.Slice((*Attr)(sp), v.num)
+ }
+ // TODO: error handle
+ return nil
+}
+
+// asMap returns the value held by v as a []Attr. It will panic if the
+// Value is not KindMap.
+func (v Value) asMap() []Attr {
+ return unsafe.Slice((*Attr)(v.any.(mapptr)), v.num)
+}
+
+// Kind returns the Kind of v.
+func (v Value) Kind() ValueKind {
+ switch x := v.any.(type) {
+ case ValueKind:
+ return x
+ case stringptr:
+ return ValueKindString
+ case bytesptr:
+ return ValueKindBytes
+ case sliceptr:
+ return ValueKindSlice
+ case mapptr:
+ return ValueKindMap
+ default:
+ return ValueKindEmpty
+ }
+}
+
+// Empty returns if v does not hold any value.
+func (v Value) Empty() bool { return v.Kind() == ValueKindEmpty }
+
+// Equal returns if v is equal to w.
+func (v Value) Equal(w Value) bool {
+ k1 := v.Kind()
+ k2 := w.Kind()
+ if k1 != k2 {
+ return false
+ }
+ switch k1 {
+ case ValueKindInt64, ValueKindBool:
+ return v.num == w.num
+ case ValueKindString:
+ return v.asString() == w.asString()
+ case ValueKindFloat64:
+ return v.asFloat64() == w.asFloat64()
+ case ValueKindSlice:
+ return slices.EqualFunc(v.asSlice(), w.asSlice(), Value.Equal)
+ case ValueKindMap:
+ sv := sortMap(v.asMap())
+ sw := sortMap(w.asMap())
+ return slices.EqualFunc(sv, sw, Attr.Equal)
+ case ValueKindBytes:
+ return bytes.Equal(v.asBytes(), w.asBytes())
+ case ValueKindEmpty:
+ return true
+ default:
+ // TODO: error handle
+ return false
+ }
+}
+
+func sortMap(m []Attr) []Attr {
+ sm := make([]Attr, len(m))
+ copy(sm, m)
+ slices.SortFunc(sm, func(a, b Attr) int {
+ return cmp.Compare(a.Key, b.Key)
+ })
+
+ return sm
+}
+
+// String returns Value's value as a string, formatted like [fmt.Sprint].
+//
+// The returned string is meant for debugging;
+// the string representation is not stable.
+func (v Value) String() string {
+ switch v.Kind() {
+ case ValueKindString:
+ return v.asString()
+ case ValueKindInt64:
+ // Assumes v.num was a valid int64 (overflow not checked).
+ return strconv.FormatInt(int64(v.num), 10) // nolint: gosec
+ case ValueKindFloat64:
+ return strconv.FormatFloat(v.asFloat64(), 'g', -1, 64)
+ case ValueKindBool:
+ return strconv.FormatBool(v.asBool())
+ case ValueKindBytes:
+ return string(v.asBytes())
+ case ValueKindMap:
+ return fmt.Sprint(v.asMap())
+ case ValueKindSlice:
+ return fmt.Sprint(v.asSlice())
+ case ValueKindEmpty:
+ return ""
+ default:
+ // Try to handle this as gracefully as possible.
+ //
+ // Don't panic here. The goal here is to have developers find this
+ // first if a slog.Kind is is not handled. It is
+ // preferable to have user's open issue asking why their attributes
+ // have a "unhandled: " prefix than say that their code is panicking.
+ return fmt.Sprintf("", v.Kind())
+ }
+}
+
+// MarshalJSON encodes v into OTLP formatted JSON.
+func (v *Value) MarshalJSON() ([]byte, error) {
+ switch v.Kind() {
+ case ValueKindString:
+ return json.Marshal(struct {
+ Value string `json:"stringValue"`
+ }{v.asString()})
+ case ValueKindInt64:
+ return json.Marshal(struct {
+ Value string `json:"intValue"`
+ }{strconv.FormatInt(int64(v.num), 10)}) // nolint: gosec // From raw bytes.
+ case ValueKindFloat64:
+ return json.Marshal(struct {
+ Value float64 `json:"doubleValue"`
+ }{v.asFloat64()})
+ case ValueKindBool:
+ return json.Marshal(struct {
+ Value bool `json:"boolValue"`
+ }{v.asBool()})
+ case ValueKindBytes:
+ return json.Marshal(struct {
+ Value []byte `json:"bytesValue"`
+ }{v.asBytes()})
+ case ValueKindMap:
+ return json.Marshal(struct {
+ Value struct {
+ Values []Attr `json:"values"`
+ } `json:"kvlistValue"`
+ }{struct {
+ Values []Attr `json:"values"`
+ }{v.asMap()}})
+ case ValueKindSlice:
+ return json.Marshal(struct {
+ Value struct {
+ Values []Value `json:"values"`
+ } `json:"arrayValue"`
+ }{struct {
+ Values []Value `json:"values"`
+ }{v.asSlice()}})
+ case ValueKindEmpty:
+ return nil, nil
+ default:
+ return nil, fmt.Errorf("unknown Value kind: %s", v.Kind().String())
+ }
+}
+
+// UnmarshalJSON decodes the OTLP formatted JSON contained in data into v.
+func (v *Value) UnmarshalJSON(data []byte) error {
+ decoder := json.NewDecoder(bytes.NewReader(data))
+
+ t, err := decoder.Token()
+ if err != nil {
+ return err
+ }
+ if t != json.Delim('{') {
+ return errors.New("invalid Value type")
+ }
+
+ for decoder.More() {
+ keyIface, err := decoder.Token()
+ if err != nil {
+ if errors.Is(err, io.EOF) {
+ // Empty.
+ return nil
+ }
+ return err
+ }
+
+ key, ok := keyIface.(string)
+ if !ok {
+ return fmt.Errorf("invalid Value key: %#v", keyIface)
+ }
+
+ switch key {
+ case "stringValue", "string_value":
+ var val string
+ err = decoder.Decode(&val)
+ *v = StringValue(val)
+ case "boolValue", "bool_value":
+ var val bool
+ err = decoder.Decode(&val)
+ *v = BoolValue(val)
+ case "intValue", "int_value":
+ var val protoInt64
+ err = decoder.Decode(&val)
+ *v = Int64Value(val.Int64())
+ case "doubleValue", "double_value":
+ var val float64
+ err = decoder.Decode(&val)
+ *v = Float64Value(val)
+ case "bytesValue", "bytes_value":
+ var val64 string
+ if err := decoder.Decode(&val64); err != nil {
+ return err
+ }
+ var val []byte
+ val, err = base64.StdEncoding.DecodeString(val64)
+ *v = BytesValue(val)
+ case "arrayValue", "array_value":
+ var val struct{ Values []Value }
+ err = decoder.Decode(&val)
+ *v = SliceValue(val.Values...)
+ case "kvlistValue", "kvlist_value":
+ var val struct{ Values []Attr }
+ err = decoder.Decode(&val)
+ *v = MapValue(val.Values...)
+ default:
+ // Skip unknown.
+ continue
+ }
+ // Use first valid. Ignore the rest.
+ return err
+ }
+
+ // Only unknown fields. Return nil without unmarshaling any value.
+ return nil
+}
diff --git a/vendor/go.opentelemetry.io/otel/trace/noop.go b/vendor/go.opentelemetry.io/otel/trace/noop.go
index ca20e9997a..0f56e4dbb3 100644
--- a/vendor/go.opentelemetry.io/otel/trace/noop.go
+++ b/vendor/go.opentelemetry.io/otel/trace/noop.go
@@ -82,4 +82,24 @@ func (noopSpan) AddLink(Link) {}
func (noopSpan) SetName(string) {}
// TracerProvider returns a no-op TracerProvider.
-func (noopSpan) TracerProvider() TracerProvider { return noopTracerProvider{} }
+func (s noopSpan) TracerProvider() TracerProvider {
+ return s.tracerProvider(autoInstEnabled)
+}
+
+// autoInstEnabled defines if the auto-instrumentation SDK is enabled.
+//
+// The auto-instrumentation is expected to overwrite this value to true when it
+// attaches to the process.
+var autoInstEnabled = new(bool)
+
+// tracerProvider return a noopTracerProvider if autoEnabled is false,
+// otherwise it will return a TracerProvider from the sdk package used in
+// auto-instrumentation.
+//
+//go:noinline
+func (noopSpan) tracerProvider(autoEnabled *bool) TracerProvider {
+ if *autoEnabled {
+ return newAutoTracerProvider()
+ }
+ return noopTracerProvider{}
+}
diff --git a/vendor/go.opentelemetry.io/otel/verify_readmes.sh b/vendor/go.opentelemetry.io/otel/verify_readmes.sh
deleted file mode 100644
index 1e87855eea..0000000000
--- a/vendor/go.opentelemetry.io/otel/verify_readmes.sh
+++ /dev/null
@@ -1,21 +0,0 @@
-#!/bin/bash
-
-# Copyright The OpenTelemetry Authors
-# SPDX-License-Identifier: Apache-2.0
-
-set -euo pipefail
-
-dirs=$(find . -type d -not -path "*/internal*" -not -path "*/test*" -not -path "*/example*" -not -path "*/.*" | sort)
-
-missingReadme=false
-for dir in $dirs; do
- if [ ! -f "$dir/README.md" ]; then
- echo "couldn't find README.md for $dir"
- missingReadme=true
- fi
-done
-
-if [ "$missingReadme" = true ] ; then
- echo "Error: some READMEs couldn't be found."
- exit 1
-fi
diff --git a/vendor/go.opentelemetry.io/otel/version.go b/vendor/go.opentelemetry.io/otel/version.go
index eb22002d82..7afe92b598 100644
--- a/vendor/go.opentelemetry.io/otel/version.go
+++ b/vendor/go.opentelemetry.io/otel/version.go
@@ -5,5 +5,5 @@ package otel // import "go.opentelemetry.io/otel"
// Version is the current release version of OpenTelemetry in use.
func Version() string {
- return "1.34.0"
+ return "1.37.0"
}
diff --git a/vendor/go.opentelemetry.io/otel/versions.yaml b/vendor/go.opentelemetry.io/otel/versions.yaml
index ce4fe59b0e..9d4742a176 100644
--- a/vendor/go.opentelemetry.io/otel/versions.yaml
+++ b/vendor/go.opentelemetry.io/otel/versions.yaml
@@ -3,13 +3,12 @@
module-sets:
stable-v1:
- version: v1.34.0
+ version: v1.37.0
modules:
- go.opentelemetry.io/otel
- go.opentelemetry.io/otel/bridge/opencensus
- go.opentelemetry.io/otel/bridge/opencensus/test
- go.opentelemetry.io/otel/bridge/opentracing
- - go.opentelemetry.io/otel/bridge/opentracing/test
- go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc
- go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp
- go.opentelemetry.io/otel/exporters/otlp/otlptrace
@@ -23,14 +22,16 @@ module-sets:
- go.opentelemetry.io/otel/sdk/metric
- go.opentelemetry.io/otel/trace
experimental-metrics:
- version: v0.56.0
+ version: v0.59.0
modules:
- go.opentelemetry.io/otel/exporters/prometheus
experimental-logs:
- version: v0.10.0
+ version: v0.13.0
modules:
- go.opentelemetry.io/otel/log
+ - go.opentelemetry.io/otel/log/logtest
- go.opentelemetry.io/otel/sdk/log
+ - go.opentelemetry.io/otel/sdk/log/logtest
- go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploggrpc
- go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp
- go.opentelemetry.io/otel/exporters/stdout/stdoutlog
@@ -40,3 +41,4 @@ module-sets:
- go.opentelemetry.io/otel/schema
excluded-modules:
- go.opentelemetry.io/otel/internal/tools
+ - go.opentelemetry.io/otel/trace/internal/telemetry/test
diff --git a/vendor/golang.org/x/crypto/bcrypt/bcrypt.go b/vendor/golang.org/x/crypto/bcrypt/bcrypt.go
index dc9311870a..3e7f8df871 100644
--- a/vendor/golang.org/x/crypto/bcrypt/bcrypt.go
+++ b/vendor/golang.org/x/crypto/bcrypt/bcrypt.go
@@ -50,7 +50,7 @@ func (ih InvalidHashPrefixError) Error() string {
type InvalidCostError int
func (ic InvalidCostError) Error() string {
- return fmt.Sprintf("crypto/bcrypt: cost %d is outside allowed range (%d,%d)", int(ic), MinCost, MaxCost)
+ return fmt.Sprintf("crypto/bcrypt: cost %d is outside allowed inclusive range %d..%d", int(ic), MinCost, MaxCost)
}
const (
diff --git a/vendor/golang.org/x/mod/modfile/rule.go b/vendor/golang.org/x/mod/modfile/rule.go
index 3e4a1d0ab4..a86ee4fd82 100644
--- a/vendor/golang.org/x/mod/modfile/rule.go
+++ b/vendor/golang.org/x/mod/modfile/rule.go
@@ -20,10 +20,11 @@
package modfile
import (
+ "cmp"
"errors"
"fmt"
"path/filepath"
- "sort"
+ "slices"
"strconv"
"strings"
"unicode"
@@ -44,6 +45,7 @@ type File struct {
Replace []*Replace
Retract []*Retract
Tool []*Tool
+ Ignore []*Ignore
Syntax *FileSyntax
}
@@ -100,6 +102,12 @@ type Tool struct {
Syntax *Line
}
+// An Ignore is a single ignore statement.
+type Ignore struct {
+ Path string
+ Syntax *Line
+}
+
// A VersionInterval represents a range of versions with upper and lower bounds.
// Intervals are closed: both bounds are included. When Low is equal to High,
// the interval may refer to a single version ('v1.2.3') or an interval
@@ -304,7 +312,7 @@ func parseToFile(file string, data []byte, fix VersionFixer, strict bool) (parse
})
}
continue
- case "module", "godebug", "require", "exclude", "replace", "retract", "tool":
+ case "module", "godebug", "require", "exclude", "replace", "retract", "tool", "ignore":
for _, l := range x.Line {
f.add(&errs, x, l, x.Token[0], l.Token, fix, strict)
}
@@ -337,7 +345,7 @@ func (f *File) add(errs *ErrorList, block *LineBlock, line *Line, verb string, a
// and simply ignore those statements.
if !strict {
switch verb {
- case "go", "module", "retract", "require":
+ case "go", "module", "retract", "require", "ignore":
// want these even for dependency go.mods
default:
return
@@ -531,6 +539,21 @@ func (f *File) add(errs *ErrorList, block *LineBlock, line *Line, verb string, a
Path: s,
Syntax: line,
})
+
+ case "ignore":
+ if len(args) != 1 {
+ errorf("ignore directive expects exactly one argument")
+ return
+ }
+ s, err := parseString(&args[0])
+ if err != nil {
+ errorf("invalid quoted string: %v", err)
+ return
+ }
+ f.Ignore = append(f.Ignore, &Ignore{
+ Path: s,
+ Syntax: line,
+ })
}
}
@@ -1619,6 +1642,36 @@ func (f *File) DropTool(path string) error {
return nil
}
+// AddIgnore adds a new ignore directive with the given path.
+// It does nothing if the ignore line already exists.
+func (f *File) AddIgnore(path string) error {
+ for _, t := range f.Ignore {
+ if t.Path == path {
+ return nil
+ }
+ }
+
+ f.Ignore = append(f.Ignore, &Ignore{
+ Path: path,
+ Syntax: f.Syntax.addLine(nil, "ignore", path),
+ })
+
+ f.SortBlocks()
+ return nil
+}
+
+// DropIgnore removes a ignore directive with the given path.
+// It does nothing if no such ignore directive exists.
+func (f *File) DropIgnore(path string) error {
+ for _, t := range f.Ignore {
+ if t.Path == path {
+ t.Syntax.markRemoved()
+ *t = Ignore{}
+ }
+ }
+ return nil
+}
+
func (f *File) SortBlocks() {
f.removeDups() // otherwise sorting is unsafe
@@ -1633,15 +1686,13 @@ func (f *File) SortBlocks() {
if !ok {
continue
}
- less := lineLess
+ less := compareLine
if block.Token[0] == "exclude" && useSemanticSortForExclude {
- less = lineExcludeLess
+ less = compareLineExclude
} else if block.Token[0] == "retract" {
- less = lineRetractLess
+ less = compareLineRetract
}
- sort.SliceStable(block.Line, func(i, j int) bool {
- return less(block.Line[i], block.Line[j])
- })
+ slices.SortStableFunc(block.Line, less)
}
}
@@ -1657,10 +1708,10 @@ func (f *File) SortBlocks() {
// retract directives are not de-duplicated since comments are
// meaningful, and versions may be retracted multiple times.
func (f *File) removeDups() {
- removeDups(f.Syntax, &f.Exclude, &f.Replace, &f.Tool)
+ removeDups(f.Syntax, &f.Exclude, &f.Replace, &f.Tool, &f.Ignore)
}
-func removeDups(syntax *FileSyntax, exclude *[]*Exclude, replace *[]*Replace, tool *[]*Tool) {
+func removeDups(syntax *FileSyntax, exclude *[]*Exclude, replace *[]*Replace, tool *[]*Tool, ignore *[]*Ignore) {
kill := make(map[*Line]bool)
// Remove duplicate excludes.
@@ -1719,6 +1770,24 @@ func removeDups(syntax *FileSyntax, exclude *[]*Exclude, replace *[]*Replace, to
*tool = newTool
}
+ if ignore != nil {
+ haveIgnore := make(map[string]bool)
+ for _, i := range *ignore {
+ if haveIgnore[i.Path] {
+ kill[i.Syntax] = true
+ continue
+ }
+ haveIgnore[i.Path] = true
+ }
+ var newIgnore []*Ignore
+ for _, i := range *ignore {
+ if !kill[i.Syntax] {
+ newIgnore = append(newIgnore, i)
+ }
+ }
+ *ignore = newIgnore
+ }
+
// Duplicate require and retract directives are not removed.
// Drop killed statements from the syntax tree.
@@ -1746,39 +1815,38 @@ func removeDups(syntax *FileSyntax, exclude *[]*Exclude, replace *[]*Replace, to
syntax.Stmt = stmts
}
-// lineLess returns whether li should be sorted before lj. It sorts
-// lexicographically without assigning any special meaning to tokens.
-func lineLess(li, lj *Line) bool {
+// compareLine compares li and lj. It sorts lexicographically without assigning
+// any special meaning to tokens.
+func compareLine(li, lj *Line) int {
for k := 0; k < len(li.Token) && k < len(lj.Token); k++ {
if li.Token[k] != lj.Token[k] {
- return li.Token[k] < lj.Token[k]
+ return cmp.Compare(li.Token[k], lj.Token[k])
}
}
- return len(li.Token) < len(lj.Token)
+ return cmp.Compare(len(li.Token), len(lj.Token))
}
-// lineExcludeLess reports whether li should be sorted before lj for lines in
-// an "exclude" block.
-func lineExcludeLess(li, lj *Line) bool {
+// compareLineExclude compares li and lj for lines in an "exclude" block.
+func compareLineExclude(li, lj *Line) int {
if len(li.Token) != 2 || len(lj.Token) != 2 {
// Not a known exclude specification.
// Fall back to sorting lexicographically.
- return lineLess(li, lj)
+ return compareLine(li, lj)
}
// An exclude specification has two tokens: ModulePath and Version.
// Compare module path by string order and version by semver rules.
if pi, pj := li.Token[0], lj.Token[0]; pi != pj {
- return pi < pj
+ return cmp.Compare(pi, pj)
}
- return semver.Compare(li.Token[1], lj.Token[1]) < 0
+ return semver.Compare(li.Token[1], lj.Token[1])
}
-// lineRetractLess returns whether li should be sorted before lj for lines in
-// a "retract" block. It treats each line as a version interval. Single versions
-// are compared as if they were intervals with the same low and high version.
+// compareLineRetract compares li and lj for lines in a "retract" block.
+// It treats each line as a version interval. Single versions are compared as
+// if they were intervals with the same low and high version.
// Intervals are sorted in descending order, first by low version, then by
-// high version, using semver.Compare.
-func lineRetractLess(li, lj *Line) bool {
+// high version, using [semver.Compare].
+func compareLineRetract(li, lj *Line) int {
interval := func(l *Line) VersionInterval {
if len(l.Token) == 1 {
return VersionInterval{Low: l.Token[0], High: l.Token[0]}
@@ -1792,9 +1860,9 @@ func lineRetractLess(li, lj *Line) bool {
vii := interval(li)
vij := interval(lj)
if cmp := semver.Compare(vii.Low, vij.Low); cmp != 0 {
- return cmp > 0
+ return -cmp
}
- return semver.Compare(vii.High, vij.High) > 0
+ return -semver.Compare(vii.High, vij.High)
}
// checkCanonicalVersion returns a non-nil error if vers is not a canonical
diff --git a/vendor/golang.org/x/mod/modfile/work.go b/vendor/golang.org/x/mod/modfile/work.go
index 5387d0c265..09df5ea3c7 100644
--- a/vendor/golang.org/x/mod/modfile/work.go
+++ b/vendor/golang.org/x/mod/modfile/work.go
@@ -6,7 +6,7 @@ package modfile
import (
"fmt"
- "sort"
+ "slices"
"strings"
)
@@ -315,9 +315,7 @@ func (f *WorkFile) SortBlocks() {
if !ok {
continue
}
- sort.SliceStable(block.Line, func(i, j int) bool {
- return lineLess(block.Line[i], block.Line[j])
- })
+ slices.SortStableFunc(block.Line, compareLine)
}
}
@@ -331,5 +329,5 @@ func (f *WorkFile) SortBlocks() {
// retract directives are not de-duplicated since comments are
// meaningful, and versions may be retracted multiple times.
func (f *WorkFile) removeDups() {
- removeDups(f.Syntax, nil, &f.Replace, nil)
+ removeDups(f.Syntax, nil, &f.Replace, nil, nil)
}
diff --git a/vendor/golang.org/x/mod/module/module.go b/vendor/golang.org/x/mod/module/module.go
index 2a364b229b..16e1aa7ab4 100644
--- a/vendor/golang.org/x/mod/module/module.go
+++ b/vendor/golang.org/x/mod/module/module.go
@@ -96,10 +96,11 @@ package module
// Changes to the semantics in this file require approval from rsc.
import (
+ "cmp"
"errors"
"fmt"
"path"
- "sort"
+ "slices"
"strings"
"unicode"
"unicode/utf8"
@@ -657,17 +658,15 @@ func CanonicalVersion(v string) string {
// optionally followed by a tie-breaking suffix introduced by a slash character,
// like in "v0.0.1/go.mod".
func Sort(list []Version) {
- sort.Slice(list, func(i, j int) bool {
- mi := list[i]
- mj := list[j]
- if mi.Path != mj.Path {
- return mi.Path < mj.Path
+ slices.SortFunc(list, func(i, j Version) int {
+ if i.Path != j.Path {
+ return strings.Compare(i.Path, j.Path)
}
// To help go.sum formatting, allow version/file.
// Compare semver prefix by semver rules,
// file by string order.
- vi := mi.Version
- vj := mj.Version
+ vi := i.Version
+ vj := j.Version
var fi, fj string
if k := strings.Index(vi, "/"); k >= 0 {
vi, fi = vi[:k], vi[k:]
@@ -676,9 +675,9 @@ func Sort(list []Version) {
vj, fj = vj[:k], vj[k:]
}
if vi != vj {
- return semver.Compare(vi, vj) < 0
+ return semver.Compare(vi, vj)
}
- return fi < fj
+ return cmp.Compare(fi, fj)
})
}
diff --git a/vendor/golang.org/x/mod/semver/semver.go b/vendor/golang.org/x/mod/semver/semver.go
index 9a2dfd33a7..628f8fd687 100644
--- a/vendor/golang.org/x/mod/semver/semver.go
+++ b/vendor/golang.org/x/mod/semver/semver.go
@@ -22,7 +22,10 @@
// as shorthands for vMAJOR.0.0 and vMAJOR.MINOR.0.
package semver
-import "sort"
+import (
+ "slices"
+ "strings"
+)
// parsed returns the parsed form of a semantic version string.
type parsed struct {
@@ -154,19 +157,22 @@ func Max(v, w string) string {
// 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]
-}
+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 { return compareVersion(vs[i], vs[j]) < 0 }
-// Sort sorts a list of semantic version strings using [ByVersion].
+// Sort sorts a list of semantic version strings using [Compare] and falls back
+// to use [strings.Compare] if both versions are considered equal.
func Sort(list []string) {
- sort.Sort(ByVersion(list))
+ slices.SortFunc(list, compareVersion)
+}
+
+func compareVersion(a, b string) int {
+ cmp := Compare(a, b)
+ if cmp != 0 {
+ return cmp
+ }
+ return strings.Compare(a, b)
}
func parse(v string) (p parsed, ok bool) {
diff --git a/vendor/golang.org/x/net/http2/frame.go b/vendor/golang.org/x/net/http2/frame.go
index 97bd8b06f7..db3264da8c 100644
--- a/vendor/golang.org/x/net/http2/frame.go
+++ b/vendor/golang.org/x/net/http2/frame.go
@@ -39,7 +39,7 @@ const (
FrameContinuation FrameType = 0x9
)
-var frameName = map[FrameType]string{
+var frameNames = [...]string{
FrameData: "DATA",
FrameHeaders: "HEADERS",
FramePriority: "PRIORITY",
@@ -53,10 +53,10 @@ var frameName = map[FrameType]string{
}
func (t FrameType) String() string {
- if s, ok := frameName[t]; ok {
- return s
+ if int(t) < len(frameNames) {
+ return frameNames[t]
}
- return fmt.Sprintf("UNKNOWN_FRAME_TYPE_%d", uint8(t))
+ return fmt.Sprintf("UNKNOWN_FRAME_TYPE_%d", t)
}
// Flags is a bitmask of HTTP/2 flags.
@@ -124,7 +124,7 @@ var flagName = map[FrameType]map[Flags]string{
// might be 0).
type frameParser func(fc *frameCache, fh FrameHeader, countError func(string), payload []byte) (Frame, error)
-var frameParsers = map[FrameType]frameParser{
+var frameParsers = [...]frameParser{
FrameData: parseDataFrame,
FrameHeaders: parseHeadersFrame,
FramePriority: parsePriorityFrame,
@@ -138,8 +138,8 @@ var frameParsers = map[FrameType]frameParser{
}
func typeFrameParser(t FrameType) frameParser {
- if f := frameParsers[t]; f != nil {
- return f
+ if int(t) < len(frameParsers) {
+ return frameParsers[t]
}
return parseUnknownFrame
}
@@ -509,7 +509,7 @@ func (fr *Framer) ReadFrame() (Frame, error) {
}
if fh.Length > fr.maxReadSize {
if fh == invalidHTTP1LookingFrameHeader() {
- return nil, fmt.Errorf("http2: failed reading the frame payload: %w, note that the frame header looked like an HTTP/1.1 header", err)
+ return nil, fmt.Errorf("http2: failed reading the frame payload: %w, note that the frame header looked like an HTTP/1.1 header", ErrFrameTooLarge)
}
return nil, ErrFrameTooLarge
}
diff --git a/vendor/golang.org/x/net/trace/events.go b/vendor/golang.org/x/net/trace/events.go
index c646a6952e..3aaffdd1f7 100644
--- a/vendor/golang.org/x/net/trace/events.go
+++ b/vendor/golang.org/x/net/trace/events.go
@@ -508,7 +508,7 @@ const eventsHTML = `
| {{$el.When}} |
{{$el.ElapsedTime}} |
- {{$el.Title}}
+ | {{$el.Title}} |
{{if $.Expanded}}
diff --git a/vendor/golang.org/x/oauth2/internal/doc.go b/vendor/golang.org/x/oauth2/internal/doc.go
index 03265e888a..8c7c475f2d 100644
--- a/vendor/golang.org/x/oauth2/internal/doc.go
+++ b/vendor/golang.org/x/oauth2/internal/doc.go
@@ -2,5 +2,5 @@
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
-// Package internal contains support packages for oauth2 package.
+// Package internal contains support packages for [golang.org/x/oauth2].
package internal
diff --git a/vendor/golang.org/x/oauth2/internal/oauth2.go b/vendor/golang.org/x/oauth2/internal/oauth2.go
index 14989beaf4..71ea6ad1f5 100644
--- a/vendor/golang.org/x/oauth2/internal/oauth2.go
+++ b/vendor/golang.org/x/oauth2/internal/oauth2.go
@@ -13,7 +13,7 @@ import (
)
// ParseKey converts the binary contents of a private key file
-// to an *rsa.PrivateKey. It detects whether the private key is in a
+// to an [*rsa.PrivateKey]. It detects whether the private key is in a
// PEM container or not. If so, it extracts the private key
// from PEM container before conversion. It only supports PEM
// containers with no passphrase.
diff --git a/vendor/golang.org/x/oauth2/internal/token.go b/vendor/golang.org/x/oauth2/internal/token.go
index e83ddeef0f..8389f24629 100644
--- a/vendor/golang.org/x/oauth2/internal/token.go
+++ b/vendor/golang.org/x/oauth2/internal/token.go
@@ -10,7 +10,6 @@ import (
"errors"
"fmt"
"io"
- "io/ioutil"
"math"
"mime"
"net/http"
@@ -26,9 +25,9 @@ import (
// the requests to access protected resources on the OAuth 2.0
// provider's backend.
//
-// This type is a mirror of oauth2.Token and exists to break
+// This type is a mirror of [golang.org/x/oauth2.Token] and exists to break
// an otherwise-circular dependency. Other internal packages
-// should convert this Token into an oauth2.Token before use.
+// should convert this Token into an [golang.org/x/oauth2.Token] before use.
type Token struct {
// AccessToken is the token that authorizes and authenticates
// the requests.
@@ -50,9 +49,16 @@ type Token struct {
// mechanisms for that TokenSource will not be used.
Expiry time.Time
+ // ExpiresIn is the OAuth2 wire format "expires_in" field,
+ // which specifies how many seconds later the token expires,
+ // relative to an unknown time base approximately around "now".
+ // It is the application's responsibility to populate
+ // `Expiry` from `ExpiresIn` when required.
+ ExpiresIn int64 `json:"expires_in,omitempty"`
+
// Raw optionally contains extra metadata from the server
// when updating a token.
- Raw interface{}
+ Raw any
}
// tokenJSON is the struct representing the HTTP response from OAuth2
@@ -99,14 +105,6 @@ func (e *expirationTime) UnmarshalJSON(b []byte) error {
return nil
}
-// RegisterBrokenAuthHeaderProvider previously did something. It is now a no-op.
-//
-// Deprecated: this function no longer does anything. Caller code that
-// wants to avoid potential extra HTTP requests made during
-// auto-probing of the provider's auth style should set
-// Endpoint.AuthStyle.
-func RegisterBrokenAuthHeaderProvider(tokenURL string) {}
-
// AuthStyle is a copy of the golang.org/x/oauth2 package's AuthStyle type.
type AuthStyle int
@@ -143,6 +141,11 @@ func (lc *LazyAuthStyleCache) Get() *AuthStyleCache {
return c
}
+type authStyleCacheKey struct {
+ url string
+ clientID string
+}
+
// AuthStyleCache is the set of tokenURLs we've successfully used via
// RetrieveToken and which style auth we ended up using.
// It's called a cache, but it doesn't (yet?) shrink. It's expected that
@@ -150,26 +153,26 @@ func (lc *LazyAuthStyleCache) Get() *AuthStyleCache {
// small.
type AuthStyleCache struct {
mu sync.Mutex
- m map[string]AuthStyle // keyed by tokenURL
+ m map[authStyleCacheKey]AuthStyle
}
// lookupAuthStyle reports which auth style we last used with tokenURL
// when calling RetrieveToken and whether we have ever done so.
-func (c *AuthStyleCache) lookupAuthStyle(tokenURL string) (style AuthStyle, ok bool) {
+func (c *AuthStyleCache) lookupAuthStyle(tokenURL, clientID string) (style AuthStyle, ok bool) {
c.mu.Lock()
defer c.mu.Unlock()
- style, ok = c.m[tokenURL]
+ style, ok = c.m[authStyleCacheKey{tokenURL, clientID}]
return
}
// setAuthStyle adds an entry to authStyleCache, documented above.
-func (c *AuthStyleCache) setAuthStyle(tokenURL string, v AuthStyle) {
+func (c *AuthStyleCache) setAuthStyle(tokenURL, clientID string, v AuthStyle) {
c.mu.Lock()
defer c.mu.Unlock()
if c.m == nil {
- c.m = make(map[string]AuthStyle)
+ c.m = make(map[authStyleCacheKey]AuthStyle)
}
- c.m[tokenURL] = v
+ c.m[authStyleCacheKey{tokenURL, clientID}] = v
}
// newTokenRequest returns a new *http.Request to retrieve a new token
@@ -210,9 +213,9 @@ func cloneURLValues(v url.Values) url.Values {
}
func RetrieveToken(ctx context.Context, clientID, clientSecret, tokenURL string, v url.Values, authStyle AuthStyle, styleCache *AuthStyleCache) (*Token, error) {
- needsAuthStyleProbe := authStyle == 0
+ needsAuthStyleProbe := authStyle == AuthStyleUnknown
if needsAuthStyleProbe {
- if style, ok := styleCache.lookupAuthStyle(tokenURL); ok {
+ if style, ok := styleCache.lookupAuthStyle(tokenURL, clientID); ok {
authStyle = style
needsAuthStyleProbe = false
} else {
@@ -242,7 +245,7 @@ func RetrieveToken(ctx context.Context, clientID, clientSecret, tokenURL string,
token, err = doTokenRoundTrip(ctx, req)
}
if needsAuthStyleProbe && err == nil {
- styleCache.setAuthStyle(tokenURL, authStyle)
+ styleCache.setAuthStyle(tokenURL, clientID, authStyle)
}
// Don't overwrite `RefreshToken` with an empty value
// if this was a token refreshing request.
@@ -257,7 +260,7 @@ func doTokenRoundTrip(ctx context.Context, req *http.Request) (*Token, error) {
if err != nil {
return nil, err
}
- body, err := ioutil.ReadAll(io.LimitReader(r.Body, 1<<20))
+ body, err := io.ReadAll(io.LimitReader(r.Body, 1<<20))
r.Body.Close()
if err != nil {
return nil, fmt.Errorf("oauth2: cannot fetch token: %v", err)
@@ -312,7 +315,8 @@ func doTokenRoundTrip(ctx context.Context, req *http.Request) (*Token, error) {
TokenType: tj.TokenType,
RefreshToken: tj.RefreshToken,
Expiry: tj.expiry(),
- Raw: make(map[string]interface{}),
+ ExpiresIn: int64(tj.ExpiresIn),
+ Raw: make(map[string]any),
}
json.Unmarshal(body, &token.Raw) // no error checks for optional fields
}
diff --git a/vendor/golang.org/x/oauth2/internal/transport.go b/vendor/golang.org/x/oauth2/internal/transport.go
index b9db01ddfd..afc0aeb274 100644
--- a/vendor/golang.org/x/oauth2/internal/transport.go
+++ b/vendor/golang.org/x/oauth2/internal/transport.go
@@ -9,8 +9,8 @@ import (
"net/http"
)
-// HTTPClient is the context key to use with golang.org/x/net/context's
-// WithValue function to associate an *http.Client value with a context.
+// HTTPClient is the context key to use with [context.WithValue]
+// to associate an [*http.Client] value with a context.
var HTTPClient ContextKey
// ContextKey is just an empty struct. It exists so HTTPClient can be
diff --git a/vendor/golang.org/x/oauth2/oauth2.go b/vendor/golang.org/x/oauth2/oauth2.go
index eacdd7fd93..de34feb844 100644
--- a/vendor/golang.org/x/oauth2/oauth2.go
+++ b/vendor/golang.org/x/oauth2/oauth2.go
@@ -22,9 +22,9 @@ import (
)
// NoContext is the default context you should supply if not using
-// your own context.Context (see https://golang.org/x/net/context).
+// your own [context.Context].
//
-// Deprecated: Use context.Background() or context.TODO() instead.
+// Deprecated: Use [context.Background] or [context.TODO] instead.
var NoContext = context.TODO()
// RegisterBrokenAuthHeaderProvider previously did something. It is now a no-op.
@@ -37,8 +37,8 @@ func RegisterBrokenAuthHeaderProvider(tokenURL string) {}
// Config describes a typical 3-legged OAuth2 flow, with both the
// client application information and the server's endpoint URLs.
-// For the client credentials 2-legged OAuth2 flow, see the clientcredentials
-// package (https://golang.org/x/oauth2/clientcredentials).
+// For the client credentials 2-legged OAuth2 flow, see the
+// [golang.org/x/oauth2/clientcredentials] package.
type Config struct {
// ClientID is the application's ID.
ClientID string
@@ -46,7 +46,7 @@ type Config struct {
// ClientSecret is the application's secret.
ClientSecret string
- // Endpoint contains the resource server's token endpoint
+ // Endpoint contains the authorization server's token endpoint
// URLs. These are constants specific to each server and are
// often available via site-specific packages, such as
// google.Endpoint or github.Endpoint.
@@ -135,7 +135,7 @@ type setParam struct{ k, v string }
func (p setParam) setValue(m url.Values) { m.Set(p.k, p.v) }
-// SetAuthURLParam builds an AuthCodeOption which passes key/value parameters
+// SetAuthURLParam builds an [AuthCodeOption] which passes key/value parameters
// to a provider's authorization endpoint.
func SetAuthURLParam(key, value string) AuthCodeOption {
return setParam{key, value}
@@ -148,8 +148,8 @@ func SetAuthURLParam(key, value string) AuthCodeOption {
// request and callback. The authorization server includes this value when
// redirecting the user agent back to the client.
//
-// Opts may include AccessTypeOnline or AccessTypeOffline, as well
-// as ApprovalForce.
+// Opts may include [AccessTypeOnline] or [AccessTypeOffline], as well
+// as [ApprovalForce].
//
// To protect against CSRF attacks, opts should include a PKCE challenge
// (S256ChallengeOption). Not all servers support PKCE. An alternative is to
@@ -194,7 +194,7 @@ func (c *Config) AuthCodeURL(state string, opts ...AuthCodeOption) string {
// and when other authorization grant types are not available."
// See https://tools.ietf.org/html/rfc6749#section-4.3 for more info.
//
-// The provided context optionally controls which HTTP client is used. See the HTTPClient variable.
+// The provided context optionally controls which HTTP client is used. See the [HTTPClient] variable.
func (c *Config) PasswordCredentialsToken(ctx context.Context, username, password string) (*Token, error) {
v := url.Values{
"grant_type": {"password"},
@@ -212,10 +212,10 @@ func (c *Config) PasswordCredentialsToken(ctx context.Context, username, passwor
// It is used after a resource provider redirects the user back
// to the Redirect URI (the URL obtained from AuthCodeURL).
//
-// The provided context optionally controls which HTTP client is used. See the HTTPClient variable.
+// The provided context optionally controls which HTTP client is used. See the [HTTPClient] variable.
//
-// The code will be in the *http.Request.FormValue("code"). Before
-// calling Exchange, be sure to validate FormValue("state") if you are
+// The code will be in the [http.Request.FormValue]("code"). Before
+// calling Exchange, be sure to validate [http.Request.FormValue]("state") if you are
// using it to protect against CSRF attacks.
//
// If using PKCE to protect against CSRF attacks, opts should include a
@@ -242,10 +242,10 @@ func (c *Config) Client(ctx context.Context, t *Token) *http.Client {
return NewClient(ctx, c.TokenSource(ctx, t))
}
-// TokenSource returns a TokenSource that returns t until t expires,
+// TokenSource returns a [TokenSource] that returns t until t expires,
// automatically refreshing it as necessary using the provided context.
//
-// Most users will use Config.Client instead.
+// Most users will use [Config.Client] instead.
func (c *Config) TokenSource(ctx context.Context, t *Token) TokenSource {
tkr := &tokenRefresher{
ctx: ctx,
@@ -260,7 +260,7 @@ func (c *Config) TokenSource(ctx context.Context, t *Token) TokenSource {
}
}
-// tokenRefresher is a TokenSource that makes "grant_type"=="refresh_token"
+// tokenRefresher is a TokenSource that makes "grant_type=refresh_token"
// HTTP requests to renew a token using a RefreshToken.
type tokenRefresher struct {
ctx context.Context // used to get HTTP requests
@@ -305,8 +305,7 @@ type reuseTokenSource struct {
}
// Token returns the current token if it's still valid, else will
-// refresh the current token (using r.Context for HTTP client
-// information) and return the new one.
+// refresh the current token and return the new one.
func (s *reuseTokenSource) Token() (*Token, error) {
s.mu.Lock()
defer s.mu.Unlock()
@@ -322,7 +321,7 @@ func (s *reuseTokenSource) Token() (*Token, error) {
return t, nil
}
-// StaticTokenSource returns a TokenSource that always returns the same token.
+// StaticTokenSource returns a [TokenSource] that always returns the same token.
// Because the provided token t is never refreshed, StaticTokenSource is only
// useful for tokens that never expire.
func StaticTokenSource(t *Token) TokenSource {
@@ -338,16 +337,16 @@ func (s staticTokenSource) Token() (*Token, error) {
return s.t, nil
}
-// HTTPClient is the context key to use with golang.org/x/net/context's
-// WithValue function to associate an *http.Client value with a context.
+// HTTPClient is the context key to use with [context.WithValue]
+// to associate a [*http.Client] value with a context.
var HTTPClient internal.ContextKey
-// NewClient creates an *http.Client from a Context and TokenSource.
+// NewClient creates an [*http.Client] from a [context.Context] and [TokenSource].
// The returned client is not valid beyond the lifetime of the context.
//
-// Note that if a custom *http.Client is provided via the Context it
+// Note that if a custom [*http.Client] is provided via the [context.Context] it
// is used only for token acquisition and is not used to configure the
-// *http.Client returned from NewClient.
+// [*http.Client] returned from NewClient.
//
// As a special case, if src is nil, a non-OAuth2 client is returned
// using the provided context. This exists to support related OAuth2
@@ -368,7 +367,7 @@ func NewClient(ctx context.Context, src TokenSource) *http.Client {
}
}
-// ReuseTokenSource returns a TokenSource which repeatedly returns the
+// ReuseTokenSource returns a [TokenSource] which repeatedly returns the
// same token as long as it's valid, starting with t.
// When its cached token is invalid, a new token is obtained from src.
//
@@ -376,10 +375,10 @@ func NewClient(ctx context.Context, src TokenSource) *http.Client {
// (such as a file on disk) between runs of a program, rather than
// obtaining new tokens unnecessarily.
//
-// The initial token t may be nil, in which case the TokenSource is
+// The initial token t may be nil, in which case the [TokenSource] is
// wrapped in a caching version if it isn't one already. This also
// means it's always safe to wrap ReuseTokenSource around any other
-// TokenSource without adverse effects.
+// [TokenSource] without adverse effects.
func ReuseTokenSource(t *Token, src TokenSource) TokenSource {
// Don't wrap a reuseTokenSource in itself. That would work,
// but cause an unnecessary number of mutex operations.
@@ -397,8 +396,8 @@ func ReuseTokenSource(t *Token, src TokenSource) TokenSource {
}
}
-// ReuseTokenSourceWithExpiry returns a TokenSource that acts in the same manner as the
-// TokenSource returned by ReuseTokenSource, except the expiry buffer is
+// ReuseTokenSourceWithExpiry returns a [TokenSource] that acts in the same manner as the
+// [TokenSource] returned by [ReuseTokenSource], except the expiry buffer is
// configurable. The expiration time of a token is calculated as
// t.Expiry.Add(-earlyExpiry).
func ReuseTokenSourceWithExpiry(t *Token, src TokenSource, earlyExpiry time.Duration) TokenSource {
diff --git a/vendor/golang.org/x/oauth2/pkce.go b/vendor/golang.org/x/oauth2/pkce.go
index 6a95da975c..cea8374d51 100644
--- a/vendor/golang.org/x/oauth2/pkce.go
+++ b/vendor/golang.org/x/oauth2/pkce.go
@@ -1,6 +1,7 @@
// 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 oauth2
import (
@@ -20,9 +21,9 @@ const (
// This follows recommendations in RFC 7636.
//
// A fresh verifier should be generated for each authorization.
-// S256ChallengeOption(verifier) should then be passed to Config.AuthCodeURL
-// (or Config.DeviceAuth) and VerifierOption(verifier) to Config.Exchange
-// (or Config.DeviceAccessToken).
+// The resulting verifier should be passed to [Config.AuthCodeURL] or [Config.DeviceAuth]
+// with [S256ChallengeOption], and to [Config.Exchange] or [Config.DeviceAccessToken]
+// with [VerifierOption].
func GenerateVerifier() string {
// "RECOMMENDED that the output of a suitable random number generator be
// used to create a 32-octet sequence. The octet sequence is then
@@ -36,22 +37,22 @@ func GenerateVerifier() string {
return base64.RawURLEncoding.EncodeToString(data)
}
-// VerifierOption returns a PKCE code verifier AuthCodeOption. It should be
-// passed to Config.Exchange or Config.DeviceAccessToken only.
+// VerifierOption returns a PKCE code verifier [AuthCodeOption]. It should only be
+// passed to [Config.Exchange] or [Config.DeviceAccessToken].
func VerifierOption(verifier string) AuthCodeOption {
return setParam{k: codeVerifierKey, v: verifier}
}
// S256ChallengeFromVerifier returns a PKCE code challenge derived from verifier with method S256.
//
-// Prefer to use S256ChallengeOption where possible.
+// Prefer to use [S256ChallengeOption] where possible.
func S256ChallengeFromVerifier(verifier string) string {
sha := sha256.Sum256([]byte(verifier))
return base64.RawURLEncoding.EncodeToString(sha[:])
}
// S256ChallengeOption derives a PKCE code challenge derived from verifier with
-// method S256. It should be passed to Config.AuthCodeURL or Config.DeviceAuth
+// method S256. It should be passed to [Config.AuthCodeURL] or [Config.DeviceAuth]
// only.
func S256ChallengeOption(verifier string) AuthCodeOption {
return challengeOption{
diff --git a/vendor/golang.org/x/oauth2/token.go b/vendor/golang.org/x/oauth2/token.go
index 8c31136c40..239ec32962 100644
--- a/vendor/golang.org/x/oauth2/token.go
+++ b/vendor/golang.org/x/oauth2/token.go
@@ -44,7 +44,7 @@ type Token struct {
// Expiry is the optional expiration time of the access token.
//
- // If zero, TokenSource implementations will reuse the same
+ // If zero, [TokenSource] implementations will reuse the same
// token forever and RefreshToken or equivalent
// mechanisms for that TokenSource will not be used.
Expiry time.Time `json:"expiry,omitempty"`
@@ -58,7 +58,7 @@ type Token struct {
// raw optionally contains extra metadata from the server
// when updating a token.
- raw interface{}
+ raw any
// expiryDelta is used to calculate when a token is considered
// expired, by subtracting from Expiry. If zero, defaultExpiryDelta
@@ -86,16 +86,16 @@ func (t *Token) Type() string {
// SetAuthHeader sets the Authorization header to r using the access
// token in t.
//
-// This method is unnecessary when using Transport or an HTTP Client
+// This method is unnecessary when using [Transport] or an HTTP Client
// returned by this package.
func (t *Token) SetAuthHeader(r *http.Request) {
r.Header.Set("Authorization", t.Type()+" "+t.AccessToken)
}
-// WithExtra returns a new Token that's a clone of t, but using the
+// WithExtra returns a new [Token] that's a clone of t, but using the
// provided raw extra map. This is only intended for use by packages
// implementing derivative OAuth2 flows.
-func (t *Token) WithExtra(extra interface{}) *Token {
+func (t *Token) WithExtra(extra any) *Token {
t2 := new(Token)
*t2 = *t
t2.raw = extra
@@ -105,8 +105,8 @@ func (t *Token) WithExtra(extra interface{}) *Token {
// Extra returns an extra field.
// Extra fields are key-value pairs returned by the server as a
// part of the token retrieval response.
-func (t *Token) Extra(key string) interface{} {
- if raw, ok := t.raw.(map[string]interface{}); ok {
+func (t *Token) Extra(key string) any {
+ if raw, ok := t.raw.(map[string]any); ok {
return raw[key]
}
@@ -163,6 +163,7 @@ func tokenFromInternal(t *internal.Token) *Token {
TokenType: t.TokenType,
RefreshToken: t.RefreshToken,
Expiry: t.Expiry,
+ ExpiresIn: t.ExpiresIn,
raw: t.Raw,
}
}
diff --git a/vendor/golang.org/x/oauth2/transport.go b/vendor/golang.org/x/oauth2/transport.go
index 90657915fb..8bbebbac9e 100644
--- a/vendor/golang.org/x/oauth2/transport.go
+++ b/vendor/golang.org/x/oauth2/transport.go
@@ -11,12 +11,12 @@ import (
"sync"
)
-// Transport is an http.RoundTripper that makes OAuth 2.0 HTTP requests,
-// wrapping a base RoundTripper and adding an Authorization header
-// with a token from the supplied Sources.
+// Transport is an [http.RoundTripper] that makes OAuth 2.0 HTTP requests,
+// wrapping a base [http.RoundTripper] and adding an Authorization header
+// with a token from the supplied [TokenSource].
//
// Transport is a low-level mechanism. Most code will use the
-// higher-level Config.Client method instead.
+// higher-level [Config.Client] method instead.
type Transport struct {
// Source supplies the token to add to outgoing requests'
// Authorization headers.
@@ -47,7 +47,7 @@ func (t *Transport) RoundTrip(req *http.Request) (*http.Response, error) {
return nil, err
}
- req2 := cloneRequest(req) // per RoundTripper contract
+ req2 := req.Clone(req.Context())
token.SetAuthHeader(req2)
// req.Body is assumed to be closed by the base RoundTripper.
@@ -73,17 +73,3 @@ func (t *Transport) base() http.RoundTripper {
}
return http.DefaultTransport
}
-
-// cloneRequest returns a clone of the provided *http.Request.
-// The clone is a shallow copy of the struct and its Header map.
-func cloneRequest(r *http.Request) *http.Request {
- // shallow copy of the struct
- r2 := new(http.Request)
- *r2 = *r
- // deep copy of the Header
- r2.Header = make(http.Header, len(r.Header))
- for k, s := range r.Header {
- r2.Header[k] = append([]string(nil), s...)
- }
- return r2
-}
diff --git a/vendor/golang.org/x/sync/errgroup/errgroup.go b/vendor/golang.org/x/sync/errgroup/errgroup.go
index f8c3c09265..cb6bb9ad3b 100644
--- a/vendor/golang.org/x/sync/errgroup/errgroup.go
+++ b/vendor/golang.org/x/sync/errgroup/errgroup.go
@@ -12,6 +12,8 @@ package errgroup
import (
"context"
"fmt"
+ "runtime"
+ "runtime/debug"
"sync"
)
@@ -31,6 +33,10 @@ type Group struct {
errOnce sync.Once
err error
+
+ mu sync.Mutex
+ panicValue any // = PanicError | PanicValue; non-nil if some Group.Go goroutine panicked.
+ abnormal bool // some Group.Go goroutine terminated abnormally (panic or goexit).
}
func (g *Group) done() {
@@ -50,33 +56,78 @@ func WithContext(ctx context.Context) (*Group, context.Context) {
return &Group{cancel: cancel}, ctx
}
-// Wait blocks until all function calls from the Go method have returned, then
-// returns the first non-nil error (if any) from them.
+// Wait blocks until all function calls from the Go method have returned
+// normally, then returns the first non-nil error (if any) from them.
+//
+// If any of the calls panics, Wait panics with a [PanicValue];
+// and if any of them calls [runtime.Goexit], Wait calls runtime.Goexit.
func (g *Group) Wait() error {
g.wg.Wait()
if g.cancel != nil {
g.cancel(g.err)
}
+ if g.panicValue != nil {
+ panic(g.panicValue)
+ }
+ if g.abnormal {
+ runtime.Goexit()
+ }
return g.err
}
// Go calls the given function in a new goroutine.
+//
// The first call to Go must happen before a Wait.
// It blocks until the new goroutine can be added without the number of
-// active goroutines in the group exceeding the configured limit.
+// goroutines in the group exceeding the configured limit.
//
-// The first call to return a non-nil error cancels the group's context, if the
-// group was created by calling WithContext. The error will be returned by Wait.
+// The first goroutine in the group that returns a non-nil error, panics, or
+// invokes [runtime.Goexit] will cancel the associated Context, if any.
func (g *Group) Go(f func() error) {
if g.sem != nil {
g.sem <- token{}
}
+ g.add(f)
+}
+
+func (g *Group) add(f func() error) {
g.wg.Add(1)
go func() {
defer g.done()
+ normalReturn := false
+ defer func() {
+ if normalReturn {
+ return
+ }
+ v := recover()
+ g.mu.Lock()
+ defer g.mu.Unlock()
+ if !g.abnormal {
+ if g.cancel != nil {
+ g.cancel(g.err)
+ }
+ g.abnormal = true
+ }
+ if v != nil && g.panicValue == nil {
+ switch v := v.(type) {
+ case error:
+ g.panicValue = PanicError{
+ Recovered: v,
+ Stack: debug.Stack(),
+ }
+ default:
+ g.panicValue = PanicValue{
+ Recovered: v,
+ Stack: debug.Stack(),
+ }
+ }
+ }
+ }()
- if err := f(); err != nil {
+ err := f()
+ normalReturn = true
+ if err != nil {
g.errOnce.Do(func() {
g.err = err
if g.cancel != nil {
@@ -101,19 +152,7 @@ func (g *Group) TryGo(f func() error) bool {
}
}
- g.wg.Add(1)
- go func() {
- defer g.done()
-
- if err := f(); err != nil {
- g.errOnce.Do(func() {
- g.err = err
- if g.cancel != nil {
- g.cancel(g.err)
- }
- })
- }
- }()
+ g.add(f)
return true
}
@@ -135,3 +174,34 @@ func (g *Group) SetLimit(n int) {
}
g.sem = make(chan token, n)
}
+
+// PanicError wraps an error recovered from an unhandled panic
+// when calling a function passed to Go or TryGo.
+type PanicError struct {
+ Recovered error
+ Stack []byte // result of call to [debug.Stack]
+}
+
+func (p PanicError) Error() string {
+ if len(p.Stack) > 0 {
+ return fmt.Sprintf("recovered from errgroup.Group: %v\n%s", p.Recovered, p.Stack)
+ }
+ return fmt.Sprintf("recovered from errgroup.Group: %v", p.Recovered)
+}
+
+func (p PanicError) Unwrap() error { return p.Recovered }
+
+// PanicValue wraps a value that does not implement the error interface,
+// recovered from an unhandled panic when calling a function passed to Go or
+// TryGo.
+type PanicValue struct {
+ Recovered any
+ Stack []byte // result of call to [debug.Stack]
+}
+
+func (p PanicValue) String() string {
+ if len(p.Stack) > 0 {
+ return fmt.Sprintf("recovered from errgroup.Group: %v\n%s", p.Recovered, p.Stack)
+ }
+ return fmt.Sprintf("recovered from errgroup.Group: %v", p.Recovered)
+}
diff --git a/vendor/golang.org/x/sys/cpu/cpu.go b/vendor/golang.org/x/sys/cpu/cpu.go
index 2e73ee1975..63541994ef 100644
--- a/vendor/golang.org/x/sys/cpu/cpu.go
+++ b/vendor/golang.org/x/sys/cpu/cpu.go
@@ -232,6 +232,17 @@ var RISCV64 struct {
HasZba bool // Address generation instructions extension
HasZbb bool // Basic bit-manipulation extension
HasZbs bool // Single-bit instructions extension
+ HasZvbb bool // Vector Basic Bit-manipulation
+ HasZvbc bool // Vector Carryless Multiplication
+ HasZvkb bool // Vector Cryptography Bit-manipulation
+ HasZvkt bool // Vector Data-Independent Execution Latency
+ HasZvkg bool // Vector GCM/GMAC
+ HasZvkn bool // NIST Algorithm Suite (AES/SHA256/SHA512)
+ HasZvknc bool // NIST Algorithm Suite with carryless multiply
+ HasZvkng bool // NIST Algorithm Suite with GCM
+ HasZvks bool // ShangMi Algorithm Suite
+ HasZvksc bool // ShangMi Algorithm Suite with carryless multiplication
+ HasZvksg bool // ShangMi Algorithm Suite with GCM
_ CacheLinePad
}
diff --git a/vendor/golang.org/x/sys/cpu/cpu_linux_riscv64.go b/vendor/golang.org/x/sys/cpu/cpu_linux_riscv64.go
index cb4a0c5728..ad741536f3 100644
--- a/vendor/golang.org/x/sys/cpu/cpu_linux_riscv64.go
+++ b/vendor/golang.org/x/sys/cpu/cpu_linux_riscv64.go
@@ -58,6 +58,15 @@ const (
riscv_HWPROBE_EXT_ZBA = 0x8
riscv_HWPROBE_EXT_ZBB = 0x10
riscv_HWPROBE_EXT_ZBS = 0x20
+ riscv_HWPROBE_EXT_ZVBB = 0x20000
+ riscv_HWPROBE_EXT_ZVBC = 0x40000
+ riscv_HWPROBE_EXT_ZVKB = 0x80000
+ riscv_HWPROBE_EXT_ZVKG = 0x100000
+ riscv_HWPROBE_EXT_ZVKNED = 0x200000
+ riscv_HWPROBE_EXT_ZVKNHB = 0x800000
+ riscv_HWPROBE_EXT_ZVKSED = 0x1000000
+ riscv_HWPROBE_EXT_ZVKSH = 0x2000000
+ riscv_HWPROBE_EXT_ZVKT = 0x4000000
riscv_HWPROBE_KEY_CPUPERF_0 = 0x5
riscv_HWPROBE_MISALIGNED_FAST = 0x3
riscv_HWPROBE_MISALIGNED_MASK = 0x7
@@ -99,6 +108,20 @@ func doinit() {
RISCV64.HasZba = isSet(v, riscv_HWPROBE_EXT_ZBA)
RISCV64.HasZbb = isSet(v, riscv_HWPROBE_EXT_ZBB)
RISCV64.HasZbs = isSet(v, riscv_HWPROBE_EXT_ZBS)
+ RISCV64.HasZvbb = isSet(v, riscv_HWPROBE_EXT_ZVBB)
+ RISCV64.HasZvbc = isSet(v, riscv_HWPROBE_EXT_ZVBC)
+ RISCV64.HasZvkb = isSet(v, riscv_HWPROBE_EXT_ZVKB)
+ RISCV64.HasZvkg = isSet(v, riscv_HWPROBE_EXT_ZVKG)
+ RISCV64.HasZvkt = isSet(v, riscv_HWPROBE_EXT_ZVKT)
+ // Cryptography shorthand extensions
+ RISCV64.HasZvkn = isSet(v, riscv_HWPROBE_EXT_ZVKNED) &&
+ isSet(v, riscv_HWPROBE_EXT_ZVKNHB) && RISCV64.HasZvkb && RISCV64.HasZvkt
+ RISCV64.HasZvknc = RISCV64.HasZvkn && RISCV64.HasZvbc
+ RISCV64.HasZvkng = RISCV64.HasZvkn && RISCV64.HasZvkg
+ RISCV64.HasZvks = isSet(v, riscv_HWPROBE_EXT_ZVKSED) &&
+ isSet(v, riscv_HWPROBE_EXT_ZVKSH) && RISCV64.HasZvkb && RISCV64.HasZvkt
+ RISCV64.HasZvksc = RISCV64.HasZvks && RISCV64.HasZvbc
+ RISCV64.HasZvksg = RISCV64.HasZvks && RISCV64.HasZvkg
}
if pairs[1].key != -1 {
v := pairs[1].value & riscv_HWPROBE_MISALIGNED_MASK
diff --git a/vendor/golang.org/x/sys/cpu/cpu_riscv64.go b/vendor/golang.org/x/sys/cpu/cpu_riscv64.go
index aca3199c91..0f617aef54 100644
--- a/vendor/golang.org/x/sys/cpu/cpu_riscv64.go
+++ b/vendor/golang.org/x/sys/cpu/cpu_riscv64.go
@@ -16,5 +16,17 @@ func initOptions() {
{Name: "zba", Feature: &RISCV64.HasZba},
{Name: "zbb", Feature: &RISCV64.HasZbb},
{Name: "zbs", Feature: &RISCV64.HasZbs},
+ // RISC-V Cryptography Extensions
+ {Name: "zvbb", Feature: &RISCV64.HasZvbb},
+ {Name: "zvbc", Feature: &RISCV64.HasZvbc},
+ {Name: "zvkb", Feature: &RISCV64.HasZvkb},
+ {Name: "zvkg", Feature: &RISCV64.HasZvkg},
+ {Name: "zvkt", Feature: &RISCV64.HasZvkt},
+ {Name: "zvkn", Feature: &RISCV64.HasZvkn},
+ {Name: "zvknc", Feature: &RISCV64.HasZvknc},
+ {Name: "zvkng", Feature: &RISCV64.HasZvkng},
+ {Name: "zvks", Feature: &RISCV64.HasZvks},
+ {Name: "zvksc", Feature: &RISCV64.HasZvksc},
+ {Name: "zvksg", Feature: &RISCV64.HasZvksg},
}
}
diff --git a/vendor/golang.org/x/sys/windows/security_windows.go b/vendor/golang.org/x/sys/windows/security_windows.go
index b6e1ab76f8..a8b0364c7c 100644
--- a/vendor/golang.org/x/sys/windows/security_windows.go
+++ b/vendor/golang.org/x/sys/windows/security_windows.go
@@ -1303,7 +1303,10 @@ func (selfRelativeSD *SECURITY_DESCRIPTOR) ToAbsolute() (absoluteSD *SECURITY_DE
return nil, err
}
if absoluteSDSize > 0 {
- absoluteSD = (*SECURITY_DESCRIPTOR)(unsafe.Pointer(&make([]byte, absoluteSDSize)[0]))
+ absoluteSD = new(SECURITY_DESCRIPTOR)
+ if unsafe.Sizeof(*absoluteSD) < uintptr(absoluteSDSize) {
+ panic("sizeof(SECURITY_DESCRIPTOR) too small")
+ }
}
var (
dacl *ACL
@@ -1312,19 +1315,55 @@ func (selfRelativeSD *SECURITY_DESCRIPTOR) ToAbsolute() (absoluteSD *SECURITY_DE
group *SID
)
if daclSize > 0 {
- dacl = (*ACL)(unsafe.Pointer(&make([]byte, daclSize)[0]))
+ dacl = (*ACL)(unsafe.Pointer(unsafe.SliceData(make([]byte, daclSize))))
}
if saclSize > 0 {
- sacl = (*ACL)(unsafe.Pointer(&make([]byte, saclSize)[0]))
+ sacl = (*ACL)(unsafe.Pointer(unsafe.SliceData(make([]byte, saclSize))))
}
if ownerSize > 0 {
- owner = (*SID)(unsafe.Pointer(&make([]byte, ownerSize)[0]))
+ owner = (*SID)(unsafe.Pointer(unsafe.SliceData(make([]byte, ownerSize))))
}
if groupSize > 0 {
- group = (*SID)(unsafe.Pointer(&make([]byte, groupSize)[0]))
+ group = (*SID)(unsafe.Pointer(unsafe.SliceData(make([]byte, groupSize))))
}
+ // We call into Windows via makeAbsoluteSD, which sets up
+ // pointers within absoluteSD that point to other chunks of memory
+ // we pass into makeAbsoluteSD, and that happens outside the view of the GC.
+ // We therefore take some care here to then verify the pointers are as we expect
+ // and set them explicitly in view of the GC. See https://go.dev/issue/73199.
+ // TODO: consider weak pointers once Go 1.24 is appropriate. See suggestion in https://go.dev/cl/663575.
err = makeAbsoluteSD(selfRelativeSD, absoluteSD, &absoluteSDSize,
dacl, &daclSize, sacl, &saclSize, owner, &ownerSize, group, &groupSize)
+ if err != nil {
+ // Don't return absoluteSD, which might be partially initialized.
+ return nil, err
+ }
+ // Before using any fields, verify absoluteSD is in the format we expect according to Windows.
+ // See https://learn.microsoft.com/en-us/windows/win32/secauthz/absolute-and-self-relative-security-descriptors
+ absControl, _, err := absoluteSD.Control()
+ if err != nil {
+ panic("absoluteSD: " + err.Error())
+ }
+ if absControl&SE_SELF_RELATIVE != 0 {
+ panic("absoluteSD not in absolute format")
+ }
+ if absoluteSD.dacl != dacl {
+ panic("dacl pointer mismatch")
+ }
+ if absoluteSD.sacl != sacl {
+ panic("sacl pointer mismatch")
+ }
+ if absoluteSD.owner != owner {
+ panic("owner pointer mismatch")
+ }
+ if absoluteSD.group != group {
+ panic("group pointer mismatch")
+ }
+ absoluteSD.dacl = dacl
+ absoluteSD.sacl = sacl
+ absoluteSD.owner = owner
+ absoluteSD.group = group
+
return
}
diff --git a/vendor/golang.org/x/sys/windows/syscall_windows.go b/vendor/golang.org/x/sys/windows/syscall_windows.go
index 4a32543868..640f6b153f 100644
--- a/vendor/golang.org/x/sys/windows/syscall_windows.go
+++ b/vendor/golang.org/x/sys/windows/syscall_windows.go
@@ -870,6 +870,7 @@ const socket_error = uintptr(^uint32(0))
//sys WSARecvFrom(s Handle, bufs *WSABuf, bufcnt uint32, recvd *uint32, flags *uint32, from *RawSockaddrAny, fromlen *int32, overlapped *Overlapped, croutine *byte) (err error) [failretval==socket_error] = ws2_32.WSARecvFrom
//sys WSASendTo(s Handle, bufs *WSABuf, bufcnt uint32, sent *uint32, flags uint32, to *RawSockaddrAny, tolen int32, overlapped *Overlapped, croutine *byte) (err error) [failretval==socket_error] = ws2_32.WSASendTo
//sys WSASocket(af int32, typ int32, protocol int32, protoInfo *WSAProtocolInfo, group uint32, flags uint32) (handle Handle, err error) [failretval==InvalidHandle] = ws2_32.WSASocketW
+//sys WSADuplicateSocket(s Handle, processID uint32, info *WSAProtocolInfo) (err error) [failretval!=0] = ws2_32.WSADuplicateSocketW
//sys GetHostByName(name string) (h *Hostent, err error) [failretval==nil] = ws2_32.gethostbyname
//sys GetServByName(name string, proto string) (s *Servent, err error) [failretval==nil] = ws2_32.getservbyname
//sys Ntohs(netshort uint16) (u uint16) = ws2_32.ntohs
@@ -1698,8 +1699,9 @@ func NewNTUnicodeString(s string) (*NTUnicodeString, error) {
// Slice returns a uint16 slice that aliases the data in the NTUnicodeString.
func (s *NTUnicodeString) Slice() []uint16 {
- slice := unsafe.Slice(s.Buffer, s.MaximumLength)
- return slice[:s.Length]
+ // Note: this rounds the length down, if it happens
+ // to (incorrectly) be odd. Probably safer than rounding up.
+ return unsafe.Slice(s.Buffer, s.MaximumLength/2)[:s.Length/2]
}
func (s *NTUnicodeString) String() string {
diff --git a/vendor/golang.org/x/sys/windows/types_windows.go b/vendor/golang.org/x/sys/windows/types_windows.go
index ad67df2fdb..958bcf47a3 100644
--- a/vendor/golang.org/x/sys/windows/types_windows.go
+++ b/vendor/golang.org/x/sys/windows/types_windows.go
@@ -2700,6 +2700,8 @@ type CommTimeouts struct {
// NTUnicodeString is a UTF-16 string for NT native APIs, corresponding to UNICODE_STRING.
type NTUnicodeString struct {
+ // Note: Length and MaximumLength are in *bytes*, not uint16s.
+ // They should always be even.
Length uint16
MaximumLength uint16
Buffer *uint16
@@ -3628,3 +3630,213 @@ const (
KLF_NOTELLSHELL = 0x00000080
KLF_SETFORPROCESS = 0x00000100
)
+
+// Virtual Key codes
+// https://docs.microsoft.com/en-us/windows/win32/inputdev/virtual-key-codes
+const (
+ VK_LBUTTON = 0x01
+ VK_RBUTTON = 0x02
+ VK_CANCEL = 0x03
+ VK_MBUTTON = 0x04
+ VK_XBUTTON1 = 0x05
+ VK_XBUTTON2 = 0x06
+ VK_BACK = 0x08
+ VK_TAB = 0x09
+ VK_CLEAR = 0x0C
+ VK_RETURN = 0x0D
+ VK_SHIFT = 0x10
+ VK_CONTROL = 0x11
+ VK_MENU = 0x12
+ VK_PAUSE = 0x13
+ VK_CAPITAL = 0x14
+ VK_KANA = 0x15
+ VK_HANGEUL = 0x15
+ VK_HANGUL = 0x15
+ VK_IME_ON = 0x16
+ VK_JUNJA = 0x17
+ VK_FINAL = 0x18
+ VK_HANJA = 0x19
+ VK_KANJI = 0x19
+ VK_IME_OFF = 0x1A
+ VK_ESCAPE = 0x1B
+ VK_CONVERT = 0x1C
+ VK_NONCONVERT = 0x1D
+ VK_ACCEPT = 0x1E
+ VK_MODECHANGE = 0x1F
+ VK_SPACE = 0x20
+ VK_PRIOR = 0x21
+ VK_NEXT = 0x22
+ VK_END = 0x23
+ VK_HOME = 0x24
+ VK_LEFT = 0x25
+ VK_UP = 0x26
+ VK_RIGHT = 0x27
+ VK_DOWN = 0x28
+ VK_SELECT = 0x29
+ VK_PRINT = 0x2A
+ VK_EXECUTE = 0x2B
+ VK_SNAPSHOT = 0x2C
+ VK_INSERT = 0x2D
+ VK_DELETE = 0x2E
+ VK_HELP = 0x2F
+ VK_LWIN = 0x5B
+ VK_RWIN = 0x5C
+ VK_APPS = 0x5D
+ VK_SLEEP = 0x5F
+ VK_NUMPAD0 = 0x60
+ VK_NUMPAD1 = 0x61
+ VK_NUMPAD2 = 0x62
+ VK_NUMPAD3 = 0x63
+ VK_NUMPAD4 = 0x64
+ VK_NUMPAD5 = 0x65
+ VK_NUMPAD6 = 0x66
+ VK_NUMPAD7 = 0x67
+ VK_NUMPAD8 = 0x68
+ VK_NUMPAD9 = 0x69
+ VK_MULTIPLY = 0x6A
+ VK_ADD = 0x6B
+ VK_SEPARATOR = 0x6C
+ VK_SUBTRACT = 0x6D
+ VK_DECIMAL = 0x6E
+ VK_DIVIDE = 0x6F
+ VK_F1 = 0x70
+ VK_F2 = 0x71
+ VK_F3 = 0x72
+ VK_F4 = 0x73
+ VK_F5 = 0x74
+ VK_F6 = 0x75
+ VK_F7 = 0x76
+ VK_F8 = 0x77
+ VK_F9 = 0x78
+ VK_F10 = 0x79
+ VK_F11 = 0x7A
+ VK_F12 = 0x7B
+ VK_F13 = 0x7C
+ VK_F14 = 0x7D
+ VK_F15 = 0x7E
+ VK_F16 = 0x7F
+ VK_F17 = 0x80
+ VK_F18 = 0x81
+ VK_F19 = 0x82
+ VK_F20 = 0x83
+ VK_F21 = 0x84
+ VK_F22 = 0x85
+ VK_F23 = 0x86
+ VK_F24 = 0x87
+ VK_NUMLOCK = 0x90
+ VK_SCROLL = 0x91
+ VK_OEM_NEC_EQUAL = 0x92
+ VK_OEM_FJ_JISHO = 0x92
+ VK_OEM_FJ_MASSHOU = 0x93
+ VK_OEM_FJ_TOUROKU = 0x94
+ VK_OEM_FJ_LOYA = 0x95
+ VK_OEM_FJ_ROYA = 0x96
+ VK_LSHIFT = 0xA0
+ VK_RSHIFT = 0xA1
+ VK_LCONTROL = 0xA2
+ VK_RCONTROL = 0xA3
+ VK_LMENU = 0xA4
+ VK_RMENU = 0xA5
+ VK_BROWSER_BACK = 0xA6
+ VK_BROWSER_FORWARD = 0xA7
+ VK_BROWSER_REFRESH = 0xA8
+ VK_BROWSER_STOP = 0xA9
+ VK_BROWSER_SEARCH = 0xAA
+ VK_BROWSER_FAVORITES = 0xAB
+ VK_BROWSER_HOME = 0xAC
+ VK_VOLUME_MUTE = 0xAD
+ VK_VOLUME_DOWN = 0xAE
+ VK_VOLUME_UP = 0xAF
+ VK_MEDIA_NEXT_TRACK = 0xB0
+ VK_MEDIA_PREV_TRACK = 0xB1
+ VK_MEDIA_STOP = 0xB2
+ VK_MEDIA_PLAY_PAUSE = 0xB3
+ VK_LAUNCH_MAIL = 0xB4
+ VK_LAUNCH_MEDIA_SELECT = 0xB5
+ VK_LAUNCH_APP1 = 0xB6
+ VK_LAUNCH_APP2 = 0xB7
+ VK_OEM_1 = 0xBA
+ VK_OEM_PLUS = 0xBB
+ VK_OEM_COMMA = 0xBC
+ VK_OEM_MINUS = 0xBD
+ VK_OEM_PERIOD = 0xBE
+ VK_OEM_2 = 0xBF
+ VK_OEM_3 = 0xC0
+ VK_OEM_4 = 0xDB
+ VK_OEM_5 = 0xDC
+ VK_OEM_6 = 0xDD
+ VK_OEM_7 = 0xDE
+ VK_OEM_8 = 0xDF
+ VK_OEM_AX = 0xE1
+ VK_OEM_102 = 0xE2
+ VK_ICO_HELP = 0xE3
+ VK_ICO_00 = 0xE4
+ VK_PROCESSKEY = 0xE5
+ VK_ICO_CLEAR = 0xE6
+ VK_OEM_RESET = 0xE9
+ VK_OEM_JUMP = 0xEA
+ VK_OEM_PA1 = 0xEB
+ VK_OEM_PA2 = 0xEC
+ VK_OEM_PA3 = 0xED
+ VK_OEM_WSCTRL = 0xEE
+ VK_OEM_CUSEL = 0xEF
+ VK_OEM_ATTN = 0xF0
+ VK_OEM_FINISH = 0xF1
+ VK_OEM_COPY = 0xF2
+ VK_OEM_AUTO = 0xF3
+ VK_OEM_ENLW = 0xF4
+ VK_OEM_BACKTAB = 0xF5
+ VK_ATTN = 0xF6
+ VK_CRSEL = 0xF7
+ VK_EXSEL = 0xF8
+ VK_EREOF = 0xF9
+ VK_PLAY = 0xFA
+ VK_ZOOM = 0xFB
+ VK_NONAME = 0xFC
+ VK_PA1 = 0xFD
+ VK_OEM_CLEAR = 0xFE
+)
+
+// Mouse button constants.
+// https://docs.microsoft.com/en-us/windows/console/mouse-event-record-str
+const (
+ FROM_LEFT_1ST_BUTTON_PRESSED = 0x0001
+ RIGHTMOST_BUTTON_PRESSED = 0x0002
+ FROM_LEFT_2ND_BUTTON_PRESSED = 0x0004
+ FROM_LEFT_3RD_BUTTON_PRESSED = 0x0008
+ FROM_LEFT_4TH_BUTTON_PRESSED = 0x0010
+)
+
+// Control key state constaints.
+// https://docs.microsoft.com/en-us/windows/console/key-event-record-str
+// https://docs.microsoft.com/en-us/windows/console/mouse-event-record-str
+const (
+ CAPSLOCK_ON = 0x0080
+ ENHANCED_KEY = 0x0100
+ LEFT_ALT_PRESSED = 0x0002
+ LEFT_CTRL_PRESSED = 0x0008
+ NUMLOCK_ON = 0x0020
+ RIGHT_ALT_PRESSED = 0x0001
+ RIGHT_CTRL_PRESSED = 0x0004
+ SCROLLLOCK_ON = 0x0040
+ SHIFT_PRESSED = 0x0010
+)
+
+// Mouse event record event flags.
+// https://docs.microsoft.com/en-us/windows/console/mouse-event-record-str
+const (
+ MOUSE_MOVED = 0x0001
+ DOUBLE_CLICK = 0x0002
+ MOUSE_WHEELED = 0x0004
+ MOUSE_HWHEELED = 0x0008
+)
+
+// Input Record Event Types
+// https://learn.microsoft.com/en-us/windows/console/input-record-str
+const (
+ FOCUS_EVENT = 0x0010
+ KEY_EVENT = 0x0001
+ MENU_EVENT = 0x0008
+ MOUSE_EVENT = 0x0002
+ WINDOW_BUFFER_SIZE_EVENT = 0x0004
+)
diff --git a/vendor/golang.org/x/sys/windows/zsyscall_windows.go b/vendor/golang.org/x/sys/windows/zsyscall_windows.go
index 01c0716c2c..a58bc48b8e 100644
--- a/vendor/golang.org/x/sys/windows/zsyscall_windows.go
+++ b/vendor/golang.org/x/sys/windows/zsyscall_windows.go
@@ -511,6 +511,7 @@ var (
procFreeAddrInfoW = modws2_32.NewProc("FreeAddrInfoW")
procGetAddrInfoW = modws2_32.NewProc("GetAddrInfoW")
procWSACleanup = modws2_32.NewProc("WSACleanup")
+ procWSADuplicateSocketW = modws2_32.NewProc("WSADuplicateSocketW")
procWSAEnumProtocolsW = modws2_32.NewProc("WSAEnumProtocolsW")
procWSAGetOverlappedResult = modws2_32.NewProc("WSAGetOverlappedResult")
procWSAIoctl = modws2_32.NewProc("WSAIoctl")
@@ -4391,6 +4392,14 @@ func WSACleanup() (err error) {
return
}
+func WSADuplicateSocket(s Handle, processID uint32, info *WSAProtocolInfo) (err error) {
+ r1, _, e1 := syscall.Syscall(procWSADuplicateSocketW.Addr(), 3, uintptr(s), uintptr(processID), uintptr(unsafe.Pointer(info)))
+ if r1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
func WSAEnumProtocols(protocols *int32, protocolBuffer *WSAProtocolInfo, bufferLength *uint32) (n int32, err error) {
r0, _, e1 := syscall.Syscall(procWSAEnumProtocolsW.Addr(), 3, uintptr(unsafe.Pointer(protocols)), uintptr(unsafe.Pointer(protocolBuffer)), uintptr(unsafe.Pointer(bufferLength)))
n = int32(r0)
diff --git a/vendor/golang.org/x/term/terminal.go b/vendor/golang.org/x/term/terminal.go
index 14f89470ab..13e9a64ad1 100644
--- a/vendor/golang.org/x/term/terminal.go
+++ b/vendor/golang.org/x/term/terminal.go
@@ -6,6 +6,7 @@ package term
import (
"bytes"
+ "fmt"
"io"
"runtime"
"strconv"
@@ -36,6 +37,26 @@ var vt100EscapeCodes = EscapeCodes{
Reset: []byte{keyEscape, '[', '0', 'm'},
}
+// A History provides a (possibly bounded) queue of input lines read by [Terminal.ReadLine].
+type History interface {
+ // Add will be called by [Terminal.ReadLine] to add
+ // a new, most recent entry to the history.
+ // It is allowed to drop any entry, including
+ // the entry being added (e.g., if it's deemed an invalid entry),
+ // the least-recent entry (e.g., to keep the history bounded),
+ // or any other entry.
+ Add(entry string)
+
+ // Len returns the number of entries in the history.
+ Len() int
+
+ // At returns an entry from the history.
+ // Index 0 is the most-recently added entry and
+ // index Len()-1 is the least-recently added entry.
+ // If index is < 0 or >= Len(), it panics.
+ At(idx int) string
+}
+
// Terminal contains the state for running a VT100 terminal that is capable of
// reading lines of input.
type Terminal struct {
@@ -86,9 +107,14 @@ type Terminal struct {
remainder []byte
inBuf [256]byte
- // history contains previously entered commands so that they can be
- // accessed with the up and down keys.
- history stRingBuffer
+ // History records and retrieves lines of input read by [ReadLine] which
+ // a user can retrieve and navigate using the up and down arrow keys.
+ //
+ // It is not safe to call ReadLine concurrently with any methods on History.
+ //
+ // [NewTerminal] sets this to a default implementation that records the
+ // last 100 lines of input.
+ History History
// historyIndex stores the currently accessed history entry, where zero
// means the immediately previous entry.
historyIndex int
@@ -111,6 +137,7 @@ func NewTerminal(c io.ReadWriter, prompt string) *Terminal {
termHeight: 24,
echo: true,
historyIndex: -1,
+ History: &stRingBuffer{},
}
}
@@ -450,6 +477,23 @@ func visualLength(runes []rune) int {
return length
}
+// histroryAt unlocks the terminal and relocks it while calling History.At.
+func (t *Terminal) historyAt(idx int) (string, bool) {
+ t.lock.Unlock() // Unlock to avoid deadlock if History methods use the output writer.
+ defer t.lock.Lock() // panic in At (or Len) protection.
+ if idx < 0 || idx >= t.History.Len() {
+ return "", false
+ }
+ return t.History.At(idx), true
+}
+
+// historyAdd unlocks the terminal and relocks it while calling History.Add.
+func (t *Terminal) historyAdd(entry string) {
+ t.lock.Unlock() // Unlock to avoid deadlock if History methods use the output writer.
+ defer t.lock.Lock() // panic in Add protection.
+ t.History.Add(entry)
+}
+
// handleKey processes the given key and, optionally, returns a line of text
// that the user has entered.
func (t *Terminal) handleKey(key rune) (line string, ok bool) {
@@ -497,7 +541,7 @@ func (t *Terminal) handleKey(key rune) (line string, ok bool) {
t.pos = len(t.line)
t.moveCursorToPos(t.pos)
case keyUp:
- entry, ok := t.history.NthPreviousEntry(t.historyIndex + 1)
+ entry, ok := t.historyAt(t.historyIndex + 1)
if !ok {
return "", false
}
@@ -516,7 +560,7 @@ func (t *Terminal) handleKey(key rune) (line string, ok bool) {
t.setLine(runes, len(runes))
t.historyIndex--
default:
- entry, ok := t.history.NthPreviousEntry(t.historyIndex - 1)
+ entry, ok := t.historyAt(t.historyIndex - 1)
if ok {
t.historyIndex--
runes := []rune(entry)
@@ -781,7 +825,7 @@ func (t *Terminal) readLine() (line string, err error) {
if lineOk {
if t.echo {
t.historyIndex = -1
- t.history.Add(line)
+ t.historyAdd(line)
}
if lineIsPasted {
err = ErrPasteIndicator
@@ -938,19 +982,23 @@ func (s *stRingBuffer) Add(a string) {
}
}
-// NthPreviousEntry returns the value passed to the nth previous call to Add.
+func (s *stRingBuffer) Len() int {
+ return s.size
+}
+
+// At returns the value passed to the nth previous call to Add.
// If n is zero then the immediately prior value is returned, if one, then the
// next most recent, and so on. If such an element doesn't exist then ok is
// false.
-func (s *stRingBuffer) NthPreviousEntry(n int) (value string, ok bool) {
+func (s *stRingBuffer) At(n int) string {
if n < 0 || n >= s.size {
- return "", false
+ panic(fmt.Sprintf("term: history index [%d] out of range [0,%d)", n, s.size))
}
index := s.head - n
if index < 0 {
index += s.max
}
- return s.entries[index], true
+ return s.entries[index]
}
// readPasswordLine reads from reader until it finds \n or io.EOF.
diff --git a/vendor/golang.org/x/tools/go/ast/inspector/inspector.go b/vendor/golang.org/x/tools/go/ast/inspector/inspector.go
index 1da4a361f0..674490a65b 100644
--- a/vendor/golang.org/x/tools/go/ast/inspector/inspector.go
+++ b/vendor/golang.org/x/tools/go/ast/inspector/inspector.go
@@ -48,10 +48,10 @@ type Inspector struct {
events []event
}
-//go:linkname events
+//go:linkname events golang.org/x/tools/go/ast/inspector.events
func events(in *Inspector) []event { return in.events }
-//go:linkname packEdgeKindAndIndex
+//go:linkname packEdgeKindAndIndex golang.org/x/tools/go/ast/inspector.packEdgeKindAndIndex
func packEdgeKindAndIndex(ek edge.Kind, index int) int32 {
return int32(uint32(index+1)<<7 | uint32(ek))
}
@@ -59,7 +59,7 @@ func packEdgeKindAndIndex(ek edge.Kind, index int) int32 {
// unpackEdgeKindAndIndex unpacks the edge kind and edge index (within
// an []ast.Node slice) from the parent field of a pop event.
//
-//go:linkname unpackEdgeKindAndIndex
+//go:linkname unpackEdgeKindAndIndex golang.org/x/tools/go/ast/inspector.unpackEdgeKindAndIndex
func unpackEdgeKindAndIndex(x int32) (edge.Kind, int) {
// The "parent" field of a pop node holds the
// edge Kind in the lower 7 bits and the index+1
diff --git a/vendor/golang.org/x/tools/go/ast/inspector/typeof.go b/vendor/golang.org/x/tools/go/ast/inspector/typeof.go
index 9778448457..e936c67c98 100644
--- a/vendor/golang.org/x/tools/go/ast/inspector/typeof.go
+++ b/vendor/golang.org/x/tools/go/ast/inspector/typeof.go
@@ -217,7 +217,7 @@ func typeOf(n ast.Node) uint64 {
return 0
}
-//go:linkname maskOf
+//go:linkname maskOf golang.org/x/tools/go/ast/inspector.maskOf
func maskOf(nodes []ast.Node) uint64 {
if len(nodes) == 0 {
return math.MaxUint64 // match all node types
diff --git a/vendor/golang.org/x/tools/go/packages/golist.go b/vendor/golang.org/x/tools/go/packages/golist.go
index 0458b4f9c4..96e43cd809 100644
--- a/vendor/golang.org/x/tools/go/packages/golist.go
+++ b/vendor/golang.org/x/tools/go/packages/golist.go
@@ -851,8 +851,6 @@ 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,
diff --git a/vendor/golang.org/x/tools/go/packages/packages.go b/vendor/golang.org/x/tools/go/packages/packages.go
index 6665a04c17..060ab08efb 100644
--- a/vendor/golang.org/x/tools/go/packages/packages.go
+++ b/vendor/golang.org/x/tools/go/packages/packages.go
@@ -229,14 +229,6 @@ type Config struct {
// consistent package metadata about unsaved files. However,
// drivers may vary in their level of support for overlays.
Overlay map[string][]byte
-
- // -- Hidden configuration fields only for use in x/tools --
-
- // modFile will be used for -modfile in go command invocations.
- modFile string
-
- // modFlag will be used for -modfile in go command invocations.
- modFlag string
}
// Load loads and returns the Go packages named by the given patterns.
@@ -569,12 +561,6 @@ func init() {
packagesinternal.GetDepsErrors = func(p any) []*packagesinternal.PackageError {
return p.(*Package).depsErrors
}
- packagesinternal.SetModFile = func(config any, value string) {
- config.(*Config).modFile = value
- }
- packagesinternal.SetModFlag = func(config any, value string) {
- config.(*Config).modFlag = value
- }
packagesinternal.TypecheckCgo = int(typecheckCgo)
packagesinternal.DepsErrors = int(needInternalDepsErrors)
}
diff --git a/vendor/golang.org/x/tools/go/types/typeutil/callee.go b/vendor/golang.org/x/tools/go/types/typeutil/callee.go
index 53b7133930..5f10f56cba 100644
--- a/vendor/golang.org/x/tools/go/types/typeutil/callee.go
+++ b/vendor/golang.org/x/tools/go/types/typeutil/callee.go
@@ -48,7 +48,7 @@ func StaticCallee(info *types.Info, call *ast.CallExpr) *types.Func {
// This function should live in typesinternal, but cannot because it would
// create an import cycle.
//
-//go:linkname usedIdent
+//go:linkname usedIdent golang.org/x/tools/go/types/typeutil.usedIdent
func usedIdent(info *types.Info, e ast.Expr) *ast.Ident {
if info.Types == nil || info.Uses == nil {
panic("one of info.Types or info.Uses is nil; both must be populated")
@@ -78,7 +78,7 @@ func usedIdent(info *types.Info, e ast.Expr) *ast.Ident {
// interfaceMethod reports whether its argument is a method of an interface.
// This function should live in typesinternal, but cannot because it would create an import cycle.
//
-//go:linkname interfaceMethod
+//go:linkname interfaceMethod golang.org/x/tools/go/types/typeutil.interfaceMethod
func interfaceMethod(f *types.Func) bool {
recv := f.Signature().Recv()
return recv != nil && types.IsInterface(recv.Type())
diff --git a/vendor/golang.org/x/tools/internal/analysisinternal/analysis.go b/vendor/golang.org/x/tools/internal/analysisinternal/analysis.go
index b22e314cf4..c4d10de3e9 100644
--- a/vendor/golang.org/x/tools/internal/analysisinternal/analysis.go
+++ b/vendor/golang.org/x/tools/internal/analysisinternal/analysis.go
@@ -280,7 +280,15 @@ func AddImport(info *types.Info, file *ast.File, preferredName, pkgpath, member
// If the first decl is an import group, add this new import at the end.
if gd, ok := before.(*ast.GenDecl); ok && gd.Tok == token.IMPORT && gd.Rparen.IsValid() {
pos = gd.Rparen
- newText = "\t" + newText + "\n"
+ // if it's a std lib, we should append it at the beginning of import group.
+ // otherwise we may see the std package is put at the last behind a 3rd module which doesn't follow our convention.
+ // besides, gofmt doesn't help in this case.
+ if IsStdPackage(pkgpath) && len(gd.Specs) != 0 {
+ pos = gd.Specs[0].Pos()
+ newText += "\n\t"
+ } else {
+ newText = "\t" + newText + "\n"
+ }
} else {
pos = before.Pos()
newText = "import " + newText + "\n\n"
@@ -305,10 +313,10 @@ func FreshName(scope *types.Scope, pos token.Pos, preferred string) string {
return newName
}
-// Format returns a string representation of the expression e.
-func Format(fset *token.FileSet, e ast.Expr) string {
+// Format returns a string representation of the node n.
+func Format(fset *token.FileSet, n ast.Node) string {
var buf strings.Builder
- printer.Fprint(&buf, fset, e) // ignore errors
+ printer.Fprint(&buf, fset, n) // ignore errors
return buf.String()
}
@@ -431,11 +439,25 @@ func validateFix(fset *token.FileSet, fix *analysis.SuggestedFix) error {
if file == nil {
return fmt.Errorf("no token.File for TextEdit.Pos (%v)", edit.Pos)
}
+ fileEnd := token.Pos(file.Base() + file.Size())
if end := edit.End; end.IsValid() {
if end < start {
return fmt.Errorf("TextEdit.Pos (%v) > TextEdit.End (%v)", edit.Pos, edit.End)
}
endFile := fset.File(end)
+ if endFile != file && end < fileEnd+10 {
+ // Relax the checks below in the special case when the end position
+ // is only slightly beyond EOF, as happens when End is computed
+ // (as in ast.{Struct,Interface}Type) rather than based on
+ // actual token positions. In such cases, truncate end to EOF.
+ //
+ // This is a workaround for #71659; see:
+ // https://github.com/golang/go/issues/71659#issuecomment-2651606031
+ // A better fix would be more faithful recording of token
+ // positions (or their absence) in the AST.
+ edit.End = fileEnd
+ continue
+ }
if endFile == nil {
return fmt.Errorf("no token.File for TextEdit.End (%v; File(start).FileEnd is %d)", end, file.Base()+file.Size())
}
@@ -446,7 +468,7 @@ func validateFix(fset *token.FileSet, fix *analysis.SuggestedFix) error {
} else {
edit.End = start // update the SuggestedFix
}
- if eof := token.Pos(file.Base() + file.Size()); edit.End > eof {
+ if eof := fileEnd; edit.End > eof {
return fmt.Errorf("end is (%v) beyond end of file (%v)", edit.End, eof)
}
@@ -637,3 +659,15 @@ func Comments(file *ast.File, start, end token.Pos) iter.Seq[*ast.Comment] {
}
}
}
+
+// IsStdPackage reports whether the specified package path belongs to a
+// package in the standard library (including internal dependencies).
+func IsStdPackage(path string) bool {
+ // A standard package has no dot in its first segment.
+ // (It may yet have a dot, e.g. "vendor/golang.org/x/foo".)
+ slash := strings.IndexByte(path, '/')
+ if slash < 0 {
+ slash = len(path)
+ }
+ return !strings.Contains(path[:slash], ".") && path != "testdata"
+}
diff --git a/vendor/golang.org/x/tools/internal/astutil/cursor/cursor.go b/vendor/golang.org/x/tools/internal/astutil/cursor/cursor.go
index 3f015998c5..78d874a86f 100644
--- a/vendor/golang.org/x/tools/internal/astutil/cursor/cursor.go
+++ b/vendor/golang.org/x/tools/internal/astutil/cursor/cursor.go
@@ -20,7 +20,6 @@ import (
"go/token"
"iter"
"reflect"
- "slices"
"golang.org/x/tools/go/ast/inspector"
"golang.org/x/tools/internal/astutil/edge"
@@ -46,7 +45,7 @@ func Root(in *inspector.Inspector) Cursor {
// At returns the cursor at the specified index in the traversal,
// which must have been obtained from [Cursor.Index] on a Cursor
-// belonging to the same Inspector.
+// belonging to the same Inspector (see [Cursor.Inspector]).
func At(in *inspector.Inspector, index int32) Cursor {
if index < 0 {
panic("negative index")
@@ -61,6 +60,9 @@ func At(in *inspector.Inspector, index int32) Cursor {
return Cursor{in, index}
}
+// Inspector returns the cursor's Inspector.
+func (c Cursor) Inspector() *inspector.Inspector { return c.in }
+
// Index returns the index of this cursor position within the package.
//
// Clients should not assume anything about the numeric Index value
@@ -142,10 +144,9 @@ func (c Cursor) Preorder(types ...ast.Node) iter.Seq[Cursor] {
}
// Inspect visits the nodes of the subtree represented by c in
-// depth-first order. It calls f(n, true) for each node n before it
+// depth-first order. It calls f(n) for each node n before it
// visits n's children. If f returns true, Inspect invokes f
-// recursively for each of the non-nil children of the node, followed
-// by a call of f(n, false).
+// recursively for each of the non-nil children of the node.
//
// Each node is represented by a Cursor that allows access to the
// Node, but may also be used to start a new traversal, or to obtain
@@ -155,7 +156,7 @@ func (c Cursor) Preorder(types ...ast.Node) iter.Seq[Cursor] {
// The types argument, if non-empty, enables type-based filtering of
// events. The function f if is called only for nodes whose type
// matches an element of the types slice.
-func (c Cursor) Inspect(types []ast.Node, f func(c Cursor, push bool) (descend bool)) {
+func (c Cursor) Inspect(types []ast.Node, f func(c Cursor) (descend bool)) {
mask := maskOf(types)
events := c.events()
for i, limit := c.indices(); i < limit; {
@@ -163,46 +164,19 @@ func (c Cursor) Inspect(types []ast.Node, f func(c Cursor, push bool) (descend b
if ev.index > i {
// push
pop := ev.index
- if ev.typ&mask != 0 && !f(Cursor{c.in, i}, true) {
- i = pop + 1 // past the pop
+ if ev.typ&mask != 0 && !f(Cursor{c.in, i}) ||
+ events[pop].typ&mask == 0 {
+ // The user opted not to descend, or the
+ // subtree does not contain types:
+ // skip past the pop.
+ i = pop + 1
continue
}
- if events[pop].typ&mask == 0 {
- // Subtree does not contain types: skip to pop.
- i = pop
- continue
- }
- } else {
- // pop
- push := ev.index
- if events[push].typ&mask != 0 {
- f(Cursor{c.in, push}, false)
- }
}
i++
}
}
-// Stack returns the stack of enclosing nodes, outermost first:
-// from the [ast.File] down to the current cursor's node.
-//
-// To amortize allocation, it appends to the provided slice, which
-// must be empty.
-//
-// Stack must not be called on the Root node.
-func (c Cursor) Stack(stack []Cursor) []Cursor {
- if len(stack) > 0 {
- panic("stack is non-empty")
- }
- if c.index < 0 {
- panic("Cursor.Stack called on Root node")
- }
-
- stack = slices.AppendSeq(stack, c.Enclosing())
- slices.Reverse(stack)
- return stack
-}
-
// Enclosing returns an iterator over the nodes enclosing the current
// current node, starting with the Cursor itself.
//
@@ -453,7 +427,7 @@ func (c Cursor) FindNode(n ast.Node) (Cursor, bool) {
// TODO(adonovan): opt: should we assume Node.Pos is accurate
// and combine type-based filtering with position filtering
- // like FindPos?
+ // like FindByPos?
mask := maskOf([]ast.Node{n})
events := c.events()
@@ -474,7 +448,7 @@ func (c Cursor) FindNode(n ast.Node) (Cursor, bool) {
return Cursor{}, false
}
-// FindPos returns the cursor for the innermost node n in the tree
+// FindByPos returns the cursor for the innermost node n in the tree
// rooted at c such that n.Pos() <= start && end <= n.End().
// (For an *ast.File, it uses the bounds n.FileStart-n.FileEnd.)
//
@@ -483,7 +457,7 @@ func (c Cursor) FindNode(n ast.Node) (Cursor, bool) {
//
// See also [astutil.PathEnclosingInterval], which
// tolerates adjoining whitespace.
-func (c Cursor) FindPos(start, end token.Pos) (Cursor, bool) {
+func (c Cursor) FindByPos(start, end token.Pos) (Cursor, bool) {
if end < start {
panic("end < start")
}
diff --git a/vendor/golang.org/x/tools/internal/packagesinternal/packages.go b/vendor/golang.org/x/tools/internal/packagesinternal/packages.go
index 25ebab663b..73eefa2a7d 100644
--- a/vendor/golang.org/x/tools/internal/packagesinternal/packages.go
+++ b/vendor/golang.org/x/tools/internal/packagesinternal/packages.go
@@ -15,6 +15,3 @@ type PackageError struct {
var TypecheckCgo int
var DepsErrors int // must be set as a LoadMode to call GetDepsErrors
-
-var SetModFlag = func(config any, value string) {}
-var SetModFile = func(config any, value string) {}
diff --git a/vendor/golang.org/x/tools/internal/stdlib/deps.go b/vendor/golang.org/x/tools/internal/stdlib/deps.go
index c50bf406b7..77cf8d2181 100644
--- a/vendor/golang.org/x/tools/internal/stdlib/deps.go
+++ b/vendor/golang.org/x/tools/internal/stdlib/deps.go
@@ -12,61 +12,61 @@ type pkginfo struct {
}
var deps = [...]pkginfo{
- {"archive/tar", "\x03j\x03E6\x01\v\x01\"\x01\x01\x02\x05\n\x02\x01\x02\x02\v"},
- {"archive/zip", "\x02\x04`\a\x16\x0206\x01*\x05\x01\x11\x03\x02\r\x04"},
- {"bufio", "\x03j~E\x13"},
- {"bytes", "m+S\x03\fG\x02\x02"},
+ {"archive/tar", "\x03j\x03E5\x01\v\x01#\x01\x01\x02\x05\n\x02\x01\x02\x02\v"},
+ {"archive/zip", "\x02\x04`\a\x16\x0205\x01+\x05\x01\x11\x03\x02\r\x04"},
+ {"bufio", "\x03j}F\x13"},
+ {"bytes", "m+R\x03\fH\x02\x02"},
{"cmp", ""},
- {"compress/bzip2", "\x02\x02\xe7\x01B"},
- {"compress/flate", "\x02k\x03{\r\x024\x01\x03"},
- {"compress/gzip", "\x02\x04`\a\x03\x15fT"},
- {"compress/lzw", "\x02k\x03{"},
- {"compress/zlib", "\x02\x04`\a\x03\x13\x01g"},
+ {"compress/bzip2", "\x02\x02\xe6\x01C"},
+ {"compress/flate", "\x02k\x03z\r\x025\x01\x03"},
+ {"compress/gzip", "\x02\x04`\a\x03\x15eU"},
+ {"compress/lzw", "\x02k\x03z"},
+ {"compress/zlib", "\x02\x04`\a\x03\x13\x01f"},
{"container/heap", "\xae\x02"},
{"container/list", ""},
{"container/ring", ""},
{"context", "m\\i\x01\f"},
- {"crypto", "\x83\x01hD"},
+ {"crypto", "\x83\x01gE"},
{"crypto/aes", "\x10\n\a\x8e\x02"},
- {"crypto/cipher", "\x03\x1e\x01\x01\x1d\x11\x1c,R"},
+ {"crypto/cipher", "\x03\x1e\x01\x01\x1d\x11\x1c,Q"},
{"crypto/des", "\x10\x13\x1d-,\x96\x01\x03"},
- {"crypto/dsa", "@\x04)~\x0e"},
- {"crypto/ecdh", "\x03\v\f\x0e\x04\x14\x04\r\x1c~"},
- {"crypto/ecdsa", "\x0e\x05\x03\x04\x01\x0e\x16\x01\x04\f\x01\x1c~\x0e\x04K\x01"},
- {"crypto/ed25519", "\x0e\x1c\x16\n\a\x1c~D"},
- {"crypto/elliptic", "0=~\x0e9"},
+ {"crypto/dsa", "@\x04)}\x0e"},
+ {"crypto/ecdh", "\x03\v\f\x0e\x04\x14\x04\r\x1c}"},
+ {"crypto/ecdsa", "\x0e\x05\x03\x04\x01\x0e\x16\x01\x04\f\x01\x1c}\x0e\x04L\x01"},
+ {"crypto/ed25519", "\x0e\x1c\x16\n\a\x1c}E"},
+ {"crypto/elliptic", "0=}\x0e:"},
{"crypto/fips140", " \x05\x90\x01"},
{"crypto/hkdf", "-\x12\x01-\x16"},
{"crypto/hmac", "\x1a\x14\x11\x01\x112"},
{"crypto/internal/boring", "\x0e\x02\rf"},
- {"crypto/internal/boring/bbig", "\x1a\xdf\x01L"},
+ {"crypto/internal/boring/bbig", "\x1a\xde\x01M"},
{"crypto/internal/boring/bcache", "\xb3\x02\x12"},
{"crypto/internal/boring/sig", ""},
- {"crypto/internal/cryptotest", "\x03\r\n)\x0e\x19\x06\x13\x12#\a\t\x11\x12\x11\x1a\r\r\x05\n"},
+ {"crypto/internal/cryptotest", "\x03\r\n)\x0e\x19\x06\x13\x12#\a\t\x11\x11\x11\x1b\x01\f\r\x05\n"},
{"crypto/internal/entropy", "E"},
- {"crypto/internal/fips140", ">/~8\r\x15"},
- {"crypto/internal/fips140/aes", "\x03\x1d\x03\x02\x13\x04\x01\x01\x05*\x8d\x015"},
- {"crypto/internal/fips140/aes/gcm", " \x01\x02\x02\x02\x11\x04\x01\x06*\x8b\x01"},
+ {"crypto/internal/fips140", ">/}9\r\x15"},
+ {"crypto/internal/fips140/aes", "\x03\x1d\x03\x02\x13\x04\x01\x01\x05*\x8c\x016"},
+ {"crypto/internal/fips140/aes/gcm", " \x01\x02\x02\x02\x11\x04\x01\x06*\x8a\x01"},
{"crypto/internal/fips140/alias", "\xc5\x02"},
- {"crypto/internal/fips140/bigmod", "%\x17\x01\x06*\x8d\x01"},
- {"crypto/internal/fips140/check", " \x0e\x06\b\x02\xad\x01Z"},
+ {"crypto/internal/fips140/bigmod", "%\x17\x01\x06*\x8c\x01"},
+ {"crypto/internal/fips140/check", " \x0e\x06\b\x02\xac\x01["},
{"crypto/internal/fips140/check/checktest", "%\xfe\x01\""},
- {"crypto/internal/fips140/drbg", "\x03\x1c\x01\x01\x04\x13\x04\b\x01(~\x0f8"},
- {"crypto/internal/fips140/ecdh", "\x03\x1d\x05\x02\t\f1~\x0f8"},
- {"crypto/internal/fips140/ecdsa", "\x03\x1d\x04\x01\x02\a\x02\x067~G"},
+ {"crypto/internal/fips140/drbg", "\x03\x1c\x01\x01\x04\x13\x04\b\x01(}\x0f9"},
+ {"crypto/internal/fips140/ecdh", "\x03\x1d\x05\x02\t\f1}\x0f9"},
+ {"crypto/internal/fips140/ecdsa", "\x03\x1d\x04\x01\x02\a\x02\x067}H"},
{"crypto/internal/fips140/ed25519", "\x03\x1d\x05\x02\x04\v7\xc2\x01\x03"},
- {"crypto/internal/fips140/edwards25519", "%\a\f\x041\x8d\x018"},
- {"crypto/internal/fips140/edwards25519/field", "%\x13\x041\x8d\x01"},
+ {"crypto/internal/fips140/edwards25519", "%\a\f\x041\x8c\x019"},
+ {"crypto/internal/fips140/edwards25519/field", "%\x13\x041\x8c\x01"},
{"crypto/internal/fips140/hkdf", "\x03\x1d\x05\t\x069"},
{"crypto/internal/fips140/hmac", "\x03\x1d\x14\x01\x017"},
{"crypto/internal/fips140/mlkem", "\x03\x1d\x05\x02\x0e\x03\x041"},
- {"crypto/internal/fips140/nistec", "%\f\a\x041\x8d\x01)\x0f\x13"},
- {"crypto/internal/fips140/nistec/fiat", "%\x135\x8d\x01"},
+ {"crypto/internal/fips140/nistec", "%\f\a\x041\x8c\x01*\x0f\x13"},
+ {"crypto/internal/fips140/nistec/fiat", "%\x135\x8c\x01"},
{"crypto/internal/fips140/pbkdf2", "\x03\x1d\x05\t\x069"},
- {"crypto/internal/fips140/rsa", "\x03\x1d\x04\x01\x02\r\x01\x01\x025~G"},
- {"crypto/internal/fips140/sha256", "\x03\x1d\x1c\x01\x06*\x8d\x01"},
- {"crypto/internal/fips140/sha3", "\x03\x1d\x18\x04\x010\x8d\x01K"},
- {"crypto/internal/fips140/sha512", "\x03\x1d\x1c\x01\x06*\x8d\x01"},
+ {"crypto/internal/fips140/rsa", "\x03\x1d\x04\x01\x02\r\x01\x01\x025}H"},
+ {"crypto/internal/fips140/sha256", "\x03\x1d\x1c\x01\x06*\x8c\x01"},
+ {"crypto/internal/fips140/sha3", "\x03\x1d\x18\x04\x010\x8c\x01L"},
+ {"crypto/internal/fips140/sha512", "\x03\x1d\x1c\x01\x06*\x8c\x01"},
{"crypto/internal/fips140/ssh", " \x05"},
{"crypto/internal/fips140/subtle", "#"},
{"crypto/internal/fips140/tls12", "\x03\x1d\x05\t\x06\x027"},
@@ -76,90 +76,90 @@ var deps = [...]pkginfo{
{"crypto/internal/fips140deps/cpu", "\xad\x01\a"},
{"crypto/internal/fips140deps/godebug", "\xb5\x01"},
{"crypto/internal/fips140hash", "5\x1a4\xc2\x01"},
- {"crypto/internal/fips140only", "'\r\x01\x01M26"},
+ {"crypto/internal/fips140only", "'\r\x01\x01M25"},
{"crypto/internal/fips140test", ""},
- {"crypto/internal/hpke", "\x0e\x01\x01\x03\x1a\x1d#,aM"},
+ {"crypto/internal/hpke", "\x0e\x01\x01\x03\x1a\x1d#,`N"},
{"crypto/internal/impl", "\xb0\x02"},
- {"crypto/internal/randutil", "\xeb\x01\x12"},
- {"crypto/internal/sysrand", "mi\"\x1e\r\x0f\x01\x01\v\x06"},
+ {"crypto/internal/randutil", "\xea\x01\x12"},
+ {"crypto/internal/sysrand", "mi!\x1f\r\x0f\x01\x01\v\x06"},
{"crypto/internal/sysrand/internal/seccomp", "m"},
- {"crypto/md5", "\x0e2-\x16\x16a"},
+ {"crypto/md5", "\x0e2-\x16\x16`"},
{"crypto/mlkem", "/"},
{"crypto/pbkdf2", "2\r\x01-\x16"},
- {"crypto/rand", "\x1a\x06\a\x19\x04\x01(~\x0eL"},
+ {"crypto/rand", "\x1a\x06\a\x19\x04\x01(}\x0eM"},
{"crypto/rc4", "#\x1d-\xc2\x01"},
- {"crypto/rsa", "\x0e\f\x01\t\x0f\f\x01\x04\x06\a\x1c\x03\x1326\r\x01"},
- {"crypto/sha1", "\x0e\f&-\x16\x16\x14M"},
+ {"crypto/rsa", "\x0e\f\x01\t\x0f\f\x01\x04\x06\a\x1c\x03\x1325\r\x01"},
+ {"crypto/sha1", "\x0e\f&-\x16\x16\x14L"},
{"crypto/sha256", "\x0e\f\x1aO"},
{"crypto/sha3", "\x0e'N\xc2\x01"},
{"crypto/sha512", "\x0e\f\x1cM"},
{"crypto/subtle", "8\x96\x01U"},
- {"crypto/tls", "\x03\b\x02\x01\x01\x01\x01\x02\x01\x01\x01\x03\x01\a\x01\v\x02\n\x01\b\x05\x03\x01\x01\x01\x01\x02\x01\x02\x01\x17\x02\x03\x13\x16\x14\b6\x16\x15\r\n\x01\x01\x01\x02\x01\f\x06\x02\x01"},
+ {"crypto/tls", "\x03\b\x02\x01\x01\x01\x01\x02\x01\x01\x01\x03\x01\a\x01\v\x02\n\x01\b\x05\x03\x01\x01\x01\x01\x02\x01\x02\x01\x17\x02\x03\x13\x16\x14\b5\x16\x16\r\n\x01\x01\x01\x02\x01\f\x06\x02\x01"},
{"crypto/tls/internal/fips140tls", " \x93\x02"},
- {"crypto/x509", "\x03\v\x01\x01\x01\x01\x01\x01\x01\x011\x03\x02\x01\x01\x02\x05\x0e\x06\x02\x02\x03E\x033\x01\x02\t\x01\x01\x01\a\x0f\x05\x01\x06\x02\x05\f\x01\x02\r\x02\x01\x01\x02\x03\x01"},
- {"crypto/x509/pkix", "c\x06\a\x89\x01F"},
- {"database/sql", "\x03\nJ\x16\x03{\f\x06!\x05\n\x02\x03\x01\f\x02\x02\x02"},
+ {"crypto/x509", "\x03\v\x01\x01\x01\x01\x01\x01\x01\x011\x03\x02\x01\x01\x02\x05\x0e\x06\x02\x02\x03E\x032\x01\x02\t\x01\x01\x01\a\x10\x05\x01\x06\x02\x05\f\x01\x02\r\x02\x01\x01\x02\x03\x01"},
+ {"crypto/x509/pkix", "c\x06\a\x88\x01G"},
+ {"database/sql", "\x03\nJ\x16\x03z\f\x06\"\x05\n\x02\x03\x01\f\x02\x02\x02"},
{"database/sql/driver", "\r`\x03\xae\x01\x11\x10"},
- {"debug/buildinfo", "\x03W\x02\x01\x01\b\a\x03`\x19\x02\x01*\x0f "},
- {"debug/dwarf", "\x03c\a\x03{0\x13\x01\x01"},
- {"debug/elf", "\x03\x06P\r\a\x03`\x1a\x01+\x19\x01\x15"},
+ {"debug/buildinfo", "\x03W\x02\x01\x01\b\a\x03`\x18\x02\x01+\x0f "},
+ {"debug/dwarf", "\x03c\a\x03z1\x13\x01\x01"},
+ {"debug/elf", "\x03\x06P\r\a\x03`\x19\x01,\x19\x01\x15"},
{"debug/gosym", "\x03c\n\xbe\x01\x01\x01\x02"},
- {"debug/macho", "\x03\x06P\r\n`\x1b+\x19\x01"},
- {"debug/pe", "\x03\x06P\r\a\x03`\x1b+\x19\x01\x15"},
- {"debug/plan9obj", "f\a\x03`\x1b+"},
- {"embed", "m+:\x19\x01S"},
+ {"debug/macho", "\x03\x06P\r\n`\x1a,\x19\x01"},
+ {"debug/pe", "\x03\x06P\r\a\x03`\x1a,\x19\x01\x15"},
+ {"debug/plan9obj", "f\a\x03`\x1a,"},
+ {"embed", "m+:\x18\x01T"},
{"embed/internal/embedtest", ""},
{"encoding", ""},
- {"encoding/ascii85", "\xeb\x01D"},
- {"encoding/asn1", "\x03j\x03\x88\x01\x01%\x0f\x02\x01\x0f\x03\x01"},
- {"encoding/base32", "\xeb\x01B\x02"},
- {"encoding/base64", "f\x85\x01B\x02"},
- {"encoding/binary", "m~\r&\x0f\x05"},
- {"encoding/csv", "\x02\x01j\x03{E\x11\x02"},
- {"encoding/gob", "\x02_\x05\a\x03`\x1b\f\x01\x02\x1c\b\x14\x01\x0e\x02"},
- {"encoding/hex", "m\x03{B\x03"},
- {"encoding/json", "\x03\x01]\x04\b\x03{\r&\x0f\x02\x01\x02\x0f\x01\x01\x02"},
- {"encoding/pem", "\x03b\b~B\x03"},
- {"encoding/xml", "\x02\x01^\f\x03{3\x05\f\x01\x02\x0f\x02"},
+ {"encoding/ascii85", "\xea\x01E"},
+ {"encoding/asn1", "\x03j\x03\x87\x01\x01&\x0f\x02\x01\x0f\x03\x01"},
+ {"encoding/base32", "\xea\x01C\x02"},
+ {"encoding/base64", "\x99\x01QC\x02"},
+ {"encoding/binary", "m}\r'\x0f\x05"},
+ {"encoding/csv", "\x02\x01j\x03zF\x11\x02"},
+ {"encoding/gob", "\x02_\x05\a\x03`\x1a\f\x01\x02\x1d\b\x14\x01\x0e\x02"},
+ {"encoding/hex", "m\x03zC\x03"},
+ {"encoding/json", "\x03\x01]\x04\b\x03z\r'\x0f\x02\x01\x02\x0f\x01\x01\x02"},
+ {"encoding/pem", "\x03b\b}C\x03"},
+ {"encoding/xml", "\x02\x01^\f\x03z4\x05\f\x01\x02\x0f\x02"},
{"errors", "\xc9\x01|"},
- {"expvar", "jK:\t\n\x14\r\n\x02\x03\x01\x10"},
- {"flag", "a\f\x03{+\b\x05\n\x02\x01\x0f"},
- {"fmt", "mE9\r\x1e\b\x0f\x02\x03\x11"},
- {"go/ast", "\x03\x01l\x0f\x01k\x03(\b\x0f\x02\x01"},
+ {"expvar", "jK9\t\n\x15\r\n\x02\x03\x01\x10"},
+ {"flag", "a\f\x03z,\b\x05\n\x02\x01\x0f"},
+ {"fmt", "mE8\r\x1f\b\x0f\x02\x03\x11"},
+ {"go/ast", "\x03\x01l\x0f\x01j\x03)\b\x0f\x02\x01"},
{"go/ast/internal/tests", ""},
- {"go/build", "\x02\x01j\x03\x01\x03\x02\a\x02\x01\x17\x1e\x04\x02\t\x14\x13\x01*\x01\x04\x01\a\n\x02\x01\x11\x02\x02"},
+ {"go/build", "\x02\x01j\x03\x01\x03\x02\a\x02\x01\x17\x1e\x04\x02\t\x14\x12\x01+\x01\x04\x01\a\n\x02\x01\x11\x02\x02"},
{"go/build/constraint", "m\xc2\x01\x01\x11\x02"},
- {"go/constant", "p\x10x\x01\x015\x01\x02\x11"},
- {"go/doc", "\x04l\x01\x06\t=.0\x12\x02\x01\x11\x02"},
+ {"go/constant", "p\x10w\x01\x016\x01\x02\x11"},
+ {"go/doc", "\x04l\x01\x06\t=-1\x12\x02\x01\x11\x02"},
{"go/doc/comment", "\x03m\xbd\x01\x01\x01\x01\x11\x02"},
- {"go/format", "\x03m\x01\f\x01\x02kE"},
- {"go/importer", "s\a\x01\x01\x04\x01j8"},
- {"go/internal/gccgoimporter", "\x02\x01W\x13\x03\x05\v\x01h\x02+\x01\x05\x13\x01\v\b"},
- {"go/internal/gcimporter", "\x02n\x10\x01/\x05\x0e(+\x17\x03\x02"},
- {"go/internal/srcimporter", "p\x01\x02\n\x03\x01j+\x01\x05\x14\x02\x13"},
- {"go/parser", "\x03j\x03\x01\x03\v\x01k\x01*\x06\x14"},
- {"go/printer", "p\x01\x03\x03\tk\r\x1e\x17\x02\x01\x02\n\x05\x02"},
- {"go/scanner", "\x03m\x10k1\x12\x01\x12\x02"},
+ {"go/format", "\x03m\x01\f\x01\x02jF"},
+ {"go/importer", "s\a\x01\x01\x04\x01i9"},
+ {"go/internal/gccgoimporter", "\x02\x01W\x13\x03\x05\v\x01g\x02,\x01\x05\x13\x01\v\b"},
+ {"go/internal/gcimporter", "\x02n\x10\x01/\x05\x0e',\x17\x03\x02"},
+ {"go/internal/srcimporter", "p\x01\x02\n\x03\x01i,\x01\x05\x14\x02\x13"},
+ {"go/parser", "\x03j\x03\x01\x03\v\x01j\x01+\x06\x14"},
+ {"go/printer", "p\x01\x03\x03\tj\r\x1f\x17\x02\x01\x02\n\x05\x02"},
+ {"go/scanner", "\x03m\x10j2\x12\x01\x12\x02"},
{"go/token", "\x04l\xbd\x01\x02\x03\x01\x0e\x02"},
- {"go/types", "\x03\x01\x06c\x03\x01\x04\b\x03\x02\x15\x1e\x06,\x04\x03\n$\a\n\x01\x01\x01\x02\x01\x0e\x02\x02"},
+ {"go/types", "\x03\x01\x06c\x03\x01\x04\b\x03\x02\x15\x1e\x06+\x04\x03\n%\a\n\x01\x01\x01\x02\x01\x0e\x02\x02"},
{"go/version", "\xba\x01v"},
- {"hash", "\xeb\x01"},
+ {"hash", "\xea\x01"},
{"hash/adler32", "m\x16\x16"},
{"hash/crc32", "m\x16\x16\x14\x85\x01\x01\x12"},
{"hash/crc64", "m\x16\x16\x99\x01"},
- {"hash/fnv", "m\x16\x16a"},
- {"hash/maphash", "\x94\x01\x05\x1b\x03AM"},
+ {"hash/fnv", "m\x16\x16`"},
+ {"hash/maphash", "\x94\x01\x05\x1b\x03@N"},
{"html", "\xb0\x02\x02\x11"},
- {"html/template", "\x03g\x06\x19,6\x01\v\x1f\x05\x01\x02\x03\x0e\x01\x02\v\x01\x03\x02"},
- {"image", "\x02k\x1f_\x0f5\x03\x01"},
+ {"html/template", "\x03g\x06\x19,5\x01\v \x05\x01\x02\x03\x0e\x01\x02\v\x01\x03\x02"},
+ {"image", "\x02k\x1f^\x0f6\x03\x01"},
{"image/color", ""},
{"image/color/palette", "\x8c\x01"},
{"image/draw", "\x8b\x01\x01\x04"},
- {"image/gif", "\x02\x01\x05e\x03\x1b\x01\x01\x01\vR"},
+ {"image/gif", "\x02\x01\x05e\x03\x1b\x01\x01\x01\vQ"},
{"image/internal/imageutil", "\x8b\x01"},
- {"image/jpeg", "\x02k\x1e\x01\x04["},
- {"image/png", "\x02\a]\n\x13\x02\x06\x01_D"},
- {"index/suffixarray", "\x03c\a~\r)\f\x01"},
+ {"image/jpeg", "\x02k\x1e\x01\x04Z"},
+ {"image/png", "\x02\a]\n\x13\x02\x06\x01^E"},
+ {"index/suffixarray", "\x03c\a}\r*\f\x01"},
{"internal/abi", "\xb4\x01\x91\x01"},
{"internal/asan", "\xc5\x02"},
{"internal/bisect", "\xa3\x02\x0f\x01"},
@@ -171,27 +171,27 @@ var deps = [...]pkginfo{
{"internal/copyright", ""},
{"internal/coverage", ""},
{"internal/coverage/calloc", ""},
- {"internal/coverage/cfile", "j\x06\x17\x16\x01\x02\x01\x01\x01\x01\x01\x01\x01#\x01 +\x06\a\f\x01\x03\f\x06"},
- {"internal/coverage/cformat", "\x04l-\x04J\f6\x01\x02\f"},
- {"internal/coverage/cmerge", "p-["},
- {"internal/coverage/decodecounter", "f\n-\v\x02A+\x19\x16"},
- {"internal/coverage/decodemeta", "\x02d\n\x17\x16\v\x02A+"},
- {"internal/coverage/encodecounter", "\x02d\n-\f\x01\x02?\f\x1f\x17"},
- {"internal/coverage/encodemeta", "\x02\x01c\n\x13\x04\x16\r\x02?+/"},
+ {"internal/coverage/cfile", "j\x06\x17\x16\x01\x02\x01\x01\x01\x01\x01\x01\x01#\x01\x1f,\x06\a\f\x01\x03\f\x06"},
+ {"internal/coverage/cformat", "\x04l-\x04I\f7\x01\x02\f"},
+ {"internal/coverage/cmerge", "p-Z"},
+ {"internal/coverage/decodecounter", "f\n-\v\x02@,\x19\x16"},
+ {"internal/coverage/decodemeta", "\x02d\n\x17\x16\v\x02@,"},
+ {"internal/coverage/encodecounter", "\x02d\n-\f\x01\x02>\f \x17"},
+ {"internal/coverage/encodemeta", "\x02\x01c\n\x13\x04\x16\r\x02>,/"},
{"internal/coverage/pods", "\x04l-y\x06\x05\f\x02\x01"},
{"internal/coverage/rtcov", "\xc5\x02"},
- {"internal/coverage/slicereader", "f\n{Z"},
- {"internal/coverage/slicewriter", "p{"},
- {"internal/coverage/stringtab", "p8\x04?"},
+ {"internal/coverage/slicereader", "f\nz["},
+ {"internal/coverage/slicewriter", "pz"},
+ {"internal/coverage/stringtab", "p8\x04>"},
{"internal/coverage/test", ""},
{"internal/coverage/uleb128", ""},
{"internal/cpu", "\xc5\x02"},
{"internal/dag", "\x04l\xbd\x01\x03"},
{"internal/diff", "\x03m\xbe\x01\x02"},
- {"internal/exportdata", "\x02\x01j\x03\x03]\x1b+\x01\x05\x13\x01\x02"},
- {"internal/filepathlite", "m+:\x1aA"},
+ {"internal/exportdata", "\x02\x01j\x03\x03]\x1a,\x01\x05\x13\x01\x02"},
+ {"internal/filepathlite", "m+:\x19B"},
{"internal/fmtsort", "\x04\x9a\x02\x0f"},
- {"internal/fuzz", "\x03\nA\x18\x04\x03\x03\x01\f\x0356\r\x02\x1c\x01\x05\x02\x05\f\x01\x02\x01\x01\v\x04\x02"},
+ {"internal/fuzz", "\x03\nA\x18\x04\x03\x03\x01\f\x0355\r\x02\x1d\x01\x05\x02\x05\f\x01\x02\x01\x01\v\x04\x02"},
{"internal/goarch", ""},
{"internal/godebug", "\x96\x01 |\x01\x12"},
{"internal/godebugs", ""},
@@ -202,158 +202,158 @@ var deps = [...]pkginfo{
{"internal/goversion", ""},
{"internal/itoa", ""},
{"internal/lazyregexp", "\x96\x02\v\x0f\x02"},
- {"internal/lazytemplate", "\xeb\x01+\x1a\x02\v"},
+ {"internal/lazytemplate", "\xea\x01,\x1a\x02\v"},
{"internal/msan", "\xc5\x02"},
{"internal/nettrace", ""},
- {"internal/obscuretestdata", "e\x86\x01+"},
+ {"internal/obscuretestdata", "e\x85\x01,"},
{"internal/oserror", "m"},
- {"internal/pkgbits", "\x03K\x18\a\x03\x05\vk\x0e\x1d\r\f\x01"},
+ {"internal/pkgbits", "\x03K\x18\a\x03\x05\vj\x0e\x1e\r\f\x01"},
{"internal/platform", ""},
- {"internal/poll", "mO\x1a\x158\x0f\x01\x01\v\x06"},
- {"internal/profile", "\x03\x04f\x03{6\r\x01\x01\x0f"},
+ {"internal/poll", "mO\x1a\x149\x0f\x01\x01\v\x06"},
+ {"internal/profile", "\x03\x04f\x03z7\r\x01\x01\x0f"},
{"internal/profilerecord", ""},
{"internal/race", "\x94\x01\xb1\x01"},
- {"internal/reflectlite", "\x94\x01 4;\""},
+ {"internal/reflectlite", "\x94\x01 3<\""},
{"internal/runtime/atomic", "\xc5\x02"},
{"internal/runtime/exithook", "\xca\x01{"},
{"internal/runtime/maps", "\x94\x01\x01\x1f\v\t\x05\x01w"},
{"internal/runtime/math", "\xb4\x01"},
{"internal/runtime/sys", "\xb4\x01\x04"},
{"internal/runtime/syscall", "\xc5\x02"},
- {"internal/saferio", "\xeb\x01Z"},
+ {"internal/saferio", "\xea\x01["},
{"internal/singleflight", "\xb2\x02"},
{"internal/stringslite", "\x98\x01\xad\x01"},
{"internal/sync", "\x94\x01 \x14k\x12"},
{"internal/synctest", "\xc5\x02"},
{"internal/syscall/execenv", "\xb4\x02"},
{"internal/syscall/unix", "\xa3\x02\x10\x01\x11"},
- {"internal/sysinfo", "\x02\x01\xaa\x01>+\x1a\x02"},
+ {"internal/sysinfo", "\x02\x01\xaa\x01=,\x1a\x02"},
{"internal/syslist", ""},
- {"internal/testenv", "\x03\n`\x02\x01*\x1a\x10(*\x01\x05\a\f\x01\x02\x02\x01\n"},
+ {"internal/testenv", "\x03\n`\x02\x01*\x1a\x10'+\x01\x05\a\f\x01\x02\x02\x01\n"},
{"internal/testlog", "\xb2\x02\x01\x12"},
{"internal/testpty", "m\x03\xa6\x01"},
- {"internal/trace", "\x02\x01\x01\x06\\\a\x03m\x01\x01\x06\x06\x03\n5\x01\x02\x0f"},
- {"internal/trace/event", ""},
- {"internal/trace/event/go122", "pm"},
- {"internal/trace/internal/oldtrace", "\x03\x01b\a\x03m\b\x06\r5\x01"},
- {"internal/trace/internal/testgen/go122", "\x03c\nl\x01\x01\x03\x04\x010\v\x0f"},
- {"internal/trace/raw", "\x02d\nm\b\x06D\x01\x11"},
- {"internal/trace/testtrace", "\x02\x01j\x03l\x05\x05\x056\f\x02\x01"},
- {"internal/trace/traceviewer", "\x02]\v\x06\x1a<\x16\b\a\x04\t\n\x14\x01\x05\a\f\x01\x02\r"},
+ {"internal/trace", "\x02\x01\x01\x06\\\a\x03n\x03\x03\x06\x03\n6\x01\x02\x0f\x06"},
+ {"internal/trace/internal/testgen", "\x03c\nl\x03\x02\x03\x011\v\x0f"},
+ {"internal/trace/internal/tracev1", "\x03\x01b\a\x03t\x06\r6\x01"},
+ {"internal/trace/raw", "\x02d\nq\x03\x06E\x01\x11"},
+ {"internal/trace/testtrace", "\x02\x01j\x03l\x03\x06\x057\f\x02\x01"},
+ {"internal/trace/tracev2", ""},
+ {"internal/trace/traceviewer", "\x02]\v\x06\x1a<\x16\a\a\x04\t\n\x15\x01\x05\a\f\x01\x02\r"},
{"internal/trace/traceviewer/format", ""},
- {"internal/trace/version", "pm\x01\r"},
+ {"internal/trace/version", "pq\t"},
{"internal/txtar", "\x03m\xa6\x01\x1a"},
{"internal/types/errors", "\xaf\x02"},
{"internal/unsafeheader", "\xc5\x02"},
- {"internal/xcoff", "Y\r\a\x03`\x1b+\x19\x01"},
- {"internal/zstd", "f\a\x03{\x0f"},
+ {"internal/xcoff", "Y\r\a\x03`\x1a,\x19\x01"},
+ {"internal/zstd", "f\a\x03z\x0f"},
{"io", "m\xc5\x01"},
- {"io/fs", "m+*)0\x12\x12\x04"},
- {"io/ioutil", "\xeb\x01\x01*\x17\x03"},
+ {"io/fs", "m+*(1\x12\x12\x04"},
+ {"io/ioutil", "\xea\x01\x01+\x17\x03"},
{"iter", "\xc8\x01[\""},
- {"log", "p{\x05&\r\x0f\x01\f"},
+ {"log", "pz\x05'\r\x0f\x01\f"},
{"log/internal", ""},
- {"log/slog", "\x03\nT\t\x03\x03{\x04\x01\x02\x02\x04&\x05\n\x02\x01\x02\x01\f\x02\x02\x02"},
+ {"log/slog", "\x03\nT\t\x03\x03z\x04\x01\x02\x02\x04'\x05\n\x02\x01\x02\x01\f\x02\x02\x02"},
{"log/slog/internal", ""},
- {"log/slog/internal/benchmarks", "\r`\x03{\x06\x03;\x10"},
+ {"log/slog/internal/benchmarks", "\r`\x03z\x06\x03<\x10"},
{"log/slog/internal/buffer", "\xb2\x02"},
- {"log/slog/internal/slogtest", "\xf1\x01"},
- {"log/syslog", "m\x03\x7f\x12\x15\x1a\x02\r"},
- {"maps", "\xee\x01W"},
- {"math", "\xad\x01MK"},
- {"math/big", "\x03j\x03)\x14>\r\x02\x023\x01\x02\x13"},
+ {"log/slog/internal/slogtest", "\xf0\x01"},
+ {"log/syslog", "m\x03~\x12\x16\x1a\x02\r"},
+ {"maps", "\xed\x01X"},
+ {"math", "\xad\x01LL"},
+ {"math/big", "\x03j\x03)\x14=\r\x02\x024\x01\x02\x13"},
{"math/bits", "\xc5\x02"},
- {"math/cmplx", "\xf8\x01\x02"},
- {"math/rand", "\xb5\x01C:\x01\x12"},
- {"math/rand/v2", "m,\x02]\x02K"},
- {"mime", "\x02\x01b\b\x03{\f\x1f\x17\x03\x02\x0f\x02"},
- {"mime/multipart", "\x02\x01G#\x03E6\f\x01\x06\x02\x14\x02\x06\x11\x02\x01\x15"},
- {"mime/quotedprintable", "\x02\x01m{"},
- {"net", "\x04\t`+\x1d\a\x04\x05\f\x01\x04\x15\x01$\x06\r\n\x05\x01\x01\v\x06\a"},
- {"net/http", "\x02\x01\x04\x04\x02=\b\x13\x01\a\x03E6\x01\x03\b\x01\x02\x02\x02\x01\x02\x06\x02\x01\n\x01\x01\x05\x01\x02\x05\n\x01\x01\x01\x02\x01\f\x02\x02\x02\b\x01\x01\x01"},
- {"net/http/cgi", "\x02P\x1b\x03{\x04\b\n\x01\x12\x01\x01\x01\x04\x01\x05\x02\n\x02\x01\x0f\x0e"},
- {"net/http/cookiejar", "\x04i\x03\x91\x01\x01\b\v\x18\x03\x02\r\x04"},
- {"net/http/fcgi", "\x02\x01\nY\a\x03{\x16\x01\x01\x13\x1a\x02\r"},
- {"net/http/httptest", "\x02\x01\nE\x02\x1b\x01{\x04\x12\x01\t\t\x02\x19\x01\x02\r\x0e"},
- {"net/http/httptrace", "\rEnA\x13\n!"},
- {"net/http/httputil", "\x02\x01\n`\x03{\x04\x0f\x03\x01\x05\x02\x01\n\x01\x1b\x02\r\x0e"},
- {"net/http/internal", "\x02\x01j\x03{"},
+ {"math/cmplx", "\xf7\x01\x02"},
+ {"math/rand", "\xb5\x01B;\x01\x12"},
+ {"math/rand/v2", "m,\x02\\\x02L"},
+ {"mime", "\x02\x01b\b\x03z\f \x17\x03\x02\x0f\x02"},
+ {"mime/multipart", "\x02\x01G#\x03E5\f\x01\x06\x02\x15\x02\x06\x11\x02\x01\x15"},
+ {"mime/quotedprintable", "\x02\x01mz"},
+ {"net", "\x04\t`+\x1d\a\x04\x05\f\x01\x04\x14\x01%\x06\r\n\x05\x01\x01\v\x06\a"},
+ {"net/http", "\x02\x01\x04\x04\x02=\b\x13\x01\a\x03E5\x01\x03\b\x01\x02\x02\x02\x01\x02\x06\x02\x01\x01\n\x01\x01\x05\x01\x02\x05\n\x01\x01\x01\x02\x01\x01\v\x02\x02\x02\b\x01\x01\x01"},
+ {"net/http/cgi", "\x02P\x1b\x03z\x04\b\n\x01\x13\x01\x01\x01\x04\x01\x05\x02\n\x02\x01\x0f\x0e"},
+ {"net/http/cookiejar", "\x04i\x03\x90\x01\x01\b\f\x18\x03\x02\r\x04"},
+ {"net/http/fcgi", "\x02\x01\nY\a\x03z\x16\x01\x01\x14\x1a\x02\r"},
+ {"net/http/httptest", "\x02\x01\nE\x02\x1b\x01z\x04\x12\x01\n\t\x02\x19\x01\x02\r\x0e"},
+ {"net/http/httptrace", "\rEn@\x14\n!"},
+ {"net/http/httputil", "\x02\x01\n`\x03z\x04\x0f\x03\x01\x05\x02\x01\v\x01\x1b\x02\r\x0e"},
+ {"net/http/internal", "\x02\x01j\x03z"},
{"net/http/internal/ascii", "\xb0\x02\x11"},
+ {"net/http/internal/httpcommon", "\r`\x03\x96\x01\x0e\x01\x19\x01\x01\x02\x1b\x02"},
{"net/http/internal/testcert", "\xb0\x02"},
- {"net/http/pprof", "\x02\x01\nc\x19,\x11%\x04\x13\x13\x01\r\x06\x03\x01\x02\x01\x0f"},
+ {"net/http/pprof", "\x02\x01\nc\x19,\x11$\x04\x13\x14\x01\r\x06\x03\x01\x02\x01\x0f"},
{"net/internal/cgotest", ""},
{"net/internal/socktest", "p\xc2\x01\x02"},
- {"net/mail", "\x02k\x03{\x04\x0f\x03\x13\x1c\x02\r\x04"},
- {"net/netip", "\x04i+\x01#<\x025\x15"},
- {"net/rpc", "\x02f\x05\x03\x10\na\x04\x12\x01\x1c\x0f\x03\x02"},
- {"net/rpc/jsonrpc", "j\x03\x03{\x16\x10!"},
- {"net/smtp", "\x19.\v\x13\b\x03{\x16\x13\x1c"},
- {"net/textproto", "\x02\x01j\x03{\r\t.\x01\x02\x13"},
- {"net/url", "m\x03\x87\x01$\x12\x02\x01\x15"},
- {"os", "m+\x01\x18\x03\b\t\r\x03\x01\x04\x11\x017\n\x05\x01\x01\v\x06"},
- {"os/exec", "\x03\n`H \x01\x15\x01*\x06\a\f\x01\x04\v"},
+ {"net/mail", "\x02k\x03z\x04\x0f\x03\x14\x1c\x02\r\x04"},
+ {"net/netip", "\x04i+\x01#;\x026\x15"},
+ {"net/rpc", "\x02f\x05\x03\x10\n`\x04\x12\x01\x1d\x0f\x03\x02"},
+ {"net/rpc/jsonrpc", "j\x03\x03z\x16\x11!"},
+ {"net/smtp", "\x19.\v\x13\b\x03z\x16\x14\x1c"},
+ {"net/textproto", "\x02\x01j\x03z\r\t/\x01\x02\x13"},
+ {"net/url", "m\x03\x86\x01%\x12\x02\x01\x15"},
+ {"os", "m+\x01\x18\x03\b\t\r\x03\x01\x04\x10\x018\n\x05\x01\x01\v\x06"},
+ {"os/exec", "\x03\n`H \x01\x14\x01+\x06\a\f\x01\x04\v"},
{"os/exec/internal/fdtest", "\xb4\x02"},
{"os/signal", "\r\x89\x02\x17\x05\x02"},
- {"os/user", "\x02\x01j\x03{+\r\f\x01\x02"},
+ {"os/user", "\x02\x01j\x03z,\r\f\x01\x02"},
{"path", "m+\xab\x01"},
- {"path/filepath", "m+\x19;*\r\n\x03\x04\x0f"},
+ {"path/filepath", "m+\x19:+\r\n\x03\x04\x0f"},
{"plugin", "m"},
- {"reflect", "m'\x04\x1c\b\f\x04\x02\x1a\x06\n+\f\x03\x0f\x02\x02"},
+ {"reflect", "m'\x04\x1c\b\f\x04\x02\x19\x10,\f\x03\x0f\x02\x02"},
{"reflect/internal/example1", ""},
{"reflect/internal/example2", ""},
- {"regexp", "\x03\xe8\x017\v\x02\x01\x02\x0f\x02"},
+ {"regexp", "\x03\xe7\x018\v\x02\x01\x02\x0f\x02"},
{"regexp/syntax", "\xad\x02\x01\x01\x01\x11\x02"},
- {"runtime", "\x94\x01\x04\x01\x02\f\x06\a\x02\x01\x01\x0f\x03\x01\x01\x01\x01\x01\x03s"},
- {"runtime/coverage", "\x9f\x01L"},
+ {"runtime", "\x94\x01\x04\x01\x02\f\x06\a\x02\x01\x01\x0f\x03\x01\x01\x01\x01\x01\x03\x0fd"},
+ {"runtime/coverage", "\x9f\x01K"},
{"runtime/debug", "pUQ\r\n\x02\x01\x0f\x06"},
{"runtime/internal/startlinetest", ""},
{"runtime/internal/wasitest", ""},
- {"runtime/metrics", "\xb6\x01B+\""},
- {"runtime/pprof", "\x02\x01\x01\x03\x06Y\a\x03$3$\r\x1e\r\n\x01\x01\x01\x02\x02\b\x03\x06"},
+ {"runtime/metrics", "\xb6\x01A,\""},
+ {"runtime/pprof", "\x02\x01\x01\x03\x06Y\a\x03$3#\r\x1f\r\n\x01\x01\x01\x02\x02\b\x03\x06"},
{"runtime/race", "\xab\x02"},
{"runtime/race/internal/amd64v1", ""},
- {"runtime/trace", "\rc{8\x0f\x01\x12"},
- {"slices", "\x04\xea\x01\fK"},
- {"sort", "\xc9\x0113"},
- {"strconv", "m+:&\x02I"},
- {"strings", "m'\x04:\x19\x03\f8\x0f\x02\x02"},
+ {"runtime/trace", "\rcz9\x0f\x01\x12"},
+ {"slices", "\x04\xe9\x01\fL"},
+ {"sort", "\xc9\x0104"},
+ {"strconv", "m+:%\x02J"},
+ {"strings", "m'\x04:\x18\x03\f9\x0f\x02\x02"},
{"structs", ""},
{"sync", "\xc8\x01\vP\x10\x12"},
{"sync/atomic", "\xc5\x02"},
- {"syscall", "m(\x03\x01\x1b\b\x03\x03\x06\aT\x0f\x01\x12"},
- {"testing", "\x03\n`\x02\x01G\x11\x0f\x14\r\x04\x1a\x06\x02\x05\x02\a\x01\x02\x01\x02\x01\f\x02\x02\x02"},
- {"testing/fstest", "m\x03{\x01\v$\x12\x03\b\a"},
- {"testing/internal/testdeps", "\x02\v\xa6\x01'\x11+\x03\x05\x03\b\a\x02\r"},
- {"testing/iotest", "\x03j\x03{\x04"},
- {"testing/quick", "o\x01\x88\x01\x04\"\x12\x0f"},
- {"testing/slogtest", "\r`\x03\x81\x01-\x05\x12\n"},
- {"text/scanner", "\x03m{++\x02"},
- {"text/tabwriter", "p{X"},
- {"text/template", "m\x03B9\x01\v\x1e\x01\x05\x01\x02\x05\r\x02\f\x03\x02"},
+ {"syscall", "m(\x03\x01\x1b\b\x03\x03\x06\aT\n\x05\x01\x12"},
+ {"testing", "\x03\n`\x02\x01X\x0f\x13\r\x04\x1b\x06\x02\x05\x02\a\x01\x02\x01\x02\x01\f\x02\x02\x02"},
+ {"testing/fstest", "m\x03z\x01\v%\x12\x03\b\a"},
+ {"testing/internal/testdeps", "\x02\v\xa6\x01'\x10,\x03\x05\x03\b\a\x02\r"},
+ {"testing/iotest", "\x03j\x03z\x04"},
+ {"testing/quick", "o\x01\x87\x01\x04#\x12\x0f"},
+ {"testing/slogtest", "\r`\x03\x80\x01.\x05\x12\n"},
+ {"text/scanner", "\x03mz,+\x02"},
+ {"text/tabwriter", "pzY"},
+ {"text/template", "m\x03B8\x01\v\x1f\x01\x05\x01\x02\x05\r\x02\f\x03\x02"},
{"text/template/parse", "\x03m\xb3\x01\f\x01\x11\x02"},
- {"time", "m+\x1d\x1d()\x0f\x02\x11"},
+ {"time", "m+\x1d\x1d'*\x0f\x02\x11"},
{"time/tzdata", "m\xc7\x01\x11"},
{"unicode", ""},
{"unicode/utf16", ""},
{"unicode/utf8", ""},
{"unique", "\x94\x01>\x01P\x0f\x13\x12"},
{"unsafe", ""},
- {"vendor/golang.org/x/crypto/chacha20", "\x10V\a\x8d\x01)'"},
+ {"vendor/golang.org/x/crypto/chacha20", "\x10V\a\x8c\x01*'"},
{"vendor/golang.org/x/crypto/chacha20poly1305", "\x10V\a\xd9\x01\x04\x01\a"},
- {"vendor/golang.org/x/crypto/cryptobyte", "c\n\x03\x89\x01%!\n"},
+ {"vendor/golang.org/x/crypto/cryptobyte", "c\n\x03\x88\x01&!\n"},
{"vendor/golang.org/x/crypto/cryptobyte/asn1", ""},
{"vendor/golang.org/x/crypto/internal/alias", "\xc5\x02"},
- {"vendor/golang.org/x/crypto/internal/poly1305", "Q\x15\x94\x01"},
+ {"vendor/golang.org/x/crypto/internal/poly1305", "Q\x15\x93\x01"},
{"vendor/golang.org/x/net/dns/dnsmessage", "m"},
- {"vendor/golang.org/x/net/http/httpguts", "\x81\x02\x13\x1c\x13\r"},
- {"vendor/golang.org/x/net/http/httpproxy", "m\x03\x91\x01\x0f\x05\x01\x1a\x13\r"},
- {"vendor/golang.org/x/net/http2/hpack", "\x03j\x03{G"},
- {"vendor/golang.org/x/net/idna", "p\x88\x018\x13\x10\x02\x01"},
- {"vendor/golang.org/x/net/nettest", "\x03c\a\x03{\x11\x05\x15\x01\f\f\x01\x02\x02\x01\n"},
+ {"vendor/golang.org/x/net/http/httpguts", "\x80\x02\x14\x1c\x13\r"},
+ {"vendor/golang.org/x/net/http/httpproxy", "m\x03\x90\x01\x15\x01\x1a\x13\r"},
+ {"vendor/golang.org/x/net/http2/hpack", "\x03j\x03zH"},
+ {"vendor/golang.org/x/net/idna", "p\x87\x019\x13\x10\x02\x01"},
+ {"vendor/golang.org/x/net/nettest", "\x03c\a\x03z\x11\x05\x16\x01\f\f\x01\x02\x02\x01\n"},
{"vendor/golang.org/x/sys/cpu", "\x96\x02\r\f\x01\x15"},
{"vendor/golang.org/x/text/secure/bidirule", "m\xd6\x01\x11\x01"},
- {"vendor/golang.org/x/text/transform", "\x03j~X"},
- {"vendor/golang.org/x/text/unicode/bidi", "\x03\be\x7f?\x15"},
- {"vendor/golang.org/x/text/unicode/norm", "f\n{G\x11\x11"},
+ {"vendor/golang.org/x/text/transform", "\x03j}Y"},
+ {"vendor/golang.org/x/text/unicode/bidi", "\x03\be~@\x15"},
+ {"vendor/golang.org/x/text/unicode/norm", "f\nzH\x11\x11"},
{"weak", "\x94\x01\x8f\x01\""},
}
diff --git a/vendor/golang.org/x/tools/internal/stdlib/manifest.go b/vendor/golang.org/x/tools/internal/stdlib/manifest.go
index 2b418796ab..64f0326b64 100644
--- a/vendor/golang.org/x/tools/internal/stdlib/manifest.go
+++ b/vendor/golang.org/x/tools/internal/stdlib/manifest.go
@@ -8,17640 +8,17669 @@ 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},
+ {"(*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, "func(fi fs.FileInfo, link string) (*Header, error)"},
+ {"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, "func(r io.Reader) *Reader"},
+ {"NewWriter", Func, 0, "func(w io.Writer) *Writer"},
+ {"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},
+ {"(*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, "func(fi fs.FileInfo) (*FileHeader, error)"},
+ {"NewReader", Func, 0, "func(r io.ReaderAt, size int64) (*Reader, error)"},
+ {"NewWriter", Func, 0, "func(w io.Writer) *Writer"},
+ {"OpenReader", Func, 0, "func(name string) (*ReadCloser, error)"},
+ {"ReadCloser", Type, 0, ""},
+ {"ReadCloser.Reader", Field, 0, ""},
+ {"Reader", Type, 0, ""},
+ {"Reader.Comment", Field, 0, ""},
+ {"Reader.File", Field, 0, ""},
+ {"RegisterCompressor", Func, 2, "func(method uint16, comp Compressor)"},
+ {"RegisterDecompressor", Func, 2, "func(method uint16, dcomp Decompressor)"},
+ {"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},
+ {"(*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, "func(r *Reader, w *Writer) *ReadWriter"},
+ {"NewReader", Func, 0, "func(rd io.Reader) *Reader"},
+ {"NewReaderSize", Func, 0, "func(rd io.Reader, size int) *Reader"},
+ {"NewScanner", Func, 1, "func(r io.Reader) *Scanner"},
+ {"NewWriter", Func, 0, "func(w io.Writer) *Writer"},
+ {"NewWriterSize", Func, 0, "func(w io.Writer, size int) *Writer"},
+ {"ReadWriter", Type, 0, ""},
+ {"ReadWriter.Reader", Field, 0, ""},
+ {"ReadWriter.Writer", Field, 0, ""},
+ {"Reader", Type, 0, ""},
+ {"ScanBytes", Func, 1, "func(data []byte, atEOF bool) (advance int, token []byte, err error)"},
+ {"ScanLines", Func, 1, "func(data []byte, atEOF bool) (advance int, token []byte, err error)"},
+ {"ScanRunes", Func, 1, "func(data []byte, atEOF bool) (advance int, token []byte, err error)"},
+ {"ScanWords", Func, 1, "func(data []byte, atEOF bool) (advance int, token []byte, err error)"},
+ {"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},
- {"FieldsFuncSeq", Func, 24},
- {"FieldsSeq", Func, 24},
- {"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},
- {"Lines", Func, 24},
- {"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},
- {"SplitAfterSeq", Func, 24},
- {"SplitN", Func, 0},
- {"SplitSeq", Func, 24},
- {"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},
+ {"(*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, "func(b []byte) []byte"},
+ {"Compare", Func, 0, "func(a []byte, b []byte) int"},
+ {"Contains", Func, 0, "func(b []byte, subslice []byte) bool"},
+ {"ContainsAny", Func, 7, "func(b []byte, chars string) bool"},
+ {"ContainsFunc", Func, 21, "func(b []byte, f func(rune) bool) bool"},
+ {"ContainsRune", Func, 7, "func(b []byte, r rune) bool"},
+ {"Count", Func, 0, "func(s []byte, sep []byte) int"},
+ {"Cut", Func, 18, "func(s []byte, sep []byte) (before []byte, after []byte, found bool)"},
+ {"CutPrefix", Func, 20, "func(s []byte, prefix []byte) (after []byte, found bool)"},
+ {"CutSuffix", Func, 20, "func(s []byte, suffix []byte) (before []byte, found bool)"},
+ {"Equal", Func, 0, "func(a []byte, b []byte) bool"},
+ {"EqualFold", Func, 0, "func(s []byte, t []byte) bool"},
+ {"ErrTooLarge", Var, 0, ""},
+ {"Fields", Func, 0, "func(s []byte) [][]byte"},
+ {"FieldsFunc", Func, 0, "func(s []byte, f func(rune) bool) [][]byte"},
+ {"FieldsFuncSeq", Func, 24, "func(s []byte, f func(rune) bool) iter.Seq[[]byte]"},
+ {"FieldsSeq", Func, 24, "func(s []byte) iter.Seq[[]byte]"},
+ {"HasPrefix", Func, 0, "func(s []byte, prefix []byte) bool"},
+ {"HasSuffix", Func, 0, "func(s []byte, suffix []byte) bool"},
+ {"Index", Func, 0, "func(s []byte, sep []byte) int"},
+ {"IndexAny", Func, 0, "func(s []byte, chars string) int"},
+ {"IndexByte", Func, 0, "func(b []byte, c byte) int"},
+ {"IndexFunc", Func, 0, "func(s []byte, f func(r rune) bool) int"},
+ {"IndexRune", Func, 0, "func(s []byte, r rune) int"},
+ {"Join", Func, 0, "func(s [][]byte, sep []byte) []byte"},
+ {"LastIndex", Func, 0, "func(s []byte, sep []byte) int"},
+ {"LastIndexAny", Func, 0, "func(s []byte, chars string) int"},
+ {"LastIndexByte", Func, 5, "func(s []byte, c byte) int"},
+ {"LastIndexFunc", Func, 0, "func(s []byte, f func(r rune) bool) int"},
+ {"Lines", Func, 24, "func(s []byte) iter.Seq[[]byte]"},
+ {"Map", Func, 0, "func(mapping func(r rune) rune, s []byte) []byte"},
+ {"MinRead", Const, 0, ""},
+ {"NewBuffer", Func, 0, "func(buf []byte) *Buffer"},
+ {"NewBufferString", Func, 0, "func(s string) *Buffer"},
+ {"NewReader", Func, 0, "func(b []byte) *Reader"},
+ {"Reader", Type, 0, ""},
+ {"Repeat", Func, 0, "func(b []byte, count int) []byte"},
+ {"Replace", Func, 0, "func(s []byte, old []byte, new []byte, n int) []byte"},
+ {"ReplaceAll", Func, 12, "func(s []byte, old []byte, new []byte) []byte"},
+ {"Runes", Func, 0, "func(s []byte) []rune"},
+ {"Split", Func, 0, "func(s []byte, sep []byte) [][]byte"},
+ {"SplitAfter", Func, 0, "func(s []byte, sep []byte) [][]byte"},
+ {"SplitAfterN", Func, 0, "func(s []byte, sep []byte, n int) [][]byte"},
+ {"SplitAfterSeq", Func, 24, "func(s []byte, sep []byte) iter.Seq[[]byte]"},
+ {"SplitN", Func, 0, "func(s []byte, sep []byte, n int) [][]byte"},
+ {"SplitSeq", Func, 24, "func(s []byte, sep []byte) iter.Seq[[]byte]"},
+ {"Title", Func, 0, "func(s []byte) []byte"},
+ {"ToLower", Func, 0, "func(s []byte) []byte"},
+ {"ToLowerSpecial", Func, 0, "func(c unicode.SpecialCase, s []byte) []byte"},
+ {"ToTitle", Func, 0, "func(s []byte) []byte"},
+ {"ToTitleSpecial", Func, 0, "func(c unicode.SpecialCase, s []byte) []byte"},
+ {"ToUpper", Func, 0, "func(s []byte) []byte"},
+ {"ToUpperSpecial", Func, 0, "func(c unicode.SpecialCase, s []byte) []byte"},
+ {"ToValidUTF8", Func, 13, "func(s []byte, replacement []byte) []byte"},
+ {"Trim", Func, 0, "func(s []byte, cutset string) []byte"},
+ {"TrimFunc", Func, 0, "func(s []byte, f func(r rune) bool) []byte"},
+ {"TrimLeft", Func, 0, "func(s []byte, cutset string) []byte"},
+ {"TrimLeftFunc", Func, 0, "func(s []byte, f func(r rune) bool) []byte"},
+ {"TrimPrefix", Func, 1, "func(s []byte, prefix []byte) []byte"},
+ {"TrimRight", Func, 0, "func(s []byte, cutset string) []byte"},
+ {"TrimRightFunc", Func, 0, "func(s []byte, f func(r rune) bool) []byte"},
+ {"TrimSpace", Func, 0, "func(s []byte) []byte"},
+ {"TrimSuffix", Func, 1, "func(s []byte, suffix []byte) []byte"},
},
"cmp": {
- {"Compare", Func, 21},
- {"Less", Func, 21},
- {"Or", Func, 22},
- {"Ordered", Type, 21},
+ {"Compare", Func, 21, "func[T Ordered](x T, y T) int"},
+ {"Less", Func, 21, "func[T Ordered](x T, y T) bool"},
+ {"Or", Func, 22, "func[T comparable](vals ...T) T"},
+ {"Ordered", Type, 21, ""},
},
"compress/bzip2": {
- {"(StructuralError).Error", Method, 0},
- {"NewReader", Func, 0},
- {"StructuralError", Type, 0},
+ {"(StructuralError).Error", Method, 0, ""},
+ {"NewReader", Func, 0, "func(r io.Reader) io.Reader"},
+ {"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},
+ {"(*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, "func(r io.Reader) io.ReadCloser"},
+ {"NewReaderDict", Func, 0, "func(r io.Reader, dict []byte) io.ReadCloser"},
+ {"NewWriter", Func, 0, "func(w io.Writer, level int) (*Writer, error)"},
+ {"NewWriterDict", Func, 0, "func(w io.Writer, level int, dict []byte) (*Writer, error)"},
+ {"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},
+ {"(*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, "func(r io.Reader) (*Reader, error)"},
+ {"NewWriter", Func, 0, "func(w io.Writer) *Writer"},
+ {"NewWriterLevel", Func, 0, "func(w io.Writer, level int) (*Writer, error)"},
+ {"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},
+ {"(*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, "func(r io.Reader, order Order, litWidth int) io.ReadCloser"},
+ {"NewWriter", Func, 0, "func(w io.Writer, order Order, litWidth int) io.WriteCloser"},
+ {"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},
+ {"(*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, "func(r io.Reader) (io.ReadCloser, error)"},
+ {"NewReaderDict", Func, 0, "func(r io.Reader, dict []byte) (io.ReadCloser, error)"},
+ {"NewWriter", Func, 0, "func(w io.Writer) *Writer"},
+ {"NewWriterLevel", Func, 0, "func(w io.Writer, level int) (*Writer, error)"},
+ {"NewWriterLevelDict", Func, 0, "func(w io.Writer, level int, dict []byte) (*Writer, error)"},
+ {"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},
+ {"Fix", Func, 2, "func(h Interface, i int)"},
+ {"Init", Func, 0, "func(h Interface)"},
+ {"Interface", Type, 0, ""},
+ {"Pop", Func, 0, "func(h Interface) any"},
+ {"Push", Func, 0, "func(h Interface, x any)"},
+ {"Remove", Func, 0, "func(h Interface, i int) any"},
},
"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},
+ {"(*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, "func() *List"},
},
"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},
+ {"(*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, "func(n int) *Ring"},
+ {"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},
+ {"AfterFunc", Func, 21, "func(ctx Context, f func()) (stop func() bool)"},
+ {"Background", Func, 7, "func() Context"},
+ {"CancelCauseFunc", Type, 20, ""},
+ {"CancelFunc", Type, 7, ""},
+ {"Canceled", Var, 7, ""},
+ {"Cause", Func, 20, "func(c Context) error"},
+ {"Context", Type, 7, ""},
+ {"DeadlineExceeded", Var, 7, ""},
+ {"TODO", Func, 7, "func() Context"},
+ {"WithCancel", Func, 7, "func(parent Context) (ctx Context, cancel CancelFunc)"},
+ {"WithCancelCause", Func, 20, "func(parent Context) (ctx Context, cancel CancelCauseFunc)"},
+ {"WithDeadline", Func, 7, "func(parent Context, d time.Time) (Context, CancelFunc)"},
+ {"WithDeadlineCause", Func, 21, "func(parent Context, d time.Time, cause error) (Context, CancelFunc)"},
+ {"WithTimeout", Func, 7, "func(parent Context, timeout time.Duration) (Context, CancelFunc)"},
+ {"WithTimeoutCause", Func, 21, "func(parent Context, timeout time.Duration, cause error) (Context, CancelFunc)"},
+ {"WithValue", Func, 7, "func(parent Context, key any, val any) Context"},
+ {"WithoutCancel", Func, 21, "func(parent Context) Context"},
},
"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},
+ {"(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, "func(h Hash, f func() hash.Hash)"},
+ {"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},
+ {"(KeySizeError).Error", Method, 0, ""},
+ {"BlockSize", Const, 0, ""},
+ {"KeySizeError", Type, 0, ""},
+ {"NewCipher", Func, 0, "func(key []byte) (cipher.Block, error)"},
},
"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},
- {"NewGCMWithRandomNonce", Func, 24},
- {"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},
+ {"(StreamReader).Read", Method, 0, ""},
+ {"(StreamWriter).Close", Method, 0, ""},
+ {"(StreamWriter).Write", Method, 0, ""},
+ {"AEAD", Type, 2, ""},
+ {"Block", Type, 0, ""},
+ {"BlockMode", Type, 0, ""},
+ {"NewCBCDecrypter", Func, 0, "func(b Block, iv []byte) BlockMode"},
+ {"NewCBCEncrypter", Func, 0, "func(b Block, iv []byte) BlockMode"},
+ {"NewCFBDecrypter", Func, 0, "func(block Block, iv []byte) Stream"},
+ {"NewCFBEncrypter", Func, 0, "func(block Block, iv []byte) Stream"},
+ {"NewCTR", Func, 0, "func(block Block, iv []byte) Stream"},
+ {"NewGCM", Func, 2, "func(cipher Block) (AEAD, error)"},
+ {"NewGCMWithNonceSize", Func, 5, "func(cipher Block, size int) (AEAD, error)"},
+ {"NewGCMWithRandomNonce", Func, 24, "func(cipher Block) (AEAD, error)"},
+ {"NewGCMWithTagSize", Func, 11, "func(cipher Block, tagSize int) (AEAD, error)"},
+ {"NewOFB", Func, 0, "func(b Block, iv []byte) Stream"},
+ {"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},
+ {"(KeySizeError).Error", Method, 0, ""},
+ {"BlockSize", Const, 0, ""},
+ {"KeySizeError", Type, 0, ""},
+ {"NewCipher", Func, 0, "func(key []byte) (cipher.Block, error)"},
+ {"NewTripleDESCipher", Func, 0, "func(key []byte) (cipher.Block, error)"},
},
"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},
+ {"ErrInvalidPublicKey", Var, 0, ""},
+ {"GenerateKey", Func, 0, "func(priv *PrivateKey, rand io.Reader) error"},
+ {"GenerateParameters", Func, 0, "func(params *Parameters, rand io.Reader, sizes ParameterSizes) error"},
+ {"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, "func(rand io.Reader, priv *PrivateKey, hash []byte) (r *big.Int, s *big.Int, err error)"},
+ {"Verify", Func, 0, "func(pub *PublicKey, hash []byte, r *big.Int, s *big.Int) bool"},
},
"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},
+ {"(*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, "func() Curve"},
+ {"P384", Func, 20, "func() Curve"},
+ {"P521", Func, 20, "func() Curve"},
+ {"PrivateKey", Type, 20, ""},
+ {"PublicKey", Type, 20, ""},
+ {"X25519", Func, 20, "func() Curve"},
},
"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},
+ {"(*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, "func(c elliptic.Curve, rand io.Reader) (*PrivateKey, error)"},
+ {"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, "func(rand io.Reader, priv *PrivateKey, hash []byte) (r *big.Int, s *big.Int, err error)"},
+ {"SignASN1", Func, 15, "func(rand io.Reader, priv *PrivateKey, hash []byte) ([]byte, error)"},
+ {"Verify", Func, 0, "func(pub *PublicKey, hash []byte, r *big.Int, s *big.Int) bool"},
+ {"VerifyASN1", Func, 15, "func(pub *PublicKey, hash []byte, sig []byte) bool"},
},
"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},
+ {"(*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, "func(rand io.Reader) (PublicKey, PrivateKey, error)"},
+ {"NewKeyFromSeed", Func, 13, "func(seed []byte) PrivateKey"},
+ {"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, "func(privateKey PrivateKey, message []byte) []byte"},
+ {"SignatureSize", Const, 13, ""},
+ {"Verify", Func, 13, "func(publicKey PublicKey, message []byte, sig []byte) bool"},
+ {"VerifyWithOptions", Func, 20, "func(publicKey PublicKey, message []byte, sig []byte, opts *Options) error"},
},
"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},
+ {"(*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, "func(curve Curve, rand io.Reader) (priv []byte, x *big.Int, y *big.Int, err error)"},
+ {"Marshal", Func, 0, "func(curve Curve, x *big.Int, y *big.Int) []byte"},
+ {"MarshalCompressed", Func, 15, "func(curve Curve, x *big.Int, y *big.Int) []byte"},
+ {"P224", Func, 0, "func() Curve"},
+ {"P256", Func, 0, "func() Curve"},
+ {"P384", Func, 0, "func() Curve"},
+ {"P521", Func, 0, "func() Curve"},
+ {"Unmarshal", Func, 0, "func(curve Curve, data []byte) (x *big.Int, y *big.Int)"},
+ {"UnmarshalCompressed", Func, 15, "func(curve Curve, data []byte) (x *big.Int, y *big.Int)"},
},
"crypto/fips140": {
- {"Enabled", Func, 24},
+ {"Enabled", Func, 24, "func() bool"},
},
"crypto/hkdf": {
- {"Expand", Func, 24},
- {"Extract", Func, 24},
- {"Key", Func, 24},
+ {"Expand", Func, 24, "func[H hash.Hash](h func() H, pseudorandomKey []byte, info string, keyLength int) ([]byte, error)"},
+ {"Extract", Func, 24, "func[H hash.Hash](h func() H, secret []byte, salt []byte) ([]byte, error)"},
+ {"Key", Func, 24, "func[Hash hash.Hash](h func() Hash, secret []byte, salt []byte, info string, keyLength int) ([]byte, error)"},
},
"crypto/hmac": {
- {"Equal", Func, 1},
- {"New", Func, 0},
+ {"Equal", Func, 1, "func(mac1 []byte, mac2 []byte) bool"},
+ {"New", Func, 0, "func(h func() hash.Hash, key []byte) hash.Hash"},
},
"crypto/md5": {
- {"BlockSize", Const, 0},
- {"New", Func, 0},
- {"Size", Const, 0},
- {"Sum", Func, 2},
+ {"BlockSize", Const, 0, ""},
+ {"New", Func, 0, "func() hash.Hash"},
+ {"Size", Const, 0, ""},
+ {"Sum", Func, 2, "func(data []byte) [16]byte"},
},
"crypto/mlkem": {
- {"(*DecapsulationKey1024).Bytes", Method, 24},
- {"(*DecapsulationKey1024).Decapsulate", Method, 24},
- {"(*DecapsulationKey1024).EncapsulationKey", Method, 24},
- {"(*DecapsulationKey768).Bytes", Method, 24},
- {"(*DecapsulationKey768).Decapsulate", Method, 24},
- {"(*DecapsulationKey768).EncapsulationKey", Method, 24},
- {"(*EncapsulationKey1024).Bytes", Method, 24},
- {"(*EncapsulationKey1024).Encapsulate", Method, 24},
- {"(*EncapsulationKey768).Bytes", Method, 24},
- {"(*EncapsulationKey768).Encapsulate", Method, 24},
- {"CiphertextSize1024", Const, 24},
- {"CiphertextSize768", Const, 24},
- {"DecapsulationKey1024", Type, 24},
- {"DecapsulationKey768", Type, 24},
- {"EncapsulationKey1024", Type, 24},
- {"EncapsulationKey768", Type, 24},
- {"EncapsulationKeySize1024", Const, 24},
- {"EncapsulationKeySize768", Const, 24},
- {"GenerateKey1024", Func, 24},
- {"GenerateKey768", Func, 24},
- {"NewDecapsulationKey1024", Func, 24},
- {"NewDecapsulationKey768", Func, 24},
- {"NewEncapsulationKey1024", Func, 24},
- {"NewEncapsulationKey768", Func, 24},
- {"SeedSize", Const, 24},
- {"SharedKeySize", Const, 24},
+ {"(*DecapsulationKey1024).Bytes", Method, 24, ""},
+ {"(*DecapsulationKey1024).Decapsulate", Method, 24, ""},
+ {"(*DecapsulationKey1024).EncapsulationKey", Method, 24, ""},
+ {"(*DecapsulationKey768).Bytes", Method, 24, ""},
+ {"(*DecapsulationKey768).Decapsulate", Method, 24, ""},
+ {"(*DecapsulationKey768).EncapsulationKey", Method, 24, ""},
+ {"(*EncapsulationKey1024).Bytes", Method, 24, ""},
+ {"(*EncapsulationKey1024).Encapsulate", Method, 24, ""},
+ {"(*EncapsulationKey768).Bytes", Method, 24, ""},
+ {"(*EncapsulationKey768).Encapsulate", Method, 24, ""},
+ {"CiphertextSize1024", Const, 24, ""},
+ {"CiphertextSize768", Const, 24, ""},
+ {"DecapsulationKey1024", Type, 24, ""},
+ {"DecapsulationKey768", Type, 24, ""},
+ {"EncapsulationKey1024", Type, 24, ""},
+ {"EncapsulationKey768", Type, 24, ""},
+ {"EncapsulationKeySize1024", Const, 24, ""},
+ {"EncapsulationKeySize768", Const, 24, ""},
+ {"GenerateKey1024", Func, 24, "func() (*DecapsulationKey1024, error)"},
+ {"GenerateKey768", Func, 24, "func() (*DecapsulationKey768, error)"},
+ {"NewDecapsulationKey1024", Func, 24, "func(seed []byte) (*DecapsulationKey1024, error)"},
+ {"NewDecapsulationKey768", Func, 24, "func(seed []byte) (*DecapsulationKey768, error)"},
+ {"NewEncapsulationKey1024", Func, 24, "func(encapsulationKey []byte) (*EncapsulationKey1024, error)"},
+ {"NewEncapsulationKey768", Func, 24, "func(encapsulationKey []byte) (*EncapsulationKey768, error)"},
+ {"SeedSize", Const, 24, ""},
+ {"SharedKeySize", Const, 24, ""},
},
"crypto/pbkdf2": {
- {"Key", Func, 24},
+ {"Key", Func, 24, "func[Hash hash.Hash](h func() Hash, password string, salt []byte, iter int, keyLength int) ([]byte, error)"},
},
"crypto/rand": {
- {"Int", Func, 0},
- {"Prime", Func, 0},
- {"Read", Func, 0},
- {"Reader", Var, 0},
- {"Text", Func, 24},
+ {"Int", Func, 0, "func(rand io.Reader, max *big.Int) (n *big.Int, err error)"},
+ {"Prime", Func, 0, "func(rand io.Reader, bits int) (*big.Int, error)"},
+ {"Read", Func, 0, "func(b []byte) (n int, err error)"},
+ {"Reader", Var, 0, ""},
+ {"Text", Func, 24, "func() string"},
},
"crypto/rc4": {
- {"(*Cipher).Reset", Method, 0},
- {"(*Cipher).XORKeyStream", Method, 0},
- {"(KeySizeError).Error", Method, 0},
- {"Cipher", Type, 0},
- {"KeySizeError", Type, 0},
- {"NewCipher", Func, 0},
+ {"(*Cipher).Reset", Method, 0, ""},
+ {"(*Cipher).XORKeyStream", Method, 0, ""},
+ {"(KeySizeError).Error", Method, 0, ""},
+ {"Cipher", Type, 0, ""},
+ {"KeySizeError", Type, 0, ""},
+ {"NewCipher", Func, 0, "func(key []byte) (*Cipher, error)"},
},
"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},
+ {"(*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, "func(hash hash.Hash, random io.Reader, priv *PrivateKey, ciphertext []byte, label []byte) ([]byte, error)"},
+ {"DecryptPKCS1v15", Func, 0, "func(random io.Reader, priv *PrivateKey, ciphertext []byte) ([]byte, error)"},
+ {"DecryptPKCS1v15SessionKey", Func, 0, "func(random io.Reader, priv *PrivateKey, ciphertext []byte, key []byte) error"},
+ {"EncryptOAEP", Func, 0, "func(hash hash.Hash, random io.Reader, pub *PublicKey, msg []byte, label []byte) ([]byte, error)"},
+ {"EncryptPKCS1v15", Func, 0, "func(random io.Reader, pub *PublicKey, msg []byte) ([]byte, error)"},
+ {"ErrDecryption", Var, 0, ""},
+ {"ErrMessageTooLong", Var, 0, ""},
+ {"ErrVerification", Var, 0, ""},
+ {"GenerateKey", Func, 0, "func(random io.Reader, bits int) (*PrivateKey, error)"},
+ {"GenerateMultiPrimeKey", Func, 0, "func(random io.Reader, nprimes int, bits int) (*PrivateKey, error)"},
+ {"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, "func(random io.Reader, priv *PrivateKey, hash crypto.Hash, hashed []byte) ([]byte, error)"},
+ {"SignPSS", Func, 2, "func(rand io.Reader, priv *PrivateKey, hash crypto.Hash, digest []byte, opts *PSSOptions) ([]byte, error)"},
+ {"VerifyPKCS1v15", Func, 0, "func(pub *PublicKey, hash crypto.Hash, hashed []byte, sig []byte) error"},
+ {"VerifyPSS", Func, 2, "func(pub *PublicKey, hash crypto.Hash, digest []byte, sig []byte, opts *PSSOptions) error"},
},
"crypto/sha1": {
- {"BlockSize", Const, 0},
- {"New", Func, 0},
- {"Size", Const, 0},
- {"Sum", Func, 2},
+ {"BlockSize", Const, 0, ""},
+ {"New", Func, 0, "func() hash.Hash"},
+ {"Size", Const, 0, ""},
+ {"Sum", Func, 2, "func(data []byte) [20]byte"},
},
"crypto/sha256": {
- {"BlockSize", Const, 0},
- {"New", Func, 0},
- {"New224", Func, 0},
- {"Size", Const, 0},
- {"Size224", Const, 0},
- {"Sum224", Func, 2},
- {"Sum256", Func, 2},
+ {"BlockSize", Const, 0, ""},
+ {"New", Func, 0, "func() hash.Hash"},
+ {"New224", Func, 0, "func() hash.Hash"},
+ {"Size", Const, 0, ""},
+ {"Size224", Const, 0, ""},
+ {"Sum224", Func, 2, "func(data []byte) [28]byte"},
+ {"Sum256", Func, 2, "func(data []byte) [32]byte"},
},
"crypto/sha3": {
- {"(*SHA3).AppendBinary", Method, 24},
- {"(*SHA3).BlockSize", Method, 24},
- {"(*SHA3).MarshalBinary", Method, 24},
- {"(*SHA3).Reset", Method, 24},
- {"(*SHA3).Size", Method, 24},
- {"(*SHA3).Sum", Method, 24},
- {"(*SHA3).UnmarshalBinary", Method, 24},
- {"(*SHA3).Write", Method, 24},
- {"(*SHAKE).AppendBinary", Method, 24},
- {"(*SHAKE).BlockSize", Method, 24},
- {"(*SHAKE).MarshalBinary", Method, 24},
- {"(*SHAKE).Read", Method, 24},
- {"(*SHAKE).Reset", Method, 24},
- {"(*SHAKE).UnmarshalBinary", Method, 24},
- {"(*SHAKE).Write", Method, 24},
- {"New224", Func, 24},
- {"New256", Func, 24},
- {"New384", Func, 24},
- {"New512", Func, 24},
- {"NewCSHAKE128", Func, 24},
- {"NewCSHAKE256", Func, 24},
- {"NewSHAKE128", Func, 24},
- {"NewSHAKE256", Func, 24},
- {"SHA3", Type, 24},
- {"SHAKE", Type, 24},
- {"Sum224", Func, 24},
- {"Sum256", Func, 24},
- {"Sum384", Func, 24},
- {"Sum512", Func, 24},
- {"SumSHAKE128", Func, 24},
- {"SumSHAKE256", Func, 24},
+ {"(*SHA3).AppendBinary", Method, 24, ""},
+ {"(*SHA3).BlockSize", Method, 24, ""},
+ {"(*SHA3).MarshalBinary", Method, 24, ""},
+ {"(*SHA3).Reset", Method, 24, ""},
+ {"(*SHA3).Size", Method, 24, ""},
+ {"(*SHA3).Sum", Method, 24, ""},
+ {"(*SHA3).UnmarshalBinary", Method, 24, ""},
+ {"(*SHA3).Write", Method, 24, ""},
+ {"(*SHAKE).AppendBinary", Method, 24, ""},
+ {"(*SHAKE).BlockSize", Method, 24, ""},
+ {"(*SHAKE).MarshalBinary", Method, 24, ""},
+ {"(*SHAKE).Read", Method, 24, ""},
+ {"(*SHAKE).Reset", Method, 24, ""},
+ {"(*SHAKE).UnmarshalBinary", Method, 24, ""},
+ {"(*SHAKE).Write", Method, 24, ""},
+ {"New224", Func, 24, "func() *SHA3"},
+ {"New256", Func, 24, "func() *SHA3"},
+ {"New384", Func, 24, "func() *SHA3"},
+ {"New512", Func, 24, "func() *SHA3"},
+ {"NewCSHAKE128", Func, 24, "func(N []byte, S []byte) *SHAKE"},
+ {"NewCSHAKE256", Func, 24, "func(N []byte, S []byte) *SHAKE"},
+ {"NewSHAKE128", Func, 24, "func() *SHAKE"},
+ {"NewSHAKE256", Func, 24, "func() *SHAKE"},
+ {"SHA3", Type, 24, ""},
+ {"SHAKE", Type, 24, ""},
+ {"Sum224", Func, 24, "func(data []byte) [28]byte"},
+ {"Sum256", Func, 24, "func(data []byte) [32]byte"},
+ {"Sum384", Func, 24, "func(data []byte) [48]byte"},
+ {"Sum512", Func, 24, "func(data []byte) [64]byte"},
+ {"SumSHAKE128", Func, 24, "func(data []byte, length int) []byte"},
+ {"SumSHAKE256", Func, 24, "func(data []byte, length int) []byte"},
},
"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},
+ {"BlockSize", Const, 0, ""},
+ {"New", Func, 0, "func() hash.Hash"},
+ {"New384", Func, 0, "func() hash.Hash"},
+ {"New512_224", Func, 5, "func() hash.Hash"},
+ {"New512_256", Func, 5, "func() hash.Hash"},
+ {"Size", Const, 0, ""},
+ {"Size224", Const, 5, ""},
+ {"Size256", Const, 5, ""},
+ {"Size384", Const, 0, ""},
+ {"Sum384", Func, 2, "func(data []byte) [48]byte"},
+ {"Sum512", Func, 2, "func(data []byte) [64]byte"},
+ {"Sum512_224", Func, 5, "func(data []byte) [28]byte"},
+ {"Sum512_256", Func, 5, "func(data []byte) [32]byte"},
},
"crypto/subtle": {
- {"ConstantTimeByteEq", Func, 0},
- {"ConstantTimeCompare", Func, 0},
- {"ConstantTimeCopy", Func, 0},
- {"ConstantTimeEq", Func, 0},
- {"ConstantTimeLessOrEq", Func, 2},
- {"ConstantTimeSelect", Func, 0},
- {"WithDataIndependentTiming", Func, 24},
- {"XORBytes", Func, 20},
+ {"ConstantTimeByteEq", Func, 0, "func(x uint8, y uint8) int"},
+ {"ConstantTimeCompare", Func, 0, "func(x []byte, y []byte) int"},
+ {"ConstantTimeCopy", Func, 0, "func(v int, x []byte, y []byte)"},
+ {"ConstantTimeEq", Func, 0, "func(x int32, y int32) int"},
+ {"ConstantTimeLessOrEq", Func, 2, "func(x int, y int) int"},
+ {"ConstantTimeSelect", Func, 0, "func(v int, x int, y int) int"},
+ {"WithDataIndependentTiming", Func, 24, "func(f func())"},
+ {"XORBytes", Func, 20, "func(dst []byte, x []byte, y []byte) int"},
},
"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.Extensions", Field, 24},
- {"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.EncryptedClientHelloKeys", Field, 24},
- {"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},
- {"EncryptedClientHelloKey", Type, 24},
- {"EncryptedClientHelloKey.Config", Field, 24},
- {"EncryptedClientHelloKey.PrivateKey", Field, 24},
- {"EncryptedClientHelloKey.SendAsRetry", Field, 24},
- {"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},
- {"X25519MLKEM768", Const, 24},
- {"X509KeyPair", Func, 0},
+ {"(*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, "func(id uint16) string"},
+ {"CipherSuites", Func, 14, "func() []*CipherSuite"},
+ {"Client", Func, 0, "func(conn net.Conn, config *Config) *Conn"},
+ {"ClientAuthType", Type, 0, ""},
+ {"ClientHelloInfo", Type, 4, ""},
+ {"ClientHelloInfo.CipherSuites", Field, 4, ""},
+ {"ClientHelloInfo.Conn", Field, 8, ""},
+ {"ClientHelloInfo.Extensions", Field, 24, ""},
+ {"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.EncryptedClientHelloKeys", Field, 24, ""},
+ {"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.CurveID", Field, 25, ""},
+ {"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, "func(network string, addr string, config *Config) (*Conn, error)"},
+ {"DialWithDialer", Func, 3, "func(dialer *net.Dialer, network string, addr string, config *Config) (*Conn, error)"},
+ {"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, ""},
+ {"EncryptedClientHelloKey", Type, 24, ""},
+ {"EncryptedClientHelloKey.Config", Field, 24, ""},
+ {"EncryptedClientHelloKey.PrivateKey", Field, 24, ""},
+ {"EncryptedClientHelloKey.SendAsRetry", Field, 24, ""},
+ {"InsecureCipherSuites", Func, 14, "func() []*CipherSuite"},
+ {"Listen", Func, 0, "func(network string, laddr string, config *Config) (net.Listener, error)"},
+ {"LoadX509KeyPair", Func, 0, "func(certFile string, keyFile string) (Certificate, error)"},
+ {"NewLRUClientSessionCache", Func, 3, "func(capacity int) ClientSessionCache"},
+ {"NewListener", Func, 0, "func(inner net.Listener, config *Config) net.Listener"},
+ {"NewResumptionState", Func, 21, "func(ticket []byte, state *SessionState) (*ClientSessionState, error)"},
+ {"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, "func(data []byte) (*SessionState, error)"},
+ {"QUICClient", Func, 21, "func(config *QUICConfig) *QUICConn"},
+ {"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, "func(config *QUICConfig) *QUICConn"},
+ {"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, "func(conn net.Conn, config *Config) *Conn"},
+ {"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, "func(version uint16) string"},
+ {"VersionSSL30", Const, 2, ""},
+ {"VersionTLS10", Const, 2, ""},
+ {"VersionTLS11", Const, 2, ""},
+ {"VersionTLS12", Const, 2, ""},
+ {"VersionTLS13", Const, 12, ""},
+ {"X25519", Const, 8, ""},
+ {"X25519MLKEM768", Const, 24, ""},
+ {"X509KeyPair", Func, 0, "func(certPEMBlock []byte, keyPEMBlock []byte) (Certificate, error)"},
},
"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).AppendBinary", Method, 24},
- {"(OID).AppendText", Method, 24},
- {"(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.InhibitAnyPolicy", Field, 24},
- {"Certificate.InhibitAnyPolicyZero", Field, 24},
- {"Certificate.InhibitPolicyMapping", Field, 24},
- {"Certificate.InhibitPolicyMappingZero", Field, 24},
- {"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.PolicyMappings", Field, 24},
- {"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.RequireExplicitPolicy", Field, 24},
- {"Certificate.RequireExplicitPolicyZero", Field, 24},
- {"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},
- {"NoValidChains", Const, 24},
- {"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},
- {"PolicyMapping", Type, 24},
- {"PolicyMapping.IssuerDomainPolicy", Field, 24},
- {"PolicyMapping.SubjectDomainPolicy", Field, 24},
- {"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.CertificatePolicies", Field, 24},
- {"VerifyOptions.CurrentTime", Field, 0},
- {"VerifyOptions.DNSName", Field, 0},
- {"VerifyOptions.Intermediates", Field, 0},
- {"VerifyOptions.KeyUsages", Field, 1},
- {"VerifyOptions.MaxConstraintComparisions", Field, 10},
- {"VerifyOptions.Roots", Field, 0},
+ {"(*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).AppendBinary", Method, 24, ""},
+ {"(OID).AppendText", Method, 24, ""},
+ {"(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.InhibitAnyPolicy", Field, 24, ""},
+ {"Certificate.InhibitAnyPolicyZero", Field, 24, ""},
+ {"Certificate.InhibitPolicyMapping", Field, 24, ""},
+ {"Certificate.InhibitPolicyMappingZero", Field, 24, ""},
+ {"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.PolicyMappings", Field, 24, ""},
+ {"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.RequireExplicitPolicy", Field, 24, ""},
+ {"Certificate.RequireExplicitPolicyZero", Field, 24, ""},
+ {"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, "func(rand io.Reader, template *Certificate, parent *Certificate, pub any, priv any) ([]byte, error)"},
+ {"CreateCertificateRequest", Func, 3, "func(rand io.Reader, template *CertificateRequest, priv any) (csr []byte, err error)"},
+ {"CreateRevocationList", Func, 15, "func(rand io.Reader, template *RevocationList, issuer *Certificate, priv crypto.Signer) ([]byte, error)"},
+ {"DSA", Const, 0, ""},
+ {"DSAWithSHA1", Const, 0, ""},
+ {"DSAWithSHA256", Const, 0, ""},
+ {"DecryptPEMBlock", Func, 1, "func(b *pem.Block, password []byte) ([]byte, error)"},
+ {"ECDSA", Const, 1, ""},
+ {"ECDSAWithSHA1", Const, 1, ""},
+ {"ECDSAWithSHA256", Const, 1, ""},
+ {"ECDSAWithSHA384", Const, 1, ""},
+ {"ECDSAWithSHA512", Const, 1, ""},
+ {"Ed25519", Const, 13, ""},
+ {"EncryptPEMBlock", Func, 1, "func(rand io.Reader, blockType string, data []byte, password []byte, alg PEMCipher) (*pem.Block, error)"},
+ {"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, "func(b *pem.Block) bool"},
+ {"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, "func(key *ecdsa.PrivateKey) ([]byte, error)"},
+ {"MarshalPKCS1PrivateKey", Func, 0, "func(key *rsa.PrivateKey) []byte"},
+ {"MarshalPKCS1PublicKey", Func, 10, "func(key *rsa.PublicKey) []byte"},
+ {"MarshalPKCS8PrivateKey", Func, 10, "func(key any) ([]byte, error)"},
+ {"MarshalPKIXPublicKey", Func, 0, "func(pub any) ([]byte, error)"},
+ {"NameConstraintsWithoutSANs", Const, 10, ""},
+ {"NameMismatch", Const, 8, ""},
+ {"NewCertPool", Func, 0, "func() *CertPool"},
+ {"NoValidChains", Const, 24, ""},
+ {"NotAuthorizedToSign", Const, 0, ""},
+ {"OID", Type, 22, ""},
+ {"OIDFromInts", Func, 22, "func(oid []uint64) (OID, error)"},
+ {"PEMCipher", Type, 1, ""},
+ {"PEMCipher3DES", Const, 1, ""},
+ {"PEMCipherAES128", Const, 1, ""},
+ {"PEMCipherAES192", Const, 1, ""},
+ {"PEMCipherAES256", Const, 1, ""},
+ {"PEMCipherDES", Const, 1, ""},
+ {"ParseCRL", Func, 0, "func(crlBytes []byte) (*pkix.CertificateList, error)"},
+ {"ParseCertificate", Func, 0, "func(der []byte) (*Certificate, error)"},
+ {"ParseCertificateRequest", Func, 3, "func(asn1Data []byte) (*CertificateRequest, error)"},
+ {"ParseCertificates", Func, 0, "func(der []byte) ([]*Certificate, error)"},
+ {"ParseDERCRL", Func, 0, "func(derBytes []byte) (*pkix.CertificateList, error)"},
+ {"ParseECPrivateKey", Func, 1, "func(der []byte) (*ecdsa.PrivateKey, error)"},
+ {"ParseOID", Func, 23, "func(oid string) (OID, error)"},
+ {"ParsePKCS1PrivateKey", Func, 0, "func(der []byte) (*rsa.PrivateKey, error)"},
+ {"ParsePKCS1PublicKey", Func, 10, "func(der []byte) (*rsa.PublicKey, error)"},
+ {"ParsePKCS8PrivateKey", Func, 0, "func(der []byte) (key any, err error)"},
+ {"ParsePKIXPublicKey", Func, 0, "func(derBytes []byte) (pub any, err error)"},
+ {"ParseRevocationList", Func, 19, "func(der []byte) (*RevocationList, error)"},
+ {"PolicyMapping", Type, 24, ""},
+ {"PolicyMapping.IssuerDomainPolicy", Field, 24, ""},
+ {"PolicyMapping.SubjectDomainPolicy", Field, 24, ""},
+ {"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, "func(roots *CertPool)"},
+ {"SignatureAlgorithm", Type, 0, ""},
+ {"SystemCertPool", Func, 7, "func() (*CertPool, error)"},
+ {"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.CertificatePolicies", Field, 24, ""},
+ {"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},
+ {"(*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},
+ {"(*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, "func() []string"},
+ {"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, "func(name string, value any) NamedArg"},
+ {"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, "func(driverName string, dataSourceName string) (*DB, error)"},
+ {"OpenDB", Func, 10, "func(c driver.Connector) *DB"},
+ {"Out", Type, 9, ""},
+ {"Out.Dest", Field, 9, ""},
+ {"Out.In", Field, 9, ""},
+ {"RawBytes", Type, 0, ""},
+ {"Register", Func, 0, "func(name string, driver driver.Driver)"},
+ {"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},
+ {"(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, "func(v any) bool"},
+ {"IsValue", Func, 0, "func(v any) bool"},
+ {"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},
+ {"BuildInfo", Type, 18, ""},
+ {"Read", Func, 18, "func(r io.ReaderAt) (*BuildInfo, error)"},
+ {"ReadFile", Func, 18, "func(name string) (info *BuildInfo, err error)"},
},
"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},
+ {"(*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, "func(abbrev []byte, aranges []byte, frame []byte, info []byte, line []byte, pubnames []byte, ranges []byte, str []byte) (*Data, error)"},
+ {"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).DynamicVersionNeeds", Method, 24},
- {"(*File).DynamicVersions", Method, 24},
- {"(*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},
- {"(VersionIndex).Index", Method, 24},
- {"(VersionIndex).IsHidden", Method, 24},
- {"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},
- {"DynamicVersion", Type, 24},
- {"DynamicVersion.Deps", Field, 24},
- {"DynamicVersion.Flags", Field, 24},
- {"DynamicVersion.Index", Field, 24},
- {"DynamicVersion.Name", Field, 24},
- {"DynamicVersionDep", Type, 24},
- {"DynamicVersionDep.Dep", Field, 24},
- {"DynamicVersionDep.Flags", Field, 24},
- {"DynamicVersionDep.Index", Field, 24},
- {"DynamicVersionFlag", Type, 24},
- {"DynamicVersionNeed", Type, 24},
- {"DynamicVersionNeed.Name", Field, 24},
- {"DynamicVersionNeed.Needs", Field, 24},
- {"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.HasVersion", Field, 24},
- {"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},
- {"Symbol.VersionIndex", Field, 24},
- {"Type", Type, 0},
- {"VER_FLG_BASE", Const, 24},
- {"VER_FLG_INFO", Const, 24},
- {"VER_FLG_WEAK", Const, 24},
- {"Version", Type, 0},
- {"VersionIndex", Type, 24},
+ {"(*File).Close", Method, 0, ""},
+ {"(*File).DWARF", Method, 0, ""},
+ {"(*File).DynString", Method, 1, ""},
+ {"(*File).DynValue", Method, 21, ""},
+ {"(*File).DynamicSymbols", Method, 4, ""},
+ {"(*File).DynamicVersionNeeds", Method, 24, ""},
+ {"(*File).DynamicVersions", Method, 24, ""},
+ {"(*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, ""},
+ {"(VersionIndex).Index", Method, 24, ""},
+ {"(VersionIndex).IsHidden", Method, 24, ""},
+ {"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, ""},
+ {"DynamicVersion", Type, 24, ""},
+ {"DynamicVersion.Deps", Field, 24, ""},
+ {"DynamicVersion.Flags", Field, 24, ""},
+ {"DynamicVersion.Index", Field, 24, ""},
+ {"DynamicVersion.Name", Field, 24, ""},
+ {"DynamicVersionDep", Type, 24, ""},
+ {"DynamicVersionDep.Dep", Field, 24, ""},
+ {"DynamicVersionDep.Flags", Field, 24, ""},
+ {"DynamicVersionDep.Index", Field, 24, ""},
+ {"DynamicVersionFlag", Type, 24, ""},
+ {"DynamicVersionNeed", Type, 24, ""},
+ {"DynamicVersionNeed.Name", Field, 24, ""},
+ {"DynamicVersionNeed.Needs", Field, 24, ""},
+ {"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, "func(r io.ReaderAt) (*File, error)"},
+ {"OSABI", Type, 0, ""},
+ {"Open", Func, 0, "func(name string) (*File, error)"},
+ {"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_RISCV_ATTRIBUTES", Const, 25, ""},
+ {"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, "func(sym uint32, typ uint32) uint64"},
+ {"R_INFO32", Func, 0, "func(sym uint32, typ uint32) uint32"},
+ {"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, "func(info uint32) uint32"},
+ {"R_SYM64", Func, 0, "func(info uint64) uint32"},
+ {"R_TYPE32", Func, 0, "func(info uint32) uint32"},
+ {"R_TYPE64", Func, 0, "func(info uint64) uint32"},
+ {"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_RISCV_ATTRIBUTES", Const, 25, ""},
+ {"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, "func(info uint8) SymBind"},
+ {"ST_INFO", Func, 0, "func(bind SymBind, typ SymType) uint8"},
+ {"ST_TYPE", Func, 0, "func(info uint8) SymType"},
+ {"ST_VISIBILITY", Func, 0, "func(other uint8) SymVis"},
+ {"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.HasVersion", Field, 24, ""},
+ {"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, ""},
+ {"Symbol.VersionIndex", Field, 24, ""},
+ {"Type", Type, 0, ""},
+ {"VER_FLG_BASE", Const, 24, ""},
+ {"VER_FLG_INFO", Const, 24, ""},
+ {"VER_FLG_WEAK", Const, 24, ""},
+ {"Version", Type, 0, ""},
+ {"VersionIndex", Type, 24, ""},
},
"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},
+ {"(*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, "func(data []byte, text uint64) *LineTable"},
+ {"NewTable", Func, 0, "func(symtab []byte, pcln *LineTable) (*Table, error)"},
+ {"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},
+ {"(*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, "func(r io.ReaderAt) (*FatFile, error)"},
+ {"NewFile", Func, 0, "func(r io.ReaderAt) (*File, error)"},
+ {"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, "func(name string) (*File, error)"},
+ {"OpenFat", Func, 3, "func(name string) (*FatFile, error)"},
+ {"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},
+ {"(*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, "func(r io.ReaderAt) (*File, error)"},
+ {"Open", Func, 0, "func(name string) (*File, error)"},
+ {"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},
+ {"(*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, "func(r io.ReaderAt) (*File, error)"},
+ {"Open", Func, 3, "func(name string) (*File, error)"},
+ {"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},
+ {"(FS).Open", Method, 16, ""},
+ {"(FS).ReadDir", Method, 16, ""},
+ {"(FS).ReadFile", Method, 16, ""},
+ {"FS", Type, 16, ""},
},
"encoding": {
- {"BinaryAppender", Type, 24},
- {"BinaryMarshaler", Type, 2},
- {"BinaryUnmarshaler", Type, 2},
- {"TextAppender", Type, 24},
- {"TextMarshaler", Type, 2},
- {"TextUnmarshaler", Type, 2},
+ {"BinaryAppender", Type, 24, ""},
+ {"BinaryMarshaler", Type, 2, ""},
+ {"BinaryUnmarshaler", Type, 2, ""},
+ {"TextAppender", Type, 24, ""},
+ {"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},
+ {"(CorruptInputError).Error", Method, 0, ""},
+ {"CorruptInputError", Type, 0, ""},
+ {"Decode", Func, 0, "func(dst []byte, src []byte, flush bool) (ndst int, nsrc int, err error)"},
+ {"Encode", Func, 0, "func(dst []byte, src []byte) int"},
+ {"MaxEncodedLen", Func, 0, "func(n int) int"},
+ {"NewDecoder", Func, 0, "func(r io.Reader) io.Reader"},
+ {"NewEncoder", Func, 0, "func(w io.Writer) io.WriteCloser"},
},
"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},
+ {"(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, "func(val any) ([]byte, error)"},
+ {"MarshalWithParams", Func, 10, "func(val any, params string) ([]byte, error)"},
+ {"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, "func(b []byte, val any) (rest []byte, err error)"},
+ {"UnmarshalWithParams", Func, 0, "func(b []byte, val any, params string) (rest []byte, err error)"},
},
"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).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, "func(enc *Encoding, r io.Reader) io.Reader"},
+ {"NewEncoder", Func, 0, "func(enc *Encoding, w io.Writer) io.WriteCloser"},
+ {"NewEncoding", Func, 0, "func(encoder string) *Encoding"},
+ {"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).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, "func(enc *Encoding, r io.Reader) io.Reader"},
+ {"NewEncoder", Func, 0, "func(enc *Encoding, w io.Writer) io.WriteCloser"},
+ {"NewEncoding", Func, 0, "func(encoder string) *Encoding"},
+ {"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},
+ {"Append", Func, 23, "func(buf []byte, order ByteOrder, data any) ([]byte, error)"},
+ {"AppendByteOrder", Type, 19, ""},
+ {"AppendUvarint", Func, 19, "func(buf []byte, x uint64) []byte"},
+ {"AppendVarint", Func, 19, "func(buf []byte, x int64) []byte"},
+ {"BigEndian", Var, 0, ""},
+ {"ByteOrder", Type, 0, ""},
+ {"Decode", Func, 23, "func(buf []byte, order ByteOrder, data any) (int, error)"},
+ {"Encode", Func, 23, "func(buf []byte, order ByteOrder, data any) (int, error)"},
+ {"LittleEndian", Var, 0, ""},
+ {"MaxVarintLen16", Const, 0, ""},
+ {"MaxVarintLen32", Const, 0, ""},
+ {"MaxVarintLen64", Const, 0, ""},
+ {"NativeEndian", Var, 21, ""},
+ {"PutUvarint", Func, 0, "func(buf []byte, x uint64) int"},
+ {"PutVarint", Func, 0, "func(buf []byte, x int64) int"},
+ {"Read", Func, 0, "func(r io.Reader, order ByteOrder, data any) error"},
+ {"ReadUvarint", Func, 0, "func(r io.ByteReader) (uint64, error)"},
+ {"ReadVarint", Func, 0, "func(r io.ByteReader) (int64, error)"},
+ {"Size", Func, 0, "func(v any) int"},
+ {"Uvarint", Func, 0, "func(buf []byte) (uint64, int)"},
+ {"Varint", Func, 0, "func(buf []byte) (int64, int)"},
+ {"Write", Func, 0, "func(w io.Writer, order ByteOrder, data any) error"},
},
"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},
+ {"(*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, "func(r io.Reader) *Reader"},
+ {"NewWriter", Func, 0, "func(w io.Writer) *Writer"},
+ {"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},
+ {"(*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, "func(r io.Reader) *Decoder"},
+ {"NewEncoder", Func, 0, "func(w io.Writer) *Encoder"},
+ {"Register", Func, 0, "func(value any)"},
+ {"RegisterName", Func, 0, "func(name string, value any)"},
},
"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},
+ {"(InvalidByteError).Error", Method, 0, ""},
+ {"AppendDecode", Func, 22, "func(dst []byte, src []byte) ([]byte, error)"},
+ {"AppendEncode", Func, 22, "func(dst []byte, src []byte) []byte"},
+ {"Decode", Func, 0, "func(dst []byte, src []byte) (int, error)"},
+ {"DecodeString", Func, 0, "func(s string) ([]byte, error)"},
+ {"DecodedLen", Func, 0, "func(x int) int"},
+ {"Dump", Func, 0, "func(data []byte) string"},
+ {"Dumper", Func, 0, "func(w io.Writer) io.WriteCloser"},
+ {"Encode", Func, 0, "func(dst []byte, src []byte) int"},
+ {"EncodeToString", Func, 0, "func(src []byte) string"},
+ {"EncodedLen", Func, 0, "func(n int) int"},
+ {"ErrLength", Var, 0, ""},
+ {"InvalidByteError", Type, 0, ""},
+ {"NewDecoder", Func, 10, "func(r io.Reader) io.Reader"},
+ {"NewEncoder", Func, 10, "func(w io.Writer) io.Writer"},
},
"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},
+ {"(*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, "func(dst *bytes.Buffer, src []byte) error"},
+ {"Decoder", Type, 0, ""},
+ {"Delim", Type, 5, ""},
+ {"Encoder", Type, 0, ""},
+ {"HTMLEscape", Func, 0, "func(dst *bytes.Buffer, src []byte)"},
+ {"Indent", Func, 0, "func(dst *bytes.Buffer, src []byte, prefix string, indent string) error"},
+ {"InvalidUTF8Error", Type, 0, ""},
+ {"InvalidUTF8Error.S", Field, 0, ""},
+ {"InvalidUnmarshalError", Type, 0, ""},
+ {"InvalidUnmarshalError.Type", Field, 0, ""},
+ {"Marshal", Func, 0, "func(v any) ([]byte, error)"},
+ {"MarshalIndent", Func, 0, "func(v any, prefix string, indent string) ([]byte, error)"},
+ {"Marshaler", Type, 0, ""},
+ {"MarshalerError", Type, 0, ""},
+ {"MarshalerError.Err", Field, 0, ""},
+ {"MarshalerError.Type", Field, 0, ""},
+ {"NewDecoder", Func, 0, "func(r io.Reader) *Decoder"},
+ {"NewEncoder", Func, 0, "func(w io.Writer) *Encoder"},
+ {"Number", Type, 1, ""},
+ {"RawMessage", Type, 0, ""},
+ {"SyntaxError", Type, 0, ""},
+ {"SyntaxError.Offset", Field, 0, ""},
+ {"Token", Type, 5, ""},
+ {"Unmarshal", Func, 0, "func(data []byte, v any) error"},
+ {"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, "func(data []byte) bool"},
},
"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},
+ {"Block", Type, 0, ""},
+ {"Block.Bytes", Field, 0, ""},
+ {"Block.Headers", Field, 0, ""},
+ {"Block.Type", Field, 0, ""},
+ {"Decode", Func, 0, "func(data []byte) (p *Block, rest []byte)"},
+ {"Encode", Func, 0, "func(out io.Writer, b *Block) error"},
+ {"EncodeToMemory", Func, 0, "func(b *Block) []byte"},
},
"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},
+ {"(*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, "func(t Token) Token"},
+ {"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, "func(w io.Writer, s []byte)"},
+ {"EscapeText", Func, 1, "func(w io.Writer, s []byte) error"},
+ {"HTMLAutoClose", Var, 0, ""},
+ {"HTMLEntity", Var, 0, ""},
+ {"Header", Const, 0, ""},
+ {"Marshal", Func, 0, "func(v any) ([]byte, error)"},
+ {"MarshalIndent", Func, 0, "func(v any, prefix string, indent string) ([]byte, error)"},
+ {"Marshaler", Type, 2, ""},
+ {"MarshalerAttr", Type, 2, ""},
+ {"Name", Type, 0, ""},
+ {"Name.Local", Field, 0, ""},
+ {"Name.Space", Field, 0, ""},
+ {"NewDecoder", Func, 0, "func(r io.Reader) *Decoder"},
+ {"NewEncoder", Func, 0, "func(w io.Writer) *Encoder"},
+ {"NewTokenDecoder", Func, 10, "func(t TokenReader) *Decoder"},
+ {"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, "func(data []byte, v any) error"},
+ {"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},
+ {"As", Func, 13, "func(err error, target any) bool"},
+ {"ErrUnsupported", Var, 21, ""},
+ {"Is", Func, 13, "func(err error, target error) bool"},
+ {"Join", Func, 20, "func(errs ...error) error"},
+ {"New", Func, 0, "func(text string) error"},
+ {"Unwrap", Func, 13, "func(err error) error"},
},
"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},
+ {"(*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, "func(f func(KeyValue))"},
+ {"Float", Type, 0, ""},
+ {"Func", Type, 0, ""},
+ {"Get", Func, 0, "func(name string) Var"},
+ {"Handler", Func, 8, "func() http.Handler"},
+ {"Int", Type, 0, ""},
+ {"KeyValue", Type, 0, ""},
+ {"KeyValue.Key", Field, 0, ""},
+ {"KeyValue.Value", Field, 0, ""},
+ {"Map", Type, 0, ""},
+ {"NewFloat", Func, 0, "func(name string) *Float"},
+ {"NewInt", Func, 0, "func(name string) *Int"},
+ {"NewMap", Func, 0, "func(name string) *Map"},
+ {"NewString", Func, 0, "func(name string) *String"},
+ {"Publish", Func, 0, "func(name string, v Var)"},
+ {"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},
+ {"(*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, "func(i int) string"},
+ {"Args", Func, 0, "func() []string"},
+ {"Bool", Func, 0, "func(name string, value bool, usage string) *bool"},
+ {"BoolFunc", Func, 21, "func(name string, usage string, fn func(string) error)"},
+ {"BoolVar", Func, 0, "func(p *bool, name string, value bool, usage string)"},
+ {"CommandLine", Var, 2, ""},
+ {"ContinueOnError", Const, 0, ""},
+ {"Duration", Func, 0, "func(name string, value time.Duration, usage string) *time.Duration"},
+ {"DurationVar", Func, 0, "func(p *time.Duration, name string, value time.Duration, usage string)"},
+ {"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, "func(name string, value float64, usage string) *float64"},
+ {"Float64Var", Func, 0, "func(p *float64, name string, value float64, usage string)"},
+ {"Func", Func, 16, "func(name string, usage string, fn func(string) error)"},
+ {"Getter", Type, 2, ""},
+ {"Int", Func, 0, "func(name string, value int, usage string) *int"},
+ {"Int64", Func, 0, "func(name string, value int64, usage string) *int64"},
+ {"Int64Var", Func, 0, "func(p *int64, name string, value int64, usage string)"},
+ {"IntVar", Func, 0, "func(p *int, name string, value int, usage string)"},
+ {"Lookup", Func, 0, "func(name string) *Flag"},
+ {"NArg", Func, 0, "func() int"},
+ {"NFlag", Func, 0, "func() int"},
+ {"NewFlagSet", Func, 0, "func(name string, errorHandling ErrorHandling) *FlagSet"},
+ {"PanicOnError", Const, 0, ""},
+ {"Parse", Func, 0, "func()"},
+ {"Parsed", Func, 0, "func() bool"},
+ {"PrintDefaults", Func, 0, "func()"},
+ {"Set", Func, 0, "func(name string, value string) error"},
+ {"String", Func, 0, "func(name string, value string, usage string) *string"},
+ {"StringVar", Func, 0, "func(p *string, name string, value string, usage string)"},
+ {"TextVar", Func, 19, "func(p encoding.TextUnmarshaler, name string, value encoding.TextMarshaler, usage string)"},
+ {"Uint", Func, 0, "func(name string, value uint, usage string) *uint"},
+ {"Uint64", Func, 0, "func(name string, value uint64, usage string) *uint64"},
+ {"Uint64Var", Func, 0, "func(p *uint64, name string, value uint64, usage string)"},
+ {"UintVar", Func, 0, "func(p *uint, name string, value uint, usage string)"},
+ {"UnquoteUsage", Func, 5, "func(flag *Flag) (name string, usage string)"},
+ {"Usage", Var, 0, ""},
+ {"Value", Type, 0, ""},
+ {"Var", Func, 0, "func(value Value, name string, usage string)"},
+ {"Visit", Func, 0, "func(fn func(*Flag))"},
+ {"VisitAll", Func, 0, "func(fn func(*Flag))"},
},
"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},
+ {"Append", Func, 19, "func(b []byte, a ...any) []byte"},
+ {"Appendf", Func, 19, "func(b []byte, format string, a ...any) []byte"},
+ {"Appendln", Func, 19, "func(b []byte, a ...any) []byte"},
+ {"Errorf", Func, 0, "func(format string, a ...any) error"},
+ {"FormatString", Func, 20, "func(state State, verb rune) string"},
+ {"Formatter", Type, 0, ""},
+ {"Fprint", Func, 0, "func(w io.Writer, a ...any) (n int, err error)"},
+ {"Fprintf", Func, 0, "func(w io.Writer, format string, a ...any) (n int, err error)"},
+ {"Fprintln", Func, 0, "func(w io.Writer, a ...any) (n int, err error)"},
+ {"Fscan", Func, 0, "func(r io.Reader, a ...any) (n int, err error)"},
+ {"Fscanf", Func, 0, "func(r io.Reader, format string, a ...any) (n int, err error)"},
+ {"Fscanln", Func, 0, "func(r io.Reader, a ...any) (n int, err error)"},
+ {"GoStringer", Type, 0, ""},
+ {"Print", Func, 0, "func(a ...any) (n int, err error)"},
+ {"Printf", Func, 0, "func(format string, a ...any) (n int, err error)"},
+ {"Println", Func, 0, "func(a ...any) (n int, err error)"},
+ {"Scan", Func, 0, "func(a ...any) (n int, err error)"},
+ {"ScanState", Type, 0, ""},
+ {"Scanf", Func, 0, "func(format string, a ...any) (n int, err error)"},
+ {"Scanln", Func, 0, "func(a ...any) (n int, err error)"},
+ {"Scanner", Type, 0, ""},
+ {"Sprint", Func, 0, "func(a ...any) string"},
+ {"Sprintf", Func, 0, "func(format string, a ...any) string"},
+ {"Sprintln", Func, 0, "func(a ...any) string"},
+ {"Sscan", Func, 0, "func(str string, a ...any) (n int, err error)"},
+ {"Sscanf", Func, 0, "func(str string, format string, a ...any) (n int, err error)"},
+ {"Sscanln", Func, 0, "func(str string, a ...any) (n int, err error)"},
+ {"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},
+ {"(*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, "func(src *File) bool"},
+ {"Filter", Type, 0, ""},
+ {"FilterDecl", Func, 0, "func(decl Decl, f Filter) bool"},
+ {"FilterFile", Func, 0, "func(src *File, f Filter) bool"},
+ {"FilterFuncDuplicates", Const, 0, ""},
+ {"FilterImportDuplicates", Const, 0, ""},
+ {"FilterPackage", Func, 0, "func(pkg *Package, f Filter) bool"},
+ {"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, "func(w io.Writer, fset *token.FileSet, x any, f FieldFilter) error"},
+ {"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, "func(node Node, f func(Node) bool)"},
+ {"InterfaceType", Type, 0, ""},
+ {"InterfaceType.Incomplete", Field, 0, ""},
+ {"InterfaceType.Interface", Field, 0, ""},
+ {"InterfaceType.Methods", Field, 0, ""},
+ {"IsExported", Func, 0, "func(name string) bool"},
+ {"IsGenerated", Func, 21, "func(file *File) bool"},
+ {"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, "func(pkg *Package, mode MergeMode) *File"},
+ {"NewCommentMap", Func, 1, "func(fset *token.FileSet, node Node, comments []*CommentGroup) CommentMap"},
+ {"NewIdent", Func, 0, "func(name string) *Ident"},
+ {"NewObj", Func, 0, "func(kind ObjKind, name string) *Object"},
+ {"NewPackage", Func, 0, "func(fset *token.FileSet, files map[string]*File, importer Importer, universe *Scope) (*Package, error)"},
+ {"NewScope", Func, 0, "func(outer *Scope) *Scope"},
+ {"Node", Type, 0, ""},
+ {"NotNilFilter", Func, 0, "func(_ string, v reflect.Value) bool"},
+ {"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, "func(pkg *Package) bool"},
+ {"ParenExpr", Type, 0, ""},
+ {"ParenExpr.Lparen", Field, 0, ""},
+ {"ParenExpr.Rparen", Field, 0, ""},
+ {"ParenExpr.X", Field, 0, ""},
+ {"Pkg", Const, 0, ""},
+ {"Preorder", Func, 23, "func(root Node) iter.Seq[Node]"},
+ {"Print", Func, 0, "func(fset *token.FileSet, x any) error"},
+ {"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, "func(fset *token.FileSet, f *File)"},
+ {"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, "func(e Expr) Expr"},
+ {"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, "func(v Visitor, node Node)"},
},
"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},
+ {"(*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, "func(goarch string) (string, error)"},
+ {"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, "func(path string, srcDir string, mode ImportMode) (*Package, error)"},
+ {"ImportComment", Const, 4, ""},
+ {"ImportDir", Func, 0, "func(dir string, mode ImportMode) (*Package, error)"},
+ {"ImportMode", Type, 0, ""},
+ {"IsLocalImport", Func, 0, "func(path string) bool"},
+ {"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},
+ {"(*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, "func(x Expr) string"},
+ {"IsGoBuild", Func, 16, "func(line string) bool"},
+ {"IsPlusBuild", Func, 16, "func(line string) bool"},
+ {"NotExpr", Type, 16, ""},
+ {"NotExpr.X", Field, 16, ""},
+ {"OrExpr", Type, 16, ""},
+ {"OrExpr.X", Field, 16, ""},
+ {"OrExpr.Y", Field, 16, ""},
+ {"Parse", Func, 16, "func(line string) (Expr, error)"},
+ {"PlusBuildLines", Func, 16, "func(x Expr) ([]string, error)"},
+ {"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},
+ {"(Kind).String", Method, 18, ""},
+ {"BinaryOp", Func, 5, "func(x_ Value, op token.Token, y_ Value) Value"},
+ {"BitLen", Func, 5, "func(x Value) int"},
+ {"Bool", Const, 5, ""},
+ {"BoolVal", Func, 5, "func(x Value) bool"},
+ {"Bytes", Func, 5, "func(x Value) []byte"},
+ {"Compare", Func, 5, "func(x_ Value, op token.Token, y_ Value) bool"},
+ {"Complex", Const, 5, ""},
+ {"Denom", Func, 5, "func(x Value) Value"},
+ {"Float", Const, 5, ""},
+ {"Float32Val", Func, 5, "func(x Value) (float32, bool)"},
+ {"Float64Val", Func, 5, "func(x Value) (float64, bool)"},
+ {"Imag", Func, 5, "func(x Value) Value"},
+ {"Int", Const, 5, ""},
+ {"Int64Val", Func, 5, "func(x Value) (int64, bool)"},
+ {"Kind", Type, 5, ""},
+ {"Make", Func, 13, "func(x any) Value"},
+ {"MakeBool", Func, 5, "func(b bool) Value"},
+ {"MakeFloat64", Func, 5, "func(x float64) Value"},
+ {"MakeFromBytes", Func, 5, "func(bytes []byte) Value"},
+ {"MakeFromLiteral", Func, 5, "func(lit string, tok token.Token, zero uint) Value"},
+ {"MakeImag", Func, 5, "func(x Value) Value"},
+ {"MakeInt64", Func, 5, "func(x int64) Value"},
+ {"MakeString", Func, 5, "func(s string) Value"},
+ {"MakeUint64", Func, 5, "func(x uint64) Value"},
+ {"MakeUnknown", Func, 5, "func() Value"},
+ {"Num", Func, 5, "func(x Value) Value"},
+ {"Real", Func, 5, "func(x Value) Value"},
+ {"Shift", Func, 5, "func(x Value, op token.Token, s uint) Value"},
+ {"Sign", Func, 5, "func(x Value) int"},
+ {"String", Const, 5, ""},
+ {"StringVal", Func, 5, "func(x Value) string"},
+ {"ToComplex", Func, 6, "func(x Value) Value"},
+ {"ToFloat", Func, 6, "func(x Value) Value"},
+ {"ToInt", Func, 6, "func(x Value) Value"},
+ {"Uint64Val", Func, 5, "func(x Value) (uint64, bool)"},
+ {"UnaryOp", Func, 5, "func(op token.Token, y Value, prec uint) Value"},
+ {"Unknown", Const, 5, ""},
+ {"Val", Func, 13, "func(x Value) any"},
+ {"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},
+ {"(*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, "func(testFiles ...*ast.File) []*Example"},
+ {"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, "func(s string) bool"},
+ {"Mode", Type, 0, ""},
+ {"New", Func, 0, "func(pkg *ast.Package, importPath string, mode Mode) *Package"},
+ {"NewFromFiles", Func, 14, "func(fset *token.FileSet, files []*ast.File, importPath string, opts ...any) (*Package, error)"},
+ {"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, "func(text string) string"},
+ {"ToHTML", Func, 0, "func(w io.Writer, text string, words map[string]string)"},
+ {"ToText", Func, 0, "func(w io.Writer, text string, prefix string, codePrefix string, width int)"},
+ {"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},
+ {"(*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, "func(name string) (importPath string, ok bool)"},
+ {"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},
+ {"Node", Func, 1, "func(dst io.Writer, fset *token.FileSet, node any) error"},
+ {"Source", Func, 1, "func(src []byte) ([]byte, error)"},
},
"go/importer": {
- {"Default", Func, 5},
- {"For", Func, 5},
- {"ForCompiler", Func, 12},
- {"Lookup", Type, 5},
+ {"Default", Func, 5, "func() types.Importer"},
+ {"For", Func, 5, "func(compiler string, lookup Lookup) types.Importer"},
+ {"ForCompiler", Func, 12, "func(fset *token.FileSet, compiler string, lookup Lookup) types.Importer"},
+ {"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},
+ {"AllErrors", Const, 1, ""},
+ {"DeclarationErrors", Const, 0, ""},
+ {"ImportsOnly", Const, 0, ""},
+ {"Mode", Type, 0, ""},
+ {"PackageClauseOnly", Const, 0, ""},
+ {"ParseComments", Const, 0, ""},
+ {"ParseDir", Func, 0, "func(fset *token.FileSet, path string, filter func(fs.FileInfo) bool, mode Mode) (pkgs map[string]*ast.Package, first error)"},
+ {"ParseExpr", Func, 0, "func(x string) (ast.Expr, error)"},
+ {"ParseExprFrom", Func, 5, "func(fset *token.FileSet, filename string, src any, mode Mode) (expr ast.Expr, err error)"},
+ {"ParseFile", Func, 0, "func(fset *token.FileSet, filename string, src any, mode Mode) (f *ast.File, err error)"},
+ {"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},
+ {"(*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, "func(output io.Writer, fset *token.FileSet, node any) error"},
+ {"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},
+ {"(*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, "func(w io.Writer, err error)"},
+ {"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},
+ {"(*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, "func(name string) bool"},
+ {"IsIdentifier", Func, 13, "func(name string) bool"},
+ {"IsKeyword", Func, 13, "func(name string) bool"},
+ {"LAND", Const, 0, ""},
+ {"LBRACE", Const, 0, ""},
+ {"LBRACK", Const, 0, ""},
+ {"LEQ", Const, 0, ""},
+ {"LOR", Const, 0, ""},
+ {"LPAREN", Const, 0, ""},
+ {"LSS", Const, 0, ""},
+ {"Lookup", Func, 0, "func(ident string) Token"},
+ {"LowestPrec", Const, 0, ""},
+ {"MAP", Const, 0, ""},
+ {"MUL", Const, 0, ""},
+ {"MUL_ASSIGN", Const, 0, ""},
+ {"NEQ", Const, 0, ""},
+ {"NOT", Const, 0, ""},
+ {"NewFileSet", Func, 0, "func() *FileSet"},
+ {"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).EmbeddedTypes", Method, 24},
- {"(*Interface).Empty", Method, 5},
- {"(*Interface).ExplicitMethod", Method, 5},
- {"(*Interface).ExplicitMethods", Method, 24},
- {"(*Interface).IsComparable", Method, 18},
- {"(*Interface).IsImplicit", Method, 18},
- {"(*Interface).IsMethodSet", Method, 18},
- {"(*Interface).MarkImplicit", Method, 18},
- {"(*Interface).Method", Method, 5},
- {"(*Interface).Methods", Method, 24},
- {"(*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).Methods", Method, 24},
- {"(*MethodSet).String", Method, 5},
- {"(*Named).AddMethod", Method, 5},
- {"(*Named).Method", Method, 5},
- {"(*Named).Methods", Method, 24},
- {"(*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).Children", Method, 24},
- {"(*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).Fields", Method, 24},
- {"(*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},
- {"(*Tuple).Variables", Method, 24},
- {"(*TypeList).At", Method, 18},
- {"(*TypeList).Len", Method, 18},
- {"(*TypeList).Types", Method, 24},
- {"(*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},
- {"(*TypeParamList).TypeParams", Method, 24},
- {"(*Union).Len", Method, 18},
- {"(*Union).String", Method, 18},
- {"(*Union).Term", Method, 18},
- {"(*Union).Terms", Method, 24},
- {"(*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},
+ {"(*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).EmbeddedTypes", Method, 24, ""},
+ {"(*Interface).Empty", Method, 5, ""},
+ {"(*Interface).ExplicitMethod", Method, 5, ""},
+ {"(*Interface).ExplicitMethods", Method, 24, ""},
+ {"(*Interface).IsComparable", Method, 18, ""},
+ {"(*Interface).IsImplicit", Method, 18, ""},
+ {"(*Interface).IsMethodSet", Method, 18, ""},
+ {"(*Interface).MarkImplicit", Method, 18, ""},
+ {"(*Interface).Method", Method, 5, ""},
+ {"(*Interface).Methods", Method, 24, ""},
+ {"(*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).Methods", Method, 24, ""},
+ {"(*MethodSet).String", Method, 5, ""},
+ {"(*Named).AddMethod", Method, 5, ""},
+ {"(*Named).Method", Method, 5, ""},
+ {"(*Named).Methods", Method, 24, ""},
+ {"(*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).Children", Method, 24, ""},
+ {"(*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).Fields", Method, 24, ""},
+ {"(*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, ""},
+ {"(*Tuple).Variables", Method, 24, ""},
+ {"(*TypeList).At", Method, 18, ""},
+ {"(*TypeList).Len", Method, 18, ""},
+ {"(*TypeList).Types", Method, 24, ""},
+ {"(*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, ""},
+ {"(*TypeParamList).TypeParams", Method, 24, ""},
+ {"(*Union).Len", Method, 18, ""},
+ {"(*Union).String", Method, 18, ""},
+ {"(*Union).Term", Method, 18, ""},
+ {"(*Union).Terms", Method, 24, ""},
+ {"(*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).Kind", Method, 25, ""},
+ {"(*Var).Name", Method, 5, ""},
+ {"(*Var).Origin", Method, 19, ""},
+ {"(*Var).Parent", Method, 5, ""},
+ {"(*Var).Pkg", Method, 5, ""},
+ {"(*Var).Pos", Method, 5, ""},
+ {"(*Var).SetKind", Method, 25, ""},
+ {"(*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, ""},
+ {"(VarKind).String", Method, 25, ""},
+ {"Alias", Type, 22, ""},
+ {"ArgumentError", Type, 18, ""},
+ {"ArgumentError.Err", Field, 18, ""},
+ {"ArgumentError.Index", Field, 18, ""},
+ {"Array", Type, 5, ""},
+ {"AssertableTo", Func, 5, "func(V *Interface, T Type) bool"},
+ {"AssignableTo", Func, 5, "func(V Type, T Type) bool"},
+ {"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, "func(fset *token.FileSet, pkg *Package, pos token.Pos, expr ast.Expr, info *Info) (err error)"},
+ {"Checker", Type, 5, ""},
+ {"Checker.Info", Field, 5, ""},
+ {"Comparable", Func, 5, "func(T Type) bool"},
+ {"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, "func(V Type, T Type) bool"},
+ {"DefPredeclaredTestFuncs", Func, 5, "func()"},
+ {"Default", Func, 8, "func(t Type) Type"},
+ {"Error", Type, 5, ""},
+ {"Error.Fset", Field, 5, ""},
+ {"Error.Msg", Field, 5, ""},
+ {"Error.Pos", Field, 5, ""},
+ {"Error.Soft", Field, 5, ""},
+ {"Eval", Func, 5, "func(fset *token.FileSet, pkg *Package, pos token.Pos, expr string) (_ TypeAndValue, err error)"},
+ {"ExprString", Func, 5, "func(x ast.Expr) string"},
+ {"FieldVal", Const, 5, ""},
+ {"FieldVar", Const, 25, ""},
+ {"Float32", Const, 5, ""},
+ {"Float64", Const, 5, ""},
+ {"Func", Type, 5, ""},
+ {"Id", Func, 5, "func(pkg *Package, name string) string"},
+ {"Identical", Func, 5, "func(x Type, y Type) bool"},
+ {"IdenticalIgnoreTags", Func, 8, "func(x Type, y Type) bool"},
+ {"Implements", Func, 5, "func(V Type, T *Interface) bool"},
+ {"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, "func(ctxt *Context, orig Type, targs []Type, validate bool) (Type, error)"},
+ {"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, "func(t Type) bool"},
+ {"IsNumeric", Const, 5, ""},
+ {"IsOrdered", Const, 5, ""},
+ {"IsString", Const, 5, ""},
+ {"IsUnsigned", Const, 5, ""},
+ {"IsUntyped", Const, 5, ""},
+ {"Label", Type, 5, ""},
+ {"LocalVar", Const, 25, ""},
+ {"LookupFieldOrMethod", Func, 5, "func(T Type, addressable bool, pkg *Package, name string) (obj Object, index []int, indirect bool)"},
+ {"LookupSelection", Func, 25, ""},
+ {"Map", Type, 5, ""},
+ {"MethodExpr", Const, 5, ""},
+ {"MethodSet", Type, 5, ""},
+ {"MethodVal", Const, 5, ""},
+ {"MissingMethod", Func, 5, "func(V Type, T *Interface, static bool) (method *Func, wrongType bool)"},
+ {"Named", Type, 5, ""},
+ {"NewAlias", Func, 22, "func(obj *TypeName, rhs Type) *Alias"},
+ {"NewArray", Func, 5, "func(elem Type, len int64) *Array"},
+ {"NewChan", Func, 5, "func(dir ChanDir, elem Type) *Chan"},
+ {"NewChecker", Func, 5, "func(conf *Config, fset *token.FileSet, pkg *Package, info *Info) *Checker"},
+ {"NewConst", Func, 5, "func(pos token.Pos, pkg *Package, name string, typ Type, val constant.Value) *Const"},
+ {"NewContext", Func, 18, "func() *Context"},
+ {"NewField", Func, 5, "func(pos token.Pos, pkg *Package, name string, typ Type, embedded bool) *Var"},
+ {"NewFunc", Func, 5, "func(pos token.Pos, pkg *Package, name string, sig *Signature) *Func"},
+ {"NewInterface", Func, 5, "func(methods []*Func, embeddeds []*Named) *Interface"},
+ {"NewInterfaceType", Func, 11, "func(methods []*Func, embeddeds []Type) *Interface"},
+ {"NewLabel", Func, 5, "func(pos token.Pos, pkg *Package, name string) *Label"},
+ {"NewMap", Func, 5, "func(key Type, elem Type) *Map"},
+ {"NewMethodSet", Func, 5, "func(T Type) *MethodSet"},
+ {"NewNamed", Func, 5, "func(obj *TypeName, underlying Type, methods []*Func) *Named"},
+ {"NewPackage", Func, 5, "func(path string, name string) *Package"},
+ {"NewParam", Func, 5, "func(pos token.Pos, pkg *Package, name string, typ Type) *Var"},
+ {"NewPkgName", Func, 5, "func(pos token.Pos, pkg *Package, name string, imported *Package) *PkgName"},
+ {"NewPointer", Func, 5, "func(elem Type) *Pointer"},
+ {"NewScope", Func, 5, "func(parent *Scope, pos token.Pos, end token.Pos, comment string) *Scope"},
+ {"NewSignature", Func, 5, "func(recv *Var, params *Tuple, results *Tuple, variadic bool) *Signature"},
+ {"NewSignatureType", Func, 18, "func(recv *Var, recvTypeParams []*TypeParam, typeParams []*TypeParam, params *Tuple, results *Tuple, variadic bool) *Signature"},
+ {"NewSlice", Func, 5, "func(elem Type) *Slice"},
+ {"NewStruct", Func, 5, "func(fields []*Var, tags []string) *Struct"},
+ {"NewTerm", Func, 18, "func(tilde bool, typ Type) *Term"},
+ {"NewTuple", Func, 5, "func(x ...*Var) *Tuple"},
+ {"NewTypeName", Func, 5, "func(pos token.Pos, pkg *Package, name string, typ Type) *TypeName"},
+ {"NewTypeParam", Func, 18, "func(obj *TypeName, constraint Type) *TypeParam"},
+ {"NewUnion", Func, 18, "func(terms []*Term) *Union"},
+ {"NewVar", Func, 5, "func(pos token.Pos, pkg *Package, name string, typ Type) *Var"},
+ {"Nil", Type, 5, ""},
+ {"Object", Type, 5, ""},
+ {"ObjectString", Func, 5, "func(obj Object, qf Qualifier) string"},
+ {"Package", Type, 5, ""},
+ {"PackageVar", Const, 25, ""},
+ {"ParamVar", Const, 25, ""},
+ {"PkgName", Type, 5, ""},
+ {"Pointer", Type, 5, ""},
+ {"Qualifier", Type, 5, ""},
+ {"RecvOnly", Const, 5, ""},
+ {"RecvVar", Const, 25, ""},
+ {"RelativeTo", Func, 5, "func(pkg *Package) Qualifier"},
+ {"ResultVar", Const, 25, ""},
+ {"Rune", Const, 5, ""},
+ {"Satisfies", Func, 20, "func(V Type, T *Interface) bool"},
+ {"Scope", Type, 5, ""},
+ {"Selection", Type, 5, ""},
+ {"SelectionKind", Type, 5, ""},
+ {"SelectionString", Func, 5, "func(s *Selection, qf Qualifier) string"},
+ {"SendOnly", Const, 5, ""},
+ {"SendRecv", Const, 5, ""},
+ {"Signature", Type, 5, ""},
+ {"Sizes", Type, 5, ""},
+ {"SizesFor", Func, 9, "func(compiler string, arch string) Sizes"},
+ {"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, "func(typ Type, qf Qualifier) string"},
+ {"Uint", Const, 5, ""},
+ {"Uint16", Const, 5, ""},
+ {"Uint32", Const, 5, ""},
+ {"Uint64", Const, 5, ""},
+ {"Uint8", Const, 5, ""},
+ {"Uintptr", Const, 5, ""},
+ {"Unalias", Func, 22, "func(t Type) Type"},
+ {"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, ""},
+ {"VarKind", Type, 25, ""},
+ {"WriteExpr", Func, 5, "func(buf *bytes.Buffer, x ast.Expr)"},
+ {"WriteSignature", Func, 5, "func(buf *bytes.Buffer, sig *Signature, qf Qualifier)"},
+ {"WriteType", Func, 5, "func(buf *bytes.Buffer, typ Type, qf Qualifier)"},
},
"go/version": {
- {"Compare", Func, 22},
- {"IsValid", Func, 22},
- {"Lang", Func, 22},
+ {"Compare", Func, 22, "func(x string, y string) int"},
+ {"IsValid", Func, 22, "func(x string) bool"},
+ {"Lang", Func, 22, "func(x string) string"},
},
"hash": {
- {"Hash", Type, 0},
- {"Hash32", Type, 0},
- {"Hash64", Type, 0},
+ {"Hash", Type, 0, ""},
+ {"Hash32", Type, 0, ""},
+ {"Hash64", Type, 0, ""},
},
"hash/adler32": {
- {"Checksum", Func, 0},
- {"New", Func, 0},
- {"Size", Const, 0},
+ {"Checksum", Func, 0, "func(data []byte) uint32"},
+ {"New", Func, 0, "func() hash.Hash32"},
+ {"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},
+ {"Castagnoli", Const, 0, ""},
+ {"Checksum", Func, 0, "func(data []byte, tab *Table) uint32"},
+ {"ChecksumIEEE", Func, 0, "func(data []byte) uint32"},
+ {"IEEE", Const, 0, ""},
+ {"IEEETable", Var, 0, ""},
+ {"Koopman", Const, 0, ""},
+ {"MakeTable", Func, 0, "func(poly uint32) *Table"},
+ {"New", Func, 0, "func(tab *Table) hash.Hash32"},
+ {"NewIEEE", Func, 0, "func() hash.Hash32"},
+ {"Size", Const, 0, ""},
+ {"Table", Type, 0, ""},
+ {"Update", Func, 0, "func(crc uint32, tab *Table, p []byte) uint32"},
},
"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},
+ {"Checksum", Func, 0, "func(data []byte, tab *Table) uint64"},
+ {"ECMA", Const, 0, ""},
+ {"ISO", Const, 0, ""},
+ {"MakeTable", Func, 0, "func(poly uint64) *Table"},
+ {"New", Func, 0, "func(tab *Table) hash.Hash64"},
+ {"Size", Const, 0, ""},
+ {"Table", Type, 0, ""},
+ {"Update", Func, 0, "func(crc uint64, tab *Table, p []byte) uint64"},
},
"hash/fnv": {
- {"New128", Func, 9},
- {"New128a", Func, 9},
- {"New32", Func, 0},
- {"New32a", Func, 0},
- {"New64", Func, 0},
- {"New64a", Func, 0},
+ {"New128", Func, 9, "func() hash.Hash"},
+ {"New128a", Func, 9, "func() hash.Hash"},
+ {"New32", Func, 0, "func() hash.Hash32"},
+ {"New32a", Func, 0, "func() hash.Hash32"},
+ {"New64", Func, 0, "func() hash.Hash64"},
+ {"New64a", Func, 0, "func() hash.Hash64"},
},
"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},
- {"Comparable", Func, 24},
- {"Hash", Type, 14},
- {"MakeSeed", Func, 14},
- {"Seed", Type, 14},
- {"String", Func, 19},
- {"WriteComparable", Func, 24},
+ {"(*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, "func(seed Seed, b []byte) uint64"},
+ {"Comparable", Func, 24, "func[T comparable](seed Seed, v T) uint64"},
+ {"Hash", Type, 14, ""},
+ {"MakeSeed", Func, 14, "func() Seed"},
+ {"Seed", Type, 14, ""},
+ {"String", Func, 19, "func(seed Seed, s string) uint64"},
+ {"WriteComparable", Func, 24, "func[T comparable](h *Hash, x T)"},
},
"html": {
- {"EscapeString", Func, 0},
- {"UnescapeString", Func, 0},
+ {"EscapeString", Func, 0, "func(s string) string"},
+ {"UnescapeString", Func, 0, "func(s string) string"},
},
"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},
+ {"(*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, "func(w io.Writer, b []byte)"},
+ {"HTMLEscapeString", Func, 0, "func(s string) string"},
+ {"HTMLEscaper", Func, 0, "func(args ...any) string"},
+ {"IsTrue", Func, 6, "func(val any) (truth bool, ok bool)"},
+ {"JS", Type, 0, ""},
+ {"JSEscape", Func, 0, "func(w io.Writer, b []byte)"},
+ {"JSEscapeString", Func, 0, "func(s string) string"},
+ {"JSEscaper", Func, 0, "func(args ...any) string"},
+ {"JSStr", Type, 0, ""},
+ {"Must", Func, 0, "func(t *Template, err error) *Template"},
+ {"New", Func, 0, "func(name string) *Template"},
+ {"OK", Const, 0, ""},
+ {"ParseFS", Func, 16, "func(fs fs.FS, patterns ...string) (*Template, error)"},
+ {"ParseFiles", Func, 0, "func(filenames ...string) (*Template, error)"},
+ {"ParseGlob", Func, 0, "func(pattern string) (*Template, error)"},
+ {"Srcset", Type, 10, ""},
+ {"Template", Type, 0, ""},
+ {"Template.Tree", Field, 2, ""},
+ {"URL", Type, 0, ""},
+ {"URLQueryEscaper", Func, 0, "func(args ...any) string"},
},
"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},
+ {"(*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, "func(r io.Reader) (Image, string, error)"},
+ {"DecodeConfig", Func, 0, "func(r io.Reader) (Config, string, error)"},
+ {"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, "func(r Rectangle) *Alpha"},
+ {"NewAlpha16", Func, 0, "func(r Rectangle) *Alpha16"},
+ {"NewCMYK", Func, 5, "func(r Rectangle) *CMYK"},
+ {"NewGray", Func, 0, "func(r Rectangle) *Gray"},
+ {"NewGray16", Func, 0, "func(r Rectangle) *Gray16"},
+ {"NewNRGBA", Func, 0, "func(r Rectangle) *NRGBA"},
+ {"NewNRGBA64", Func, 0, "func(r Rectangle) *NRGBA64"},
+ {"NewNYCbCrA", Func, 6, "func(r Rectangle, subsampleRatio YCbCrSubsampleRatio) *NYCbCrA"},
+ {"NewPaletted", Func, 0, "func(r Rectangle, p color.Palette) *Paletted"},
+ {"NewRGBA", Func, 0, "func(r Rectangle) *RGBA"},
+ {"NewRGBA64", Func, 0, "func(r Rectangle) *RGBA64"},
+ {"NewUniform", Func, 0, "func(c color.Color) *Uniform"},
+ {"NewYCbCr", Func, 0, "func(r Rectangle, subsampleRatio YCbCrSubsampleRatio) *YCbCr"},
+ {"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, "func(X int, Y int) Point"},
+ {"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, "func(x0 int, y0 int, x1 int, y1 int) Rectangle"},
+ {"Rectangle", Type, 0, ""},
+ {"Rectangle.Max", Field, 0, ""},
+ {"Rectangle.Min", Field, 0, ""},
+ {"RegisterFormat", Func, 0, "func(name string, magic string, decode func(io.Reader) (Image, error), decodeConfig func(io.Reader) (Config, error))"},
+ {"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},
+ {"(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, "func(c uint8, m uint8, y uint8, k uint8) (uint8, uint8, uint8)"},
+ {"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, "func(f func(Color) Color) Model"},
+ {"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, "func(r uint8, g uint8, b uint8) (uint8, uint8, uint8, uint8)"},
+ {"RGBToYCbCr", Func, 0, "func(r uint8, g uint8, b uint8) (uint8, uint8, uint8)"},
+ {"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, "func(y uint8, cb uint8, cr uint8) (uint8, uint8, uint8)"},
},
"image/color/palette": {
- {"Plan9", Var, 2},
- {"WebSafe", Var, 2},
+ {"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},
+ {"(Op).Draw", Method, 2, ""},
+ {"Draw", Func, 0, "func(dst Image, r image.Rectangle, src image.Image, sp image.Point, op Op)"},
+ {"DrawMask", Func, 0, "func(dst Image, r image.Rectangle, src image.Image, sp image.Point, mask image.Image, mp image.Point, op Op)"},
+ {"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},
+ {"Decode", Func, 0, "func(r io.Reader) (image.Image, error)"},
+ {"DecodeAll", Func, 0, "func(r io.Reader) (*GIF, error)"},
+ {"DecodeConfig", Func, 0, "func(r io.Reader) (image.Config, error)"},
+ {"DisposalBackground", Const, 5, ""},
+ {"DisposalNone", Const, 5, ""},
+ {"DisposalPrevious", Const, 5, ""},
+ {"Encode", Func, 2, "func(w io.Writer, m image.Image, o *Options) error"},
+ {"EncodeAll", Func, 2, "func(w io.Writer, g *GIF) error"},
+ {"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},
+ {"(FormatError).Error", Method, 0, ""},
+ {"(UnsupportedError).Error", Method, 0, ""},
+ {"Decode", Func, 0, "func(r io.Reader) (image.Image, error)"},
+ {"DecodeConfig", Func, 0, "func(r io.Reader) (image.Config, error)"},
+ {"DefaultQuality", Const, 0, ""},
+ {"Encode", Func, 0, "func(w io.Writer, m image.Image, o *Options) error"},
+ {"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},
+ {"(*Encoder).Encode", Method, 4, ""},
+ {"(FormatError).Error", Method, 0, ""},
+ {"(UnsupportedError).Error", Method, 0, ""},
+ {"BestCompression", Const, 4, ""},
+ {"BestSpeed", Const, 4, ""},
+ {"CompressionLevel", Type, 4, ""},
+ {"Decode", Func, 0, "func(r io.Reader) (image.Image, error)"},
+ {"DecodeConfig", Func, 0, "func(r io.Reader) (image.Config, error)"},
+ {"DefaultCompression", Const, 4, ""},
+ {"Encode", Func, 0, "func(w io.Writer, m image.Image) error"},
+ {"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},
+ {"(*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, "func(data []byte) *Index"},
},
"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},
+ {"(*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, "func(dst Writer, src Reader) (written int64, err error)"},
+ {"CopyBuffer", Func, 5, "func(dst Writer, src Reader, buf []byte) (written int64, err error)"},
+ {"CopyN", Func, 0, "func(dst Writer, src Reader, n int64) (written int64, err error)"},
+ {"Discard", Var, 16, ""},
+ {"EOF", Var, 0, ""},
+ {"ErrClosedPipe", Var, 0, ""},
+ {"ErrNoProgress", Var, 1, ""},
+ {"ErrShortBuffer", Var, 0, ""},
+ {"ErrShortWrite", Var, 0, ""},
+ {"ErrUnexpectedEOF", Var, 0, ""},
+ {"LimitReader", Func, 0, "func(r Reader, n int64) Reader"},
+ {"LimitedReader", Type, 0, ""},
+ {"LimitedReader.N", Field, 0, ""},
+ {"LimitedReader.R", Field, 0, ""},
+ {"MultiReader", Func, 0, "func(readers ...Reader) Reader"},
+ {"MultiWriter", Func, 0, "func(writers ...Writer) Writer"},
+ {"NewOffsetWriter", Func, 20, "func(w WriterAt, off int64) *OffsetWriter"},
+ {"NewSectionReader", Func, 0, "func(r ReaderAt, off int64, n int64) *SectionReader"},
+ {"NopCloser", Func, 16, "func(r Reader) ReadCloser"},
+ {"OffsetWriter", Type, 20, ""},
+ {"Pipe", Func, 0, "func() (*PipeReader, *PipeWriter)"},
+ {"PipeReader", Type, 0, ""},
+ {"PipeWriter", Type, 0, ""},
+ {"ReadAll", Func, 16, "func(r Reader) ([]byte, error)"},
+ {"ReadAtLeast", Func, 0, "func(r Reader, buf []byte, min int) (n int, err error)"},
+ {"ReadCloser", Type, 0, ""},
+ {"ReadFull", Func, 0, "func(r Reader, buf []byte) (n int, err error)"},
+ {"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, "func(r Reader, w Writer) Reader"},
+ {"WriteCloser", Type, 0, ""},
+ {"WriteSeeker", Type, 0, ""},
+ {"WriteString", Func, 0, "func(w Writer, s string) (n int, err error)"},
+ {"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},
+ {"(*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, "func(info FileInfo) DirEntry"},
+ {"FileMode", Type, 16, ""},
+ {"FormatDirEntry", Func, 21, "func(dir DirEntry) string"},
+ {"FormatFileInfo", Func, 21, "func(info FileInfo) string"},
+ {"Glob", Func, 16, "func(fsys FS, pattern string) (matches []string, err error)"},
+ {"GlobFS", Type, 16, ""},
+ {"Lstat", Func, 25, ""},
+ {"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, "func(fsys FS, name string) ([]DirEntry, error)"},
+ {"ReadDirFS", Type, 16, ""},
+ {"ReadDirFile", Type, 16, ""},
+ {"ReadFile", Func, 16, "func(fsys FS, name string) ([]byte, error)"},
+ {"ReadFileFS", Type, 16, ""},
+ {"ReadLink", Func, 25, ""},
+ {"ReadLinkFS", Type, 25, ""},
+ {"SkipAll", Var, 20, ""},
+ {"SkipDir", Var, 16, ""},
+ {"Stat", Func, 16, "func(fsys FS, name string) (FileInfo, error)"},
+ {"StatFS", Type, 16, ""},
+ {"Sub", Func, 16, "func(fsys FS, dir string) (FS, error)"},
+ {"SubFS", Type, 16, ""},
+ {"ValidPath", Func, 16, "func(name string) bool"},
+ {"WalkDir", Func, 16, "func(fsys FS, root string, fn WalkDirFunc) error"},
+ {"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},
+ {"Discard", Var, 0, ""},
+ {"NopCloser", Func, 0, "func(r io.Reader) io.ReadCloser"},
+ {"ReadAll", Func, 0, "func(r io.Reader) ([]byte, error)"},
+ {"ReadDir", Func, 0, "func(dirname string) ([]fs.FileInfo, error)"},
+ {"ReadFile", Func, 0, "func(filename string) ([]byte, error)"},
+ {"TempDir", Func, 0, "func(dir string, pattern string) (name string, err error)"},
+ {"TempFile", Func, 0, "func(dir string, pattern string) (f *os.File, err error)"},
+ {"WriteFile", Func, 0, "func(filename string, data []byte, perm fs.FileMode) error"},
},
"iter": {
- {"Pull", Func, 23},
- {"Pull2", Func, 23},
- {"Seq", Type, 23},
- {"Seq2", Type, 23},
+ {"Pull", Func, 23, "func[V any](seq Seq[V]) (next func() (V, bool), stop func())"},
+ {"Pull2", Func, 23, "func[K, V any](seq Seq2[K, V]) (next func() (K, V, bool), stop func())"},
+ {"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},
+ {"(*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, "func() *Logger"},
+ {"Fatal", Func, 0, "func(v ...any)"},
+ {"Fatalf", Func, 0, "func(format string, v ...any)"},
+ {"Fatalln", Func, 0, "func(v ...any)"},
+ {"Flags", Func, 0, "func() int"},
+ {"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, "func(out io.Writer, prefix string, flag int) *Logger"},
+ {"Output", Func, 5, "func(calldepth int, s string) error"},
+ {"Panic", Func, 0, "func(v ...any)"},
+ {"Panicf", Func, 0, "func(format string, v ...any)"},
+ {"Panicln", Func, 0, "func(v ...any)"},
+ {"Prefix", Func, 0, "func() string"},
+ {"Print", Func, 0, "func(v ...any)"},
+ {"Printf", Func, 0, "func(format string, v ...any)"},
+ {"Println", Func, 0, "func(v ...any)"},
+ {"SetFlags", Func, 0, "func(flag int)"},
+ {"SetOutput", Func, 0, "func(w io.Writer)"},
+ {"SetPrefix", Func, 0, "func(prefix string)"},
+ {"Writer", Func, 13, "func() io.Writer"},
},
"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).AppendText", Method, 24},
- {"(*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).AppendText", Method, 24},
- {"(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},
- {"DiscardHandler", Var, 24},
- {"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},
+ {"(*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).AppendText", Method, 24, ""},
+ {"(*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).AppendText", Method, 24, ""},
+ {"(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, "func(key string, value any) Attr"},
+ {"AnyValue", Func, 21, "func(v any) Value"},
+ {"Attr", Type, 21, ""},
+ {"Attr.Key", Field, 21, ""},
+ {"Attr.Value", Field, 21, ""},
+ {"Bool", Func, 21, "func(key string, v bool) Attr"},
+ {"BoolValue", Func, 21, "func(v bool) Value"},
+ {"Debug", Func, 21, "func(msg string, args ...any)"},
+ {"DebugContext", Func, 21, "func(ctx context.Context, msg string, args ...any)"},
+ {"Default", Func, 21, "func() *Logger"},
+ {"DiscardHandler", Var, 24, ""},
+ {"Duration", Func, 21, "func(key string, v time.Duration) Attr"},
+ {"DurationValue", Func, 21, "func(v time.Duration) Value"},
+ {"Error", Func, 21, "func(msg string, args ...any)"},
+ {"ErrorContext", Func, 21, "func(ctx context.Context, msg string, args ...any)"},
+ {"Float64", Func, 21, "func(key string, v float64) Attr"},
+ {"Float64Value", Func, 21, "func(v float64) Value"},
+ {"Group", Func, 21, "func(key string, args ...any) Attr"},
+ {"GroupValue", Func, 21, "func(as ...Attr) Value"},
+ {"Handler", Type, 21, ""},
+ {"HandlerOptions", Type, 21, ""},
+ {"HandlerOptions.AddSource", Field, 21, ""},
+ {"HandlerOptions.Level", Field, 21, ""},
+ {"HandlerOptions.ReplaceAttr", Field, 21, ""},
+ {"Info", Func, 21, "func(msg string, args ...any)"},
+ {"InfoContext", Func, 21, "func(ctx context.Context, msg string, args ...any)"},
+ {"Int", Func, 21, "func(key string, value int) Attr"},
+ {"Int64", Func, 21, "func(key string, value int64) Attr"},
+ {"Int64Value", Func, 21, "func(v int64) Value"},
+ {"IntValue", Func, 21, "func(v int) Value"},
+ {"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, "func(ctx context.Context, level Level, msg string, args ...any)"},
+ {"LogAttrs", Func, 21, "func(ctx context.Context, level Level, msg string, attrs ...Attr)"},
+ {"LogValuer", Type, 21, ""},
+ {"Logger", Type, 21, ""},
+ {"MessageKey", Const, 21, ""},
+ {"New", Func, 21, "func(h Handler) *Logger"},
+ {"NewJSONHandler", Func, 21, "func(w io.Writer, opts *HandlerOptions) *JSONHandler"},
+ {"NewLogLogger", Func, 21, "func(h Handler, level Level) *log.Logger"},
+ {"NewRecord", Func, 21, "func(t time.Time, level Level, msg string, pc uintptr) Record"},
+ {"NewTextHandler", Func, 21, "func(w io.Writer, opts *HandlerOptions) *TextHandler"},
+ {"Record", Type, 21, ""},
+ {"Record.Level", Field, 21, ""},
+ {"Record.Message", Field, 21, ""},
+ {"Record.PC", Field, 21, ""},
+ {"Record.Time", Field, 21, ""},
+ {"SetDefault", Func, 21, "func(l *Logger)"},
+ {"SetLogLoggerLevel", Func, 22, "func(level Level) (oldLevel Level)"},
+ {"Source", Type, 21, ""},
+ {"Source.File", Field, 21, ""},
+ {"Source.Function", Field, 21, ""},
+ {"Source.Line", Field, 21, ""},
+ {"SourceKey", Const, 21, ""},
+ {"String", Func, 21, "func(key string, value string) Attr"},
+ {"StringValue", Func, 21, "func(value string) Value"},
+ {"TextHandler", Type, 21, ""},
+ {"Time", Func, 21, "func(key string, v time.Time) Attr"},
+ {"TimeKey", Const, 21, ""},
+ {"TimeValue", Func, 21, "func(v time.Time) Value"},
+ {"Uint64", Func, 21, "func(key string, v uint64) Attr"},
+ {"Uint64Value", Func, 21, "func(v uint64) Value"},
+ {"Value", Type, 21, ""},
+ {"Warn", Func, 21, "func(msg string, args ...any)"},
+ {"WarnContext", Func, 21, "func(ctx context.Context, msg string, args ...any)"},
+ {"With", Func, 21, "func(args ...any) *Logger"},
},
"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},
+ {"(*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, "func(network string, raddr string, priority Priority, tag string) (*Writer, error)"},
+ {"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, "func(priority Priority, tag string) (*Writer, error)"},
+ {"NewLogger", Func, 0, "func(p Priority, logFlag int) (*log.Logger, error)"},
+ {"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},
+ {"All", Func, 23, "func[Map ~map[K]V, K comparable, V any](m Map) iter.Seq2[K, V]"},
+ {"Clone", Func, 21, "func[M ~map[K]V, K comparable, V any](m M) M"},
+ {"Collect", Func, 23, "func[K comparable, V any](seq iter.Seq2[K, V]) map[K]V"},
+ {"Copy", Func, 21, "func[M1 ~map[K]V, M2 ~map[K]V, K comparable, V any](dst M1, src M2)"},
+ {"DeleteFunc", Func, 21, "func[M ~map[K]V, K comparable, V any](m M, del func(K, V) bool)"},
+ {"Equal", Func, 21, "func[M1, M2 ~map[K]V, K, V comparable](m1 M1, m2 M2) bool"},
+ {"EqualFunc", Func, 21, "func[M1 ~map[K]V1, M2 ~map[K]V2, K comparable, V1, V2 any](m1 M1, m2 M2, eq func(V1, V2) bool) bool"},
+ {"Insert", Func, 23, "func[Map ~map[K]V, K comparable, V any](m Map, seq iter.Seq2[K, V])"},
+ {"Keys", Func, 23, "func[Map ~map[K]V, K comparable, V any](m Map) iter.Seq[K]"},
+ {"Values", Func, 23, "func[Map ~map[K]V, K comparable, V any](m Map) iter.Seq[V]"},
},
"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},
+ {"Abs", Func, 0, "func(x float64) float64"},
+ {"Acos", Func, 0, "func(x float64) float64"},
+ {"Acosh", Func, 0, "func(x float64) float64"},
+ {"Asin", Func, 0, "func(x float64) float64"},
+ {"Asinh", Func, 0, "func(x float64) float64"},
+ {"Atan", Func, 0, "func(x float64) float64"},
+ {"Atan2", Func, 0, "func(y float64, x float64) float64"},
+ {"Atanh", Func, 0, "func(x float64) float64"},
+ {"Cbrt", Func, 0, "func(x float64) float64"},
+ {"Ceil", Func, 0, "func(x float64) float64"},
+ {"Copysign", Func, 0, "func(f float64, sign float64) float64"},
+ {"Cos", Func, 0, "func(x float64) float64"},
+ {"Cosh", Func, 0, "func(x float64) float64"},
+ {"Dim", Func, 0, "func(x float64, y float64) float64"},
+ {"E", Const, 0, ""},
+ {"Erf", Func, 0, "func(x float64) float64"},
+ {"Erfc", Func, 0, "func(x float64) float64"},
+ {"Erfcinv", Func, 10, "func(x float64) float64"},
+ {"Erfinv", Func, 10, "func(x float64) float64"},
+ {"Exp", Func, 0, "func(x float64) float64"},
+ {"Exp2", Func, 0, "func(x float64) float64"},
+ {"Expm1", Func, 0, "func(x float64) float64"},
+ {"FMA", Func, 14, "func(x float64, y float64, z float64) float64"},
+ {"Float32bits", Func, 0, "func(f float32) uint32"},
+ {"Float32frombits", Func, 0, "func(b uint32) float32"},
+ {"Float64bits", Func, 0, "func(f float64) uint64"},
+ {"Float64frombits", Func, 0, "func(b uint64) float64"},
+ {"Floor", Func, 0, "func(x float64) float64"},
+ {"Frexp", Func, 0, "func(f float64) (frac float64, exp int)"},
+ {"Gamma", Func, 0, "func(x float64) float64"},
+ {"Hypot", Func, 0, "func(p float64, q float64) float64"},
+ {"Ilogb", Func, 0, "func(x float64) int"},
+ {"Inf", Func, 0, "func(sign int) float64"},
+ {"IsInf", Func, 0, "func(f float64, sign int) bool"},
+ {"IsNaN", Func, 0, "func(f float64) (is bool)"},
+ {"J0", Func, 0, "func(x float64) float64"},
+ {"J1", Func, 0, "func(x float64) float64"},
+ {"Jn", Func, 0, "func(n int, x float64) float64"},
+ {"Ldexp", Func, 0, "func(frac float64, exp int) float64"},
+ {"Lgamma", Func, 0, "func(x float64) (lgamma float64, sign int)"},
+ {"Ln10", Const, 0, ""},
+ {"Ln2", Const, 0, ""},
+ {"Log", Func, 0, "func(x float64) float64"},
+ {"Log10", Func, 0, "func(x float64) float64"},
+ {"Log10E", Const, 0, ""},
+ {"Log1p", Func, 0, "func(x float64) float64"},
+ {"Log2", Func, 0, "func(x float64) float64"},
+ {"Log2E", Const, 0, ""},
+ {"Logb", Func, 0, "func(x float64) float64"},
+ {"Max", Func, 0, "func(x float64, y float64) float64"},
+ {"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, "func(x float64, y float64) float64"},
+ {"MinInt", Const, 17, ""},
+ {"MinInt16", Const, 0, ""},
+ {"MinInt32", Const, 0, ""},
+ {"MinInt64", Const, 0, ""},
+ {"MinInt8", Const, 0, ""},
+ {"Mod", Func, 0, "func(x float64, y float64) float64"},
+ {"Modf", Func, 0, "func(f float64) (int float64, frac float64)"},
+ {"NaN", Func, 0, "func() float64"},
+ {"Nextafter", Func, 0, "func(x float64, y float64) (r float64)"},
+ {"Nextafter32", Func, 4, "func(x float32, y float32) (r float32)"},
+ {"Phi", Const, 0, ""},
+ {"Pi", Const, 0, ""},
+ {"Pow", Func, 0, "func(x float64, y float64) float64"},
+ {"Pow10", Func, 0, "func(n int) float64"},
+ {"Remainder", Func, 0, "func(x float64, y float64) float64"},
+ {"Round", Func, 10, "func(x float64) float64"},
+ {"RoundToEven", Func, 10, "func(x float64) float64"},
+ {"Signbit", Func, 0, "func(x float64) bool"},
+ {"Sin", Func, 0, "func(x float64) float64"},
+ {"Sincos", Func, 0, "func(x float64) (sin float64, cos float64)"},
+ {"Sinh", Func, 0, "func(x float64) float64"},
+ {"SmallestNonzeroFloat32", Const, 0, ""},
+ {"SmallestNonzeroFloat64", Const, 0, ""},
+ {"Sqrt", Func, 0, "func(x float64) float64"},
+ {"Sqrt2", Const, 0, ""},
+ {"SqrtE", Const, 0, ""},
+ {"SqrtPhi", Const, 0, ""},
+ {"SqrtPi", Const, 0, ""},
+ {"Tan", Func, 0, "func(x float64) float64"},
+ {"Tanh", Func, 0, "func(x float64) float64"},
+ {"Trunc", Func, 0, "func(x float64) float64"},
+ {"Y0", Func, 0, "func(x float64) float64"},
+ {"Y1", Func, 0, "func(x float64) float64"},
+ {"Yn", Func, 0, "func(n int, x float64) float64"},
},
"math/big": {
- {"(*Float).Abs", Method, 5},
- {"(*Float).Acc", Method, 5},
- {"(*Float).Add", Method, 5},
- {"(*Float).Append", Method, 5},
- {"(*Float).AppendText", Method, 24},
- {"(*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).AppendText", Method, 24},
- {"(*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).AppendText", Method, 24},
- {"(*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},
+ {"(*Float).Abs", Method, 5, ""},
+ {"(*Float).Acc", Method, 5, ""},
+ {"(*Float).Add", Method, 5, ""},
+ {"(*Float).Append", Method, 5, ""},
+ {"(*Float).AppendText", Method, 24, ""},
+ {"(*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).AppendText", Method, 24, ""},
+ {"(*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).AppendText", Method, 24, ""},
+ {"(*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, "func(x *Int, y *Int) int"},
+ {"MaxBase", Const, 0, ""},
+ {"MaxExp", Const, 5, ""},
+ {"MaxPrec", Const, 5, ""},
+ {"MinExp", Const, 5, ""},
+ {"NewFloat", Func, 5, "func(x float64) *Float"},
+ {"NewInt", Func, 0, "func(x int64) *Int"},
+ {"NewRat", Func, 0, "func(a int64, b int64) *Rat"},
+ {"ParseFloat", Func, 5, "func(s string, base int, prec uint, mode RoundingMode) (f *Float, b int, err error)"},
+ {"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},
+ {"Add", Func, 12, "func(x uint, y uint, carry uint) (sum uint, carryOut uint)"},
+ {"Add32", Func, 12, "func(x uint32, y uint32, carry uint32) (sum uint32, carryOut uint32)"},
+ {"Add64", Func, 12, "func(x uint64, y uint64, carry uint64) (sum uint64, carryOut uint64)"},
+ {"Div", Func, 12, "func(hi uint, lo uint, y uint) (quo uint, rem uint)"},
+ {"Div32", Func, 12, "func(hi uint32, lo uint32, y uint32) (quo uint32, rem uint32)"},
+ {"Div64", Func, 12, "func(hi uint64, lo uint64, y uint64) (quo uint64, rem uint64)"},
+ {"LeadingZeros", Func, 9, "func(x uint) int"},
+ {"LeadingZeros16", Func, 9, "func(x uint16) int"},
+ {"LeadingZeros32", Func, 9, "func(x uint32) int"},
+ {"LeadingZeros64", Func, 9, "func(x uint64) int"},
+ {"LeadingZeros8", Func, 9, "func(x uint8) int"},
+ {"Len", Func, 9, "func(x uint) int"},
+ {"Len16", Func, 9, "func(x uint16) (n int)"},
+ {"Len32", Func, 9, "func(x uint32) (n int)"},
+ {"Len64", Func, 9, "func(x uint64) (n int)"},
+ {"Len8", Func, 9, "func(x uint8) int"},
+ {"Mul", Func, 12, "func(x uint, y uint) (hi uint, lo uint)"},
+ {"Mul32", Func, 12, "func(x uint32, y uint32) (hi uint32, lo uint32)"},
+ {"Mul64", Func, 12, "func(x uint64, y uint64) (hi uint64, lo uint64)"},
+ {"OnesCount", Func, 9, "func(x uint) int"},
+ {"OnesCount16", Func, 9, "func(x uint16) int"},
+ {"OnesCount32", Func, 9, "func(x uint32) int"},
+ {"OnesCount64", Func, 9, "func(x uint64) int"},
+ {"OnesCount8", Func, 9, "func(x uint8) int"},
+ {"Rem", Func, 14, "func(hi uint, lo uint, y uint) uint"},
+ {"Rem32", Func, 14, "func(hi uint32, lo uint32, y uint32) uint32"},
+ {"Rem64", Func, 14, "func(hi uint64, lo uint64, y uint64) uint64"},
+ {"Reverse", Func, 9, "func(x uint) uint"},
+ {"Reverse16", Func, 9, "func(x uint16) uint16"},
+ {"Reverse32", Func, 9, "func(x uint32) uint32"},
+ {"Reverse64", Func, 9, "func(x uint64) uint64"},
+ {"Reverse8", Func, 9, "func(x uint8) uint8"},
+ {"ReverseBytes", Func, 9, "func(x uint) uint"},
+ {"ReverseBytes16", Func, 9, "func(x uint16) uint16"},
+ {"ReverseBytes32", Func, 9, "func(x uint32) uint32"},
+ {"ReverseBytes64", Func, 9, "func(x uint64) uint64"},
+ {"RotateLeft", Func, 9, "func(x uint, k int) uint"},
+ {"RotateLeft16", Func, 9, "func(x uint16, k int) uint16"},
+ {"RotateLeft32", Func, 9, "func(x uint32, k int) uint32"},
+ {"RotateLeft64", Func, 9, "func(x uint64, k int) uint64"},
+ {"RotateLeft8", Func, 9, "func(x uint8, k int) uint8"},
+ {"Sub", Func, 12, "func(x uint, y uint, borrow uint) (diff uint, borrowOut uint)"},
+ {"Sub32", Func, 12, "func(x uint32, y uint32, borrow uint32) (diff uint32, borrowOut uint32)"},
+ {"Sub64", Func, 12, "func(x uint64, y uint64, borrow uint64) (diff uint64, borrowOut uint64)"},
+ {"TrailingZeros", Func, 9, "func(x uint) int"},
+ {"TrailingZeros16", Func, 9, "func(x uint16) int"},
+ {"TrailingZeros32", Func, 9, "func(x uint32) int"},
+ {"TrailingZeros64", Func, 9, "func(x uint64) int"},
+ {"TrailingZeros8", Func, 9, "func(x uint8) int"},
+ {"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},
+ {"Abs", Func, 0, "func(x complex128) float64"},
+ {"Acos", Func, 0, "func(x complex128) complex128"},
+ {"Acosh", Func, 0, "func(x complex128) complex128"},
+ {"Asin", Func, 0, "func(x complex128) complex128"},
+ {"Asinh", Func, 0, "func(x complex128) complex128"},
+ {"Atan", Func, 0, "func(x complex128) complex128"},
+ {"Atanh", Func, 0, "func(x complex128) complex128"},
+ {"Conj", Func, 0, "func(x complex128) complex128"},
+ {"Cos", Func, 0, "func(x complex128) complex128"},
+ {"Cosh", Func, 0, "func(x complex128) complex128"},
+ {"Cot", Func, 0, "func(x complex128) complex128"},
+ {"Exp", Func, 0, "func(x complex128) complex128"},
+ {"Inf", Func, 0, "func() complex128"},
+ {"IsInf", Func, 0, "func(x complex128) bool"},
+ {"IsNaN", Func, 0, "func(x complex128) bool"},
+ {"Log", Func, 0, "func(x complex128) complex128"},
+ {"Log10", Func, 0, "func(x complex128) complex128"},
+ {"NaN", Func, 0, "func() complex128"},
+ {"Phase", Func, 0, "func(x complex128) float64"},
+ {"Polar", Func, 0, "func(x complex128) (r float64, θ float64)"},
+ {"Pow", Func, 0, "func(x complex128, y complex128) complex128"},
+ {"Rect", Func, 0, "func(r float64, θ float64) complex128"},
+ {"Sin", Func, 0, "func(x complex128) complex128"},
+ {"Sinh", Func, 0, "func(x complex128) complex128"},
+ {"Sqrt", Func, 0, "func(x complex128) complex128"},
+ {"Tan", Func, 0, "func(x complex128) complex128"},
+ {"Tanh", Func, 0, "func(x complex128) complex128"},
},
"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},
+ {"(*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, "func() float64"},
+ {"Float32", Func, 0, "func() float32"},
+ {"Float64", Func, 0, "func() float64"},
+ {"Int", Func, 0, "func() int"},
+ {"Int31", Func, 0, "func() int32"},
+ {"Int31n", Func, 0, "func(n int32) int32"},
+ {"Int63", Func, 0, "func() int64"},
+ {"Int63n", Func, 0, "func(n int64) int64"},
+ {"Intn", Func, 0, "func(n int) int"},
+ {"New", Func, 0, "func(src Source) *Rand"},
+ {"NewSource", Func, 0, "func(seed int64) Source"},
+ {"NewZipf", Func, 0, "func(r *Rand, s float64, v float64, imax uint64) *Zipf"},
+ {"NormFloat64", Func, 0, "func() float64"},
+ {"Perm", Func, 0, "func(n int) []int"},
+ {"Rand", Type, 0, ""},
+ {"Read", Func, 6, "func(p []byte) (n int, err error)"},
+ {"Seed", Func, 0, "func(seed int64)"},
+ {"Shuffle", Func, 10, "func(n int, swap func(i int, j int))"},
+ {"Source", Type, 0, ""},
+ {"Source64", Type, 8, ""},
+ {"Uint32", Func, 0, "func() uint32"},
+ {"Uint64", Func, 8, "func() uint64"},
+ {"Zipf", Type, 0, ""},
},
"math/rand/v2": {
- {"(*ChaCha8).AppendBinary", Method, 24},
- {"(*ChaCha8).MarshalBinary", Method, 22},
- {"(*ChaCha8).Read", Method, 23},
- {"(*ChaCha8).Seed", Method, 22},
- {"(*ChaCha8).Uint64", Method, 22},
- {"(*ChaCha8).UnmarshalBinary", Method, 22},
- {"(*PCG).AppendBinary", Method, 24},
- {"(*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},
+ {"(*ChaCha8).AppendBinary", Method, 24, ""},
+ {"(*ChaCha8).MarshalBinary", Method, 22, ""},
+ {"(*ChaCha8).Read", Method, 23, ""},
+ {"(*ChaCha8).Seed", Method, 22, ""},
+ {"(*ChaCha8).Uint64", Method, 22, ""},
+ {"(*ChaCha8).UnmarshalBinary", Method, 22, ""},
+ {"(*PCG).AppendBinary", Method, 24, ""},
+ {"(*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, "func() float64"},
+ {"Float32", Func, 22, "func() float32"},
+ {"Float64", Func, 22, "func() float64"},
+ {"Int", Func, 22, "func() int"},
+ {"Int32", Func, 22, "func() int32"},
+ {"Int32N", Func, 22, "func(n int32) int32"},
+ {"Int64", Func, 22, "func() int64"},
+ {"Int64N", Func, 22, "func(n int64) int64"},
+ {"IntN", Func, 22, "func(n int) int"},
+ {"N", Func, 22, "func[Int intType](n Int) Int"},
+ {"New", Func, 22, "func(src Source) *Rand"},
+ {"NewChaCha8", Func, 22, "func(seed [32]byte) *ChaCha8"},
+ {"NewPCG", Func, 22, "func(seed1 uint64, seed2 uint64) *PCG"},
+ {"NewZipf", Func, 22, "func(r *Rand, s float64, v float64, imax uint64) *Zipf"},
+ {"NormFloat64", Func, 22, "func() float64"},
+ {"PCG", Type, 22, ""},
+ {"Perm", Func, 22, "func(n int) []int"},
+ {"Rand", Type, 22, ""},
+ {"Shuffle", Func, 22, "func(n int, swap func(i int, j int))"},
+ {"Source", Type, 22, ""},
+ {"Uint", Func, 23, "func() uint"},
+ {"Uint32", Func, 22, "func() uint32"},
+ {"Uint32N", Func, 22, "func(n uint32) uint32"},
+ {"Uint64", Func, 22, "func() uint64"},
+ {"Uint64N", Func, 22, "func(n uint64) uint64"},
+ {"UintN", Func, 22, "func(n uint) uint"},
+ {"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},
+ {"(*WordDecoder).Decode", Method, 5, ""},
+ {"(*WordDecoder).DecodeHeader", Method, 5, ""},
+ {"(WordEncoder).Encode", Method, 5, ""},
+ {"AddExtensionType", Func, 0, "func(ext string, typ string) error"},
+ {"BEncoding", Const, 5, ""},
+ {"ErrInvalidMediaParameter", Var, 9, ""},
+ {"ExtensionsByType", Func, 5, "func(typ string) ([]string, error)"},
+ {"FormatMediaType", Func, 0, "func(t string, param map[string]string) string"},
+ {"ParseMediaType", Func, 0, "func(v string) (mediatype string, params map[string]string, err error)"},
+ {"QEncoding", Const, 5, ""},
+ {"TypeByExtension", Func, 0, "func(ext string) string"},
+ {"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},
+ {"(*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, ""},
+ {"FileContentDisposition", Func, 25, ""},
+ {"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, "func(r io.Reader, boundary string) *Reader"},
+ {"NewWriter", Func, 0, "func(w io.Writer) *Writer"},
+ {"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},
+ {"(*Reader).Read", Method, 5, ""},
+ {"(*Writer).Close", Method, 5, ""},
+ {"(*Writer).Write", Method, 5, ""},
+ {"NewReader", Func, 5, "func(r io.Reader) *Reader"},
+ {"NewWriter", Func, 5, "func(w io.Writer) *Writer"},
+ {"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).AppendText", Method, 24},
- {"(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},
+ {"(*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).AppendText", Method, 24, ""},
+ {"(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, "func(ones int, bits int) IPMask"},
+ {"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, "func(network string, address string) (Conn, error)"},
+ {"DialIP", Func, 0, "func(network string, laddr *IPAddr, raddr *IPAddr) (*IPConn, error)"},
+ {"DialTCP", Func, 0, "func(network string, laddr *TCPAddr, raddr *TCPAddr) (*TCPConn, error)"},
+ {"DialTimeout", Func, 0, "func(network string, address string, timeout time.Duration) (Conn, error)"},
+ {"DialUDP", Func, 0, "func(network string, laddr *UDPAddr, raddr *UDPAddr) (*UDPConn, error)"},
+ {"DialUnix", Func, 0, "func(network string, laddr *UnixAddr, raddr *UnixAddr) (*UnixConn, error)"},
+ {"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, "func(f *os.File) (c Conn, err error)"},
+ {"FileListener", Func, 0, "func(f *os.File) (ln Listener, err error)"},
+ {"FilePacketConn", Func, 0, "func(f *os.File) (c PacketConn, err error)"},
+ {"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, "func(a byte, b byte, c byte, d byte) IP"},
+ {"IPv4Mask", Func, 0, "func(a byte, b byte, c byte, d byte) IPMask"},
+ {"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, "func() ([]Addr, error)"},
+ {"InterfaceByIndex", Func, 0, "func(index int) (*Interface, error)"},
+ {"InterfaceByName", Func, 0, "func(name string) (*Interface, error)"},
+ {"Interfaces", Func, 0, "func() ([]Interface, error)"},
+ {"InvalidAddrError", Type, 0, ""},
+ {"JoinHostPort", Func, 0, "func(host string, port string) string"},
+ {"KeepAliveConfig", Type, 23, ""},
+ {"KeepAliveConfig.Count", Field, 23, ""},
+ {"KeepAliveConfig.Enable", Field, 23, ""},
+ {"KeepAliveConfig.Idle", Field, 23, ""},
+ {"KeepAliveConfig.Interval", Field, 23, ""},
+ {"Listen", Func, 0, "func(network string, address string) (Listener, error)"},
+ {"ListenConfig", Type, 11, ""},
+ {"ListenConfig.Control", Field, 11, ""},
+ {"ListenConfig.KeepAlive", Field, 13, ""},
+ {"ListenConfig.KeepAliveConfig", Field, 23, ""},
+ {"ListenIP", Func, 0, "func(network string, laddr *IPAddr) (*IPConn, error)"},
+ {"ListenMulticastUDP", Func, 0, "func(network string, ifi *Interface, gaddr *UDPAddr) (*UDPConn, error)"},
+ {"ListenPacket", Func, 0, "func(network string, address string) (PacketConn, error)"},
+ {"ListenTCP", Func, 0, "func(network string, laddr *TCPAddr) (*TCPListener, error)"},
+ {"ListenUDP", Func, 0, "func(network string, laddr *UDPAddr) (*UDPConn, error)"},
+ {"ListenUnix", Func, 0, "func(network string, laddr *UnixAddr) (*UnixListener, error)"},
+ {"ListenUnixgram", Func, 0, "func(network string, laddr *UnixAddr) (*UnixConn, error)"},
+ {"Listener", Type, 0, ""},
+ {"LookupAddr", Func, 0, "func(addr string) (names []string, err error)"},
+ {"LookupCNAME", Func, 0, "func(host string) (cname string, err error)"},
+ {"LookupHost", Func, 0, "func(host string) (addrs []string, err error)"},
+ {"LookupIP", Func, 0, "func(host string) ([]IP, error)"},
+ {"LookupMX", Func, 0, "func(name string) ([]*MX, error)"},
+ {"LookupNS", Func, 1, "func(name string) ([]*NS, error)"},
+ {"LookupPort", Func, 0, "func(network string, service string) (port int, err error)"},
+ {"LookupSRV", Func, 0, "func(service string, proto string, name string) (cname string, addrs []*SRV, err error)"},
+ {"LookupTXT", Func, 0, "func(name string) ([]string, error)"},
+ {"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, "func(s string) (IP, *IPNet, error)"},
+ {"ParseError", Type, 0, ""},
+ {"ParseError.Text", Field, 0, ""},
+ {"ParseError.Type", Field, 0, ""},
+ {"ParseIP", Func, 0, "func(s string) IP"},
+ {"ParseMAC", Func, 0, "func(s string) (hw HardwareAddr, err error)"},
+ {"Pipe", Func, 0, "func() (Conn, Conn)"},
+ {"ResolveIPAddr", Func, 0, "func(network string, address string) (*IPAddr, error)"},
+ {"ResolveTCPAddr", Func, 0, "func(network string, address string) (*TCPAddr, error)"},
+ {"ResolveUDPAddr", Func, 0, "func(network string, address string) (*UDPAddr, error)"},
+ {"ResolveUnixAddr", Func, 0, "func(network string, address string) (*UnixAddr, error)"},
+ {"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, "func(hostport string) (host string, port string, err error)"},
+ {"TCPAddr", Type, 0, ""},
+ {"TCPAddr.IP", Field, 0, ""},
+ {"TCPAddr.Port", Field, 0, ""},
+ {"TCPAddr.Zone", Field, 1, ""},
+ {"TCPAddrFromAddrPort", Func, 18, "func(addr netip.AddrPort) *TCPAddr"},
+ {"TCPConn", Type, 0, ""},
+ {"TCPListener", Type, 0, ""},
+ {"UDPAddr", Type, 0, ""},
+ {"UDPAddr.IP", Field, 0, ""},
+ {"UDPAddr.Port", Field, 0, ""},
+ {"UDPAddr.Zone", Field, 1, ""},
+ {"UDPAddrFromAddrPort", Func, 18, "func(addr netip.AddrPort) *UDPAddr"},
+ {"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},
- {"(*Protocols).SetHTTP1", Method, 24},
- {"(*Protocols).SetHTTP2", Method, 24},
- {"(*Protocols).SetUnencryptedHTTP2", Method, 24},
- {"(*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},
- {"(Protocols).HTTP1", Method, 24},
- {"(Protocols).HTTP2", Method, 24},
- {"(Protocols).String", Method, 24},
- {"(Protocols).UnencryptedHTTP2", Method, 24},
- {"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},
- {"HTTP2Config", Type, 24},
- {"HTTP2Config.CountError", Field, 24},
- {"HTTP2Config.MaxConcurrentStreams", Field, 24},
- {"HTTP2Config.MaxDecoderHeaderTableSize", Field, 24},
- {"HTTP2Config.MaxEncoderHeaderTableSize", Field, 24},
- {"HTTP2Config.MaxReadFrameSize", Field, 24},
- {"HTTP2Config.MaxReceiveBufferPerConnection", Field, 24},
- {"HTTP2Config.MaxReceiveBufferPerStream", Field, 24},
- {"HTTP2Config.PermitProhibitedCipherSuites", Field, 24},
- {"HTTP2Config.PingTimeout", Field, 24},
- {"HTTP2Config.SendPingTimeout", Field, 24},
- {"HTTP2Config.WriteByteTimeout", Field, 24},
- {"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},
- {"Protocols", Type, 24},
- {"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.HTTP2", Field, 24},
- {"Server.Handler", Field, 0},
- {"Server.IdleTimeout", Field, 8},
- {"Server.MaxHeaderBytes", Field, 0},
- {"Server.Protocols", Field, 24},
- {"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.HTTP2", Field, 24},
- {"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.Protocols", Field, 24},
- {"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},
+ {"(*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, ""},
+ {"(*Protocols).SetHTTP1", Method, 24, ""},
+ {"(*Protocols).SetHTTP2", Method, 24, ""},
+ {"(*Protocols).SetUnencryptedHTTP2", Method, 24, ""},
+ {"(*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, ""},
+ {"(Protocols).HTTP1", Method, 24, ""},
+ {"(Protocols).HTTP2", Method, 24, ""},
+ {"(Protocols).String", Method, 24, ""},
+ {"(Protocols).UnencryptedHTTP2", Method, 24, ""},
+ {"AllowQuerySemicolons", Func, 17, "func(h Handler) Handler"},
+ {"CanonicalHeaderKey", Func, 0, "func(s string) string"},
+ {"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, "func(data []byte) string"},
+ {"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, "func(w ResponseWriter, error string, code int)"},
+ {"FS", Func, 16, "func(fsys fs.FS) FileSystem"},
+ {"File", Type, 0, ""},
+ {"FileServer", Func, 0, "func(root FileSystem) Handler"},
+ {"FileServerFS", Func, 22, "func(root fs.FS) Handler"},
+ {"FileSystem", Type, 0, ""},
+ {"Flusher", Type, 0, ""},
+ {"Get", Func, 0, "func(url string) (resp *Response, err error)"},
+ {"HTTP2Config", Type, 24, ""},
+ {"HTTP2Config.CountError", Field, 24, ""},
+ {"HTTP2Config.MaxConcurrentStreams", Field, 24, ""},
+ {"HTTP2Config.MaxDecoderHeaderTableSize", Field, 24, ""},
+ {"HTTP2Config.MaxEncoderHeaderTableSize", Field, 24, ""},
+ {"HTTP2Config.MaxReadFrameSize", Field, 24, ""},
+ {"HTTP2Config.MaxReceiveBufferPerConnection", Field, 24, ""},
+ {"HTTP2Config.MaxReceiveBufferPerStream", Field, 24, ""},
+ {"HTTP2Config.PermitProhibitedCipherSuites", Field, 24, ""},
+ {"HTTP2Config.PingTimeout", Field, 24, ""},
+ {"HTTP2Config.SendPingTimeout", Field, 24, ""},
+ {"HTTP2Config.WriteByteTimeout", Field, 24, ""},
+ {"Handle", Func, 0, "func(pattern string, handler Handler)"},
+ {"HandleFunc", Func, 0, "func(pattern string, handler func(ResponseWriter, *Request))"},
+ {"Handler", Type, 0, ""},
+ {"HandlerFunc", Type, 0, ""},
+ {"Head", Func, 0, "func(url string) (resp *Response, err error)"},
+ {"Header", Type, 0, ""},
+ {"Hijacker", Type, 0, ""},
+ {"ListenAndServe", Func, 0, "func(addr string, handler Handler) error"},
+ {"ListenAndServeTLS", Func, 0, "func(addr string, certFile string, keyFile string, handler Handler) error"},
+ {"LocalAddrContextKey", Var, 7, ""},
+ {"MaxBytesError", Type, 19, ""},
+ {"MaxBytesError.Limit", Field, 19, ""},
+ {"MaxBytesHandler", Func, 18, "func(h Handler, n int64) Handler"},
+ {"MaxBytesReader", Func, 0, "func(w ResponseWriter, r io.ReadCloser, n int64) io.ReadCloser"},
+ {"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, "func(fs FileSystem) RoundTripper"},
+ {"NewFileTransportFS", Func, 22, "func(fsys fs.FS) RoundTripper"},
+ {"NewRequest", Func, 0, "func(method string, url string, body io.Reader) (*Request, error)"},
+ {"NewRequestWithContext", Func, 13, "func(ctx context.Context, method string, url string, body io.Reader) (*Request, error)"},
+ {"NewResponseController", Func, 20, "func(rw ResponseWriter) *ResponseController"},
+ {"NewServeMux", Func, 0, "func() *ServeMux"},
+ {"NoBody", Var, 8, ""},
+ {"NotFound", Func, 0, "func(w ResponseWriter, r *Request)"},
+ {"NotFoundHandler", Func, 0, "func() Handler"},
+ {"ParseCookie", Func, 23, "func(line string) ([]*Cookie, error)"},
+ {"ParseHTTPVersion", Func, 0, "func(vers string) (major int, minor int, ok bool)"},
+ {"ParseSetCookie", Func, 23, "func(line string) (*Cookie, error)"},
+ {"ParseTime", Func, 1, "func(text string) (t time.Time, err error)"},
+ {"Post", Func, 0, "func(url string, contentType string, body io.Reader) (resp *Response, err error)"},
+ {"PostForm", Func, 0, "func(url string, data url.Values) (resp *Response, err error)"},
+ {"ProtocolError", Type, 0, ""},
+ {"ProtocolError.ErrorString", Field, 0, ""},
+ {"Protocols", Type, 24, ""},
+ {"ProxyFromEnvironment", Func, 0, "func(req *Request) (*url.URL, error)"},
+ {"ProxyURL", Func, 0, "func(fixedURL *url.URL) func(*Request) (*url.URL, error)"},
+ {"PushOptions", Type, 8, ""},
+ {"PushOptions.Header", Field, 8, ""},
+ {"PushOptions.Method", Field, 8, ""},
+ {"Pusher", Type, 8, ""},
+ {"ReadRequest", Func, 0, "func(b *bufio.Reader) (*Request, error)"},
+ {"ReadResponse", Func, 0, "func(r *bufio.Reader, req *Request) (*Response, error)"},
+ {"Redirect", Func, 0, "func(w ResponseWriter, r *Request, url string, code int)"},
+ {"RedirectHandler", Func, 0, "func(url string, code int) Handler"},
+ {"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, "func(l net.Listener, handler Handler) error"},
+ {"ServeContent", Func, 0, "func(w ResponseWriter, req *Request, name string, modtime time.Time, content io.ReadSeeker)"},
+ {"ServeFile", Func, 0, "func(w ResponseWriter, r *Request, name string)"},
+ {"ServeFileFS", Func, 22, "func(w ResponseWriter, r *Request, fsys fs.FS, name string)"},
+ {"ServeMux", Type, 0, ""},
+ {"ServeTLS", Func, 9, "func(l net.Listener, handler Handler, certFile string, keyFile string) error"},
+ {"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.HTTP2", Field, 24, ""},
+ {"Server.Handler", Field, 0, ""},
+ {"Server.IdleTimeout", Field, 8, ""},
+ {"Server.MaxHeaderBytes", Field, 0, ""},
+ {"Server.Protocols", Field, 24, ""},
+ {"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, "func(w ResponseWriter, cookie *Cookie)"},
+ {"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, "func(code int) string"},
+ {"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, "func(prefix string, h Handler) Handler"},
+ {"TimeFormat", Const, 0, ""},
+ {"TimeoutHandler", Func, 0, "func(h Handler, dt time.Duration, msg string) Handler"},
+ {"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.HTTP2", Field, 24, ""},
+ {"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.Protocols", Field, 24, ""},
+ {"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},
+ {"(*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, "func() (*http.Request, error)"},
+ {"RequestFromMap", Func, 0, "func(params map[string]string) (*http.Request, error)"},
+ {"Serve", Func, 0, "func(handler http.Handler) error"},
},
"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},
+ {"(*Jar).Cookies", Method, 1, ""},
+ {"(*Jar).SetCookies", Method, 1, ""},
+ {"Jar", Type, 1, ""},
+ {"New", Func, 1, "func(o *Options) (*Jar, error)"},
+ {"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},
+ {"ErrConnClosed", Var, 5, ""},
+ {"ErrRequestAborted", Var, 5, ""},
+ {"ProcessEnv", Func, 9, "func(r *http.Request) map[string]string"},
+ {"Serve", Func, 0, "func(l net.Listener, handler http.Handler) error"},
},
"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},
+ {"(*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, "func() *ResponseRecorder"},
+ {"NewRequest", Func, 7, "func(method string, target string, body io.Reader) *http.Request"},
+ {"NewRequestWithContext", Func, 23, "func(ctx context.Context, method string, target string, body io.Reader) *http.Request"},
+ {"NewServer", Func, 0, "func(handler http.Handler) *Server"},
+ {"NewTLSServer", Func, 0, "func(handler http.Handler) *Server"},
+ {"NewUnstartedServer", Func, 0, "func(handler http.Handler) *Server"},
+ {"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},
+ {"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, "func(ctx context.Context) *ClientTrace"},
+ {"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, "func(ctx context.Context, trace *ClientTrace) context.Context"},
+ {"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},
+ {"(*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, "func(req *http.Request, body bool) ([]byte, error)"},
+ {"DumpRequestOut", Func, 0, "func(req *http.Request, body bool) ([]byte, error)"},
+ {"DumpResponse", Func, 0, "func(resp *http.Response, body bool) ([]byte, error)"},
+ {"ErrClosed", Var, 0, ""},
+ {"ErrLineTooLong", Var, 0, ""},
+ {"ErrPersistEOF", Var, 0, ""},
+ {"ErrPipeline", Var, 0, ""},
+ {"NewChunkedReader", Func, 0, "func(r io.Reader) io.Reader"},
+ {"NewChunkedWriter", Func, 0, "func(w io.Writer) io.WriteCloser"},
+ {"NewClientConn", Func, 0, "func(c net.Conn, r *bufio.Reader) *ClientConn"},
+ {"NewProxyClientConn", Func, 0, "func(c net.Conn, r *bufio.Reader) *ClientConn"},
+ {"NewServerConn", Func, 0, "func(c net.Conn, r *bufio.Reader) *ServerConn"},
+ {"NewSingleHostReverseProxy", Func, 0, "func(target *url.URL) *ReverseProxy"},
+ {"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},
+ {"Cmdline", Func, 0, "func(w http.ResponseWriter, r *http.Request)"},
+ {"Handler", Func, 0, "func(name string) http.Handler"},
+ {"Index", Func, 0, "func(w http.ResponseWriter, r *http.Request)"},
+ {"Profile", Func, 0, "func(w http.ResponseWriter, r *http.Request)"},
+ {"Symbol", Func, 0, "func(w http.ResponseWriter, r *http.Request)"},
+ {"Trace", Func, 5, "func(w http.ResponseWriter, r *http.Request)"},
},
"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},
+ {"(*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, "func(address string) (*Address, error)"},
+ {"ParseAddressList", Func, 1, "func(list string) ([]*Address, error)"},
+ {"ParseDate", Func, 8, "func(date string) (time.Time, error)"},
+ {"ReadMessage", Func, 0, "func(r io.Reader) (msg *Message, err error)"},
},
"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).AppendBinary", Method, 24},
- {"(Addr).AppendText", Method, 24},
- {"(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).AppendBinary", Method, 24},
- {"(AddrPort).AppendText", Method, 24},
- {"(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).AppendBinary", Method, 24},
- {"(Prefix).AppendText", Method, 24},
- {"(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},
+ {"(*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).AppendBinary", Method, 24, ""},
+ {"(Addr).AppendText", Method, 24, ""},
+ {"(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).AppendBinary", Method, 24, ""},
+ {"(AddrPort).AppendText", Method, 24, ""},
+ {"(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).AppendBinary", Method, 24, ""},
+ {"(Prefix).AppendText", Method, 24, ""},
+ {"(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, "func(addr [16]byte) Addr"},
+ {"AddrFrom4", Func, 18, "func(addr [4]byte) Addr"},
+ {"AddrFromSlice", Func, 18, "func(slice []byte) (ip Addr, ok bool)"},
+ {"AddrPort", Type, 18, ""},
+ {"AddrPortFrom", Func, 18, "func(ip Addr, port uint16) AddrPort"},
+ {"IPv4Unspecified", Func, 18, "func() Addr"},
+ {"IPv6LinkLocalAllNodes", Func, 18, "func() Addr"},
+ {"IPv6LinkLocalAllRouters", Func, 20, "func() Addr"},
+ {"IPv6Loopback", Func, 20, "func() Addr"},
+ {"IPv6Unspecified", Func, 18, "func() Addr"},
+ {"MustParseAddr", Func, 18, "func(s string) Addr"},
+ {"MustParseAddrPort", Func, 18, "func(s string) AddrPort"},
+ {"MustParsePrefix", Func, 18, "func(s string) Prefix"},
+ {"ParseAddr", Func, 18, "func(s string) (Addr, error)"},
+ {"ParseAddrPort", Func, 18, "func(s string) (AddrPort, error)"},
+ {"ParsePrefix", Func, 18, "func(s string) (Prefix, error)"},
+ {"Prefix", Type, 18, ""},
+ {"PrefixFrom", Func, 18, "func(ip Addr, bits int) Prefix"},
},
"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},
+ {"(*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, "func(lis net.Listener)"},
+ {"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, "func(network string, address string) (*Client, error)"},
+ {"DialHTTP", Func, 0, "func(network string, address string) (*Client, error)"},
+ {"DialHTTPPath", Func, 0, "func(network string, address string, path string) (*Client, error)"},
+ {"ErrShutdown", Var, 0, ""},
+ {"HandleHTTP", Func, 0, "func()"},
+ {"NewClient", Func, 0, "func(conn io.ReadWriteCloser) *Client"},
+ {"NewClientWithCodec", Func, 0, "func(codec ClientCodec) *Client"},
+ {"NewServer", Func, 0, "func() *Server"},
+ {"Register", Func, 0, "func(rcvr any) error"},
+ {"RegisterName", Func, 0, "func(name string, rcvr any) error"},
+ {"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, "func(codec ServerCodec)"},
+ {"ServeConn", Func, 0, "func(conn io.ReadWriteCloser)"},
+ {"ServeRequest", Func, 0, "func(codec ServerCodec) error"},
+ {"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},
+ {"Dial", Func, 0, "func(network string, address string) (*rpc.Client, error)"},
+ {"NewClient", Func, 0, "func(conn io.ReadWriteCloser) *rpc.Client"},
+ {"NewClientCodec", Func, 0, "func(conn io.ReadWriteCloser) rpc.ClientCodec"},
+ {"NewServerCodec", Func, 0, "func(conn io.ReadWriteCloser) rpc.ServerCodec"},
+ {"ServeConn", Func, 0, "func(conn io.ReadWriteCloser)"},
},
"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},
+ {"(*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, "func(username string, secret string) Auth"},
+ {"Client", Type, 0, ""},
+ {"Client.Text", Field, 0, ""},
+ {"Dial", Func, 0, "func(addr string) (*Client, error)"},
+ {"NewClient", Func, 0, "func(conn net.Conn, host string) (*Client, error)"},
+ {"PlainAuth", Func, 0, "func(identity string, username string, password string, host string) Auth"},
+ {"SendMail", Func, 0, "func(addr string, a Auth, from string, to []string, msg []byte) error"},
+ {"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},
+ {"(*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, "func(s string) string"},
+ {"Conn", Type, 0, ""},
+ {"Conn.Pipeline", Field, 0, ""},
+ {"Conn.Reader", Field, 0, ""},
+ {"Conn.Writer", Field, 0, ""},
+ {"Dial", Func, 0, "func(network string, addr string) (*Conn, error)"},
+ {"Error", Type, 0, ""},
+ {"Error.Code", Field, 0, ""},
+ {"Error.Msg", Field, 0, ""},
+ {"MIMEHeader", Type, 0, ""},
+ {"NewConn", Func, 0, "func(conn io.ReadWriteCloser) *Conn"},
+ {"NewReader", Func, 0, "func(r *bufio.Reader) *Reader"},
+ {"NewWriter", Func, 0, "func(w *bufio.Writer) *Writer"},
+ {"Pipeline", Type, 0, ""},
+ {"ProtocolError", Type, 0, ""},
+ {"Reader", Type, 0, ""},
+ {"Reader.R", Field, 0, ""},
+ {"TrimBytes", Func, 1, "func(b []byte) []byte"},
+ {"TrimString", Func, 1, "func(s string) string"},
+ {"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).AppendBinary", Method, 24},
- {"(*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},
+ {"(*Error).Error", Method, 0, ""},
+ {"(*Error).Temporary", Method, 6, ""},
+ {"(*Error).Timeout", Method, 6, ""},
+ {"(*Error).Unwrap", Method, 13, ""},
+ {"(*URL).AppendBinary", Method, 24, ""},
+ {"(*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, "func(base string, elem ...string) (result string, err error)"},
+ {"Parse", Func, 0, "func(rawURL string) (*URL, error)"},
+ {"ParseQuery", Func, 0, "func(query string) (Values, error)"},
+ {"ParseRequestURI", Func, 0, "func(rawURL string) (*URL, error)"},
+ {"PathEscape", Func, 8, "func(s string) string"},
+ {"PathUnescape", Func, 8, "func(s string) (string, error)"},
+ {"QueryEscape", Func, 0, "func(s string) string"},
+ {"QueryUnescape", Func, 0, "func(s string) (string, error)"},
+ {"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, "func(username string) *Userinfo"},
+ {"UserPassword", Func, 0, "func(username string, password string) *Userinfo"},
+ {"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},
- {"(*Root).Close", Method, 24},
- {"(*Root).Create", Method, 24},
- {"(*Root).FS", Method, 24},
- {"(*Root).Lstat", Method, 24},
- {"(*Root).Mkdir", Method, 24},
- {"(*Root).Name", Method, 24},
- {"(*Root).Open", Method, 24},
- {"(*Root).OpenFile", Method, 24},
- {"(*Root).OpenRoot", Method, 24},
- {"(*Root).Remove", Method, 24},
- {"(*Root).Stat", Method, 24},
- {"(*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},
- {"OpenInRoot", Func, 24},
- {"OpenRoot", Func, 24},
- {"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},
- {"Root", Type, 24},
- {"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},
+ {"(*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, ""},
+ {"(*Root).Chmod", Method, 25, ""},
+ {"(*Root).Chown", Method, 25, ""},
+ {"(*Root).Chtimes", Method, 25, ""},
+ {"(*Root).Close", Method, 24, ""},
+ {"(*Root).Create", Method, 24, ""},
+ {"(*Root).FS", Method, 24, ""},
+ {"(*Root).Lchown", Method, 25, ""},
+ {"(*Root).Link", Method, 25, ""},
+ {"(*Root).Lstat", Method, 24, ""},
+ {"(*Root).Mkdir", Method, 24, ""},
+ {"(*Root).Name", Method, 24, ""},
+ {"(*Root).Open", Method, 24, ""},
+ {"(*Root).OpenFile", Method, 24, ""},
+ {"(*Root).OpenRoot", Method, 24, ""},
+ {"(*Root).Readlink", Method, 25, ""},
+ {"(*Root).Remove", Method, 24, ""},
+ {"(*Root).Rename", Method, 25, ""},
+ {"(*Root).Stat", Method, 24, ""},
+ {"(*Root).Symlink", Method, 25, ""},
+ {"(*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, "func(dir string) error"},
+ {"Chmod", Func, 0, "func(name string, mode FileMode) error"},
+ {"Chown", Func, 0, "func(name string, uid int, gid int) error"},
+ {"Chtimes", Func, 0, "func(name string, atime time.Time, mtime time.Time) error"},
+ {"Clearenv", Func, 0, "func()"},
+ {"CopyFS", Func, 23, "func(dir string, fsys fs.FS) error"},
+ {"Create", Func, 0, "func(name string) (*File, error)"},
+ {"CreateTemp", Func, 16, "func(dir string, pattern string) (*File, error)"},
+ {"DevNull", Const, 0, ""},
+ {"DirEntry", Type, 16, ""},
+ {"DirFS", Func, 16, "func(dir string) fs.FS"},
+ {"Environ", Func, 0, "func() []string"},
+ {"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, "func() (string, error)"},
+ {"Exit", Func, 0, "func(code int)"},
+ {"Expand", Func, 0, "func(s string, mapping func(string) string) string"},
+ {"ExpandEnv", Func, 0, "func(s string) string"},
+ {"File", Type, 0, ""},
+ {"FileInfo", Type, 0, ""},
+ {"FileMode", Type, 0, ""},
+ {"FindProcess", Func, 0, "func(pid int) (*Process, error)"},
+ {"Getegid", Func, 0, "func() int"},
+ {"Getenv", Func, 0, "func(key string) string"},
+ {"Geteuid", Func, 0, "func() int"},
+ {"Getgid", Func, 0, "func() int"},
+ {"Getgroups", Func, 0, "func() ([]int, error)"},
+ {"Getpagesize", Func, 0, "func() int"},
+ {"Getpid", Func, 0, "func() int"},
+ {"Getppid", Func, 0, "func() int"},
+ {"Getuid", Func, 0, "func() int"},
+ {"Getwd", Func, 0, "func() (dir string, err error)"},
+ {"Hostname", Func, 0, "func() (name string, err error)"},
+ {"Interrupt", Var, 0, ""},
+ {"IsExist", Func, 0, "func(err error) bool"},
+ {"IsNotExist", Func, 0, "func(err error) bool"},
+ {"IsPathSeparator", Func, 0, "func(c uint8) bool"},
+ {"IsPermission", Func, 0, "func(err error) bool"},
+ {"IsTimeout", Func, 10, "func(err error) bool"},
+ {"Kill", Var, 0, ""},
+ {"Lchown", Func, 0, "func(name string, uid int, gid int) error"},
+ {"Link", Func, 0, "func(oldname string, newname string) error"},
+ {"LinkError", Type, 0, ""},
+ {"LinkError.Err", Field, 0, ""},
+ {"LinkError.New", Field, 0, ""},
+ {"LinkError.Old", Field, 0, ""},
+ {"LinkError.Op", Field, 0, ""},
+ {"LookupEnv", Func, 5, "func(key string) (string, bool)"},
+ {"Lstat", Func, 0, "func(name string) (FileInfo, error)"},
+ {"Mkdir", Func, 0, "func(name string, perm FileMode) error"},
+ {"MkdirAll", Func, 0, "func(path string, perm FileMode) error"},
+ {"MkdirTemp", Func, 16, "func(dir string, pattern string) (string, error)"},
+ {"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, "func(fd uintptr, name string) *File"},
+ {"NewSyscallError", Func, 0, "func(syscall string, err error) error"},
+ {"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, "func(name string) (*File, error)"},
+ {"OpenFile", Func, 0, "func(name string, flag int, perm FileMode) (*File, error)"},
+ {"OpenInRoot", Func, 24, "func(dir string, name string) (*File, error)"},
+ {"OpenRoot", Func, 24, "func(name string) (*Root, error)"},
+ {"PathError", Type, 0, ""},
+ {"PathError.Err", Field, 0, ""},
+ {"PathError.Op", Field, 0, ""},
+ {"PathError.Path", Field, 0, ""},
+ {"PathListSeparator", Const, 0, ""},
+ {"PathSeparator", Const, 0, ""},
+ {"Pipe", Func, 0, "func() (r *File, w *File, err error)"},
+ {"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, "func(name string) ([]DirEntry, error)"},
+ {"ReadFile", Func, 16, "func(name string) ([]byte, error)"},
+ {"Readlink", Func, 0, "func(name string) (string, error)"},
+ {"Remove", Func, 0, "func(name string) error"},
+ {"RemoveAll", Func, 0, "func(path string) error"},
+ {"Rename", Func, 0, "func(oldpath string, newpath string) error"},
+ {"Root", Type, 24, ""},
+ {"SEEK_CUR", Const, 0, ""},
+ {"SEEK_END", Const, 0, ""},
+ {"SEEK_SET", Const, 0, ""},
+ {"SameFile", Func, 0, "func(fi1 FileInfo, fi2 FileInfo) bool"},
+ {"Setenv", Func, 0, "func(key string, value string) error"},
+ {"Signal", Type, 0, ""},
+ {"StartProcess", Func, 0, "func(name string, argv []string, attr *ProcAttr) (*Process, error)"},
+ {"Stat", Func, 0, "func(name string) (FileInfo, error)"},
+ {"Stderr", Var, 0, ""},
+ {"Stdin", Var, 0, ""},
+ {"Stdout", Var, 0, ""},
+ {"Symlink", Func, 0, "func(oldname string, newname string) error"},
+ {"SyscallError", Type, 0, ""},
+ {"SyscallError.Err", Field, 0, ""},
+ {"SyscallError.Syscall", Field, 0, ""},
+ {"TempDir", Func, 0, "func() string"},
+ {"Truncate", Func, 0, "func(name string, size int64) error"},
+ {"Unsetenv", Func, 4, "func(key string) error"},
+ {"UserCacheDir", Func, 11, "func() (string, error)"},
+ {"UserConfigDir", Func, 13, "func() (string, error)"},
+ {"UserHomeDir", Func, 12, "func() (string, error)"},
+ {"WriteFile", Func, 16, "func(name string, data []byte, perm FileMode) error"},
},
"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},
+ {"(*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, "func(name string, arg ...string) *Cmd"},
+ {"CommandContext", Func, 7, "func(ctx context.Context, name string, arg ...string) *Cmd"},
+ {"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, "func(file string) (string, error)"},
},
"os/signal": {
- {"Ignore", Func, 5},
- {"Ignored", Func, 11},
- {"Notify", Func, 0},
- {"NotifyContext", Func, 16},
- {"Reset", Func, 5},
- {"Stop", Func, 1},
+ {"Ignore", Func, 5, "func(sig ...os.Signal)"},
+ {"Ignored", Func, 11, "func(sig os.Signal) bool"},
+ {"Notify", Func, 0, "func(c chan<- os.Signal, sig ...os.Signal)"},
+ {"NotifyContext", Func, 16, "func(parent context.Context, signals ...os.Signal) (ctx context.Context, stop context.CancelFunc)"},
+ {"Reset", Func, 5, "func(sig ...os.Signal)"},
+ {"Stop", Func, 1, "func(c chan<- os.Signal)"},
},
"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},
+ {"(*User).GroupIds", Method, 7, ""},
+ {"(UnknownGroupError).Error", Method, 7, ""},
+ {"(UnknownGroupIdError).Error", Method, 7, ""},
+ {"(UnknownUserError).Error", Method, 0, ""},
+ {"(UnknownUserIdError).Error", Method, 0, ""},
+ {"Current", Func, 0, "func() (*User, error)"},
+ {"Group", Type, 7, ""},
+ {"Group.Gid", Field, 7, ""},
+ {"Group.Name", Field, 7, ""},
+ {"Lookup", Func, 0, "func(username string) (*User, error)"},
+ {"LookupGroup", Func, 7, "func(name string) (*Group, error)"},
+ {"LookupGroupId", Func, 7, "func(gid string) (*Group, error)"},
+ {"LookupId", Func, 0, "func(uid string) (*User, error)"},
+ {"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},
+ {"Base", Func, 0, "func(path string) string"},
+ {"Clean", Func, 0, "func(path string) string"},
+ {"Dir", Func, 0, "func(path string) string"},
+ {"ErrBadPattern", Var, 0, ""},
+ {"Ext", Func, 0, "func(path string) string"},
+ {"IsAbs", Func, 0, "func(path string) bool"},
+ {"Join", Func, 0, "func(elem ...string) string"},
+ {"Match", Func, 0, "func(pattern string, name string) (matched bool, err error)"},
+ {"Split", Func, 0, "func(path string) (dir string, file string)"},
},
"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},
+ {"Abs", Func, 0, "func(path string) (string, error)"},
+ {"Base", Func, 0, "func(path string) string"},
+ {"Clean", Func, 0, "func(path string) string"},
+ {"Dir", Func, 0, "func(path string) string"},
+ {"ErrBadPattern", Var, 0, ""},
+ {"EvalSymlinks", Func, 0, "func(path string) (string, error)"},
+ {"Ext", Func, 0, "func(path string) string"},
+ {"FromSlash", Func, 0, "func(path string) string"},
+ {"Glob", Func, 0, "func(pattern string) (matches []string, err error)"},
+ {"HasPrefix", Func, 0, "func(p string, prefix string) bool"},
+ {"IsAbs", Func, 0, "func(path string) bool"},
+ {"IsLocal", Func, 20, "func(path string) bool"},
+ {"Join", Func, 0, "func(elem ...string) string"},
+ {"ListSeparator", Const, 0, ""},
+ {"Localize", Func, 23, "func(path string) (string, error)"},
+ {"Match", Func, 0, "func(pattern string, name string) (matched bool, err error)"},
+ {"Rel", Func, 0, "func(basepath string, targpath string) (string, error)"},
+ {"Separator", Const, 0, ""},
+ {"SkipAll", Var, 20, ""},
+ {"SkipDir", Var, 0, ""},
+ {"Split", Func, 0, "func(path string) (dir string, file string)"},
+ {"SplitList", Func, 0, "func(path string) []string"},
+ {"ToSlash", Func, 0, "func(path string) string"},
+ {"VolumeName", Func, 0, "func(path string) string"},
+ {"Walk", Func, 0, "func(root string, fn WalkFunc) error"},
+ {"WalkDir", Func, 16, "func(root string, fn fs.WalkDirFunc) error"},
+ {"WalkFunc", Type, 0, ""},
},
"plugin": {
- {"(*Plugin).Lookup", Method, 8},
- {"Open", Func, 8},
- {"Plugin", Type, 8},
- {"Symbol", Type, 8},
+ {"(*Plugin).Lookup", Method, 8, ""},
+ {"Open", Func, 8, "func(path string) (*Plugin, error)"},
+ {"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},
+ {"(*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, "func(s Value, x ...Value) Value"},
+ {"AppendSlice", Func, 0, "func(s Value, t Value) Value"},
+ {"Array", Const, 0, ""},
+ {"ArrayOf", Func, 5, "func(length int, elem Type) Type"},
+ {"Bool", Const, 0, ""},
+ {"BothDir", Const, 0, ""},
+ {"Chan", Const, 0, ""},
+ {"ChanDir", Type, 0, ""},
+ {"ChanOf", Func, 1, "func(dir ChanDir, t Type) Type"},
+ {"Complex128", Const, 0, ""},
+ {"Complex64", Const, 0, ""},
+ {"Copy", Func, 0, "func(dst Value, src Value) int"},
+ {"DeepEqual", Func, 0, "func(x any, y any) bool"},
+ {"Float32", Const, 0, ""},
+ {"Float64", Const, 0, ""},
+ {"Func", Const, 0, ""},
+ {"FuncOf", Func, 5, "func(in []Type, out []Type, variadic bool) Type"},
+ {"Indirect", Func, 0, "func(v Value) Value"},
+ {"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, "func(typ Type, buffer int) Value"},
+ {"MakeFunc", Func, 1, "func(typ Type, fn func(args []Value) (results []Value)) Value"},
+ {"MakeMap", Func, 0, "func(typ Type) Value"},
+ {"MakeMapWithSize", Func, 9, "func(typ Type, n int) Value"},
+ {"MakeSlice", Func, 0, "func(typ Type, len int, cap int) Value"},
+ {"Map", Const, 0, ""},
+ {"MapIter", Type, 12, ""},
+ {"MapOf", Func, 1, "func(key Type, elem Type) Type"},
+ {"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, "func(typ Type) Value"},
+ {"NewAt", Func, 0, "func(typ Type, p unsafe.Pointer) Value"},
+ {"Pointer", Const, 18, ""},
+ {"PointerTo", Func, 18, "func(t Type) Type"},
+ {"Ptr", Const, 0, ""},
+ {"PtrTo", Func, 0, "func(t Type) Type"},
+ {"RecvDir", Const, 0, ""},
+ {"Select", Func, 1, "func(cases []SelectCase) (chosen int, recv Value, recvOK bool)"},
+ {"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, "func(typ Type, p unsafe.Pointer, n int) Value"},
+ {"SliceHeader", Type, 0, ""},
+ {"SliceHeader.Cap", Field, 0, ""},
+ {"SliceHeader.Data", Field, 0, ""},
+ {"SliceHeader.Len", Field, 0, ""},
+ {"SliceOf", Func, 1, "func(t Type) Type"},
+ {"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, "func(fields []StructField) Type"},
+ {"StructTag", Type, 0, ""},
+ {"Swapper", Func, 8, "func(slice any) func(i int, j int)"},
+ {"Type", Type, 0, ""},
+ {"TypeFor", Func, 22, "func[T any]() Type"},
+ {"TypeOf", Func, 0, "func(i any) Type"},
+ {"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, "func(i any) Value"},
+ {"VisibleFields", Func, 17, "func(t Type) []StructField"},
+ {"Zero", Func, 0, "func(typ Type) Value"},
},
"regexp": {
- {"(*Regexp).AppendText", Method, 24},
- {"(*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).AppendText", Method, 24, ""},
+ {"(*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, "func(expr string) (*Regexp, error)"},
+ {"CompilePOSIX", Func, 0, "func(expr string) (*Regexp, error)"},
+ {"Match", Func, 0, "func(pattern string, b []byte) (matched bool, err error)"},
+ {"MatchReader", Func, 0, "func(pattern string, r io.RuneReader) (matched bool, err error)"},
+ {"MatchString", Func, 0, "func(pattern string, s string) (matched bool, err error)"},
+ {"MustCompile", Func, 0, "func(str string) *Regexp"},
+ {"MustCompilePOSIX", Func, 0, "func(str string) *Regexp"},
+ {"QuoteMeta", Func, 0, "func(s string) string"},
+ {"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},
+ {"(*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, "func(re *Regexp) (*Prog, error)"},
+ {"DotNL", Const, 0, ""},
+ {"EmptyBeginLine", Const, 0, ""},
+ {"EmptyBeginText", Const, 0, ""},
+ {"EmptyEndLine", Const, 0, ""},
+ {"EmptyEndText", Const, 0, ""},
+ {"EmptyNoWordBoundary", Const, 0, ""},
+ {"EmptyOp", Type, 0, ""},
+ {"EmptyOpContext", Func, 0, "func(r1 rune, r2 rune) EmptyOp"},
+ {"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, "func(r rune) bool"},
+ {"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, "func(s string, flags Flags) (*Regexp, error)"},
+ {"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},
- {"(Cleanup).Stop", Method, 24},
- {"AddCleanup", Func, 24},
- {"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},
- {"Cleanup", Type, 24},
- {"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},
+ {"(*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, ""},
+ {"(Cleanup).Stop", Method, 24, ""},
+ {"AddCleanup", Func, 24, "func[T, S any](ptr *T, cleanup func(S), arg S) Cleanup"},
+ {"BlockProfile", Func, 1, "func(p []BlockProfileRecord) (n int, ok bool)"},
+ {"BlockProfileRecord", Type, 1, ""},
+ {"BlockProfileRecord.Count", Field, 1, ""},
+ {"BlockProfileRecord.Cycles", Field, 1, ""},
+ {"BlockProfileRecord.StackRecord", Field, 1, ""},
+ {"Breakpoint", Func, 0, "func()"},
+ {"CPUProfile", Func, 0, "func() []byte"},
+ {"Caller", Func, 0, "func(skip int) (pc uintptr, file string, line int, ok bool)"},
+ {"Callers", Func, 0, "func(skip int, pc []uintptr) int"},
+ {"CallersFrames", Func, 7, "func(callers []uintptr) *Frames"},
+ {"Cleanup", Type, 24, ""},
+ {"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, "func(pc uintptr) *Func"},
+ {"GC", Func, 0, "func()"},
+ {"GOARCH", Const, 0, ""},
+ {"GOMAXPROCS", Func, 0, "func(n int) int"},
+ {"GOOS", Const, 0, ""},
+ {"GOROOT", Func, 0, "func() string"},
+ {"Goexit", Func, 0, "func()"},
+ {"GoroutineProfile", Func, 0, "func(p []StackRecord) (n int, ok bool)"},
+ {"Gosched", Func, 0, "func()"},
+ {"KeepAlive", Func, 7, "func(x any)"},
+ {"LockOSThread", Func, 0, "func()"},
+ {"MemProfile", Func, 0, "func(p []MemProfileRecord, inuseZero bool) (n int, ok bool)"},
+ {"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, "func(p []BlockProfileRecord) (n int, ok bool)"},
+ {"NumCPU", Func, 0, "func() int"},
+ {"NumCgoCall", Func, 0, "func() int64"},
+ {"NumGoroutine", Func, 0, "func() int"},
+ {"PanicNilError", Type, 21, ""},
+ {"Pinner", Type, 21, ""},
+ {"ReadMemStats", Func, 0, "func(m *MemStats)"},
+ {"ReadTrace", Func, 5, "func() []byte"},
+ {"SetBlockProfileRate", Func, 1, "func(rate int)"},
+ {"SetCPUProfileRate", Func, 0, "func(hz int)"},
+ {"SetCgoTraceback", Func, 7, "func(version int, traceback unsafe.Pointer, context unsafe.Pointer, symbolizer unsafe.Pointer)"},
+ {"SetFinalizer", Func, 0, "func(obj any, finalizer any)"},
+ {"SetMutexProfileFraction", Func, 8, "func(rate int) int"},
+ {"Stack", Func, 0, "func(buf []byte, all bool) int"},
+ {"StackRecord", Type, 0, ""},
+ {"StackRecord.Stack0", Field, 0, ""},
+ {"StartTrace", Func, 5, "func() error"},
+ {"StopTrace", Func, 5, "func()"},
+ {"ThreadCreateProfile", Func, 0, "func(p []StackRecord) (n int, ok bool)"},
+ {"TypeAssertionError", Type, 0, ""},
+ {"UnlockOSThread", Func, 0, "func()"},
+ {"Version", Func, 0, "func() string"},
},
"runtime/cgo": {
- {"(Handle).Delete", Method, 17},
- {"(Handle).Value", Method, 17},
- {"Handle", Type, 17},
- {"Incomplete", Type, 20},
- {"NewHandle", Func, 17},
+ {"(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},
+ {"ClearCounters", Func, 20, "func() error"},
+ {"WriteCounters", Func, 20, "func(w io.Writer) error"},
+ {"WriteCountersDir", Func, 20, "func(dir string) error"},
+ {"WriteMeta", Func, 20, "func(w io.Writer) error"},
+ {"WriteMetaDir", Func, 20, "func(dir string) error"},
},
"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},
+ {"(*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, "func()"},
+ {"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, "func(data string) (bi *BuildInfo, err error)"},
+ {"PrintStack", Func, 0, "func()"},
+ {"ReadBuildInfo", Func, 12, "func() (info *BuildInfo, ok bool)"},
+ {"ReadGCStats", Func, 1, "func(stats *GCStats)"},
+ {"SetCrashOutput", Func, 23, "func(f *os.File, opts CrashOptions) error"},
+ {"SetGCPercent", Func, 1, "func(percent int) int"},
+ {"SetMaxStack", Func, 2, "func(bytes int) int"},
+ {"SetMaxThreads", Func, 2, "func(threads int) int"},
+ {"SetMemoryLimit", Func, 19, "func(limit int64) int64"},
+ {"SetPanicOnFault", Func, 3, "func(enabled bool) bool"},
+ {"SetTraceback", Func, 6, "func(level string)"},
+ {"Stack", Func, 0, "func() []byte"},
+ {"WriteHeapDump", Func, 3, "func(fd uintptr)"},
},
"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},
+ {"(Value).Float64", Method, 16, ""},
+ {"(Value).Float64Histogram", Method, 16, ""},
+ {"(Value).Kind", Method, 16, ""},
+ {"(Value).Uint64", Method, 16, ""},
+ {"All", Func, 16, "func() []Description"},
+ {"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, "func(m []Sample)"},
+ {"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},
+ {"(*Profile).Add", Method, 0, ""},
+ {"(*Profile).Count", Method, 0, ""},
+ {"(*Profile).Name", Method, 0, ""},
+ {"(*Profile).Remove", Method, 0, ""},
+ {"(*Profile).WriteTo", Method, 0, ""},
+ {"Do", Func, 9, "func(ctx context.Context, labels LabelSet, f func(context.Context))"},
+ {"ForLabels", Func, 9, "func(ctx context.Context, f func(key string, value string) bool)"},
+ {"Label", Func, 9, "func(ctx context.Context, key string) (string, bool)"},
+ {"LabelSet", Type, 9, ""},
+ {"Labels", Func, 9, "func(args ...string) LabelSet"},
+ {"Lookup", Func, 0, "func(name string) *Profile"},
+ {"NewProfile", Func, 0, "func(name string) *Profile"},
+ {"Profile", Type, 0, ""},
+ {"Profiles", Func, 0, "func() []*Profile"},
+ {"SetGoroutineLabels", Func, 9, "func(ctx context.Context)"},
+ {"StartCPUProfile", Func, 0, "func(w io.Writer) error"},
+ {"StopCPUProfile", Func, 0, "func()"},
+ {"WithLabels", Func, 9, "func(ctx context.Context, labels LabelSet) context.Context"},
+ {"WriteHeapProfile", Func, 0, "func(w io.Writer) error"},
},
"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},
+ {"(*Region).End", Method, 11, ""},
+ {"(*Task).End", Method, 11, ""},
+ {"IsEnabled", Func, 11, "func() bool"},
+ {"Log", Func, 11, "func(ctx context.Context, category string, message string)"},
+ {"Logf", Func, 11, "func(ctx context.Context, category string, format string, args ...any)"},
+ {"NewTask", Func, 11, "func(pctx context.Context, taskType string) (ctx context.Context, task *Task)"},
+ {"Region", Type, 11, ""},
+ {"Start", Func, 5, "func(w io.Writer) error"},
+ {"StartRegion", Func, 11, "func(ctx context.Context, regionType string) *Region"},
+ {"Stop", Func, 5, "func()"},
+ {"Task", Type, 11, ""},
+ {"WithRegion", Func, 11, "func(ctx context.Context, regionType string, fn func())"},
},
"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},
+ {"All", Func, 23, "func[Slice ~[]E, E any](s Slice) iter.Seq2[int, E]"},
+ {"AppendSeq", Func, 23, "func[Slice ~[]E, E any](s Slice, seq iter.Seq[E]) Slice"},
+ {"Backward", Func, 23, "func[Slice ~[]E, E any](s Slice) iter.Seq2[int, E]"},
+ {"BinarySearch", Func, 21, "func[S ~[]E, E cmp.Ordered](x S, target E) (int, bool)"},
+ {"BinarySearchFunc", Func, 21, "func[S ~[]E, E, T any](x S, target T, cmp func(E, T) int) (int, bool)"},
+ {"Chunk", Func, 23, "func[Slice ~[]E, E any](s Slice, n int) iter.Seq[Slice]"},
+ {"Clip", Func, 21, "func[S ~[]E, E any](s S) S"},
+ {"Clone", Func, 21, "func[S ~[]E, E any](s S) S"},
+ {"Collect", Func, 23, "func[E any](seq iter.Seq[E]) []E"},
+ {"Compact", Func, 21, "func[S ~[]E, E comparable](s S) S"},
+ {"CompactFunc", Func, 21, "func[S ~[]E, E any](s S, eq func(E, E) bool) S"},
+ {"Compare", Func, 21, "func[S ~[]E, E cmp.Ordered](s1 S, s2 S) int"},
+ {"CompareFunc", Func, 21, "func[S1 ~[]E1, S2 ~[]E2, E1, E2 any](s1 S1, s2 S2, cmp func(E1, E2) int) int"},
+ {"Concat", Func, 22, "func[S ~[]E, E any](slices ...S) S"},
+ {"Contains", Func, 21, "func[S ~[]E, E comparable](s S, v E) bool"},
+ {"ContainsFunc", Func, 21, "func[S ~[]E, E any](s S, f func(E) bool) bool"},
+ {"Delete", Func, 21, "func[S ~[]E, E any](s S, i int, j int) S"},
+ {"DeleteFunc", Func, 21, "func[S ~[]E, E any](s S, del func(E) bool) S"},
+ {"Equal", Func, 21, "func[S ~[]E, E comparable](s1 S, s2 S) bool"},
+ {"EqualFunc", Func, 21, "func[S1 ~[]E1, S2 ~[]E2, E1, E2 any](s1 S1, s2 S2, eq func(E1, E2) bool) bool"},
+ {"Grow", Func, 21, "func[S ~[]E, E any](s S, n int) S"},
+ {"Index", Func, 21, "func[S ~[]E, E comparable](s S, v E) int"},
+ {"IndexFunc", Func, 21, "func[S ~[]E, E any](s S, f func(E) bool) int"},
+ {"Insert", Func, 21, "func[S ~[]E, E any](s S, i int, v ...E) S"},
+ {"IsSorted", Func, 21, "func[S ~[]E, E cmp.Ordered](x S) bool"},
+ {"IsSortedFunc", Func, 21, "func[S ~[]E, E any](x S, cmp func(a E, b E) int) bool"},
+ {"Max", Func, 21, "func[S ~[]E, E cmp.Ordered](x S) E"},
+ {"MaxFunc", Func, 21, "func[S ~[]E, E any](x S, cmp func(a E, b E) int) E"},
+ {"Min", Func, 21, "func[S ~[]E, E cmp.Ordered](x S) E"},
+ {"MinFunc", Func, 21, "func[S ~[]E, E any](x S, cmp func(a E, b E) int) E"},
+ {"Repeat", Func, 23, "func[S ~[]E, E any](x S, count int) S"},
+ {"Replace", Func, 21, "func[S ~[]E, E any](s S, i int, j int, v ...E) S"},
+ {"Reverse", Func, 21, "func[S ~[]E, E any](s S)"},
+ {"Sort", Func, 21, "func[S ~[]E, E cmp.Ordered](x S)"},
+ {"SortFunc", Func, 21, "func[S ~[]E, E any](x S, cmp func(a E, b E) int)"},
+ {"SortStableFunc", Func, 21, "func[S ~[]E, E any](x S, cmp func(a E, b E) int)"},
+ {"Sorted", Func, 23, "func[E cmp.Ordered](seq iter.Seq[E]) []E"},
+ {"SortedFunc", Func, 23, "func[E any](seq iter.Seq[E], cmp func(E, E) int) []E"},
+ {"SortedStableFunc", Func, 23, "func[E any](seq iter.Seq[E], cmp func(E, E) int) []E"},
+ {"Values", Func, 23, "func[Slice ~[]E, E any](s Slice) iter.Seq[E]"},
},
"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},
+ {"(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, "func(n int, cmp func(int) int) (i int, found bool)"},
+ {"Float64Slice", Type, 0, ""},
+ {"Float64s", Func, 0, "func(x []float64)"},
+ {"Float64sAreSorted", Func, 0, "func(x []float64) bool"},
+ {"IntSlice", Type, 0, ""},
+ {"Interface", Type, 0, ""},
+ {"Ints", Func, 0, "func(x []int)"},
+ {"IntsAreSorted", Func, 0, "func(x []int) bool"},
+ {"IsSorted", Func, 0, "func(data Interface) bool"},
+ {"Reverse", Func, 1, "func(data Interface) Interface"},
+ {"Search", Func, 0, "func(n int, f func(int) bool) int"},
+ {"SearchFloat64s", Func, 0, "func(a []float64, x float64) int"},
+ {"SearchInts", Func, 0, "func(a []int, x int) int"},
+ {"SearchStrings", Func, 0, "func(a []string, x string) int"},
+ {"Slice", Func, 8, "func(x any, less func(i int, j int) bool)"},
+ {"SliceIsSorted", Func, 8, "func(x any, less func(i int, j int) bool) bool"},
+ {"SliceStable", Func, 8, "func(x any, less func(i int, j int) bool)"},
+ {"Sort", Func, 0, "func(data Interface)"},
+ {"Stable", Func, 2, "func(data Interface)"},
+ {"StringSlice", Type, 0, ""},
+ {"Strings", Func, 0, "func(x []string)"},
+ {"StringsAreSorted", Func, 0, "func(x []string) bool"},
},
"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},
+ {"(*NumError).Error", Method, 0, ""},
+ {"(*NumError).Unwrap", Method, 14, ""},
+ {"AppendBool", Func, 0, "func(dst []byte, b bool) []byte"},
+ {"AppendFloat", Func, 0, "func(dst []byte, f float64, fmt byte, prec int, bitSize int) []byte"},
+ {"AppendInt", Func, 0, "func(dst []byte, i int64, base int) []byte"},
+ {"AppendQuote", Func, 0, "func(dst []byte, s string) []byte"},
+ {"AppendQuoteRune", Func, 0, "func(dst []byte, r rune) []byte"},
+ {"AppendQuoteRuneToASCII", Func, 0, "func(dst []byte, r rune) []byte"},
+ {"AppendQuoteRuneToGraphic", Func, 6, "func(dst []byte, r rune) []byte"},
+ {"AppendQuoteToASCII", Func, 0, "func(dst []byte, s string) []byte"},
+ {"AppendQuoteToGraphic", Func, 6, "func(dst []byte, s string) []byte"},
+ {"AppendUint", Func, 0, "func(dst []byte, i uint64, base int) []byte"},
+ {"Atoi", Func, 0, "func(s string) (int, error)"},
+ {"CanBackquote", Func, 0, "func(s string) bool"},
+ {"ErrRange", Var, 0, ""},
+ {"ErrSyntax", Var, 0, ""},
+ {"FormatBool", Func, 0, "func(b bool) string"},
+ {"FormatComplex", Func, 15, "func(c complex128, fmt byte, prec int, bitSize int) string"},
+ {"FormatFloat", Func, 0, "func(f float64, fmt byte, prec int, bitSize int) string"},
+ {"FormatInt", Func, 0, "func(i int64, base int) string"},
+ {"FormatUint", Func, 0, "func(i uint64, base int) string"},
+ {"IntSize", Const, 0, ""},
+ {"IsGraphic", Func, 6, "func(r rune) bool"},
+ {"IsPrint", Func, 0, "func(r rune) bool"},
+ {"Itoa", Func, 0, "func(i int) string"},
+ {"NumError", Type, 0, ""},
+ {"NumError.Err", Field, 0, ""},
+ {"NumError.Func", Field, 0, ""},
+ {"NumError.Num", Field, 0, ""},
+ {"ParseBool", Func, 0, "func(str string) (bool, error)"},
+ {"ParseComplex", Func, 15, "func(s string, bitSize int) (complex128, error)"},
+ {"ParseFloat", Func, 0, "func(s string, bitSize int) (float64, error)"},
+ {"ParseInt", Func, 0, "func(s string, base int, bitSize int) (i int64, err error)"},
+ {"ParseUint", Func, 0, "func(s string, base int, bitSize int) (uint64, error)"},
+ {"Quote", Func, 0, "func(s string) string"},
+ {"QuoteRune", Func, 0, "func(r rune) string"},
+ {"QuoteRuneToASCII", Func, 0, "func(r rune) string"},
+ {"QuoteRuneToGraphic", Func, 6, "func(r rune) string"},
+ {"QuoteToASCII", Func, 0, "func(s string) string"},
+ {"QuoteToGraphic", Func, 6, "func(s string) string"},
+ {"QuotedPrefix", Func, 17, "func(s string) (string, error)"},
+ {"Unquote", Func, 0, "func(s string) (string, error)"},
+ {"UnquoteChar", Func, 0, "func(s string, quote byte) (value rune, multibyte bool, tail string, err error)"},
},
"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},
- {"FieldsFuncSeq", Func, 24},
- {"FieldsSeq", Func, 24},
- {"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},
- {"Lines", Func, 24},
- {"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},
- {"SplitAfterSeq", Func, 24},
- {"SplitN", Func, 0},
- {"SplitSeq", Func, 24},
- {"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},
+ {"(*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, "func(s string) string"},
+ {"Compare", Func, 5, "func(a string, b string) int"},
+ {"Contains", Func, 0, "func(s string, substr string) bool"},
+ {"ContainsAny", Func, 0, "func(s string, chars string) bool"},
+ {"ContainsFunc", Func, 21, "func(s string, f func(rune) bool) bool"},
+ {"ContainsRune", Func, 0, "func(s string, r rune) bool"},
+ {"Count", Func, 0, "func(s string, substr string) int"},
+ {"Cut", Func, 18, "func(s string, sep string) (before string, after string, found bool)"},
+ {"CutPrefix", Func, 20, "func(s string, prefix string) (after string, found bool)"},
+ {"CutSuffix", Func, 20, "func(s string, suffix string) (before string, found bool)"},
+ {"EqualFold", Func, 0, "func(s string, t string) bool"},
+ {"Fields", Func, 0, "func(s string) []string"},
+ {"FieldsFunc", Func, 0, "func(s string, f func(rune) bool) []string"},
+ {"FieldsFuncSeq", Func, 24, "func(s string, f func(rune) bool) iter.Seq[string]"},
+ {"FieldsSeq", Func, 24, "func(s string) iter.Seq[string]"},
+ {"HasPrefix", Func, 0, "func(s string, prefix string) bool"},
+ {"HasSuffix", Func, 0, "func(s string, suffix string) bool"},
+ {"Index", Func, 0, "func(s string, substr string) int"},
+ {"IndexAny", Func, 0, "func(s string, chars string) int"},
+ {"IndexByte", Func, 2, "func(s string, c byte) int"},
+ {"IndexFunc", Func, 0, "func(s string, f func(rune) bool) int"},
+ {"IndexRune", Func, 0, "func(s string, r rune) int"},
+ {"Join", Func, 0, "func(elems []string, sep string) string"},
+ {"LastIndex", Func, 0, "func(s string, substr string) int"},
+ {"LastIndexAny", Func, 0, "func(s string, chars string) int"},
+ {"LastIndexByte", Func, 5, "func(s string, c byte) int"},
+ {"LastIndexFunc", Func, 0, "func(s string, f func(rune) bool) int"},
+ {"Lines", Func, 24, "func(s string) iter.Seq[string]"},
+ {"Map", Func, 0, "func(mapping func(rune) rune, s string) string"},
+ {"NewReader", Func, 0, "func(s string) *Reader"},
+ {"NewReplacer", Func, 0, "func(oldnew ...string) *Replacer"},
+ {"Reader", Type, 0, ""},
+ {"Repeat", Func, 0, "func(s string, count int) string"},
+ {"Replace", Func, 0, "func(s string, old string, new string, n int) string"},
+ {"ReplaceAll", Func, 12, "func(s string, old string, new string) string"},
+ {"Replacer", Type, 0, ""},
+ {"Split", Func, 0, "func(s string, sep string) []string"},
+ {"SplitAfter", Func, 0, "func(s string, sep string) []string"},
+ {"SplitAfterN", Func, 0, "func(s string, sep string, n int) []string"},
+ {"SplitAfterSeq", Func, 24, "func(s string, sep string) iter.Seq[string]"},
+ {"SplitN", Func, 0, "func(s string, sep string, n int) []string"},
+ {"SplitSeq", Func, 24, "func(s string, sep string) iter.Seq[string]"},
+ {"Title", Func, 0, "func(s string) string"},
+ {"ToLower", Func, 0, "func(s string) string"},
+ {"ToLowerSpecial", Func, 0, "func(c unicode.SpecialCase, s string) string"},
+ {"ToTitle", Func, 0, "func(s string) string"},
+ {"ToTitleSpecial", Func, 0, "func(c unicode.SpecialCase, s string) string"},
+ {"ToUpper", Func, 0, "func(s string) string"},
+ {"ToUpperSpecial", Func, 0, "func(c unicode.SpecialCase, s string) string"},
+ {"ToValidUTF8", Func, 13, "func(s string, replacement string) string"},
+ {"Trim", Func, 0, "func(s string, cutset string) string"},
+ {"TrimFunc", Func, 0, "func(s string, f func(rune) bool) string"},
+ {"TrimLeft", Func, 0, "func(s string, cutset string) string"},
+ {"TrimLeftFunc", Func, 0, "func(s string, f func(rune) bool) string"},
+ {"TrimPrefix", Func, 1, "func(s string, prefix string) string"},
+ {"TrimRight", Func, 0, "func(s string, cutset string) string"},
+ {"TrimRightFunc", Func, 0, "func(s string, f func(rune) bool) string"},
+ {"TrimSpace", Func, 0, "func(s string) string"},
+ {"TrimSuffix", Func, 1, "func(s string, suffix string) string"},
},
"structs": {
- {"HostLayout", Type, 23},
+ {"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},
+ {"(*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).Go", Method, 25, ""},
+ {"(*WaitGroup).Wait", Method, 0, ""},
+ {"Cond", Type, 0, ""},
+ {"Cond.L", Field, 0, ""},
+ {"Locker", Type, 0, ""},
+ {"Map", Type, 9, ""},
+ {"Mutex", Type, 0, ""},
+ {"NewCond", Func, 0, "func(l Locker) *Cond"},
+ {"Once", Type, 0, ""},
+ {"OnceFunc", Func, 21, "func(f func()) func()"},
+ {"OnceValue", Func, 21, "func[T any](f func() T) func() T"},
+ {"OnceValues", Func, 21, "func[T1, T2 any](f func() (T1, T2)) func() (T1, T2)"},
+ {"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},
+ {"(*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, "func(addr *int32, delta int32) (new int32)"},
+ {"AddInt64", Func, 0, "func(addr *int64, delta int64) (new int64)"},
+ {"AddUint32", Func, 0, "func(addr *uint32, delta uint32) (new uint32)"},
+ {"AddUint64", Func, 0, "func(addr *uint64, delta uint64) (new uint64)"},
+ {"AddUintptr", Func, 0, "func(addr *uintptr, delta uintptr) (new uintptr)"},
+ {"AndInt32", Func, 23, "func(addr *int32, mask int32) (old int32)"},
+ {"AndInt64", Func, 23, "func(addr *int64, mask int64) (old int64)"},
+ {"AndUint32", Func, 23, "func(addr *uint32, mask uint32) (old uint32)"},
+ {"AndUint64", Func, 23, "func(addr *uint64, mask uint64) (old uint64)"},
+ {"AndUintptr", Func, 23, "func(addr *uintptr, mask uintptr) (old uintptr)"},
+ {"Bool", Type, 19, ""},
+ {"CompareAndSwapInt32", Func, 0, "func(addr *int32, old int32, new int32) (swapped bool)"},
+ {"CompareAndSwapInt64", Func, 0, "func(addr *int64, old int64, new int64) (swapped bool)"},
+ {"CompareAndSwapPointer", Func, 0, "func(addr *unsafe.Pointer, old unsafe.Pointer, new unsafe.Pointer) (swapped bool)"},
+ {"CompareAndSwapUint32", Func, 0, "func(addr *uint32, old uint32, new uint32) (swapped bool)"},
+ {"CompareAndSwapUint64", Func, 0, "func(addr *uint64, old uint64, new uint64) (swapped bool)"},
+ {"CompareAndSwapUintptr", Func, 0, "func(addr *uintptr, old uintptr, new uintptr) (swapped bool)"},
+ {"Int32", Type, 19, ""},
+ {"Int64", Type, 19, ""},
+ {"LoadInt32", Func, 0, "func(addr *int32) (val int32)"},
+ {"LoadInt64", Func, 0, "func(addr *int64) (val int64)"},
+ {"LoadPointer", Func, 0, "func(addr *unsafe.Pointer) (val unsafe.Pointer)"},
+ {"LoadUint32", Func, 0, "func(addr *uint32) (val uint32)"},
+ {"LoadUint64", Func, 0, "func(addr *uint64) (val uint64)"},
+ {"LoadUintptr", Func, 0, "func(addr *uintptr) (val uintptr)"},
+ {"OrInt32", Func, 23, "func(addr *int32, mask int32) (old int32)"},
+ {"OrInt64", Func, 23, "func(addr *int64, mask int64) (old int64)"},
+ {"OrUint32", Func, 23, "func(addr *uint32, mask uint32) (old uint32)"},
+ {"OrUint64", Func, 23, "func(addr *uint64, mask uint64) (old uint64)"},
+ {"OrUintptr", Func, 23, "func(addr *uintptr, mask uintptr) (old uintptr)"},
+ {"Pointer", Type, 19, ""},
+ {"StoreInt32", Func, 0, "func(addr *int32, val int32)"},
+ {"StoreInt64", Func, 0, "func(addr *int64, val int64)"},
+ {"StorePointer", Func, 0, "func(addr *unsafe.Pointer, val unsafe.Pointer)"},
+ {"StoreUint32", Func, 0, "func(addr *uint32, val uint32)"},
+ {"StoreUint64", Func, 0, "func(addr *uint64, val uint64)"},
+ {"StoreUintptr", Func, 0, "func(addr *uintptr, val uintptr)"},
+ {"SwapInt32", Func, 2, "func(addr *int32, new int32) (old int32)"},
+ {"SwapInt64", Func, 2, "func(addr *int64, new int64) (old int64)"},
+ {"SwapPointer", Func, 2, "func(addr *unsafe.Pointer, new unsafe.Pointer) (old unsafe.Pointer)"},
+ {"SwapUint32", Func, 2, "func(addr *uint32, new uint32) (old uint32)"},
+ {"SwapUint64", Func, 2, "func(addr *uint64, new uint64) (old uint64)"},
+ {"SwapUintptr", Func, 2, "func(addr *uintptr, new uintptr) (old uintptr)"},
+ {"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},
+ {"(*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, "func(fd int) (nfd int, sa Sockaddr, err error)"},
+ {"Accept4", Func, 1, "func(fd int, flags int) (nfd int, sa Sockaddr, err error)"},
+ {"AcceptEx", Func, 0, ""},
+ {"Access", Func, 0, "func(path string, mode uint32) (err error)"},
+ {"Acct", Func, 0, "func(path string) (err error)"},
+ {"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, "func(buf *Timex) (state int, err error)"},
+ {"AllThreadsSyscall", Func, 16, "func(trap uintptr, a1 uintptr, a2 uintptr, a3 uintptr) (r1 uintptr, r2 uintptr, err Errno)"},
+ {"AllThreadsSyscall6", Func, 16, "func(trap uintptr, a1 uintptr, a2 uintptr, a3 uintptr, a4 uintptr, a5 uintptr, a6 uintptr) (r1 uintptr, r2 uintptr, err Errno)"},
+ {"AttachLsf", Func, 0, "func(fd int, i []SockFilter) error"},
+ {"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, "func(fd int, sa Sockaddr) (err error)"},
+ {"BindToDevice", Func, 0, "func(fd int, device string) (err error)"},
+ {"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, "func(s string) (*byte, error)"},
+ {"ByteSliceFromString", Func, 1, "func(s string) ([]byte, error)"},
+ {"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, "func(path string) (err error)"},
+ {"CheckBpfVersion", Func, 0, ""},
+ {"Chflags", Func, 0, ""},
+ {"Chmod", Func, 0, "func(path string, mode uint32) (err error)"},
+ {"Chown", Func, 0, "func(path string, uid int, gid int) (err error)"},
+ {"Chroot", Func, 0, "func(path string) (err error)"},
+ {"Clearenv", Func, 0, "func()"},
+ {"Close", Func, 0, "func(fd int) (err error)"},
+ {"CloseHandle", Func, 0, ""},
+ {"CloseOnExec", Func, 0, "func(fd int)"},
+ {"Closesocket", Func, 0, ""},
+ {"CmsgLen", Func, 0, "func(datalen int) int"},
+ {"CmsgSpace", Func, 0, "func(datalen int) int"},
+ {"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, "func(fd int, sa Sockaddr) (err error)"},
+ {"ConnectEx", Func, 1, ""},
+ {"ConvertSidToStringSid", Func, 0, ""},
+ {"ConvertStringSidToSid", Func, 0, ""},
+ {"CopySid", Func, 0, ""},
+ {"Creat", Func, 0, "func(path string, mode uint32) (fd int, err error)"},
+ {"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, "func(fd int) error"},
+ {"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, "func(oldfd int) (fd int, err error)"},
+ {"Dup2", Func, 0, "func(oldfd int, newfd int) (err error)"},
+ {"Dup3", Func, 2, "func(oldfd int, newfd int, flags int) (err error)"},
+ {"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, "func() []string"},
+ {"EpollCreate", Func, 0, "func(size int) (fd int, err error)"},
+ {"EpollCreate1", Func, 0, "func(flag int) (fd int, err error)"},
+ {"EpollCtl", Func, 0, "func(epfd int, op int, fd int, event *EpollEvent) (err error)"},
+ {"EpollEvent", Type, 0, ""},
+ {"EpollEvent.Events", Field, 0, ""},
+ {"EpollEvent.Fd", Field, 0, ""},
+ {"EpollEvent.Pad", Field, 0, ""},
+ {"EpollEvent.PadFd", Field, 0, ""},
+ {"EpollWait", Func, 0, "func(epfd int, events []EpollEvent, msec int) (n int, err error)"},
+ {"Errno", Type, 0, ""},
+ {"EscapeArg", Func, 0, ""},
+ {"Exchangedata", Func, 0, ""},
+ {"Exec", Func, 0, "func(argv0 string, argv []string, envv []string) (err error)"},
+ {"Exit", Func, 0, "func(code int)"},
+ {"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, "func(dirfd int, path string, mode uint32, flags int) (err error)"},
+ {"Fallocate", Func, 0, "func(fd int, mode uint32, off int64, len int64) (err error)"},
+ {"Fbootstraptransfer_t", Type, 0, ""},
+ {"Fbootstraptransfer_t.Buffer", Field, 0, ""},
+ {"Fbootstraptransfer_t.Length", Field, 0, ""},
+ {"Fbootstraptransfer_t.Offset", Field, 0, ""},
+ {"Fchdir", Func, 0, "func(fd int) (err error)"},
+ {"Fchflags", Func, 0, ""},
+ {"Fchmod", Func, 0, "func(fd int, mode uint32) (err error)"},
+ {"Fchmodat", Func, 0, "func(dirfd int, path string, mode uint32, flags int) error"},
+ {"Fchown", Func, 0, "func(fd int, uid int, gid int) (err error)"},
+ {"Fchownat", Func, 0, "func(dirfd int, path string, uid int, gid int, flags int) (err error)"},
+ {"FcntlFlock", Func, 3, "func(fd uintptr, cmd int, lk *Flock_t) error"},
+ {"FdSet", Type, 0, ""},
+ {"FdSet.Bits", Field, 0, ""},
+ {"FdSet.X__fds_bits", Field, 0, ""},
+ {"Fdatasync", Func, 0, "func(fd int) (err error)"},
+ {"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, "func(fd int, how int) (err error)"},
+ {"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, "func(argv0 string, argv []string, attr *ProcAttr) (pid int, err error)"},
+ {"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, "func(fd int, stat *Stat_t) (err error)"},
+ {"Fstatat", Func, 12, ""},
+ {"Fstatfs", Func, 0, "func(fd int, buf *Statfs_t) (err error)"},
+ {"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, "func(fd int) (err error)"},
+ {"Ftruncate", Func, 0, "func(fd int, length int64) (err error)"},
+ {"FullPath", Func, 4, ""},
+ {"Futimes", Func, 0, "func(fd int, tv []Timeval) (err error)"},
+ {"Futimesat", Func, 0, "func(dirfd int, path string, tv []Timeval) (err error)"},
+ {"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, "func(buf []byte) (n int, err error)"},
+ {"Getdents", Func, 0, "func(fd int, buf []byte) (n int, err error)"},
+ {"Getdirentries", Func, 0, ""},
+ {"Getdtablesize", Func, 0, ""},
+ {"Getegid", Func, 0, "func() (egid int)"},
+ {"Getenv", Func, 0, "func(key string) (value string, found bool)"},
+ {"Geteuid", Func, 0, "func() (euid int)"},
+ {"Getfsstat", Func, 0, ""},
+ {"Getgid", Func, 0, "func() (gid int)"},
+ {"Getgroups", Func, 0, "func() (gids []int, err error)"},
+ {"Getpagesize", Func, 0, "func() int"},
+ {"Getpeername", Func, 0, "func(fd int) (sa Sockaddr, err error)"},
+ {"Getpgid", Func, 0, "func(pid int) (pgid int, err error)"},
+ {"Getpgrp", Func, 0, "func() (pid int)"},
+ {"Getpid", Func, 0, "func() (pid int)"},
+ {"Getppid", Func, 0, "func() (ppid int)"},
+ {"Getpriority", Func, 0, "func(which int, who int) (prio int, err error)"},
+ {"Getrlimit", Func, 0, "func(resource int, rlim *Rlimit) (err error)"},
+ {"Getrusage", Func, 0, "func(who int, rusage *Rusage) (err error)"},
+ {"Getsid", Func, 0, ""},
+ {"Getsockname", Func, 0, "func(fd int) (sa Sockaddr, err error)"},
+ {"Getsockopt", Func, 1, ""},
+ {"GetsockoptByte", Func, 0, ""},
+ {"GetsockoptICMPv6Filter", Func, 2, "func(fd int, level int, opt int) (*ICMPv6Filter, error)"},
+ {"GetsockoptIPMreq", Func, 0, "func(fd int, level int, opt int) (*IPMreq, error)"},
+ {"GetsockoptIPMreqn", Func, 0, "func(fd int, level int, opt int) (*IPMreqn, error)"},
+ {"GetsockoptIPv6MTUInfo", Func, 2, "func(fd int, level int, opt int) (*IPv6MTUInfo, error)"},
+ {"GetsockoptIPv6Mreq", Func, 0, "func(fd int, level int, opt int) (*IPv6Mreq, error)"},
+ {"GetsockoptInet4Addr", Func, 0, "func(fd int, level int, opt int) (value [4]byte, err error)"},
+ {"GetsockoptInt", Func, 0, "func(fd int, level int, opt int) (value int, err error)"},
+ {"GetsockoptUcred", Func, 1, "func(fd int, level int, opt int) (*Ucred, error)"},
+ {"Gettid", Func, 0, "func() (tid int)"},
+ {"Gettimeofday", Func, 0, "func(tv *Timeval) (err error)"},
+ {"Getuid", Func, 0, "func() (uid int)"},
+ {"Getwd", Func, 0, "func() (wd string, err error)"},
+ {"Getxattr", Func, 1, "func(path string, attr string, dest []byte) (sz int, err error)"},
+ {"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, "func(fd int, pathname string, mask uint32) (watchdesc int, err error)"},
+ {"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, "func() (fd int, err error)"},
+ {"InotifyInit1", Func, 0, "func(flags int) (fd int, err error)"},
+ {"InotifyRmWatch", Func, 0, "func(fd int, watchdesc uint32) (success int, err error)"},
+ {"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, "func(from int, num int, on int) (err error)"},
+ {"Iopl", Func, 0, "func(level int) (err error)"},
+ {"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, "func(pid int, sig Signal) (err error)"},
+ {"Klogctl", Func, 0, "func(typ int, buf []byte) (n int, err error)"},
+ {"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, "func(path string, uid int, gid int) (err error)"},
+ {"Linger", Type, 0, ""},
+ {"Linger.Linger", Field, 0, ""},
+ {"Linger.Onoff", Field, 0, ""},
+ {"Link", Func, 0, "func(oldpath string, newpath string) (err error)"},
+ {"Listen", Func, 0, "func(s int, n int) (err error)"},
+ {"Listxattr", Func, 1, "func(path string, dest []byte) (sz int, err error)"},
+ {"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, "func(code int, k int, jt int, jf int) *SockFilter"},
+ {"LsfSocket", Func, 0, "func(ifindex int, proto int) (int, error)"},
+ {"LsfStmt", Func, 0, "func(code int, k int) *SockFilter"},
+ {"Lstat", Func, 0, "func(path string, stat *Stat_t) (err error)"},
+ {"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, "func(b []byte, advice int) (err error)"},
+ {"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, "func(path string, mode uint32) (err error)"},
+ {"Mkdirat", Func, 0, "func(dirfd int, path string, mode uint32) (err error)"},
+ {"Mkfifo", Func, 0, "func(path string, mode uint32) (err error)"},
+ {"Mknod", Func, 0, "func(path string, mode uint32, dev int) (err error)"},
+ {"Mknodat", Func, 0, "func(dirfd int, path string, mode uint32, dev int) (err error)"},
+ {"Mlock", Func, 0, "func(b []byte) (err error)"},
+ {"Mlockall", Func, 0, "func(flags int) (err error)"},
+ {"Mmap", Func, 0, "func(fd int, offset int64, length int, prot int, flags int) (data []byte, err error)"},
+ {"Mount", Func, 0, "func(source string, target string, fstype string, flags uintptr, data string) (err error)"},
+ {"MoveFile", Func, 0, ""},
+ {"Mprotect", Func, 0, "func(b []byte, prot int) (err error)"},
+ {"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, "func(b []byte) (err error)"},
+ {"Munlockall", Func, 0, "func() (err error)"},
+ {"Munmap", Func, 0, "func(b []byte) (err error)"},
+ {"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, "func(time *Timespec, leftover *Timespec) (err error)"},
+ {"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, "func(proto int, family int) ([]byte, error)"},
+ {"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, "func(nsec int64) Timespec"},
+ {"NsecToTimeval", Func, 0, "func(nsec int64) Timeval"},
+ {"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, "func(path string, mode int, perm uint32) (fd int, err error)"},
+ {"OpenCurrentProcessToken", Func, 0, ""},
+ {"OpenProcess", Func, 0, ""},
+ {"OpenProcessToken", Func, 0, ""},
+ {"Openat", Func, 0, "func(dirfd int, path string, flags int, mode uint32) (fd int, err error)"},
+ {"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, "func(buf []byte, max int, names []string) (consumed int, count int, newnames []string)"},
+ {"ParseNetlinkMessage", Func, 0, "func(b []byte) ([]NetlinkMessage, error)"},
+ {"ParseNetlinkRouteAttr", Func, 0, "func(m *NetlinkMessage) ([]NetlinkRouteAttr, error)"},
+ {"ParseRoutingMessage", Func, 0, ""},
+ {"ParseRoutingSockaddr", Func, 0, ""},
+ {"ParseSocketControlMessage", Func, 0, "func(b []byte) ([]SocketControlMessage, error)"},
+ {"ParseUnixCredentials", Func, 0, "func(m *SocketControlMessage) (*Ucred, error)"},
+ {"ParseUnixRights", Func, 0, "func(m *SocketControlMessage) ([]int, error)"},
+ {"PathMax", Const, 0, ""},
+ {"Pathconf", Func, 0, ""},
+ {"Pause", Func, 0, "func() (err error)"},
+ {"Pipe", Func, 0, "func(p []int) error"},
+ {"Pipe2", Func, 1, "func(p []int, flags int) error"},
+ {"PivotRoot", Func, 0, "func(newroot string, putold string) (err error)"},
+ {"Pointer", Type, 11, ""},
+ {"PostQueuedCompletionStatus", Func, 0, ""},
+ {"Pread", Func, 0, "func(fd int, p []byte, offset int64) (n int, err error)"},
+ {"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, "func(pid int) (err error)"},
+ {"PtraceCont", Func, 0, "func(pid int, signal int) (err error)"},
+ {"PtraceDetach", Func, 0, "func(pid int) (err error)"},
+ {"PtraceGetEventMsg", Func, 0, "func(pid int) (msg uint, err error)"},
+ {"PtraceGetRegs", Func, 0, "func(pid int, regsout *PtraceRegs) (err error)"},
+ {"PtracePeekData", Func, 0, "func(pid int, addr uintptr, out []byte) (count int, err error)"},
+ {"PtracePeekText", Func, 0, "func(pid int, addr uintptr, out []byte) (count int, err error)"},
+ {"PtracePokeData", Func, 0, "func(pid int, addr uintptr, data []byte) (count int, err error)"},
+ {"PtracePokeText", Func, 0, "func(pid int, addr uintptr, data []byte) (count int, err error)"},
+ {"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, "func(pid int, options int) (err error)"},
+ {"PtraceSetRegs", Func, 0, "func(pid int, regs *PtraceRegs) (err error)"},
+ {"PtraceSingleStep", Func, 0, "func(pid int) (err error)"},
+ {"PtraceSyscall", Func, 1, "func(pid int, signal int) (err error)"},
+ {"Pwrite", Func, 0, "func(fd int, p []byte, offset int64) (n int, err error)"},
+ {"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, "func(trap uintptr, a1 uintptr, a2 uintptr, a3 uintptr) (r1 uintptr, r2 uintptr, err Errno)"},
+ {"RawSyscall6", Func, 0, "func(trap uintptr, a1 uintptr, a2 uintptr, a3 uintptr, a4 uintptr, a5 uintptr, a6 uintptr) (r1 uintptr, r2 uintptr, err Errno)"},
+ {"Read", Func, 0, "func(fd int, p []byte) (n int, err error)"},
+ {"ReadConsole", Func, 1, ""},
+ {"ReadDirectoryChanges", Func, 0, ""},
+ {"ReadDirent", Func, 0, "func(fd int, buf []byte) (n int, err error)"},
+ {"ReadFile", Func, 0, ""},
+ {"Readlink", Func, 0, "func(path string, buf []byte) (n int, err error)"},
+ {"Reboot", Func, 0, "func(cmd int) (err error)"},
+ {"Recvfrom", Func, 0, "func(fd int, p []byte, flags int) (n int, from Sockaddr, err error)"},
+ {"Recvmsg", Func, 0, "func(fd int, p []byte, oob []byte, flags int) (n int, oobn int, recvflags int, from Sockaddr, err error)"},
+ {"RegCloseKey", Func, 0, ""},
+ {"RegEnumKeyEx", Func, 0, ""},
+ {"RegOpenKeyEx", Func, 0, ""},
+ {"RegQueryInfoKey", Func, 0, ""},
+ {"RegQueryValueEx", Func, 0, ""},
+ {"RemoveDirectory", Func, 0, ""},
+ {"Removexattr", Func, 1, "func(path string, attr string) (err error)"},
+ {"Rename", Func, 0, "func(oldpath string, newpath string) (err error)"},
+ {"Renameat", Func, 0, "func(olddirfd int, oldpath string, newdirfd int, newpath string) (err error)"},
+ {"Revoke", Func, 0, ""},
+ {"Rlimit", Type, 0, ""},
+ {"Rlimit.Cur", Field, 0, ""},
+ {"Rlimit.Max", Field, 0, ""},
+ {"Rmdir", Func, 0, "func(path string) error"},
+ {"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, "func(fd int, offset int64, whence int) (off int64, err error)"},
+ {"Select", Func, 0, "func(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error)"},
+ {"Sendfile", Func, 0, "func(outfd int, infd int, offset *int64, count int) (written int, err error)"},
+ {"Sendmsg", Func, 0, "func(fd int, p []byte, oob []byte, to Sockaddr, flags int) (err error)"},
+ {"SendmsgN", Func, 3, "func(fd int, p []byte, oob []byte, to Sockaddr, flags int) (n int, err error)"},
+ {"Sendto", Func, 0, "func(fd int, p []byte, flags int, to Sockaddr) (err error)"},
+ {"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, "func(name string, m bool) error"},
+ {"SetNonblock", Func, 0, "func(fd int, nonblocking bool) (err error)"},
+ {"Setdomainname", Func, 0, "func(p []byte) (err error)"},
+ {"Setegid", Func, 0, "func(egid int) (err error)"},
+ {"Setenv", Func, 0, "func(key string, value string) error"},
+ {"Seteuid", Func, 0, "func(euid int) (err error)"},
+ {"Setfsgid", Func, 0, "func(gid int) (err error)"},
+ {"Setfsuid", Func, 0, "func(uid int) (err error)"},
+ {"Setgid", Func, 0, "func(gid int) (err error)"},
+ {"Setgroups", Func, 0, "func(gids []int) (err error)"},
+ {"Sethostname", Func, 0, "func(p []byte) (err error)"},
+ {"Setlogin", Func, 0, ""},
+ {"Setpgid", Func, 0, "func(pid int, pgid int) (err error)"},
+ {"Setpriority", Func, 0, "func(which int, who int, prio int) (err error)"},
+ {"Setprivexec", Func, 0, ""},
+ {"Setregid", Func, 0, "func(rgid int, egid int) (err error)"},
+ {"Setresgid", Func, 0, "func(rgid int, egid int, sgid int) (err error)"},
+ {"Setresuid", Func, 0, "func(ruid int, euid int, suid int) (err error)"},
+ {"Setreuid", Func, 0, "func(ruid int, euid int) (err error)"},
+ {"Setrlimit", Func, 0, "func(resource int, rlim *Rlimit) error"},
+ {"Setsid", Func, 0, "func() (pid int, err error)"},
+ {"Setsockopt", Func, 0, ""},
+ {"SetsockoptByte", Func, 0, "func(fd int, level int, opt int, value byte) (err error)"},
+ {"SetsockoptICMPv6Filter", Func, 2, "func(fd int, level int, opt int, filter *ICMPv6Filter) error"},
+ {"SetsockoptIPMreq", Func, 0, "func(fd int, level int, opt int, mreq *IPMreq) (err error)"},
+ {"SetsockoptIPMreqn", Func, 0, "func(fd int, level int, opt int, mreq *IPMreqn) (err error)"},
+ {"SetsockoptIPv6Mreq", Func, 0, "func(fd int, level int, opt int, mreq *IPv6Mreq) (err error)"},
+ {"SetsockoptInet4Addr", Func, 0, "func(fd int, level int, opt int, value [4]byte) (err error)"},
+ {"SetsockoptInt", Func, 0, "func(fd int, level int, opt int, value int) (err error)"},
+ {"SetsockoptLinger", Func, 0, "func(fd int, level int, opt int, l *Linger) (err error)"},
+ {"SetsockoptString", Func, 0, "func(fd int, level int, opt int, s string) (err error)"},
+ {"SetsockoptTimeval", Func, 0, "func(fd int, level int, opt int, tv *Timeval) (err error)"},
+ {"Settimeofday", Func, 0, "func(tv *Timeval) (err error)"},
+ {"Setuid", Func, 0, "func(uid int) (err error)"},
+ {"Setxattr", Func, 1, "func(path string, attr string, data []byte, flags int) (err error)"},
+ {"Shutdown", Func, 0, "func(fd int, how int) (err error)"},
+ {"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, "func(ss []string) ([]*byte, error)"},
+ {"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, "func(domain int, typ int, proto int) (fd int, err error)"},
+ {"SocketControlMessage", Type, 0, ""},
+ {"SocketControlMessage.Data", Field, 0, ""},
+ {"SocketControlMessage.Header", Field, 0, ""},
+ {"SocketDisableIPv6", Var, 0, ""},
+ {"Socketpair", Func, 0, "func(domain int, typ int, proto int) (fd [2]int, err error)"},
+ {"Splice", Func, 0, "func(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error)"},
+ {"StartProcess", Func, 0, "func(argv0 string, argv []string, attr *ProcAttr) (pid int, handle uintptr, err error)"},
+ {"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, "func(path string, stat *Stat_t) (err error)"},
+ {"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, "func(path string, buf *Statfs_t) (err error)"},
+ {"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, "func(s string) *byte"},
+ {"StringByteSlice", Func, 0, "func(s string) []byte"},
+ {"StringSlicePtr", Func, 0, "func(ss []string) []*byte"},
+ {"StringToSid", Func, 0, ""},
+ {"StringToUTF16", Func, 0, ""},
+ {"StringToUTF16Ptr", Func, 0, ""},
+ {"Symlink", Func, 0, "func(oldpath string, newpath string) (err error)"},
+ {"Sync", Func, 0, "func()"},
+ {"SyncFileRange", Func, 0, "func(fd int, off int64, n int64, flags int) (err error)"},
+ {"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, "func(trap uintptr, a1 uintptr, a2 uintptr, a3 uintptr) (r1 uintptr, r2 uintptr, err Errno)"},
+ {"Syscall12", Func, 0, ""},
+ {"Syscall15", Func, 0, ""},
+ {"Syscall18", Func, 12, ""},
+ {"Syscall6", Func, 0, "func(trap uintptr, a1 uintptr, a2 uintptr, a3 uintptr, a4 uintptr, a5 uintptr, a6 uintptr) (r1 uintptr, r2 uintptr, err Errno)"},
+ {"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, "func(info *Sysinfo_t) (err error)"},
+ {"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, "func(rfd int, wfd int, len int, flags int) (n int64, err error)"},
+ {"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, "func(tgid int, tid int, sig Signal) (err error)"},
+ {"Time", Func, 0, "func(t *Time_t) (tt Time_t, err error)"},
+ {"Time_t", Type, 0, ""},
+ {"Times", Func, 0, "func(tms *Tms) (ticks uintptr, err error)"},
+ {"Timespec", Type, 0, ""},
+ {"Timespec.Nsec", Field, 0, ""},
+ {"Timespec.Pad_cgo_0", Field, 2, ""},
+ {"Timespec.Sec", Field, 0, ""},
+ {"TimespecToNsec", Func, 0, "func(ts Timespec) int64"},
+ {"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, "func(tv Timeval) int64"},
+ {"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, "func(path string, length int64) (err error)"},
+ {"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, "func(mask int) (oldmask int)"},
+ {"Uname", Func, 0, "func(buf *Utsname) (err error)"},
+ {"Undelete", Func, 0, ""},
+ {"UnixCredentials", Func, 0, "func(ucred *Ucred) []byte"},
+ {"UnixRights", Func, 0, "func(fds ...int) []byte"},
+ {"Unlink", Func, 0, "func(path string) error"},
+ {"Unlinkat", Func, 0, "func(dirfd int, path string) error"},
+ {"UnmapViewOfFile", Func, 0, ""},
+ {"Unmount", Func, 0, "func(target string, flags int) (err error)"},
+ {"Unsetenv", Func, 4, "func(key string) error"},
+ {"Unshare", Func, 0, "func(flags int) (err error)"},
+ {"UserInfo10", Type, 0, ""},
+ {"UserInfo10.Comment", Field, 0, ""},
+ {"UserInfo10.FullName", Field, 0, ""},
+ {"UserInfo10.Name", Field, 0, ""},
+ {"UserInfo10.UsrComment", Field, 0, ""},
+ {"Ustat", Func, 0, "func(dev int, ubuf *Ustat_t) (err error)"},
+ {"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, "func(path string, buf *Utimbuf) (err error)"},
+ {"Utimes", Func, 0, "func(path string, tv []Timeval) (err error)"},
+ {"UtimesNano", Func, 1, "func(path string, ts []Timespec) (err error)"},
+ {"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, "func(pid int, wstatus *WaitStatus, options int, rusage *Rusage) (wpid int, err error)"},
+ {"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, "func(fd int, p []byte) (n int, err error)"},
+ {"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},
+ {"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).Chdir", Method, 24},
- {"(*B).Cleanup", Method, 14},
- {"(*B).Context", Method, 24},
- {"(*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).Loop", Method, 24},
- {"(*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).Chdir", Method, 24},
- {"(*F).Cleanup", Method, 18},
- {"(*F).Context", Method, 24},
- {"(*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).Chdir", Method, 24},
- {"(*T).Cleanup", Method, 14},
- {"(*T).Context", Method, 24},
- {"(*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},
+ {"(*B).Chdir", Method, 24, ""},
+ {"(*B).Cleanup", Method, 14, ""},
+ {"(*B).Context", Method, 24, ""},
+ {"(*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).Loop", Method, 24, ""},
+ {"(*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).Chdir", Method, 24, ""},
+ {"(*F).Cleanup", Method, 18, ""},
+ {"(*F).Context", Method, 24, ""},
+ {"(*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).Chdir", Method, 24, ""},
+ {"(*T).Cleanup", Method, 14, ""},
+ {"(*T).Context", Method, 24, ""},
+ {"(*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, "func(runs int, f func()) (avg float64)"},
+ {"B", Type, 0, ""},
+ {"B.N", Field, 0, ""},
+ {"Benchmark", Func, 0, "func(f func(b *B)) BenchmarkResult"},
+ {"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, "func() string"},
+ {"Coverage", Func, 4, "func() float64"},
+ {"F", Type, 18, ""},
+ {"Init", Func, 13, "func()"},
+ {"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, "func(matchString func(pat string, str string) (bool, error), tests []InternalTest, benchmarks []InternalBenchmark, examples []InternalExample)"},
+ {"MainStart", Func, 4, "func(deps testDeps, tests []InternalTest, benchmarks []InternalBenchmark, fuzzTargets []InternalFuzzTarget, examples []InternalExample) *M"},
+ {"PB", Type, 3, ""},
+ {"RegisterCover", Func, 2, "func(c Cover)"},
+ {"RunBenchmarks", Func, 0, "func(matchString func(pat string, str string) (bool, error), benchmarks []InternalBenchmark)"},
+ {"RunExamples", Func, 0, "func(matchString func(pat string, str string) (bool, error), examples []InternalExample) (ok bool)"},
+ {"RunTests", Func, 0, "func(matchString func(pat string, str string) (bool, error), tests []InternalTest) (ok bool)"},
+ {"Short", Func, 0, "func() bool"},
+ {"T", Type, 0, ""},
+ {"TB", Type, 2, ""},
+ {"Testing", Func, 21, "func() bool"},
+ {"Verbose", Func, 1, "func() bool"},
},
"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},
+ {"(MapFS).Glob", Method, 16, ""},
+ {"(MapFS).Lstat", Method, 25, ""},
+ {"(MapFS).Open", Method, 16, ""},
+ {"(MapFS).ReadDir", Method, 16, ""},
+ {"(MapFS).ReadFile", Method, 16, ""},
+ {"(MapFS).ReadLink", Method, 25, ""},
+ {"(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, "func(fsys fs.FS, expected ...string) error"},
},
"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},
+ {"DataErrReader", Func, 0, "func(r io.Reader) io.Reader"},
+ {"ErrReader", Func, 16, "func(err error) io.Reader"},
+ {"ErrTimeout", Var, 0, ""},
+ {"HalfReader", Func, 0, "func(r io.Reader) io.Reader"},
+ {"NewReadLogger", Func, 0, "func(prefix string, r io.Reader) io.Reader"},
+ {"NewWriteLogger", Func, 0, "func(prefix string, w io.Writer) io.Writer"},
+ {"OneByteReader", Func, 0, "func(r io.Reader) io.Reader"},
+ {"TestReader", Func, 16, "func(r io.Reader, content []byte) error"},
+ {"TimeoutReader", Func, 0, "func(r io.Reader) io.Reader"},
+ {"TruncateWriter", Func, 0, "func(w io.Writer, n int64) io.Writer"},
},
"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},
+ {"(*CheckEqualError).Error", Method, 0, ""},
+ {"(*CheckError).Error", Method, 0, ""},
+ {"(SetupError).Error", Method, 0, ""},
+ {"Check", Func, 0, "func(f any, config *Config) error"},
+ {"CheckEqual", Func, 0, "func(f any, g any, config *Config) error"},
+ {"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, "func(t reflect.Type, rand *rand.Rand) (value reflect.Value, ok bool)"},
},
"testing/slogtest": {
- {"Run", Func, 22},
- {"TestHandler", Func, 21},
+ {"Run", Func, 22, "func(t *testing.T, newHandler func(*testing.T) slog.Handler, result func(*testing.T) map[string]any)"},
+ {"TestHandler", Func, 21, "func(h slog.Handler, results func() []map[string]any) error"},
},
"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},
+ {"(*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, "func(tok rune) string"},
},
"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},
+ {"(*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, "func(output io.Writer, minwidth int, tabwidth int, padding int, padchar byte, flags uint) *Writer"},
+ {"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},
+ {"(*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, "func(w io.Writer, b []byte)"},
+ {"HTMLEscapeString", Func, 0, "func(s string) string"},
+ {"HTMLEscaper", Func, 0, "func(args ...any) string"},
+ {"IsTrue", Func, 6, "func(val any) (truth bool, ok bool)"},
+ {"JSEscape", Func, 0, "func(w io.Writer, b []byte)"},
+ {"JSEscapeString", Func, 0, "func(s string) string"},
+ {"JSEscaper", Func, 0, "func(args ...any) string"},
+ {"Must", Func, 0, "func(t *Template, err error) *Template"},
+ {"New", Func, 0, "func(name string) *Template"},
+ {"ParseFS", Func, 16, "func(fsys fs.FS, patterns ...string) (*Template, error)"},
+ {"ParseFiles", Func, 0, "func(filenames ...string) (*Template, error)"},
+ {"ParseGlob", Func, 0, "func(pattern string) (*Template, error)"},
+ {"Template", Type, 0, ""},
+ {"Template.Tree", Field, 0, ""},
+ {"URLQueryEscaper", Func, 0, "func(args ...any) string"},
},
"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},
+ {"(*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, "func(n Node) bool"},
+ {"ListNode", Type, 0, ""},
+ {"ListNode.NodeType", Field, 0, ""},
+ {"ListNode.Nodes", Field, 0, ""},
+ {"ListNode.Pos", Field, 1, ""},
+ {"Mode", Type, 16, ""},
+ {"New", Func, 0, "func(name string, funcs ...map[string]any) *Tree"},
+ {"NewIdentifier", Func, 0, "func(ident string) *IdentifierNode"},
+ {"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, "func(name string, text string, leftDelim string, rightDelim string, funcs ...map[string]any) (map[string]*Tree, error)"},
+ {"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).AppendBinary", Method, 24},
- {"(Time).AppendFormat", Method, 5},
- {"(Time).AppendText", Method, 24},
- {"(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},
+ {"(*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).AppendBinary", Method, 24, ""},
+ {"(Time).AppendFormat", Method, 5, ""},
+ {"(Time).AppendText", Method, 24, ""},
+ {"(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, "func(d Duration) <-chan Time"},
+ {"AfterFunc", Func, 0, "func(d Duration, f func()) *Timer"},
+ {"April", Const, 0, ""},
+ {"August", Const, 0, ""},
+ {"Date", Func, 0, "func(year int, month Month, day int, hour int, min int, sec int, nsec int, loc *Location) Time"},
+ {"DateOnly", Const, 20, ""},
+ {"DateTime", Const, 20, ""},
+ {"December", Const, 0, ""},
+ {"Duration", Type, 0, ""},
+ {"February", Const, 0, ""},
+ {"FixedZone", Func, 0, "func(name string, offset int) *Location"},
+ {"Friday", Const, 0, ""},
+ {"Hour", Const, 0, ""},
+ {"January", Const, 0, ""},
+ {"July", Const, 0, ""},
+ {"June", Const, 0, ""},
+ {"Kitchen", Const, 0, ""},
+ {"Layout", Const, 17, ""},
+ {"LoadLocation", Func, 0, "func(name string) (*Location, error)"},
+ {"LoadLocationFromTZData", Func, 10, "func(name string, data []byte) (*Location, error)"},
+ {"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, "func(d Duration) *Ticker"},
+ {"NewTimer", Func, 0, "func(d Duration) *Timer"},
+ {"November", Const, 0, ""},
+ {"Now", Func, 0, "func() Time"},
+ {"October", Const, 0, ""},
+ {"Parse", Func, 0, "func(layout string, value string) (Time, error)"},
+ {"ParseDuration", Func, 0, "func(s string) (Duration, error)"},
+ {"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, "func(layout string, value string, loc *Location) (Time, error)"},
+ {"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, "func(t Time) Duration"},
+ {"Sleep", Func, 0, "func(d Duration)"},
+ {"Stamp", Const, 0, ""},
+ {"StampMicro", Const, 0, ""},
+ {"StampMilli", Const, 0, ""},
+ {"StampNano", Const, 0, ""},
+ {"Sunday", Const, 0, ""},
+ {"Thursday", Const, 0, ""},
+ {"Tick", Func, 0, "func(d Duration) <-chan Time"},
+ {"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, "func(sec int64, nsec int64) Time"},
+ {"UnixDate", Const, 0, ""},
+ {"UnixMicro", Func, 17, "func(usec int64) Time"},
+ {"UnixMilli", Func, 17, "func(msec int64) Time"},
+ {"Until", Func, 8, "func(t Time) Duration"},
+ {"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},
+ {"(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, "func(r rune, ranges ...*RangeTable) bool"},
+ {"Inherited", Var, 0, ""},
+ {"Inscriptional_Pahlavi", Var, 0, ""},
+ {"Inscriptional_Parthian", Var, 0, ""},
+ {"Is", Func, 0, "func(rangeTab *RangeTable, r rune) bool"},
+ {"IsControl", Func, 0, "func(r rune) bool"},
+ {"IsDigit", Func, 0, "func(r rune) bool"},
+ {"IsGraphic", Func, 0, "func(r rune) bool"},
+ {"IsLetter", Func, 0, "func(r rune) bool"},
+ {"IsLower", Func, 0, "func(r rune) bool"},
+ {"IsMark", Func, 0, "func(r rune) bool"},
+ {"IsNumber", Func, 0, "func(r rune) bool"},
+ {"IsOneOf", Func, 0, "func(ranges []*RangeTable, r rune) bool"},
+ {"IsPrint", Func, 0, "func(r rune) bool"},
+ {"IsPunct", Func, 0, "func(r rune) bool"},
+ {"IsSpace", Func, 0, "func(r rune) bool"},
+ {"IsSymbol", Func, 0, "func(r rune) bool"},
+ {"IsTitle", Func, 0, "func(r rune) bool"},
+ {"IsUpper", Func, 0, "func(r rune) bool"},
+ {"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, "func(r rune) rune"},
+ {"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, "func(_case int, r rune) rune"},
+ {"ToLower", Func, 0, "func(r rune) rune"},
+ {"ToTitle", Func, 0, "func(r rune) rune"},
+ {"ToUpper", Func, 0, "func(r rune) rune"},
+ {"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},
+ {"AppendRune", Func, 20, "func(a []uint16, r rune) []uint16"},
+ {"Decode", Func, 0, "func(s []uint16) []rune"},
+ {"DecodeRune", Func, 0, "func(r1 rune, r2 rune) rune"},
+ {"Encode", Func, 0, "func(s []rune) []uint16"},
+ {"EncodeRune", Func, 0, "func(r rune) (r1 rune, r2 rune)"},
+ {"IsSurrogate", Func, 0, "func(r rune) bool"},
+ {"RuneLen", Func, 23, "func(r rune) int"},
},
"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},
+ {"AppendRune", Func, 18, "func(p []byte, r rune) []byte"},
+ {"DecodeLastRune", Func, 0, "func(p []byte) (r rune, size int)"},
+ {"DecodeLastRuneInString", Func, 0, "func(s string) (r rune, size int)"},
+ {"DecodeRune", Func, 0, "func(p []byte) (r rune, size int)"},
+ {"DecodeRuneInString", Func, 0, "func(s string) (r rune, size int)"},
+ {"EncodeRune", Func, 0, "func(p []byte, r rune) int"},
+ {"FullRune", Func, 0, "func(p []byte) bool"},
+ {"FullRuneInString", Func, 0, "func(s string) bool"},
+ {"MaxRune", Const, 0, ""},
+ {"RuneCount", Func, 0, "func(p []byte) int"},
+ {"RuneCountInString", Func, 0, "func(s string) (n int)"},
+ {"RuneError", Const, 0, ""},
+ {"RuneLen", Func, 0, "func(r rune) int"},
+ {"RuneSelf", Const, 0, ""},
+ {"RuneStart", Func, 0, "func(b byte) bool"},
+ {"UTFMax", Const, 0, ""},
+ {"Valid", Func, 0, "func(p []byte) bool"},
+ {"ValidRune", Func, 1, "func(r rune) bool"},
+ {"ValidString", Func, 0, "func(s string) bool"},
},
"unique": {
- {"(Handle).Value", Method, 23},
- {"Handle", Type, 23},
- {"Make", Func, 23},
+ {"(Handle).Value", Method, 23, ""},
+ {"Handle", Type, 23, ""},
+ {"Make", Func, 23, "func[T comparable](value T) Handle[T]"},
},
"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},
+ {"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, ""},
},
"weak": {
- {"(Pointer).Value", Method, 24},
- {"Make", Func, 24},
- {"Pointer", Type, 24},
+ {"(Pointer).Value", Method, 24, ""},
+ {"Make", Func, 24, "func[T any](ptr *T) Pointer[T]"},
+ {"Pointer", Type, 24, ""},
},
}
diff --git a/vendor/golang.org/x/tools/internal/stdlib/stdlib.go b/vendor/golang.org/x/tools/internal/stdlib/stdlib.go
index 3d96d3bf68..e223e0f340 100644
--- a/vendor/golang.org/x/tools/internal/stdlib/stdlib.go
+++ b/vendor/golang.org/x/tools/internal/stdlib/stdlib.go
@@ -18,6 +18,14 @@ type Symbol struct {
Name string
Kind Kind
Version Version // Go version that first included the symbol
+ // Signature provides the type of a function (defined only for Kind=Func).
+ // Imported types are denoted as pkg.T; pkg is not fully qualified.
+ // TODO(adonovan): use an unambiguous encoding that is parseable.
+ //
+ // Example2:
+ // func[M ~map[K]V, K comparable, V any](m M) M
+ // func(fi fs.FileInfo, link string) (*Header, error)
+ Signature string // if Kind == stdlib.Func
}
// A Kind indicates the kind of a symbol:
diff --git a/vendor/google.golang.org/genproto/googleapis/api/annotations/annotations.pb.go b/vendor/google.golang.org/genproto/googleapis/api/annotations/annotations.pb.go
index 8b462f3dfe..0b789e2c5e 100644
--- a/vendor/google.golang.org/genproto/googleapis/api/annotations/annotations.pb.go
+++ b/vendor/google.golang.org/genproto/googleapis/api/annotations/annotations.pb.go
@@ -1,4 +1,4 @@
-// Copyright 2024 Google LLC
+// Copyright 2025 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
diff --git a/vendor/google.golang.org/genproto/googleapis/api/annotations/client.pb.go b/vendor/google.golang.org/genproto/googleapis/api/annotations/client.pb.go
index db7806cb99..f840481726 100644
--- a/vendor/google.golang.org/genproto/googleapis/api/annotations/client.pb.go
+++ b/vendor/google.golang.org/genproto/googleapis/api/annotations/client.pb.go
@@ -1,4 +1,4 @@
-// Copyright 2024 Google LLC
+// Copyright 2025 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
diff --git a/vendor/google.golang.org/genproto/googleapis/api/annotations/field_behavior.pb.go b/vendor/google.golang.org/genproto/googleapis/api/annotations/field_behavior.pb.go
index 08505ba3fe..5d583b8660 100644
--- a/vendor/google.golang.org/genproto/googleapis/api/annotations/field_behavior.pb.go
+++ b/vendor/google.golang.org/genproto/googleapis/api/annotations/field_behavior.pb.go
@@ -1,4 +1,4 @@
-// Copyright 2024 Google LLC
+// Copyright 2025 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
diff --git a/vendor/google.golang.org/genproto/googleapis/api/annotations/field_info.pb.go b/vendor/google.golang.org/genproto/googleapis/api/annotations/field_info.pb.go
index a462e7d013..53e9dd1e99 100644
--- a/vendor/google.golang.org/genproto/googleapis/api/annotations/field_info.pb.go
+++ b/vendor/google.golang.org/genproto/googleapis/api/annotations/field_info.pb.go
@@ -1,4 +1,4 @@
-// Copyright 2024 Google LLC
+// Copyright 2025 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
diff --git a/vendor/google.golang.org/genproto/googleapis/api/annotations/http.pb.go b/vendor/google.golang.org/genproto/googleapis/api/annotations/http.pb.go
index c93b4f5248..d30fcee4ce 100644
--- a/vendor/google.golang.org/genproto/googleapis/api/annotations/http.pb.go
+++ b/vendor/google.golang.org/genproto/googleapis/api/annotations/http.pb.go
@@ -1,4 +1,4 @@
-// Copyright 2024 Google LLC
+// Copyright 2025 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
diff --git a/vendor/google.golang.org/genproto/googleapis/api/annotations/resource.pb.go b/vendor/google.golang.org/genproto/googleapis/api/annotations/resource.pb.go
index a1c543a948..175974a869 100644
--- a/vendor/google.golang.org/genproto/googleapis/api/annotations/resource.pb.go
+++ b/vendor/google.golang.org/genproto/googleapis/api/annotations/resource.pb.go
@@ -1,4 +1,4 @@
-// Copyright 2024 Google LLC
+// Copyright 2025 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
diff --git a/vendor/google.golang.org/genproto/googleapis/api/annotations/routing.pb.go b/vendor/google.golang.org/genproto/googleapis/api/annotations/routing.pb.go
index 2b54db3045..b8c4aa71f2 100644
--- a/vendor/google.golang.org/genproto/googleapis/api/annotations/routing.pb.go
+++ b/vendor/google.golang.org/genproto/googleapis/api/annotations/routing.pb.go
@@ -1,4 +1,4 @@
-// Copyright 2024 Google LLC
+// Copyright 2025 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
diff --git a/vendor/google.golang.org/genproto/googleapis/api/expr/v1alpha1/checked.pb.go b/vendor/google.golang.org/genproto/googleapis/api/expr/v1alpha1/checked.pb.go
index 9f81dbcd86..af9c44d93e 100644
--- a/vendor/google.golang.org/genproto/googleapis/api/expr/v1alpha1/checked.pb.go
+++ b/vendor/google.golang.org/genproto/googleapis/api/expr/v1alpha1/checked.pb.go
@@ -1,4 +1,4 @@
-// Copyright 2024 Google LLC
+// Copyright 2025 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
diff --git a/vendor/google.golang.org/genproto/googleapis/api/expr/v1alpha1/eval.pb.go b/vendor/google.golang.org/genproto/googleapis/api/expr/v1alpha1/eval.pb.go
index 0a2ffb5955..4b4f15477f 100644
--- a/vendor/google.golang.org/genproto/googleapis/api/expr/v1alpha1/eval.pb.go
+++ b/vendor/google.golang.org/genproto/googleapis/api/expr/v1alpha1/eval.pb.go
@@ -1,4 +1,4 @@
-// Copyright 2024 Google LLC
+// Copyright 2025 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
diff --git a/vendor/google.golang.org/genproto/googleapis/api/expr/v1alpha1/explain.pb.go b/vendor/google.golang.org/genproto/googleapis/api/expr/v1alpha1/explain.pb.go
index 57aaa2c9f5..ef27e878b9 100644
--- a/vendor/google.golang.org/genproto/googleapis/api/expr/v1alpha1/explain.pb.go
+++ b/vendor/google.golang.org/genproto/googleapis/api/expr/v1alpha1/explain.pb.go
@@ -1,4 +1,4 @@
-// Copyright 2024 Google LLC
+// Copyright 2025 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
diff --git a/vendor/google.golang.org/genproto/googleapis/api/expr/v1alpha1/syntax.pb.go b/vendor/google.golang.org/genproto/googleapis/api/expr/v1alpha1/syntax.pb.go
index c90c6015d2..7b973217ed 100644
--- a/vendor/google.golang.org/genproto/googleapis/api/expr/v1alpha1/syntax.pb.go
+++ b/vendor/google.golang.org/genproto/googleapis/api/expr/v1alpha1/syntax.pb.go
@@ -1,4 +1,4 @@
-// Copyright 2024 Google LLC
+// Copyright 2025 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
diff --git a/vendor/google.golang.org/genproto/googleapis/api/expr/v1alpha1/value.pb.go b/vendor/google.golang.org/genproto/googleapis/api/expr/v1alpha1/value.pb.go
index 0a5ca6a1b9..4ba3c7b2a8 100644
--- a/vendor/google.golang.org/genproto/googleapis/api/expr/v1alpha1/value.pb.go
+++ b/vendor/google.golang.org/genproto/googleapis/api/expr/v1alpha1/value.pb.go
@@ -1,4 +1,4 @@
-// Copyright 2024 Google LLC
+// Copyright 2025 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
diff --git a/vendor/google.golang.org/genproto/googleapis/api/httpbody/httpbody.pb.go b/vendor/google.golang.org/genproto/googleapis/api/httpbody/httpbody.pb.go
index f388426b08..d083dde3ed 100644
--- a/vendor/google.golang.org/genproto/googleapis/api/httpbody/httpbody.pb.go
+++ b/vendor/google.golang.org/genproto/googleapis/api/httpbody/httpbody.pb.go
@@ -1,4 +1,4 @@
-// Copyright 2024 Google LLC
+// Copyright 2025 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
diff --git a/vendor/google.golang.org/genproto/googleapis/api/launch_stage.pb.go b/vendor/google.golang.org/genproto/googleapis/api/launch_stage.pb.go
index 498020e33c..a69c1d4734 100644
--- a/vendor/google.golang.org/genproto/googleapis/api/launch_stage.pb.go
+++ b/vendor/google.golang.org/genproto/googleapis/api/launch_stage.pb.go
@@ -1,4 +1,4 @@
-// Copyright 2024 Google LLC
+// Copyright 2025 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
diff --git a/vendor/google.golang.org/genproto/googleapis/rpc/errdetails/error_details.pb.go b/vendor/google.golang.org/genproto/googleapis/rpc/errdetails/error_details.pb.go
index bed9216d8d..e017ef0714 100644
--- a/vendor/google.golang.org/genproto/googleapis/rpc/errdetails/error_details.pb.go
+++ b/vendor/google.golang.org/genproto/googleapis/rpc/errdetails/error_details.pb.go
@@ -703,6 +703,65 @@ type QuotaFailure_Violation struct {
// For example: "Service disabled" or "Daily Limit for read operations
// exceeded".
Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"`
+ // The API Service from which the `QuotaFailure.Violation` orginates. In
+ // some cases, Quota issues originate from an API Service other than the one
+ // that was called. In other words, a dependency of the called API Service
+ // could be the cause of the `QuotaFailure`, and this field would have the
+ // dependency API service name.
+ //
+ // For example, if the called API is Kubernetes Engine API
+ // (container.googleapis.com), and a quota violation occurs in the
+ // Kubernetes Engine API itself, this field would be
+ // "container.googleapis.com". On the other hand, if the quota violation
+ // occurs when the Kubernetes Engine API creates VMs in the Compute Engine
+ // API (compute.googleapis.com), this field would be
+ // "compute.googleapis.com".
+ ApiService string `protobuf:"bytes,3,opt,name=api_service,json=apiService,proto3" json:"api_service,omitempty"`
+ // The metric of the violated quota. A quota metric is a named counter to
+ // measure usage, such as API requests or CPUs. When an activity occurs in a
+ // service, such as Virtual Machine allocation, one or more quota metrics
+ // may be affected.
+ //
+ // For example, "compute.googleapis.com/cpus_per_vm_family",
+ // "storage.googleapis.com/internet_egress_bandwidth".
+ QuotaMetric string `protobuf:"bytes,4,opt,name=quota_metric,json=quotaMetric,proto3" json:"quota_metric,omitempty"`
+ // The id of the violated quota. Also know as "limit name", this is the
+ // unique identifier of a quota in the context of an API service.
+ //
+ // For example, "CPUS-PER-VM-FAMILY-per-project-region".
+ QuotaId string `protobuf:"bytes,5,opt,name=quota_id,json=quotaId,proto3" json:"quota_id,omitempty"`
+ // The dimensions of the violated quota. Every non-global quota is enforced
+ // on a set of dimensions. While quota metric defines what to count, the
+ // dimensions specify for what aspects the counter should be increased.
+ //
+ // For example, the quota "CPUs per region per VM family" enforces a limit
+ // on the metric "compute.googleapis.com/cpus_per_vm_family" on dimensions
+ // "region" and "vm_family". And if the violation occurred in region
+ // "us-central1" and for VM family "n1", the quota_dimensions would be,
+ //
+ // {
+ // "region": "us-central1",
+ // "vm_family": "n1",
+ // }
+ //
+ // When a quota is enforced globally, the quota_dimensions would always be
+ // empty.
+ QuotaDimensions map[string]string `protobuf:"bytes,6,rep,name=quota_dimensions,json=quotaDimensions,proto3" json:"quota_dimensions,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
+ // The enforced quota value at the time of the `QuotaFailure`.
+ //
+ // For example, if the enforced quota value at the time of the
+ // `QuotaFailure` on the number of CPUs is "10", then the value of this
+ // field would reflect this quantity.
+ QuotaValue int64 `protobuf:"varint,7,opt,name=quota_value,json=quotaValue,proto3" json:"quota_value,omitempty"`
+ // The new quota value being rolled out at the time of the violation. At the
+ // completion of the rollout, this value will be enforced in place of
+ // quota_value. If no rollout is in progress at the time of the violation,
+ // this field is not set.
+ //
+ // For example, if at the time of the violation a rollout is in progress
+ // changing the number of CPUs quota from 10 to 20, 20 would be the value of
+ // this field.
+ FutureQuotaValue *int64 `protobuf:"varint,8,opt,name=future_quota_value,json=futureQuotaValue,proto3,oneof" json:"future_quota_value,omitempty"`
}
func (x *QuotaFailure_Violation) Reset() {
@@ -751,6 +810,48 @@ func (x *QuotaFailure_Violation) GetDescription() string {
return ""
}
+func (x *QuotaFailure_Violation) GetApiService() string {
+ if x != nil {
+ return x.ApiService
+ }
+ return ""
+}
+
+func (x *QuotaFailure_Violation) GetQuotaMetric() string {
+ if x != nil {
+ return x.QuotaMetric
+ }
+ return ""
+}
+
+func (x *QuotaFailure_Violation) GetQuotaId() string {
+ if x != nil {
+ return x.QuotaId
+ }
+ return ""
+}
+
+func (x *QuotaFailure_Violation) GetQuotaDimensions() map[string]string {
+ if x != nil {
+ return x.QuotaDimensions
+ }
+ return nil
+}
+
+func (x *QuotaFailure_Violation) GetQuotaValue() int64 {
+ if x != nil {
+ return x.QuotaValue
+ }
+ return 0
+}
+
+func (x *QuotaFailure_Violation) GetFutureQuotaValue() int64 {
+ if x != nil && x.FutureQuotaValue != nil {
+ return *x.FutureQuotaValue
+ }
+ return 0
+}
+
// A message type used to describe a single precondition failure.
type PreconditionFailure_Violation struct {
state protoimpl.MessageState
@@ -775,7 +876,7 @@ type PreconditionFailure_Violation struct {
func (x *PreconditionFailure_Violation) Reset() {
*x = PreconditionFailure_Violation{}
if protoimpl.UnsafeEnabled {
- mi := &file_google_rpc_error_details_proto_msgTypes[12]
+ mi := &file_google_rpc_error_details_proto_msgTypes[13]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -788,7 +889,7 @@ func (x *PreconditionFailure_Violation) String() string {
func (*PreconditionFailure_Violation) ProtoMessage() {}
func (x *PreconditionFailure_Violation) ProtoReflect() protoreflect.Message {
- mi := &file_google_rpc_error_details_proto_msgTypes[12]
+ mi := &file_google_rpc_error_details_proto_msgTypes[13]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -886,7 +987,7 @@ type BadRequest_FieldViolation struct {
func (x *BadRequest_FieldViolation) Reset() {
*x = BadRequest_FieldViolation{}
if protoimpl.UnsafeEnabled {
- mi := &file_google_rpc_error_details_proto_msgTypes[13]
+ mi := &file_google_rpc_error_details_proto_msgTypes[14]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -899,7 +1000,7 @@ func (x *BadRequest_FieldViolation) String() string {
func (*BadRequest_FieldViolation) ProtoMessage() {}
func (x *BadRequest_FieldViolation) ProtoReflect() protoreflect.Message {
- mi := &file_google_rpc_error_details_proto_msgTypes[13]
+ mi := &file_google_rpc_error_details_proto_msgTypes[14]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -958,7 +1059,7 @@ type Help_Link struct {
func (x *Help_Link) Reset() {
*x = Help_Link{}
if protoimpl.UnsafeEnabled {
- mi := &file_google_rpc_error_details_proto_msgTypes[14]
+ mi := &file_google_rpc_error_details_proto_msgTypes[15]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -971,7 +1072,7 @@ func (x *Help_Link) String() string {
func (*Help_Link) ProtoMessage() {}
func (x *Help_Link) ProtoReflect() protoreflect.Message {
- mi := &file_google_rpc_error_details_proto_msgTypes[14]
+ mi := &file_google_rpc_error_details_proto_msgTypes[15]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -1029,79 +1130,102 @@ var file_google_rpc_error_details_proto_rawDesc = []byte{
0x0a, 0x0d, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x5f, 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x18,
0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x45, 0x6e, 0x74, 0x72,
0x69, 0x65, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x18, 0x02, 0x20,
- 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x22, 0x9b, 0x01, 0x0a, 0x0c,
+ 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x22, 0x8e, 0x04, 0x0a, 0x0c,
0x51, 0x75, 0x6f, 0x74, 0x61, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x12, 0x42, 0x0a, 0x0a,
0x76, 0x69, 0x6f, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b,
0x32, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x51, 0x75,
0x6f, 0x74, 0x61, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x2e, 0x56, 0x69, 0x6f, 0x6c, 0x61,
0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x76, 0x69, 0x6f, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73,
- 0x1a, 0x47, 0x0a, 0x09, 0x56, 0x69, 0x6f, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a,
- 0x07, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07,
- 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72,
- 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65,
- 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xbd, 0x01, 0x0a, 0x13, 0x50, 0x72,
- 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72,
- 0x65, 0x12, 0x49, 0x0a, 0x0a, 0x76, 0x69, 0x6f, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18,
- 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72,
- 0x70, 0x63, 0x2e, 0x50, 0x72, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x46,
- 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x2e, 0x56, 0x69, 0x6f, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e,
- 0x52, 0x0a, 0x76, 0x69, 0x6f, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0x5b, 0x0a, 0x09,
- 0x56, 0x69, 0x6f, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70,
- 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a,
- 0x07, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07,
- 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72,
- 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65,
- 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x8c, 0x02, 0x0a, 0x0a, 0x42, 0x61,
- 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x50, 0x0a, 0x10, 0x66, 0x69, 0x65, 0x6c,
- 0x64, 0x5f, 0x76, 0x69, 0x6f, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03,
- 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e,
- 0x42, 0x61, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64,
- 0x56, 0x69, 0x6f, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0f, 0x66, 0x69, 0x65, 0x6c, 0x64,
- 0x56, 0x69, 0x6f, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0xab, 0x01, 0x0a, 0x0e, 0x46,
- 0x69, 0x65, 0x6c, 0x64, 0x56, 0x69, 0x6f, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x14, 0x0a,
- 0x05, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x66, 0x69,
- 0x65, 0x6c, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69,
- 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69,
- 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18,
- 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x49, 0x0a,
- 0x11, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61,
- 0x67, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
- 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x4d,
- 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x10, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x7a, 0x65,
- 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x4f, 0x0a, 0x0b, 0x52, 0x65, 0x71, 0x75,
- 0x65, 0x73, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65,
- 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x72, 0x65, 0x71,
- 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x65, 0x72, 0x76, 0x69, 0x6e,
- 0x67, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x73, 0x65,
- 0x72, 0x76, 0x69, 0x6e, 0x67, 0x44, 0x61, 0x74, 0x61, 0x22, 0x90, 0x01, 0x0a, 0x0c, 0x52, 0x65,
- 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x65,
- 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28,
- 0x09, 0x52, 0x0c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12,
- 0x23, 0x0a, 0x0d, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65,
- 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65,
- 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x18, 0x03, 0x20,
- 0x01, 0x28, 0x09, 0x52, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65,
- 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52,
- 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x6f, 0x0a, 0x04,
- 0x48, 0x65, 0x6c, 0x70, 0x12, 0x2b, 0x0a, 0x05, 0x6c, 0x69, 0x6e, 0x6b, 0x73, 0x18, 0x01, 0x20,
- 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63,
- 0x2e, 0x48, 0x65, 0x6c, 0x70, 0x2e, 0x4c, 0x69, 0x6e, 0x6b, 0x52, 0x05, 0x6c, 0x69, 0x6e, 0x6b,
- 0x73, 0x1a, 0x3a, 0x0a, 0x04, 0x4c, 0x69, 0x6e, 0x6b, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73,
- 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b,
- 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x10, 0x0a, 0x03, 0x75,
- 0x72, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x22, 0x44, 0x0a,
- 0x10, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67,
- 0x65, 0x12, 0x16, 0x0a, 0x06, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28,
- 0x09, 0x52, 0x06, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73,
- 0x73, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73,
- 0x61, 0x67, 0x65, 0x42, 0x6c, 0x0a, 0x0e, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
- 0x65, 0x2e, 0x72, 0x70, 0x63, 0x42, 0x11, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x44, 0x65, 0x74, 0x61,
- 0x69, 0x6c, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3f, 0x67, 0x6f, 0x6f, 0x67,
- 0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x67, 0x65,
- 0x6e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69,
- 0x73, 0x2f, 0x72, 0x70, 0x63, 0x2f, 0x65, 0x72, 0x72, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73,
- 0x3b, 0x65, 0x72, 0x72, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0xa2, 0x02, 0x03, 0x52, 0x50,
- 0x43, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+ 0x1a, 0xb9, 0x03, 0x0a, 0x09, 0x56, 0x69, 0x6f, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x18,
+ 0x0a, 0x07, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
+ 0x07, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63,
+ 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64,
+ 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x70,
+ 0x69, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52,
+ 0x0a, 0x61, 0x70, 0x69, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x71,
+ 0x75, 0x6f, 0x74, 0x61, 0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x18, 0x04, 0x20, 0x01, 0x28,
+ 0x09, 0x52, 0x0b, 0x71, 0x75, 0x6f, 0x74, 0x61, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x12, 0x19,
+ 0x0a, 0x08, 0x71, 0x75, 0x6f, 0x74, 0x61, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09,
+ 0x52, 0x07, 0x71, 0x75, 0x6f, 0x74, 0x61, 0x49, 0x64, 0x12, 0x62, 0x0a, 0x10, 0x71, 0x75, 0x6f,
+ 0x74, 0x61, 0x5f, 0x64, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x06, 0x20,
+ 0x03, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63,
+ 0x2e, 0x51, 0x75, 0x6f, 0x74, 0x61, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x2e, 0x56, 0x69,
+ 0x6f, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x51, 0x75, 0x6f, 0x74, 0x61, 0x44, 0x69, 0x6d,
+ 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0f, 0x71, 0x75,
+ 0x6f, 0x74, 0x61, 0x44, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x1f, 0x0a,
+ 0x0b, 0x71, 0x75, 0x6f, 0x74, 0x61, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x07, 0x20, 0x01,
+ 0x28, 0x03, 0x52, 0x0a, 0x71, 0x75, 0x6f, 0x74, 0x61, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x31,
+ 0x0a, 0x12, 0x66, 0x75, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x71, 0x75, 0x6f, 0x74, 0x61, 0x5f, 0x76,
+ 0x61, 0x6c, 0x75, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x48, 0x00, 0x52, 0x10, 0x66, 0x75,
+ 0x74, 0x75, 0x72, 0x65, 0x51, 0x75, 0x6f, 0x74, 0x61, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x88, 0x01,
+ 0x01, 0x1a, 0x42, 0x0a, 0x14, 0x51, 0x75, 0x6f, 0x74, 0x61, 0x44, 0x69, 0x6d, 0x65, 0x6e, 0x73,
+ 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79,
+ 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76,
+ 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75,
+ 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x66, 0x75, 0x74, 0x75, 0x72, 0x65,
+ 0x5f, 0x71, 0x75, 0x6f, 0x74, 0x61, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0xbd, 0x01, 0x0a,
+ 0x13, 0x50, 0x72, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x61, 0x69,
+ 0x6c, 0x75, 0x72, 0x65, 0x12, 0x49, 0x0a, 0x0a, 0x76, 0x69, 0x6f, 0x6c, 0x61, 0x74, 0x69, 0x6f,
+ 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
+ 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x72, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69,
+ 0x6f, 0x6e, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x2e, 0x56, 0x69, 0x6f, 0x6c, 0x61, 0x74,
+ 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x76, 0x69, 0x6f, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x1a,
+ 0x5b, 0x0a, 0x09, 0x56, 0x69, 0x6f, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04,
+ 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65,
+ 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28,
+ 0x09, 0x52, 0x07, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65,
+ 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52,
+ 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x8c, 0x02, 0x0a,
+ 0x0a, 0x42, 0x61, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x50, 0x0a, 0x10, 0x66,
+ 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x76, 0x69, 0x6f, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18,
+ 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72,
+ 0x70, 0x63, 0x2e, 0x42, 0x61, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x46, 0x69,
+ 0x65, 0x6c, 0x64, 0x56, 0x69, 0x6f, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0f, 0x66, 0x69,
+ 0x65, 0x6c, 0x64, 0x56, 0x69, 0x6f, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0xab, 0x01,
+ 0x0a, 0x0e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x56, 0x69, 0x6f, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e,
+ 0x12, 0x14, 0x0a, 0x05, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
+ 0x05, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69,
+ 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73,
+ 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x61, 0x73,
+ 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e,
+ 0x12, 0x49, 0x0a, 0x11, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x5f, 0x6d, 0x65,
+ 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f,
+ 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x7a,
+ 0x65, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x10, 0x6c, 0x6f, 0x63, 0x61, 0x6c,
+ 0x69, 0x7a, 0x65, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x4f, 0x0a, 0x0b, 0x52,
+ 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x65,
+ 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09,
+ 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x65, 0x72,
+ 0x76, 0x69, 0x6e, 0x67, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
+ 0x0b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x6e, 0x67, 0x44, 0x61, 0x74, 0x61, 0x22, 0x90, 0x01, 0x0a,
+ 0x0c, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x23, 0x0a,
+ 0x0d, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01,
+ 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79,
+ 0x70, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6e,
+ 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x72, 0x65, 0x73, 0x6f, 0x75,
+ 0x72, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72,
+ 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x12, 0x20, 0x0a,
+ 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01,
+ 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x22,
+ 0x6f, 0x0a, 0x04, 0x48, 0x65, 0x6c, 0x70, 0x12, 0x2b, 0x0a, 0x05, 0x6c, 0x69, 0x6e, 0x6b, 0x73,
+ 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
+ 0x72, 0x70, 0x63, 0x2e, 0x48, 0x65, 0x6c, 0x70, 0x2e, 0x4c, 0x69, 0x6e, 0x6b, 0x52, 0x05, 0x6c,
+ 0x69, 0x6e, 0x6b, 0x73, 0x1a, 0x3a, 0x0a, 0x04, 0x4c, 0x69, 0x6e, 0x6b, 0x12, 0x20, 0x0a, 0x0b,
+ 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28,
+ 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x10,
+ 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c,
+ 0x22, 0x44, 0x0a, 0x10, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x4d, 0x65, 0x73,
+ 0x73, 0x61, 0x67, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x65, 0x18, 0x01,
+ 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x65, 0x12, 0x18, 0x0a, 0x07,
+ 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d,
+ 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x42, 0x6c, 0x0a, 0x0e, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f,
+ 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x42, 0x11, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x44,
+ 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3f, 0x67,
+ 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f, 0x72, 0x67,
+ 0x2f, 0x67, 0x65, 0x6e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
+ 0x61, 0x70, 0x69, 0x73, 0x2f, 0x72, 0x70, 0x63, 0x2f, 0x65, 0x72, 0x72, 0x64, 0x65, 0x74, 0x61,
+ 0x69, 0x6c, 0x73, 0x3b, 0x65, 0x72, 0x72, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0xa2, 0x02,
+ 0x03, 0x52, 0x50, 0x43, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (
@@ -1116,7 +1240,7 @@ func file_google_rpc_error_details_proto_rawDescGZIP() []byte {
return file_google_rpc_error_details_proto_rawDescData
}
-var file_google_rpc_error_details_proto_msgTypes = make([]protoimpl.MessageInfo, 15)
+var file_google_rpc_error_details_proto_msgTypes = make([]protoimpl.MessageInfo, 16)
var file_google_rpc_error_details_proto_goTypes = []interface{}{
(*ErrorInfo)(nil), // 0: google.rpc.ErrorInfo
(*RetryInfo)(nil), // 1: google.rpc.RetryInfo
@@ -1130,24 +1254,26 @@ var file_google_rpc_error_details_proto_goTypes = []interface{}{
(*LocalizedMessage)(nil), // 9: google.rpc.LocalizedMessage
nil, // 10: google.rpc.ErrorInfo.MetadataEntry
(*QuotaFailure_Violation)(nil), // 11: google.rpc.QuotaFailure.Violation
- (*PreconditionFailure_Violation)(nil), // 12: google.rpc.PreconditionFailure.Violation
- (*BadRequest_FieldViolation)(nil), // 13: google.rpc.BadRequest.FieldViolation
- (*Help_Link)(nil), // 14: google.rpc.Help.Link
- (*durationpb.Duration)(nil), // 15: google.protobuf.Duration
+ nil, // 12: google.rpc.QuotaFailure.Violation.QuotaDimensionsEntry
+ (*PreconditionFailure_Violation)(nil), // 13: google.rpc.PreconditionFailure.Violation
+ (*BadRequest_FieldViolation)(nil), // 14: google.rpc.BadRequest.FieldViolation
+ (*Help_Link)(nil), // 15: google.rpc.Help.Link
+ (*durationpb.Duration)(nil), // 16: google.protobuf.Duration
}
var file_google_rpc_error_details_proto_depIdxs = []int32{
10, // 0: google.rpc.ErrorInfo.metadata:type_name -> google.rpc.ErrorInfo.MetadataEntry
- 15, // 1: google.rpc.RetryInfo.retry_delay:type_name -> google.protobuf.Duration
+ 16, // 1: google.rpc.RetryInfo.retry_delay:type_name -> google.protobuf.Duration
11, // 2: google.rpc.QuotaFailure.violations:type_name -> google.rpc.QuotaFailure.Violation
- 12, // 3: google.rpc.PreconditionFailure.violations:type_name -> google.rpc.PreconditionFailure.Violation
- 13, // 4: google.rpc.BadRequest.field_violations:type_name -> google.rpc.BadRequest.FieldViolation
- 14, // 5: google.rpc.Help.links:type_name -> google.rpc.Help.Link
- 9, // 6: google.rpc.BadRequest.FieldViolation.localized_message:type_name -> google.rpc.LocalizedMessage
- 7, // [7:7] is the sub-list for method output_type
- 7, // [7:7] is the sub-list for method input_type
- 7, // [7:7] is the sub-list for extension type_name
- 7, // [7:7] is the sub-list for extension extendee
- 0, // [0:7] is the sub-list for field type_name
+ 13, // 3: google.rpc.PreconditionFailure.violations:type_name -> google.rpc.PreconditionFailure.Violation
+ 14, // 4: google.rpc.BadRequest.field_violations:type_name -> google.rpc.BadRequest.FieldViolation
+ 15, // 5: google.rpc.Help.links:type_name -> google.rpc.Help.Link
+ 12, // 6: google.rpc.QuotaFailure.Violation.quota_dimensions:type_name -> google.rpc.QuotaFailure.Violation.QuotaDimensionsEntry
+ 9, // 7: google.rpc.BadRequest.FieldViolation.localized_message:type_name -> google.rpc.LocalizedMessage
+ 8, // [8:8] is the sub-list for method output_type
+ 8, // [8:8] is the sub-list for method input_type
+ 8, // [8:8] is the sub-list for extension type_name
+ 8, // [8:8] is the sub-list for extension extendee
+ 0, // [0:8] is the sub-list for field type_name
}
func init() { file_google_rpc_error_details_proto_init() }
@@ -1288,7 +1414,7 @@ func file_google_rpc_error_details_proto_init() {
return nil
}
}
- file_google_rpc_error_details_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
+ file_google_rpc_error_details_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*PreconditionFailure_Violation); i {
case 0:
return &v.state
@@ -1300,7 +1426,7 @@ func file_google_rpc_error_details_proto_init() {
return nil
}
}
- file_google_rpc_error_details_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
+ file_google_rpc_error_details_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*BadRequest_FieldViolation); i {
case 0:
return &v.state
@@ -1312,7 +1438,7 @@ func file_google_rpc_error_details_proto_init() {
return nil
}
}
- file_google_rpc_error_details_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
+ file_google_rpc_error_details_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*Help_Link); i {
case 0:
return &v.state
@@ -1325,13 +1451,14 @@ func file_google_rpc_error_details_proto_init() {
}
}
}
+ file_google_rpc_error_details_proto_msgTypes[11].OneofWrappers = []interface{}{}
type x struct{}
out := protoimpl.TypeBuilder{
File: protoimpl.DescBuilder{
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_google_rpc_error_details_proto_rawDesc,
NumEnums: 0,
- NumMessages: 15,
+ NumMessages: 16,
NumExtensions: 0,
NumServices: 0,
},
diff --git a/vendor/google.golang.org/grpc/CONTRIBUTING.md b/vendor/google.golang.org/grpc/CONTRIBUTING.md
index d9bfa6e1e7..1de0ce6669 100644
--- a/vendor/google.golang.org/grpc/CONTRIBUTING.md
+++ b/vendor/google.golang.org/grpc/CONTRIBUTING.md
@@ -1,73 +1,102 @@
# How to contribute
-We definitely welcome your patches and contributions to gRPC! Please read the gRPC
-organization's [governance rules](https://github.com/grpc/grpc-community/blob/master/governance.md)
-and [contribution guidelines](https://github.com/grpc/grpc-community/blob/master/CONTRIBUTING.md) before proceeding.
+We welcome your patches and contributions to gRPC! Please read the gRPC
+organization's [governance
+rules](https://github.com/grpc/grpc-community/blob/master/governance.md) before
+proceeding.
If you are new to GitHub, please start by reading [Pull Request howto](https://help.github.com/articles/about-pull-requests/)
## Legal requirements
In order to protect both you and ourselves, you will need to sign the
-[Contributor License Agreement](https://identity.linuxfoundation.org/projects/cncf).
+[Contributor License
+Agreement](https://identity.linuxfoundation.org/projects/cncf). When you create
+your first PR, a link will be added as a comment that contains the steps needed
+to complete this process.
-## Guidelines for Pull Requests
-How to get your contributions merged smoothly and quickly.
+## Getting Started
-- Create **small PRs** that are narrowly focused on **addressing a single
- concern**. We often times receive PRs that are trying to fix several things at
- a time, but only one fix is considered acceptable, nothing gets merged and
- both author's & review's time is wasted. Create more PRs to address different
- concerns and everyone will be happy.
+A great way to start is by searching through our open issues. [Unassigned issues
+labeled as "help
+wanted"](https://github.com/grpc/grpc-go/issues?q=sort%3Aupdated-desc%20is%3Aissue%20is%3Aopen%20label%3A%22Status%3A%20Help%20Wanted%22%20no%3Aassignee)
+are especially nice for first-time contributors, as they should be well-defined
+problems that already have agreed-upon solutions.
-- If you are searching for features to work on, issues labeled [Status: Help
- Wanted](https://github.com/grpc/grpc-go/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%22Status%3A+Help+Wanted%22)
- is a great place to start. These issues are well-documented and usually can be
- resolved with a single pull request.
+## Code Style
-- If you are adding a new file, make sure it has the copyright message template
- at the top as a comment. You can copy over the message from an existing file
- and update the year.
+We follow [Google's published Go style
+guide](https://google.github.io/styleguide/go/). Note that there are three
+primary documents that make up this style guide; please follow them as closely
+as possible. If a reviewer recommends something that contradicts those
+guidelines, there may be valid reasons to do so, but it should be rare.
-- The grpc package should only depend on standard Go packages and a small number
- of exceptions. If your contribution introduces new dependencies which are NOT
- in the [list](https://godoc.org/google.golang.org/grpc?imports), you need a
- discussion with gRPC-Go authors and consultants.
+## Guidelines for Pull Requests
-- For speculative changes, consider opening an issue and discussing it first. If
- you are suggesting a behavioral or API change, consider starting with a [gRFC
- proposal](https://github.com/grpc/proposal).
+How to get your contributions merged smoothly and quickly:
+
+- Create **small PRs** that are narrowly focused on **addressing a single
+ concern**. We often receive PRs that attempt to fix several things at the same
+ time, and if one part of the PR has a problem, that will hold up the entire
+ PR.
+
+- For **speculative changes**, consider opening an issue and discussing it
+ first. If you are suggesting a behavioral or API change, consider starting
+ with a [gRFC proposal](https://github.com/grpc/proposal). Many new features
+ that are not bug fixes will require cross-language agreement.
+
+- If you want to fix **formatting or style**, consider whether your changes are
+ an obvious improvement or might be considered a personal preference. If a
+ style change is based on preference, it likely will not be accepted. If it
+ corrects widely agreed-upon anti-patterns, then please do create a PR and
+ explain the benefits of the change.
+
+- For correcting **misspellings**, please be aware that we use some terms that
+ are sometimes flagged by spell checkers. As an example, "if an only if" is
+ often written as "iff". Please do not make spelling correction changes unless
+ you are certain they are misspellings.
- Provide a good **PR description** as a record of **what** change is being made
and **why** it was made. Link to a GitHub issue if it exists.
-- If you want to fix formatting or style, consider whether your changes are an
- obvious improvement or might be considered a personal preference. If a style
- change is based on preference, it likely will not be accepted. If it corrects
- widely agreed-upon anti-patterns, then please do create a PR and explain the
- benefits of the change.
+- Maintain a **clean commit history** and use **meaningful commit messages**.
+ PRs with messy commit histories are difficult to review and won't be merged.
+ Before sending your PR, ensure your changes are based on top of the latest
+ `upstream/master` commits, and avoid rebasing in the middle of a code review.
+ You should **never use `git push -f`** unless absolutely necessary during a
+ review, as it can interfere with GitHub's tracking of comments.
-- Unless your PR is trivial, you should expect there will be reviewer comments
- that you'll need to address before merging. We'll mark it as `Status: Requires
- Reporter Clarification` if we expect you to respond to these comments in a
- timely manner. If the PR remains inactive for 6 days, it will be marked as
- `stale` and automatically close 7 days after that if we don't hear back from
- you.
+- **All tests need to be passing** before your change can be merged. We
+ recommend you run tests locally before creating your PR to catch breakages
+ early on:
-- Maintain **clean commit history** and use **meaningful commit messages**. PRs
- with messy commit history are difficult to review and won't be merged. Use
- `rebase -i upstream/master` to curate your commit history and/or to bring in
- latest changes from master (but avoid rebasing in the middle of a code
- review).
+ - `./scripts/vet.sh` to catch vet errors.
+ - `go test -cpu 1,4 -timeout 7m ./...` to run the tests.
+ - `go test -race -cpu 1,4 -timeout 7m ./...` to run tests in race mode.
-- Keep your PR up to date with upstream/master (if there are merge conflicts, we
- can't really merge your change).
+ Note that we have a multi-module repo, so `go test` commands may need to be
+ run from the root of each module in order to cause all tests to run.
-- **All tests need to be passing** before your change can be merged. We
- recommend you **run tests locally** before creating your PR to catch breakages
- early on.
- - `./scripts/vet.sh` to catch vet errors
- - `go test -cpu 1,4 -timeout 7m ./...` to run the tests
- - `go test -race -cpu 1,4 -timeout 7m ./...` to run tests in race mode
+ *Alternatively*, you may find it easier to push your changes to your fork on
+ GitHub, which will trigger a GitHub Actions run that you can use to verify
+ everything is passing.
+
+- If you are adding a new file, make sure it has the **copyright message**
+ template at the top as a comment. You can copy the message from an existing
+ file and update the year.
+
+- The grpc package should only depend on standard Go packages and a small number
+ of exceptions. **If your contribution introduces new dependencies**, you will
+ need a discussion with gRPC-Go maintainers. A GitHub action check will run on
+ every PR, and will flag any transitive dependency changes from any public
+ package.
+
+- Unless your PR is trivial, you should **expect reviewer comments** that you
+ will need to address before merging. We'll label the PR as `Status: Requires
+ Reporter Clarification` if we expect you to respond to these comments in a
+ timely manner. If the PR remains inactive for 6 days, it will be marked as
+ `stale`, and we will automatically close it after 7 days if we don't hear back
+ from you. Please feel free to ping issues or bugs if you do not get a response
+ within a week.
-- Exceptions to the rules can be made if there's a compelling reason for doing so.
+- Exceptions to the rules can be made if there's a compelling reason to do so.
diff --git a/vendor/google.golang.org/grpc/MAINTAINERS.md b/vendor/google.golang.org/grpc/MAINTAINERS.md
index 5d4096d46a..df35bb9a88 100644
--- a/vendor/google.golang.org/grpc/MAINTAINERS.md
+++ b/vendor/google.golang.org/grpc/MAINTAINERS.md
@@ -9,21 +9,19 @@ for general contribution guidelines.
## Maintainers (in alphabetical order)
-- [aranjans](https://github.com/aranjans), Google LLC
- [arjan-bal](https://github.com/arjan-bal), Google LLC
- [arvindbr8](https://github.com/arvindbr8), Google LLC
- [atollena](https://github.com/atollena), Datadog, Inc.
- [dfawley](https://github.com/dfawley), Google LLC
- [easwars](https://github.com/easwars), Google LLC
-- [erm-g](https://github.com/erm-g), Google LLC
- [gtcooke94](https://github.com/gtcooke94), Google LLC
-- [purnesh42h](https://github.com/purnesh42h), Google LLC
-- [zasweq](https://github.com/zasweq), Google LLC
## Emeritus Maintainers (in alphabetical order)
- [adelez](https://github.com/adelez)
+- [aranjans](https://github.com/aranjans)
- [canguler](https://github.com/canguler)
- [cesarghali](https://github.com/cesarghali)
+- [erm-g](https://github.com/erm-g)
- [iamqizhao](https://github.com/iamqizhao)
- [jeanbza](https://github.com/jeanbza)
- [jtattermusch](https://github.com/jtattermusch)
@@ -32,5 +30,7 @@ for general contribution guidelines.
- [matt-kwong](https://github.com/matt-kwong)
- [menghanl](https://github.com/menghanl)
- [nicolasnoble](https://github.com/nicolasnoble)
+- [purnesh42h](https://github.com/purnesh42h)
- [srini100](https://github.com/srini100)
- [yongni](https://github.com/yongni)
+- [zasweq](https://github.com/zasweq)
diff --git a/vendor/google.golang.org/grpc/README.md b/vendor/google.golang.org/grpc/README.md
index b572707c62..f9a88d597e 100644
--- a/vendor/google.golang.org/grpc/README.md
+++ b/vendor/google.golang.org/grpc/README.md
@@ -32,6 +32,7 @@ import "google.golang.org/grpc"
- [Low-level technical docs](Documentation) from this repository
- [Performance benchmark][]
- [Examples](examples)
+- [Contribution guidelines](CONTRIBUTING.md)
## FAQ
diff --git a/vendor/google.golang.org/grpc/balancer/balancer.go b/vendor/google.golang.org/grpc/balancer/balancer.go
index c9b343c715..b1264017db 100644
--- a/vendor/google.golang.org/grpc/balancer/balancer.go
+++ b/vendor/google.golang.org/grpc/balancer/balancer.go
@@ -360,6 +360,10 @@ type Balancer interface {
// call SubConn.Shutdown for its existing SubConns; however, this will be
// required in a future release, so it is recommended.
Close()
+ // ExitIdle instructs the LB policy to reconnect to backends / exit the
+ // IDLE state, if appropriate and possible. Note that SubConns that enter
+ // the IDLE state will not reconnect until SubConn.Connect is called.
+ ExitIdle()
}
// ExitIdler is an optional interface for balancers to implement. If
@@ -367,8 +371,8 @@ type Balancer interface {
// the ClientConn is idle. If unimplemented, ClientConn.Connect will cause
// all SubConns to connect.
//
-// Notice: it will be required for all balancers to implement this in a future
-// release.
+// Deprecated: All balancers must implement this interface. This interface will
+// be removed in a future release.
type ExitIdler interface {
// ExitIdle instructs the LB policy to reconnect to backends / exit the
// IDLE state, if appropriate and possible. Note that SubConns that enter
diff --git a/vendor/google.golang.org/grpc/balancer/base/balancer.go b/vendor/google.golang.org/grpc/balancer/base/balancer.go
index d5ed172ae6..4d576876d8 100644
--- a/vendor/google.golang.org/grpc/balancer/base/balancer.go
+++ b/vendor/google.golang.org/grpc/balancer/base/balancer.go
@@ -41,7 +41,7 @@ func (bb *baseBuilder) Build(cc balancer.ClientConn, _ balancer.BuildOptions) ba
cc: cc,
pickerBuilder: bb.pickerBuilder,
- subConns: resolver.NewAddressMap(),
+ subConns: resolver.NewAddressMapV2[balancer.SubConn](),
scStates: make(map[balancer.SubConn]connectivity.State),
csEvltr: &balancer.ConnectivityStateEvaluator{},
config: bb.config,
@@ -65,7 +65,7 @@ type baseBalancer struct {
csEvltr *balancer.ConnectivityStateEvaluator
state connectivity.State
- subConns *resolver.AddressMap
+ subConns *resolver.AddressMapV2[balancer.SubConn]
scStates map[balancer.SubConn]connectivity.State
picker balancer.Picker
config Config
@@ -100,7 +100,7 @@ func (b *baseBalancer) UpdateClientConnState(s balancer.ClientConnState) error {
// Successful resolution; clear resolver error and ensure we return nil.
b.resolverErr = nil
// addrsSet is the set converted from addrs, it's used for quick lookup of an address.
- addrsSet := resolver.NewAddressMap()
+ addrsSet := resolver.NewAddressMapV2[any]()
for _, a := range s.ResolverState.Addresses {
addrsSet.Set(a, nil)
if _, ok := b.subConns.Get(a); !ok {
@@ -122,8 +122,7 @@ func (b *baseBalancer) UpdateClientConnState(s balancer.ClientConnState) error {
}
}
for _, a := range b.subConns.Keys() {
- sci, _ := b.subConns.Get(a)
- sc := sci.(balancer.SubConn)
+ sc, _ := b.subConns.Get(a)
// a was removed by resolver.
if _, ok := addrsSet.Get(a); !ok {
sc.Shutdown()
@@ -173,8 +172,7 @@ func (b *baseBalancer) regeneratePicker() {
// Filter out all ready SCs from full subConn map.
for _, addr := range b.subConns.Keys() {
- sci, _ := b.subConns.Get(addr)
- sc := sci.(balancer.SubConn)
+ sc, _ := b.subConns.Get(addr)
if st, ok := b.scStates[sc]; ok && st == connectivity.Ready {
readySCs[sc] = SubConnInfo{Address: addr}
}
diff --git a/vendor/google.golang.org/grpc/balancer/endpointsharding/endpointsharding.go b/vendor/google.golang.org/grpc/balancer/endpointsharding/endpointsharding.go
index 421c4fecc9..360db08ebc 100644
--- a/vendor/google.golang.org/grpc/balancer/endpointsharding/endpointsharding.go
+++ b/vendor/google.golang.org/grpc/balancer/endpointsharding/endpointsharding.go
@@ -37,6 +37,8 @@ import (
"google.golang.org/grpc/resolver"
)
+var randIntN = rand.IntN
+
// ChildState is the balancer state of a child along with the endpoint which
// identifies the child balancer.
type ChildState struct {
@@ -45,7 +47,15 @@ type ChildState struct {
// Balancer exposes only the ExitIdler interface of the child LB policy.
// Other methods of the child policy are called only by endpointsharding.
- Balancer balancer.ExitIdler
+ Balancer ExitIdler
+}
+
+// ExitIdler provides access to only the ExitIdle method of the child balancer.
+type ExitIdler interface {
+ // ExitIdle instructs the LB policy to reconnect to backends / exit the
+ // IDLE state, if appropriate and possible. Note that SubConns that enter
+ // the IDLE state will not reconnect until SubConn.Connect is called.
+ ExitIdle()
}
// Options are the options to configure the behaviour of the
@@ -73,7 +83,7 @@ func NewBalancer(cc balancer.ClientConn, opts balancer.BuildOptions, childBuilde
esOpts: esOpts,
childBuilder: childBuilder,
}
- es.children.Store(resolver.NewEndpointMap())
+ es.children.Store(resolver.NewEndpointMap[*balancerWrapper]())
return es
}
@@ -90,7 +100,7 @@ type endpointSharding struct {
// calls into a child. To avoid deadlocks, do not acquire childMu while
// holding mu.
childMu sync.Mutex
- children atomic.Pointer[resolver.EndpointMap] // endpoint -> *balancerWrapper
+ children atomic.Pointer[resolver.EndpointMap[*balancerWrapper]]
// inhibitChildUpdates is set during UpdateClientConnState/ResolverError
// calls (calls to children will each produce an update, only want one
@@ -104,6 +114,21 @@ type endpointSharding struct {
mu sync.Mutex
}
+// rotateEndpoints returns a slice of all the input endpoints rotated a random
+// amount.
+func rotateEndpoints(es []resolver.Endpoint) []resolver.Endpoint {
+ les := len(es)
+ if les == 0 {
+ return es
+ }
+ r := randIntN(les)
+ // Make a copy to avoid mutating data beyond the end of es.
+ ret := make([]resolver.Endpoint, les)
+ copy(ret, es[r:])
+ copy(ret[les-r:], es[:r])
+ return ret
+}
+
// UpdateClientConnState creates a child for new endpoints and deletes children
// for endpoints that are no longer present. It also updates all the children,
// and sends a single synchronous update of the childrens' aggregated state at
@@ -122,18 +147,17 @@ func (es *endpointSharding) UpdateClientConnState(state balancer.ClientConnState
var ret error
children := es.children.Load()
- newChildren := resolver.NewEndpointMap()
+ newChildren := resolver.NewEndpointMap[*balancerWrapper]()
// Update/Create new children.
- for _, endpoint := range state.ResolverState.Endpoints {
+ for _, endpoint := range rotateEndpoints(state.ResolverState.Endpoints) {
if _, ok := newChildren.Get(endpoint); ok {
// Endpoint child was already created, continue to avoid duplicate
// update.
continue
}
- var childBalancer *balancerWrapper
- if val, ok := children.Get(endpoint); ok {
- childBalancer = val.(*balancerWrapper)
+ childBalancer, ok := children.Get(endpoint)
+ if ok {
// Endpoint attributes may have changed, update the stored endpoint.
es.mu.Lock()
childBalancer.childState.Endpoint = endpoint
@@ -166,7 +190,7 @@ func (es *endpointSharding) UpdateClientConnState(state balancer.ClientConnState
for _, e := range children.Keys() {
child, _ := children.Get(e)
if _, ok := newChildren.Get(e); !ok {
- child.(*balancerWrapper).closeLocked()
+ child.closeLocked()
}
}
es.children.Store(newChildren)
@@ -189,7 +213,7 @@ func (es *endpointSharding) ResolverError(err error) {
}()
children := es.children.Load()
for _, child := range children.Values() {
- child.(*balancerWrapper).resolverErrorLocked(err)
+ child.resolverErrorLocked(err)
}
}
@@ -202,7 +226,17 @@ func (es *endpointSharding) Close() {
defer es.childMu.Unlock()
children := es.children.Load()
for _, child := range children.Values() {
- child.(*balancerWrapper).closeLocked()
+ child.closeLocked()
+ }
+}
+
+func (es *endpointSharding) ExitIdle() {
+ es.childMu.Lock()
+ defer es.childMu.Unlock()
+ for _, bw := range es.children.Load().Values() {
+ if !bw.isClosed {
+ bw.child.ExitIdle()
+ }
}
}
@@ -222,8 +256,7 @@ func (es *endpointSharding) updateState() {
childStates := make([]ChildState, 0, children.Len())
for _, child := range children.Values() {
- bw := child.(*balancerWrapper)
- childState := bw.childState
+ childState := child.childState
childStates = append(childStates, childState)
childPicker := childState.State.Picker
switch childState.State.ConnectivityState {
@@ -263,7 +296,7 @@ func (es *endpointSharding) updateState() {
p := &pickerWithChildStates{
pickers: pickers,
childStates: childStates,
- next: uint32(rand.IntN(len(pickers))),
+ next: uint32(randIntN(len(pickers))),
}
es.cc.UpdateState(balancer.State{
ConnectivityState: aggState,
@@ -328,15 +361,13 @@ func (bw *balancerWrapper) UpdateState(state balancer.State) {
// ExitIdle pings an IDLE child balancer to exit idle in a new goroutine to
// avoid deadlocks due to synchronous balancer state updates.
func (bw *balancerWrapper) ExitIdle() {
- if ei, ok := bw.child.(balancer.ExitIdler); ok {
- go func() {
- bw.es.childMu.Lock()
- if !bw.isClosed {
- ei.ExitIdle()
- }
- bw.es.childMu.Unlock()
- }()
- }
+ go func() {
+ bw.es.childMu.Lock()
+ if !bw.isClosed {
+ bw.child.ExitIdle()
+ }
+ bw.es.childMu.Unlock()
+ }()
}
// updateClientConnStateLocked delivers the ClientConnState to the child
diff --git a/vendor/google.golang.org/grpc/balancer/pickfirst/pickfirstleaf/pickfirstleaf.go b/vendor/google.golang.org/grpc/balancer/pickfirst/pickfirstleaf/pickfirstleaf.go
index 113181e6b3..67f315a0db 100644
--- a/vendor/google.golang.org/grpc/balancer/pickfirst/pickfirstleaf/pickfirstleaf.go
+++ b/vendor/google.golang.org/grpc/balancer/pickfirst/pickfirstleaf/pickfirstleaf.go
@@ -54,18 +54,9 @@ func init() {
balancer.Register(pickfirstBuilder{})
}
-type (
- // enableHealthListenerKeyType is a unique key type used in resolver
- // attributes to indicate whether the health listener usage is enabled.
- enableHealthListenerKeyType struct{}
- // managedByPickfirstKeyType is an attribute key type to inform Outlier
- // Detection that the generic health listener is being used.
- // TODO: https://github.com/grpc/grpc-go/issues/7915 - Remove this when
- // implementing the dualstack design. This is a hack. Once Dualstack is
- // completed, outlier detection will stop sending ejection updates through
- // the connectivity listener.
- managedByPickfirstKeyType struct{}
-)
+// enableHealthListenerKeyType is a unique key type used in resolver
+// attributes to indicate whether the health listener usage is enabled.
+type enableHealthListenerKeyType struct{}
var (
logger = grpclog.Component("pick-first-leaf-lb")
@@ -76,21 +67,21 @@ var (
disconnectionsMetric = expstats.RegisterInt64Count(expstats.MetricDescriptor{
Name: "grpc.lb.pick_first.disconnections",
Description: "EXPERIMENTAL. Number of times the selected subchannel becomes disconnected.",
- Unit: "disconnection",
+ Unit: "{disconnection}",
Labels: []string{"grpc.target"},
Default: false,
})
connectionAttemptsSucceededMetric = expstats.RegisterInt64Count(expstats.MetricDescriptor{
Name: "grpc.lb.pick_first.connection_attempts_succeeded",
Description: "EXPERIMENTAL. Number of successful connection attempts.",
- Unit: "attempt",
+ Unit: "{attempt}",
Labels: []string{"grpc.target"},
Default: false,
})
connectionAttemptsFailedMetric = expstats.RegisterInt64Count(expstats.MetricDescriptor{
Name: "grpc.lb.pick_first.connection_attempts_failed",
Description: "EXPERIMENTAL. Number of failed connection attempts.",
- Unit: "attempt",
+ Unit: "{attempt}",
Labels: []string{"grpc.target"},
Default: false,
})
@@ -122,7 +113,7 @@ func (pickfirstBuilder) Build(cc balancer.ClientConn, bo balancer.BuildOptions)
target: bo.Target.String(),
metricsRecorder: cc.MetricsRecorder(),
- subConns: resolver.NewAddressMap(),
+ subConns: resolver.NewAddressMapV2[*scData](),
state: connectivity.Connecting,
cancelConnectionTimer: func() {},
}
@@ -149,17 +140,6 @@ func EnableHealthListener(state resolver.State) resolver.State {
return state
}
-// IsManagedByPickfirst returns whether an address belongs to a SubConn
-// managed by the pickfirst LB policy.
-// TODO: https://github.com/grpc/grpc-go/issues/7915 - This is a hack to disable
-// outlier_detection via the with connectivity listener when using pick_first.
-// Once Dualstack changes are complete, all SubConns will be created by
-// pick_first and outlier detection will only use the health listener for
-// ejection. This hack can then be removed.
-func IsManagedByPickfirst(addr resolver.Address) bool {
- return addr.BalancerAttributes.Value(managedByPickfirstKeyType{}) != nil
-}
-
type pfConfig struct {
serviceconfig.LoadBalancingConfig `json:"-"`
@@ -186,7 +166,6 @@ type scData struct {
}
func (b *pickfirstBalancer) newSCData(addr resolver.Address) (*scData, error) {
- addr.BalancerAttributes = addr.BalancerAttributes.WithValue(managedByPickfirstKeyType{}, true)
sd := &scData{
rawConnectivityState: connectivity.Idle,
effectiveState: connectivity.Idle,
@@ -220,7 +199,7 @@ type pickfirstBalancer struct {
// updates.
state connectivity.State
// scData for active subonns mapped by address.
- subConns *resolver.AddressMap
+ subConns *resolver.AddressMapV2[*scData]
addressList addressList
firstPass bool
numTF int
@@ -319,7 +298,7 @@ func (b *pickfirstBalancer) UpdateClientConnState(state balancer.ClientConnState
prevAddr := b.addressList.currentAddress()
prevSCData, found := b.subConns.Get(prevAddr)
prevAddrsCount := b.addressList.size()
- isPrevRawConnectivityStateReady := found && prevSCData.(*scData).rawConnectivityState == connectivity.Ready
+ isPrevRawConnectivityStateReady := found && prevSCData.rawConnectivityState == connectivity.Ready
b.addressList.updateAddrs(newAddrs)
// If the previous ready SubConn exists in new address list,
@@ -381,21 +360,21 @@ func (b *pickfirstBalancer) startFirstPassLocked() {
b.numTF = 0
// Reset the connection attempt record for existing SubConns.
for _, sd := range b.subConns.Values() {
- sd.(*scData).connectionFailedInFirstPass = false
+ sd.connectionFailedInFirstPass = false
}
b.requestConnectionLocked()
}
func (b *pickfirstBalancer) closeSubConnsLocked() {
for _, sd := range b.subConns.Values() {
- sd.(*scData).subConn.Shutdown()
+ sd.subConn.Shutdown()
}
- b.subConns = resolver.NewAddressMap()
+ b.subConns = resolver.NewAddressMapV2[*scData]()
}
// deDupAddresses ensures that each address appears only once in the slice.
func deDupAddresses(addrs []resolver.Address) []resolver.Address {
- seenAddrs := resolver.NewAddressMap()
+ seenAddrs := resolver.NewAddressMapV2[*scData]()
retAddrs := []resolver.Address{}
for _, addr := range addrs {
@@ -481,7 +460,7 @@ func addressFamily(address string) ipAddrFamily {
// This ensures that the subchannel map accurately reflects the current set of
// addresses received from the name resolver.
func (b *pickfirstBalancer) reconcileSubConnsLocked(newAddrs []resolver.Address) {
- newAddrsMap := resolver.NewAddressMap()
+ newAddrsMap := resolver.NewAddressMapV2[bool]()
for _, addr := range newAddrs {
newAddrsMap.Set(addr, true)
}
@@ -491,7 +470,7 @@ func (b *pickfirstBalancer) reconcileSubConnsLocked(newAddrs []resolver.Address)
continue
}
val, _ := b.subConns.Get(oldAddr)
- val.(*scData).subConn.Shutdown()
+ val.subConn.Shutdown()
b.subConns.Delete(oldAddr)
}
}
@@ -500,13 +479,12 @@ func (b *pickfirstBalancer) reconcileSubConnsLocked(newAddrs []resolver.Address)
// becomes ready, which means that all other subConn must be shutdown.
func (b *pickfirstBalancer) shutdownRemainingLocked(selected *scData) {
b.cancelConnectionTimer()
- for _, v := range b.subConns.Values() {
- sd := v.(*scData)
+ for _, sd := range b.subConns.Values() {
if sd.subConn != selected.subConn {
sd.subConn.Shutdown()
}
}
- b.subConns = resolver.NewAddressMap()
+ b.subConns = resolver.NewAddressMapV2[*scData]()
b.subConns.Set(selected.addr, selected)
}
@@ -539,18 +517,17 @@ func (b *pickfirstBalancer) requestConnectionLocked() {
b.subConns.Set(curAddr, sd)
}
- scd := sd.(*scData)
- switch scd.rawConnectivityState {
+ switch sd.rawConnectivityState {
case connectivity.Idle:
- scd.subConn.Connect()
+ sd.subConn.Connect()
b.scheduleNextConnectionLocked()
return
case connectivity.TransientFailure:
// The SubConn is being re-used and failed during a previous pass
// over the addressList. It has not completed backoff yet.
// Mark it as having failed and try the next address.
- scd.connectionFailedInFirstPass = true
- lastErr = scd.lastErr
+ sd.connectionFailedInFirstPass = true
+ lastErr = sd.lastErr
continue
case connectivity.Connecting:
// Wait for the connection attempt to complete or the timer to fire
@@ -558,7 +535,7 @@ func (b *pickfirstBalancer) requestConnectionLocked() {
b.scheduleNextConnectionLocked()
return
default:
- b.logger.Errorf("SubConn with unexpected state %v present in SubConns map.", scd.rawConnectivityState)
+ b.logger.Errorf("SubConn with unexpected state %v present in SubConns map.", sd.rawConnectivityState)
return
}
@@ -753,8 +730,7 @@ func (b *pickfirstBalancer) endFirstPassIfPossibleLocked(lastErr error) {
}
// Connect() has been called on all the SubConns. The first pass can be
// ended if all the SubConns have reported a failure.
- for _, v := range b.subConns.Values() {
- sd := v.(*scData)
+ for _, sd := range b.subConns.Values() {
if !sd.connectionFailedInFirstPass {
return
}
@@ -765,8 +741,7 @@ func (b *pickfirstBalancer) endFirstPassIfPossibleLocked(lastErr error) {
Picker: &picker{err: lastErr},
})
// Start re-connecting all the SubConns that are already in IDLE.
- for _, v := range b.subConns.Values() {
- sd := v.(*scData)
+ for _, sd := range b.subConns.Values() {
if sd.rawConnectivityState == connectivity.Idle {
sd.subConn.Connect()
}
@@ -927,6 +902,5 @@ func (al *addressList) hasNext() bool {
// fields that are meaningful to the SubConn.
func equalAddressIgnoringBalAttributes(a, b *resolver.Address) bool {
return a.Addr == b.Addr && a.ServerName == b.ServerName &&
- a.Attributes.Equal(b.Attributes) &&
- a.Metadata == b.Metadata
+ a.Attributes.Equal(b.Attributes)
}
diff --git a/vendor/google.golang.org/grpc/balancer/roundrobin/roundrobin.go b/vendor/google.golang.org/grpc/balancer/roundrobin/roundrobin.go
index 35da5d1ec9..22045bf394 100644
--- a/vendor/google.golang.org/grpc/balancer/roundrobin/roundrobin.go
+++ b/vendor/google.golang.org/grpc/balancer/roundrobin/roundrobin.go
@@ -70,10 +70,3 @@ func (b *rrBalancer) UpdateClientConnState(ccs balancer.ClientConnState) error {
ResolverState: pickfirstleaf.EnableHealthListener(ccs.ResolverState),
})
}
-
-func (b *rrBalancer) ExitIdle() {
- // Should always be ok, as child is endpoint sharding.
- if ei, ok := b.Balancer.(balancer.ExitIdler); ok {
- ei.ExitIdle()
- }
-}
diff --git a/vendor/google.golang.org/grpc/binarylog/grpc_binarylog_v1/binarylog.pb.go b/vendor/google.golang.org/grpc/binarylog/grpc_binarylog_v1/binarylog.pb.go
index b2f8fc7f43..b1364a0325 100644
--- a/vendor/google.golang.org/grpc/binarylog/grpc_binarylog_v1/binarylog.pb.go
+++ b/vendor/google.golang.org/grpc/binarylog/grpc_binarylog_v1/binarylog.pb.go
@@ -18,7 +18,7 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
-// protoc-gen-go v1.36.4
+// protoc-gen-go v1.36.6
// protoc v5.27.1
// source: grpc/binlog/v1/binarylog.proto
@@ -858,133 +858,68 @@ func (x *Address) GetIpPort() uint32 {
var File_grpc_binlog_v1_binarylog_proto protoreflect.FileDescriptor
-var file_grpc_binlog_v1_binarylog_proto_rawDesc = string([]byte{
- 0x0a, 0x1e, 0x67, 0x72, 0x70, 0x63, 0x2f, 0x62, 0x69, 0x6e, 0x6c, 0x6f, 0x67, 0x2f, 0x76, 0x31,
- 0x2f, 0x62, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x6c, 0x6f, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
- 0x12, 0x11, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x62, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x6c, 0x6f, 0x67,
- 0x2e, 0x76, 0x31, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74,
- 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72,
- 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74,
- 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70,
- 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xbb, 0x07, 0x0a, 0x0c, 0x47, 0x72, 0x70, 0x63, 0x4c, 0x6f, 0x67,
- 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x38, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61,
- 0x6d, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
- 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73,
- 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12,
- 0x17, 0x0a, 0x07, 0x63, 0x61, 0x6c, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04,
- 0x52, 0x06, 0x63, 0x61, 0x6c, 0x6c, 0x49, 0x64, 0x12, 0x35, 0x0a, 0x17, 0x73, 0x65, 0x71, 0x75,
- 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x5f, 0x77, 0x69, 0x74, 0x68, 0x69, 0x6e, 0x5f, 0x63,
- 0x61, 0x6c, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x14, 0x73, 0x65, 0x71, 0x75, 0x65,
- 0x6e, 0x63, 0x65, 0x49, 0x64, 0x57, 0x69, 0x74, 0x68, 0x69, 0x6e, 0x43, 0x61, 0x6c, 0x6c, 0x12,
- 0x3d, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x29, 0x2e,
- 0x67, 0x72, 0x70, 0x63, 0x2e, 0x62, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x6c, 0x6f, 0x67, 0x2e, 0x76,
- 0x31, 0x2e, 0x47, 0x72, 0x70, 0x63, 0x4c, 0x6f, 0x67, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x2e, 0x45,
- 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x3e,
- 0x0a, 0x06, 0x6c, 0x6f, 0x67, 0x67, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x26,
- 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x62, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x6c, 0x6f, 0x67, 0x2e,
- 0x76, 0x31, 0x2e, 0x47, 0x72, 0x70, 0x63, 0x4c, 0x6f, 0x67, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x2e,
- 0x4c, 0x6f, 0x67, 0x67, 0x65, 0x72, 0x52, 0x06, 0x6c, 0x6f, 0x67, 0x67, 0x65, 0x72, 0x12, 0x46,
- 0x0a, 0x0d, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18,
- 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x62, 0x69, 0x6e,
- 0x61, 0x72, 0x79, 0x6c, 0x6f, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74,
- 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x48, 0x00, 0x52, 0x0c, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74,
- 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x46, 0x0a, 0x0d, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72,
- 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e,
- 0x67, 0x72, 0x70, 0x63, 0x2e, 0x62, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x6c, 0x6f, 0x67, 0x2e, 0x76,
- 0x31, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x48, 0x00,
- 0x52, 0x0c, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x36,
- 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32,
- 0x1a, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x62, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x6c, 0x6f, 0x67,
- 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48, 0x00, 0x52, 0x07, 0x6d,
- 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x36, 0x0a, 0x07, 0x74, 0x72, 0x61, 0x69, 0x6c, 0x65,
- 0x72, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x62,
- 0x69, 0x6e, 0x61, 0x72, 0x79, 0x6c, 0x6f, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x72, 0x61, 0x69,
- 0x6c, 0x65, 0x72, 0x48, 0x00, 0x52, 0x07, 0x74, 0x72, 0x61, 0x69, 0x6c, 0x65, 0x72, 0x12, 0x2b,
- 0x0a, 0x11, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x74, 0x72, 0x75, 0x6e, 0x63, 0x61,
- 0x74, 0x65, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x70, 0x61, 0x79, 0x6c, 0x6f,
- 0x61, 0x64, 0x54, 0x72, 0x75, 0x6e, 0x63, 0x61, 0x74, 0x65, 0x64, 0x12, 0x2e, 0x0a, 0x04, 0x70,
- 0x65, 0x65, 0x72, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x72, 0x70, 0x63,
- 0x2e, 0x62, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x6c, 0x6f, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x64,
- 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x04, 0x70, 0x65, 0x65, 0x72, 0x22, 0xf5, 0x01, 0x0a, 0x09,
- 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x16, 0x0a, 0x12, 0x45, 0x56, 0x45,
- 0x4e, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10,
- 0x00, 0x12, 0x1c, 0x0a, 0x18, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f,
- 0x43, 0x4c, 0x49, 0x45, 0x4e, 0x54, 0x5f, 0x48, 0x45, 0x41, 0x44, 0x45, 0x52, 0x10, 0x01, 0x12,
- 0x1c, 0x0a, 0x18, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x53, 0x45,
- 0x52, 0x56, 0x45, 0x52, 0x5f, 0x48, 0x45, 0x41, 0x44, 0x45, 0x52, 0x10, 0x02, 0x12, 0x1d, 0x0a,
- 0x19, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x43, 0x4c, 0x49, 0x45,
- 0x4e, 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x10, 0x03, 0x12, 0x1d, 0x0a, 0x19,
- 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x53, 0x45, 0x52, 0x56, 0x45,
- 0x52, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x10, 0x04, 0x12, 0x20, 0x0a, 0x1c, 0x45,
- 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x43, 0x4c, 0x49, 0x45, 0x4e, 0x54,
- 0x5f, 0x48, 0x41, 0x4c, 0x46, 0x5f, 0x43, 0x4c, 0x4f, 0x53, 0x45, 0x10, 0x05, 0x12, 0x1d, 0x0a,
- 0x19, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x53, 0x45, 0x52, 0x56,
- 0x45, 0x52, 0x5f, 0x54, 0x52, 0x41, 0x49, 0x4c, 0x45, 0x52, 0x10, 0x06, 0x12, 0x15, 0x0a, 0x11,
- 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x43, 0x41, 0x4e, 0x43, 0x45,
- 0x4c, 0x10, 0x07, 0x22, 0x42, 0x0a, 0x06, 0x4c, 0x6f, 0x67, 0x67, 0x65, 0x72, 0x12, 0x12, 0x0a,
- 0x0e, 0x4c, 0x4f, 0x47, 0x47, 0x45, 0x52, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10,
- 0x00, 0x12, 0x11, 0x0a, 0x0d, 0x4c, 0x4f, 0x47, 0x47, 0x45, 0x52, 0x5f, 0x43, 0x4c, 0x49, 0x45,
- 0x4e, 0x54, 0x10, 0x01, 0x12, 0x11, 0x0a, 0x0d, 0x4c, 0x4f, 0x47, 0x47, 0x45, 0x52, 0x5f, 0x53,
- 0x45, 0x52, 0x56, 0x45, 0x52, 0x10, 0x02, 0x42, 0x09, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f,
- 0x61, 0x64, 0x22, 0xbb, 0x01, 0x0a, 0x0c, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x48, 0x65, 0x61,
- 0x64, 0x65, 0x72, 0x12, 0x37, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18,
- 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x62, 0x69, 0x6e,
- 0x61, 0x72, 0x79, 0x6c, 0x6f, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61,
- 0x74, 0x61, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x1f, 0x0a, 0x0b,
- 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
- 0x09, 0x52, 0x0a, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a,
- 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09,
- 0x52, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 0x33, 0x0a, 0x07, 0x74,
- 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67,
- 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44,
- 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74,
- 0x22, 0x47, 0x0a, 0x0c, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72,
- 0x12, 0x37, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01,
- 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x62, 0x69, 0x6e, 0x61, 0x72, 0x79,
- 0x6c, 0x6f, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52,
- 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x22, 0xb1, 0x01, 0x0a, 0x07, 0x54, 0x72,
- 0x61, 0x69, 0x6c, 0x65, 0x72, 0x12, 0x37, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74,
- 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x62,
- 0x69, 0x6e, 0x61, 0x72, 0x79, 0x6c, 0x6f, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x65, 0x74, 0x61,
- 0x64, 0x61, 0x74, 0x61, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x1f,
- 0x0a, 0x0b, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20,
- 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x43, 0x6f, 0x64, 0x65, 0x12,
- 0x25, 0x0a, 0x0e, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67,
- 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x4d,
- 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73,
- 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0d,
- 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x22, 0x35, 0x0a,
- 0x07, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x6c, 0x65, 0x6e, 0x67,
- 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68,
- 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04,
- 0x64, 0x61, 0x74, 0x61, 0x22, 0x42, 0x0a, 0x08, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61,
- 0x12, 0x36, 0x0a, 0x05, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32,
- 0x20, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x62, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x6c, 0x6f, 0x67,
- 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72,
- 0x79, 0x52, 0x05, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x22, 0x37, 0x0a, 0x0d, 0x4d, 0x65, 0x74, 0x61,
- 0x64, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79,
- 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76,
- 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75,
- 0x65, 0x22, 0xb8, 0x01, 0x0a, 0x07, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x33, 0x0a,
- 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1f, 0x2e, 0x67, 0x72,
- 0x70, 0x63, 0x2e, 0x62, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x6c, 0x6f, 0x67, 0x2e, 0x76, 0x31, 0x2e,
- 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79,
- 0x70, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20,
- 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x17, 0x0a, 0x07,
- 0x69, 0x70, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x69,
- 0x70, 0x50, 0x6f, 0x72, 0x74, 0x22, 0x45, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x12, 0x10, 0x0a,
- 0x0c, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12,
- 0x0d, 0x0a, 0x09, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x49, 0x50, 0x56, 0x34, 0x10, 0x01, 0x12, 0x0d,
- 0x0a, 0x09, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x49, 0x50, 0x56, 0x36, 0x10, 0x02, 0x12, 0x0d, 0x0a,
- 0x09, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x49, 0x58, 0x10, 0x03, 0x42, 0x5c, 0x0a, 0x14,
- 0x69, 0x6f, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x62, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x6c, 0x6f,
- 0x67, 0x2e, 0x76, 0x31, 0x42, 0x0e, 0x42, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x4c, 0x6f, 0x67, 0x50,
- 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x32, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67,
- 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x67, 0x72, 0x70, 0x63, 0x2f, 0x62,
- 0x69, 0x6e, 0x61, 0x72, 0x79, 0x6c, 0x6f, 0x67, 0x2f, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x62, 0x69,
- 0x6e, 0x61, 0x72, 0x79, 0x6c, 0x6f, 0x67, 0x5f, 0x76, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
- 0x6f, 0x33,
-})
+const file_grpc_binlog_v1_binarylog_proto_rawDesc = "" +
+ "\n" +
+ "\x1egrpc/binlog/v1/binarylog.proto\x12\x11grpc.binarylog.v1\x1a\x1egoogle/protobuf/duration.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"\xbb\a\n" +
+ "\fGrpcLogEntry\x128\n" +
+ "\ttimestamp\x18\x01 \x01(\v2\x1a.google.protobuf.TimestampR\ttimestamp\x12\x17\n" +
+ "\acall_id\x18\x02 \x01(\x04R\x06callId\x125\n" +
+ "\x17sequence_id_within_call\x18\x03 \x01(\x04R\x14sequenceIdWithinCall\x12=\n" +
+ "\x04type\x18\x04 \x01(\x0e2).grpc.binarylog.v1.GrpcLogEntry.EventTypeR\x04type\x12>\n" +
+ "\x06logger\x18\x05 \x01(\x0e2&.grpc.binarylog.v1.GrpcLogEntry.LoggerR\x06logger\x12F\n" +
+ "\rclient_header\x18\x06 \x01(\v2\x1f.grpc.binarylog.v1.ClientHeaderH\x00R\fclientHeader\x12F\n" +
+ "\rserver_header\x18\a \x01(\v2\x1f.grpc.binarylog.v1.ServerHeaderH\x00R\fserverHeader\x126\n" +
+ "\amessage\x18\b \x01(\v2\x1a.grpc.binarylog.v1.MessageH\x00R\amessage\x126\n" +
+ "\atrailer\x18\t \x01(\v2\x1a.grpc.binarylog.v1.TrailerH\x00R\atrailer\x12+\n" +
+ "\x11payload_truncated\x18\n" +
+ " \x01(\bR\x10payloadTruncated\x12.\n" +
+ "\x04peer\x18\v \x01(\v2\x1a.grpc.binarylog.v1.AddressR\x04peer\"\xf5\x01\n" +
+ "\tEventType\x12\x16\n" +
+ "\x12EVENT_TYPE_UNKNOWN\x10\x00\x12\x1c\n" +
+ "\x18EVENT_TYPE_CLIENT_HEADER\x10\x01\x12\x1c\n" +
+ "\x18EVENT_TYPE_SERVER_HEADER\x10\x02\x12\x1d\n" +
+ "\x19EVENT_TYPE_CLIENT_MESSAGE\x10\x03\x12\x1d\n" +
+ "\x19EVENT_TYPE_SERVER_MESSAGE\x10\x04\x12 \n" +
+ "\x1cEVENT_TYPE_CLIENT_HALF_CLOSE\x10\x05\x12\x1d\n" +
+ "\x19EVENT_TYPE_SERVER_TRAILER\x10\x06\x12\x15\n" +
+ "\x11EVENT_TYPE_CANCEL\x10\a\"B\n" +
+ "\x06Logger\x12\x12\n" +
+ "\x0eLOGGER_UNKNOWN\x10\x00\x12\x11\n" +
+ "\rLOGGER_CLIENT\x10\x01\x12\x11\n" +
+ "\rLOGGER_SERVER\x10\x02B\t\n" +
+ "\apayload\"\xbb\x01\n" +
+ "\fClientHeader\x127\n" +
+ "\bmetadata\x18\x01 \x01(\v2\x1b.grpc.binarylog.v1.MetadataR\bmetadata\x12\x1f\n" +
+ "\vmethod_name\x18\x02 \x01(\tR\n" +
+ "methodName\x12\x1c\n" +
+ "\tauthority\x18\x03 \x01(\tR\tauthority\x123\n" +
+ "\atimeout\x18\x04 \x01(\v2\x19.google.protobuf.DurationR\atimeout\"G\n" +
+ "\fServerHeader\x127\n" +
+ "\bmetadata\x18\x01 \x01(\v2\x1b.grpc.binarylog.v1.MetadataR\bmetadata\"\xb1\x01\n" +
+ "\aTrailer\x127\n" +
+ "\bmetadata\x18\x01 \x01(\v2\x1b.grpc.binarylog.v1.MetadataR\bmetadata\x12\x1f\n" +
+ "\vstatus_code\x18\x02 \x01(\rR\n" +
+ "statusCode\x12%\n" +
+ "\x0estatus_message\x18\x03 \x01(\tR\rstatusMessage\x12%\n" +
+ "\x0estatus_details\x18\x04 \x01(\fR\rstatusDetails\"5\n" +
+ "\aMessage\x12\x16\n" +
+ "\x06length\x18\x01 \x01(\rR\x06length\x12\x12\n" +
+ "\x04data\x18\x02 \x01(\fR\x04data\"B\n" +
+ "\bMetadata\x126\n" +
+ "\x05entry\x18\x01 \x03(\v2 .grpc.binarylog.v1.MetadataEntryR\x05entry\"7\n" +
+ "\rMetadataEntry\x12\x10\n" +
+ "\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" +
+ "\x05value\x18\x02 \x01(\fR\x05value\"\xb8\x01\n" +
+ "\aAddress\x123\n" +
+ "\x04type\x18\x01 \x01(\x0e2\x1f.grpc.binarylog.v1.Address.TypeR\x04type\x12\x18\n" +
+ "\aaddress\x18\x02 \x01(\tR\aaddress\x12\x17\n" +
+ "\aip_port\x18\x03 \x01(\rR\x06ipPort\"E\n" +
+ "\x04Type\x12\x10\n" +
+ "\fTYPE_UNKNOWN\x10\x00\x12\r\n" +
+ "\tTYPE_IPV4\x10\x01\x12\r\n" +
+ "\tTYPE_IPV6\x10\x02\x12\r\n" +
+ "\tTYPE_UNIX\x10\x03B\\\n" +
+ "\x14io.grpc.binarylog.v1B\x0eBinaryLogProtoP\x01Z2google.golang.org/grpc/binarylog/grpc_binarylog_v1b\x06proto3"
var (
file_grpc_binlog_v1_binarylog_proto_rawDescOnce sync.Once
diff --git a/vendor/google.golang.org/grpc/clientconn.go b/vendor/google.golang.org/grpc/clientconn.go
index a319ef9794..3f762285db 100644
--- a/vendor/google.golang.org/grpc/clientconn.go
+++ b/vendor/google.golang.org/grpc/clientconn.go
@@ -208,7 +208,7 @@ func NewClient(target string, opts ...DialOption) (conn *ClientConn, err error)
channelz.Infof(logger, cc.channelz, "Channel authority set to %q", cc.authority)
cc.csMgr = newConnectivityStateManager(cc.ctx, cc.channelz)
- cc.pickerWrapper = newPickerWrapper(cc.dopts.copts.StatsHandlers)
+ cc.pickerWrapper = newPickerWrapper()
cc.metricsRecorderList = stats.NewMetricsRecorderList(cc.dopts.copts.StatsHandlers)
@@ -689,22 +689,31 @@ func (cc *ClientConn) Connect() {
cc.mu.Unlock()
}
-// waitForResolvedAddrs blocks until the resolver has provided addresses or the
-// context expires. Returns nil unless the context expires first; otherwise
-// returns a status error based on the context.
-func (cc *ClientConn) waitForResolvedAddrs(ctx context.Context) error {
+// waitForResolvedAddrs blocks until the resolver provides addresses or the
+// context expires, whichever happens first.
+//
+// Error is nil unless the context expires first; otherwise returns a status
+// error based on the context.
+//
+// The returned boolean indicates whether it did block or not. If the
+// resolution has already happened once before, it returns false without
+// blocking. Otherwise, it wait for the resolution and return true if
+// resolution has succeeded or return false along with error if resolution has
+// failed.
+func (cc *ClientConn) waitForResolvedAddrs(ctx context.Context) (bool, error) {
// This is on the RPC path, so we use a fast path to avoid the
// more-expensive "select" below after the resolver has returned once.
if cc.firstResolveEvent.HasFired() {
- return nil
+ return false, nil
}
+ internal.NewStreamWaitingForResolver()
select {
case <-cc.firstResolveEvent.Done():
- return nil
+ return true, nil
case <-ctx.Done():
- return status.FromContextError(ctx.Err()).Err()
+ return false, status.FromContextError(ctx.Err()).Err()
case <-cc.ctx.Done():
- return ErrClientConnClosing
+ return false, ErrClientConnClosing
}
}
@@ -1067,13 +1076,6 @@ func (cc *ClientConn) healthCheckConfig() *healthCheckConfig {
return cc.sc.healthCheckConfig
}
-func (cc *ClientConn) getTransport(ctx context.Context, failfast bool, method string) (transport.ClientTransport, balancer.PickResult, error) {
- return cc.pickerWrapper.pick(ctx, failfast, balancer.PickInfo{
- Ctx: ctx,
- FullMethodName: method,
- })
-}
-
func (cc *ClientConn) applyServiceConfigAndBalancer(sc *ServiceConfig, configSelector iresolver.ConfigSelector) {
if sc == nil {
// should never reach here.
@@ -1231,8 +1233,7 @@ func (ac *addrConn) updateConnectivityState(s connectivity.State, lastErr error)
// adjustParams updates parameters used to create transports upon
// receiving a GoAway.
func (ac *addrConn) adjustParams(r transport.GoAwayReason) {
- switch r {
- case transport.GoAwayTooManyPings:
+ if r == transport.GoAwayTooManyPings {
v := 2 * ac.dopts.copts.KeepaliveParams.Time
ac.cc.mu.Lock()
if v > ac.cc.keepaliveParams.Time {
@@ -1823,7 +1824,7 @@ func (cc *ClientConn) initAuthority() error {
} else if auth, ok := cc.resolverBuilder.(resolver.AuthorityOverrider); ok {
cc.authority = auth.OverrideAuthority(cc.parsedTarget)
} else if strings.HasPrefix(endpoint, ":") {
- cc.authority = "localhost" + endpoint
+ cc.authority = "localhost" + encodeAuthority(endpoint)
} else {
cc.authority = encodeAuthority(endpoint)
}
diff --git a/vendor/google.golang.org/grpc/credentials/credentials.go b/vendor/google.golang.org/grpc/credentials/credentials.go
index 665e790bb0..c8e337cdda 100644
--- a/vendor/google.golang.org/grpc/credentials/credentials.go
+++ b/vendor/google.golang.org/grpc/credentials/credentials.go
@@ -96,10 +96,11 @@ func (c CommonAuthInfo) GetCommonAuthInfo() CommonAuthInfo {
return c
}
-// ProtocolInfo provides information regarding the gRPC wire protocol version,
-// security protocol, security protocol version in use, server name, etc.
+// ProtocolInfo provides static information regarding transport credentials.
type ProtocolInfo struct {
// ProtocolVersion is the gRPC wire protocol version.
+ //
+ // Deprecated: this is unused by gRPC.
ProtocolVersion string
// SecurityProtocol is the security protocol in use.
SecurityProtocol string
@@ -109,7 +110,16 @@ type ProtocolInfo struct {
//
// Deprecated: please use Peer.AuthInfo.
SecurityVersion string
- // ServerName is the user-configured server name.
+ // ServerName is the user-configured server name. If set, this overrides
+ // the default :authority header used for all RPCs on the channel using the
+ // containing credentials, unless grpc.WithAuthority is set on the channel,
+ // in which case that setting will take precedence.
+ //
+ // This must be a valid `:authority` header according to
+ // [RFC3986](https://datatracker.ietf.org/doc/html/rfc3986#section-3.2).
+ //
+ // Deprecated: Users should use grpc.WithAuthority to override the authority
+ // on a channel instead of configuring the credentials.
ServerName string
}
@@ -120,6 +130,20 @@ type AuthInfo interface {
AuthType() string
}
+// AuthorityValidator validates the authority used to override the `:authority`
+// header. This is an optional interface that implementations of AuthInfo can
+// implement if they support per-RPC authority overrides. It is invoked when the
+// application attempts to override the HTTP/2 `:authority` header using the
+// CallAuthority call option.
+type AuthorityValidator interface {
+ // ValidateAuthority checks the authority value used to override the
+ // `:authority` header. The authority parameter is the override value
+ // provided by the application via the CallAuthority option. This value
+ // typically corresponds to the server hostname or endpoint the RPC is
+ // targeting. It returns non-nil error if the validation fails.
+ ValidateAuthority(authority string) error
+}
+
// ErrConnDispatched indicates that rawConn has been dispatched out of gRPC
// and the caller should not close rawConn.
var ErrConnDispatched = errors.New("credentials: rawConn is dispatched out of gRPC")
@@ -159,12 +183,17 @@ type TransportCredentials interface {
// Clone makes a copy of this TransportCredentials.
Clone() TransportCredentials
// OverrideServerName specifies the value used for the following:
+ //
// - verifying the hostname on the returned certificates
// - as SNI in the client's handshake to support virtual hosting
// - as the value for `:authority` header at stream creation time
//
- // Deprecated: use grpc.WithAuthority instead. Will be supported
- // throughout 1.x.
+ // The provided string should be a valid `:authority` header according to
+ // [RFC3986](https://datatracker.ietf.org/doc/html/rfc3986#section-3.2).
+ //
+ // Deprecated: this method is unused by gRPC. Users should use
+ // grpc.WithAuthority to override the authority on a channel instead of
+ // configuring the credentials.
OverrideServerName(string) error
}
@@ -207,14 +236,32 @@ type RequestInfo struct {
AuthInfo AuthInfo
}
+// requestInfoKey is a struct to be used as the key to store RequestInfo in a
+// context.
+type requestInfoKey struct{}
+
// RequestInfoFromContext extracts the RequestInfo from the context if it exists.
//
// This API is experimental.
func RequestInfoFromContext(ctx context.Context) (ri RequestInfo, ok bool) {
- ri, ok = icredentials.RequestInfoFromContext(ctx).(RequestInfo)
+ ri, ok = ctx.Value(requestInfoKey{}).(RequestInfo)
return ri, ok
}
+// NewContextWithRequestInfo creates a new context from ctx and attaches ri to it.
+//
+// This RequestInfo will be accessible via RequestInfoFromContext.
+//
+// Intended to be used from tests for PerRPCCredentials implementations (that
+// often need to check connection's SecurityLevel). Should not be used from
+// non-test code: the gRPC client already prepares a context with the correct
+// RequestInfo attached when calling PerRPCCredentials.GetRequestMetadata.
+//
+// This API is experimental.
+func NewContextWithRequestInfo(ctx context.Context, ri RequestInfo) context.Context {
+ return context.WithValue(ctx, requestInfoKey{}, ri)
+}
+
// ClientHandshakeInfo holds data to be passed to ClientHandshake. This makes
// it possible to pass arbitrary data to the handshaker from gRPC, resolver,
// balancer etc. Individual credential implementations control the actual
diff --git a/vendor/google.golang.org/grpc/credentials/insecure/insecure.go b/vendor/google.golang.org/grpc/credentials/insecure/insecure.go
index 4c805c6446..93156c0f34 100644
--- a/vendor/google.golang.org/grpc/credentials/insecure/insecure.go
+++ b/vendor/google.golang.org/grpc/credentials/insecure/insecure.go
@@ -30,7 +30,7 @@ import (
// NewCredentials returns a credentials which disables transport security.
//
// Note that using this credentials with per-RPC credentials which require
-// transport security is incompatible and will cause grpc.Dial() to fail.
+// transport security is incompatible and will cause RPCs to fail.
func NewCredentials() credentials.TransportCredentials {
return insecureTC{}
}
@@ -71,6 +71,12 @@ func (info) AuthType() string {
return "insecure"
}
+// ValidateAuthority allows any value to be overridden for the :authority
+// header.
+func (info) ValidateAuthority(string) error {
+ return nil
+}
+
// insecureBundle implements an insecure bundle.
// An insecure bundle provides a thin wrapper around insecureTC to support
// the credentials.Bundle interface.
diff --git a/vendor/google.golang.org/grpc/credentials/tls.go b/vendor/google.golang.org/grpc/credentials/tls.go
index bd5fe22b6a..8277be7d6f 100644
--- a/vendor/google.golang.org/grpc/credentials/tls.go
+++ b/vendor/google.golang.org/grpc/credentials/tls.go
@@ -22,6 +22,7 @@ import (
"context"
"crypto/tls"
"crypto/x509"
+ "errors"
"fmt"
"net"
"net/url"
@@ -50,6 +51,21 @@ func (t TLSInfo) AuthType() string {
return "tls"
}
+// ValidateAuthority validates the provided authority being used to override the
+// :authority header by verifying it against the peer certificates. It returns a
+// non-nil error if the validation fails.
+func (t TLSInfo) ValidateAuthority(authority string) error {
+ var errs []error
+ for _, cert := range t.State.PeerCertificates {
+ var err error
+ if err = cert.VerifyHostname(authority); err == nil {
+ return nil
+ }
+ errs = append(errs, err)
+ }
+ return fmt.Errorf("credentials: invalid authority %q: %v", authority, errors.Join(errs...))
+}
+
// cipherSuiteLookup returns the string version of a TLS cipher suite ID.
func cipherSuiteLookup(cipherSuiteID uint16) string {
for _, s := range tls.CipherSuites() {
@@ -94,14 +110,14 @@ func (c tlsCreds) Info() ProtocolInfo {
func (c *tlsCreds) ClientHandshake(ctx context.Context, authority string, rawConn net.Conn) (_ net.Conn, _ AuthInfo, err error) {
// use local cfg to avoid clobbering ServerName if using multiple endpoints
cfg := credinternal.CloneTLSConfig(c.config)
- if cfg.ServerName == "" {
- serverName, _, err := net.SplitHostPort(authority)
- if err != nil {
- // If the authority had no host port or if the authority cannot be parsed, use it as-is.
- serverName = authority
- }
- cfg.ServerName = serverName
+
+ serverName, _, err := net.SplitHostPort(authority)
+ if err != nil {
+ // If the authority had no host port or if the authority cannot be parsed, use it as-is.
+ serverName = authority
}
+ cfg.ServerName = serverName
+
conn := tls.Client(rawConn, cfg)
errChannel := make(chan error, 1)
go func() {
@@ -243,9 +259,11 @@ func applyDefaults(c *tls.Config) *tls.Config {
// certificates to establish the identity of the client need to be included in
// the credentials (eg: for mTLS), use NewTLS instead, where a complete
// tls.Config can be specified.
-// serverNameOverride is for testing only. If set to a non empty string,
-// it will override the virtual host name of authority (e.g. :authority header
-// field) in requests.
+//
+// serverNameOverride is for testing only. If set to a non empty string, it will
+// override the virtual host name of authority (e.g. :authority header field) in
+// requests. Users should use grpc.WithAuthority passed to grpc.NewClient to
+// override the authority of the client instead.
func NewClientTLSFromCert(cp *x509.CertPool, serverNameOverride string) TransportCredentials {
return NewTLS(&tls.Config{ServerName: serverNameOverride, RootCAs: cp})
}
@@ -255,9 +273,11 @@ func NewClientTLSFromCert(cp *x509.CertPool, serverNameOverride string) Transpor
// certificates to establish the identity of the client need to be included in
// the credentials (eg: for mTLS), use NewTLS instead, where a complete
// tls.Config can be specified.
-// serverNameOverride is for testing only. If set to a non empty string,
-// it will override the virtual host name of authority (e.g. :authority header
-// field) in requests.
+//
+// serverNameOverride is for testing only. If set to a non empty string, it will
+// override the virtual host name of authority (e.g. :authority header field) in
+// requests. Users should use grpc.WithAuthority passed to grpc.NewClient to
+// override the authority of the client instead.
func NewClientTLSFromFile(certFile, serverNameOverride string) (TransportCredentials, error) {
b, err := os.ReadFile(certFile)
if err != nil {
diff --git a/vendor/google.golang.org/grpc/dialoptions.go b/vendor/google.golang.org/grpc/dialoptions.go
index 405a2ffeb3..7a5ac2e7c4 100644
--- a/vendor/google.golang.org/grpc/dialoptions.go
+++ b/vendor/google.golang.org/grpc/dialoptions.go
@@ -213,6 +213,7 @@ func WithReadBufferSize(s int) DialOption {
func WithInitialWindowSize(s int32) DialOption {
return newFuncDialOption(func(o *dialOptions) {
o.copts.InitialWindowSize = s
+ o.copts.StaticWindowSize = true
})
}
@@ -222,6 +223,26 @@ func WithInitialWindowSize(s int32) DialOption {
func WithInitialConnWindowSize(s int32) DialOption {
return newFuncDialOption(func(o *dialOptions) {
o.copts.InitialConnWindowSize = s
+ o.copts.StaticWindowSize = true
+ })
+}
+
+// WithStaticStreamWindowSize returns a DialOption which sets the initial
+// stream window size to the value provided and disables dynamic flow control.
+func WithStaticStreamWindowSize(s int32) DialOption {
+ return newFuncDialOption(func(o *dialOptions) {
+ o.copts.InitialWindowSize = s
+ o.copts.StaticWindowSize = true
+ })
+}
+
+// WithStaticConnWindowSize returns a DialOption which sets the initial
+// connection window size to the value provided and disables dynamic flow
+// control.
+func WithStaticConnWindowSize(s int32) DialOption {
+ return newFuncDialOption(func(o *dialOptions) {
+ o.copts.InitialConnWindowSize = s
+ o.copts.StaticWindowSize = true
})
}
@@ -360,7 +381,7 @@ func WithReturnConnectionError() DialOption {
//
// Note that using this DialOption with per-RPC credentials (through
// WithCredentialsBundle or WithPerRPCCredentials) which require transport
-// security is incompatible and will cause grpc.Dial() to fail.
+// security is incompatible and will cause RPCs to fail.
//
// Deprecated: use WithTransportCredentials and insecure.NewCredentials()
// instead. Will be supported throughout 1.x.
@@ -587,6 +608,8 @@ func WithChainStreamInterceptor(interceptors ...StreamClientInterceptor) DialOpt
// WithAuthority returns a DialOption that specifies the value to be used as the
// :authority pseudo-header and as the server name in authentication handshake.
+// This overrides all other ways of setting authority on the channel, but can be
+// overridden per-call by using grpc.CallAuthority.
func WithAuthority(a string) DialOption {
return newFuncDialOption(func(o *dialOptions) {
o.authority = a
diff --git a/vendor/google.golang.org/grpc/health/grpc_health_v1/health.pb.go b/vendor/google.golang.org/grpc/health/grpc_health_v1/health.pb.go
index 94177b05c2..22d263fb94 100644
--- a/vendor/google.golang.org/grpc/health/grpc_health_v1/health.pb.go
+++ b/vendor/google.golang.org/grpc/health/grpc_health_v1/health.pb.go
@@ -17,7 +17,7 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
-// protoc-gen-go v1.36.4
+// protoc-gen-go v1.36.6
// protoc v5.27.1
// source: grpc/health/v1/health.proto
@@ -178,46 +178,112 @@ func (x *HealthCheckResponse) GetStatus() HealthCheckResponse_ServingStatus {
return HealthCheckResponse_UNKNOWN
}
+type HealthListRequest struct {
+ state protoimpl.MessageState `protogen:"open.v1"`
+ unknownFields protoimpl.UnknownFields
+ sizeCache protoimpl.SizeCache
+}
+
+func (x *HealthListRequest) Reset() {
+ *x = HealthListRequest{}
+ mi := &file_grpc_health_v1_health_proto_msgTypes[2]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+}
+
+func (x *HealthListRequest) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*HealthListRequest) ProtoMessage() {}
+
+func (x *HealthListRequest) ProtoReflect() protoreflect.Message {
+ mi := &file_grpc_health_v1_health_proto_msgTypes[2]
+ if x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use HealthListRequest.ProtoReflect.Descriptor instead.
+func (*HealthListRequest) Descriptor() ([]byte, []int) {
+ return file_grpc_health_v1_health_proto_rawDescGZIP(), []int{2}
+}
+
+type HealthListResponse struct {
+ state protoimpl.MessageState `protogen:"open.v1"`
+ // statuses contains all the services and their respective status.
+ Statuses map[string]*HealthCheckResponse `protobuf:"bytes,1,rep,name=statuses,proto3" json:"statuses,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
+ unknownFields protoimpl.UnknownFields
+ sizeCache protoimpl.SizeCache
+}
+
+func (x *HealthListResponse) Reset() {
+ *x = HealthListResponse{}
+ mi := &file_grpc_health_v1_health_proto_msgTypes[3]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+}
+
+func (x *HealthListResponse) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*HealthListResponse) ProtoMessage() {}
+
+func (x *HealthListResponse) ProtoReflect() protoreflect.Message {
+ mi := &file_grpc_health_v1_health_proto_msgTypes[3]
+ if x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use HealthListResponse.ProtoReflect.Descriptor instead.
+func (*HealthListResponse) Descriptor() ([]byte, []int) {
+ return file_grpc_health_v1_health_proto_rawDescGZIP(), []int{3}
+}
+
+func (x *HealthListResponse) GetStatuses() map[string]*HealthCheckResponse {
+ if x != nil {
+ return x.Statuses
+ }
+ return nil
+}
+
var File_grpc_health_v1_health_proto protoreflect.FileDescriptor
-var file_grpc_health_v1_health_proto_rawDesc = string([]byte{
- 0x0a, 0x1b, 0x67, 0x72, 0x70, 0x63, 0x2f, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x2f, 0x76, 0x31,
- 0x2f, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0e, 0x67,
- 0x72, 0x70, 0x63, 0x2e, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x22, 0x2e, 0x0a,
- 0x12, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75,
- 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x18, 0x01,
- 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x22, 0xb1, 0x01,
- 0x0a, 0x13, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x73,
- 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x49, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18,
- 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x31, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x68, 0x65, 0x61,
- 0x6c, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65,
- 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69,
- 0x6e, 0x67, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73,
- 0x22, 0x4f, 0x0a, 0x0d, 0x53, 0x65, 0x72, 0x76, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x61, 0x74, 0x75,
- 0x73, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x0b,
- 0x0a, 0x07, 0x53, 0x45, 0x52, 0x56, 0x49, 0x4e, 0x47, 0x10, 0x01, 0x12, 0x0f, 0x0a, 0x0b, 0x4e,
- 0x4f, 0x54, 0x5f, 0x53, 0x45, 0x52, 0x56, 0x49, 0x4e, 0x47, 0x10, 0x02, 0x12, 0x13, 0x0a, 0x0f,
- 0x53, 0x45, 0x52, 0x56, 0x49, 0x43, 0x45, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10,
- 0x03, 0x32, 0xae, 0x01, 0x0a, 0x06, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x12, 0x50, 0x0a, 0x05,
- 0x43, 0x68, 0x65, 0x63, 0x6b, 0x12, 0x22, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x68, 0x65, 0x61,
- 0x6c, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65,
- 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x67, 0x72, 0x70, 0x63,
- 0x2e, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x48, 0x65, 0x61, 0x6c, 0x74,
- 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x52,
- 0x0a, 0x05, 0x57, 0x61, 0x74, 0x63, 0x68, 0x12, 0x22, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x68,
- 0x65, 0x61, 0x6c, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43,
- 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x67, 0x72,
- 0x70, 0x63, 0x2e, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x48, 0x65, 0x61,
- 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
- 0x30, 0x01, 0x42, 0x70, 0x0a, 0x11, 0x69, 0x6f, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x68, 0x65,
- 0x61, 0x6c, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x42, 0x0b, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x50,
- 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x2c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67,
- 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x67, 0x72, 0x70, 0x63, 0x2f, 0x68,
- 0x65, 0x61, 0x6c, 0x74, 0x68, 0x2f, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x68, 0x65, 0x61, 0x6c, 0x74,
- 0x68, 0x5f, 0x76, 0x31, 0xa2, 0x02, 0x0c, 0x47, 0x72, 0x70, 0x63, 0x48, 0x65, 0x61, 0x6c, 0x74,
- 0x68, 0x56, 0x31, 0xaa, 0x02, 0x0e, 0x47, 0x72, 0x70, 0x63, 0x2e, 0x48, 0x65, 0x61, 0x6c, 0x74,
- 0x68, 0x2e, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
-})
+const file_grpc_health_v1_health_proto_rawDesc = "" +
+ "\n" +
+ "\x1bgrpc/health/v1/health.proto\x12\x0egrpc.health.v1\".\n" +
+ "\x12HealthCheckRequest\x12\x18\n" +
+ "\aservice\x18\x01 \x01(\tR\aservice\"\xb1\x01\n" +
+ "\x13HealthCheckResponse\x12I\n" +
+ "\x06status\x18\x01 \x01(\x0e21.grpc.health.v1.HealthCheckResponse.ServingStatusR\x06status\"O\n" +
+ "\rServingStatus\x12\v\n" +
+ "\aUNKNOWN\x10\x00\x12\v\n" +
+ "\aSERVING\x10\x01\x12\x0f\n" +
+ "\vNOT_SERVING\x10\x02\x12\x13\n" +
+ "\x0fSERVICE_UNKNOWN\x10\x03\"\x13\n" +
+ "\x11HealthListRequest\"\xc4\x01\n" +
+ "\x12HealthListResponse\x12L\n" +
+ "\bstatuses\x18\x01 \x03(\v20.grpc.health.v1.HealthListResponse.StatusesEntryR\bstatuses\x1a`\n" +
+ "\rStatusesEntry\x12\x10\n" +
+ "\x03key\x18\x01 \x01(\tR\x03key\x129\n" +
+ "\x05value\x18\x02 \x01(\v2#.grpc.health.v1.HealthCheckResponseR\x05value:\x028\x012\xfd\x01\n" +
+ "\x06Health\x12P\n" +
+ "\x05Check\x12\".grpc.health.v1.HealthCheckRequest\x1a#.grpc.health.v1.HealthCheckResponse\x12M\n" +
+ "\x04List\x12!.grpc.health.v1.HealthListRequest\x1a\".grpc.health.v1.HealthListResponse\x12R\n" +
+ "\x05Watch\x12\".grpc.health.v1.HealthCheckRequest\x1a#.grpc.health.v1.HealthCheckResponse0\x01Bp\n" +
+ "\x11io.grpc.health.v1B\vHealthProtoP\x01Z,google.golang.org/grpc/health/grpc_health_v1\xa2\x02\fGrpcHealthV1\xaa\x02\x0eGrpc.Health.V1b\x06proto3"
var (
file_grpc_health_v1_health_proto_rawDescOnce sync.Once
@@ -232,23 +298,30 @@ func file_grpc_health_v1_health_proto_rawDescGZIP() []byte {
}
var file_grpc_health_v1_health_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
-var file_grpc_health_v1_health_proto_msgTypes = make([]protoimpl.MessageInfo, 2)
+var file_grpc_health_v1_health_proto_msgTypes = make([]protoimpl.MessageInfo, 5)
var file_grpc_health_v1_health_proto_goTypes = []any{
(HealthCheckResponse_ServingStatus)(0), // 0: grpc.health.v1.HealthCheckResponse.ServingStatus
(*HealthCheckRequest)(nil), // 1: grpc.health.v1.HealthCheckRequest
(*HealthCheckResponse)(nil), // 2: grpc.health.v1.HealthCheckResponse
+ (*HealthListRequest)(nil), // 3: grpc.health.v1.HealthListRequest
+ (*HealthListResponse)(nil), // 4: grpc.health.v1.HealthListResponse
+ nil, // 5: grpc.health.v1.HealthListResponse.StatusesEntry
}
var file_grpc_health_v1_health_proto_depIdxs = []int32{
0, // 0: grpc.health.v1.HealthCheckResponse.status:type_name -> grpc.health.v1.HealthCheckResponse.ServingStatus
- 1, // 1: grpc.health.v1.Health.Check:input_type -> grpc.health.v1.HealthCheckRequest
- 1, // 2: grpc.health.v1.Health.Watch:input_type -> grpc.health.v1.HealthCheckRequest
- 2, // 3: grpc.health.v1.Health.Check:output_type -> grpc.health.v1.HealthCheckResponse
- 2, // 4: grpc.health.v1.Health.Watch:output_type -> grpc.health.v1.HealthCheckResponse
- 3, // [3:5] is the sub-list for method output_type
- 1, // [1:3] is the sub-list for method input_type
- 1, // [1:1] is the sub-list for extension type_name
- 1, // [1:1] is the sub-list for extension extendee
- 0, // [0:1] is the sub-list for field type_name
+ 5, // 1: grpc.health.v1.HealthListResponse.statuses:type_name -> grpc.health.v1.HealthListResponse.StatusesEntry
+ 2, // 2: grpc.health.v1.HealthListResponse.StatusesEntry.value:type_name -> grpc.health.v1.HealthCheckResponse
+ 1, // 3: grpc.health.v1.Health.Check:input_type -> grpc.health.v1.HealthCheckRequest
+ 3, // 4: grpc.health.v1.Health.List:input_type -> grpc.health.v1.HealthListRequest
+ 1, // 5: grpc.health.v1.Health.Watch:input_type -> grpc.health.v1.HealthCheckRequest
+ 2, // 6: grpc.health.v1.Health.Check:output_type -> grpc.health.v1.HealthCheckResponse
+ 4, // 7: grpc.health.v1.Health.List:output_type -> grpc.health.v1.HealthListResponse
+ 2, // 8: grpc.health.v1.Health.Watch:output_type -> grpc.health.v1.HealthCheckResponse
+ 6, // [6:9] is the sub-list for method output_type
+ 3, // [3:6] is the sub-list for method input_type
+ 3, // [3:3] is the sub-list for extension type_name
+ 3, // [3:3] is the sub-list for extension extendee
+ 0, // [0:3] is the sub-list for field type_name
}
func init() { file_grpc_health_v1_health_proto_init() }
@@ -262,7 +335,7 @@ func file_grpc_health_v1_health_proto_init() {
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: unsafe.Slice(unsafe.StringData(file_grpc_health_v1_health_proto_rawDesc), len(file_grpc_health_v1_health_proto_rawDesc)),
NumEnums: 1,
- NumMessages: 2,
+ NumMessages: 5,
NumExtensions: 0,
NumServices: 1,
},
diff --git a/vendor/google.golang.org/grpc/health/grpc_health_v1/health_grpc.pb.go b/vendor/google.golang.org/grpc/health/grpc_health_v1/health_grpc.pb.go
index f96b8ab492..f2c01f296a 100644
--- a/vendor/google.golang.org/grpc/health/grpc_health_v1/health_grpc.pb.go
+++ b/vendor/google.golang.org/grpc/health/grpc_health_v1/health_grpc.pb.go
@@ -37,6 +37,7 @@ const _ = grpc.SupportPackageIsVersion9
const (
Health_Check_FullMethodName = "/grpc.health.v1.Health/Check"
+ Health_List_FullMethodName = "/grpc.health.v1.Health/List"
Health_Watch_FullMethodName = "/grpc.health.v1.Health/Watch"
)
@@ -55,9 +56,19 @@ type HealthClient interface {
//
// Clients should set a deadline when calling Check, and can declare the
// server unhealthy if they do not receive a timely response.
- //
- // Check implementations should be idempotent and side effect free.
Check(ctx context.Context, in *HealthCheckRequest, opts ...grpc.CallOption) (*HealthCheckResponse, error)
+ // List provides a non-atomic snapshot of the health of all the available
+ // services.
+ //
+ // The server may respond with a RESOURCE_EXHAUSTED error if too many services
+ // exist.
+ //
+ // Clients should set a deadline when calling List, and can declare the server
+ // unhealthy if they do not receive a timely response.
+ //
+ // Clients should keep in mind that the list of health services exposed by an
+ // application can change over the lifetime of the process.
+ List(ctx context.Context, in *HealthListRequest, opts ...grpc.CallOption) (*HealthListResponse, error)
// Performs a watch for the serving status of the requested service.
// The server will immediately send back a message indicating the current
// serving status. It will then subsequently send a new message whenever
@@ -94,6 +105,16 @@ func (c *healthClient) Check(ctx context.Context, in *HealthCheckRequest, opts .
return out, nil
}
+func (c *healthClient) List(ctx context.Context, in *HealthListRequest, opts ...grpc.CallOption) (*HealthListResponse, error) {
+ cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
+ out := new(HealthListResponse)
+ err := c.cc.Invoke(ctx, Health_List_FullMethodName, in, out, cOpts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
func (c *healthClient) Watch(ctx context.Context, in *HealthCheckRequest, opts ...grpc.CallOption) (grpc.ServerStreamingClient[HealthCheckResponse], error) {
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
stream, err := c.cc.NewStream(ctx, &Health_ServiceDesc.Streams[0], Health_Watch_FullMethodName, cOpts...)
@@ -128,9 +149,19 @@ type HealthServer interface {
//
// Clients should set a deadline when calling Check, and can declare the
// server unhealthy if they do not receive a timely response.
- //
- // Check implementations should be idempotent and side effect free.
Check(context.Context, *HealthCheckRequest) (*HealthCheckResponse, error)
+ // List provides a non-atomic snapshot of the health of all the available
+ // services.
+ //
+ // The server may respond with a RESOURCE_EXHAUSTED error if too many services
+ // exist.
+ //
+ // Clients should set a deadline when calling List, and can declare the server
+ // unhealthy if they do not receive a timely response.
+ //
+ // Clients should keep in mind that the list of health services exposed by an
+ // application can change over the lifetime of the process.
+ List(context.Context, *HealthListRequest) (*HealthListResponse, error)
// Performs a watch for the serving status of the requested service.
// The server will immediately send back a message indicating the current
// serving status. It will then subsequently send a new message whenever
@@ -157,10 +188,13 @@ type HealthServer interface {
type UnimplementedHealthServer struct{}
func (UnimplementedHealthServer) Check(context.Context, *HealthCheckRequest) (*HealthCheckResponse, error) {
- return nil, status.Errorf(codes.Unimplemented, "method Check not implemented")
+ return nil, status.Error(codes.Unimplemented, "method Check not implemented")
+}
+func (UnimplementedHealthServer) List(context.Context, *HealthListRequest) (*HealthListResponse, error) {
+ return nil, status.Error(codes.Unimplemented, "method List not implemented")
}
func (UnimplementedHealthServer) Watch(*HealthCheckRequest, grpc.ServerStreamingServer[HealthCheckResponse]) error {
- return status.Errorf(codes.Unimplemented, "method Watch not implemented")
+ return status.Error(codes.Unimplemented, "method Watch not implemented")
}
func (UnimplementedHealthServer) testEmbeddedByValue() {}
@@ -200,6 +234,24 @@ func _Health_Check_Handler(srv interface{}, ctx context.Context, dec func(interf
return interceptor(ctx, in, info, handler)
}
+func _Health_List_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(HealthListRequest)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(HealthServer).List(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: Health_List_FullMethodName,
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(HealthServer).List(ctx, req.(*HealthListRequest))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
func _Health_Watch_Handler(srv interface{}, stream grpc.ServerStream) error {
m := new(HealthCheckRequest)
if err := stream.RecvMsg(m); err != nil {
@@ -222,6 +274,10 @@ var Health_ServiceDesc = grpc.ServiceDesc{
MethodName: "Check",
Handler: _Health_Check_Handler,
},
+ {
+ MethodName: "List",
+ Handler: _Health_List_Handler,
+ },
},
Streams: []grpc.StreamDesc{
{
diff --git a/vendor/google.golang.org/grpc/internal/balancer/gracefulswitch/gracefulswitch.go b/vendor/google.golang.org/grpc/internal/balancer/gracefulswitch/gracefulswitch.go
index fbc1ca356a..ba25b89887 100644
--- a/vendor/google.golang.org/grpc/internal/balancer/gracefulswitch/gracefulswitch.go
+++ b/vendor/google.golang.org/grpc/internal/balancer/gracefulswitch/gracefulswitch.go
@@ -223,15 +223,7 @@ func (gsb *Balancer) ExitIdle() {
// There is no need to protect this read with a mutex, as the write to the
// Balancer field happens in SwitchTo, which completes before this can be
// called.
- if ei, ok := balToUpdate.Balancer.(balancer.ExitIdler); ok {
- ei.ExitIdle()
- return
- }
- gsb.mu.Lock()
- defer gsb.mu.Unlock()
- for sc := range balToUpdate.subconns {
- sc.Connect()
- }
+ balToUpdate.ExitIdle()
}
// updateSubConnState forwards the update to the appropriate child.
diff --git a/vendor/google.golang.org/grpc/internal/credentials/credentials.go b/vendor/google.golang.org/grpc/internal/credentials/credentials.go
index 9deee7f651..48b22d9cf0 100644
--- a/vendor/google.golang.org/grpc/internal/credentials/credentials.go
+++ b/vendor/google.golang.org/grpc/internal/credentials/credentials.go
@@ -20,20 +20,6 @@ import (
"context"
)
-// requestInfoKey is a struct to be used as the key to store RequestInfo in a
-// context.
-type requestInfoKey struct{}
-
-// NewRequestInfoContext creates a context with ri.
-func NewRequestInfoContext(ctx context.Context, ri any) context.Context {
- return context.WithValue(ctx, requestInfoKey{}, ri)
-}
-
-// RequestInfoFromContext extracts the RequestInfo from ctx.
-func RequestInfoFromContext(ctx context.Context) any {
- return ctx.Value(requestInfoKey{})
-}
-
// clientHandshakeInfoKey is a struct used as the key to store
// ClientHandshakeInfo in a context.
type clientHandshakeInfoKey struct{}
diff --git a/vendor/google.golang.org/grpc/internal/envconfig/envconfig.go b/vendor/google.golang.org/grpc/internal/envconfig/envconfig.go
index 1e42b6fdc8..ee7a00b0f6 100644
--- a/vendor/google.golang.org/grpc/internal/envconfig/envconfig.go
+++ b/vendor/google.golang.org/grpc/internal/envconfig/envconfig.go
@@ -26,35 +26,71 @@ import (
)
var (
- // TXTErrIgnore is set if TXT errors should be ignored ("GRPC_GO_IGNORE_TXT_ERRORS" is not "false").
+ // EnableTXTServiceConfig is set if the DNS resolver should perform TXT
+ // lookups for service config ("GRPC_ENABLE_TXT_SERVICE_CONFIG" is not
+ // "false").
+ EnableTXTServiceConfig = boolFromEnv("GRPC_ENABLE_TXT_SERVICE_CONFIG", true)
+
+ // TXTErrIgnore is set if TXT errors should be ignored
+ // ("GRPC_GO_IGNORE_TXT_ERRORS" is not "false").
TXTErrIgnore = boolFromEnv("GRPC_GO_IGNORE_TXT_ERRORS", true)
+
// RingHashCap indicates the maximum ring size which defaults to 4096
// entries but may be overridden by setting the environment variable
// "GRPC_RING_HASH_CAP". This does not override the default bounds
// checking which NACKs configs specifying ring sizes > 8*1024*1024 (~8M).
RingHashCap = uint64FromEnv("GRPC_RING_HASH_CAP", 4096, 1, 8*1024*1024)
- // LeastRequestLB is set if we should support the least_request_experimental
- // LB policy, which can be enabled by setting the environment variable
- // "GRPC_EXPERIMENTAL_ENABLE_LEAST_REQUEST" to "true".
- LeastRequestLB = boolFromEnv("GRPC_EXPERIMENTAL_ENABLE_LEAST_REQUEST", false)
+
// ALTSMaxConcurrentHandshakes is the maximum number of concurrent ALTS
// handshakes that can be performed.
ALTSMaxConcurrentHandshakes = uint64FromEnv("GRPC_ALTS_MAX_CONCURRENT_HANDSHAKES", 100, 1, 100)
+
// EnforceALPNEnabled is set if TLS connections to servers with ALPN disabled
// should be rejected. The HTTP/2 protocol requires ALPN to be enabled, this
// option is present for backward compatibility. This option may be overridden
// by setting the environment variable "GRPC_ENFORCE_ALPN_ENABLED" to "true"
// or "false".
EnforceALPNEnabled = boolFromEnv("GRPC_ENFORCE_ALPN_ENABLED", true)
- // XDSFallbackSupport is the env variable that controls whether support for
- // xDS fallback is turned on. If this is unset or is false, only the first
- // xDS server in the list of server configs will be used.
- XDSFallbackSupport = boolFromEnv("GRPC_EXPERIMENTAL_XDS_FALLBACK", true)
+
// NewPickFirstEnabled is set if the new pickfirst leaf policy is to be used
- // instead of the exiting pickfirst implementation. This can be enabled by
+ // instead of the exiting pickfirst implementation. This can be disabled by
// setting the environment variable "GRPC_EXPERIMENTAL_ENABLE_NEW_PICK_FIRST"
- // to "true".
- NewPickFirstEnabled = boolFromEnv("GRPC_EXPERIMENTAL_ENABLE_NEW_PICK_FIRST", false)
+ // to "false".
+ NewPickFirstEnabled = boolFromEnv("GRPC_EXPERIMENTAL_ENABLE_NEW_PICK_FIRST", true)
+
+ // XDSEndpointHashKeyBackwardCompat controls the parsing of the endpoint hash
+ // key from EDS LbEndpoint metadata. Endpoint hash keys can be disabled by
+ // setting "GRPC_XDS_ENDPOINT_HASH_KEY_BACKWARD_COMPAT" to "true". When the
+ // implementation of A76 is stable, we will flip the default value to false
+ // in a subsequent release. A final release will remove this environment
+ // variable, enabling the new behavior unconditionally.
+ XDSEndpointHashKeyBackwardCompat = boolFromEnv("GRPC_XDS_ENDPOINT_HASH_KEY_BACKWARD_COMPAT", true)
+
+ // RingHashSetRequestHashKey is set if the ring hash balancer can get the
+ // request hash header by setting the "requestHashHeader" field, according
+ // to gRFC A76. It can be enabled by setting the environment variable
+ // "GRPC_EXPERIMENTAL_RING_HASH_SET_REQUEST_HASH_KEY" to "true".
+ RingHashSetRequestHashKey = boolFromEnv("GRPC_EXPERIMENTAL_RING_HASH_SET_REQUEST_HASH_KEY", false)
+
+ // ALTSHandshakerKeepaliveParams is set if we should add the
+ // KeepaliveParams when dial the ALTS handshaker service.
+ ALTSHandshakerKeepaliveParams = boolFromEnv("GRPC_EXPERIMENTAL_ALTS_HANDSHAKER_KEEPALIVE_PARAMS", false)
+
+ // DisableStrictPathChecking indicates whether strict path checking is
+ // disabled. This feature can be disabled by setting the environment
+ // variable GRPC_GO_EXPERIMENTAL_DISABLE_STRICT_PATH_CHECKING to "true".
+ //
+ // When strict path checking is enabled, gRPC will reject requests with
+ // paths that do not conform to the gRPC over HTTP/2 specification found at
+ // https://github.com/grpc/grpc/blob/master/doc/PROTOCOL-HTTP2.md.
+ //
+ // When disabled, gRPC will allow paths that do not contain a leading slash.
+ // Enabling strict path checking is recommended for security reasons, as it
+ // prevents potential path traversal vulnerabilities.
+ //
+ // A future release will remove this environment variable, enabling strict
+ // path checking behavior unconditionally.
+ DisableStrictPathChecking = boolFromEnv("GRPC_GO_EXPERIMENTAL_DISABLE_STRICT_PATH_CHECKING", false)
)
func boolFromEnv(envVar string, def bool) bool {
diff --git a/vendor/google.golang.org/grpc/internal/envconfig/xds.go b/vendor/google.golang.org/grpc/internal/envconfig/xds.go
index 2eb97f832b..e87551552a 100644
--- a/vendor/google.golang.org/grpc/internal/envconfig/xds.go
+++ b/vendor/google.golang.org/grpc/internal/envconfig/xds.go
@@ -63,4 +63,9 @@ var (
// For more details, see:
// https://github.com/grpc/proposal/blob/master/A82-xds-system-root-certs.md.
XDSSystemRootCertsEnabled = boolFromEnv("GRPC_EXPERIMENTAL_XDS_SYSTEM_ROOT_CERTS", false)
+
+ // XDSSPIFFEEnabled controls if SPIFFE Bundle Maps can be used as roots of
+ // trust. For more details, see:
+ // https://github.com/grpc/proposal/blob/master/A87-mtls-spiffe-support.md
+ XDSSPIFFEEnabled = boolFromEnv("GRPC_EXPERIMENTAL_XDS_MTLS_SPIFFE", false)
)
diff --git a/vendor/google.golang.org/grpc/internal/grpcsync/event.go b/vendor/google.golang.org/grpc/internal/grpcsync/event.go
index fbe697c376..d788c24930 100644
--- a/vendor/google.golang.org/grpc/internal/grpcsync/event.go
+++ b/vendor/google.golang.org/grpc/internal/grpcsync/event.go
@@ -21,28 +21,25 @@
package grpcsync
import (
- "sync"
"sync/atomic"
)
// Event represents a one-time event that may occur in the future.
type Event struct {
- fired int32
+ fired atomic.Bool
c chan struct{}
- o sync.Once
}
// Fire causes e to complete. It is safe to call multiple times, and
// concurrently. It returns true iff this call to Fire caused the signaling
-// channel returned by Done to close.
+// channel returned by Done to close. If Fire returns false, it is possible
+// the Done channel has not been closed yet.
func (e *Event) Fire() bool {
- ret := false
- e.o.Do(func() {
- atomic.StoreInt32(&e.fired, 1)
+ if e.fired.CompareAndSwap(false, true) {
close(e.c)
- ret = true
- })
- return ret
+ return true
+ }
+ return false
}
// Done returns a channel that will be closed when Fire is called.
@@ -52,7 +49,7 @@ func (e *Event) Done() <-chan struct{} {
// HasFired returns true if Fire has been called.
func (e *Event) HasFired() bool {
- return atomic.LoadInt32(&e.fired) == 1
+ return e.fired.Load()
}
// NewEvent returns a new, ready-to-use Event.
diff --git a/vendor/google.golang.org/grpc/internal/internal.go b/vendor/google.golang.org/grpc/internal/internal.go
index 13e1f386b1..2699223a27 100644
--- a/vendor/google.golang.org/grpc/internal/internal.go
+++ b/vendor/google.golang.org/grpc/internal/internal.go
@@ -182,35 +182,6 @@ var (
// other features, including the CSDS service.
NewXDSResolverWithClientForTesting any // func(xdsclient.XDSClient) (resolver.Builder, error)
- // RegisterRLSClusterSpecifierPluginForTesting registers the RLS Cluster
- // Specifier Plugin for testing purposes, regardless of the XDSRLS environment
- // variable.
- //
- // TODO: Remove this function once the RLS env var is removed.
- RegisterRLSClusterSpecifierPluginForTesting func()
-
- // UnregisterRLSClusterSpecifierPluginForTesting unregisters the RLS Cluster
- // Specifier Plugin for testing purposes. This is needed because there is no way
- // to unregister the RLS Cluster Specifier Plugin after registering it solely
- // for testing purposes using RegisterRLSClusterSpecifierPluginForTesting().
- //
- // TODO: Remove this function once the RLS env var is removed.
- UnregisterRLSClusterSpecifierPluginForTesting func()
-
- // RegisterRBACHTTPFilterForTesting registers the RBAC HTTP Filter for testing
- // purposes, regardless of the RBAC environment variable.
- //
- // TODO: Remove this function once the RBAC env var is removed.
- RegisterRBACHTTPFilterForTesting func()
-
- // UnregisterRBACHTTPFilterForTesting unregisters the RBAC HTTP Filter for
- // testing purposes. This is needed because there is no way to unregister the
- // HTTP Filter after registering it solely for testing purposes using
- // RegisterRBACHTTPFilterForTesting().
- //
- // TODO: Remove this function once the RBAC env var is removed.
- UnregisterRBACHTTPFilterForTesting func()
-
// ORCAAllowAnyMinReportingInterval is for examples/orca use ONLY.
ORCAAllowAnyMinReportingInterval any // func(so *orca.ServiceOptions)
@@ -259,6 +230,20 @@ var (
// SetBufferPoolingThresholdForTesting updates the buffer pooling threshold, for
// testing purposes.
SetBufferPoolingThresholdForTesting any // func(int)
+
+ // TimeAfterFunc is used to create timers. During tests the function is
+ // replaced to track allocated timers and fail the test if a timer isn't
+ // cancelled.
+ TimeAfterFunc = func(d time.Duration, f func()) Timer {
+ return time.AfterFunc(d, f)
+ }
+
+ // NewStreamWaitingForResolver is a test hook that is triggered when a
+ // new stream blocks while waiting for name resolution. This can be
+ // used in tests to synchronize resolver updates and avoid race conditions.
+ // When set, the function will be called before the stream enters
+ // the blocking state.
+ NewStreamWaitingForResolver = func() {}
)
// HealthChecker defines the signature of the client-side LB channel health
@@ -300,3 +285,9 @@ type EnforceSubConnEmbedding interface {
type EnforceClientConnEmbedding interface {
enforceClientConnEmbedding()
}
+
+// Timer is an interface to allow injecting different time.Timer implementations
+// during tests.
+type Timer interface {
+ Stop() bool
+}
diff --git a/vendor/google.golang.org/grpc/internal/metadata/metadata.go b/vendor/google.golang.org/grpc/internal/metadata/metadata.go
index 900bfb7160..c4055bc00e 100644
--- a/vendor/google.golang.org/grpc/internal/metadata/metadata.go
+++ b/vendor/google.golang.org/grpc/internal/metadata/metadata.go
@@ -97,13 +97,11 @@ func hasNotPrintable(msg string) bool {
return false
}
-// ValidatePair validate a key-value pair with the following rules (the pseudo-header will be skipped) :
-//
-// - key must contain one or more characters.
-// - the characters in the key must be contained in [0-9 a-z _ - .].
-// - if the key ends with a "-bin" suffix, no validation of the corresponding value is performed.
-// - the characters in the every value must be printable (in [%x20-%x7E]).
-func ValidatePair(key string, vals ...string) error {
+// ValidateKey validates a key with the following rules (pseudo-headers are
+// skipped):
+// - the key must contain one or more characters.
+// - the characters in the key must be in [0-9 a-z _ - .].
+func ValidateKey(key string) error {
// key should not be empty
if key == "" {
return fmt.Errorf("there is an empty key in the header")
@@ -119,6 +117,20 @@ func ValidatePair(key string, vals ...string) error {
return fmt.Errorf("header key %q contains illegal characters not in [0-9a-z-_.]", key)
}
}
+ return nil
+}
+
+// ValidatePair validates a key-value pair with the following rules
+// (pseudo-header are skipped):
+// - the key must contain one or more characters.
+// - the characters in the key must be in [0-9 a-z _ - .].
+// - if the key ends with a "-bin" suffix, no validation of the corresponding
+// value is performed.
+// - the characters in every value must be printable (in [%x20-%x7E]).
+func ValidatePair(key string, vals ...string) error {
+ if err := ValidateKey(key); err != nil {
+ return err
+ }
if strings.HasSuffix(key, "-bin") {
return nil
}
diff --git a/vendor/google.golang.org/grpc/internal/resolver/delegatingresolver/delegatingresolver.go b/vendor/google.golang.org/grpc/internal/resolver/delegatingresolver/delegatingresolver.go
index a6c6470133..20b8fb098a 100644
--- a/vendor/google.golang.org/grpc/internal/resolver/delegatingresolver/delegatingresolver.go
+++ b/vendor/google.golang.org/grpc/internal/resolver/delegatingresolver/delegatingresolver.go
@@ -28,6 +28,8 @@ import (
"google.golang.org/grpc/grpclog"
"google.golang.org/grpc/internal/proxyattributes"
+ "google.golang.org/grpc/internal/transport"
+ "google.golang.org/grpc/internal/transport/networktype"
"google.golang.org/grpc/resolver"
"google.golang.org/grpc/serviceconfig"
)
@@ -40,19 +42,26 @@ var (
// delegatingResolver manages both target URI and proxy address resolution by
// delegating these tasks to separate child resolvers. Essentially, it acts as
-// a intermediary between the gRPC ClientConn and the child resolvers.
+// an intermediary between the gRPC ClientConn and the child resolvers.
//
// It implements the [resolver.Resolver] interface.
type delegatingResolver struct {
- target resolver.Target // parsed target URI to be resolved
- cc resolver.ClientConn // gRPC ClientConn
- targetResolver resolver.Resolver // resolver for the target URI, based on its scheme
- proxyResolver resolver.Resolver // resolver for the proxy URI; nil if no proxy is configured
- proxyURL *url.URL // proxy URL, derived from proxy environment and target
+ target resolver.Target // parsed target URI to be resolved
+ cc resolver.ClientConn // gRPC ClientConn
+ proxyURL *url.URL // proxy URL, derived from proxy environment and target
+ // We do not hold both mu and childMu in the same goroutine. Avoid holding
+ // both locks when calling into the child, as the child resolver may
+ // synchronously callback into the channel.
mu sync.Mutex // protects all the fields below
targetResolverState *resolver.State // state of the target resolver
proxyAddrs []resolver.Address // resolved proxy addresses; empty if no proxy is configured
+
+ // childMu serializes calls into child resolvers. It also protects access to
+ // the following fields.
+ childMu sync.Mutex
+ targetResolver resolver.Resolver // resolver for the target URI, based on its scheme
+ proxyResolver resolver.Resolver // resolver for the proxy URI; nil if no proxy is configured
}
// nopResolver is a resolver that does nothing.
@@ -62,8 +71,8 @@ func (nopResolver) ResolveNow(resolver.ResolveNowOptions) {}
func (nopResolver) Close() {}
-// proxyURLForTarget determines the proxy URL for the given address based on
-// the environment. It can return the following:
+// proxyURLForTarget determines the proxy URL for the given address based on the
+// environment. It can return the following:
// - nil URL, nil error: No proxy is configured or the address is excluded
// using the `NO_PROXY` environment variable or if req.URL.Host is
// "localhost" (with or without // a port number)
@@ -82,7 +91,8 @@ func proxyURLForTarget(address string) (*url.URL, error) {
// resolvers:
// - one to resolve the proxy address specified using the supported
// environment variables. This uses the registered resolver for the "dns"
-// scheme.
+// scheme. It is lazily built when a target resolver update contains at least
+// one TCP address.
// - one to resolve the target URI using the resolver specified by the scheme
// in the target URI or specified by the user using the WithResolvers dial
// option. As a special case, if the target URI's scheme is "dns" and a
@@ -91,8 +101,10 @@ func proxyURLForTarget(address string) (*url.URL, error) {
// resolution is enabled using the dial option.
func New(target resolver.Target, cc resolver.ClientConn, opts resolver.BuildOptions, targetResolverBuilder resolver.Builder, targetResolutionEnabled bool) (resolver.Resolver, error) {
r := &delegatingResolver{
- target: target,
- cc: cc,
+ target: target,
+ cc: cc,
+ proxyResolver: nopResolver{},
+ targetResolver: nopResolver{},
}
var err error
@@ -111,41 +123,34 @@ func New(target resolver.Target, cc resolver.ClientConn, opts resolver.BuildOpti
logger.Infof("Proxy URL detected : %s", r.proxyURL)
}
+ // Resolver updates from one child may trigger calls into the other. Block
+ // updates until the children are initialized.
+ r.childMu.Lock()
+ defer r.childMu.Unlock()
// When the scheme is 'dns' and target resolution on client is not enabled,
// resolution should be handled by the proxy, not the client. Therefore, we
// bypass the target resolver and store the unresolved target address.
if target.URL.Scheme == "dns" && !targetResolutionEnabled {
- state := resolver.State{
+ r.targetResolverState = &resolver.State{
Addresses: []resolver.Address{{Addr: target.Endpoint()}},
Endpoints: []resolver.Endpoint{{Addresses: []resolver.Address{{Addr: target.Endpoint()}}}},
}
- r.targetResolverState = &state
- } else {
- wcc := &wrappingClientConn{
- stateListener: r.updateTargetResolverState,
- parent: r,
- }
- if r.targetResolver, err = targetResolverBuilder.Build(target, wcc, opts); err != nil {
- return nil, fmt.Errorf("delegating_resolver: unable to build the resolver for target %s: %v", target, err)
- }
- }
-
- if r.proxyResolver, err = r.proxyURIResolver(opts); err != nil {
- return nil, fmt.Errorf("delegating_resolver: failed to build resolver for proxy URL %q: %v", r.proxyURL, err)
+ r.updateTargetResolverState(*r.targetResolverState)
+ return r, nil
}
-
- if r.targetResolver == nil {
- r.targetResolver = nopResolver{}
+ wcc := &wrappingClientConn{
+ stateListener: r.updateTargetResolverState,
+ parent: r,
}
- if r.proxyResolver == nil {
- r.proxyResolver = nopResolver{}
+ if r.targetResolver, err = targetResolverBuilder.Build(target, wcc, opts); err != nil {
+ return nil, fmt.Errorf("delegating_resolver: unable to build the resolver for target %s: %v", target, err)
}
return r, nil
}
-// proxyURIResolver creates a resolver for resolving proxy URIs using the
-// "dns" scheme. It adjusts the proxyURL to conform to the "dns:///" format and
-// builds a resolver with a wrappingClientConn to capture resolved addresses.
+// proxyURIResolver creates a resolver for resolving proxy URIs using the "dns"
+// scheme. It adjusts the proxyURL to conform to the "dns:///" format and builds
+// a resolver with a wrappingClientConn to capture resolved addresses.
func (r *delegatingResolver) proxyURIResolver(opts resolver.BuildOptions) (resolver.Resolver, error) {
proxyBuilder := resolver.Get("dns")
if proxyBuilder == nil {
@@ -165,11 +170,15 @@ func (r *delegatingResolver) proxyURIResolver(opts resolver.BuildOptions) (resol
}
func (r *delegatingResolver) ResolveNow(o resolver.ResolveNowOptions) {
+ r.childMu.Lock()
+ defer r.childMu.Unlock()
r.targetResolver.ResolveNow(o)
r.proxyResolver.ResolveNow(o)
}
func (r *delegatingResolver) Close() {
+ r.childMu.Lock()
+ defer r.childMu.Unlock()
r.targetResolver.Close()
r.targetResolver = nil
@@ -177,18 +186,58 @@ func (r *delegatingResolver) Close() {
r.proxyResolver = nil
}
-// updateClientConnStateLocked creates a list of combined addresses by
-// pairing each proxy address with every target address. For each pair, it
-// generates a new [resolver.Address] using the proxy address, and adding the
-// target address as the attribute along with user info. It returns nil if
-// either resolver has not sent update even once and returns the error from
-// ClientConn update once both resolvers have sent update atleast once.
+func needsProxyResolver(state *resolver.State) bool {
+ for _, addr := range state.Addresses {
+ if !skipProxy(addr) {
+ return true
+ }
+ }
+ for _, endpoint := range state.Endpoints {
+ for _, addr := range endpoint.Addresses {
+ if !skipProxy(addr) {
+ return true
+ }
+ }
+ }
+ return false
+}
+
+func skipProxy(address resolver.Address) bool {
+ // Avoid proxy when network is not tcp.
+ networkType, ok := networktype.Get(address)
+ if !ok {
+ networkType, _ = transport.ParseDialTarget(address.Addr)
+ }
+ if networkType != "tcp" {
+ return true
+ }
+
+ req := &http.Request{URL: &url.URL{
+ Scheme: "https",
+ Host: address.Addr,
+ }}
+ // Avoid proxy when address included in `NO_PROXY` environment variable or
+ // fails to get the proxy address.
+ url, err := HTTPSProxyFromEnvironment(req)
+ if err != nil || url == nil {
+ return true
+ }
+ return false
+}
+
+// updateClientConnStateLocked constructs a combined list of addresses by
+// pairing each proxy address with every target address of type TCP. For each
+// pair, it creates a new [resolver.Address] using the proxy address and
+// attaches the corresponding target address and user info as attributes. Target
+// addresses that are not of type TCP are appended to the list as-is. The
+// function returns nil if either resolver has not yet provided an update, and
+// returns the result of ClientConn.UpdateState once both resolvers have
+// provided at least one update.
func (r *delegatingResolver) updateClientConnStateLocked() error {
if r.targetResolverState == nil || r.proxyAddrs == nil {
return nil
}
- curState := *r.targetResolverState
// If multiple resolved proxy addresses are present, we send only the
// unresolved proxy host and let net.Dial handle the proxy host name
// resolution when creating the transport. Sending all resolved addresses
@@ -206,24 +255,29 @@ func (r *delegatingResolver) updateClientConnStateLocked() error {
}
var addresses []resolver.Address
for _, targetAddr := range (*r.targetResolverState).Addresses {
+ if skipProxy(targetAddr) {
+ addresses = append(addresses, targetAddr)
+ continue
+ }
addresses = append(addresses, proxyattributes.Set(proxyAddr, proxyattributes.Options{
User: r.proxyURL.User,
ConnectAddr: targetAddr.Addr,
}))
}
- // Create a list of combined endpoints by pairing all proxy endpoints
- // with every target endpoint. Each time, it constructs a new
- // [resolver.Endpoint] using the all addresses from all the proxy endpoint
- // and the target addresses from one endpoint. The target address and user
- // information from the proxy URL are added as attributes to the proxy
- // address.The resulting list of addresses is then grouped into endpoints,
- // covering all combinations of proxy and target endpoints.
+ // For each target endpoint, construct a new [resolver.Endpoint] that
+ // includes all addresses from all proxy endpoints and the addresses from
+ // that target endpoint, preserving the number of target endpoints.
var endpoints []resolver.Endpoint
for _, endpt := range (*r.targetResolverState).Endpoints {
var addrs []resolver.Address
- for _, proxyAddr := range r.proxyAddrs {
- for _, targetAddr := range endpt.Addresses {
+ for _, targetAddr := range endpt.Addresses {
+ // Avoid proxy when network is not tcp.
+ if skipProxy(targetAddr) {
+ addrs = append(addrs, targetAddr)
+ continue
+ }
+ for _, proxyAddr := range r.proxyAddrs {
addrs = append(addrs, proxyattributes.Set(proxyAddr, proxyattributes.Options{
User: r.proxyURL.User,
ConnectAddr: targetAddr.Addr,
@@ -234,8 +288,9 @@ func (r *delegatingResolver) updateClientConnStateLocked() error {
}
// Use the targetResolverState for its service config and attributes
// contents. The state update is only sent after both the target and proxy
- // resolvers have sent their updates, and curState has been updated with
- // the combined addresses.
+ // resolvers have sent their updates, and curState has been updated with the
+ // combined addresses.
+ curState := *r.targetResolverState
curState.Addresses = addresses
curState.Endpoints = endpoints
return r.cc.UpdateState(curState)
@@ -245,7 +300,8 @@ func (r *delegatingResolver) updateClientConnStateLocked() error {
// addresses and endpoints, marking the resolver as ready, and triggering a
// state update if both proxy and target resolvers are ready. If the ClientConn
// returns a non-nil error, it calls `ResolveNow()` on the target resolver. It
-// is a StateListener function of wrappingClientConn passed to the proxy resolver.
+// is a StateListener function of wrappingClientConn passed to the proxy
+// resolver.
func (r *delegatingResolver) updateProxyResolverState(state resolver.State) error {
r.mu.Lock()
defer r.mu.Unlock()
@@ -253,8 +309,8 @@ func (r *delegatingResolver) updateProxyResolverState(state resolver.State) erro
logger.Infof("Addresses received from proxy resolver: %s", state.Addresses)
}
if len(state.Endpoints) > 0 {
- // We expect exactly one address per endpoint because the proxy
- // resolver uses "dns" resolution.
+ // We expect exactly one address per endpoint because the proxy resolver
+ // uses "dns" resolution.
r.proxyAddrs = make([]resolver.Address, 0, len(state.Endpoints))
for _, endpoint := range state.Endpoints {
r.proxyAddrs = append(r.proxyAddrs, endpoint.Addresses...)
@@ -267,20 +323,29 @@ func (r *delegatingResolver) updateProxyResolverState(state resolver.State) erro
err := r.updateClientConnStateLocked()
// Another possible approach was to block until updates are received from
// both resolvers. But this is not used because calling `New()` triggers
- // `Build()` for the first resolver, which calls `UpdateState()`. And the
+ // `Build()` for the first resolver, which calls `UpdateState()`. And the
// second resolver hasn't sent an update yet, so it would cause `New()` to
// block indefinitely.
if err != nil {
- r.targetResolver.ResolveNow(resolver.ResolveNowOptions{})
+ go func() {
+ r.childMu.Lock()
+ defer r.childMu.Unlock()
+ if r.targetResolver != nil {
+ r.targetResolver.ResolveNow(resolver.ResolveNowOptions{})
+ }
+ }()
}
return err
}
-// updateTargetResolverState updates the target resolver state by storing target
-// addresses, endpoints, and service config, marking the resolver as ready, and
-// triggering a state update if both resolvers are ready. If the ClientConn
-// returns a non-nil error, it calls `ResolveNow()` on the proxy resolver. It
-// is a StateListener function of wrappingClientConn passed to the target resolver.
+// updateTargetResolverState is the StateListener function provided to the
+// target resolver via wrappingClientConn. It updates the resolver state and
+// marks the target resolver as ready. If the update includes at least one TCP
+// address and the proxy resolver has not yet been constructed, it initializes
+// the proxy resolver. A combined state update is triggered once both resolvers
+// are ready. If all addresses are non-TCP, it proceeds without waiting for the
+// proxy resolver. If ClientConn.UpdateState returns a non-nil error,
+// ResolveNow() is called on the proxy resolver.
func (r *delegatingResolver) updateTargetResolverState(state resolver.State) error {
r.mu.Lock()
defer r.mu.Unlock()
@@ -289,9 +354,41 @@ func (r *delegatingResolver) updateTargetResolverState(state resolver.State) err
logger.Infof("Addresses received from target resolver: %v", state.Addresses)
}
r.targetResolverState = &state
+ // If all addresses returned by the target resolver have a non-TCP network
+ // type, or are listed in the `NO_PROXY` environment variable, do not wait
+ // for proxy update.
+ if !needsProxyResolver(r.targetResolverState) {
+ return r.cc.UpdateState(*r.targetResolverState)
+ }
+
+ // The proxy resolver may be rebuilt multiple times, specifically each time
+ // the target resolver sends an update, even if the target resolver is built
+ // successfully but building the proxy resolver fails.
+ if len(r.proxyAddrs) == 0 {
+ go func() {
+ r.childMu.Lock()
+ defer r.childMu.Unlock()
+ if _, ok := r.proxyResolver.(nopResolver); !ok {
+ return
+ }
+ proxyResolver, err := r.proxyURIResolver(resolver.BuildOptions{})
+ if err != nil {
+ r.cc.ReportError(fmt.Errorf("delegating_resolver: unable to build the proxy resolver: %v", err))
+ return
+ }
+ r.proxyResolver = proxyResolver
+ }()
+ }
+
err := r.updateClientConnStateLocked()
if err != nil {
- r.proxyResolver.ResolveNow(resolver.ResolveNowOptions{})
+ go func() {
+ r.childMu.Lock()
+ defer r.childMu.Unlock()
+ if r.proxyResolver != nil {
+ r.proxyResolver.ResolveNow(resolver.ResolveNowOptions{})
+ }
+ }()
}
return nil
}
@@ -311,7 +408,8 @@ func (wcc *wrappingClientConn) UpdateState(state resolver.State) error {
return wcc.stateListener(state)
}
-// ReportError intercepts errors from the child resolvers and passes them to ClientConn.
+// ReportError intercepts errors from the child resolvers and passes them to
+// ClientConn.
func (wcc *wrappingClientConn) ReportError(err error) {
wcc.parent.cc.ReportError(err)
}
@@ -322,8 +420,8 @@ func (wcc *wrappingClientConn) NewAddress(addrs []resolver.Address) {
wcc.UpdateState(resolver.State{Addresses: addrs})
}
-// ParseServiceConfig parses the provided service config and returns an
-// object that provides the parsed config.
+// ParseServiceConfig parses the provided service config and returns an object
+// that provides the parsed config.
func (wcc *wrappingClientConn) ParseServiceConfig(serviceConfigJSON string) *serviceconfig.ParseResult {
return wcc.parent.cc.ParseServiceConfig(serviceConfigJSON)
}
diff --git a/vendor/google.golang.org/grpc/internal/resolver/dns/dns_resolver.go b/vendor/google.golang.org/grpc/internal/resolver/dns/dns_resolver.go
index ba5c5a95d0..ada5251cff 100644
--- a/vendor/google.golang.org/grpc/internal/resolver/dns/dns_resolver.go
+++ b/vendor/google.golang.org/grpc/internal/resolver/dns/dns_resolver.go
@@ -132,13 +132,13 @@ func (b *dnsBuilder) Build(target resolver.Target, cc resolver.ClientConn, opts
// DNS address (non-IP).
ctx, cancel := context.WithCancel(context.Background())
d := &dnsResolver{
- host: host,
- port: port,
- ctx: ctx,
- cancel: cancel,
- cc: cc,
- rn: make(chan struct{}, 1),
- disableServiceConfig: opts.DisableServiceConfig,
+ host: host,
+ port: port,
+ ctx: ctx,
+ cancel: cancel,
+ cc: cc,
+ rn: make(chan struct{}, 1),
+ enableServiceConfig: envconfig.EnableTXTServiceConfig && !opts.DisableServiceConfig,
}
d.resolver, err = internal.NewNetResolver(target.URL.Host)
@@ -181,8 +181,8 @@ type dnsResolver struct {
// finishes, race detector sometimes will warn lookup (READ the lookup
// function pointers) inside watcher() goroutine has data race with
// replaceNetFunc (WRITE the lookup function pointers).
- wg sync.WaitGroup
- disableServiceConfig bool
+ wg sync.WaitGroup
+ enableServiceConfig bool
}
// ResolveNow invoke an immediate resolution of the target that this
@@ -346,7 +346,7 @@ func (d *dnsResolver) lookup() (*resolver.State, error) {
if len(srv) > 0 {
state = grpclbstate.Set(state, &grpclbstate.State{BalancerAddresses: srv})
}
- if !d.disableServiceConfig {
+ if d.enableServiceConfig {
state.ServiceConfig = d.lookupTXT(ctx)
}
return &state, nil
diff --git a/vendor/google.golang.org/grpc/internal/status/status.go b/vendor/google.golang.org/grpc/internal/status/status.go
index 1186f1e9a9..aad171cd02 100644
--- a/vendor/google.golang.org/grpc/internal/status/status.go
+++ b/vendor/google.golang.org/grpc/internal/status/status.go
@@ -236,3 +236,11 @@ func IsRestrictedControlPlaneCode(s *Status) bool {
}
return false
}
+
+// RawStatusProto returns the internal protobuf message for use by gRPC itself.
+func RawStatusProto(s *Status) *spb.Status {
+ if s == nil {
+ return nil
+ }
+ return s.s
+}
diff --git a/vendor/google.golang.org/grpc/internal/transport/client_stream.go b/vendor/google.golang.org/grpc/internal/transport/client_stream.go
index 8ed347c541..ccc0e017e5 100644
--- a/vendor/google.golang.org/grpc/internal/transport/client_stream.go
+++ b/vendor/google.golang.org/grpc/internal/transport/client_stream.go
@@ -59,7 +59,7 @@ func (s *ClientStream) Read(n int) (mem.BufferSlice, error) {
return b, err
}
-// Close closes the stream and popagates err to any readers.
+// Close closes the stream and propagates err to any readers.
func (s *ClientStream) Close(err error) {
var (
rst bool
diff --git a/vendor/google.golang.org/grpc/internal/transport/controlbuf.go b/vendor/google.golang.org/grpc/internal/transport/controlbuf.go
index ef72fbb3a0..a2831e5d01 100644
--- a/vendor/google.golang.org/grpc/internal/transport/controlbuf.go
+++ b/vendor/google.golang.org/grpc/internal/transport/controlbuf.go
@@ -40,6 +40,13 @@ var updateHeaderTblSize = func(e *hpack.Encoder, v uint32) {
e.SetMaxDynamicTableSizeLimit(v)
}
+// itemNodePool is used to reduce heap allocations.
+var itemNodePool = sync.Pool{
+ New: func() any {
+ return &itemNode{}
+ },
+}
+
type itemNode struct {
it any
next *itemNode
@@ -51,7 +58,9 @@ type itemList struct {
}
func (il *itemList) enqueue(i any) {
- n := &itemNode{it: i}
+ n := itemNodePool.Get().(*itemNode)
+ n.next = nil
+ n.it = i
if il.tail == nil {
il.head, il.tail = n, n
return
@@ -71,7 +80,9 @@ func (il *itemList) dequeue() any {
return nil
}
i := il.head.it
+ temp := il.head
il.head = il.head.next
+ itemNodePool.Put(temp)
if il.head == nil {
il.tail = nil
}
@@ -146,10 +157,11 @@ type earlyAbortStream struct {
func (*earlyAbortStream) isTransportResponseFrame() bool { return false }
type dataFrame struct {
- streamID uint32
- endStream bool
- h []byte
- reader mem.Reader
+ streamID uint32
+ endStream bool
+ h []byte
+ data mem.BufferSlice
+ processing bool
// onEachWrite is called every time
// a part of data is written out.
onEachWrite func()
@@ -234,6 +246,7 @@ type outStream struct {
itl *itemList
bytesOutStanding int
wq *writeQuota
+ reader mem.Reader
next *outStream
prev *outStream
@@ -461,7 +474,9 @@ func (c *controlBuffer) finish() {
v.onOrphaned(ErrConnClosing)
}
case *dataFrame:
- _ = v.reader.Close()
+ if !v.processing {
+ v.data.Free()
+ }
}
}
@@ -650,10 +665,11 @@ func (l *loopyWriter) incomingSettingsHandler(s *incomingSettings) error {
func (l *loopyWriter) registerStreamHandler(h *registerStream) {
str := &outStream{
- id: h.streamID,
- state: empty,
- itl: &itemList{},
- wq: h.wq,
+ id: h.streamID,
+ state: empty,
+ itl: &itemList{},
+ wq: h.wq,
+ reader: mem.BufferSlice{}.Reader(),
}
l.estdStreams[h.streamID] = str
}
@@ -685,10 +701,11 @@ func (l *loopyWriter) headerHandler(h *headerFrame) error {
}
// Case 2: Client wants to originate stream.
str := &outStream{
- id: h.streamID,
- state: empty,
- itl: &itemList{},
- wq: h.wq,
+ id: h.streamID,
+ state: empty,
+ itl: &itemList{},
+ wq: h.wq,
+ reader: mem.BufferSlice{}.Reader(),
}
return l.originateStream(str, h)
}
@@ -790,10 +807,13 @@ func (l *loopyWriter) cleanupStreamHandler(c *cleanupStream) error {
// a RST_STREAM before stream initialization thus the stream might
// not be established yet.
delete(l.estdStreams, c.streamID)
+ str.reader.Close()
str.deleteSelf()
for head := str.itl.dequeueAll(); head != nil; head = head.next {
if df, ok := head.it.(*dataFrame); ok {
- _ = df.reader.Close()
+ if !df.processing {
+ df.data.Free()
+ }
}
}
}
@@ -928,7 +948,13 @@ func (l *loopyWriter) processData() (bool, error) {
if str == nil {
return true, nil
}
+ reader := str.reader
dataItem := str.itl.peek().(*dataFrame) // Peek at the first data item this stream.
+ if !dataItem.processing {
+ dataItem.processing = true
+ str.reader.Reset(dataItem.data)
+ dataItem.data.Free()
+ }
// A data item is represented by a dataFrame, since it later translates into
// multiple HTTP2 data frames.
// Every dataFrame has two buffers; h that keeps grpc-message header and data
@@ -936,13 +962,13 @@ func (l *loopyWriter) processData() (bool, error) {
// from data is copied to h to make as big as the maximum possible HTTP2 frame
// size.
- if len(dataItem.h) == 0 && dataItem.reader.Remaining() == 0 { // Empty data frame
+ if len(dataItem.h) == 0 && reader.Remaining() == 0 { // Empty data frame
// Client sends out empty data frame with endStream = true
if err := l.framer.fr.WriteData(dataItem.streamID, dataItem.endStream, nil); err != nil {
return false, err
}
str.itl.dequeue() // remove the empty data item from stream
- _ = dataItem.reader.Close()
+ _ = reader.Close()
if str.itl.isEmpty() {
str.state = empty
} else if trailer, ok := str.itl.peek().(*headerFrame); ok { // the next item is trailers.
@@ -971,8 +997,8 @@ func (l *loopyWriter) processData() (bool, error) {
}
// Compute how much of the header and data we can send within quota and max frame length
hSize := min(maxSize, len(dataItem.h))
- dSize := min(maxSize-hSize, dataItem.reader.Remaining())
- remainingBytes := len(dataItem.h) + dataItem.reader.Remaining() - hSize - dSize
+ dSize := min(maxSize-hSize, reader.Remaining())
+ remainingBytes := len(dataItem.h) + reader.Remaining() - hSize - dSize
size := hSize + dSize
var buf *[]byte
@@ -993,7 +1019,7 @@ func (l *loopyWriter) processData() (bool, error) {
defer pool.Put(buf)
copy((*buf)[:hSize], dataItem.h)
- _, _ = dataItem.reader.Read((*buf)[hSize:])
+ _, _ = reader.Read((*buf)[hSize:])
}
// Now that outgoing flow controls are checked we can replenish str's write quota
@@ -1014,7 +1040,7 @@ func (l *loopyWriter) processData() (bool, error) {
dataItem.h = dataItem.h[hSize:]
if remainingBytes == 0 { // All the data from that message was written out.
- _ = dataItem.reader.Close()
+ _ = reader.Close()
str.itl.dequeue()
}
if str.itl.isEmpty() {
diff --git a/vendor/google.golang.org/grpc/internal/transport/handler_server.go b/vendor/google.golang.org/grpc/internal/transport/handler_server.go
index 3dea235735..d954a64c38 100644
--- a/vendor/google.golang.org/grpc/internal/transport/handler_server.go
+++ b/vendor/google.golang.org/grpc/internal/transport/handler_server.go
@@ -277,11 +277,13 @@ func (ht *serverHandlerTransport) writeStatus(s *ServerStream, st *status.Status
if err == nil { // transport has not been closed
// Note: The trailer fields are compressed with hpack after this call returns.
// No WireLength field is set here.
+ s.hdrMu.Lock()
for _, sh := range ht.stats {
sh.HandleRPC(s.Context(), &stats.OutTrailer{
Trailer: s.trailer.Copy(),
})
}
+ s.hdrMu.Unlock()
}
ht.Close(errors.New("finished writing status"))
return err
diff --git a/vendor/google.golang.org/grpc/internal/transport/http2_client.go b/vendor/google.golang.org/grpc/internal/transport/http2_client.go
index 513dbb93d5..5467fe9715 100644
--- a/vendor/google.golang.org/grpc/internal/transport/http2_client.go
+++ b/vendor/google.golang.org/grpc/internal/transport/http2_client.go
@@ -176,7 +176,7 @@ func dial(ctx context.Context, fn func(context.Context, string) (net.Conn, error
return fn(ctx, address)
}
if !ok {
- networkType, address = parseDialTarget(address)
+ networkType, address = ParseDialTarget(address)
}
if opts, present := proxyattributes.Get(addr); present {
return proxyDial(ctx, addr, grpcUA, opts)
@@ -309,11 +309,9 @@ func NewHTTP2Client(connectCtx, ctx context.Context, addr resolver.Address, opts
scheme = "https"
}
}
- dynamicWindow := true
icwz := int32(initialWindowSize)
if opts.InitialConnWindowSize >= defaultWindowSize {
icwz = opts.InitialConnWindowSize
- dynamicWindow = false
}
writeBufSize := opts.WriteBufferSize
readBufSize := opts.ReadBufferSize
@@ -381,9 +379,8 @@ func NewHTTP2Client(connectCtx, ctx context.Context, addr resolver.Address, opts
t.controlBuf = newControlBuffer(t.ctxDone)
if opts.InitialWindowSize >= defaultWindowSize {
t.initialWindowSize = opts.InitialWindowSize
- dynamicWindow = false
}
- if dynamicWindow {
+ if !opts.StaticWindowSize {
t.bdpEst = &bdpEstimator{
bdp: initialWindowSize,
updateFlowControl: t.updateFlowControl,
@@ -545,7 +542,7 @@ func (t *http2Client) createHeaderFields(ctx context.Context, callHdr *CallHdr)
Method: callHdr.Method,
AuthInfo: t.authInfo,
}
- ctxWithRequestInfo := icredentials.NewRequestInfoContext(ctx, ri)
+ ctxWithRequestInfo := credentials.NewContextWithRequestInfo(ctx, ri)
authData, err := t.getTrAuthData(ctxWithRequestInfo, aud)
if err != nil {
return nil, err
@@ -592,6 +589,9 @@ func (t *http2Client) createHeaderFields(ctx context.Context, callHdr *CallHdr)
// Send out timeout regardless its value. The server can detect timeout context by itself.
// TODO(mmukhi): Perhaps this field should be updated when actually writing out to the wire.
timeout := time.Until(dl)
+ if timeout <= 0 {
+ return nil, status.Error(codes.DeadlineExceeded, context.DeadlineExceeded.Error())
+ }
headerFields = append(headerFields, hpack.HeaderField{Name: "grpc-timeout", Value: grpcutil.EncodeDuration(timeout)})
}
for k, v := range authData {
@@ -749,6 +749,25 @@ func (t *http2Client) NewStream(ctx context.Context, callHdr *CallHdr) (*ClientS
callHdr = &newCallHdr
}
+ // The authority specified via the `CallAuthority` CallOption takes the
+ // highest precedence when determining the `:authority` header. It overrides
+ // any value present in the Host field of CallHdr. Before applying this
+ // override, the authority string is validated. If the credentials do not
+ // implement the AuthorityValidator interface, or if validation fails, the
+ // RPC is failed with a status code of `UNAVAILABLE`.
+ if callHdr.Authority != "" {
+ auth, ok := t.authInfo.(credentials.AuthorityValidator)
+ if !ok {
+ return nil, &NewStreamError{Err: status.Errorf(codes.Unavailable, "credentials type %q does not implement the AuthorityValidator interface, but authority override specified with CallAuthority call option", t.authInfo.AuthType())}
+ }
+ if err := auth.ValidateAuthority(callHdr.Authority); err != nil {
+ return nil, &NewStreamError{Err: status.Errorf(codes.Unavailable, "failed to validate authority %q : %v", callHdr.Authority, err)}
+ }
+ newCallHdr := *callHdr
+ newCallHdr.Host = callHdr.Authority
+ callHdr = &newCallHdr
+ }
+
headerFields, err := t.createHeaderFields(ctx, callHdr)
if err != nil {
return nil, &NewStreamError{Err: err, AllowTransparentRetry: false}
@@ -1069,32 +1088,29 @@ func (t *http2Client) GracefulClose() {
// Write formats the data into HTTP2 data frame(s) and sends it out. The caller
// should proceed only if Write returns nil.
func (t *http2Client) write(s *ClientStream, hdr []byte, data mem.BufferSlice, opts *WriteOptions) error {
- reader := data.Reader()
-
if opts.Last {
// If it's the last message, update stream state.
if !s.compareAndSwapState(streamActive, streamWriteDone) {
- _ = reader.Close()
return errStreamDone
}
} else if s.getState() != streamActive {
- _ = reader.Close()
return errStreamDone
}
df := &dataFrame{
streamID: s.id,
endStream: opts.Last,
h: hdr,
- reader: reader,
+ data: data,
}
- if hdr != nil || df.reader.Remaining() != 0 { // If it's not an empty data frame, check quota.
- if err := s.wq.get(int32(len(hdr) + df.reader.Remaining())); err != nil {
- _ = reader.Close()
+ dataLen := data.Len()
+ if hdr != nil || dataLen != 0 { // If it's not an empty data frame, check quota.
+ if err := s.wq.get(int32(len(hdr) + dataLen)); err != nil {
return err
}
}
+ data.Ref()
if err := t.controlBuf.put(df); err != nil {
- _ = reader.Close()
+ data.Free()
return err
}
t.incrMsgSent()
@@ -1242,7 +1258,8 @@ func (t *http2Client) handleRSTStream(f *http2.RSTStreamFrame) {
statusCode = codes.DeadlineExceeded
}
}
- t.closeStream(s, io.EOF, false, http2.ErrCodeNo, status.Newf(statusCode, "stream terminated by RST_STREAM with error code: %v", f.ErrCode), nil, false)
+ st := status.Newf(statusCode, "stream terminated by RST_STREAM with error code: %v", f.ErrCode)
+ t.closeStream(s, st.Err(), false, http2.ErrCodeNo, st, nil, false)
}
func (t *http2Client) handleSettings(f *http2.SettingsFrame, isFirst bool) {
@@ -1390,8 +1407,7 @@ func (t *http2Client) handleGoAway(f *http2.GoAwayFrame) error {
// the caller.
func (t *http2Client) setGoAwayReason(f *http2.GoAwayFrame) {
t.goAwayReason = GoAwayNoReason
- switch f.ErrCode {
- case http2.ErrCodeEnhanceYourCalm:
+ if f.ErrCode == http2.ErrCodeEnhanceYourCalm {
if string(f.DebugData()) == "too_many_pings" {
t.goAwayReason = GoAwayTooManyPings
}
diff --git a/vendor/google.golang.org/grpc/internal/transport/http2_server.go b/vendor/google.golang.org/grpc/internal/transport/http2_server.go
index 997b0a59b5..83cee314c8 100644
--- a/vendor/google.golang.org/grpc/internal/transport/http2_server.go
+++ b/vendor/google.golang.org/grpc/internal/transport/http2_server.go
@@ -35,9 +35,11 @@ import (
"golang.org/x/net/http2"
"golang.org/x/net/http2/hpack"
+ "google.golang.org/grpc/internal"
"google.golang.org/grpc/internal/grpclog"
"google.golang.org/grpc/internal/grpcutil"
"google.golang.org/grpc/internal/pretty"
+ istatus "google.golang.org/grpc/internal/status"
"google.golang.org/grpc/internal/syscall"
"google.golang.org/grpc/mem"
"google.golang.org/protobuf/proto"
@@ -130,6 +132,10 @@ type http2Server struct {
maxStreamID uint32 // max stream ID ever seen
logger *grpclog.PrefixLogger
+ // setResetPingStrikes is stored as a closure instead of making this a
+ // method on http2Server to avoid a heap allocation when converting a method
+ // to a closure for passing to frames objects.
+ setResetPingStrikes func()
}
// NewServerTransport creates a http2 transport with conn and configuration
@@ -174,16 +180,13 @@ func NewServerTransport(conn net.Conn, config *ServerConfig) (_ ServerTransport,
Val: config.MaxStreams,
})
}
- dynamicWindow := true
iwz := int32(initialWindowSize)
if config.InitialWindowSize >= defaultWindowSize {
iwz = config.InitialWindowSize
- dynamicWindow = false
}
icwz := int32(initialWindowSize)
if config.InitialConnWindowSize >= defaultWindowSize {
icwz = config.InitialConnWindowSize
- dynamicWindow = false
}
if iwz != defaultWindowSize {
isettings = append(isettings, http2.Setting{
@@ -264,6 +267,9 @@ func NewServerTransport(conn net.Conn, config *ServerConfig) (_ ServerTransport,
initialWindowSize: iwz,
bufferPool: config.BufferPool,
}
+ t.setResetPingStrikes = func() {
+ atomic.StoreUint32(&t.resetPingStrikes, 1)
+ }
var czSecurity credentials.ChannelzSecurityValue
if au, ok := authInfo.(credentials.ChannelzSecurityInfo); ok {
czSecurity = au.GetSecurityValue()
@@ -283,7 +289,7 @@ func NewServerTransport(conn net.Conn, config *ServerConfig) (_ ServerTransport,
t.logger = prefixLoggerForServerTransport(t)
t.controlBuf = newControlBuffer(t.done)
- if dynamicWindow {
+ if !config.StaticWindowSize {
t.bdpEst = &bdpEstimator{
bdp: initialWindowSize,
updateFlowControl: t.updateFlowControl,
@@ -594,10 +600,41 @@ func (t *http2Server) operateHeaders(ctx context.Context, frame *http2.MetaHeade
return nil
}
}
+
+ if s.ctx.Err() != nil {
+ t.mu.Unlock()
+ // Early abort in case the timeout was zero or so low it already fired.
+ t.controlBuf.put(&earlyAbortStream{
+ httpStatus: http.StatusOK,
+ streamID: s.id,
+ contentSubtype: s.contentSubtype,
+ status: status.New(codes.DeadlineExceeded, context.DeadlineExceeded.Error()),
+ rst: !frame.StreamEnded(),
+ })
+ return nil
+ }
+
t.activeStreams[streamID] = s
if len(t.activeStreams) == 1 {
t.idle = time.Time{}
}
+
+ // Start a timer to close the stream on reaching the deadline.
+ if timeoutSet {
+ // We need to wait for s.cancel to be updated before calling
+ // t.closeStream to avoid data races.
+ cancelUpdated := make(chan struct{})
+ timer := internal.TimeAfterFunc(timeout, func() {
+ <-cancelUpdated
+ t.closeStream(s, true, http2.ErrCodeCancel, false)
+ })
+ oldCancel := s.cancel
+ s.cancel = func() {
+ oldCancel()
+ timer.Stop()
+ }
+ close(cancelUpdated)
+ }
t.mu.Unlock()
if channelz.IsOn() {
t.channelz.SocketMetrics.StreamsStarted.Add(1)
@@ -998,10 +1035,6 @@ func (t *http2Server) writeHeader(s *ServerStream, md metadata.MD) error {
return nil
}
-func (t *http2Server) setResetPingStrikes() {
- atomic.StoreUint32(&t.resetPingStrikes, 1)
-}
-
func (t *http2Server) writeHeaderLocked(s *ServerStream) error {
// TODO(mmukhi): Benchmark if the performance gets better if count the metadata and other header fields
// first and create a slice of that exact size.
@@ -1038,7 +1071,7 @@ func (t *http2Server) writeHeaderLocked(s *ServerStream) error {
return nil
}
-// WriteStatus sends stream status to the client and terminates the stream.
+// writeStatus sends stream status to the client and terminates the stream.
// There is no further I/O operations being able to perform on this stream.
// TODO(zhaoq): Now it indicates the end of entire stream. Revisit if early
// OK is adopted.
@@ -1066,7 +1099,7 @@ func (t *http2Server) writeStatus(s *ServerStream, st *status.Status) error {
headerFields = append(headerFields, hpack.HeaderField{Name: "grpc-status", Value: strconv.Itoa(int(st.Code()))})
headerFields = append(headerFields, hpack.HeaderField{Name: "grpc-message", Value: encodeGrpcMessage(st.Message())})
- if p := st.Proto(); p != nil && len(p.Details) > 0 {
+ if p := istatus.RawStatusProto(st); len(p.GetDetails()) > 0 {
// Do not use the user's grpc-status-details-bin (if present) if we are
// even attempting to set our own.
delete(s.trailer, grpcStatusDetailsBinHeader)
@@ -1114,17 +1147,13 @@ func (t *http2Server) writeStatus(s *ServerStream, st *status.Status) error {
// Write converts the data into HTTP2 data frame and sends it out. Non-nil error
// is returns if it fails (e.g., framing error, transport error).
func (t *http2Server) write(s *ServerStream, hdr []byte, data mem.BufferSlice, _ *WriteOptions) error {
- reader := data.Reader()
-
if !s.isHeaderSent() { // Headers haven't been written yet.
if err := t.writeHeader(s, nil); err != nil {
- _ = reader.Close()
return err
}
} else {
// Writing headers checks for this condition.
if s.getState() == streamDone {
- _ = reader.Close()
return t.streamContextErr(s)
}
}
@@ -1132,15 +1161,16 @@ func (t *http2Server) write(s *ServerStream, hdr []byte, data mem.BufferSlice, _
df := &dataFrame{
streamID: s.id,
h: hdr,
- reader: reader,
+ data: data,
onEachWrite: t.setResetPingStrikes,
}
- if err := s.wq.get(int32(len(hdr) + df.reader.Remaining())); err != nil {
- _ = reader.Close()
+ dataLen := data.Len()
+ if err := s.wq.get(int32(len(hdr) + dataLen)); err != nil {
return t.streamContextErr(s)
}
+ data.Ref()
if err := t.controlBuf.put(df); err != nil {
- _ = reader.Close()
+ data.Free()
return err
}
t.incrMsgSent()
@@ -1274,7 +1304,6 @@ func (t *http2Server) Close(err error) {
// deleteStream deletes the stream s from transport's active streams.
func (t *http2Server) deleteStream(s *ServerStream, eosReceived bool) {
-
t.mu.Lock()
if _, ok := t.activeStreams[s.id]; ok {
delete(t.activeStreams, s.id)
@@ -1324,6 +1353,9 @@ func (t *http2Server) closeStream(s *ServerStream, rst bool, rstCode http2.ErrCo
// called to interrupt the potential blocking on other goroutines.
s.cancel()
+ // We can't return early even if the stream's state is "done" as the state
+ // might have been set by the `finishStream` method. Deleting the stream via
+ // `finishStream` can get blocked on flow control.
s.swapState(streamDone)
t.deleteStream(s, eosReceived)
diff --git a/vendor/google.golang.org/grpc/internal/transport/http_util.go b/vendor/google.golang.org/grpc/internal/transport/http_util.go
index 3613d7b648..e3663f87f3 100644
--- a/vendor/google.golang.org/grpc/internal/transport/http_util.go
+++ b/vendor/google.golang.org/grpc/internal/transport/http_util.go
@@ -196,11 +196,11 @@ func decodeTimeout(s string) (time.Duration, error) {
if !ok {
return 0, fmt.Errorf("transport: timeout unit is not recognized: %q", s)
}
- t, err := strconv.ParseInt(s[:size-1], 10, 64)
+ t, err := strconv.ParseUint(s[:size-1], 10, 64)
if err != nil {
return 0, err
}
- const maxHours = math.MaxInt64 / int64(time.Hour)
+ const maxHours = math.MaxInt64 / uint64(time.Hour)
if d == time.Hour && t > maxHours {
// This timeout would overflow math.MaxInt64; clamp it.
return time.Duration(math.MaxInt64), nil
@@ -439,8 +439,8 @@ func getWriteBufferPool(size int) *sync.Pool {
return pool
}
-// parseDialTarget returns the network and address to pass to dialer.
-func parseDialTarget(target string) (string, string) {
+// ParseDialTarget returns the network and address to pass to dialer.
+func ParseDialTarget(target string) (string, string) {
net := "tcp"
m1 := strings.Index(target, ":")
m2 := strings.Index(target, ":/")
diff --git a/vendor/google.golang.org/grpc/internal/transport/server_stream.go b/vendor/google.golang.org/grpc/internal/transport/server_stream.go
index a22a901514..cf8da0b52d 100644
--- a/vendor/google.golang.org/grpc/internal/transport/server_stream.go
+++ b/vendor/google.golang.org/grpc/internal/transport/server_stream.go
@@ -35,8 +35,10 @@ type ServerStream struct {
*Stream // Embed for common stream functionality.
st internalServerTransport
- ctxDone <-chan struct{} // closed at the end of stream. Cache of ctx.Done() (for performance)
- cancel context.CancelFunc // invoked at the end of stream to cancel ctx.
+ ctxDone <-chan struct{} // closed at the end of stream. Cache of ctx.Done() (for performance)
+ // cancel is invoked at the end of stream to cancel ctx. It also stops the
+ // timer for monitoring the rpc deadline if configured.
+ cancel func()
// Holds compressor names passed in grpc-accept-encoding metadata from the
// client.
diff --git a/vendor/google.golang.org/grpc/internal/transport/transport.go b/vendor/google.golang.org/grpc/internal/transport/transport.go
index af4a4aeab1..7dd53e80a7 100644
--- a/vendor/google.golang.org/grpc/internal/transport/transport.go
+++ b/vendor/google.golang.org/grpc/internal/transport/transport.go
@@ -466,6 +466,7 @@ type ServerConfig struct {
MaxHeaderListSize *uint32
HeaderTableSize *uint32
BufferPool mem.BufferPool
+ StaticWindowSize bool
}
// ConnectOptions covers all relevant options for communicating with the server.
@@ -504,6 +505,8 @@ type ConnectOptions struct {
MaxHeaderListSize *uint32
// The mem.BufferPool to use when reading/writing to the wire.
BufferPool mem.BufferPool
+ // StaticWindowSize controls whether dynamic window sizing is enabled.
+ StaticWindowSize bool
}
// WriteOptions provides additional hints and information for message
@@ -540,6 +543,11 @@ type CallHdr struct {
PreviousAttempts int // value of grpc-previous-rpc-attempts header to set
DoneFunc func() // called when the stream is finished
+
+ // Authority is used to explicitly override the `:authority` header. If set,
+ // this value takes precedence over the Host field and will be used as the
+ // value for the `:authority` header.
+ Authority string
}
// ClientTransport is the common interface for all gRPC client-side transport
diff --git a/vendor/google.golang.org/grpc/mem/buffer_slice.go b/vendor/google.golang.org/grpc/mem/buffer_slice.go
index 65002e2cc8..af510d20c5 100644
--- a/vendor/google.golang.org/grpc/mem/buffer_slice.go
+++ b/vendor/google.golang.org/grpc/mem/buffer_slice.go
@@ -137,6 +137,9 @@ type Reader interface {
Close() error
// Remaining returns the number of unread bytes remaining in the slice.
Remaining() int
+ // Reset frees the currently held buffer slice and starts reading from the
+ // provided slice. This allows reusing the reader object.
+ Reset(s BufferSlice)
}
type sliceReader struct {
@@ -150,6 +153,14 @@ func (r *sliceReader) Remaining() int {
return r.len
}
+func (r *sliceReader) Reset(s BufferSlice) {
+ r.data.Free()
+ s.Ref()
+ r.data = s
+ r.len = s.Len()
+ r.bufferIdx = 0
+}
+
func (r *sliceReader) Close() error {
r.data.Free()
r.data = nil
diff --git a/vendor/google.golang.org/grpc/picker_wrapper.go b/vendor/google.golang.org/grpc/picker_wrapper.go
index a2d2a798d4..aa52bfe95f 100644
--- a/vendor/google.golang.org/grpc/picker_wrapper.go
+++ b/vendor/google.golang.org/grpc/picker_wrapper.go
@@ -29,7 +29,6 @@ import (
"google.golang.org/grpc/internal/channelz"
istatus "google.golang.org/grpc/internal/status"
"google.golang.org/grpc/internal/transport"
- "google.golang.org/grpc/stats"
"google.golang.org/grpc/status"
)
@@ -48,14 +47,11 @@ type pickerGeneration struct {
// actions and unblock when there's a picker update.
type pickerWrapper struct {
// If pickerGen holds a nil pointer, the pickerWrapper is closed.
- pickerGen atomic.Pointer[pickerGeneration]
- statsHandlers []stats.Handler // to record blocking picker calls
+ pickerGen atomic.Pointer[pickerGeneration]
}
-func newPickerWrapper(statsHandlers []stats.Handler) *pickerWrapper {
- pw := &pickerWrapper{
- statsHandlers: statsHandlers,
- }
+func newPickerWrapper() *pickerWrapper {
+ pw := &pickerWrapper{}
pw.pickerGen.Store(&pickerGeneration{
blockingCh: make(chan struct{}),
})
@@ -93,6 +89,12 @@ func doneChannelzWrapper(acbw *acBalancerWrapper, result *balancer.PickResult) {
}
}
+type pick struct {
+ transport transport.ClientTransport // the selected transport
+ result balancer.PickResult // the contents of the pick from the LB policy
+ blocked bool // set if a picker call queued for a new picker
+}
+
// pick returns the transport that will be used for the RPC.
// It may block in the following cases:
// - there's no picker
@@ -100,15 +102,16 @@ func doneChannelzWrapper(acbw *acBalancerWrapper, result *balancer.PickResult) {
// - the current picker returns other errors and failfast is false.
// - the subConn returned by the current picker is not READY
// When one of these situations happens, pick blocks until the picker gets updated.
-func (pw *pickerWrapper) pick(ctx context.Context, failfast bool, info balancer.PickInfo) (transport.ClientTransport, balancer.PickResult, error) {
+func (pw *pickerWrapper) pick(ctx context.Context, failfast bool, info balancer.PickInfo) (pick, error) {
var ch chan struct{}
var lastPickErr error
+ pickBlocked := false
for {
pg := pw.pickerGen.Load()
if pg == nil {
- return nil, balancer.PickResult{}, ErrClientConnClosing
+ return pick{}, ErrClientConnClosing
}
if pg.picker == nil {
ch = pg.blockingCh
@@ -127,9 +130,9 @@ func (pw *pickerWrapper) pick(ctx context.Context, failfast bool, info balancer.
}
switch ctx.Err() {
case context.DeadlineExceeded:
- return nil, balancer.PickResult{}, status.Error(codes.DeadlineExceeded, errStr)
+ return pick{}, status.Error(codes.DeadlineExceeded, errStr)
case context.Canceled:
- return nil, balancer.PickResult{}, status.Error(codes.Canceled, errStr)
+ return pick{}, status.Error(codes.Canceled, errStr)
}
case <-ch:
}
@@ -145,9 +148,7 @@ func (pw *pickerWrapper) pick(ctx context.Context, failfast bool, info balancer.
// In the second case, the only way it will get to this conditional is
// if there is a new picker.
if ch != nil {
- for _, sh := range pw.statsHandlers {
- sh.HandleRPC(ctx, &stats.PickerUpdated{})
- }
+ pickBlocked = true
}
ch = pg.blockingCh
@@ -164,7 +165,7 @@ func (pw *pickerWrapper) pick(ctx context.Context, failfast bool, info balancer.
if istatus.IsRestrictedControlPlaneCode(st) {
err = status.Errorf(codes.Internal, "received picker error with illegal status: %v", err)
}
- return nil, balancer.PickResult{}, dropError{error: err}
+ return pick{}, dropError{error: err}
}
// For all other errors, wait for ready RPCs should block and other
// RPCs should fail with unavailable.
@@ -172,7 +173,7 @@ func (pw *pickerWrapper) pick(ctx context.Context, failfast bool, info balancer.
lastPickErr = err
continue
}
- return nil, balancer.PickResult{}, status.Error(codes.Unavailable, err.Error())
+ return pick{}, status.Error(codes.Unavailable, err.Error())
}
acbw, ok := pickResult.SubConn.(*acBalancerWrapper)
@@ -183,9 +184,8 @@ func (pw *pickerWrapper) pick(ctx context.Context, failfast bool, info balancer.
if t := acbw.ac.getReadyTransport(); t != nil {
if channelz.IsOn() {
doneChannelzWrapper(acbw, &pickResult)
- return t, pickResult, nil
}
- return t, pickResult, nil
+ return pick{transport: t, result: pickResult, blocked: pickBlocked}, nil
}
if pickResult.Done != nil {
// Calling done with nil error, no bytes sent and no bytes received.
diff --git a/vendor/google.golang.org/grpc/resolver/map.go b/vendor/google.golang.org/grpc/resolver/map.go
index ada5b9bb79..c3c15ac96f 100644
--- a/vendor/google.golang.org/grpc/resolver/map.go
+++ b/vendor/google.golang.org/grpc/resolver/map.go
@@ -18,16 +18,28 @@
package resolver
-type addressMapEntry struct {
+import (
+ "encoding/base64"
+ "sort"
+ "strings"
+)
+
+type addressMapEntry[T any] struct {
addr Address
- value any
+ value T
}
-// AddressMap is a map of addresses to arbitrary values taking into account
+// AddressMap is an AddressMapV2[any]. It will be deleted in an upcoming
+// release of grpc-go.
+//
+// Deprecated: use the generic AddressMapV2 type instead.
+type AddressMap = AddressMapV2[any]
+
+// AddressMapV2 is a map of addresses to arbitrary values taking into account
// Attributes. BalancerAttributes are ignored, as are Metadata and Type.
// Multiple accesses may not be performed concurrently. Must be created via
// NewAddressMap; do not construct directly.
-type AddressMap struct {
+type AddressMapV2[T any] struct {
// The underlying map is keyed by an Address with fields that we don't care
// about being set to their zero values. The only fields that we care about
// are `Addr`, `ServerName` and `Attributes`. Since we need to be able to
@@ -41,23 +53,30 @@ type AddressMap struct {
// The value type of the map contains a slice of addresses which match the key
// in their `Addr` and `ServerName` fields and contain the corresponding value
// associated with them.
- m map[Address]addressMapEntryList
+ m map[Address]addressMapEntryList[T]
}
func toMapKey(addr *Address) Address {
return Address{Addr: addr.Addr, ServerName: addr.ServerName}
}
-type addressMapEntryList []*addressMapEntry
+type addressMapEntryList[T any] []*addressMapEntry[T]
-// NewAddressMap creates a new AddressMap.
+// NewAddressMap creates a new AddressMapV2[any].
+//
+// Deprecated: use the generic NewAddressMapV2 constructor instead.
func NewAddressMap() *AddressMap {
- return &AddressMap{m: make(map[Address]addressMapEntryList)}
+ return NewAddressMapV2[any]()
+}
+
+// NewAddressMapV2 creates a new AddressMapV2.
+func NewAddressMapV2[T any]() *AddressMapV2[T] {
+ return &AddressMapV2[T]{m: make(map[Address]addressMapEntryList[T])}
}
// find returns the index of addr in the addressMapEntry slice, or -1 if not
// present.
-func (l addressMapEntryList) find(addr Address) int {
+func (l addressMapEntryList[T]) find(addr Address) int {
for i, entry := range l {
// Attributes are the only thing to match on here, since `Addr` and
// `ServerName` are already equal.
@@ -69,28 +88,28 @@ func (l addressMapEntryList) find(addr Address) int {
}
// Get returns the value for the address in the map, if present.
-func (a *AddressMap) Get(addr Address) (value any, ok bool) {
+func (a *AddressMapV2[T]) Get(addr Address) (value T, ok bool) {
addrKey := toMapKey(&addr)
entryList := a.m[addrKey]
if entry := entryList.find(addr); entry != -1 {
return entryList[entry].value, true
}
- return nil, false
+ return value, false
}
// Set updates or adds the value to the address in the map.
-func (a *AddressMap) Set(addr Address, value any) {
+func (a *AddressMapV2[T]) Set(addr Address, value T) {
addrKey := toMapKey(&addr)
entryList := a.m[addrKey]
if entry := entryList.find(addr); entry != -1 {
entryList[entry].value = value
return
}
- a.m[addrKey] = append(entryList, &addressMapEntry{addr: addr, value: value})
+ a.m[addrKey] = append(entryList, &addressMapEntry[T]{addr: addr, value: value})
}
// Delete removes addr from the map.
-func (a *AddressMap) Delete(addr Address) {
+func (a *AddressMapV2[T]) Delete(addr Address) {
addrKey := toMapKey(&addr)
entryList := a.m[addrKey]
entry := entryList.find(addr)
@@ -107,7 +126,7 @@ func (a *AddressMap) Delete(addr Address) {
}
// Len returns the number of entries in the map.
-func (a *AddressMap) Len() int {
+func (a *AddressMapV2[T]) Len() int {
ret := 0
for _, entryList := range a.m {
ret += len(entryList)
@@ -116,7 +135,7 @@ func (a *AddressMap) Len() int {
}
// Keys returns a slice of all current map keys.
-func (a *AddressMap) Keys() []Address {
+func (a *AddressMapV2[T]) Keys() []Address {
ret := make([]Address, 0, a.Len())
for _, entryList := range a.m {
for _, entry := range entryList {
@@ -127,8 +146,8 @@ func (a *AddressMap) Keys() []Address {
}
// Values returns a slice of all current map values.
-func (a *AddressMap) Values() []any {
- ret := make([]any, 0, a.Len())
+func (a *AddressMapV2[T]) Values() []T {
+ ret := make([]T, 0, a.Len())
for _, entryList := range a.m {
for _, entry := range entryList {
ret = append(ret, entry.value)
@@ -137,70 +156,65 @@ func (a *AddressMap) Values() []any {
return ret
}
-type endpointNode struct {
- addrs map[string]struct{}
-}
-
-// Equal returns whether the unordered set of addrs are the same between the
-// endpoint nodes.
-func (en *endpointNode) Equal(en2 *endpointNode) bool {
- if len(en.addrs) != len(en2.addrs) {
- return false
- }
- for addr := range en.addrs {
- if _, ok := en2.addrs[addr]; !ok {
- return false
- }
- }
- return true
-}
-
-func toEndpointNode(endpoint Endpoint) endpointNode {
- en := make(map[string]struct{})
- for _, addr := range endpoint.Addresses {
- en[addr.Addr] = struct{}{}
- }
- return endpointNode{
- addrs: en,
- }
-}
+type endpointMapKey string
// EndpointMap is a map of endpoints to arbitrary values keyed on only the
// unordered set of address strings within an endpoint. This map is not thread
// safe, thus it is unsafe to access concurrently. Must be created via
// NewEndpointMap; do not construct directly.
-type EndpointMap struct {
- endpoints map[*endpointNode]any
+type EndpointMap[T any] struct {
+ endpoints map[endpointMapKey]endpointData[T]
+}
+
+type endpointData[T any] struct {
+ // decodedKey stores the original key to avoid decoding when iterating on
+ // EndpointMap keys.
+ decodedKey Endpoint
+ value T
}
// NewEndpointMap creates a new EndpointMap.
-func NewEndpointMap() *EndpointMap {
- return &EndpointMap{
- endpoints: make(map[*endpointNode]any),
+func NewEndpointMap[T any]() *EndpointMap[T] {
+ return &EndpointMap[T]{
+ endpoints: make(map[endpointMapKey]endpointData[T]),
}
}
+// encodeEndpoint returns a string that uniquely identifies the unordered set of
+// addresses within an endpoint.
+func encodeEndpoint(e Endpoint) endpointMapKey {
+ addrs := make([]string, 0, len(e.Addresses))
+ // base64 encoding the address strings restricts the characters present
+ // within the strings. This allows us to use a delimiter without the need of
+ // escape characters.
+ for _, addr := range e.Addresses {
+ addrs = append(addrs, base64.StdEncoding.EncodeToString([]byte(addr.Addr)))
+ }
+ sort.Strings(addrs)
+ // " " should not appear in base64 encoded strings.
+ return endpointMapKey(strings.Join(addrs, " "))
+}
+
// Get returns the value for the address in the map, if present.
-func (em *EndpointMap) Get(e Endpoint) (value any, ok bool) {
- en := toEndpointNode(e)
- if endpoint := em.find(en); endpoint != nil {
- return em.endpoints[endpoint], true
+func (em *EndpointMap[T]) Get(e Endpoint) (value T, ok bool) {
+ val, found := em.endpoints[encodeEndpoint(e)]
+ if found {
+ return val.value, true
}
- return nil, false
+ return value, false
}
// Set updates or adds the value to the address in the map.
-func (em *EndpointMap) Set(e Endpoint, value any) {
- en := toEndpointNode(e)
- if endpoint := em.find(en); endpoint != nil {
- em.endpoints[endpoint] = value
- return
+func (em *EndpointMap[T]) Set(e Endpoint, value T) {
+ en := encodeEndpoint(e)
+ em.endpoints[en] = endpointData[T]{
+ decodedKey: Endpoint{Addresses: e.Addresses},
+ value: value,
}
- em.endpoints[&en] = value
}
// Len returns the number of entries in the map.
-func (em *EndpointMap) Len() int {
+func (em *EndpointMap[T]) Len() int {
return len(em.endpoints)
}
@@ -209,43 +223,25 @@ func (em *EndpointMap) Len() int {
// the unordered set of addresses. Thus, endpoint information returned is not
// the full endpoint data (drops duplicated addresses and attributes) but can be
// used for EndpointMap accesses.
-func (em *EndpointMap) Keys() []Endpoint {
+func (em *EndpointMap[T]) Keys() []Endpoint {
ret := make([]Endpoint, 0, len(em.endpoints))
- for en := range em.endpoints {
- var endpoint Endpoint
- for addr := range en.addrs {
- endpoint.Addresses = append(endpoint.Addresses, Address{Addr: addr})
- }
- ret = append(ret, endpoint)
+ for _, en := range em.endpoints {
+ ret = append(ret, en.decodedKey)
}
return ret
}
// Values returns a slice of all current map values.
-func (em *EndpointMap) Values() []any {
- ret := make([]any, 0, len(em.endpoints))
+func (em *EndpointMap[T]) Values() []T {
+ ret := make([]T, 0, len(em.endpoints))
for _, val := range em.endpoints {
- ret = append(ret, val)
+ ret = append(ret, val.value)
}
return ret
}
-// find returns a pointer to the endpoint node in em if the endpoint node is
-// already present. If not found, nil is returned. The comparisons are done on
-// the unordered set of addresses within an endpoint.
-func (em EndpointMap) find(e endpointNode) *endpointNode {
- for endpoint := range em.endpoints {
- if e.Equal(endpoint) {
- return endpoint
- }
- }
- return nil
-}
-
// Delete removes the specified endpoint from the map.
-func (em *EndpointMap) Delete(e Endpoint) {
- en := toEndpointNode(e)
- if entry := em.find(en); entry != nil {
- delete(em.endpoints, entry)
- }
+func (em *EndpointMap[T]) Delete(e Endpoint) {
+ en := encodeEndpoint(e)
+ delete(em.endpoints, en)
}
diff --git a/vendor/google.golang.org/grpc/resolver/resolver.go b/vendor/google.golang.org/grpc/resolver/resolver.go
index b84ef26d46..8e6af9514b 100644
--- a/vendor/google.golang.org/grpc/resolver/resolver.go
+++ b/vendor/google.golang.org/grpc/resolver/resolver.go
@@ -332,6 +332,11 @@ type AuthorityOverrider interface {
// OverrideAuthority returns the authority to use for a ClientConn with the
// given target. The implementation must generate it without blocking,
// typically in line, and must keep it unchanged.
+ //
+ // The returned string must be a valid ":authority" header value, i.e. be
+ // encoded according to
+ // [RFC3986](https://datatracker.ietf.org/doc/html/rfc3986#section-3.2) as
+ // necessary.
OverrideAuthority(Target) string
}
diff --git a/vendor/google.golang.org/grpc/resolver_wrapper.go b/vendor/google.golang.org/grpc/resolver_wrapper.go
index 945e24ff83..80e16a327c 100644
--- a/vendor/google.golang.org/grpc/resolver_wrapper.go
+++ b/vendor/google.golang.org/grpc/resolver_wrapper.go
@@ -134,12 +134,7 @@ func (ccr *ccResolverWrapper) UpdateState(s resolver.State) error {
return nil
}
if s.Endpoints == nil {
- s.Endpoints = make([]resolver.Endpoint, 0, len(s.Addresses))
- for _, a := range s.Addresses {
- ep := resolver.Endpoint{Addresses: []resolver.Address{a}, Attributes: a.BalancerAttributes}
- ep.Addresses[0].BalancerAttributes = nil
- s.Endpoints = append(s.Endpoints, ep)
- }
+ s.Endpoints = addressesToEndpoints(s.Addresses)
}
ccr.addChannelzTraceEvent(s)
ccr.curState = s
@@ -172,7 +167,11 @@ func (ccr *ccResolverWrapper) NewAddress(addrs []resolver.Address) {
ccr.cc.mu.Unlock()
return
}
- s := resolver.State{Addresses: addrs, ServiceConfig: ccr.curState.ServiceConfig}
+ s := resolver.State{
+ Addresses: addrs,
+ ServiceConfig: ccr.curState.ServiceConfig,
+ Endpoints: addressesToEndpoints(addrs),
+ }
ccr.addChannelzTraceEvent(s)
ccr.curState = s
ccr.mu.Unlock()
@@ -210,3 +209,13 @@ func (ccr *ccResolverWrapper) addChannelzTraceEvent(s resolver.State) {
}
channelz.Infof(logger, ccr.cc.channelz, "Resolver state updated: %s (%v)", pretty.ToJSON(s), strings.Join(updates, "; "))
}
+
+func addressesToEndpoints(addrs []resolver.Address) []resolver.Endpoint {
+ endpoints := make([]resolver.Endpoint, 0, len(addrs))
+ for _, a := range addrs {
+ ep := resolver.Endpoint{Addresses: []resolver.Address{a}, Attributes: a.BalancerAttributes}
+ ep.Addresses[0].BalancerAttributes = nil
+ endpoints = append(endpoints, ep)
+ }
+ return endpoints
+}
diff --git a/vendor/google.golang.org/grpc/rpc_util.go b/vendor/google.golang.org/grpc/rpc_util.go
index a8ddb0af52..47ea09f5c9 100644
--- a/vendor/google.golang.org/grpc/rpc_util.go
+++ b/vendor/google.golang.org/grpc/rpc_util.go
@@ -160,6 +160,7 @@ type callInfo struct {
codec baseCodec
maxRetryRPCBufferSize int
onFinish []func(err error)
+ authority string
}
func defaultCallInfo() *callInfo {
@@ -365,6 +366,36 @@ func (o MaxRecvMsgSizeCallOption) before(c *callInfo) error {
}
func (o MaxRecvMsgSizeCallOption) after(*callInfo, *csAttempt) {}
+// CallAuthority returns a CallOption that sets the HTTP/2 :authority header of
+// an RPC to the specified value. When using CallAuthority, the credentials in
+// use must implement the AuthorityValidator interface.
+//
+// # Experimental
+//
+// Notice: This API is EXPERIMENTAL and may be changed or removed in a later
+// release.
+func CallAuthority(authority string) CallOption {
+ return AuthorityOverrideCallOption{Authority: authority}
+}
+
+// AuthorityOverrideCallOption is a CallOption that indicates the HTTP/2
+// :authority header value to use for the call.
+//
+// # Experimental
+//
+// Notice: This type is EXPERIMENTAL and may be changed or removed in a later
+// release.
+type AuthorityOverrideCallOption struct {
+ Authority string
+}
+
+func (o AuthorityOverrideCallOption) before(c *callInfo) error {
+ c.authority = o.Authority
+ return nil
+}
+
+func (o AuthorityOverrideCallOption) after(*callInfo, *csAttempt) {}
+
// MaxCallSendMsgSize returns a CallOption which sets the maximum message size
// in bytes the client can send. If this is not set, gRPC uses the default
// `math.MaxInt32`.
@@ -870,13 +901,19 @@ func decompress(compressor encoding.Compressor, d mem.BufferSlice, dc Decompress
return nil, status.Errorf(codes.Internal, "grpc: failed to decompress the message: %v", err)
}
- out, err := mem.ReadAll(io.LimitReader(dcReader, int64(maxReceiveMessageSize)), pool)
+ // Read at most one byte more than the limit from the decompressor.
+ // Unless the limit is MaxInt64, in which case, that's impossible, so
+ // apply no limit.
+ if limit := int64(maxReceiveMessageSize); limit < math.MaxInt64 {
+ dcReader = io.LimitReader(dcReader, limit+1)
+ }
+ out, err := mem.ReadAll(dcReader, pool)
if err != nil {
out.Free()
return nil, status.Errorf(codes.Internal, "grpc: failed to read decompressed data: %v", err)
}
- if out.Len() == maxReceiveMessageSize && !atEOF(dcReader) {
+ if out.Len() > maxReceiveMessageSize {
out.Free()
return nil, status.Errorf(codes.ResourceExhausted, "grpc: received message after decompression larger than max %d", maxReceiveMessageSize)
}
@@ -885,12 +922,6 @@ func decompress(compressor encoding.Compressor, d mem.BufferSlice, dc Decompress
return nil, status.Errorf(codes.Internal, "grpc: no decompressor available for compressed payload")
}
-// atEOF reads data from r and returns true if zero bytes could be read and r.Read returns EOF.
-func atEOF(dcReader io.Reader) bool {
- n, err := dcReader.Read(make([]byte, 1))
- return n == 0 && err == io.EOF
-}
-
type recvCompressor interface {
RecvCompress() string
}
diff --git a/vendor/google.golang.org/grpc/server.go b/vendor/google.golang.org/grpc/server.go
index 976e70ae06..5b7d7a47d0 100644
--- a/vendor/google.golang.org/grpc/server.go
+++ b/vendor/google.golang.org/grpc/server.go
@@ -42,6 +42,7 @@ import (
"google.golang.org/grpc/internal"
"google.golang.org/grpc/internal/binarylog"
"google.golang.org/grpc/internal/channelz"
+ "google.golang.org/grpc/internal/envconfig"
"google.golang.org/grpc/internal/grpcsync"
"google.golang.org/grpc/internal/grpcutil"
istats "google.golang.org/grpc/internal/stats"
@@ -148,6 +149,8 @@ type Server struct {
serverWorkerChannel chan func()
serverWorkerChannelClose func()
+
+ strictPathCheckingLogEmitted atomic.Bool
}
type serverOptions struct {
@@ -179,6 +182,7 @@ type serverOptions struct {
numServerWorkers uint32
bufferPool mem.BufferPool
waitForHandlers bool
+ staticWindowSize bool
}
var defaultServerOptions = serverOptions{
@@ -279,6 +283,7 @@ func ReadBufferSize(s int) ServerOption {
func InitialWindowSize(s int32) ServerOption {
return newFuncServerOption(func(o *serverOptions) {
o.initialWindowSize = s
+ o.staticWindowSize = true
})
}
@@ -287,6 +292,29 @@ func InitialWindowSize(s int32) ServerOption {
func InitialConnWindowSize(s int32) ServerOption {
return newFuncServerOption(func(o *serverOptions) {
o.initialConnWindowSize = s
+ o.staticWindowSize = true
+ })
+}
+
+// StaticStreamWindowSize returns a ServerOption to set the initial stream
+// window size to the value provided and disables dynamic flow control.
+// The lower bound for window size is 64K and any value smaller than that
+// will be ignored.
+func StaticStreamWindowSize(s int32) ServerOption {
+ return newFuncServerOption(func(o *serverOptions) {
+ o.initialWindowSize = s
+ o.staticWindowSize = true
+ })
+}
+
+// StaticConnWindowSize returns a ServerOption to set the initial connection
+// window size to the value provided and disables dynamic flow control.
+// The lower bound for window size is 64K and any value smaller than that
+// will be ignored.
+func StaticConnWindowSize(s int32) ServerOption {
+ return newFuncServerOption(func(o *serverOptions) {
+ o.initialConnWindowSize = s
+ o.staticWindowSize = true
})
}
@@ -986,6 +1014,7 @@ func (s *Server) newHTTP2Transport(c net.Conn) transport.ServerTransport {
MaxHeaderListSize: s.opts.maxHeaderListSize,
HeaderTableSize: s.opts.headerTableSize,
BufferPool: s.opts.bufferPool,
+ StaticWindowSize: s.opts.staticWindowSize,
}
st, err := transport.NewServerTransport(c, config)
if err != nil {
@@ -1572,6 +1601,7 @@ func (s *Server) processStreamingRPC(ctx context.Context, stream *transport.Serv
s: stream,
p: &parser{r: stream, bufferPool: s.opts.bufferPool},
codec: s.getCodec(stream.ContentSubtype()),
+ desc: sd,
maxReceiveMessageSize: s.opts.maxReceiveMessageSize,
maxSendMessageSize: s.opts.maxSendMessageSize,
trInfo: trInfo,
@@ -1745,6 +1775,24 @@ func (s *Server) processStreamingRPC(ctx context.Context, stream *transport.Serv
return ss.s.WriteStatus(statusOK)
}
+func (s *Server) handleMalformedMethodName(stream *transport.ServerStream, ti *traceInfo) {
+ if ti != nil {
+ ti.tr.LazyLog(&fmtStringer{"Malformed method name %q", []any{stream.Method()}}, true)
+ ti.tr.SetError()
+ }
+ errDesc := fmt.Sprintf("malformed method name: %q", stream.Method())
+ if err := stream.WriteStatus(status.New(codes.Unimplemented, errDesc)); err != nil {
+ if ti != nil {
+ ti.tr.LazyLog(&fmtStringer{"%v", []any{err}}, true)
+ ti.tr.SetError()
+ }
+ channelz.Warningf(logger, s.channelz, "grpc: Server.handleStream failed to write status: %v", err)
+ }
+ if ti != nil {
+ ti.tr.Finish()
+ }
+}
+
func (s *Server) handleStream(t transport.ServerTransport, stream *transport.ServerStream) {
ctx := stream.Context()
ctx = contextWithServer(ctx, s)
@@ -1765,26 +1813,30 @@ func (s *Server) handleStream(t transport.ServerTransport, stream *transport.Ser
}
sm := stream.Method()
- if sm != "" && sm[0] == '/' {
+ if sm == "" {
+ s.handleMalformedMethodName(stream, ti)
+ return
+ }
+ if sm[0] != '/' {
+ // TODO(easwars): Add a link to the CVE in the below log messages once
+ // published.
+ if envconfig.DisableStrictPathChecking {
+ if old := s.strictPathCheckingLogEmitted.Swap(true); !old {
+ channelz.Warningf(logger, s.channelz, "grpc: Server.handleStream received malformed method name %q. Allowing it because the environment variable GRPC_GO_EXPERIMENTAL_DISABLE_STRICT_PATH_CHECKING is set to true, but this option will be removed in a future release.", sm)
+ }
+ } else {
+ if old := s.strictPathCheckingLogEmitted.Swap(true); !old {
+ channelz.Warningf(logger, s.channelz, "grpc: Server.handleStream rejected malformed method name %q. To temporarily allow such requests, set the environment variable GRPC_GO_EXPERIMENTAL_DISABLE_STRICT_PATH_CHECKING to true. Note that this is not recommended as it may allow requests to bypass security policies.", sm)
+ }
+ s.handleMalformedMethodName(stream, ti)
+ return
+ }
+ } else {
sm = sm[1:]
}
pos := strings.LastIndex(sm, "/")
if pos == -1 {
- if ti != nil {
- ti.tr.LazyLog(&fmtStringer{"Malformed method name %q", []any{sm}}, true)
- ti.tr.SetError()
- }
- errDesc := fmt.Sprintf("malformed method name: %q", stream.Method())
- if err := stream.WriteStatus(status.New(codes.Unimplemented, errDesc)); err != nil {
- if ti != nil {
- ti.tr.LazyLog(&fmtStringer{"%v", []any{err}}, true)
- ti.tr.SetError()
- }
- channelz.Warningf(logger, s.channelz, "grpc: Server.handleStream failed to write status: %v", err)
- }
- if ti != nil {
- ti.tr.Finish()
- }
+ s.handleMalformedMethodName(stream, ti)
return
}
service := sm[:pos]
diff --git a/vendor/google.golang.org/grpc/stats/handlers.go b/vendor/google.golang.org/grpc/stats/handlers.go
index dc03731e45..67194a592f 100644
--- a/vendor/google.golang.org/grpc/stats/handlers.go
+++ b/vendor/google.golang.org/grpc/stats/handlers.go
@@ -38,6 +38,15 @@ type RPCTagInfo struct {
// FailFast indicates if this RPC is failfast.
// This field is only valid on client side, it's always false on server side.
FailFast bool
+ // NameResolutionDelay indicates if the RPC needed to wait for the
+ // initial name resolver update before it could begin. This should only
+ // happen if the channel is IDLE when the RPC is started. Note that
+ // all retry or hedging attempts for an RPC that experienced a delay
+ // will have it set.
+ //
+ // This field is only valid on the client side; it is always false on
+ // the server side.
+ NameResolutionDelay bool
}
// Handler defines the interface for the related stats handling (e.g., RPCs, connections).
diff --git a/vendor/google.golang.org/grpc/stats/stats.go b/vendor/google.golang.org/grpc/stats/stats.go
index 6f20d2d548..10bf998aa5 100644
--- a/vendor/google.golang.org/grpc/stats/stats.go
+++ b/vendor/google.golang.org/grpc/stats/stats.go
@@ -36,7 +36,12 @@ type RPCStats interface {
IsClient() bool
}
-// Begin contains stats when an RPC attempt begins.
+// Begin contains stats for the start of an RPC attempt.
+//
+// - Server-side: Triggered after `InHeader`, as headers are processed
+// before the RPC lifecycle begins.
+// - Client-side: The first stats event recorded.
+//
// FailFast is only valid if this Begin is from client side.
type Begin struct {
// Client is true if this Begin is from client side.
@@ -59,17 +64,23 @@ func (s *Begin) IsClient() bool { return s.Client }
func (s *Begin) isRPCStats() {}
-// PickerUpdated indicates that the LB policy provided a new picker while the
-// RPC was waiting for one.
-type PickerUpdated struct{}
+// DelayedPickComplete indicates that the RPC is unblocked following a delay in
+// selecting a connection for the call.
+type DelayedPickComplete struct{}
+
+// IsClient indicates DelayedPickComplete is available on the client.
+func (*DelayedPickComplete) IsClient() bool { return true }
-// IsClient indicates if the stats information is from client side. Only Client
-// Side interfaces with a Picker, thus always returns true.
-func (*PickerUpdated) IsClient() bool { return true }
+func (*DelayedPickComplete) isRPCStats() {}
-func (*PickerUpdated) isRPCStats() {}
+// PickerUpdated indicates that the RPC is unblocked following a delay in
+// selecting a connection for the call.
+//
+// Deprecated: will be removed in a future release; use DelayedPickComplete
+// instead.
+type PickerUpdated = DelayedPickComplete
-// InPayload contains the information for an incoming payload.
+// InPayload contains stats about an incoming payload.
type InPayload struct {
// Client is true if this InPayload is from client side.
Client bool
@@ -98,7 +109,9 @@ func (s *InPayload) IsClient() bool { return s.Client }
func (s *InPayload) isRPCStats() {}
-// InHeader contains stats when a header is received.
+// InHeader contains stats about header reception.
+//
+// - Server-side: The first stats event after the RPC request is received.
type InHeader struct {
// Client is true if this InHeader is from client side.
Client bool
@@ -123,7 +136,7 @@ func (s *InHeader) IsClient() bool { return s.Client }
func (s *InHeader) isRPCStats() {}
-// InTrailer contains stats when a trailer is received.
+// InTrailer contains stats about trailer reception.
type InTrailer struct {
// Client is true if this InTrailer is from client side.
Client bool
@@ -139,7 +152,7 @@ func (s *InTrailer) IsClient() bool { return s.Client }
func (s *InTrailer) isRPCStats() {}
-// OutPayload contains the information for an outgoing payload.
+// OutPayload contains stats about an outgoing payload.
type OutPayload struct {
// Client is true if this OutPayload is from client side.
Client bool
@@ -166,7 +179,10 @@ func (s *OutPayload) IsClient() bool { return s.Client }
func (s *OutPayload) isRPCStats() {}
-// OutHeader contains stats when a header is sent.
+// OutHeader contains stats about header transmission.
+//
+// - Client-side: Only occurs after 'Begin', as headers are always the first
+// thing sent on a stream.
type OutHeader struct {
// Client is true if this OutHeader is from client side.
Client bool
@@ -189,14 +205,15 @@ func (s *OutHeader) IsClient() bool { return s.Client }
func (s *OutHeader) isRPCStats() {}
-// OutTrailer contains stats when a trailer is sent.
+// OutTrailer contains stats about trailer transmission.
type OutTrailer struct {
// Client is true if this OutTrailer is from client side.
Client bool
// WireLength is the wire length of trailer.
//
- // Deprecated: This field is never set. The length is not known when this message is
- // emitted because the trailer fields are compressed with hpack after that.
+ // Deprecated: This field is never set. The length is not known when this
+ // message is emitted because the trailer fields are compressed with hpack
+ // after that.
WireLength int
// Trailer contains the trailer metadata sent to the client. This
// field is only valid if this OutTrailer is from the server side.
@@ -208,7 +225,7 @@ func (s *OutTrailer) IsClient() bool { return s.Client }
func (s *OutTrailer) isRPCStats() {}
-// End contains stats when an RPC ends.
+// End contains stats about RPC completion.
type End struct {
// Client is true if this End is from client side.
Client bool
@@ -238,7 +255,7 @@ type ConnStats interface {
IsClient() bool
}
-// ConnBegin contains the stats of a connection when it is established.
+// ConnBegin contains stats about connection establishment.
type ConnBegin struct {
// Client is true if this ConnBegin is from client side.
Client bool
@@ -249,7 +266,7 @@ func (s *ConnBegin) IsClient() bool { return s.Client }
func (s *ConnBegin) isConnStats() {}
-// ConnEnd contains the stats of a connection when it ends.
+// ConnEnd contains stats about connection termination.
type ConnEnd struct {
// Client is true if this ConnEnd is from client side.
Client bool
diff --git a/vendor/google.golang.org/grpc/stream.go b/vendor/google.golang.org/grpc/stream.go
index 12163150ba..d9bbd4c57c 100644
--- a/vendor/google.golang.org/grpc/stream.go
+++ b/vendor/google.golang.org/grpc/stream.go
@@ -101,9 +101,9 @@ type ClientStream interface {
// It must only be called after stream.CloseAndRecv has returned, or
// stream.Recv has returned a non-nil error (including io.EOF).
Trailer() metadata.MD
- // CloseSend closes the send direction of the stream. It closes the stream
- // when non-nil error is met. It is also not safe to call CloseSend
- // concurrently with SendMsg.
+ // CloseSend closes the send direction of the stream. This method always
+ // returns a nil error. The status of the stream may be discovered using
+ // RecvMsg. It is also not safe to call CloseSend concurrently with SendMsg.
CloseSend() error
// Context returns the context for this stream.
//
@@ -212,14 +212,15 @@ func newClientStream(ctx context.Context, desc *StreamDesc, cc *ClientConn, meth
}
// Provide an opportunity for the first RPC to see the first service config
// provided by the resolver.
- if err := cc.waitForResolvedAddrs(ctx); err != nil {
+ nameResolutionDelayed, err := cc.waitForResolvedAddrs(ctx)
+ if err != nil {
return nil, err
}
var mc serviceconfig.MethodConfig
var onCommit func()
newStream := func(ctx context.Context, done func()) (iresolver.ClientStream, error) {
- return newClientStreamWithParams(ctx, desc, cc, method, mc, onCommit, done, opts...)
+ return newClientStreamWithParams(ctx, desc, cc, method, mc, onCommit, done, nameResolutionDelayed, opts...)
}
rpcInfo := iresolver.RPCInfo{Context: ctx, Method: method}
@@ -257,7 +258,7 @@ func newClientStream(ctx context.Context, desc *StreamDesc, cc *ClientConn, meth
return newStream(ctx, func() {})
}
-func newClientStreamWithParams(ctx context.Context, desc *StreamDesc, cc *ClientConn, method string, mc serviceconfig.MethodConfig, onCommit, doneFunc func(), opts ...CallOption) (_ iresolver.ClientStream, err error) {
+func newClientStreamWithParams(ctx context.Context, desc *StreamDesc, cc *ClientConn, method string, mc serviceconfig.MethodConfig, onCommit, doneFunc func(), nameResolutionDelayed bool, opts ...CallOption) (_ iresolver.ClientStream, err error) {
callInfo := defaultCallInfo()
if mc.WaitForReady != nil {
callInfo.failFast = !*mc.WaitForReady
@@ -296,6 +297,7 @@ func newClientStreamWithParams(ctx context.Context, desc *StreamDesc, cc *Client
Method: method,
ContentSubtype: callInfo.contentSubtype,
DoneFunc: doneFunc,
+ Authority: callInfo.authority,
}
// Set our outgoing compression according to the UseCompressor CallOption, if
@@ -321,19 +323,20 @@ func newClientStreamWithParams(ctx context.Context, desc *StreamDesc, cc *Client
}
cs := &clientStream{
- callHdr: callHdr,
- ctx: ctx,
- methodConfig: &mc,
- opts: opts,
- callInfo: callInfo,
- cc: cc,
- desc: desc,
- codec: callInfo.codec,
- compressorV0: compressorV0,
- compressorV1: compressorV1,
- cancel: cancel,
- firstAttempt: true,
- onCommit: onCommit,
+ callHdr: callHdr,
+ ctx: ctx,
+ methodConfig: &mc,
+ opts: opts,
+ callInfo: callInfo,
+ cc: cc,
+ desc: desc,
+ codec: callInfo.codec,
+ compressorV0: compressorV0,
+ compressorV1: compressorV1,
+ cancel: cancel,
+ firstAttempt: true,
+ onCommit: onCommit,
+ nameResolutionDelay: nameResolutionDelayed,
}
if !cc.dopts.disableRetry {
cs.retryThrottler = cc.retryThrottler.Load().(*retryThrottler)
@@ -417,7 +420,7 @@ func (cs *clientStream) newAttemptLocked(isTransparent bool) (*csAttempt, error)
var beginTime time.Time
shs := cs.cc.dopts.copts.StatsHandlers
for _, sh := range shs {
- ctx = sh.TagRPC(ctx, &stats.RPCTagInfo{FullMethodName: method, FailFast: cs.callInfo.failFast})
+ ctx = sh.TagRPC(ctx, &stats.RPCTagInfo{FullMethodName: method, FailFast: cs.callInfo.failFast, NameResolutionDelay: cs.nameResolutionDelay})
beginTime = time.Now()
begin := &stats.Begin{
Client: true,
@@ -466,8 +469,9 @@ func (cs *clientStream) newAttemptLocked(isTransparent bool) (*csAttempt, error)
func (a *csAttempt) getTransport() error {
cs := a.cs
- var err error
- a.transport, a.pickResult, err = cs.cc.getTransport(a.ctx, cs.callInfo.failFast, cs.callHdr.Method)
+ pickInfo := balancer.PickInfo{Ctx: a.ctx, FullMethodName: cs.callHdr.Method}
+ pick, err := cs.cc.pickerWrapper.pick(a.ctx, cs.callInfo.failFast, pickInfo)
+ a.transport, a.pickResult = pick.transport, pick.result
if err != nil {
if de, ok := err.(dropError); ok {
err = de.error
@@ -478,6 +482,11 @@ func (a *csAttempt) getTransport() error {
if a.trInfo != nil {
a.trInfo.firstLine.SetRemoteAddr(a.transport.RemoteAddr())
}
+ if pick.blocked {
+ for _, sh := range a.statsHandlers {
+ sh.HandleRPC(a.ctx, &stats.DelayedPickComplete{})
+ }
+ }
return nil
}
@@ -573,6 +582,9 @@ type clientStream struct {
onCommit func()
replayBuffer []replayOp // operations to replay on retry
replayBufferSize int // current size of replayBuffer
+ // nameResolutionDelay indicates if there was a delay in the name resolution.
+ // This field is only valid on client side, it's always false on server side.
+ nameResolutionDelay bool
}
type replayOp struct {
@@ -987,7 +999,7 @@ func (cs *clientStream) RecvMsg(m any) error {
func (cs *clientStream) CloseSend() error {
if cs.sentLast {
- // TODO: return an error and finish the stream instead, due to API misuse?
+ // Return a nil error on repeated calls to this method.
return nil
}
cs.sentLast = true
@@ -1008,7 +1020,10 @@ func (cs *clientStream) CloseSend() error {
binlog.Log(cs.ctx, chc)
}
}
- // We never returned an error here for reasons.
+ // We don't return an error here as we expect users to read all messages
+ // from the stream and get the RPC status from RecvMsg(). Note that
+ // SendMsg() must return an error when one occurs so the application
+ // knows to stop sending messages, but that does not apply here.
return nil
}
@@ -1162,7 +1177,7 @@ func (a *csAttempt) recvMsg(m any, payInfo *payloadInfo) (err error) {
} else if err != nil {
return toRPCErr(err)
}
- return toRPCErr(errors.New("grpc: client streaming protocol violation: get , want "))
+ return status.Errorf(codes.Internal, "cardinality violation: expected for non server-streaming RPCs, but received another message")
}
func (a *csAttempt) finish(err error) {
@@ -1372,7 +1387,7 @@ func (as *addrConnStream) Trailer() metadata.MD {
func (as *addrConnStream) CloseSend() error {
if as.sentLast {
- // TODO: return an error and finish the stream instead, due to API misuse?
+ // Return a nil error on repeated calls to this method.
return nil
}
as.sentLast = true
@@ -1486,7 +1501,7 @@ func (as *addrConnStream) RecvMsg(m any) (err error) {
} else if err != nil {
return toRPCErr(err)
}
- return toRPCErr(errors.New("grpc: client streaming protocol violation: get , want "))
+ return status.Errorf(codes.Internal, "cardinality violation: expected for non server-streaming RPCs, but received another message")
}
func (as *addrConnStream) finish(err error) {
@@ -1571,6 +1586,7 @@ type serverStream struct {
s *transport.ServerStream
p *parser
codec baseCodec
+ desc *StreamDesc
compressorV0 Compressor
compressorV1 encoding.Compressor
@@ -1579,6 +1595,8 @@ type serverStream struct {
sendCompressorName string
+ recvFirstMsg bool // set after the first message is received
+
maxReceiveMessageSize int
maxSendMessageSize int
trInfo *traceInfo
@@ -1765,6 +1783,10 @@ func (ss *serverStream) RecvMsg(m any) (err error) {
binlog.Log(ss.ctx, chc)
}
}
+ // Received no request msg for non-client streaming rpcs.
+ if !ss.desc.ClientStreams && !ss.recvFirstMsg {
+ return status.Error(codes.Internal, "cardinality violation: received no request message from non-client-streaming RPC")
+ }
return err
}
if err == io.ErrUnexpectedEOF {
@@ -1772,6 +1794,7 @@ func (ss *serverStream) RecvMsg(m any) (err error) {
}
return toRPCErr(err)
}
+ ss.recvFirstMsg = true
if len(ss.statsHandler) != 0 {
for _, sh := range ss.statsHandler {
sh.HandleRPC(ss.s.Context(), &stats.InPayload{
@@ -1791,7 +1814,19 @@ func (ss *serverStream) RecvMsg(m any) (err error) {
binlog.Log(ss.ctx, cm)
}
}
- return nil
+
+ if ss.desc.ClientStreams {
+ // Subsequent messages should be received by subsequent RecvMsg calls.
+ return nil
+ }
+ // Special handling for non-client-stream rpcs.
+ // This recv expects EOF or errors, so we don't collect inPayload.
+ if err := recv(ss.p, ss.codec, ss.s, ss.decompressorV0, m, ss.maxReceiveMessageSize, nil, ss.decompressorV1, true); err == io.EOF {
+ return nil
+ } else if err != nil {
+ return err
+ }
+ return status.Error(codes.Internal, "cardinality violation: received multiple request messages for non-client-streaming RPC")
}
// MethodFromServerStream returns the method string for the input stream.
diff --git a/vendor/google.golang.org/grpc/version.go b/vendor/google.golang.org/grpc/version.go
index 783c41f78c..468f110658 100644
--- a/vendor/google.golang.org/grpc/version.go
+++ b/vendor/google.golang.org/grpc/version.go
@@ -19,4 +19,4 @@
package grpc
// Version is the current grpc version.
-const Version = "1.71.0"
+const Version = "1.75.1"
diff --git a/vendor/modules.txt b/vendor/modules.txt
index f10e5ae0fd..05e3e60d0a 100644
--- a/vendor/modules.txt
+++ b/vendor/modules.txt
@@ -1,5 +1,5 @@
-# cel.dev/expr v0.19.1
-## explicit; go 1.21.1
+# cel.dev/expr v0.24.0
+## explicit; go 1.22.0
cel.dev/expr
# dario.cat/mergo v1.0.1
## explicit; go 1.13
@@ -373,12 +373,12 @@ github.com/go-git/go-git/v5/utils/ioutil
# github.com/go-gorp/gorp/v3 v3.1.0
## explicit; go 1.18
github.com/go-gorp/gorp/v3
-# github.com/go-jose/go-jose/v4 v4.0.5
-## explicit; go 1.21
+# github.com/go-jose/go-jose/v4 v4.1.1
+## explicit; go 1.23.0
github.com/go-jose/go-jose/v4
github.com/go-jose/go-jose/v4/cipher
github.com/go-jose/go-jose/v4/json
-# github.com/go-logr/logr v1.4.2
+# github.com/go-logr/logr v1.4.3
## explicit; go 1.18
github.com/go-logr/logr
github.com/go-logr/logr/funcr
@@ -927,14 +927,13 @@ go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp/internal/request
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp/internal/semconv
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp/internal/semconvutil
-# go.opentelemetry.io/otel v1.34.0
-## explicit; go 1.22.0
+# go.opentelemetry.io/otel v1.37.0
+## explicit; go 1.23.0
go.opentelemetry.io/otel
go.opentelemetry.io/otel/attribute
+go.opentelemetry.io/otel/attribute/internal
go.opentelemetry.io/otel/baggage
go.opentelemetry.io/otel/codes
-go.opentelemetry.io/otel/internal
-go.opentelemetry.io/otel/internal/attribute
go.opentelemetry.io/otel/internal/baggage
go.opentelemetry.io/otel/internal/global
go.opentelemetry.io/otel/propagation
@@ -942,6 +941,7 @@ go.opentelemetry.io/otel/semconv/v1.17.0
go.opentelemetry.io/otel/semconv/v1.20.0
go.opentelemetry.io/otel/semconv/v1.21.0
go.opentelemetry.io/otel/semconv/v1.26.0
+go.opentelemetry.io/otel/semconv/v1.34.0
# go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.33.0
## explicit; go 1.22.7
go.opentelemetry.io/otel/exporters/otlp/otlptrace
@@ -953,23 +953,24 @@ go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc/internal
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc/internal/envconfig
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc/internal/otlpconfig
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc/internal/retry
-# go.opentelemetry.io/otel/metric v1.34.0
-## explicit; go 1.22.0
+# go.opentelemetry.io/otel/metric v1.37.0
+## explicit; go 1.23.0
go.opentelemetry.io/otel/metric
go.opentelemetry.io/otel/metric/embedded
go.opentelemetry.io/otel/metric/noop
-# go.opentelemetry.io/otel/sdk v1.34.0
-## explicit; go 1.22.0
+# go.opentelemetry.io/otel/sdk v1.37.0
+## explicit; go 1.23.0
go.opentelemetry.io/otel/sdk
go.opentelemetry.io/otel/sdk/instrumentation
go.opentelemetry.io/otel/sdk/internal/env
go.opentelemetry.io/otel/sdk/internal/x
go.opentelemetry.io/otel/sdk/resource
go.opentelemetry.io/otel/sdk/trace
-# go.opentelemetry.io/otel/trace v1.34.0
-## explicit; go 1.22.0
+# go.opentelemetry.io/otel/trace v1.37.0
+## explicit; go 1.23.0
go.opentelemetry.io/otel/trace
go.opentelemetry.io/otel/trace/embedded
+go.opentelemetry.io/otel/trace/internal/telemetry
go.opentelemetry.io/otel/trace/noop
# go.opentelemetry.io/proto/otlp v1.4.0
## explicit; go 1.22.7
@@ -977,7 +978,7 @@ go.opentelemetry.io/proto/otlp/collector/trace/v1
go.opentelemetry.io/proto/otlp/common/v1
go.opentelemetry.io/proto/otlp/resource/v1
go.opentelemetry.io/proto/otlp/trace/v1
-# golang.org/x/crypto v0.37.0
+# golang.org/x/crypto v0.39.0
## explicit; go 1.23.0
golang.org/x/crypto/bcrypt
golang.org/x/crypto/blowfish
@@ -1003,13 +1004,13 @@ golang.org/x/crypto/sha3
## explicit; go 1.23.0
golang.org/x/exp/maps
golang.org/x/exp/slices
-# golang.org/x/mod v0.24.0
+# golang.org/x/mod v0.25.0
## explicit; go 1.23.0
golang.org/x/mod/internal/lazyregexp
golang.org/x/mod/modfile
golang.org/x/mod/module
golang.org/x/mod/semver
-# golang.org/x/net v0.39.0
+# golang.org/x/net v0.41.0
## explicit; go 1.23.0
golang.org/x/net/context
golang.org/x/net/html
@@ -1024,26 +1025,26 @@ golang.org/x/net/internal/timeseries
golang.org/x/net/proxy
golang.org/x/net/trace
golang.org/x/net/websocket
-# golang.org/x/oauth2 v0.29.0
+# golang.org/x/oauth2 v0.30.0
## explicit; go 1.23.0
golang.org/x/oauth2
golang.org/x/oauth2/internal
-# golang.org/x/sync v0.13.0
+# golang.org/x/sync v0.15.0
## explicit; go 1.23.0
golang.org/x/sync/errgroup
golang.org/x/sync/semaphore
golang.org/x/sync/singleflight
-# golang.org/x/sys v0.32.0
+# golang.org/x/sys v0.33.0
## explicit; go 1.23.0
golang.org/x/sys/cpu
golang.org/x/sys/plan9
golang.org/x/sys/unix
golang.org/x/sys/windows
golang.org/x/sys/windows/registry
-# golang.org/x/term v0.31.0
+# golang.org/x/term v0.32.0
## explicit; go 1.23.0
golang.org/x/term
-# golang.org/x/text v0.24.0
+# golang.org/x/text v0.26.0
## explicit; go 1.23.0
golang.org/x/text/cases
golang.org/x/text/encoding
@@ -1071,7 +1072,7 @@ golang.org/x/text/unicode/norm
# golang.org/x/time v0.11.0
## explicit; go 1.23.0
golang.org/x/time/rate
-# golang.org/x/tools v0.32.0
+# golang.org/x/tools v0.33.0
## explicit; go 1.23.0
golang.org/x/tools/go/analysis
golang.org/x/tools/go/analysis/analysistest
@@ -1112,18 +1113,18 @@ gomodules.xyz/jsonpatch/v2
# google.golang.org/genproto v0.0.0-20250303144028-a0af3efb3deb
## explicit; go 1.23.0
google.golang.org/genproto/protobuf/field_mask
-# google.golang.org/genproto/googleapis/api v0.0.0-20250303144028-a0af3efb3deb
+# google.golang.org/genproto/googleapis/api v0.0.0-20250707201910-8d1bb00bc6a7
## explicit; go 1.23.0
google.golang.org/genproto/googleapis/api
google.golang.org/genproto/googleapis/api/annotations
google.golang.org/genproto/googleapis/api/expr/v1alpha1
google.golang.org/genproto/googleapis/api/httpbody
-# google.golang.org/genproto/googleapis/rpc v0.0.0-20250313205543-e70fdf4c4cb4
+# google.golang.org/genproto/googleapis/rpc v0.0.0-20250707201910-8d1bb00bc6a7
## explicit; go 1.23.0
google.golang.org/genproto/googleapis/rpc/errdetails
google.golang.org/genproto/googleapis/rpc/status
-# google.golang.org/grpc v1.71.0
-## explicit; go 1.22.0
+# google.golang.org/grpc v1.71.0 => github.com/openshift-sustaining/grpc-go v1.75.1-sec.1
+## explicit; go 1.23.0
google.golang.org/grpc
google.golang.org/grpc/attributes
google.golang.org/grpc/backoff
@@ -2123,3 +2124,4 @@ sigs.k8s.io/yaml/goyaml.v3
# k8s.io/mount-utils => k8s.io/mount-utils v0.32.3
# k8s.io/pod-security-admission => k8s.io/pod-security-admission v0.32.3
# k8s.io/sample-apiserver => k8s.io/sample-apiserver v0.32.3
+# google.golang.org/grpc => github.com/openshift-sustaining/grpc-go v1.75.1-sec.1