From a9b28d55c17f30704bddc66fff1c477ce3599ea6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=88=98=E7=A5=A5=E8=B6=85?= Date: Tue, 11 Jul 2023 19:47:05 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E9=A1=B5=E9=9D=A2=E4=BC=98?= =?UTF-8?q?=E5=8C=96=E7=9B=B8=E5=85=B3API=E3=80=81=E9=85=8D=E7=BD=AE?= =?UTF-8?q?=E3=80=81=E6=B6=88=E6=81=AF=E4=BB=A3=E5=8F=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- build/rpc.json | 16 +- go.mod | 3 + go.sum | 91 +- pkg/langs/codes/codes.go | 2 + pkg/langs/messages/messages_zh_cn.go | 2 + pkg/langs/protos/zh-cn/server.json | 1 + .../protos/zh-cn/server_optimization.json | 3 + pkg/rpc/pb/service_http_web.pb.go | 1421 +++++++++-------- pkg/rpc/pb/service_server_group.pb.go | 278 ++-- pkg/rpc/protos/service_http_web.proto | 9 + pkg/rpc/protos/service_server_group.proto | 1 + pkg/serverconfigs/config_codes.go | 1 + .../http_page_optimization_config.go | 171 ++ .../http_page_optimization_css.go | 29 + .../http_page_optimization_html.go | 42 + .../http_page_optimization_javascript.go | 29 + pkg/serverconfigs/http_web_config.go | 9 + 17 files changed, 1252 insertions(+), 856 deletions(-) create mode 100644 pkg/langs/protos/zh-cn/server_optimization.json create mode 100644 pkg/serverconfigs/http_page_optimization_config.go create mode 100644 pkg/serverconfigs/http_page_optimization_css.go create mode 100644 pkg/serverconfigs/http_page_optimization_html.go create mode 100644 pkg/serverconfigs/http_page_optimization_javascript.go diff --git a/build/rpc.json b/build/rpc.json index e7d5e4f..6ef9057 100644 --- a/build/rpc.json +++ b/build/rpc.json @@ -3148,6 +3148,15 @@ ], "isDeprecated": false }, + { + "name": "updateHTTPWebOptimization", + "requestMessageName": "UpdateHTTPWebOptimizationRequest", + "responseMessageName": "RPCSuccess", + "code": "rpc updateHTTPWebOptimization(UpdateHTTPWebOptimizationRequest) returns (RPCSuccess);", + "doc": "更改页面优化配置", + "roles": [], + "isDeprecated": false + }, { "name": "updateHTTPWebWebP", "requestMessageName": "UpdateHTTPWebWebPRequest", @@ -18371,7 +18380,7 @@ }, { "name": "FindEnabledServerGroupConfigInfoResponse", - "code": "message FindEnabledServerGroupConfigInfoResponse {\n\tbool hasHTTPReverseProxy = 1;\n\tbool hasTCPReverseProxy = 2;\n\tbool hasUDPReverseProxy = 3;\n\tint64 serverGroupId = 4;\n\tbool hasRootConfig = 5;\n\tbool hasWAFConfig = 6;\n\tbool hasCacheConfig = 7;\n\tbool hasCharsetConfig = 8;\n\tbool hasStatConfig = 9;\n\tbool hasCompressionConfig = 10;\n\tbool hasRequestHeadersConfig = 11;\n\tbool hasResponseHeadersConfig = 12;\n\tbool hasWebsocketConfig = 13;\n\tbool hasWebPConfig = 14;\n\tbool hasAccessLogConfig = 15;\n\tbool hasRemoteAddrConfig = 16;\n\tbool hasPagesConfig = 17;\n\tbool hasRequestLimitConfig = 18;\n\tbool hasRequestScriptsConfig = 19;\n}", + "code": "message FindEnabledServerGroupConfigInfoResponse {\n\tbool hasHTTPReverseProxy = 1;\n\tbool hasTCPReverseProxy = 2;\n\tbool hasUDPReverseProxy = 3;\n\tint64 serverGroupId = 4;\n\tbool hasRootConfig = 5;\n\tbool hasWAFConfig = 6;\n\tbool hasCacheConfig = 7;\n\tbool hasCharsetConfig = 8;\n\tbool hasStatConfig = 9;\n\tbool hasCompressionConfig = 10;\n\tbool hasOptimizationConfig = 20;\n\tbool hasRequestHeadersConfig = 11;\n\tbool hasResponseHeadersConfig = 12;\n\tbool hasWebsocketConfig = 13;\n\tbool hasWebPConfig = 14;\n\tbool hasAccessLogConfig = 15;\n\tbool hasRemoteAddrConfig = 16;\n\tbool hasPagesConfig = 17;\n\tbool hasRequestLimitConfig = 18;\n\tbool hasRequestScriptsConfig = 19;\n}", "doc": "" }, { @@ -21799,6 +21808,11 @@ "code": "message UpdateHTTPWebLocationsRequest {\n\tint64 httpWebId = 1;\n\tbytes locationsJSON = 3;\n}", "doc": "更改路径规则配置" }, + { + "name": "UpdateHTTPWebOptimizationRequest", + "code": "message UpdateHTTPWebOptimizationRequest {\n\tint64 httpWebId = 1;\n\tbytes optimizationJSON = 2;\n}", + "doc": "更改页面优化配置" + }, { "name": "UpdateHTTPWebPagesRequest", "code": "message UpdateHTTPWebPagesRequest {\n\tint64 httpWebId = 1;\n\tbytes pagesJSON = 2;\n}", diff --git a/go.mod b/go.mod index 7c4bb3d..c4c2d3b 100644 --- a/go.mod +++ b/go.mod @@ -5,6 +5,7 @@ go 1.18 require ( github.com/golang/protobuf v1.5.2 github.com/iwind/TeaGo v0.0.0-20230623080147-cd1e53b4915f + github.com/tdewolff/minify/v2 v2.12.7 golang.org/x/net v0.8.0 google.golang.org/grpc v1.45.0 google.golang.org/protobuf v1.27.1 @@ -12,6 +13,8 @@ require ( ) require ( + github.com/kr/text v0.2.0 // indirect + github.com/tdewolff/parse/v2 v2.6.6 // indirect golang.org/x/sys v0.6.0 // indirect golang.org/x/text v0.8.0 // indirect google.golang.org/genproto v0.0.0-20220317150908-0efb43f6373e // indirect diff --git a/go.sum b/go.sum index efb0c0c..6e40b8b 100644 --- a/go.sum +++ b/go.sum @@ -1,13 +1,10 @@ cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= -dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= -github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo= -github.com/DataDog/sketches-go v0.0.0-20190923095040-43f19ad77ff7/go.mod h1:Q5DbzQ+3AkgGwymQO7aZFNP7ns2lZKGtvRBzRXfdi60= github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY= -github.com/benbjohnson/clock v1.0.3/go.mod h1:bGMdMPoPVvcYyt1gHDf4J2KE153Yf9BuiUKYMaxlTDM= github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= +github.com/cheekybits/is v0.0.0-20150225183255-68e9c0620927/go.mod h1:h/aW8ynjgkuj+NQRlZcDbAbM1ORAbXjXX77sX7T289U= 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/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= @@ -15,21 +12,18 @@ github.com/cncf/udpa/go v0.0.0-20210930031921-04548b0d99d4/go.mod h1:6pvJx4me5XP github.com/cncf/xds/go v0.0.0-20210805033703-aa0b78936158/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= github.com/cncf/xds/go v0.0.0-20210922020428-25de7278fc84/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= github.com/cncf/xds/go v0.0.0-20211011173535-cb28da3451f1/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= +github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= 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/dgryski/go-rendezvous v0.0.0-20200624174652-8d2f3be8b2d9/go.mod h1:cuUVRXasLTGF7a8hSLbxyZXjz+1KgoB3wDUb6vlszIc= +github.com/djherbis/atime v1.1.0/go.mod h1:28OF6Y8s3NQWwacXc5eZTsEsiMzp7LF8MbXE+XJPdBE= +github.com/dustin/go-humanize v1.0.1/go.mod h1:Mu1zIs6XwVuF/gI1OepvI0qD18qycQx+mFykh5fBlto= 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.9.9-0.20201210154907-fd9021fe5dad/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk= github.com/envoyproxy/go-control-plane v0.9.10-0.20210907150352-cf90f659a021/go.mod h1:AFq3mo9L8Lqqiid3OhADV3RfLJnjiw63cSpi+fDTRC0= github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= -github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo= -github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ= +github.com/fsnotify/fsnotify v1.6.0/go.mod h1:sl3t1tCWJFWoRz9R8WJCbQihKKwmorjAbSClcnxKAGw= github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= -github.com/go-gl/glfw/v3.3/glfw v0.0.0-20200222043503-6f7a984d4dc4/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= -github.com/go-redis/redis/v8 v8.0.0-beta.7/go.mod h1:FGJAWDWFht1sQ4qxyJHZZbVyvnVcKQN0E3u5/5lRz+g= -github.com/go-sql-driver/mysql v1.5.0/go.mod h1:DCzpHaOWr8IXmIStZouvnhqoel9Qv2LBy8hT2VhHyBg= github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= @@ -53,66 +47,41 @@ github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/ github.com/google/go-cmp v0.5.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.5 h1:Khx7svrCpmxxtHBq5j2mp/xVjsi8hQMfNLvJFAlrGgU= github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/grpc-ecosystem/grpc-gateway v1.16.0/go.mod h1:BDjrQk3hbvj6Nolgz8mAMFbcEtjT1g+wF4CSlocrBnw= -github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU= -github.com/iwind/TeaGo v0.0.0-20220304043459-0dd944a5b475 h1:EseyfFaQOjWanGiby9KMw7PjDBMg/95tLDgIw/ns0Cw= -github.com/iwind/TeaGo v0.0.0-20220304043459-0dd944a5b475/go.mod h1:HRHK0zoC/og3c9/hKosD9yYVMTnnzm3PgXUdhRYHaLc= github.com/iwind/TeaGo v0.0.0-20230623080147-cd1e53b4915f h1:xo6XmXLtveKcwcZAXV6VMxkWNzy/2dStfHEnyowsGAE= github.com/iwind/TeaGo v0.0.0-20230623080147-cd1e53b4915f/go.mod h1:fi/Pq+/5m2HZoseM+39dMF57ANXRt6w4PkGu3NXPc5s= -github.com/json-iterator/go v1.1.10/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= -github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= -github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= -github.com/kr/text v0.1.0 h1:45sCR5RtlFHMR4UwH9sdQ5TC8v0qDQCHnXt+kaKSTVE= -github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= -github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= -github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= -github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e h1:fD57ERR4JtEqsWbfPhv4DMiApHyliiK5xCTNVSPiaAs= -github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLANZcx1PVRCS0qkT7pwLkGfwJo4zjcN/Tysno= -github.com/nxadm/tail v1.4.4/go.mod h1:kenIhsEOeOJmVchQTgglprH7qJGnHDVpk1VPCcaMI8A= -github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= -github.com/onsi/ginkgo v1.10.1/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= -github.com/onsi/ginkgo v1.12.1/go.mod h1:zj2OWP4+oCPe1qIXoGWkgMRwljMUYCdkwsT2108oapk= -github.com/onsi/ginkgo v1.14.0/go.mod h1:iSB4RoI2tjJc9BBv4NKIKWKya62Rps+oPG/Lv9klQyY= -github.com/onsi/gomega v1.7.0/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY= -github.com/onsi/gomega v1.7.1/go.mod h1:XdKZgCCFLUoM/7CFJVPcG8C1xQ1AJ0vpAezJrB7JYyY= -github.com/onsi/gomega v1.10.1/go.mod h1:iN09h71vgCQne3DLsj+A5owkum+a2tYe+TOCB1ybHNo= -github.com/opentracing/opentracing-go v1.1.1-0.20190913142402-a7454ce5950e/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o= +github.com/kr/pretty v0.1.0 h1:L/CwN0zerZDmRFUapSPitk6f+Q3+0za1rQkzVuMiMFI= +github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= +github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= +github.com/matryer/try v0.0.0-20161228173917-9ac251b645a2/go.mod h1:0KeJpeMD6o+O4hW7qJOT7vyQPKrWmj26uf5wMc/IiIs= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ= +github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= -github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA= -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= -go.opentelemetry.io/otel v0.7.0/go.mod h1:aZMyHG5TqDOXEgH2tyLiXSUKly1jT3yqE9PmrzIeCdo= +github.com/tdewolff/minify/v2 v2.12.7 h1:pBzz2tAfz5VghOXiQIsSta6srhmTeinQPjRDHWoumCA= +github.com/tdewolff/minify/v2 v2.12.7/go.mod h1:ZRKTheiOGyLSK8hOZWWv+YoJAECzDivNgAlVYDHp/Ws= +github.com/tdewolff/parse/v2 v2.6.6 h1:Yld+0CrKUJaCV78DL1G2nk3C9lKrxyRTux5aaK/AkDo= +github.com/tdewolff/parse/v2 v2.6.6/go.mod h1:woz0cgbLwFdtbjJu8PIKxhW05KplTFQkOdX78o+Jgrs= +github.com/tdewolff/test v1.0.7/go.mod h1:6DAvZliBAAnD7rhVgwaM7DE5/d9NMOAJ09SqYqeK4QE= +github.com/tdewolff/test v1.0.9 h1:SswqJCmeN4B+9gEAi/5uqT0qpi1y2/2O47V/1hhGZT0= +github.com/tdewolff/test v1.0.9/go.mod h1:6DAvZliBAAnD7rhVgwaM7DE5/d9NMOAJ09SqYqeK4QE= go.opentelemetry.io/proto/otlp v0.7.0/go.mod h1:PqfVotwruBrMGOCsRd/89rSnXhoiJIqeYNgFYFoEGnI= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= -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/exp v0.0.0-20190121172915-509febef88a4/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-20200513190911-00229845015e/go.mod h1:4M0jN8W1tt0AVLNr8HDosyJCDCDuyL9N9+3m7wDWgKw= -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/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= -golang.org/x/mobile v0.0.0-20190719004257-d2bd2a29d028/go.mod h1:E/iHnbuqvinMTCcRqshq8CkpyQDoeVncDDYHnLhea+o= -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/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-20190108225652-1e06a53dbb7e/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-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20190923162816-aa69164e4478/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200520004742-59133d7f0dd7/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= golang.org/x/net v0.0.0-20200822124328-c89045814202/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM= golang.org/x/net v0.8.0 h1:Zrh2ngAOFYneWTAIAPethzeaQLuHwhuBkuV6ZiRnUaQ= @@ -124,25 +93,17 @@ golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJ golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/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-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-20190904154756-749cb33beabd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191001151750-bb3f8db39f24/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191005200804-aed5e4c7ecf9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191010194322-b09406accb47/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191120155948-bd437916bb0e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200519105757-fe76b779f299/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/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-20220908164124-27713097b956/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0 h1:MVltZSvRTcU2ljQOhs94SXPftV6DCNnZViHeQps87pQ= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/text v0.3.0/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.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.8.0 h1:57P1ETyNKtuIjB4SRd15iJxuhj8Gc416Y78H3qgMh68= @@ -152,8 +113,6 @@ golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGm 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-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= -golang.org/x/tools v0.0.0-20200207183749-b753a1ba74fa/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -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 h1:go1bK/D/BFZV2I8cIQd1NKEZ+0owSTG1fDTci4IqFcE= golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= @@ -161,7 +120,6 @@ google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9Ywl google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= -google.golang.org/genproto v0.0.0-20191009194640-548a555dbc03/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= google.golang.org/genproto v0.0.0-20200513103714-09dca8ec2884/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo= google.golang.org/genproto v0.0.0-20220317150908-0efb43f6373e h1:fNKDNuUyC4WH+inqDMpfXDdfvwfYILbsX+oskGZ8hxg= @@ -170,7 +128,6 @@ google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZi 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.30.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= google.golang.org/grpc v1.33.1/go.mod h1:fr5YgcSWrqhRRxogOsw7RzIpsmvOZ6IcH4kBYTpR3n0= google.golang.org/grpc v1.36.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= google.golang.org/grpc v1.45.0 h1:NEpgUqV3Z+ZjkqMsxMg11IaDrXY4RY6CQukSGK0uI1M= @@ -189,20 +146,10 @@ google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQ google.golang.org/protobuf v1.27.1 h1:SnqbnDw1V7RiZcXPx5MEeqPv2s79L9i7BJUlG/+RurQ= google.golang.org/protobuf v1.27.1/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f h1:BLraFXnmrev5lT+xlilqcH8XK9/i0At2xKjWk4p6zsU= -gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys= -gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw= -gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15 h1:YR8cESwS4TdDjEe65xsg0ogRM/Nc3DYOhEAlW+xobZo= 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.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.2.7/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.3.0/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.0-20210107192922-496545a6307b h1:h8qDotaEPuJATrMmW04NCwg7v22aHH28wwpauUhK9Oo= -gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b/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= diff --git a/pkg/langs/codes/codes.go b/pkg/langs/codes/codes.go index 22cf70b..3c15dec 100644 --- a/pkg/langs/codes/codes.go +++ b/pkg/langs/codes/codes.go @@ -507,6 +507,7 @@ const ( Server_MenuSettingHTTPProxy langs.MessageCode = "server@menu_setting_http_proxy" // HTTP代理 Server_MenuSettingHTTPS langs.MessageCode = "server@menu_setting_https" // HTTPS Server_MenuSettingLocations langs.MessageCode = "server@menu_setting_locations" // 路由规则 + Server_MenuSettingOptimization langs.MessageCode = "server@menu_setting_optimization" // 页面优化 Server_MenuSettingOrigins langs.MessageCode = "server@menu_setting_origins" // 源站 Server_MenuSettingOthers langs.MessageCode = "server@menu_setting_others" // 其他设置 Server_MenuSettingPages langs.MessageCode = "server@menu_setting_pages" // 自定义页面 @@ -583,6 +584,7 @@ const ( ServerHTTPHeader_LogUpdateHTTPHeaders langs.MessageCode = "server_http_header@log_update_http_headers" // 修改Web %d 的报头设置 ServerHTTPHeader_LogUpdateSettingHeader langs.MessageCode = "server_http_header@log_update_setting_header" // 修改设置报头,HeaderId:%d, Name:%s, Value:%s ServerHTTPS_LogUpdateHTTPSSettings langs.MessageCode = "server_https@log_update_https_settings" // 修改网站 %d 的HTTPS设置 + ServerOptimization_LogUpdateOptimizationSettings langs.MessageCode = "server_optimization@log_update_optimization_settings" // 修改Web %d 的页面优化设置 ServerOrigin_LogCreateOrigin langs.MessageCode = "server_origin@log_create_origin" // 创建源站 %d ServerOrigin_LogDeleteOrigin langs.MessageCode = "server_origin@log_delete_origin" // 删除源站 %d ServerOrigin_LogUpdateOrigin langs.MessageCode = "server_origin@log_update_origin" // 修改源站 %d diff --git a/pkg/langs/messages/messages_zh_cn.go b/pkg/langs/messages/messages_zh_cn.go index 80c9ed5..22e8c11 100644 --- a/pkg/langs/messages/messages_zh_cn.go +++ b/pkg/langs/messages/messages_zh_cn.go @@ -508,6 +508,7 @@ func init() { "server@menu_setting_http_proxy": "HTTP代理", "server@menu_setting_https": "HTTPS", "server@menu_setting_locations": "路由规则", + "server@menu_setting_optimization": "页面优化", "server@menu_setting_origins": "源站", "server@menu_setting_others": "其他设置", "server@menu_setting_pages": "自定义页面", @@ -584,6 +585,7 @@ func init() { "server_http_header@log_update_http_headers": "修改Web %d 的报头设置", "server_http_header@log_update_setting_header": "修改设置报头,HeaderId:%d, Name:%s, Value:%s", "server_https@log_update_https_settings": "修改网站 %d 的HTTPS设置", + "server_optimization@log_update_optimization_settings": "修改Web %d 的页面优化设置", "server_origin@log_create_origin": "创建源站 %d", "server_origin@log_delete_origin": "删除源站 %d", "server_origin@log_update_origin": "修改源站 %d", diff --git a/pkg/langs/protos/zh-cn/server.json b/pkg/langs/protos/zh-cn/server.json index 4f3369f..9d6e17e 100644 --- a/pkg/langs/protos/zh-cn/server.json +++ b/pkg/langs/protos/zh-cn/server.json @@ -36,6 +36,7 @@ "menu_setting_access_log": "访问日志", "menu_setting_stat": "统计", "menu_setting_compression": "内容压缩", + "menu_setting_optimization": "页面优化", "menu_setting_pages": "自定义页面", "menu_setting_http_headers": "HTTP报头", "menu_setting_websocket": "Websocket", diff --git a/pkg/langs/protos/zh-cn/server_optimization.json b/pkg/langs/protos/zh-cn/server_optimization.json new file mode 100644 index 0000000..7e14613 --- /dev/null +++ b/pkg/langs/protos/zh-cn/server_optimization.json @@ -0,0 +1,3 @@ +{ + "log_update_optimization_settings": "修改Web %d 的页面优化设置" +} \ No newline at end of file diff --git a/pkg/rpc/pb/service_http_web.pb.go b/pkg/rpc/pb/service_http_web.pb.go index 8435b1b..baa2f97 100644 --- a/pkg/rpc/pb/service_http_web.pb.go +++ b/pkg/rpc/pb/service_http_web.pb.go @@ -426,6 +426,62 @@ func (x *UpdateHTTPWebCompressionRequest) GetCompressionJSON() []byte { return nil } +// 更改页面优化配置 +type UpdateHTTPWebOptimizationRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + HttpWebId int64 `protobuf:"varint,1,opt,name=httpWebId,proto3" json:"httpWebId,omitempty"` + OptimizationJSON []byte `protobuf:"bytes,2,opt,name=optimizationJSON,proto3" json:"optimizationJSON,omitempty"` +} + +func (x *UpdateHTTPWebOptimizationRequest) Reset() { + *x = UpdateHTTPWebOptimizationRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_service_http_web_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UpdateHTTPWebOptimizationRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateHTTPWebOptimizationRequest) ProtoMessage() {} + +func (x *UpdateHTTPWebOptimizationRequest) ProtoReflect() protoreflect.Message { + mi := &file_service_http_web_proto_msgTypes[8] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UpdateHTTPWebOptimizationRequest.ProtoReflect.Descriptor instead. +func (*UpdateHTTPWebOptimizationRequest) Descriptor() ([]byte, []int) { + return file_service_http_web_proto_rawDescGZIP(), []int{8} +} + +func (x *UpdateHTTPWebOptimizationRequest) GetHttpWebId() int64 { + if x != nil { + return x.HttpWebId + } + return 0 +} + +func (x *UpdateHTTPWebOptimizationRequest) GetOptimizationJSON() []byte { + if x != nil { + return x.OptimizationJSON + } + return nil +} + // 更改WebP配置 type UpdateHTTPWebWebPRequest struct { state protoimpl.MessageState @@ -439,7 +495,7 @@ type UpdateHTTPWebWebPRequest struct { func (x *UpdateHTTPWebWebPRequest) Reset() { *x = UpdateHTTPWebWebPRequest{} if protoimpl.UnsafeEnabled { - mi := &file_service_http_web_proto_msgTypes[8] + mi := &file_service_http_web_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -452,7 +508,7 @@ func (x *UpdateHTTPWebWebPRequest) String() string { func (*UpdateHTTPWebWebPRequest) ProtoMessage() {} func (x *UpdateHTTPWebWebPRequest) ProtoReflect() protoreflect.Message { - mi := &file_service_http_web_proto_msgTypes[8] + mi := &file_service_http_web_proto_msgTypes[9] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -465,7 +521,7 @@ func (x *UpdateHTTPWebWebPRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateHTTPWebWebPRequest.ProtoReflect.Descriptor instead. func (*UpdateHTTPWebWebPRequest) Descriptor() ([]byte, []int) { - return file_service_http_web_proto_rawDescGZIP(), []int{8} + return file_service_http_web_proto_rawDescGZIP(), []int{9} } func (x *UpdateHTTPWebWebPRequest) GetHttpWebId() int64 { @@ -495,7 +551,7 @@ type UpdateHTTPWebRemoteAddrRequest struct { func (x *UpdateHTTPWebRemoteAddrRequest) Reset() { *x = UpdateHTTPWebRemoteAddrRequest{} if protoimpl.UnsafeEnabled { - mi := &file_service_http_web_proto_msgTypes[9] + mi := &file_service_http_web_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -508,7 +564,7 @@ func (x *UpdateHTTPWebRemoteAddrRequest) String() string { func (*UpdateHTTPWebRemoteAddrRequest) ProtoMessage() {} func (x *UpdateHTTPWebRemoteAddrRequest) ProtoReflect() protoreflect.Message { - mi := &file_service_http_web_proto_msgTypes[9] + mi := &file_service_http_web_proto_msgTypes[10] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -521,7 +577,7 @@ func (x *UpdateHTTPWebRemoteAddrRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateHTTPWebRemoteAddrRequest.ProtoReflect.Descriptor instead. func (*UpdateHTTPWebRemoteAddrRequest) Descriptor() ([]byte, []int) { - return file_service_http_web_proto_rawDescGZIP(), []int{9} + return file_service_http_web_proto_rawDescGZIP(), []int{10} } func (x *UpdateHTTPWebRemoteAddrRequest) GetHttpWebId() int64 { @@ -551,7 +607,7 @@ type UpdateHTTPWebCharsetRequest struct { func (x *UpdateHTTPWebCharsetRequest) Reset() { *x = UpdateHTTPWebCharsetRequest{} if protoimpl.UnsafeEnabled { - mi := &file_service_http_web_proto_msgTypes[10] + mi := &file_service_http_web_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -564,7 +620,7 @@ func (x *UpdateHTTPWebCharsetRequest) String() string { func (*UpdateHTTPWebCharsetRequest) ProtoMessage() {} func (x *UpdateHTTPWebCharsetRequest) ProtoReflect() protoreflect.Message { - mi := &file_service_http_web_proto_msgTypes[10] + mi := &file_service_http_web_proto_msgTypes[11] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -577,7 +633,7 @@ func (x *UpdateHTTPWebCharsetRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateHTTPWebCharsetRequest.ProtoReflect.Descriptor instead. func (*UpdateHTTPWebCharsetRequest) Descriptor() ([]byte, []int) { - return file_service_http_web_proto_rawDescGZIP(), []int{10} + return file_service_http_web_proto_rawDescGZIP(), []int{11} } func (x *UpdateHTTPWebCharsetRequest) GetHttpWebId() int64 { @@ -607,7 +663,7 @@ type UpdateHTTPWebRequestHeaderRequest struct { func (x *UpdateHTTPWebRequestHeaderRequest) Reset() { *x = UpdateHTTPWebRequestHeaderRequest{} if protoimpl.UnsafeEnabled { - mi := &file_service_http_web_proto_msgTypes[11] + mi := &file_service_http_web_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -620,7 +676,7 @@ func (x *UpdateHTTPWebRequestHeaderRequest) String() string { func (*UpdateHTTPWebRequestHeaderRequest) ProtoMessage() {} func (x *UpdateHTTPWebRequestHeaderRequest) ProtoReflect() protoreflect.Message { - mi := &file_service_http_web_proto_msgTypes[11] + mi := &file_service_http_web_proto_msgTypes[12] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -633,7 +689,7 @@ func (x *UpdateHTTPWebRequestHeaderRequest) ProtoReflect() protoreflect.Message // Deprecated: Use UpdateHTTPWebRequestHeaderRequest.ProtoReflect.Descriptor instead. func (*UpdateHTTPWebRequestHeaderRequest) Descriptor() ([]byte, []int) { - return file_service_http_web_proto_rawDescGZIP(), []int{11} + return file_service_http_web_proto_rawDescGZIP(), []int{12} } func (x *UpdateHTTPWebRequestHeaderRequest) GetHttpWebId() int64 { @@ -663,7 +719,7 @@ type UpdateHTTPWebResponseHeaderRequest struct { func (x *UpdateHTTPWebResponseHeaderRequest) Reset() { *x = UpdateHTTPWebResponseHeaderRequest{} if protoimpl.UnsafeEnabled { - mi := &file_service_http_web_proto_msgTypes[12] + mi := &file_service_http_web_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -676,7 +732,7 @@ func (x *UpdateHTTPWebResponseHeaderRequest) String() string { func (*UpdateHTTPWebResponseHeaderRequest) ProtoMessage() {} func (x *UpdateHTTPWebResponseHeaderRequest) ProtoReflect() protoreflect.Message { - mi := &file_service_http_web_proto_msgTypes[12] + mi := &file_service_http_web_proto_msgTypes[13] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -689,7 +745,7 @@ func (x *UpdateHTTPWebResponseHeaderRequest) ProtoReflect() protoreflect.Message // Deprecated: Use UpdateHTTPWebResponseHeaderRequest.ProtoReflect.Descriptor instead. func (*UpdateHTTPWebResponseHeaderRequest) Descriptor() ([]byte, []int) { - return file_service_http_web_proto_rawDescGZIP(), []int{12} + return file_service_http_web_proto_rawDescGZIP(), []int{13} } func (x *UpdateHTTPWebResponseHeaderRequest) GetHttpWebId() int64 { @@ -719,7 +775,7 @@ type UpdateHTTPWebShutdownRequest struct { func (x *UpdateHTTPWebShutdownRequest) Reset() { *x = UpdateHTTPWebShutdownRequest{} if protoimpl.UnsafeEnabled { - mi := &file_service_http_web_proto_msgTypes[13] + mi := &file_service_http_web_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -732,7 +788,7 @@ func (x *UpdateHTTPWebShutdownRequest) String() string { func (*UpdateHTTPWebShutdownRequest) ProtoMessage() {} func (x *UpdateHTTPWebShutdownRequest) ProtoReflect() protoreflect.Message { - mi := &file_service_http_web_proto_msgTypes[13] + mi := &file_service_http_web_proto_msgTypes[14] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -745,7 +801,7 @@ func (x *UpdateHTTPWebShutdownRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateHTTPWebShutdownRequest.ProtoReflect.Descriptor instead. func (*UpdateHTTPWebShutdownRequest) Descriptor() ([]byte, []int) { - return file_service_http_web_proto_rawDescGZIP(), []int{13} + return file_service_http_web_proto_rawDescGZIP(), []int{14} } func (x *UpdateHTTPWebShutdownRequest) GetHttpWebId() int64 { @@ -775,7 +831,7 @@ type UpdateHTTPWebPagesRequest struct { func (x *UpdateHTTPWebPagesRequest) Reset() { *x = UpdateHTTPWebPagesRequest{} if protoimpl.UnsafeEnabled { - mi := &file_service_http_web_proto_msgTypes[14] + mi := &file_service_http_web_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -788,7 +844,7 @@ func (x *UpdateHTTPWebPagesRequest) String() string { func (*UpdateHTTPWebPagesRequest) ProtoMessage() {} func (x *UpdateHTTPWebPagesRequest) ProtoReflect() protoreflect.Message { - mi := &file_service_http_web_proto_msgTypes[14] + mi := &file_service_http_web_proto_msgTypes[15] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -801,7 +857,7 @@ func (x *UpdateHTTPWebPagesRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateHTTPWebPagesRequest.ProtoReflect.Descriptor instead. func (*UpdateHTTPWebPagesRequest) Descriptor() ([]byte, []int) { - return file_service_http_web_proto_rawDescGZIP(), []int{14} + return file_service_http_web_proto_rawDescGZIP(), []int{15} } func (x *UpdateHTTPWebPagesRequest) GetHttpWebId() int64 { @@ -831,7 +887,7 @@ type UpdateHTTPWebAccessLogRequest struct { func (x *UpdateHTTPWebAccessLogRequest) Reset() { *x = UpdateHTTPWebAccessLogRequest{} if protoimpl.UnsafeEnabled { - mi := &file_service_http_web_proto_msgTypes[15] + mi := &file_service_http_web_proto_msgTypes[16] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -844,7 +900,7 @@ func (x *UpdateHTTPWebAccessLogRequest) String() string { func (*UpdateHTTPWebAccessLogRequest) ProtoMessage() {} func (x *UpdateHTTPWebAccessLogRequest) ProtoReflect() protoreflect.Message { - mi := &file_service_http_web_proto_msgTypes[15] + mi := &file_service_http_web_proto_msgTypes[16] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -857,7 +913,7 @@ func (x *UpdateHTTPWebAccessLogRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateHTTPWebAccessLogRequest.ProtoReflect.Descriptor instead. func (*UpdateHTTPWebAccessLogRequest) Descriptor() ([]byte, []int) { - return file_service_http_web_proto_rawDescGZIP(), []int{15} + return file_service_http_web_proto_rawDescGZIP(), []int{16} } func (x *UpdateHTTPWebAccessLogRequest) GetHttpWebId() int64 { @@ -887,7 +943,7 @@ type UpdateHTTPWebStatRequest struct { func (x *UpdateHTTPWebStatRequest) Reset() { *x = UpdateHTTPWebStatRequest{} if protoimpl.UnsafeEnabled { - mi := &file_service_http_web_proto_msgTypes[16] + mi := &file_service_http_web_proto_msgTypes[17] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -900,7 +956,7 @@ func (x *UpdateHTTPWebStatRequest) String() string { func (*UpdateHTTPWebStatRequest) ProtoMessage() {} func (x *UpdateHTTPWebStatRequest) ProtoReflect() protoreflect.Message { - mi := &file_service_http_web_proto_msgTypes[16] + mi := &file_service_http_web_proto_msgTypes[17] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -913,7 +969,7 @@ func (x *UpdateHTTPWebStatRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateHTTPWebStatRequest.ProtoReflect.Descriptor instead. func (*UpdateHTTPWebStatRequest) Descriptor() ([]byte, []int) { - return file_service_http_web_proto_rawDescGZIP(), []int{16} + return file_service_http_web_proto_rawDescGZIP(), []int{17} } func (x *UpdateHTTPWebStatRequest) GetHttpWebId() int64 { @@ -943,7 +999,7 @@ type UpdateHTTPWebCacheRequest struct { func (x *UpdateHTTPWebCacheRequest) Reset() { *x = UpdateHTTPWebCacheRequest{} if protoimpl.UnsafeEnabled { - mi := &file_service_http_web_proto_msgTypes[17] + mi := &file_service_http_web_proto_msgTypes[18] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -956,7 +1012,7 @@ func (x *UpdateHTTPWebCacheRequest) String() string { func (*UpdateHTTPWebCacheRequest) ProtoMessage() {} func (x *UpdateHTTPWebCacheRequest) ProtoReflect() protoreflect.Message { - mi := &file_service_http_web_proto_msgTypes[17] + mi := &file_service_http_web_proto_msgTypes[18] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -969,7 +1025,7 @@ func (x *UpdateHTTPWebCacheRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateHTTPWebCacheRequest.ProtoReflect.Descriptor instead. func (*UpdateHTTPWebCacheRequest) Descriptor() ([]byte, []int) { - return file_service_http_web_proto_rawDescGZIP(), []int{17} + return file_service_http_web_proto_rawDescGZIP(), []int{18} } func (x *UpdateHTTPWebCacheRequest) GetHttpWebId() int64 { @@ -999,7 +1055,7 @@ type UpdateHTTPWebFirewallRequest struct { func (x *UpdateHTTPWebFirewallRequest) Reset() { *x = UpdateHTTPWebFirewallRequest{} if protoimpl.UnsafeEnabled { - mi := &file_service_http_web_proto_msgTypes[18] + mi := &file_service_http_web_proto_msgTypes[19] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1012,7 +1068,7 @@ func (x *UpdateHTTPWebFirewallRequest) String() string { func (*UpdateHTTPWebFirewallRequest) ProtoMessage() {} func (x *UpdateHTTPWebFirewallRequest) ProtoReflect() protoreflect.Message { - mi := &file_service_http_web_proto_msgTypes[18] + mi := &file_service_http_web_proto_msgTypes[19] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1025,7 +1081,7 @@ func (x *UpdateHTTPWebFirewallRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateHTTPWebFirewallRequest.ProtoReflect.Descriptor instead. func (*UpdateHTTPWebFirewallRequest) Descriptor() ([]byte, []int) { - return file_service_http_web_proto_rawDescGZIP(), []int{18} + return file_service_http_web_proto_rawDescGZIP(), []int{19} } func (x *UpdateHTTPWebFirewallRequest) GetHttpWebId() int64 { @@ -1055,7 +1111,7 @@ type UpdateHTTPWebLocationsRequest struct { func (x *UpdateHTTPWebLocationsRequest) Reset() { *x = UpdateHTTPWebLocationsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_service_http_web_proto_msgTypes[19] + mi := &file_service_http_web_proto_msgTypes[20] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1068,7 +1124,7 @@ func (x *UpdateHTTPWebLocationsRequest) String() string { func (*UpdateHTTPWebLocationsRequest) ProtoMessage() {} func (x *UpdateHTTPWebLocationsRequest) ProtoReflect() protoreflect.Message { - mi := &file_service_http_web_proto_msgTypes[19] + mi := &file_service_http_web_proto_msgTypes[20] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1081,7 +1137,7 @@ func (x *UpdateHTTPWebLocationsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateHTTPWebLocationsRequest.ProtoReflect.Descriptor instead. func (*UpdateHTTPWebLocationsRequest) Descriptor() ([]byte, []int) { - return file_service_http_web_proto_rawDescGZIP(), []int{19} + return file_service_http_web_proto_rawDescGZIP(), []int{20} } func (x *UpdateHTTPWebLocationsRequest) GetHttpWebId() int64 { @@ -1111,7 +1167,7 @@ type UpdateHTTPWebRedirectToHTTPSRequest struct { func (x *UpdateHTTPWebRedirectToHTTPSRequest) Reset() { *x = UpdateHTTPWebRedirectToHTTPSRequest{} if protoimpl.UnsafeEnabled { - mi := &file_service_http_web_proto_msgTypes[20] + mi := &file_service_http_web_proto_msgTypes[21] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1124,7 +1180,7 @@ func (x *UpdateHTTPWebRedirectToHTTPSRequest) String() string { func (*UpdateHTTPWebRedirectToHTTPSRequest) ProtoMessage() {} func (x *UpdateHTTPWebRedirectToHTTPSRequest) ProtoReflect() protoreflect.Message { - mi := &file_service_http_web_proto_msgTypes[20] + mi := &file_service_http_web_proto_msgTypes[21] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1137,7 +1193,7 @@ func (x *UpdateHTTPWebRedirectToHTTPSRequest) ProtoReflect() protoreflect.Messag // Deprecated: Use UpdateHTTPWebRedirectToHTTPSRequest.ProtoReflect.Descriptor instead. func (*UpdateHTTPWebRedirectToHTTPSRequest) Descriptor() ([]byte, []int) { - return file_service_http_web_proto_rawDescGZIP(), []int{20} + return file_service_http_web_proto_rawDescGZIP(), []int{21} } func (x *UpdateHTTPWebRedirectToHTTPSRequest) GetHttpWebId() int64 { @@ -1167,7 +1223,7 @@ type UpdateHTTPWebWebsocketRequest struct { func (x *UpdateHTTPWebWebsocketRequest) Reset() { *x = UpdateHTTPWebWebsocketRequest{} if protoimpl.UnsafeEnabled { - mi := &file_service_http_web_proto_msgTypes[21] + mi := &file_service_http_web_proto_msgTypes[22] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1180,7 +1236,7 @@ func (x *UpdateHTTPWebWebsocketRequest) String() string { func (*UpdateHTTPWebWebsocketRequest) ProtoMessage() {} func (x *UpdateHTTPWebWebsocketRequest) ProtoReflect() protoreflect.Message { - mi := &file_service_http_web_proto_msgTypes[21] + mi := &file_service_http_web_proto_msgTypes[22] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1193,7 +1249,7 @@ func (x *UpdateHTTPWebWebsocketRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateHTTPWebWebsocketRequest.ProtoReflect.Descriptor instead. func (*UpdateHTTPWebWebsocketRequest) Descriptor() ([]byte, []int) { - return file_service_http_web_proto_rawDescGZIP(), []int{21} + return file_service_http_web_proto_rawDescGZIP(), []int{22} } func (x *UpdateHTTPWebWebsocketRequest) GetHttpWebId() int64 { @@ -1223,7 +1279,7 @@ type UpdateHTTPWebFastcgiRequest struct { func (x *UpdateHTTPWebFastcgiRequest) Reset() { *x = UpdateHTTPWebFastcgiRequest{} if protoimpl.UnsafeEnabled { - mi := &file_service_http_web_proto_msgTypes[22] + mi := &file_service_http_web_proto_msgTypes[23] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1236,7 +1292,7 @@ func (x *UpdateHTTPWebFastcgiRequest) String() string { func (*UpdateHTTPWebFastcgiRequest) ProtoMessage() {} func (x *UpdateHTTPWebFastcgiRequest) ProtoReflect() protoreflect.Message { - mi := &file_service_http_web_proto_msgTypes[22] + mi := &file_service_http_web_proto_msgTypes[23] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1249,7 +1305,7 @@ func (x *UpdateHTTPWebFastcgiRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateHTTPWebFastcgiRequest.ProtoReflect.Descriptor instead. func (*UpdateHTTPWebFastcgiRequest) Descriptor() ([]byte, []int) { - return file_service_http_web_proto_rawDescGZIP(), []int{22} + return file_service_http_web_proto_rawDescGZIP(), []int{23} } func (x *UpdateHTTPWebFastcgiRequest) GetHttpWebId() int64 { @@ -1279,7 +1335,7 @@ type UpdateHTTPWebRewriteRulesRequest struct { func (x *UpdateHTTPWebRewriteRulesRequest) Reset() { *x = UpdateHTTPWebRewriteRulesRequest{} if protoimpl.UnsafeEnabled { - mi := &file_service_http_web_proto_msgTypes[23] + mi := &file_service_http_web_proto_msgTypes[24] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1292,7 +1348,7 @@ func (x *UpdateHTTPWebRewriteRulesRequest) String() string { func (*UpdateHTTPWebRewriteRulesRequest) ProtoMessage() {} func (x *UpdateHTTPWebRewriteRulesRequest) ProtoReflect() protoreflect.Message { - mi := &file_service_http_web_proto_msgTypes[23] + mi := &file_service_http_web_proto_msgTypes[24] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1305,7 +1361,7 @@ func (x *UpdateHTTPWebRewriteRulesRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateHTTPWebRewriteRulesRequest.ProtoReflect.Descriptor instead. func (*UpdateHTTPWebRewriteRulesRequest) Descriptor() ([]byte, []int) { - return file_service_http_web_proto_rawDescGZIP(), []int{23} + return file_service_http_web_proto_rawDescGZIP(), []int{24} } func (x *UpdateHTTPWebRewriteRulesRequest) GetHttpWebId() int64 { @@ -1335,7 +1391,7 @@ type UpdateHTTPWebHostRedirectsRequest struct { func (x *UpdateHTTPWebHostRedirectsRequest) Reset() { *x = UpdateHTTPWebHostRedirectsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_service_http_web_proto_msgTypes[24] + mi := &file_service_http_web_proto_msgTypes[25] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1348,7 +1404,7 @@ func (x *UpdateHTTPWebHostRedirectsRequest) String() string { func (*UpdateHTTPWebHostRedirectsRequest) ProtoMessage() {} func (x *UpdateHTTPWebHostRedirectsRequest) ProtoReflect() protoreflect.Message { - mi := &file_service_http_web_proto_msgTypes[24] + mi := &file_service_http_web_proto_msgTypes[25] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1361,7 +1417,7 @@ func (x *UpdateHTTPWebHostRedirectsRequest) ProtoReflect() protoreflect.Message // Deprecated: Use UpdateHTTPWebHostRedirectsRequest.ProtoReflect.Descriptor instead. func (*UpdateHTTPWebHostRedirectsRequest) Descriptor() ([]byte, []int) { - return file_service_http_web_proto_rawDescGZIP(), []int{24} + return file_service_http_web_proto_rawDescGZIP(), []int{25} } func (x *UpdateHTTPWebHostRedirectsRequest) GetHttpWebId() int64 { @@ -1390,7 +1446,7 @@ type FindHTTPWebHostRedirectsRequest struct { func (x *FindHTTPWebHostRedirectsRequest) Reset() { *x = FindHTTPWebHostRedirectsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_service_http_web_proto_msgTypes[25] + mi := &file_service_http_web_proto_msgTypes[26] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1403,7 +1459,7 @@ func (x *FindHTTPWebHostRedirectsRequest) String() string { func (*FindHTTPWebHostRedirectsRequest) ProtoMessage() {} func (x *FindHTTPWebHostRedirectsRequest) ProtoReflect() protoreflect.Message { - mi := &file_service_http_web_proto_msgTypes[25] + mi := &file_service_http_web_proto_msgTypes[26] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1416,7 +1472,7 @@ func (x *FindHTTPWebHostRedirectsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use FindHTTPWebHostRedirectsRequest.ProtoReflect.Descriptor instead. func (*FindHTTPWebHostRedirectsRequest) Descriptor() ([]byte, []int) { - return file_service_http_web_proto_rawDescGZIP(), []int{25} + return file_service_http_web_proto_rawDescGZIP(), []int{26} } func (x *FindHTTPWebHostRedirectsRequest) GetHttpWebId() int64 { @@ -1437,7 +1493,7 @@ type FindHTTPWebHostRedirectsResponse struct { func (x *FindHTTPWebHostRedirectsResponse) Reset() { *x = FindHTTPWebHostRedirectsResponse{} if protoimpl.UnsafeEnabled { - mi := &file_service_http_web_proto_msgTypes[26] + mi := &file_service_http_web_proto_msgTypes[27] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1450,7 +1506,7 @@ func (x *FindHTTPWebHostRedirectsResponse) String() string { func (*FindHTTPWebHostRedirectsResponse) ProtoMessage() {} func (x *FindHTTPWebHostRedirectsResponse) ProtoReflect() protoreflect.Message { - mi := &file_service_http_web_proto_msgTypes[26] + mi := &file_service_http_web_proto_msgTypes[27] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1463,7 +1519,7 @@ func (x *FindHTTPWebHostRedirectsResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use FindHTTPWebHostRedirectsResponse.ProtoReflect.Descriptor instead. func (*FindHTTPWebHostRedirectsResponse) Descriptor() ([]byte, []int) { - return file_service_http_web_proto_rawDescGZIP(), []int{26} + return file_service_http_web_proto_rawDescGZIP(), []int{27} } func (x *FindHTTPWebHostRedirectsResponse) GetHostRedirectsJSON() []byte { @@ -1486,7 +1542,7 @@ type UpdateHTTPWebAuthRequest struct { func (x *UpdateHTTPWebAuthRequest) Reset() { *x = UpdateHTTPWebAuthRequest{} if protoimpl.UnsafeEnabled { - mi := &file_service_http_web_proto_msgTypes[27] + mi := &file_service_http_web_proto_msgTypes[28] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1499,7 +1555,7 @@ func (x *UpdateHTTPWebAuthRequest) String() string { func (*UpdateHTTPWebAuthRequest) ProtoMessage() {} func (x *UpdateHTTPWebAuthRequest) ProtoReflect() protoreflect.Message { - mi := &file_service_http_web_proto_msgTypes[27] + mi := &file_service_http_web_proto_msgTypes[28] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1512,7 +1568,7 @@ func (x *UpdateHTTPWebAuthRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateHTTPWebAuthRequest.ProtoReflect.Descriptor instead. func (*UpdateHTTPWebAuthRequest) Descriptor() ([]byte, []int) { - return file_service_http_web_proto_rawDescGZIP(), []int{27} + return file_service_http_web_proto_rawDescGZIP(), []int{28} } func (x *UpdateHTTPWebAuthRequest) GetHttpWebId() int64 { @@ -1542,7 +1598,7 @@ type UpdateHTTPWebCommonRequest struct { func (x *UpdateHTTPWebCommonRequest) Reset() { *x = UpdateHTTPWebCommonRequest{} if protoimpl.UnsafeEnabled { - mi := &file_service_http_web_proto_msgTypes[28] + mi := &file_service_http_web_proto_msgTypes[29] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1555,7 +1611,7 @@ func (x *UpdateHTTPWebCommonRequest) String() string { func (*UpdateHTTPWebCommonRequest) ProtoMessage() {} func (x *UpdateHTTPWebCommonRequest) ProtoReflect() protoreflect.Message { - mi := &file_service_http_web_proto_msgTypes[28] + mi := &file_service_http_web_proto_msgTypes[29] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1568,7 +1624,7 @@ func (x *UpdateHTTPWebCommonRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateHTTPWebCommonRequest.ProtoReflect.Descriptor instead. func (*UpdateHTTPWebCommonRequest) Descriptor() ([]byte, []int) { - return file_service_http_web_proto_rawDescGZIP(), []int{28} + return file_service_http_web_proto_rawDescGZIP(), []int{29} } func (x *UpdateHTTPWebCommonRequest) GetHttpWebId() int64 { @@ -1598,7 +1654,7 @@ type UpdateHTTPWebRequestLimitRequest struct { func (x *UpdateHTTPWebRequestLimitRequest) Reset() { *x = UpdateHTTPWebRequestLimitRequest{} if protoimpl.UnsafeEnabled { - mi := &file_service_http_web_proto_msgTypes[29] + mi := &file_service_http_web_proto_msgTypes[30] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1611,7 +1667,7 @@ func (x *UpdateHTTPWebRequestLimitRequest) String() string { func (*UpdateHTTPWebRequestLimitRequest) ProtoMessage() {} func (x *UpdateHTTPWebRequestLimitRequest) ProtoReflect() protoreflect.Message { - mi := &file_service_http_web_proto_msgTypes[29] + mi := &file_service_http_web_proto_msgTypes[30] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1624,7 +1680,7 @@ func (x *UpdateHTTPWebRequestLimitRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateHTTPWebRequestLimitRequest.ProtoReflect.Descriptor instead. func (*UpdateHTTPWebRequestLimitRequest) Descriptor() ([]byte, []int) { - return file_service_http_web_proto_rawDescGZIP(), []int{29} + return file_service_http_web_proto_rawDescGZIP(), []int{30} } func (x *UpdateHTTPWebRequestLimitRequest) GetHttpWebId() int64 { @@ -1653,7 +1709,7 @@ type FindHTTPWebRequestLimitRequest struct { func (x *FindHTTPWebRequestLimitRequest) Reset() { *x = FindHTTPWebRequestLimitRequest{} if protoimpl.UnsafeEnabled { - mi := &file_service_http_web_proto_msgTypes[30] + mi := &file_service_http_web_proto_msgTypes[31] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1666,7 +1722,7 @@ func (x *FindHTTPWebRequestLimitRequest) String() string { func (*FindHTTPWebRequestLimitRequest) ProtoMessage() {} func (x *FindHTTPWebRequestLimitRequest) ProtoReflect() protoreflect.Message { - mi := &file_service_http_web_proto_msgTypes[30] + mi := &file_service_http_web_proto_msgTypes[31] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1679,7 +1735,7 @@ func (x *FindHTTPWebRequestLimitRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use FindHTTPWebRequestLimitRequest.ProtoReflect.Descriptor instead. func (*FindHTTPWebRequestLimitRequest) Descriptor() ([]byte, []int) { - return file_service_http_web_proto_rawDescGZIP(), []int{30} + return file_service_http_web_proto_rawDescGZIP(), []int{31} } func (x *FindHTTPWebRequestLimitRequest) GetHttpWebId() int64 { @@ -1700,7 +1756,7 @@ type FindHTTPWebRequestLimitResponse struct { func (x *FindHTTPWebRequestLimitResponse) Reset() { *x = FindHTTPWebRequestLimitResponse{} if protoimpl.UnsafeEnabled { - mi := &file_service_http_web_proto_msgTypes[31] + mi := &file_service_http_web_proto_msgTypes[32] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1713,7 +1769,7 @@ func (x *FindHTTPWebRequestLimitResponse) String() string { func (*FindHTTPWebRequestLimitResponse) ProtoMessage() {} func (x *FindHTTPWebRequestLimitResponse) ProtoReflect() protoreflect.Message { - mi := &file_service_http_web_proto_msgTypes[31] + mi := &file_service_http_web_proto_msgTypes[32] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1726,7 +1782,7 @@ func (x *FindHTTPWebRequestLimitResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use FindHTTPWebRequestLimitResponse.ProtoReflect.Descriptor instead. func (*FindHTTPWebRequestLimitResponse) Descriptor() ([]byte, []int) { - return file_service_http_web_proto_rawDescGZIP(), []int{31} + return file_service_http_web_proto_rawDescGZIP(), []int{32} } func (x *FindHTTPWebRequestLimitResponse) GetRequestLimitJSON() []byte { @@ -1749,7 +1805,7 @@ type UpdateHTTPWebRequestScriptsRequest struct { func (x *UpdateHTTPWebRequestScriptsRequest) Reset() { *x = UpdateHTTPWebRequestScriptsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_service_http_web_proto_msgTypes[32] + mi := &file_service_http_web_proto_msgTypes[33] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1762,7 +1818,7 @@ func (x *UpdateHTTPWebRequestScriptsRequest) String() string { func (*UpdateHTTPWebRequestScriptsRequest) ProtoMessage() {} func (x *UpdateHTTPWebRequestScriptsRequest) ProtoReflect() protoreflect.Message { - mi := &file_service_http_web_proto_msgTypes[32] + mi := &file_service_http_web_proto_msgTypes[33] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1775,7 +1831,7 @@ func (x *UpdateHTTPWebRequestScriptsRequest) ProtoReflect() protoreflect.Message // Deprecated: Use UpdateHTTPWebRequestScriptsRequest.ProtoReflect.Descriptor instead. func (*UpdateHTTPWebRequestScriptsRequest) Descriptor() ([]byte, []int) { - return file_service_http_web_proto_rawDescGZIP(), []int{32} + return file_service_http_web_proto_rawDescGZIP(), []int{33} } func (x *UpdateHTTPWebRequestScriptsRequest) GetHttpWebId() int64 { @@ -1804,7 +1860,7 @@ type FindHTTPWebRequestScriptsRequest struct { func (x *FindHTTPWebRequestScriptsRequest) Reset() { *x = FindHTTPWebRequestScriptsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_service_http_web_proto_msgTypes[33] + mi := &file_service_http_web_proto_msgTypes[34] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1817,7 +1873,7 @@ func (x *FindHTTPWebRequestScriptsRequest) String() string { func (*FindHTTPWebRequestScriptsRequest) ProtoMessage() {} func (x *FindHTTPWebRequestScriptsRequest) ProtoReflect() protoreflect.Message { - mi := &file_service_http_web_proto_msgTypes[33] + mi := &file_service_http_web_proto_msgTypes[34] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1830,7 +1886,7 @@ func (x *FindHTTPWebRequestScriptsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use FindHTTPWebRequestScriptsRequest.ProtoReflect.Descriptor instead. func (*FindHTTPWebRequestScriptsRequest) Descriptor() ([]byte, []int) { - return file_service_http_web_proto_rawDescGZIP(), []int{33} + return file_service_http_web_proto_rawDescGZIP(), []int{34} } func (x *FindHTTPWebRequestScriptsRequest) GetHttpWebId() int64 { @@ -1851,7 +1907,7 @@ type FindHTTPWebRequestScriptsResponse struct { func (x *FindHTTPWebRequestScriptsResponse) Reset() { *x = FindHTTPWebRequestScriptsResponse{} if protoimpl.UnsafeEnabled { - mi := &file_service_http_web_proto_msgTypes[34] + mi := &file_service_http_web_proto_msgTypes[35] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1864,7 +1920,7 @@ func (x *FindHTTPWebRequestScriptsResponse) String() string { func (*FindHTTPWebRequestScriptsResponse) ProtoMessage() {} func (x *FindHTTPWebRequestScriptsResponse) ProtoReflect() protoreflect.Message { - mi := &file_service_http_web_proto_msgTypes[34] + mi := &file_service_http_web_proto_msgTypes[35] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1877,7 +1933,7 @@ func (x *FindHTTPWebRequestScriptsResponse) ProtoReflect() protoreflect.Message // Deprecated: Use FindHTTPWebRequestScriptsResponse.ProtoReflect.Descriptor instead. func (*FindHTTPWebRequestScriptsResponse) Descriptor() ([]byte, []int) { - return file_service_http_web_proto_rawDescGZIP(), []int{34} + return file_service_http_web_proto_rawDescGZIP(), []int{35} } func (x *FindHTTPWebRequestScriptsResponse) GetRequestScriptsJSON() []byte { @@ -1900,7 +1956,7 @@ type UpdateHTTPWebUAMRequest struct { func (x *UpdateHTTPWebUAMRequest) Reset() { *x = UpdateHTTPWebUAMRequest{} if protoimpl.UnsafeEnabled { - mi := &file_service_http_web_proto_msgTypes[35] + mi := &file_service_http_web_proto_msgTypes[36] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1913,7 +1969,7 @@ func (x *UpdateHTTPWebUAMRequest) String() string { func (*UpdateHTTPWebUAMRequest) ProtoMessage() {} func (x *UpdateHTTPWebUAMRequest) ProtoReflect() protoreflect.Message { - mi := &file_service_http_web_proto_msgTypes[35] + mi := &file_service_http_web_proto_msgTypes[36] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1926,7 +1982,7 @@ func (x *UpdateHTTPWebUAMRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateHTTPWebUAMRequest.ProtoReflect.Descriptor instead. func (*UpdateHTTPWebUAMRequest) Descriptor() ([]byte, []int) { - return file_service_http_web_proto_rawDescGZIP(), []int{35} + return file_service_http_web_proto_rawDescGZIP(), []int{36} } func (x *UpdateHTTPWebUAMRequest) GetHttpWebId() int64 { @@ -1955,7 +2011,7 @@ type FindHTTPWebUAMRequest struct { func (x *FindHTTPWebUAMRequest) Reset() { *x = FindHTTPWebUAMRequest{} if protoimpl.UnsafeEnabled { - mi := &file_service_http_web_proto_msgTypes[36] + mi := &file_service_http_web_proto_msgTypes[37] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1968,7 +2024,7 @@ func (x *FindHTTPWebUAMRequest) String() string { func (*FindHTTPWebUAMRequest) ProtoMessage() {} func (x *FindHTTPWebUAMRequest) ProtoReflect() protoreflect.Message { - mi := &file_service_http_web_proto_msgTypes[36] + mi := &file_service_http_web_proto_msgTypes[37] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1981,7 +2037,7 @@ func (x *FindHTTPWebUAMRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use FindHTTPWebUAMRequest.ProtoReflect.Descriptor instead. func (*FindHTTPWebUAMRequest) Descriptor() ([]byte, []int) { - return file_service_http_web_proto_rawDescGZIP(), []int{36} + return file_service_http_web_proto_rawDescGZIP(), []int{37} } func (x *FindHTTPWebUAMRequest) GetHttpWebId() int64 { @@ -2002,7 +2058,7 @@ type FindHTTPWebUAMResponse struct { func (x *FindHTTPWebUAMResponse) Reset() { *x = FindHTTPWebUAMResponse{} if protoimpl.UnsafeEnabled { - mi := &file_service_http_web_proto_msgTypes[37] + mi := &file_service_http_web_proto_msgTypes[38] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2015,7 +2071,7 @@ func (x *FindHTTPWebUAMResponse) String() string { func (*FindHTTPWebUAMResponse) ProtoMessage() {} func (x *FindHTTPWebUAMResponse) ProtoReflect() protoreflect.Message { - mi := &file_service_http_web_proto_msgTypes[37] + mi := &file_service_http_web_proto_msgTypes[38] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2028,7 +2084,7 @@ func (x *FindHTTPWebUAMResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use FindHTTPWebUAMResponse.ProtoReflect.Descriptor instead. func (*FindHTTPWebUAMResponse) Descriptor() ([]byte, []int) { - return file_service_http_web_proto_rawDescGZIP(), []int{37} + return file_service_http_web_proto_rawDescGZIP(), []int{38} } func (x *FindHTTPWebUAMResponse) GetUamJSON() []byte { @@ -2051,7 +2107,7 @@ type UpdateHTTPWebCCRequest struct { func (x *UpdateHTTPWebCCRequest) Reset() { *x = UpdateHTTPWebCCRequest{} if protoimpl.UnsafeEnabled { - mi := &file_service_http_web_proto_msgTypes[38] + mi := &file_service_http_web_proto_msgTypes[39] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2064,7 +2120,7 @@ func (x *UpdateHTTPWebCCRequest) String() string { func (*UpdateHTTPWebCCRequest) ProtoMessage() {} func (x *UpdateHTTPWebCCRequest) ProtoReflect() protoreflect.Message { - mi := &file_service_http_web_proto_msgTypes[38] + mi := &file_service_http_web_proto_msgTypes[39] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2077,7 +2133,7 @@ func (x *UpdateHTTPWebCCRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateHTTPWebCCRequest.ProtoReflect.Descriptor instead. func (*UpdateHTTPWebCCRequest) Descriptor() ([]byte, []int) { - return file_service_http_web_proto_rawDescGZIP(), []int{38} + return file_service_http_web_proto_rawDescGZIP(), []int{39} } func (x *UpdateHTTPWebCCRequest) GetHttpWebId() int64 { @@ -2106,7 +2162,7 @@ type FindHTTPWebCCRequest struct { func (x *FindHTTPWebCCRequest) Reset() { *x = FindHTTPWebCCRequest{} if protoimpl.UnsafeEnabled { - mi := &file_service_http_web_proto_msgTypes[39] + mi := &file_service_http_web_proto_msgTypes[40] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2119,7 +2175,7 @@ func (x *FindHTTPWebCCRequest) String() string { func (*FindHTTPWebCCRequest) ProtoMessage() {} func (x *FindHTTPWebCCRequest) ProtoReflect() protoreflect.Message { - mi := &file_service_http_web_proto_msgTypes[39] + mi := &file_service_http_web_proto_msgTypes[40] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2132,7 +2188,7 @@ func (x *FindHTTPWebCCRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use FindHTTPWebCCRequest.ProtoReflect.Descriptor instead. func (*FindHTTPWebCCRequest) Descriptor() ([]byte, []int) { - return file_service_http_web_proto_rawDescGZIP(), []int{39} + return file_service_http_web_proto_rawDescGZIP(), []int{40} } func (x *FindHTTPWebCCRequest) GetHttpWebId() int64 { @@ -2153,7 +2209,7 @@ type FindHTTPWebCCResponse struct { func (x *FindHTTPWebCCResponse) Reset() { *x = FindHTTPWebCCResponse{} if protoimpl.UnsafeEnabled { - mi := &file_service_http_web_proto_msgTypes[40] + mi := &file_service_http_web_proto_msgTypes[41] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2166,7 +2222,7 @@ func (x *FindHTTPWebCCResponse) String() string { func (*FindHTTPWebCCResponse) ProtoMessage() {} func (x *FindHTTPWebCCResponse) ProtoReflect() protoreflect.Message { - mi := &file_service_http_web_proto_msgTypes[40] + mi := &file_service_http_web_proto_msgTypes[41] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2179,7 +2235,7 @@ func (x *FindHTTPWebCCResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use FindHTTPWebCCResponse.ProtoReflect.Descriptor instead. func (*FindHTTPWebCCResponse) Descriptor() ([]byte, []int) { - return file_service_http_web_proto_rawDescGZIP(), []int{40} + return file_service_http_web_proto_rawDescGZIP(), []int{41} } func (x *FindHTTPWebCCResponse) GetCcJSON() []byte { @@ -2202,7 +2258,7 @@ type UpdateHTTPWebReferersRequest struct { func (x *UpdateHTTPWebReferersRequest) Reset() { *x = UpdateHTTPWebReferersRequest{} if protoimpl.UnsafeEnabled { - mi := &file_service_http_web_proto_msgTypes[41] + mi := &file_service_http_web_proto_msgTypes[42] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2215,7 +2271,7 @@ func (x *UpdateHTTPWebReferersRequest) String() string { func (*UpdateHTTPWebReferersRequest) ProtoMessage() {} func (x *UpdateHTTPWebReferersRequest) ProtoReflect() protoreflect.Message { - mi := &file_service_http_web_proto_msgTypes[41] + mi := &file_service_http_web_proto_msgTypes[42] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2228,7 +2284,7 @@ func (x *UpdateHTTPWebReferersRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateHTTPWebReferersRequest.ProtoReflect.Descriptor instead. func (*UpdateHTTPWebReferersRequest) Descriptor() ([]byte, []int) { - return file_service_http_web_proto_rawDescGZIP(), []int{41} + return file_service_http_web_proto_rawDescGZIP(), []int{42} } func (x *UpdateHTTPWebReferersRequest) GetHttpWebId() int64 { @@ -2257,7 +2313,7 @@ type FindHTTPWebReferersRequest struct { func (x *FindHTTPWebReferersRequest) Reset() { *x = FindHTTPWebReferersRequest{} if protoimpl.UnsafeEnabled { - mi := &file_service_http_web_proto_msgTypes[42] + mi := &file_service_http_web_proto_msgTypes[43] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2270,7 +2326,7 @@ func (x *FindHTTPWebReferersRequest) String() string { func (*FindHTTPWebReferersRequest) ProtoMessage() {} func (x *FindHTTPWebReferersRequest) ProtoReflect() protoreflect.Message { - mi := &file_service_http_web_proto_msgTypes[42] + mi := &file_service_http_web_proto_msgTypes[43] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2283,7 +2339,7 @@ func (x *FindHTTPWebReferersRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use FindHTTPWebReferersRequest.ProtoReflect.Descriptor instead. func (*FindHTTPWebReferersRequest) Descriptor() ([]byte, []int) { - return file_service_http_web_proto_rawDescGZIP(), []int{42} + return file_service_http_web_proto_rawDescGZIP(), []int{43} } func (x *FindHTTPWebReferersRequest) GetHttpWebId() int64 { @@ -2304,7 +2360,7 @@ type FindHTTPWebReferersResponse struct { func (x *FindHTTPWebReferersResponse) Reset() { *x = FindHTTPWebReferersResponse{} if protoimpl.UnsafeEnabled { - mi := &file_service_http_web_proto_msgTypes[43] + mi := &file_service_http_web_proto_msgTypes[44] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2317,7 +2373,7 @@ func (x *FindHTTPWebReferersResponse) String() string { func (*FindHTTPWebReferersResponse) ProtoMessage() {} func (x *FindHTTPWebReferersResponse) ProtoReflect() protoreflect.Message { - mi := &file_service_http_web_proto_msgTypes[43] + mi := &file_service_http_web_proto_msgTypes[44] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2330,7 +2386,7 @@ func (x *FindHTTPWebReferersResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use FindHTTPWebReferersResponse.ProtoReflect.Descriptor instead. func (*FindHTTPWebReferersResponse) Descriptor() ([]byte, []int) { - return file_service_http_web_proto_rawDescGZIP(), []int{43} + return file_service_http_web_proto_rawDescGZIP(), []int{44} } func (x *FindHTTPWebReferersResponse) GetReferersJSON() []byte { @@ -2353,7 +2409,7 @@ type UpdateHTTPWebUserAgentRequest struct { func (x *UpdateHTTPWebUserAgentRequest) Reset() { *x = UpdateHTTPWebUserAgentRequest{} if protoimpl.UnsafeEnabled { - mi := &file_service_http_web_proto_msgTypes[44] + mi := &file_service_http_web_proto_msgTypes[45] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2366,7 +2422,7 @@ func (x *UpdateHTTPWebUserAgentRequest) String() string { func (*UpdateHTTPWebUserAgentRequest) ProtoMessage() {} func (x *UpdateHTTPWebUserAgentRequest) ProtoReflect() protoreflect.Message { - mi := &file_service_http_web_proto_msgTypes[44] + mi := &file_service_http_web_proto_msgTypes[45] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2379,7 +2435,7 @@ func (x *UpdateHTTPWebUserAgentRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateHTTPWebUserAgentRequest.ProtoReflect.Descriptor instead. func (*UpdateHTTPWebUserAgentRequest) Descriptor() ([]byte, []int) { - return file_service_http_web_proto_rawDescGZIP(), []int{44} + return file_service_http_web_proto_rawDescGZIP(), []int{45} } func (x *UpdateHTTPWebUserAgentRequest) GetHttpWebId() int64 { @@ -2408,7 +2464,7 @@ type FindHTTPWebUserAgentRequest struct { func (x *FindHTTPWebUserAgentRequest) Reset() { *x = FindHTTPWebUserAgentRequest{} if protoimpl.UnsafeEnabled { - mi := &file_service_http_web_proto_msgTypes[45] + mi := &file_service_http_web_proto_msgTypes[46] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2421,7 +2477,7 @@ func (x *FindHTTPWebUserAgentRequest) String() string { func (*FindHTTPWebUserAgentRequest) ProtoMessage() {} func (x *FindHTTPWebUserAgentRequest) ProtoReflect() protoreflect.Message { - mi := &file_service_http_web_proto_msgTypes[45] + mi := &file_service_http_web_proto_msgTypes[46] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2434,7 +2490,7 @@ func (x *FindHTTPWebUserAgentRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use FindHTTPWebUserAgentRequest.ProtoReflect.Descriptor instead. func (*FindHTTPWebUserAgentRequest) Descriptor() ([]byte, []int) { - return file_service_http_web_proto_rawDescGZIP(), []int{45} + return file_service_http_web_proto_rawDescGZIP(), []int{46} } func (x *FindHTTPWebUserAgentRequest) GetHttpWebId() int64 { @@ -2455,7 +2511,7 @@ type FindHTTPWebUserAgentResponse struct { func (x *FindHTTPWebUserAgentResponse) Reset() { *x = FindHTTPWebUserAgentResponse{} if protoimpl.UnsafeEnabled { - mi := &file_service_http_web_proto_msgTypes[46] + mi := &file_service_http_web_proto_msgTypes[47] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2468,7 +2524,7 @@ func (x *FindHTTPWebUserAgentResponse) String() string { func (*FindHTTPWebUserAgentResponse) ProtoMessage() {} func (x *FindHTTPWebUserAgentResponse) ProtoReflect() protoreflect.Message { - mi := &file_service_http_web_proto_msgTypes[46] + mi := &file_service_http_web_proto_msgTypes[47] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2481,7 +2537,7 @@ func (x *FindHTTPWebUserAgentResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use FindHTTPWebUserAgentResponse.ProtoReflect.Descriptor instead. func (*FindHTTPWebUserAgentResponse) Descriptor() ([]byte, []int) { - return file_service_http_web_proto_rawDescGZIP(), []int{46} + return file_service_http_web_proto_rawDescGZIP(), []int{47} } func (x *FindHTTPWebUserAgentResponse) GetUserAgentJSON() []byte { @@ -2534,402 +2590,414 @@ var file_service_http_web_proto_rawDesc = []byte{ 0x68, 0x74, 0x74, 0x70, 0x57, 0x65, 0x62, 0x49, 0x64, 0x12, 0x28, 0x0a, 0x0f, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x4a, 0x53, 0x4f, 0x4e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0f, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x4a, - 0x53, 0x4f, 0x4e, 0x22, 0x54, 0x0a, 0x18, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, - 0x50, 0x57, 0x65, 0x62, 0x57, 0x65, 0x62, 0x50, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x1c, 0x0a, 0x09, 0x68, 0x74, 0x74, 0x70, 0x57, 0x65, 0x62, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x03, 0x52, 0x09, 0x68, 0x74, 0x74, 0x70, 0x57, 0x65, 0x62, 0x49, 0x64, 0x12, 0x1a, 0x0a, - 0x08, 0x77, 0x65, 0x62, 0x70, 0x4a, 0x53, 0x4f, 0x4e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, - 0x08, 0x77, 0x65, 0x62, 0x70, 0x4a, 0x53, 0x4f, 0x4e, 0x22, 0x66, 0x0a, 0x1e, 0x55, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, - 0x41, 0x64, 0x64, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x68, - 0x74, 0x74, 0x70, 0x57, 0x65, 0x62, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, - 0x68, 0x74, 0x74, 0x70, 0x57, 0x65, 0x62, 0x49, 0x64, 0x12, 0x26, 0x0a, 0x0e, 0x72, 0x65, 0x6d, - 0x6f, 0x74, 0x65, 0x41, 0x64, 0x64, 0x72, 0x4a, 0x53, 0x4f, 0x4e, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0c, 0x52, 0x0e, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x41, 0x64, 0x64, 0x72, 0x4a, 0x53, 0x4f, - 0x4e, 0x22, 0x5d, 0x0a, 0x1b, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, - 0x65, 0x62, 0x43, 0x68, 0x61, 0x72, 0x73, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x12, 0x1c, 0x0a, 0x09, 0x68, 0x74, 0x74, 0x70, 0x57, 0x65, 0x62, 0x49, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x03, 0x52, 0x09, 0x68, 0x74, 0x74, 0x70, 0x57, 0x65, 0x62, 0x49, 0x64, 0x12, 0x20, - 0x0a, 0x0b, 0x63, 0x68, 0x61, 0x72, 0x73, 0x65, 0x74, 0x4a, 0x53, 0x4f, 0x4e, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x63, 0x68, 0x61, 0x72, 0x73, 0x65, 0x74, 0x4a, 0x53, 0x4f, 0x4e, - 0x22, 0x61, 0x0a, 0x21, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, - 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x68, 0x74, 0x74, 0x70, 0x57, 0x65, 0x62, - 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x68, 0x74, 0x74, 0x70, 0x57, 0x65, - 0x62, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x4a, 0x53, 0x4f, - 0x4e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0a, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x4a, - 0x53, 0x4f, 0x4e, 0x22, 0x62, 0x0a, 0x22, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, - 0x50, 0x57, 0x65, 0x62, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x65, 0x61, 0x64, - 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x68, 0x74, 0x74, - 0x70, 0x57, 0x65, 0x62, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x68, 0x74, - 0x74, 0x70, 0x57, 0x65, 0x62, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x68, 0x65, 0x61, 0x64, 0x65, - 0x72, 0x4a, 0x53, 0x4f, 0x4e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0a, 0x68, 0x65, 0x61, - 0x64, 0x65, 0x72, 0x4a, 0x53, 0x4f, 0x4e, 0x22, 0x60, 0x0a, 0x1c, 0x55, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x53, 0x68, 0x75, 0x74, 0x64, 0x6f, 0x77, 0x6e, + 0x53, 0x4f, 0x4e, 0x22, 0x6c, 0x0a, 0x20, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, + 0x50, 0x57, 0x65, 0x62, 0x4f, 0x70, 0x74, 0x69, 0x6d, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x68, 0x74, 0x74, 0x70, 0x57, 0x65, 0x62, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x68, 0x74, 0x74, 0x70, - 0x57, 0x65, 0x62, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x73, 0x68, 0x75, 0x74, 0x64, 0x6f, 0x77, - 0x6e, 0x4a, 0x53, 0x4f, 0x4e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0c, 0x73, 0x68, 0x75, - 0x74, 0x64, 0x6f, 0x77, 0x6e, 0x4a, 0x53, 0x4f, 0x4e, 0x22, 0x57, 0x0a, 0x19, 0x55, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x50, 0x61, 0x67, 0x65, 0x73, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x68, 0x74, 0x74, 0x70, 0x57, 0x65, - 0x62, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x68, 0x74, 0x74, 0x70, 0x57, - 0x65, 0x62, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x73, 0x4a, 0x53, 0x4f, - 0x4e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x73, 0x4a, 0x53, - 0x4f, 0x4e, 0x22, 0x63, 0x0a, 0x1d, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, - 0x57, 0x65, 0x62, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x68, 0x74, 0x74, 0x70, 0x57, 0x65, 0x62, 0x49, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x68, 0x74, 0x74, 0x70, 0x57, 0x65, 0x62, 0x49, - 0x64, 0x12, 0x24, 0x0a, 0x0d, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x4a, 0x53, - 0x4f, 0x4e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0d, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, - 0x4c, 0x6f, 0x67, 0x4a, 0x53, 0x4f, 0x4e, 0x22, 0x54, 0x0a, 0x18, 0x55, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x53, 0x74, 0x61, 0x74, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x68, 0x74, 0x74, 0x70, 0x57, 0x65, 0x62, 0x49, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x68, 0x74, 0x74, 0x70, 0x57, 0x65, 0x62, 0x49, - 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x74, 0x61, 0x74, 0x4a, 0x53, 0x4f, 0x4e, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0c, 0x52, 0x08, 0x73, 0x74, 0x61, 0x74, 0x4a, 0x53, 0x4f, 0x4e, 0x22, 0x57, 0x0a, - 0x19, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x43, 0x61, - 0x63, 0x68, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x68, 0x74, - 0x74, 0x70, 0x57, 0x65, 0x62, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x68, - 0x74, 0x74, 0x70, 0x57, 0x65, 0x62, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x61, 0x63, 0x68, - 0x65, 0x4a, 0x53, 0x4f, 0x4e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x63, 0x61, 0x63, - 0x68, 0x65, 0x4a, 0x53, 0x4f, 0x4e, 0x22, 0x60, 0x0a, 0x1c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x68, 0x74, 0x74, 0x70, 0x57, 0x65, - 0x62, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x68, 0x74, 0x74, 0x70, 0x57, - 0x65, 0x62, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, - 0x4a, 0x53, 0x4f, 0x4e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0c, 0x66, 0x69, 0x72, 0x65, - 0x77, 0x61, 0x6c, 0x6c, 0x4a, 0x53, 0x4f, 0x4e, 0x22, 0x63, 0x0a, 0x1d, 0x55, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x68, 0x74, 0x74, + 0x57, 0x65, 0x62, 0x49, 0x64, 0x12, 0x2a, 0x0a, 0x10, 0x6f, 0x70, 0x74, 0x69, 0x6d, 0x69, 0x7a, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4a, 0x53, 0x4f, 0x4e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, + 0x10, 0x6f, 0x70, 0x74, 0x69, 0x6d, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4a, 0x53, 0x4f, + 0x4e, 0x22, 0x54, 0x0a, 0x18, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, + 0x65, 0x62, 0x57, 0x65, 0x62, 0x50, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1c, 0x0a, + 0x09, 0x68, 0x74, 0x74, 0x70, 0x57, 0x65, 0x62, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, + 0x52, 0x09, 0x68, 0x74, 0x74, 0x70, 0x57, 0x65, 0x62, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x77, + 0x65, 0x62, 0x70, 0x4a, 0x53, 0x4f, 0x4e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x08, 0x77, + 0x65, 0x62, 0x70, 0x4a, 0x53, 0x4f, 0x4e, 0x22, 0x66, 0x0a, 0x1e, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x41, 0x64, + 0x64, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x68, 0x74, 0x74, 0x70, 0x57, 0x65, 0x62, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x68, 0x74, - 0x74, 0x70, 0x57, 0x65, 0x62, 0x49, 0x64, 0x12, 0x24, 0x0a, 0x0d, 0x6c, 0x6f, 0x63, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x4a, 0x53, 0x4f, 0x4e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0d, - 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x4a, 0x53, 0x4f, 0x4e, 0x22, 0x75, 0x0a, - 0x23, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x52, 0x65, - 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x54, 0x6f, 0x48, 0x54, 0x54, 0x50, 0x53, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x68, 0x74, 0x74, 0x70, 0x57, 0x65, 0x62, 0x49, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x68, 0x74, 0x74, 0x70, 0x57, 0x65, 0x62, - 0x49, 0x64, 0x12, 0x30, 0x0a, 0x13, 0x72, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x54, 0x6f, - 0x48, 0x54, 0x54, 0x50, 0x53, 0x4a, 0x53, 0x4f, 0x4e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, - 0x13, 0x72, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x54, 0x6f, 0x48, 0x54, 0x54, 0x50, 0x53, - 0x4a, 0x53, 0x4f, 0x4e, 0x22, 0x63, 0x0a, 0x1d, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, - 0x54, 0x50, 0x57, 0x65, 0x62, 0x57, 0x65, 0x62, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x65, + 0x74, 0x70, 0x57, 0x65, 0x62, 0x49, 0x64, 0x12, 0x26, 0x0a, 0x0e, 0x72, 0x65, 0x6d, 0x6f, 0x74, + 0x65, 0x41, 0x64, 0x64, 0x72, 0x4a, 0x53, 0x4f, 0x4e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, + 0x0e, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x41, 0x64, 0x64, 0x72, 0x4a, 0x53, 0x4f, 0x4e, 0x22, + 0x5d, 0x0a, 0x1b, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, + 0x43, 0x68, 0x61, 0x72, 0x73, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1c, + 0x0a, 0x09, 0x68, 0x74, 0x74, 0x70, 0x57, 0x65, 0x62, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x03, 0x52, 0x09, 0x68, 0x74, 0x74, 0x70, 0x57, 0x65, 0x62, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0b, + 0x63, 0x68, 0x61, 0x72, 0x73, 0x65, 0x74, 0x4a, 0x53, 0x4f, 0x4e, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0c, 0x52, 0x0b, 0x63, 0x68, 0x61, 0x72, 0x73, 0x65, 0x74, 0x4a, 0x53, 0x4f, 0x4e, 0x22, 0x61, + 0x0a, 0x21, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x68, 0x74, 0x74, 0x70, 0x57, 0x65, 0x62, 0x49, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x68, 0x74, 0x74, 0x70, 0x57, 0x65, 0x62, 0x49, + 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x4a, 0x53, 0x4f, 0x4e, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0a, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x4a, 0x53, 0x4f, + 0x4e, 0x22, 0x62, 0x0a, 0x22, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, + 0x65, 0x62, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x68, 0x74, 0x74, 0x70, 0x57, + 0x65, 0x62, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x68, 0x74, 0x74, 0x70, + 0x57, 0x65, 0x62, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x4a, + 0x53, 0x4f, 0x4e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0a, 0x68, 0x65, 0x61, 0x64, 0x65, + 0x72, 0x4a, 0x53, 0x4f, 0x4e, 0x22, 0x60, 0x0a, 0x1c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, + 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x53, 0x68, 0x75, 0x74, 0x64, 0x6f, 0x77, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x68, 0x74, 0x74, 0x70, 0x57, 0x65, 0x62, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x68, 0x74, 0x74, 0x70, 0x57, 0x65, - 0x62, 0x49, 0x64, 0x12, 0x24, 0x0a, 0x0d, 0x77, 0x65, 0x62, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, - 0x4a, 0x53, 0x4f, 0x4e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0d, 0x77, 0x65, 0x62, 0x73, - 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x4a, 0x53, 0x4f, 0x4e, 0x22, 0x5d, 0x0a, 0x1b, 0x55, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x46, 0x61, 0x73, 0x74, 0x63, 0x67, - 0x69, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x68, 0x74, 0x74, 0x70, - 0x57, 0x65, 0x62, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x68, 0x74, 0x74, - 0x70, 0x57, 0x65, 0x62, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x66, 0x61, 0x73, 0x74, 0x63, 0x67, - 0x69, 0x4a, 0x53, 0x4f, 0x4e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x66, 0x61, 0x73, - 0x74, 0x63, 0x67, 0x69, 0x4a, 0x53, 0x4f, 0x4e, 0x22, 0x6c, 0x0a, 0x20, 0x55, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x52, 0x65, 0x77, 0x72, 0x69, 0x74, 0x65, - 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x09, - 0x68, 0x74, 0x74, 0x70, 0x57, 0x65, 0x62, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, - 0x09, 0x68, 0x74, 0x74, 0x70, 0x57, 0x65, 0x62, 0x49, 0x64, 0x12, 0x2a, 0x0a, 0x10, 0x72, 0x65, - 0x77, 0x72, 0x69, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x4a, 0x53, 0x4f, 0x4e, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x0c, 0x52, 0x10, 0x72, 0x65, 0x77, 0x72, 0x69, 0x74, 0x65, 0x52, 0x75, 0x6c, - 0x65, 0x73, 0x4a, 0x53, 0x4f, 0x4e, 0x22, 0x6f, 0x0a, 0x21, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x48, 0x6f, 0x73, 0x74, 0x52, 0x65, 0x64, 0x69, 0x72, - 0x65, 0x63, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x68, - 0x74, 0x74, 0x70, 0x57, 0x65, 0x62, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, - 0x68, 0x74, 0x74, 0x70, 0x57, 0x65, 0x62, 0x49, 0x64, 0x12, 0x2c, 0x0a, 0x11, 0x68, 0x6f, 0x73, - 0x74, 0x52, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x73, 0x4a, 0x53, 0x4f, 0x4e, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x0c, 0x52, 0x11, 0x68, 0x6f, 0x73, 0x74, 0x52, 0x65, 0x64, 0x69, 0x72, 0x65, - 0x63, 0x74, 0x73, 0x4a, 0x53, 0x4f, 0x4e, 0x22, 0x3f, 0x0a, 0x1f, 0x46, 0x69, 0x6e, 0x64, 0x48, - 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x48, 0x6f, 0x73, 0x74, 0x52, 0x65, 0x64, 0x69, 0x72, 0x65, - 0x63, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x68, 0x74, - 0x74, 0x70, 0x57, 0x65, 0x62, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x68, - 0x74, 0x74, 0x70, 0x57, 0x65, 0x62, 0x49, 0x64, 0x22, 0x50, 0x0a, 0x20, 0x46, 0x69, 0x6e, 0x64, - 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x48, 0x6f, 0x73, 0x74, 0x52, 0x65, 0x64, 0x69, 0x72, - 0x65, 0x63, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2c, 0x0a, 0x11, - 0x68, 0x6f, 0x73, 0x74, 0x52, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x73, 0x4a, 0x53, 0x4f, - 0x4e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x11, 0x68, 0x6f, 0x73, 0x74, 0x52, 0x65, 0x64, - 0x69, 0x72, 0x65, 0x63, 0x74, 0x73, 0x4a, 0x53, 0x4f, 0x4e, 0x22, 0x54, 0x0a, 0x18, 0x55, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x41, 0x75, 0x74, 0x68, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x68, 0x74, 0x74, 0x70, 0x57, 0x65, - 0x62, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x68, 0x74, 0x74, 0x70, 0x57, - 0x65, 0x62, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x61, 0x75, 0x74, 0x68, 0x4a, 0x53, 0x4f, 0x4e, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x08, 0x61, 0x75, 0x74, 0x68, 0x4a, 0x53, 0x4f, 0x4e, - 0x22, 0x5e, 0x0a, 0x1a, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, - 0x62, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1c, - 0x0a, 0x09, 0x68, 0x74, 0x74, 0x70, 0x57, 0x65, 0x62, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x03, 0x52, 0x09, 0x68, 0x74, 0x74, 0x70, 0x57, 0x65, 0x62, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0c, - 0x6d, 0x65, 0x72, 0x67, 0x65, 0x53, 0x6c, 0x61, 0x73, 0x68, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x08, 0x52, 0x0c, 0x6d, 0x65, 0x72, 0x67, 0x65, 0x53, 0x6c, 0x61, 0x73, 0x68, 0x65, 0x73, - 0x22, 0x6c, 0x0a, 0x20, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, - 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x52, 0x65, 0x71, + 0x62, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x73, 0x68, 0x75, 0x74, 0x64, 0x6f, 0x77, 0x6e, 0x4a, + 0x53, 0x4f, 0x4e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0c, 0x73, 0x68, 0x75, 0x74, 0x64, + 0x6f, 0x77, 0x6e, 0x4a, 0x53, 0x4f, 0x4e, 0x22, 0x57, 0x0a, 0x19, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x50, 0x61, 0x67, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x68, 0x74, 0x74, 0x70, 0x57, 0x65, 0x62, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x68, 0x74, 0x74, 0x70, 0x57, 0x65, 0x62, - 0x49, 0x64, 0x12, 0x2a, 0x0a, 0x10, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4c, 0x69, 0x6d, - 0x69, 0x74, 0x4a, 0x53, 0x4f, 0x4e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x10, 0x72, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x4a, 0x53, 0x4f, 0x4e, 0x22, 0x3e, - 0x0a, 0x1e, 0x46, 0x69, 0x6e, 0x64, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x12, 0x1c, 0x0a, 0x09, 0x68, 0x74, 0x74, 0x70, 0x57, 0x65, 0x62, 0x49, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x03, 0x52, 0x09, 0x68, 0x74, 0x74, 0x70, 0x57, 0x65, 0x62, 0x49, 0x64, 0x22, 0x4d, - 0x0a, 0x1f, 0x46, 0x69, 0x6e, 0x64, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x2a, 0x0a, 0x10, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4c, 0x69, 0x6d, 0x69, - 0x74, 0x4a, 0x53, 0x4f, 0x4e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x10, 0x72, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x4a, 0x53, 0x4f, 0x4e, 0x22, 0x72, 0x0a, - 0x22, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x52, 0x65, + 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x73, 0x4a, 0x53, 0x4f, 0x4e, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x73, 0x4a, 0x53, 0x4f, 0x4e, + 0x22, 0x63, 0x0a, 0x1d, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, + 0x62, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x68, 0x74, 0x74, 0x70, 0x57, 0x65, 0x62, 0x49, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x68, 0x74, 0x74, 0x70, 0x57, 0x65, 0x62, 0x49, 0x64, 0x12, + 0x24, 0x0a, 0x0d, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x4a, 0x53, 0x4f, 0x4e, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0d, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, + 0x67, 0x4a, 0x53, 0x4f, 0x4e, 0x22, 0x54, 0x0a, 0x18, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, + 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x53, 0x74, 0x61, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x68, 0x74, 0x74, 0x70, 0x57, 0x65, 0x62, 0x49, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x68, 0x74, 0x74, 0x70, 0x57, 0x65, 0x62, 0x49, 0x64, 0x12, + 0x1a, 0x0a, 0x08, 0x73, 0x74, 0x61, 0x74, 0x4a, 0x53, 0x4f, 0x4e, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0c, 0x52, 0x08, 0x73, 0x74, 0x61, 0x74, 0x4a, 0x53, 0x4f, 0x4e, 0x22, 0x57, 0x0a, 0x19, 0x55, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x43, 0x61, 0x63, 0x68, + 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x68, 0x74, 0x74, 0x70, + 0x57, 0x65, 0x62, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x68, 0x74, 0x74, + 0x70, 0x57, 0x65, 0x62, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x61, 0x63, 0x68, 0x65, 0x4a, + 0x53, 0x4f, 0x4e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x63, 0x61, 0x63, 0x68, 0x65, + 0x4a, 0x53, 0x4f, 0x4e, 0x22, 0x60, 0x0a, 0x1c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, + 0x54, 0x50, 0x57, 0x65, 0x62, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x68, 0x74, 0x74, 0x70, 0x57, 0x65, 0x62, 0x49, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x68, 0x74, 0x74, 0x70, 0x57, 0x65, 0x62, + 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x4a, 0x53, + 0x4f, 0x4e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0c, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, + 0x6c, 0x6c, 0x4a, 0x53, 0x4f, 0x4e, 0x22, 0x63, 0x0a, 0x1d, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x68, 0x74, 0x74, 0x70, 0x57, + 0x65, 0x62, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x68, 0x74, 0x74, 0x70, + 0x57, 0x65, 0x62, 0x49, 0x64, 0x12, 0x24, 0x0a, 0x0d, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x4a, 0x53, 0x4f, 0x4e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0d, 0x6c, 0x6f, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x4a, 0x53, 0x4f, 0x4e, 0x22, 0x75, 0x0a, 0x23, 0x55, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x52, 0x65, 0x64, 0x69, + 0x72, 0x65, 0x63, 0x74, 0x54, 0x6f, 0x48, 0x54, 0x54, 0x50, 0x53, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x68, 0x74, 0x74, 0x70, 0x57, 0x65, 0x62, 0x49, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x68, 0x74, 0x74, 0x70, 0x57, 0x65, 0x62, 0x49, 0x64, + 0x12, 0x30, 0x0a, 0x13, 0x72, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x54, 0x6f, 0x48, 0x54, + 0x54, 0x50, 0x53, 0x4a, 0x53, 0x4f, 0x4e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x13, 0x72, + 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x54, 0x6f, 0x48, 0x54, 0x54, 0x50, 0x53, 0x4a, 0x53, + 0x4f, 0x4e, 0x22, 0x63, 0x0a, 0x1d, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, + 0x57, 0x65, 0x62, 0x57, 0x65, 0x62, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x68, 0x74, 0x74, 0x70, 0x57, 0x65, 0x62, 0x49, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x68, 0x74, 0x74, 0x70, 0x57, 0x65, 0x62, 0x49, + 0x64, 0x12, 0x24, 0x0a, 0x0d, 0x77, 0x65, 0x62, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x4a, 0x53, + 0x4f, 0x4e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0d, 0x77, 0x65, 0x62, 0x73, 0x6f, 0x63, + 0x6b, 0x65, 0x74, 0x4a, 0x53, 0x4f, 0x4e, 0x22, 0x5d, 0x0a, 0x1b, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x46, 0x61, 0x73, 0x74, 0x63, 0x67, 0x69, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x68, 0x74, 0x74, 0x70, 0x57, 0x65, + 0x62, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x68, 0x74, 0x74, 0x70, 0x57, + 0x65, 0x62, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x66, 0x61, 0x73, 0x74, 0x63, 0x67, 0x69, 0x4a, + 0x53, 0x4f, 0x4e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x66, 0x61, 0x73, 0x74, 0x63, + 0x67, 0x69, 0x4a, 0x53, 0x4f, 0x4e, 0x22, 0x6c, 0x0a, 0x20, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x52, 0x65, 0x77, 0x72, 0x69, 0x74, 0x65, 0x52, 0x75, + 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x68, 0x74, + 0x74, 0x70, 0x57, 0x65, 0x62, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x68, + 0x74, 0x74, 0x70, 0x57, 0x65, 0x62, 0x49, 0x64, 0x12, 0x2a, 0x0a, 0x10, 0x72, 0x65, 0x77, 0x72, + 0x69, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x4a, 0x53, 0x4f, 0x4e, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0c, 0x52, 0x10, 0x72, 0x65, 0x77, 0x72, 0x69, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x73, + 0x4a, 0x53, 0x4f, 0x4e, 0x22, 0x6f, 0x0a, 0x21, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, + 0x54, 0x50, 0x57, 0x65, 0x62, 0x48, 0x6f, 0x73, 0x74, 0x52, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, + 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x68, 0x74, 0x74, + 0x70, 0x57, 0x65, 0x62, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x68, 0x74, + 0x74, 0x70, 0x57, 0x65, 0x62, 0x49, 0x64, 0x12, 0x2c, 0x0a, 0x11, 0x68, 0x6f, 0x73, 0x74, 0x52, + 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x73, 0x4a, 0x53, 0x4f, 0x4e, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0c, 0x52, 0x11, 0x68, 0x6f, 0x73, 0x74, 0x52, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, + 0x73, 0x4a, 0x53, 0x4f, 0x4e, 0x22, 0x3f, 0x0a, 0x1f, 0x46, 0x69, 0x6e, 0x64, 0x48, 0x54, 0x54, + 0x50, 0x57, 0x65, 0x62, 0x48, 0x6f, 0x73, 0x74, 0x52, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x68, 0x74, 0x74, 0x70, + 0x57, 0x65, 0x62, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x68, 0x74, 0x74, + 0x70, 0x57, 0x65, 0x62, 0x49, 0x64, 0x22, 0x50, 0x0a, 0x20, 0x46, 0x69, 0x6e, 0x64, 0x48, 0x54, + 0x54, 0x50, 0x57, 0x65, 0x62, 0x48, 0x6f, 0x73, 0x74, 0x52, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, + 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2c, 0x0a, 0x11, 0x68, 0x6f, + 0x73, 0x74, 0x52, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x73, 0x4a, 0x53, 0x4f, 0x4e, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x11, 0x68, 0x6f, 0x73, 0x74, 0x52, 0x65, 0x64, 0x69, 0x72, + 0x65, 0x63, 0x74, 0x73, 0x4a, 0x53, 0x4f, 0x4e, 0x22, 0x54, 0x0a, 0x18, 0x55, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x41, 0x75, 0x74, 0x68, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x68, 0x74, 0x74, 0x70, 0x57, 0x65, 0x62, 0x49, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x68, 0x74, 0x74, 0x70, 0x57, 0x65, 0x62, + 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x61, 0x75, 0x74, 0x68, 0x4a, 0x53, 0x4f, 0x4e, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0c, 0x52, 0x08, 0x61, 0x75, 0x74, 0x68, 0x4a, 0x53, 0x4f, 0x4e, 0x22, 0x5e, + 0x0a, 0x1a, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x43, + 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x09, + 0x68, 0x74, 0x74, 0x70, 0x57, 0x65, 0x62, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, + 0x09, 0x68, 0x74, 0x74, 0x70, 0x57, 0x65, 0x62, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x6d, 0x65, + 0x72, 0x67, 0x65, 0x53, 0x6c, 0x61, 0x73, 0x68, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x0c, 0x6d, 0x65, 0x72, 0x67, 0x65, 0x53, 0x6c, 0x61, 0x73, 0x68, 0x65, 0x73, 0x22, 0x6c, + 0x0a, 0x20, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x68, 0x74, 0x74, 0x70, 0x57, 0x65, 0x62, 0x49, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x68, 0x74, 0x74, 0x70, 0x57, 0x65, 0x62, 0x49, 0x64, + 0x12, 0x2a, 0x0a, 0x10, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4c, 0x69, 0x6d, 0x69, 0x74, + 0x4a, 0x53, 0x4f, 0x4e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x10, 0x72, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x4a, 0x53, 0x4f, 0x4e, 0x22, 0x3e, 0x0a, 0x1e, + 0x46, 0x69, 0x6e, 0x64, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1c, + 0x0a, 0x09, 0x68, 0x74, 0x74, 0x70, 0x57, 0x65, 0x62, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x03, 0x52, 0x09, 0x68, 0x74, 0x74, 0x70, 0x57, 0x65, 0x62, 0x49, 0x64, 0x22, 0x4d, 0x0a, 0x1f, + 0x46, 0x69, 0x6e, 0x64, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x2a, 0x0a, 0x10, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x4a, + 0x53, 0x4f, 0x4e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x10, 0x72, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x4a, 0x53, 0x4f, 0x4e, 0x22, 0x72, 0x0a, 0x22, 0x55, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x53, 0x63, 0x72, 0x69, 0x70, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x68, 0x74, 0x74, 0x70, 0x57, 0x65, 0x62, 0x49, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x68, 0x74, 0x74, 0x70, 0x57, 0x65, 0x62, 0x49, 0x64, 0x12, + 0x2e, 0x0a, 0x12, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x53, 0x63, 0x72, 0x69, 0x70, 0x74, + 0x73, 0x4a, 0x53, 0x4f, 0x4e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x12, 0x72, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x53, 0x63, 0x72, 0x69, 0x70, 0x74, 0x73, 0x4a, 0x53, 0x4f, 0x4e, 0x22, + 0x40, 0x0a, 0x20, 0x46, 0x69, 0x6e, 0x64, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x53, 0x63, 0x72, 0x69, 0x70, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x68, 0x74, 0x74, 0x70, 0x57, 0x65, 0x62, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x68, 0x74, 0x74, 0x70, 0x57, 0x65, 0x62, 0x49, - 0x64, 0x12, 0x2e, 0x0a, 0x12, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x53, 0x63, 0x72, 0x69, - 0x70, 0x74, 0x73, 0x4a, 0x53, 0x4f, 0x4e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x12, 0x72, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x53, 0x63, 0x72, 0x69, 0x70, 0x74, 0x73, 0x4a, 0x53, 0x4f, - 0x4e, 0x22, 0x40, 0x0a, 0x20, 0x46, 0x69, 0x6e, 0x64, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, + 0x64, 0x22, 0x53, 0x0a, 0x21, 0x46, 0x69, 0x6e, 0x64, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x53, 0x63, 0x72, 0x69, 0x70, 0x74, 0x73, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x68, 0x74, 0x74, 0x70, 0x57, 0x65, 0x62, - 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x68, 0x74, 0x74, 0x70, 0x57, 0x65, - 0x62, 0x49, 0x64, 0x22, 0x53, 0x0a, 0x21, 0x46, 0x69, 0x6e, 0x64, 0x48, 0x54, 0x54, 0x50, 0x57, - 0x65, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x53, 0x63, 0x72, 0x69, 0x70, 0x74, 0x73, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2e, 0x0a, 0x12, 0x72, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x53, 0x63, 0x72, 0x69, 0x70, 0x74, 0x73, 0x4a, 0x53, 0x4f, 0x4e, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0c, 0x52, 0x12, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x53, 0x63, 0x72, - 0x69, 0x70, 0x74, 0x73, 0x4a, 0x53, 0x4f, 0x4e, 0x22, 0x51, 0x0a, 0x17, 0x55, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x55, 0x41, 0x4d, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x68, 0x74, 0x74, 0x70, 0x57, 0x65, 0x62, 0x49, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x68, 0x74, 0x74, 0x70, 0x57, 0x65, 0x62, 0x49, - 0x64, 0x12, 0x18, 0x0a, 0x07, 0x75, 0x61, 0x6d, 0x4a, 0x53, 0x4f, 0x4e, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0c, 0x52, 0x07, 0x75, 0x61, 0x6d, 0x4a, 0x53, 0x4f, 0x4e, 0x22, 0x35, 0x0a, 0x15, 0x46, - 0x69, 0x6e, 0x64, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x55, 0x41, 0x4d, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x68, 0x74, 0x74, 0x70, 0x57, 0x65, 0x62, 0x49, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x68, 0x74, 0x74, 0x70, 0x57, 0x65, 0x62, - 0x49, 0x64, 0x22, 0x32, 0x0a, 0x16, 0x46, 0x69, 0x6e, 0x64, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, - 0x62, 0x55, 0x41, 0x4d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, - 0x75, 0x61, 0x6d, 0x4a, 0x53, 0x4f, 0x4e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x75, - 0x61, 0x6d, 0x4a, 0x53, 0x4f, 0x4e, 0x22, 0x4e, 0x0a, 0x16, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x43, 0x43, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x12, 0x1c, 0x0a, 0x09, 0x68, 0x74, 0x74, 0x70, 0x57, 0x65, 0x62, 0x49, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x03, 0x52, 0x09, 0x68, 0x74, 0x74, 0x70, 0x57, 0x65, 0x62, 0x49, 0x64, 0x12, 0x16, - 0x0a, 0x06, 0x63, 0x63, 0x4a, 0x53, 0x4f, 0x4e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x06, - 0x63, 0x63, 0x4a, 0x53, 0x4f, 0x4e, 0x22, 0x34, 0x0a, 0x14, 0x46, 0x69, 0x6e, 0x64, 0x48, 0x54, - 0x54, 0x50, 0x57, 0x65, 0x62, 0x43, 0x43, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1c, - 0x0a, 0x09, 0x68, 0x74, 0x74, 0x70, 0x57, 0x65, 0x62, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x03, 0x52, 0x09, 0x68, 0x74, 0x74, 0x70, 0x57, 0x65, 0x62, 0x49, 0x64, 0x22, 0x2f, 0x0a, 0x15, - 0x46, 0x69, 0x6e, 0x64, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x43, 0x43, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x63, 0x4a, 0x53, 0x4f, 0x4e, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x06, 0x63, 0x63, 0x4a, 0x53, 0x4f, 0x4e, 0x22, 0x60, 0x0a, - 0x1c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x52, 0x65, - 0x66, 0x65, 0x72, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1c, 0x0a, - 0x09, 0x68, 0x74, 0x74, 0x70, 0x57, 0x65, 0x62, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, - 0x52, 0x09, 0x68, 0x74, 0x74, 0x70, 0x57, 0x65, 0x62, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x72, - 0x65, 0x66, 0x65, 0x72, 0x65, 0x72, 0x73, 0x4a, 0x53, 0x4f, 0x4e, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0c, 0x52, 0x0c, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x72, 0x73, 0x4a, 0x53, 0x4f, 0x4e, 0x22, - 0x3a, 0x0a, 0x1a, 0x46, 0x69, 0x6e, 0x64, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x52, 0x65, - 0x66, 0x65, 0x72, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1c, 0x0a, - 0x09, 0x68, 0x74, 0x74, 0x70, 0x57, 0x65, 0x62, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, - 0x52, 0x09, 0x68, 0x74, 0x74, 0x70, 0x57, 0x65, 0x62, 0x49, 0x64, 0x22, 0x41, 0x0a, 0x1b, 0x46, - 0x69, 0x6e, 0x64, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, - 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x72, 0x65, - 0x66, 0x65, 0x72, 0x65, 0x72, 0x73, 0x4a, 0x53, 0x4f, 0x4e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, - 0x52, 0x0c, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x72, 0x73, 0x4a, 0x53, 0x4f, 0x4e, 0x22, 0x63, - 0x0a, 0x1d, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x55, - 0x73, 0x65, 0x72, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x1c, 0x0a, 0x09, 0x68, 0x74, 0x74, 0x70, 0x57, 0x65, 0x62, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x03, 0x52, 0x09, 0x68, 0x74, 0x74, 0x70, 0x57, 0x65, 0x62, 0x49, 0x64, 0x12, 0x24, 0x0a, - 0x0d, 0x75, 0x73, 0x65, 0x72, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x4a, 0x53, 0x4f, 0x4e, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0d, 0x75, 0x73, 0x65, 0x72, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x4a, - 0x53, 0x4f, 0x4e, 0x22, 0x3b, 0x0a, 0x1b, 0x46, 0x69, 0x6e, 0x64, 0x48, 0x54, 0x54, 0x50, 0x57, - 0x65, 0x62, 0x55, 0x73, 0x65, 0x72, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2e, 0x0a, 0x12, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x53, 0x63, 0x72, 0x69, 0x70, 0x74, 0x73, 0x4a, 0x53, 0x4f, 0x4e, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0c, 0x52, 0x12, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x53, 0x63, 0x72, 0x69, 0x70, + 0x74, 0x73, 0x4a, 0x53, 0x4f, 0x4e, 0x22, 0x51, 0x0a, 0x17, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x55, 0x41, 0x4d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x68, 0x74, 0x74, 0x70, 0x57, 0x65, 0x62, 0x49, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x68, 0x74, 0x74, 0x70, 0x57, 0x65, 0x62, 0x49, 0x64, 0x12, + 0x18, 0x0a, 0x07, 0x75, 0x61, 0x6d, 0x4a, 0x53, 0x4f, 0x4e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, + 0x52, 0x07, 0x75, 0x61, 0x6d, 0x4a, 0x53, 0x4f, 0x4e, 0x22, 0x35, 0x0a, 0x15, 0x46, 0x69, 0x6e, + 0x64, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x55, 0x41, 0x4d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x68, 0x74, 0x74, 0x70, 0x57, 0x65, 0x62, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x68, 0x74, 0x74, 0x70, 0x57, 0x65, 0x62, 0x49, 0x64, - 0x22, 0x44, 0x0a, 0x1c, 0x46, 0x69, 0x6e, 0x64, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x55, - 0x73, 0x65, 0x72, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x24, 0x0a, 0x0d, 0x75, 0x73, 0x65, 0x72, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x4a, 0x53, 0x4f, - 0x4e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0d, 0x75, 0x73, 0x65, 0x72, 0x41, 0x67, 0x65, - 0x6e, 0x74, 0x4a, 0x53, 0x4f, 0x4e, 0x32, 0xfc, 0x16, 0x0a, 0x0e, 0x48, 0x54, 0x54, 0x50, 0x57, - 0x65, 0x62, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x44, 0x0a, 0x0d, 0x63, 0x72, 0x65, + 0x22, 0x32, 0x0a, 0x16, 0x46, 0x69, 0x6e, 0x64, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x55, + 0x41, 0x4d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x75, 0x61, + 0x6d, 0x4a, 0x53, 0x4f, 0x4e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x75, 0x61, 0x6d, + 0x4a, 0x53, 0x4f, 0x4e, 0x22, 0x4e, 0x0a, 0x16, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, + 0x54, 0x50, 0x57, 0x65, 0x62, 0x43, 0x43, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1c, + 0x0a, 0x09, 0x68, 0x74, 0x74, 0x70, 0x57, 0x65, 0x62, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x03, 0x52, 0x09, 0x68, 0x74, 0x74, 0x70, 0x57, 0x65, 0x62, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, + 0x63, 0x63, 0x4a, 0x53, 0x4f, 0x4e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x06, 0x63, 0x63, + 0x4a, 0x53, 0x4f, 0x4e, 0x22, 0x34, 0x0a, 0x14, 0x46, 0x69, 0x6e, 0x64, 0x48, 0x54, 0x54, 0x50, + 0x57, 0x65, 0x62, 0x43, 0x43, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x09, + 0x68, 0x74, 0x74, 0x70, 0x57, 0x65, 0x62, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, + 0x09, 0x68, 0x74, 0x74, 0x70, 0x57, 0x65, 0x62, 0x49, 0x64, 0x22, 0x2f, 0x0a, 0x15, 0x46, 0x69, + 0x6e, 0x64, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x43, 0x43, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x63, 0x4a, 0x53, 0x4f, 0x4e, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0c, 0x52, 0x06, 0x63, 0x63, 0x4a, 0x53, 0x4f, 0x4e, 0x22, 0x60, 0x0a, 0x1c, 0x55, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x52, 0x65, 0x66, 0x65, + 0x72, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x68, + 0x74, 0x74, 0x70, 0x57, 0x65, 0x62, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, + 0x68, 0x74, 0x74, 0x70, 0x57, 0x65, 0x62, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x72, 0x65, 0x66, + 0x65, 0x72, 0x65, 0x72, 0x73, 0x4a, 0x53, 0x4f, 0x4e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, + 0x0c, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x72, 0x73, 0x4a, 0x53, 0x4f, 0x4e, 0x22, 0x3a, 0x0a, + 0x1a, 0x46, 0x69, 0x6e, 0x64, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x52, 0x65, 0x66, 0x65, + 0x72, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x68, + 0x74, 0x74, 0x70, 0x57, 0x65, 0x62, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, + 0x68, 0x74, 0x74, 0x70, 0x57, 0x65, 0x62, 0x49, 0x64, 0x22, 0x41, 0x0a, 0x1b, 0x46, 0x69, 0x6e, + 0x64, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x72, 0x73, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x72, 0x65, 0x66, 0x65, + 0x72, 0x65, 0x72, 0x73, 0x4a, 0x53, 0x4f, 0x4e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0c, + 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x72, 0x73, 0x4a, 0x53, 0x4f, 0x4e, 0x22, 0x63, 0x0a, 0x1d, + 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x55, 0x73, 0x65, + 0x72, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1c, 0x0a, + 0x09, 0x68, 0x74, 0x74, 0x70, 0x57, 0x65, 0x62, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, + 0x52, 0x09, 0x68, 0x74, 0x74, 0x70, 0x57, 0x65, 0x62, 0x49, 0x64, 0x12, 0x24, 0x0a, 0x0d, 0x75, + 0x73, 0x65, 0x72, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x4a, 0x53, 0x4f, 0x4e, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0c, 0x52, 0x0d, 0x75, 0x73, 0x65, 0x72, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x4a, 0x53, 0x4f, + 0x4e, 0x22, 0x3b, 0x0a, 0x1b, 0x46, 0x69, 0x6e, 0x64, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, + 0x55, 0x73, 0x65, 0x72, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x1c, 0x0a, 0x09, 0x68, 0x74, 0x74, 0x70, 0x57, 0x65, 0x62, 0x49, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x03, 0x52, 0x09, 0x68, 0x74, 0x74, 0x70, 0x57, 0x65, 0x62, 0x49, 0x64, 0x22, 0x44, + 0x0a, 0x1c, 0x46, 0x69, 0x6e, 0x64, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x55, 0x73, 0x65, + 0x72, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x24, + 0x0a, 0x0d, 0x75, 0x73, 0x65, 0x72, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x4a, 0x53, 0x4f, 0x4e, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0d, 0x75, 0x73, 0x65, 0x72, 0x41, 0x67, 0x65, 0x6e, 0x74, + 0x4a, 0x53, 0x4f, 0x4e, 0x32, 0xcf, 0x17, 0x0a, 0x0e, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, + 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x44, 0x0a, 0x0d, 0x63, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x12, 0x18, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x48, 0x54, + 0x54, 0x50, 0x57, 0x65, 0x62, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x53, 0x0a, + 0x12, 0x66, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x48, 0x54, 0x54, 0x50, + 0x57, 0x65, 0x62, 0x12, 0x1d, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, + 0x62, 0x6c, 0x65, 0x64, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, + 0x6c, 0x65, 0x64, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x65, 0x0a, 0x18, 0x66, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, + 0x64, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x23, + 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x48, + 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, + 0x62, 0x6c, 0x65, 0x64, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x39, 0x0a, 0x0d, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x12, 0x18, 0x2e, 0x70, 0x62, 0x2e, - 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x53, 0x0a, 0x12, 0x66, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x48, 0x54, - 0x54, 0x50, 0x57, 0x65, 0x62, 0x12, 0x1d, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, - 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, - 0x61, 0x62, 0x6c, 0x65, 0x64, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x65, 0x0a, 0x18, 0x66, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, - 0x6c, 0x65, 0x64, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x12, 0x23, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, - 0x64, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, - 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x43, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x39, 0x0a, 0x0d, 0x75, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x12, 0x18, 0x2e, 0x70, - 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, - 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x4f, 0x0a, 0x18, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x43, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, - 0x6f, 0x6e, 0x12, 0x23, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, + 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, + 0x63, 0x65, 0x73, 0x73, 0x12, 0x4f, 0x0a, 0x18, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x43, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, - 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x41, 0x0a, 0x11, 0x75, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x57, 0x65, 0x62, 0x50, 0x12, 0x1c, 0x2e, 0x70, - 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x57, - 0x65, 0x62, 0x50, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, - 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x4d, 0x0a, 0x17, 0x75, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x52, 0x65, 0x6d, 0x6f, 0x74, - 0x65, 0x41, 0x64, 0x64, 0x72, 0x12, 0x22, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x41, 0x64, - 0x64, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, - 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x47, 0x0a, 0x14, 0x75, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x43, 0x68, 0x61, 0x72, 0x73, 0x65, - 0x74, 0x12, 0x1f, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, - 0x50, 0x57, 0x65, 0x62, 0x43, 0x68, 0x61, 0x72, 0x73, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, - 0x73, 0x73, 0x12, 0x53, 0x0a, 0x1a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, - 0x57, 0x65, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, - 0x12, 0x25, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, - 0x57, 0x65, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, - 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x55, 0x0a, 0x1b, 0x75, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x26, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, - 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x49, - 0x0a, 0x15, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x53, - 0x68, 0x75, 0x74, 0x64, 0x6f, 0x77, 0x6e, 0x12, 0x20, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x53, 0x68, 0x75, 0x74, 0x64, 0x6f, - 0x77, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, - 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x43, 0x0a, 0x12, 0x75, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x50, 0x61, 0x67, 0x65, 0x73, 0x12, - 0x1d, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, - 0x65, 0x62, 0x50, 0x61, 0x67, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, - 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x4b, - 0x0a, 0x16, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x41, - 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x12, 0x21, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x41, 0x63, 0x63, 0x65, 0x73, - 0x73, 0x4c, 0x6f, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, - 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x41, 0x0a, 0x11, 0x75, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x53, 0x74, 0x61, 0x74, - 0x12, 0x1c, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, - 0x57, 0x65, 0x62, 0x53, 0x74, 0x61, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, - 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x43, - 0x0a, 0x12, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x43, - 0x61, 0x63, 0x68, 0x65, 0x12, 0x1d, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x43, 0x61, 0x63, 0x68, 0x65, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, - 0x65, 0x73, 0x73, 0x12, 0x49, 0x0a, 0x15, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, - 0x50, 0x57, 0x65, 0x62, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x12, 0x20, 0x2e, 0x70, - 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x46, - 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, - 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x4b, - 0x0a, 0x16, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x4c, - 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x21, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x4c, 0x6f, 0x63, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, - 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x57, 0x0a, 0x1c, 0x75, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x52, 0x65, 0x64, 0x69, - 0x72, 0x65, 0x63, 0x74, 0x54, 0x6f, 0x48, 0x54, 0x54, 0x50, 0x53, 0x12, 0x27, 0x2e, 0x70, 0x62, - 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x52, 0x65, - 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x54, 0x6f, 0x48, 0x54, 0x54, 0x50, 0x53, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, - 0x63, 0x65, 0x73, 0x73, 0x12, 0x4b, 0x0a, 0x16, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, - 0x54, 0x50, 0x57, 0x65, 0x62, 0x57, 0x65, 0x62, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x21, - 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, - 0x62, 0x57, 0x65, 0x62, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, - 0x73, 0x12, 0x47, 0x0a, 0x14, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, - 0x65, 0x62, 0x46, 0x61, 0x73, 0x74, 0x63, 0x67, 0x69, 0x12, 0x1f, 0x2e, 0x70, 0x62, 0x2e, 0x55, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x46, 0x61, 0x73, 0x74, - 0x63, 0x67, 0x69, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, - 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x51, 0x0a, 0x19, 0x75, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x52, 0x65, 0x77, 0x72, 0x69, - 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x24, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x52, 0x65, 0x77, 0x72, 0x69, 0x74, - 0x65, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, - 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x53, 0x0a, - 0x1a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x48, 0x6f, - 0x73, 0x74, 0x52, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x73, 0x12, 0x25, 0x2e, 0x70, 0x62, - 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x48, 0x6f, - 0x73, 0x74, 0x52, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, - 0x73, 0x73, 0x12, 0x65, 0x0a, 0x18, 0x66, 0x69, 0x6e, 0x64, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, - 0x62, 0x48, 0x6f, 0x73, 0x74, 0x52, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x73, 0x12, 0x23, - 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x48, - 0x6f, 0x73, 0x74, 0x52, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x48, 0x54, 0x54, - 0x50, 0x57, 0x65, 0x62, 0x48, 0x6f, 0x73, 0x74, 0x52, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, - 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x41, 0x0a, 0x11, 0x75, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x41, 0x75, 0x74, 0x68, 0x12, 0x1c, - 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, - 0x62, 0x41, 0x75, 0x74, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, - 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x45, 0x0a, 0x13, - 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x43, 0x6f, 0x6d, - 0x6d, 0x6f, 0x6e, 0x12, 0x1e, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, - 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, - 0x65, 0x73, 0x73, 0x12, 0x51, 0x0a, 0x19, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, - 0x50, 0x57, 0x65, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4c, 0x69, 0x6d, 0x69, 0x74, - 0x12, 0x24, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, - 0x57, 0x65, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, - 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x62, 0x0a, 0x17, 0x66, 0x69, 0x6e, 0x64, 0x48, 0x54, - 0x54, 0x50, 0x57, 0x65, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4c, 0x69, 0x6d, 0x69, - 0x74, 0x12, 0x22, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x48, 0x54, 0x54, 0x50, 0x57, - 0x65, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x48, - 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4c, 0x69, 0x6d, - 0x69, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x55, 0x0a, 0x1b, 0x75, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x53, 0x63, 0x72, 0x69, 0x70, 0x74, 0x73, 0x12, 0x26, 0x2e, 0x70, 0x62, 0x2e, 0x55, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x53, 0x63, 0x72, 0x69, 0x70, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, - 0x73, 0x12, 0x68, 0x0a, 0x19, 0x66, 0x69, 0x6e, 0x64, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x53, 0x63, 0x72, 0x69, 0x70, 0x74, 0x73, 0x12, 0x24, - 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x53, 0x63, 0x72, 0x69, 0x70, 0x74, 0x73, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x48, 0x54, - 0x54, 0x50, 0x57, 0x65, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x53, 0x63, 0x72, 0x69, - 0x70, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3f, 0x0a, 0x10, 0x75, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x55, 0x41, 0x4d, 0x12, - 0x1b, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, - 0x65, 0x62, 0x55, 0x41, 0x4d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, - 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x47, 0x0a, 0x0e, - 0x66, 0x69, 0x6e, 0x64, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x55, 0x41, 0x4d, 0x12, 0x19, - 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x55, - 0x41, 0x4d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x70, 0x62, 0x2e, 0x46, - 0x69, 0x6e, 0x64, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x55, 0x41, 0x4d, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3d, 0x0a, 0x0f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, - 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x43, 0x43, 0x12, 0x1a, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x43, 0x43, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, - 0x63, 0x65, 0x73, 0x73, 0x12, 0x44, 0x0a, 0x0d, 0x66, 0x69, 0x6e, 0x64, 0x48, 0x54, 0x54, 0x50, - 0x57, 0x65, 0x62, 0x43, 0x43, 0x12, 0x18, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x48, - 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x43, 0x43, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x19, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, - 0x43, 0x43, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x49, 0x0a, 0x15, 0x75, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x52, 0x65, 0x66, 0x65, 0x72, - 0x65, 0x72, 0x73, 0x12, 0x20, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, - 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x72, 0x73, 0x52, 0x65, + 0x12, 0x23, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, + 0x57, 0x65, 0x62, 0x43, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, - 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x56, 0x0a, 0x13, 0x66, 0x69, 0x6e, 0x64, 0x48, 0x54, 0x54, - 0x50, 0x57, 0x65, 0x62, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x72, 0x73, 0x12, 0x1e, 0x2e, 0x70, - 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x52, 0x65, 0x66, - 0x65, 0x72, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x70, - 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x52, 0x65, 0x66, - 0x65, 0x72, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4b, 0x0a, - 0x16, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x55, 0x73, - 0x65, 0x72, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x12, 0x21, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x55, 0x73, 0x65, 0x72, 0x41, 0x67, - 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, - 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x59, 0x0a, 0x14, 0x66, 0x69, - 0x6e, 0x64, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x55, 0x73, 0x65, 0x72, 0x41, 0x67, 0x65, - 0x6e, 0x74, 0x12, 0x1f, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x48, 0x54, 0x54, 0x50, - 0x57, 0x65, 0x62, 0x55, 0x73, 0x65, 0x72, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x48, 0x54, 0x54, - 0x50, 0x57, 0x65, 0x62, 0x55, 0x73, 0x65, 0x72, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x2f, 0x70, 0x62, 0x62, 0x06, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x51, 0x0a, 0x19, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, + 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x4f, 0x70, 0x74, 0x69, 0x6d, 0x69, 0x7a, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x12, 0x24, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, + 0x54, 0x50, 0x57, 0x65, 0x62, 0x4f, 0x70, 0x74, 0x69, 0x6d, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, + 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x41, 0x0a, 0x11, 0x75, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x57, 0x65, 0x62, 0x50, 0x12, 0x1c, 0x2e, + 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, + 0x57, 0x65, 0x62, 0x50, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, + 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x4d, 0x0a, 0x17, 0x75, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x52, 0x65, 0x6d, 0x6f, + 0x74, 0x65, 0x41, 0x64, 0x64, 0x72, 0x12, 0x22, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x41, + 0x64, 0x64, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, + 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x47, 0x0a, 0x14, 0x75, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x43, 0x68, 0x61, 0x72, 0x73, + 0x65, 0x74, 0x12, 0x1f, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, + 0x54, 0x50, 0x57, 0x65, 0x62, 0x43, 0x68, 0x61, 0x72, 0x73, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, + 0x65, 0x73, 0x73, 0x12, 0x53, 0x0a, 0x1a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, + 0x50, 0x57, 0x65, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x65, 0x61, 0x64, 0x65, + 0x72, 0x12, 0x25, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, + 0x50, 0x57, 0x65, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x65, 0x61, 0x64, 0x65, + 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, + 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x55, 0x0a, 0x1b, 0x75, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x26, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, + 0x49, 0x0a, 0x15, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, + 0x53, 0x68, 0x75, 0x74, 0x64, 0x6f, 0x77, 0x6e, 0x12, 0x20, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x53, 0x68, 0x75, 0x74, 0x64, + 0x6f, 0x77, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, + 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x43, 0x0a, 0x12, 0x75, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x50, 0x61, 0x67, 0x65, 0x73, + 0x12, 0x1d, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, + 0x57, 0x65, 0x62, 0x50, 0x61, 0x67, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, + 0x4b, 0x0a, 0x16, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, + 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x12, 0x21, 0x2e, 0x70, 0x62, 0x2e, 0x55, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x41, 0x63, 0x63, 0x65, + 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, + 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x41, 0x0a, 0x11, + 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x53, 0x74, 0x61, + 0x74, 0x12, 0x1c, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, + 0x50, 0x57, 0x65, 0x62, 0x53, 0x74, 0x61, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, + 0x43, 0x0a, 0x12, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, + 0x43, 0x61, 0x63, 0x68, 0x65, 0x12, 0x1d, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x43, 0x61, 0x63, 0x68, 0x65, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, + 0x63, 0x65, 0x73, 0x73, 0x12, 0x49, 0x0a, 0x15, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, + 0x54, 0x50, 0x57, 0x65, 0x62, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x12, 0x20, 0x2e, + 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, + 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, + 0x4b, 0x0a, 0x16, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, + 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x21, 0x2e, 0x70, 0x62, 0x2e, 0x55, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x4c, 0x6f, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, + 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x57, 0x0a, 0x1c, + 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x52, 0x65, 0x64, + 0x69, 0x72, 0x65, 0x63, 0x74, 0x54, 0x6f, 0x48, 0x54, 0x54, 0x50, 0x53, 0x12, 0x27, 0x2e, 0x70, + 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x52, + 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x54, 0x6f, 0x48, 0x54, 0x54, 0x50, 0x53, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, + 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x4b, 0x0a, 0x16, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, + 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x57, 0x65, 0x62, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x12, + 0x21, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, + 0x65, 0x62, 0x57, 0x65, 0x62, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, + 0x73, 0x73, 0x12, 0x47, 0x0a, 0x14, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, + 0x57, 0x65, 0x62, 0x46, 0x61, 0x73, 0x74, 0x63, 0x67, 0x69, 0x12, 0x1f, 0x2e, 0x70, 0x62, 0x2e, + 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x46, 0x61, 0x73, + 0x74, 0x63, 0x67, 0x69, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, + 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x51, 0x0a, 0x19, 0x75, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x52, 0x65, 0x77, 0x72, + 0x69, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x24, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x52, 0x65, 0x77, 0x72, 0x69, + 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, + 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x53, + 0x0a, 0x1a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x48, + 0x6f, 0x73, 0x74, 0x52, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x73, 0x12, 0x25, 0x2e, 0x70, + 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x48, + 0x6f, 0x73, 0x74, 0x52, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, + 0x65, 0x73, 0x73, 0x12, 0x65, 0x0a, 0x18, 0x66, 0x69, 0x6e, 0x64, 0x48, 0x54, 0x54, 0x50, 0x57, + 0x65, 0x62, 0x48, 0x6f, 0x73, 0x74, 0x52, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x73, 0x12, + 0x23, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, + 0x48, 0x6f, 0x73, 0x74, 0x52, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x73, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x48, 0x54, + 0x54, 0x50, 0x57, 0x65, 0x62, 0x48, 0x6f, 0x73, 0x74, 0x52, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, + 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x41, 0x0a, 0x11, 0x75, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x41, 0x75, 0x74, 0x68, 0x12, + 0x1c, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, + 0x65, 0x62, 0x41, 0x75, 0x74, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, + 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x45, 0x0a, + 0x13, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x43, 0x6f, + 0x6d, 0x6d, 0x6f, 0x6e, 0x12, 0x1e, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, + 0x63, 0x65, 0x73, 0x73, 0x12, 0x51, 0x0a, 0x19, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, + 0x54, 0x50, 0x57, 0x65, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4c, 0x69, 0x6d, 0x69, + 0x74, 0x12, 0x24, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, + 0x50, 0x57, 0x65, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4c, 0x69, 0x6d, 0x69, 0x74, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, + 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x62, 0x0a, 0x17, 0x66, 0x69, 0x6e, 0x64, 0x48, + 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4c, 0x69, 0x6d, + 0x69, 0x74, 0x12, 0x22, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x48, 0x54, 0x54, 0x50, + 0x57, 0x65, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, + 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4c, 0x69, + 0x6d, 0x69, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x55, 0x0a, 0x1b, 0x75, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x53, 0x63, 0x72, 0x69, 0x70, 0x74, 0x73, 0x12, 0x26, 0x2e, 0x70, 0x62, 0x2e, + 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x53, 0x63, 0x72, 0x69, 0x70, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, + 0x73, 0x73, 0x12, 0x68, 0x0a, 0x19, 0x66, 0x69, 0x6e, 0x64, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, + 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x53, 0x63, 0x72, 0x69, 0x70, 0x74, 0x73, 0x12, + 0x24, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x53, 0x63, 0x72, 0x69, 0x70, 0x74, 0x73, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x48, + 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x53, 0x63, 0x72, + 0x69, 0x70, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3f, 0x0a, 0x10, + 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x55, 0x41, 0x4d, + 0x12, 0x1b, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, + 0x57, 0x65, 0x62, 0x55, 0x41, 0x4d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, + 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x47, 0x0a, + 0x0e, 0x66, 0x69, 0x6e, 0x64, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x55, 0x41, 0x4d, 0x12, + 0x19, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, + 0x55, 0x41, 0x4d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x70, 0x62, 0x2e, + 0x46, 0x69, 0x6e, 0x64, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x55, 0x41, 0x4d, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3d, 0x0a, 0x0f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x43, 0x43, 0x12, 0x1a, 0x2e, 0x70, 0x62, 0x2e, 0x55, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x43, 0x43, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, + 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x44, 0x0a, 0x0d, 0x66, 0x69, 0x6e, 0x64, 0x48, 0x54, 0x54, + 0x50, 0x57, 0x65, 0x62, 0x43, 0x43, 0x12, 0x18, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, + 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x43, 0x43, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x19, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, + 0x62, 0x43, 0x43, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x49, 0x0a, 0x15, 0x75, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x52, 0x65, 0x66, 0x65, + 0x72, 0x65, 0x72, 0x73, 0x12, 0x20, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x72, 0x73, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, + 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x56, 0x0a, 0x13, 0x66, 0x69, 0x6e, 0x64, 0x48, 0x54, + 0x54, 0x50, 0x57, 0x65, 0x62, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x72, 0x73, 0x12, 0x1e, 0x2e, + 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x52, 0x65, + 0x66, 0x65, 0x72, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, + 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x52, 0x65, + 0x66, 0x65, 0x72, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4b, + 0x0a, 0x16, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x55, + 0x73, 0x65, 0x72, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x12, 0x21, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x55, 0x73, 0x65, 0x72, 0x41, + 0x67, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, + 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x59, 0x0a, 0x14, 0x66, + 0x69, 0x6e, 0x64, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x55, 0x73, 0x65, 0x72, 0x41, 0x67, + 0x65, 0x6e, 0x74, 0x12, 0x1f, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x48, 0x54, 0x54, + 0x50, 0x57, 0x65, 0x62, 0x55, 0x73, 0x65, 0x72, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x48, 0x54, + 0x54, 0x50, 0x57, 0x65, 0x62, 0x55, 0x73, 0x65, 0x72, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x2f, 0x70, 0x62, 0x62, 0x06, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -2944,7 +3012,7 @@ func file_service_http_web_proto_rawDescGZIP() []byte { return file_service_http_web_proto_rawDescData } -var file_service_http_web_proto_msgTypes = make([]protoimpl.MessageInfo, 47) +var file_service_http_web_proto_msgTypes = make([]protoimpl.MessageInfo, 48) var file_service_http_web_proto_goTypes = []interface{}{ (*CreateHTTPWebRequest)(nil), // 0: pb.CreateHTTPWebRequest (*CreateHTTPWebResponse)(nil), // 1: pb.CreateHTTPWebResponse @@ -2954,126 +3022,129 @@ var file_service_http_web_proto_goTypes = []interface{}{ (*FindEnabledHTTPWebConfigResponse)(nil), // 5: pb.FindEnabledHTTPWebConfigResponse (*UpdateHTTPWebRequest)(nil), // 6: pb.UpdateHTTPWebRequest (*UpdateHTTPWebCompressionRequest)(nil), // 7: pb.UpdateHTTPWebCompressionRequest - (*UpdateHTTPWebWebPRequest)(nil), // 8: pb.UpdateHTTPWebWebPRequest - (*UpdateHTTPWebRemoteAddrRequest)(nil), // 9: pb.UpdateHTTPWebRemoteAddrRequest - (*UpdateHTTPWebCharsetRequest)(nil), // 10: pb.UpdateHTTPWebCharsetRequest - (*UpdateHTTPWebRequestHeaderRequest)(nil), // 11: pb.UpdateHTTPWebRequestHeaderRequest - (*UpdateHTTPWebResponseHeaderRequest)(nil), // 12: pb.UpdateHTTPWebResponseHeaderRequest - (*UpdateHTTPWebShutdownRequest)(nil), // 13: pb.UpdateHTTPWebShutdownRequest - (*UpdateHTTPWebPagesRequest)(nil), // 14: pb.UpdateHTTPWebPagesRequest - (*UpdateHTTPWebAccessLogRequest)(nil), // 15: pb.UpdateHTTPWebAccessLogRequest - (*UpdateHTTPWebStatRequest)(nil), // 16: pb.UpdateHTTPWebStatRequest - (*UpdateHTTPWebCacheRequest)(nil), // 17: pb.UpdateHTTPWebCacheRequest - (*UpdateHTTPWebFirewallRequest)(nil), // 18: pb.UpdateHTTPWebFirewallRequest - (*UpdateHTTPWebLocationsRequest)(nil), // 19: pb.UpdateHTTPWebLocationsRequest - (*UpdateHTTPWebRedirectToHTTPSRequest)(nil), // 20: pb.UpdateHTTPWebRedirectToHTTPSRequest - (*UpdateHTTPWebWebsocketRequest)(nil), // 21: pb.UpdateHTTPWebWebsocketRequest - (*UpdateHTTPWebFastcgiRequest)(nil), // 22: pb.UpdateHTTPWebFastcgiRequest - (*UpdateHTTPWebRewriteRulesRequest)(nil), // 23: pb.UpdateHTTPWebRewriteRulesRequest - (*UpdateHTTPWebHostRedirectsRequest)(nil), // 24: pb.UpdateHTTPWebHostRedirectsRequest - (*FindHTTPWebHostRedirectsRequest)(nil), // 25: pb.FindHTTPWebHostRedirectsRequest - (*FindHTTPWebHostRedirectsResponse)(nil), // 26: pb.FindHTTPWebHostRedirectsResponse - (*UpdateHTTPWebAuthRequest)(nil), // 27: pb.UpdateHTTPWebAuthRequest - (*UpdateHTTPWebCommonRequest)(nil), // 28: pb.UpdateHTTPWebCommonRequest - (*UpdateHTTPWebRequestLimitRequest)(nil), // 29: pb.UpdateHTTPWebRequestLimitRequest - (*FindHTTPWebRequestLimitRequest)(nil), // 30: pb.FindHTTPWebRequestLimitRequest - (*FindHTTPWebRequestLimitResponse)(nil), // 31: pb.FindHTTPWebRequestLimitResponse - (*UpdateHTTPWebRequestScriptsRequest)(nil), // 32: pb.UpdateHTTPWebRequestScriptsRequest - (*FindHTTPWebRequestScriptsRequest)(nil), // 33: pb.FindHTTPWebRequestScriptsRequest - (*FindHTTPWebRequestScriptsResponse)(nil), // 34: pb.FindHTTPWebRequestScriptsResponse - (*UpdateHTTPWebUAMRequest)(nil), // 35: pb.UpdateHTTPWebUAMRequest - (*FindHTTPWebUAMRequest)(nil), // 36: pb.FindHTTPWebUAMRequest - (*FindHTTPWebUAMResponse)(nil), // 37: pb.FindHTTPWebUAMResponse - (*UpdateHTTPWebCCRequest)(nil), // 38: pb.UpdateHTTPWebCCRequest - (*FindHTTPWebCCRequest)(nil), // 39: pb.FindHTTPWebCCRequest - (*FindHTTPWebCCResponse)(nil), // 40: pb.FindHTTPWebCCResponse - (*UpdateHTTPWebReferersRequest)(nil), // 41: pb.UpdateHTTPWebReferersRequest - (*FindHTTPWebReferersRequest)(nil), // 42: pb.FindHTTPWebReferersRequest - (*FindHTTPWebReferersResponse)(nil), // 43: pb.FindHTTPWebReferersResponse - (*UpdateHTTPWebUserAgentRequest)(nil), // 44: pb.UpdateHTTPWebUserAgentRequest - (*FindHTTPWebUserAgentRequest)(nil), // 45: pb.FindHTTPWebUserAgentRequest - (*FindHTTPWebUserAgentResponse)(nil), // 46: pb.FindHTTPWebUserAgentResponse - (*HTTPWeb)(nil), // 47: pb.HTTPWeb - (*RPCSuccess)(nil), // 48: pb.RPCSuccess + (*UpdateHTTPWebOptimizationRequest)(nil), // 8: pb.UpdateHTTPWebOptimizationRequest + (*UpdateHTTPWebWebPRequest)(nil), // 9: pb.UpdateHTTPWebWebPRequest + (*UpdateHTTPWebRemoteAddrRequest)(nil), // 10: pb.UpdateHTTPWebRemoteAddrRequest + (*UpdateHTTPWebCharsetRequest)(nil), // 11: pb.UpdateHTTPWebCharsetRequest + (*UpdateHTTPWebRequestHeaderRequest)(nil), // 12: pb.UpdateHTTPWebRequestHeaderRequest + (*UpdateHTTPWebResponseHeaderRequest)(nil), // 13: pb.UpdateHTTPWebResponseHeaderRequest + (*UpdateHTTPWebShutdownRequest)(nil), // 14: pb.UpdateHTTPWebShutdownRequest + (*UpdateHTTPWebPagesRequest)(nil), // 15: pb.UpdateHTTPWebPagesRequest + (*UpdateHTTPWebAccessLogRequest)(nil), // 16: pb.UpdateHTTPWebAccessLogRequest + (*UpdateHTTPWebStatRequest)(nil), // 17: pb.UpdateHTTPWebStatRequest + (*UpdateHTTPWebCacheRequest)(nil), // 18: pb.UpdateHTTPWebCacheRequest + (*UpdateHTTPWebFirewallRequest)(nil), // 19: pb.UpdateHTTPWebFirewallRequest + (*UpdateHTTPWebLocationsRequest)(nil), // 20: pb.UpdateHTTPWebLocationsRequest + (*UpdateHTTPWebRedirectToHTTPSRequest)(nil), // 21: pb.UpdateHTTPWebRedirectToHTTPSRequest + (*UpdateHTTPWebWebsocketRequest)(nil), // 22: pb.UpdateHTTPWebWebsocketRequest + (*UpdateHTTPWebFastcgiRequest)(nil), // 23: pb.UpdateHTTPWebFastcgiRequest + (*UpdateHTTPWebRewriteRulesRequest)(nil), // 24: pb.UpdateHTTPWebRewriteRulesRequest + (*UpdateHTTPWebHostRedirectsRequest)(nil), // 25: pb.UpdateHTTPWebHostRedirectsRequest + (*FindHTTPWebHostRedirectsRequest)(nil), // 26: pb.FindHTTPWebHostRedirectsRequest + (*FindHTTPWebHostRedirectsResponse)(nil), // 27: pb.FindHTTPWebHostRedirectsResponse + (*UpdateHTTPWebAuthRequest)(nil), // 28: pb.UpdateHTTPWebAuthRequest + (*UpdateHTTPWebCommonRequest)(nil), // 29: pb.UpdateHTTPWebCommonRequest + (*UpdateHTTPWebRequestLimitRequest)(nil), // 30: pb.UpdateHTTPWebRequestLimitRequest + (*FindHTTPWebRequestLimitRequest)(nil), // 31: pb.FindHTTPWebRequestLimitRequest + (*FindHTTPWebRequestLimitResponse)(nil), // 32: pb.FindHTTPWebRequestLimitResponse + (*UpdateHTTPWebRequestScriptsRequest)(nil), // 33: pb.UpdateHTTPWebRequestScriptsRequest + (*FindHTTPWebRequestScriptsRequest)(nil), // 34: pb.FindHTTPWebRequestScriptsRequest + (*FindHTTPWebRequestScriptsResponse)(nil), // 35: pb.FindHTTPWebRequestScriptsResponse + (*UpdateHTTPWebUAMRequest)(nil), // 36: pb.UpdateHTTPWebUAMRequest + (*FindHTTPWebUAMRequest)(nil), // 37: pb.FindHTTPWebUAMRequest + (*FindHTTPWebUAMResponse)(nil), // 38: pb.FindHTTPWebUAMResponse + (*UpdateHTTPWebCCRequest)(nil), // 39: pb.UpdateHTTPWebCCRequest + (*FindHTTPWebCCRequest)(nil), // 40: pb.FindHTTPWebCCRequest + (*FindHTTPWebCCResponse)(nil), // 41: pb.FindHTTPWebCCResponse + (*UpdateHTTPWebReferersRequest)(nil), // 42: pb.UpdateHTTPWebReferersRequest + (*FindHTTPWebReferersRequest)(nil), // 43: pb.FindHTTPWebReferersRequest + (*FindHTTPWebReferersResponse)(nil), // 44: pb.FindHTTPWebReferersResponse + (*UpdateHTTPWebUserAgentRequest)(nil), // 45: pb.UpdateHTTPWebUserAgentRequest + (*FindHTTPWebUserAgentRequest)(nil), // 46: pb.FindHTTPWebUserAgentRequest + (*FindHTTPWebUserAgentResponse)(nil), // 47: pb.FindHTTPWebUserAgentResponse + (*HTTPWeb)(nil), // 48: pb.HTTPWeb + (*RPCSuccess)(nil), // 49: pb.RPCSuccess } var file_service_http_web_proto_depIdxs = []int32{ - 47, // 0: pb.FindEnabledHTTPWebResponse.httpWeb:type_name -> pb.HTTPWeb + 48, // 0: pb.FindEnabledHTTPWebResponse.httpWeb:type_name -> pb.HTTPWeb 0, // 1: pb.HTTPWebService.createHTTPWeb:input_type -> pb.CreateHTTPWebRequest 2, // 2: pb.HTTPWebService.findEnabledHTTPWeb:input_type -> pb.FindEnabledHTTPWebRequest 4, // 3: pb.HTTPWebService.findEnabledHTTPWebConfig:input_type -> pb.FindEnabledHTTPWebConfigRequest 6, // 4: pb.HTTPWebService.updateHTTPWeb:input_type -> pb.UpdateHTTPWebRequest 7, // 5: pb.HTTPWebService.updateHTTPWebCompression:input_type -> pb.UpdateHTTPWebCompressionRequest - 8, // 6: pb.HTTPWebService.updateHTTPWebWebP:input_type -> pb.UpdateHTTPWebWebPRequest - 9, // 7: pb.HTTPWebService.updateHTTPWebRemoteAddr:input_type -> pb.UpdateHTTPWebRemoteAddrRequest - 10, // 8: pb.HTTPWebService.updateHTTPWebCharset:input_type -> pb.UpdateHTTPWebCharsetRequest - 11, // 9: pb.HTTPWebService.updateHTTPWebRequestHeader:input_type -> pb.UpdateHTTPWebRequestHeaderRequest - 12, // 10: pb.HTTPWebService.updateHTTPWebResponseHeader:input_type -> pb.UpdateHTTPWebResponseHeaderRequest - 13, // 11: pb.HTTPWebService.updateHTTPWebShutdown:input_type -> pb.UpdateHTTPWebShutdownRequest - 14, // 12: pb.HTTPWebService.updateHTTPWebPages:input_type -> pb.UpdateHTTPWebPagesRequest - 15, // 13: pb.HTTPWebService.updateHTTPWebAccessLog:input_type -> pb.UpdateHTTPWebAccessLogRequest - 16, // 14: pb.HTTPWebService.updateHTTPWebStat:input_type -> pb.UpdateHTTPWebStatRequest - 17, // 15: pb.HTTPWebService.updateHTTPWebCache:input_type -> pb.UpdateHTTPWebCacheRequest - 18, // 16: pb.HTTPWebService.updateHTTPWebFirewall:input_type -> pb.UpdateHTTPWebFirewallRequest - 19, // 17: pb.HTTPWebService.updateHTTPWebLocations:input_type -> pb.UpdateHTTPWebLocationsRequest - 20, // 18: pb.HTTPWebService.updateHTTPWebRedirectToHTTPS:input_type -> pb.UpdateHTTPWebRedirectToHTTPSRequest - 21, // 19: pb.HTTPWebService.updateHTTPWebWebsocket:input_type -> pb.UpdateHTTPWebWebsocketRequest - 22, // 20: pb.HTTPWebService.updateHTTPWebFastcgi:input_type -> pb.UpdateHTTPWebFastcgiRequest - 23, // 21: pb.HTTPWebService.updateHTTPWebRewriteRules:input_type -> pb.UpdateHTTPWebRewriteRulesRequest - 24, // 22: pb.HTTPWebService.updateHTTPWebHostRedirects:input_type -> pb.UpdateHTTPWebHostRedirectsRequest - 25, // 23: pb.HTTPWebService.findHTTPWebHostRedirects:input_type -> pb.FindHTTPWebHostRedirectsRequest - 27, // 24: pb.HTTPWebService.updateHTTPWebAuth:input_type -> pb.UpdateHTTPWebAuthRequest - 28, // 25: pb.HTTPWebService.updateHTTPWebCommon:input_type -> pb.UpdateHTTPWebCommonRequest - 29, // 26: pb.HTTPWebService.updateHTTPWebRequestLimit:input_type -> pb.UpdateHTTPWebRequestLimitRequest - 30, // 27: pb.HTTPWebService.findHTTPWebRequestLimit:input_type -> pb.FindHTTPWebRequestLimitRequest - 32, // 28: pb.HTTPWebService.updateHTTPWebRequestScripts:input_type -> pb.UpdateHTTPWebRequestScriptsRequest - 33, // 29: pb.HTTPWebService.findHTTPWebRequestScripts:input_type -> pb.FindHTTPWebRequestScriptsRequest - 35, // 30: pb.HTTPWebService.updateHTTPWebUAM:input_type -> pb.UpdateHTTPWebUAMRequest - 36, // 31: pb.HTTPWebService.findHTTPWebUAM:input_type -> pb.FindHTTPWebUAMRequest - 38, // 32: pb.HTTPWebService.updateHTTPWebCC:input_type -> pb.UpdateHTTPWebCCRequest - 39, // 33: pb.HTTPWebService.findHTTPWebCC:input_type -> pb.FindHTTPWebCCRequest - 41, // 34: pb.HTTPWebService.updateHTTPWebReferers:input_type -> pb.UpdateHTTPWebReferersRequest - 42, // 35: pb.HTTPWebService.findHTTPWebReferers:input_type -> pb.FindHTTPWebReferersRequest - 44, // 36: pb.HTTPWebService.updateHTTPWebUserAgent:input_type -> pb.UpdateHTTPWebUserAgentRequest - 45, // 37: pb.HTTPWebService.findHTTPWebUserAgent:input_type -> pb.FindHTTPWebUserAgentRequest - 1, // 38: pb.HTTPWebService.createHTTPWeb:output_type -> pb.CreateHTTPWebResponse - 3, // 39: pb.HTTPWebService.findEnabledHTTPWeb:output_type -> pb.FindEnabledHTTPWebResponse - 5, // 40: pb.HTTPWebService.findEnabledHTTPWebConfig:output_type -> pb.FindEnabledHTTPWebConfigResponse - 48, // 41: pb.HTTPWebService.updateHTTPWeb:output_type -> pb.RPCSuccess - 48, // 42: pb.HTTPWebService.updateHTTPWebCompression:output_type -> pb.RPCSuccess - 48, // 43: pb.HTTPWebService.updateHTTPWebWebP:output_type -> pb.RPCSuccess - 48, // 44: pb.HTTPWebService.updateHTTPWebRemoteAddr:output_type -> pb.RPCSuccess - 48, // 45: pb.HTTPWebService.updateHTTPWebCharset:output_type -> pb.RPCSuccess - 48, // 46: pb.HTTPWebService.updateHTTPWebRequestHeader:output_type -> pb.RPCSuccess - 48, // 47: pb.HTTPWebService.updateHTTPWebResponseHeader:output_type -> pb.RPCSuccess - 48, // 48: pb.HTTPWebService.updateHTTPWebShutdown:output_type -> pb.RPCSuccess - 48, // 49: pb.HTTPWebService.updateHTTPWebPages:output_type -> pb.RPCSuccess - 48, // 50: pb.HTTPWebService.updateHTTPWebAccessLog:output_type -> pb.RPCSuccess - 48, // 51: pb.HTTPWebService.updateHTTPWebStat:output_type -> pb.RPCSuccess - 48, // 52: pb.HTTPWebService.updateHTTPWebCache:output_type -> pb.RPCSuccess - 48, // 53: pb.HTTPWebService.updateHTTPWebFirewall:output_type -> pb.RPCSuccess - 48, // 54: pb.HTTPWebService.updateHTTPWebLocations:output_type -> pb.RPCSuccess - 48, // 55: pb.HTTPWebService.updateHTTPWebRedirectToHTTPS:output_type -> pb.RPCSuccess - 48, // 56: pb.HTTPWebService.updateHTTPWebWebsocket:output_type -> pb.RPCSuccess - 48, // 57: pb.HTTPWebService.updateHTTPWebFastcgi:output_type -> pb.RPCSuccess - 48, // 58: pb.HTTPWebService.updateHTTPWebRewriteRules:output_type -> pb.RPCSuccess - 48, // 59: pb.HTTPWebService.updateHTTPWebHostRedirects:output_type -> pb.RPCSuccess - 26, // 60: pb.HTTPWebService.findHTTPWebHostRedirects:output_type -> pb.FindHTTPWebHostRedirectsResponse - 48, // 61: pb.HTTPWebService.updateHTTPWebAuth:output_type -> pb.RPCSuccess - 48, // 62: pb.HTTPWebService.updateHTTPWebCommon:output_type -> pb.RPCSuccess - 48, // 63: pb.HTTPWebService.updateHTTPWebRequestLimit:output_type -> pb.RPCSuccess - 31, // 64: pb.HTTPWebService.findHTTPWebRequestLimit:output_type -> pb.FindHTTPWebRequestLimitResponse - 48, // 65: pb.HTTPWebService.updateHTTPWebRequestScripts:output_type -> pb.RPCSuccess - 34, // 66: pb.HTTPWebService.findHTTPWebRequestScripts:output_type -> pb.FindHTTPWebRequestScriptsResponse - 48, // 67: pb.HTTPWebService.updateHTTPWebUAM:output_type -> pb.RPCSuccess - 37, // 68: pb.HTTPWebService.findHTTPWebUAM:output_type -> pb.FindHTTPWebUAMResponse - 48, // 69: pb.HTTPWebService.updateHTTPWebCC:output_type -> pb.RPCSuccess - 40, // 70: pb.HTTPWebService.findHTTPWebCC:output_type -> pb.FindHTTPWebCCResponse - 48, // 71: pb.HTTPWebService.updateHTTPWebReferers:output_type -> pb.RPCSuccess - 43, // 72: pb.HTTPWebService.findHTTPWebReferers:output_type -> pb.FindHTTPWebReferersResponse - 48, // 73: pb.HTTPWebService.updateHTTPWebUserAgent:output_type -> pb.RPCSuccess - 46, // 74: pb.HTTPWebService.findHTTPWebUserAgent:output_type -> pb.FindHTTPWebUserAgentResponse - 38, // [38:75] is the sub-list for method output_type - 1, // [1:38] is the sub-list for method input_type + 8, // 6: pb.HTTPWebService.updateHTTPWebOptimization:input_type -> pb.UpdateHTTPWebOptimizationRequest + 9, // 7: pb.HTTPWebService.updateHTTPWebWebP:input_type -> pb.UpdateHTTPWebWebPRequest + 10, // 8: pb.HTTPWebService.updateHTTPWebRemoteAddr:input_type -> pb.UpdateHTTPWebRemoteAddrRequest + 11, // 9: pb.HTTPWebService.updateHTTPWebCharset:input_type -> pb.UpdateHTTPWebCharsetRequest + 12, // 10: pb.HTTPWebService.updateHTTPWebRequestHeader:input_type -> pb.UpdateHTTPWebRequestHeaderRequest + 13, // 11: pb.HTTPWebService.updateHTTPWebResponseHeader:input_type -> pb.UpdateHTTPWebResponseHeaderRequest + 14, // 12: pb.HTTPWebService.updateHTTPWebShutdown:input_type -> pb.UpdateHTTPWebShutdownRequest + 15, // 13: pb.HTTPWebService.updateHTTPWebPages:input_type -> pb.UpdateHTTPWebPagesRequest + 16, // 14: pb.HTTPWebService.updateHTTPWebAccessLog:input_type -> pb.UpdateHTTPWebAccessLogRequest + 17, // 15: pb.HTTPWebService.updateHTTPWebStat:input_type -> pb.UpdateHTTPWebStatRequest + 18, // 16: pb.HTTPWebService.updateHTTPWebCache:input_type -> pb.UpdateHTTPWebCacheRequest + 19, // 17: pb.HTTPWebService.updateHTTPWebFirewall:input_type -> pb.UpdateHTTPWebFirewallRequest + 20, // 18: pb.HTTPWebService.updateHTTPWebLocations:input_type -> pb.UpdateHTTPWebLocationsRequest + 21, // 19: pb.HTTPWebService.updateHTTPWebRedirectToHTTPS:input_type -> pb.UpdateHTTPWebRedirectToHTTPSRequest + 22, // 20: pb.HTTPWebService.updateHTTPWebWebsocket:input_type -> pb.UpdateHTTPWebWebsocketRequest + 23, // 21: pb.HTTPWebService.updateHTTPWebFastcgi:input_type -> pb.UpdateHTTPWebFastcgiRequest + 24, // 22: pb.HTTPWebService.updateHTTPWebRewriteRules:input_type -> pb.UpdateHTTPWebRewriteRulesRequest + 25, // 23: pb.HTTPWebService.updateHTTPWebHostRedirects:input_type -> pb.UpdateHTTPWebHostRedirectsRequest + 26, // 24: pb.HTTPWebService.findHTTPWebHostRedirects:input_type -> pb.FindHTTPWebHostRedirectsRequest + 28, // 25: pb.HTTPWebService.updateHTTPWebAuth:input_type -> pb.UpdateHTTPWebAuthRequest + 29, // 26: pb.HTTPWebService.updateHTTPWebCommon:input_type -> pb.UpdateHTTPWebCommonRequest + 30, // 27: pb.HTTPWebService.updateHTTPWebRequestLimit:input_type -> pb.UpdateHTTPWebRequestLimitRequest + 31, // 28: pb.HTTPWebService.findHTTPWebRequestLimit:input_type -> pb.FindHTTPWebRequestLimitRequest + 33, // 29: pb.HTTPWebService.updateHTTPWebRequestScripts:input_type -> pb.UpdateHTTPWebRequestScriptsRequest + 34, // 30: pb.HTTPWebService.findHTTPWebRequestScripts:input_type -> pb.FindHTTPWebRequestScriptsRequest + 36, // 31: pb.HTTPWebService.updateHTTPWebUAM:input_type -> pb.UpdateHTTPWebUAMRequest + 37, // 32: pb.HTTPWebService.findHTTPWebUAM:input_type -> pb.FindHTTPWebUAMRequest + 39, // 33: pb.HTTPWebService.updateHTTPWebCC:input_type -> pb.UpdateHTTPWebCCRequest + 40, // 34: pb.HTTPWebService.findHTTPWebCC:input_type -> pb.FindHTTPWebCCRequest + 42, // 35: pb.HTTPWebService.updateHTTPWebReferers:input_type -> pb.UpdateHTTPWebReferersRequest + 43, // 36: pb.HTTPWebService.findHTTPWebReferers:input_type -> pb.FindHTTPWebReferersRequest + 45, // 37: pb.HTTPWebService.updateHTTPWebUserAgent:input_type -> pb.UpdateHTTPWebUserAgentRequest + 46, // 38: pb.HTTPWebService.findHTTPWebUserAgent:input_type -> pb.FindHTTPWebUserAgentRequest + 1, // 39: pb.HTTPWebService.createHTTPWeb:output_type -> pb.CreateHTTPWebResponse + 3, // 40: pb.HTTPWebService.findEnabledHTTPWeb:output_type -> pb.FindEnabledHTTPWebResponse + 5, // 41: pb.HTTPWebService.findEnabledHTTPWebConfig:output_type -> pb.FindEnabledHTTPWebConfigResponse + 49, // 42: pb.HTTPWebService.updateHTTPWeb:output_type -> pb.RPCSuccess + 49, // 43: pb.HTTPWebService.updateHTTPWebCompression:output_type -> pb.RPCSuccess + 49, // 44: pb.HTTPWebService.updateHTTPWebOptimization:output_type -> pb.RPCSuccess + 49, // 45: pb.HTTPWebService.updateHTTPWebWebP:output_type -> pb.RPCSuccess + 49, // 46: pb.HTTPWebService.updateHTTPWebRemoteAddr:output_type -> pb.RPCSuccess + 49, // 47: pb.HTTPWebService.updateHTTPWebCharset:output_type -> pb.RPCSuccess + 49, // 48: pb.HTTPWebService.updateHTTPWebRequestHeader:output_type -> pb.RPCSuccess + 49, // 49: pb.HTTPWebService.updateHTTPWebResponseHeader:output_type -> pb.RPCSuccess + 49, // 50: pb.HTTPWebService.updateHTTPWebShutdown:output_type -> pb.RPCSuccess + 49, // 51: pb.HTTPWebService.updateHTTPWebPages:output_type -> pb.RPCSuccess + 49, // 52: pb.HTTPWebService.updateHTTPWebAccessLog:output_type -> pb.RPCSuccess + 49, // 53: pb.HTTPWebService.updateHTTPWebStat:output_type -> pb.RPCSuccess + 49, // 54: pb.HTTPWebService.updateHTTPWebCache:output_type -> pb.RPCSuccess + 49, // 55: pb.HTTPWebService.updateHTTPWebFirewall:output_type -> pb.RPCSuccess + 49, // 56: pb.HTTPWebService.updateHTTPWebLocations:output_type -> pb.RPCSuccess + 49, // 57: pb.HTTPWebService.updateHTTPWebRedirectToHTTPS:output_type -> pb.RPCSuccess + 49, // 58: pb.HTTPWebService.updateHTTPWebWebsocket:output_type -> pb.RPCSuccess + 49, // 59: pb.HTTPWebService.updateHTTPWebFastcgi:output_type -> pb.RPCSuccess + 49, // 60: pb.HTTPWebService.updateHTTPWebRewriteRules:output_type -> pb.RPCSuccess + 49, // 61: pb.HTTPWebService.updateHTTPWebHostRedirects:output_type -> pb.RPCSuccess + 27, // 62: pb.HTTPWebService.findHTTPWebHostRedirects:output_type -> pb.FindHTTPWebHostRedirectsResponse + 49, // 63: pb.HTTPWebService.updateHTTPWebAuth:output_type -> pb.RPCSuccess + 49, // 64: pb.HTTPWebService.updateHTTPWebCommon:output_type -> pb.RPCSuccess + 49, // 65: pb.HTTPWebService.updateHTTPWebRequestLimit:output_type -> pb.RPCSuccess + 32, // 66: pb.HTTPWebService.findHTTPWebRequestLimit:output_type -> pb.FindHTTPWebRequestLimitResponse + 49, // 67: pb.HTTPWebService.updateHTTPWebRequestScripts:output_type -> pb.RPCSuccess + 35, // 68: pb.HTTPWebService.findHTTPWebRequestScripts:output_type -> pb.FindHTTPWebRequestScriptsResponse + 49, // 69: pb.HTTPWebService.updateHTTPWebUAM:output_type -> pb.RPCSuccess + 38, // 70: pb.HTTPWebService.findHTTPWebUAM:output_type -> pb.FindHTTPWebUAMResponse + 49, // 71: pb.HTTPWebService.updateHTTPWebCC:output_type -> pb.RPCSuccess + 41, // 72: pb.HTTPWebService.findHTTPWebCC:output_type -> pb.FindHTTPWebCCResponse + 49, // 73: pb.HTTPWebService.updateHTTPWebReferers:output_type -> pb.RPCSuccess + 44, // 74: pb.HTTPWebService.findHTTPWebReferers:output_type -> pb.FindHTTPWebReferersResponse + 49, // 75: pb.HTTPWebService.updateHTTPWebUserAgent:output_type -> pb.RPCSuccess + 47, // 76: pb.HTTPWebService.findHTTPWebUserAgent:output_type -> pb.FindHTTPWebUserAgentResponse + 39, // [39:77] is the sub-list for method output_type + 1, // [1:39] 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 @@ -3184,7 +3255,7 @@ func file_service_http_web_proto_init() { } } file_service_http_web_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateHTTPWebWebPRequest); i { + switch v := v.(*UpdateHTTPWebOptimizationRequest); i { case 0: return &v.state case 1: @@ -3196,7 +3267,7 @@ func file_service_http_web_proto_init() { } } file_service_http_web_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateHTTPWebRemoteAddrRequest); i { + switch v := v.(*UpdateHTTPWebWebPRequest); i { case 0: return &v.state case 1: @@ -3208,7 +3279,7 @@ func file_service_http_web_proto_init() { } } file_service_http_web_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateHTTPWebCharsetRequest); i { + switch v := v.(*UpdateHTTPWebRemoteAddrRequest); i { case 0: return &v.state case 1: @@ -3220,7 +3291,7 @@ func file_service_http_web_proto_init() { } } file_service_http_web_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateHTTPWebRequestHeaderRequest); i { + switch v := v.(*UpdateHTTPWebCharsetRequest); i { case 0: return &v.state case 1: @@ -3232,7 +3303,7 @@ func file_service_http_web_proto_init() { } } file_service_http_web_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateHTTPWebResponseHeaderRequest); i { + switch v := v.(*UpdateHTTPWebRequestHeaderRequest); i { case 0: return &v.state case 1: @@ -3244,7 +3315,7 @@ func file_service_http_web_proto_init() { } } file_service_http_web_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateHTTPWebShutdownRequest); i { + switch v := v.(*UpdateHTTPWebResponseHeaderRequest); i { case 0: return &v.state case 1: @@ -3256,7 +3327,7 @@ func file_service_http_web_proto_init() { } } file_service_http_web_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateHTTPWebPagesRequest); i { + switch v := v.(*UpdateHTTPWebShutdownRequest); i { case 0: return &v.state case 1: @@ -3268,7 +3339,7 @@ func file_service_http_web_proto_init() { } } file_service_http_web_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateHTTPWebAccessLogRequest); i { + switch v := v.(*UpdateHTTPWebPagesRequest); i { case 0: return &v.state case 1: @@ -3280,7 +3351,7 @@ func file_service_http_web_proto_init() { } } file_service_http_web_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateHTTPWebStatRequest); i { + switch v := v.(*UpdateHTTPWebAccessLogRequest); i { case 0: return &v.state case 1: @@ -3292,7 +3363,7 @@ func file_service_http_web_proto_init() { } } file_service_http_web_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateHTTPWebCacheRequest); i { + switch v := v.(*UpdateHTTPWebStatRequest); i { case 0: return &v.state case 1: @@ -3304,7 +3375,7 @@ func file_service_http_web_proto_init() { } } file_service_http_web_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateHTTPWebFirewallRequest); i { + switch v := v.(*UpdateHTTPWebCacheRequest); i { case 0: return &v.state case 1: @@ -3316,7 +3387,7 @@ func file_service_http_web_proto_init() { } } file_service_http_web_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateHTTPWebLocationsRequest); i { + switch v := v.(*UpdateHTTPWebFirewallRequest); i { case 0: return &v.state case 1: @@ -3328,7 +3399,7 @@ func file_service_http_web_proto_init() { } } file_service_http_web_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateHTTPWebRedirectToHTTPSRequest); i { + switch v := v.(*UpdateHTTPWebLocationsRequest); i { case 0: return &v.state case 1: @@ -3340,7 +3411,7 @@ func file_service_http_web_proto_init() { } } file_service_http_web_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateHTTPWebWebsocketRequest); i { + switch v := v.(*UpdateHTTPWebRedirectToHTTPSRequest); i { case 0: return &v.state case 1: @@ -3352,7 +3423,7 @@ func file_service_http_web_proto_init() { } } file_service_http_web_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateHTTPWebFastcgiRequest); i { + switch v := v.(*UpdateHTTPWebWebsocketRequest); i { case 0: return &v.state case 1: @@ -3364,7 +3435,7 @@ func file_service_http_web_proto_init() { } } file_service_http_web_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateHTTPWebRewriteRulesRequest); i { + switch v := v.(*UpdateHTTPWebFastcgiRequest); i { case 0: return &v.state case 1: @@ -3376,7 +3447,7 @@ func file_service_http_web_proto_init() { } } file_service_http_web_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateHTTPWebHostRedirectsRequest); i { + switch v := v.(*UpdateHTTPWebRewriteRulesRequest); i { case 0: return &v.state case 1: @@ -3388,7 +3459,7 @@ func file_service_http_web_proto_init() { } } file_service_http_web_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*FindHTTPWebHostRedirectsRequest); i { + switch v := v.(*UpdateHTTPWebHostRedirectsRequest); i { case 0: return &v.state case 1: @@ -3400,7 +3471,7 @@ func file_service_http_web_proto_init() { } } file_service_http_web_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*FindHTTPWebHostRedirectsResponse); i { + switch v := v.(*FindHTTPWebHostRedirectsRequest); i { case 0: return &v.state case 1: @@ -3412,7 +3483,7 @@ func file_service_http_web_proto_init() { } } file_service_http_web_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateHTTPWebAuthRequest); i { + switch v := v.(*FindHTTPWebHostRedirectsResponse); i { case 0: return &v.state case 1: @@ -3424,7 +3495,7 @@ func file_service_http_web_proto_init() { } } file_service_http_web_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateHTTPWebCommonRequest); i { + switch v := v.(*UpdateHTTPWebAuthRequest); i { case 0: return &v.state case 1: @@ -3436,7 +3507,7 @@ func file_service_http_web_proto_init() { } } file_service_http_web_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateHTTPWebRequestLimitRequest); i { + switch v := v.(*UpdateHTTPWebCommonRequest); i { case 0: return &v.state case 1: @@ -3448,7 +3519,7 @@ func file_service_http_web_proto_init() { } } file_service_http_web_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*FindHTTPWebRequestLimitRequest); i { + switch v := v.(*UpdateHTTPWebRequestLimitRequest); i { case 0: return &v.state case 1: @@ -3460,7 +3531,7 @@ func file_service_http_web_proto_init() { } } file_service_http_web_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*FindHTTPWebRequestLimitResponse); i { + switch v := v.(*FindHTTPWebRequestLimitRequest); i { case 0: return &v.state case 1: @@ -3472,7 +3543,7 @@ func file_service_http_web_proto_init() { } } file_service_http_web_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateHTTPWebRequestScriptsRequest); i { + switch v := v.(*FindHTTPWebRequestLimitResponse); i { case 0: return &v.state case 1: @@ -3484,7 +3555,7 @@ func file_service_http_web_proto_init() { } } file_service_http_web_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*FindHTTPWebRequestScriptsRequest); i { + switch v := v.(*UpdateHTTPWebRequestScriptsRequest); i { case 0: return &v.state case 1: @@ -3496,7 +3567,7 @@ func file_service_http_web_proto_init() { } } file_service_http_web_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*FindHTTPWebRequestScriptsResponse); i { + switch v := v.(*FindHTTPWebRequestScriptsRequest); i { case 0: return &v.state case 1: @@ -3508,7 +3579,7 @@ func file_service_http_web_proto_init() { } } file_service_http_web_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateHTTPWebUAMRequest); i { + switch v := v.(*FindHTTPWebRequestScriptsResponse); i { case 0: return &v.state case 1: @@ -3520,7 +3591,7 @@ func file_service_http_web_proto_init() { } } file_service_http_web_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*FindHTTPWebUAMRequest); i { + switch v := v.(*UpdateHTTPWebUAMRequest); i { case 0: return &v.state case 1: @@ -3532,7 +3603,7 @@ func file_service_http_web_proto_init() { } } file_service_http_web_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*FindHTTPWebUAMResponse); i { + switch v := v.(*FindHTTPWebUAMRequest); i { case 0: return &v.state case 1: @@ -3544,7 +3615,7 @@ func file_service_http_web_proto_init() { } } file_service_http_web_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateHTTPWebCCRequest); i { + switch v := v.(*FindHTTPWebUAMResponse); i { case 0: return &v.state case 1: @@ -3556,7 +3627,7 @@ func file_service_http_web_proto_init() { } } file_service_http_web_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*FindHTTPWebCCRequest); i { + switch v := v.(*UpdateHTTPWebCCRequest); i { case 0: return &v.state case 1: @@ -3568,7 +3639,7 @@ func file_service_http_web_proto_init() { } } file_service_http_web_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*FindHTTPWebCCResponse); i { + switch v := v.(*FindHTTPWebCCRequest); i { case 0: return &v.state case 1: @@ -3580,7 +3651,7 @@ func file_service_http_web_proto_init() { } } file_service_http_web_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateHTTPWebReferersRequest); i { + switch v := v.(*FindHTTPWebCCResponse); i { case 0: return &v.state case 1: @@ -3592,7 +3663,7 @@ func file_service_http_web_proto_init() { } } file_service_http_web_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*FindHTTPWebReferersRequest); i { + switch v := v.(*UpdateHTTPWebReferersRequest); i { case 0: return &v.state case 1: @@ -3604,7 +3675,7 @@ func file_service_http_web_proto_init() { } } file_service_http_web_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*FindHTTPWebReferersResponse); i { + switch v := v.(*FindHTTPWebReferersRequest); i { case 0: return &v.state case 1: @@ -3616,7 +3687,7 @@ func file_service_http_web_proto_init() { } } file_service_http_web_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateHTTPWebUserAgentRequest); i { + switch v := v.(*FindHTTPWebReferersResponse); i { case 0: return &v.state case 1: @@ -3628,7 +3699,7 @@ func file_service_http_web_proto_init() { } } file_service_http_web_proto_msgTypes[45].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*FindHTTPWebUserAgentRequest); i { + switch v := v.(*UpdateHTTPWebUserAgentRequest); i { case 0: return &v.state case 1: @@ -3640,6 +3711,18 @@ func file_service_http_web_proto_init() { } } file_service_http_web_proto_msgTypes[46].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FindHTTPWebUserAgentRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_service_http_web_proto_msgTypes[47].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FindHTTPWebUserAgentResponse); i { case 0: return &v.state @@ -3658,7 +3741,7 @@ func file_service_http_web_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_service_http_web_proto_rawDesc, NumEnums: 0, - NumMessages: 47, + NumMessages: 48, NumExtensions: 0, NumServices: 1, }, @@ -3694,6 +3777,8 @@ type HTTPWebServiceClient interface { UpdateHTTPWeb(ctx context.Context, in *UpdateHTTPWebRequest, opts ...grpc.CallOption) (*RPCSuccess, error) // 更改压缩配置 UpdateHTTPWebCompression(ctx context.Context, in *UpdateHTTPWebCompressionRequest, opts ...grpc.CallOption) (*RPCSuccess, error) + // 更改页面优化配置 + UpdateHTTPWebOptimization(ctx context.Context, in *UpdateHTTPWebOptimizationRequest, opts ...grpc.CallOption) (*RPCSuccess, error) // 更改WebP配置 UpdateHTTPWebWebP(ctx context.Context, in *UpdateHTTPWebWebPRequest, opts ...grpc.CallOption) (*RPCSuccess, error) // 更改RemoteAddr配置 @@ -3813,6 +3898,15 @@ func (c *hTTPWebServiceClient) UpdateHTTPWebCompression(ctx context.Context, in return out, nil } +func (c *hTTPWebServiceClient) UpdateHTTPWebOptimization(ctx context.Context, in *UpdateHTTPWebOptimizationRequest, opts ...grpc.CallOption) (*RPCSuccess, error) { + out := new(RPCSuccess) + err := c.cc.Invoke(ctx, "/pb.HTTPWebService/updateHTTPWebOptimization", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + func (c *hTTPWebServiceClient) UpdateHTTPWebWebP(ctx context.Context, in *UpdateHTTPWebWebPRequest, opts ...grpc.CallOption) (*RPCSuccess, error) { out := new(RPCSuccess) err := c.cc.Invoke(ctx, "/pb.HTTPWebService/updateHTTPWebWebP", in, out, opts...) @@ -4113,6 +4207,8 @@ type HTTPWebServiceServer interface { UpdateHTTPWeb(context.Context, *UpdateHTTPWebRequest) (*RPCSuccess, error) // 更改压缩配置 UpdateHTTPWebCompression(context.Context, *UpdateHTTPWebCompressionRequest) (*RPCSuccess, error) + // 更改页面优化配置 + UpdateHTTPWebOptimization(context.Context, *UpdateHTTPWebOptimizationRequest) (*RPCSuccess, error) // 更改WebP配置 UpdateHTTPWebWebP(context.Context, *UpdateHTTPWebWebPRequest) (*RPCSuccess, error) // 更改RemoteAddr配置 @@ -4198,6 +4294,9 @@ func (*UnimplementedHTTPWebServiceServer) UpdateHTTPWeb(context.Context, *Update func (*UnimplementedHTTPWebServiceServer) UpdateHTTPWebCompression(context.Context, *UpdateHTTPWebCompressionRequest) (*RPCSuccess, error) { return nil, status.Errorf(codes.Unimplemented, "method UpdateHTTPWebCompression not implemented") } +func (*UnimplementedHTTPWebServiceServer) UpdateHTTPWebOptimization(context.Context, *UpdateHTTPWebOptimizationRequest) (*RPCSuccess, error) { + return nil, status.Errorf(codes.Unimplemented, "method UpdateHTTPWebOptimization not implemented") +} func (*UnimplementedHTTPWebServiceServer) UpdateHTTPWebWebP(context.Context, *UpdateHTTPWebWebPRequest) (*RPCSuccess, error) { return nil, status.Errorf(codes.Unimplemented, "method UpdateHTTPWebWebP not implemented") } @@ -4389,6 +4488,24 @@ func _HTTPWebService_UpdateHTTPWebCompression_Handler(srv interface{}, ctx conte return interceptor(ctx, in, info, handler) } +func _HTTPWebService_UpdateHTTPWebOptimization_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(UpdateHTTPWebOptimizationRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(HTTPWebServiceServer).UpdateHTTPWebOptimization(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/pb.HTTPWebService/UpdateHTTPWebOptimization", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(HTTPWebServiceServer).UpdateHTTPWebOptimization(ctx, req.(*UpdateHTTPWebOptimizationRequest)) + } + return interceptor(ctx, in, info, handler) +} + func _HTTPWebService_UpdateHTTPWebWebP_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(UpdateHTTPWebWebPRequest) if err := dec(in); err != nil { @@ -4989,6 +5106,10 @@ var _HTTPWebService_serviceDesc = grpc.ServiceDesc{ MethodName: "updateHTTPWebCompression", Handler: _HTTPWebService_UpdateHTTPWebCompression_Handler, }, + { + MethodName: "updateHTTPWebOptimization", + Handler: _HTTPWebService_UpdateHTTPWebOptimization_Handler, + }, { MethodName: "updateHTTPWebWebP", Handler: _HTTPWebService_UpdateHTTPWebWebP_Handler, diff --git a/pkg/rpc/pb/service_server_group.pb.go b/pkg/rpc/pb/service_server_group.pb.go index b379999..52da152 100644 --- a/pkg/rpc/pb/service_server_group.pb.go +++ b/pkg/rpc/pb/service_server_group.pb.go @@ -1014,6 +1014,7 @@ type FindEnabledServerGroupConfigInfoResponse struct { HasCharsetConfig bool `protobuf:"varint,8,opt,name=hasCharsetConfig,proto3" json:"hasCharsetConfig,omitempty"` HasStatConfig bool `protobuf:"varint,9,opt,name=hasStatConfig,proto3" json:"hasStatConfig,omitempty"` HasCompressionConfig bool `protobuf:"varint,10,opt,name=hasCompressionConfig,proto3" json:"hasCompressionConfig,omitempty"` + HasOptimizationConfig bool `protobuf:"varint,20,opt,name=hasOptimizationConfig,proto3" json:"hasOptimizationConfig,omitempty"` HasRequestHeadersConfig bool `protobuf:"varint,11,opt,name=hasRequestHeadersConfig,proto3" json:"hasRequestHeadersConfig,omitempty"` HasResponseHeadersConfig bool `protobuf:"varint,12,opt,name=hasResponseHeadersConfig,proto3" json:"hasResponseHeadersConfig,omitempty"` HasWebsocketConfig bool `protobuf:"varint,13,opt,name=hasWebsocketConfig,proto3" json:"hasWebsocketConfig,omitempty"` @@ -1127,6 +1128,13 @@ func (x *FindEnabledServerGroupConfigInfoResponse) GetHasCompressionConfig() boo return false } +func (x *FindEnabledServerGroupConfigInfoResponse) GetHasOptimizationConfig() bool { + if x != nil { + return x.HasOptimizationConfig + } + return false +} + func (x *FindEnabledServerGroupConfigInfoResponse) GetHasRequestHeadersConfig() bool { if x != nil { return x.HasRequestHeadersConfig @@ -1410,7 +1418,7 @@ var file_service_server_group_proto_rawDesc = []byte{ 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, - 0x49, 0x64, 0x22, 0xa0, 0x07, 0x0a, 0x28, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, + 0x49, 0x64, 0x22, 0xd6, 0x07, 0x0a, 0x28, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x30, 0x0a, 0x13, 0x68, 0x61, 0x73, 0x48, 0x54, 0x54, 0x50, 0x52, 0x65, 0x76, 0x65, 0x72, 0x73, @@ -1440,142 +1448,146 @@ var file_service_server_group_proto_rawDesc = []byte{ 0x61, 0x73, 0x43, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x14, 0x68, 0x61, 0x73, 0x43, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, - 0x38, 0x0a, 0x17, 0x68, 0x61, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x65, 0x61, - 0x64, 0x65, 0x72, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, - 0x52, 0x17, 0x68, 0x61, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x65, 0x61, 0x64, - 0x65, 0x72, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x3a, 0x0a, 0x18, 0x68, 0x61, 0x73, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x43, - 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x18, 0x68, 0x61, 0x73, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x43, - 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x2e, 0x0a, 0x12, 0x68, 0x61, 0x73, 0x57, 0x65, 0x62, 0x73, - 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x0d, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x12, 0x68, 0x61, 0x73, 0x57, 0x65, 0x62, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x43, - 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x24, 0x0a, 0x0d, 0x68, 0x61, 0x73, 0x57, 0x65, 0x62, 0x50, - 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x68, 0x61, - 0x73, 0x57, 0x65, 0x62, 0x50, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x2e, 0x0a, 0x12, 0x68, + 0x34, 0x0a, 0x15, 0x68, 0x61, 0x73, 0x4f, 0x70, 0x74, 0x69, 0x6d, 0x69, 0x7a, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x14, 0x20, 0x01, 0x28, 0x08, 0x52, 0x15, + 0x68, 0x61, 0x73, 0x4f, 0x70, 0x74, 0x69, 0x6d, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x38, 0x0a, 0x17, 0x68, 0x61, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x17, 0x68, 0x61, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, + 0x3a, 0x0a, 0x18, 0x68, 0x61, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x65, + 0x61, 0x64, 0x65, 0x72, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x0c, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x18, 0x68, 0x61, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x65, + 0x61, 0x64, 0x65, 0x72, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x2e, 0x0a, 0x12, 0x68, + 0x61, 0x73, 0x57, 0x65, 0x62, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x68, 0x61, 0x73, 0x57, 0x65, 0x62, 0x73, + 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x24, 0x0a, 0x0d, 0x68, + 0x61, 0x73, 0x57, 0x65, 0x62, 0x50, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x0e, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x0d, 0x68, 0x61, 0x73, 0x57, 0x65, 0x62, 0x50, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x12, 0x2e, 0x0a, 0x12, 0x68, 0x61, 0x73, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, + 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x68, 0x61, 0x73, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x68, 0x61, 0x73, 0x41, 0x63, 0x63, 0x65, - 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x30, 0x0a, 0x13, 0x68, - 0x61, 0x73, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x41, 0x64, 0x64, 0x72, 0x43, 0x6f, 0x6e, 0x66, - 0x69, 0x67, 0x18, 0x10, 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, 0x68, 0x61, 0x73, 0x52, 0x65, 0x6d, - 0x6f, 0x74, 0x65, 0x41, 0x64, 0x64, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x26, 0x0a, - 0x0e, 0x68, 0x61, 0x73, 0x50, 0x61, 0x67, 0x65, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, - 0x11, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x68, 0x61, 0x73, 0x50, 0x61, 0x67, 0x65, 0x73, 0x43, - 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x34, 0x0a, 0x15, 0x68, 0x61, 0x73, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x12, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x15, 0x68, 0x61, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x38, 0x0a, 0x17, 0x68, - 0x61, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x53, 0x63, 0x72, 0x69, 0x70, 0x74, 0x73, - 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x13, 0x20, 0x01, 0x28, 0x08, 0x52, 0x17, 0x68, 0x61, - 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x53, 0x63, 0x72, 0x69, 0x70, 0x74, 0x73, 0x43, - 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0x4e, 0x0a, 0x26, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6e, 0x64, - 0x49, 0x6e, 0x69, 0x74, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x57, - 0x65, 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x24, 0x0a, 0x0d, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x47, 0x72, - 0x6f, 0x75, 0x70, 0x49, 0x64, 0x22, 0x43, 0x0a, 0x27, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6e, 0x64, - 0x49, 0x6e, 0x69, 0x74, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x57, - 0x65, 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x18, 0x0a, 0x07, 0x77, 0x65, 0x62, 0x4a, 0x53, 0x4f, 0x4e, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0c, 0x52, 0x07, 0x77, 0x65, 0x62, 0x4a, 0x53, 0x4f, 0x4e, 0x32, 0x8f, 0x0c, 0x0a, 0x12, 0x53, - 0x65, 0x72, 0x76, 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x12, 0x50, 0x0a, 0x11, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, - 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x1c, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x41, 0x0a, 0x11, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x65, 0x72, - 0x76, 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x1c, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, - 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x41, 0x0a, 0x11, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, - 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x1c, 0x2e, 0x70, 0x62, - 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x47, 0x72, 0x6f, - 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, - 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x6b, 0x0a, 0x1a, 0x66, 0x69, 0x6e, - 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x53, 0x65, 0x72, 0x76, 0x65, - 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x12, 0x25, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, - 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x53, 0x65, 0x72, 0x76, 0x65, - 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, - 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, - 0x65, 0x64, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4d, 0x0a, 0x17, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4f, 0x72, 0x64, 0x65, 0x72, - 0x73, 0x12, 0x22, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x65, 0x72, - 0x76, 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, - 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x5f, 0x0a, 0x16, 0x66, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, - 0x62, 0x6c, 0x65, 0x64, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, - 0x21, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, - 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, - 0x6c, 0x65, 0x64, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0xa1, 0x01, 0x0a, 0x2c, 0x66, 0x69, 0x6e, 0x64, 0x41, - 0x6e, 0x64, 0x49, 0x6e, 0x69, 0x74, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, - 0x70, 0x48, 0x54, 0x54, 0x50, 0x52, 0x65, 0x76, 0x65, 0x72, 0x73, 0x65, 0x50, 0x72, 0x6f, 0x78, - 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x37, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, - 0x64, 0x41, 0x6e, 0x64, 0x49, 0x6e, 0x69, 0x74, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x47, 0x72, - 0x6f, 0x75, 0x70, 0x48, 0x54, 0x54, 0x50, 0x52, 0x65, 0x76, 0x65, 0x72, 0x73, 0x65, 0x50, 0x72, - 0x6f, 0x78, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x38, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6e, 0x64, 0x49, 0x6e, 0x69, - 0x74, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x48, 0x54, 0x54, 0x50, - 0x52, 0x65, 0x76, 0x65, 0x72, 0x73, 0x65, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x43, 0x6f, 0x6e, 0x66, - 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x9e, 0x01, 0x0a, 0x2b, 0x66, + 0x67, 0x12, 0x30, 0x0a, 0x13, 0x68, 0x61, 0x73, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x41, 0x64, + 0x64, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x10, 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, + 0x68, 0x61, 0x73, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x41, 0x64, 0x64, 0x72, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x12, 0x26, 0x0a, 0x0e, 0x68, 0x61, 0x73, 0x50, 0x61, 0x67, 0x65, 0x73, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x11, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x68, 0x61, 0x73, + 0x50, 0x61, 0x67, 0x65, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x34, 0x0a, 0x15, 0x68, + 0x61, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x43, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x18, 0x12, 0x20, 0x01, 0x28, 0x08, 0x52, 0x15, 0x68, 0x61, 0x73, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x12, 0x38, 0x0a, 0x17, 0x68, 0x61, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x53, + 0x63, 0x72, 0x69, 0x70, 0x74, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x13, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x17, 0x68, 0x61, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x53, 0x63, + 0x72, 0x69, 0x70, 0x74, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0x4e, 0x0a, 0x26, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6e, 0x64, 0x49, 0x6e, 0x69, 0x74, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, - 0x47, 0x72, 0x6f, 0x75, 0x70, 0x54, 0x43, 0x50, 0x52, 0x65, 0x76, 0x65, 0x72, 0x73, 0x65, 0x50, - 0x72, 0x6f, 0x78, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x36, 0x2e, 0x70, 0x62, 0x2e, - 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6e, 0x64, 0x49, 0x6e, 0x69, 0x74, 0x53, 0x65, 0x72, 0x76, 0x65, - 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x54, 0x43, 0x50, 0x52, 0x65, 0x76, 0x65, 0x72, 0x73, 0x65, - 0x50, 0x72, 0x6f, 0x78, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x37, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6e, 0x64, 0x49, - 0x6e, 0x69, 0x74, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x54, 0x43, - 0x50, 0x52, 0x65, 0x76, 0x65, 0x72, 0x73, 0x65, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x43, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x9e, 0x01, 0x0a, 0x2b, - 0x66, 0x69, 0x6e, 0x64, 0x41, 0x6e, 0x64, 0x49, 0x6e, 0x69, 0x74, 0x53, 0x65, 0x72, 0x76, 0x65, - 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x55, 0x44, 0x50, 0x52, 0x65, 0x76, 0x65, 0x72, 0x73, 0x65, - 0x50, 0x72, 0x6f, 0x78, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x36, 0x2e, 0x70, 0x62, - 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6e, 0x64, 0x49, 0x6e, 0x69, 0x74, 0x53, 0x65, 0x72, 0x76, - 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x55, 0x44, 0x50, 0x52, 0x65, 0x76, 0x65, 0x72, 0x73, - 0x65, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x37, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6e, 0x64, - 0x49, 0x6e, 0x69, 0x74, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x55, - 0x44, 0x50, 0x52, 0x65, 0x76, 0x65, 0x72, 0x73, 0x65, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x43, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x61, 0x0a, 0x21, - 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, - 0x70, 0x48, 0x54, 0x54, 0x50, 0x52, 0x65, 0x76, 0x65, 0x72, 0x73, 0x65, 0x50, 0x72, 0x6f, 0x78, - 0x79, 0x12, 0x2c, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x65, 0x72, - 0x76, 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x48, 0x54, 0x54, 0x50, 0x52, 0x65, 0x76, 0x65, - 0x72, 0x73, 0x65, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x47, 0x72, 0x6f, 0x75, 0x70, 0x57, 0x65, 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x24, 0x0a, 0x0d, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x47, + 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x73, 0x65, + 0x72, 0x76, 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x22, 0x43, 0x0a, 0x27, 0x46, + 0x69, 0x6e, 0x64, 0x41, 0x6e, 0x64, 0x49, 0x6e, 0x69, 0x74, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, + 0x47, 0x72, 0x6f, 0x75, 0x70, 0x57, 0x65, 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x77, 0x65, 0x62, 0x4a, 0x53, 0x4f, + 0x4e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x77, 0x65, 0x62, 0x4a, 0x53, 0x4f, 0x4e, + 0x32, 0x8f, 0x0c, 0x0a, 0x12, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, + 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x50, 0x0a, 0x11, 0x63, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x1c, 0x2e, 0x70, + 0x62, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x47, 0x72, + 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x70, 0x62, 0x2e, + 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, + 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x41, 0x0a, 0x11, 0x75, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x1c, + 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, + 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, + 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x41, 0x0a, 0x11, + 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, + 0x70, 0x12, 0x1c, 0x2e, 0x70, 0x62, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x65, 0x72, + 0x76, 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, - 0x5f, 0x0a, 0x20, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x47, - 0x72, 0x6f, 0x75, 0x70, 0x54, 0x43, 0x50, 0x52, 0x65, 0x76, 0x65, 0x72, 0x73, 0x65, 0x50, 0x72, - 0x6f, 0x78, 0x79, 0x12, 0x2b, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, - 0x65, 0x72, 0x76, 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x54, 0x43, 0x50, 0x52, 0x65, 0x76, - 0x65, 0x72, 0x73, 0x65, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, - 0x12, 0x5f, 0x0a, 0x20, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, - 0x47, 0x72, 0x6f, 0x75, 0x70, 0x55, 0x44, 0x50, 0x52, 0x65, 0x76, 0x65, 0x72, 0x73, 0x65, 0x50, - 0x72, 0x6f, 0x78, 0x79, 0x12, 0x2b, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x55, 0x44, 0x50, 0x52, 0x65, - 0x76, 0x65, 0x72, 0x73, 0x65, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, - 0x73, 0x12, 0x7d, 0x0a, 0x20, 0x66, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, - 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x43, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x2b, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, + 0x6b, 0x0a, 0x1a, 0x66, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, + 0x64, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x12, 0x25, 0x2e, + 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, + 0x64, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, + 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x47, 0x72, + 0x6f, 0x75, 0x70, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4d, 0x0a, 0x17, + 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, + 0x70, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x12, 0x22, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4f, 0x72, + 0x64, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, + 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x5f, 0x0a, 0x16, 0x66, + 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, + 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x21, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, - 0x70, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, - 0x6c, 0x65, 0x64, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x43, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x7a, 0x0a, 0x1f, 0x66, 0x69, 0x6e, 0x64, 0x41, 0x6e, 0x64, 0x49, 0x6e, 0x69, 0x74, 0x53, - 0x65, 0x72, 0x76, 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x57, 0x65, 0x62, 0x43, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x12, 0x2a, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6e, 0x64, - 0x49, 0x6e, 0x69, 0x74, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x57, - 0x65, 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x2b, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6e, 0x64, 0x49, 0x6e, 0x69, 0x74, - 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x57, 0x65, 0x62, 0x43, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x06, 0x5a, 0x04, - 0x2e, 0x2f, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, + 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x47, + 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0xa1, 0x01, 0x0a, + 0x2c, 0x66, 0x69, 0x6e, 0x64, 0x41, 0x6e, 0x64, 0x49, 0x6e, 0x69, 0x74, 0x53, 0x65, 0x72, 0x76, + 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x48, 0x54, 0x54, 0x50, 0x52, 0x65, 0x76, 0x65, 0x72, + 0x73, 0x65, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x37, 0x2e, + 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6e, 0x64, 0x49, 0x6e, 0x69, 0x74, 0x53, 0x65, + 0x72, 0x76, 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x48, 0x54, 0x54, 0x50, 0x52, 0x65, 0x76, + 0x65, 0x72, 0x73, 0x65, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x38, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, + 0x41, 0x6e, 0x64, 0x49, 0x6e, 0x69, 0x74, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x47, 0x72, 0x6f, + 0x75, 0x70, 0x48, 0x54, 0x54, 0x50, 0x52, 0x65, 0x76, 0x65, 0x72, 0x73, 0x65, 0x50, 0x72, 0x6f, + 0x78, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x9e, 0x01, 0x0a, 0x2b, 0x66, 0x69, 0x6e, 0x64, 0x41, 0x6e, 0x64, 0x49, 0x6e, 0x69, 0x74, + 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x54, 0x43, 0x50, 0x52, 0x65, + 0x76, 0x65, 0x72, 0x73, 0x65, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x12, 0x36, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6e, 0x64, 0x49, 0x6e, 0x69, + 0x74, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x54, 0x43, 0x50, 0x52, + 0x65, 0x76, 0x65, 0x72, 0x73, 0x65, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x37, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, + 0x6e, 0x64, 0x41, 0x6e, 0x64, 0x49, 0x6e, 0x69, 0x74, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x47, + 0x72, 0x6f, 0x75, 0x70, 0x54, 0x43, 0x50, 0x52, 0x65, 0x76, 0x65, 0x72, 0x73, 0x65, 0x50, 0x72, + 0x6f, 0x78, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x9e, 0x01, 0x0a, 0x2b, 0x66, 0x69, 0x6e, 0x64, 0x41, 0x6e, 0x64, 0x49, 0x6e, 0x69, + 0x74, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x55, 0x44, 0x50, 0x52, + 0x65, 0x76, 0x65, 0x72, 0x73, 0x65, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x12, 0x36, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6e, 0x64, 0x49, 0x6e, + 0x69, 0x74, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x55, 0x44, 0x50, + 0x52, 0x65, 0x76, 0x65, 0x72, 0x73, 0x65, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x37, 0x2e, 0x70, 0x62, 0x2e, 0x46, + 0x69, 0x6e, 0x64, 0x41, 0x6e, 0x64, 0x49, 0x6e, 0x69, 0x74, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, + 0x47, 0x72, 0x6f, 0x75, 0x70, 0x55, 0x44, 0x50, 0x52, 0x65, 0x76, 0x65, 0x72, 0x73, 0x65, 0x50, + 0x72, 0x6f, 0x78, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x61, 0x0a, 0x21, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, + 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x48, 0x54, 0x54, 0x50, 0x52, 0x65, 0x76, 0x65, 0x72, + 0x73, 0x65, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x12, 0x2c, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x48, 0x54, + 0x54, 0x50, 0x52, 0x65, 0x76, 0x65, 0x72, 0x73, 0x65, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, + 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x5f, 0x0a, 0x20, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, + 0x65, 0x72, 0x76, 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x54, 0x43, 0x50, 0x52, 0x65, 0x76, + 0x65, 0x72, 0x73, 0x65, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x12, 0x2b, 0x2e, 0x70, 0x62, 0x2e, 0x55, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, + 0x54, 0x43, 0x50, 0x52, 0x65, 0x76, 0x65, 0x72, 0x73, 0x65, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, + 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x5f, 0x0a, 0x20, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x55, 0x44, 0x50, 0x52, 0x65, + 0x76, 0x65, 0x72, 0x73, 0x65, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x12, 0x2b, 0x2e, 0x70, 0x62, 0x2e, + 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, + 0x70, 0x55, 0x44, 0x50, 0x52, 0x65, 0x76, 0x65, 0x72, 0x73, 0x65, 0x50, 0x72, 0x6f, 0x78, 0x79, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, + 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x7d, 0x0a, 0x20, 0x66, 0x69, 0x6e, 0x64, 0x45, + 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, + 0x70, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x2b, 0x2e, 0x70, 0x62, + 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x53, 0x65, 0x72, 0x76, + 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x49, 0x6e, 0x66, + 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, + 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x47, + 0x72, 0x6f, 0x75, 0x70, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7a, 0x0a, 0x1f, 0x66, 0x69, 0x6e, 0x64, 0x41, 0x6e, + 0x64, 0x49, 0x6e, 0x69, 0x74, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, + 0x57, 0x65, 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x2a, 0x2e, 0x70, 0x62, 0x2e, 0x46, + 0x69, 0x6e, 0x64, 0x41, 0x6e, 0x64, 0x49, 0x6e, 0x69, 0x74, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, + 0x47, 0x72, 0x6f, 0x75, 0x70, 0x57, 0x65, 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, + 0x6e, 0x64, 0x49, 0x6e, 0x69, 0x74, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, + 0x70, 0x57, 0x65, 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x2f, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x33, } var ( diff --git a/pkg/rpc/protos/service_http_web.proto b/pkg/rpc/protos/service_http_web.proto index 5546cef..9f30574 100644 --- a/pkg/rpc/protos/service_http_web.proto +++ b/pkg/rpc/protos/service_http_web.proto @@ -23,6 +23,9 @@ service HTTPWebService { // 更改压缩配置 rpc updateHTTPWebCompression (UpdateHTTPWebCompressionRequest) returns (RPCSuccess); + // 更改页面优化配置 + rpc updateHTTPWebOptimization(UpdateHTTPWebOptimizationRequest) returns (RPCSuccess); + // 更改WebP配置 rpc updateHTTPWebWebP (UpdateHTTPWebWebPRequest) returns (RPCSuccess); @@ -159,6 +162,12 @@ message UpdateHTTPWebCompressionRequest { bytes compressionJSON = 2; } +// 更改页面优化配置 +message UpdateHTTPWebOptimizationRequest { + int64 httpWebId = 1; + bytes optimizationJSON = 2; +} + // 更改WebP配置 message UpdateHTTPWebWebPRequest { int64 httpWebId = 1; diff --git a/pkg/rpc/protos/service_server_group.proto b/pkg/rpc/protos/service_server_group.proto index c2f8c21..26390b2 100644 --- a/pkg/rpc/protos/service_server_group.proto +++ b/pkg/rpc/protos/service_server_group.proto @@ -159,6 +159,7 @@ message FindEnabledServerGroupConfigInfoResponse { bool hasCharsetConfig = 8; bool hasStatConfig = 9; bool hasCompressionConfig = 10; + bool hasOptimizationConfig = 20; bool hasRequestHeadersConfig = 11; bool hasResponseHeadersConfig = 12; bool hasWebsocketConfig = 13; diff --git a/pkg/serverconfigs/config_codes.go b/pkg/serverconfigs/config_codes.go index 47f6937..b749539 100644 --- a/pkg/serverconfigs/config_codes.go +++ b/pkg/serverconfigs/config_codes.go @@ -19,6 +19,7 @@ const ( ConfigCodeAccessLog ConfigCode = "accessLog" ConfigCodeStat ConfigCode = "stat" ConfigCodeCompression ConfigCode = "compression" + ConfigCodeOptimization ConfigCode = "optimization" ConfigCodePages ConfigCode = "pages" ConfigCodeHeaders ConfigCode = "headers" ConfigCodeWebsocket ConfigCode = "websocket" diff --git a/pkg/serverconfigs/http_page_optimization_config.go b/pkg/serverconfigs/http_page_optimization_config.go new file mode 100644 index 0000000..77b2a95 --- /dev/null +++ b/pkg/serverconfigs/http_page_optimization_config.go @@ -0,0 +1,171 @@ +// Copyright 2023 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cn . + +package serverconfigs + +import ( + "bytes" + "github.com/iwind/TeaGo/types" + "github.com/tdewolff/minify/v2" + "io" + "net/http" + "strings" +) + +var httpPageOptimizationLimiter = make(chan bool, 64) + +type HTTPPageOptimizationMimeType = string + +const ( + HTTPPageOptimizationMimeTypeHTML HTTPPageOptimizationMimeType = "text/html" + HTTPPageOptimizationMimeTypeJavascript HTTPPageOptimizationMimeType = "text/javascript" + HTTPPageOptimizationMimeTypeCSS HTTPPageOptimizationMimeType = "text/css" +) + +type HTTPPageOptimizationConfig struct { + IsPrior bool `yaml:"isPrior" json:"isPrior"` + + HTML *HTTPHTMLOptimizationConfig `yaml:"html" json:"html"` + Javascript *HTTPJavascriptOptimizationConfig `yaml:"javascript" json:"javascript"` + CSS *HTTPCSSOptimizationConfig `yaml:"css" json:"css"` + + isOn bool + minifyInstance *minify.M +} + +func NewHTTPPageOptimizationConfig() *HTTPPageOptimizationConfig { + return &HTTPPageOptimizationConfig{ + IsPrior: false, + HTML: NewHTTPHTMLOptimizationConfig(), + Javascript: NewHTTPJavascriptOptimizationConfig(), + CSS: NewHTTPCSSOptimizationConfig(), + } +} + +func (this *HTTPPageOptimizationConfig) Init() error { + this.isOn = this.CheckIsOn() + + if this.isOn { + // MUST NOT create instance for every config + this.minifyInstance = minify.New() + } + + if this.HTML != nil { + err := this.HTML.Init() + if err != nil { + return err + } + if this.HTML.IsOn { + this.isOn = true + this.minifyInstance.Add(HTTPPageOptimizationMimeTypeHTML, this.HTML.AsMinifier()) + + } + } + if this.Javascript != nil { + err := this.Javascript.Init() + if err != nil { + return err + } + if this.Javascript.IsOn { + this.isOn = true + this.minifyInstance.Add(HTTPPageOptimizationMimeTypeJavascript, this.Javascript.AsMinifier()) + } + } + if this.CSS != nil { + err := this.CSS.Init() + if err != nil { + return err + } + if this.CSS.IsOn { + this.isOn = true + this.minifyInstance.Add(HTTPPageOptimizationMimeTypeCSS, this.CSS.AsMinifier()) + } + } + + return nil +} + +func (this *HTTPPageOptimizationConfig) IsOn() bool { + return this.isOn +} + +func (this *HTTPPageOptimizationConfig) CheckIsOn() bool { + return (this.HTML != nil && this.HTML.IsOn) || + (this.Javascript != nil && this.Javascript.IsOn) || + (this.CSS != nil && this.CSS.IsOn) +} + +func (this *HTTPPageOptimizationConfig) FilterResponse(resp *http.Response) error { + if !this.isOn || this.minifyInstance == nil { + return nil + } + + var contentType = resp.Header.Get("Content-Type") + if len(contentType) == 0 { + return nil + } + + // validate content length + if resp.ContentLength <= 0 || resp.ContentLength > (1<<20) { + return nil + } + + contentType, _, _ = strings.Cut(contentType, ";") + var mimeType = "" + switch contentType { + case "text/html": + if this.HTML != nil && this.HTML.IsOn { + mimeType = HTTPPageOptimizationMimeTypeHTML + } + case "text/javascript", "application/javascript": + if this.Javascript != nil && this.Javascript.IsOn { + mimeType = HTTPPageOptimizationMimeTypeJavascript + } + case "text/css": + if this.CSS != nil && this.CSS.IsOn { + mimeType = HTTPPageOptimizationMimeTypeCSS + } + default: + return nil + } + + if len(mimeType) == 0 { + return nil + } + + // concurrent limiter, to prevent memory overflow + select { + case httpPageOptimizationLimiter <- true: + defer func() { + <-httpPageOptimizationLimiter + }() + + var contentLength int64 + var err error + resp.Body, contentLength, err = this.minify(mimeType, resp.Body) + if err != nil { + return err + } + + // fix resp.ContentLength and Content-Length header + resp.ContentLength = contentLength + resp.Header.Set("Content-Length", types.String(contentLength)) + default: + } + return nil +} + +func (this *HTTPPageOptimizationConfig) minify(mimeType HTTPPageOptimizationMimeType, rawReader io.ReadCloser) (newReader io.ReadCloser, newContentLength int64, err error) { + + var rawData []byte + rawData, err = io.ReadAll(rawReader) + if err != nil { + return + } + + resultData, err := this.minifyInstance.Bytes(mimeType, rawData) + if err != nil { + return io.NopCloser(bytes.NewReader(rawData)), int64(len(rawData)), nil // return rawData, and ignore error + } + + return io.NopCloser(bytes.NewReader(resultData)), int64(len(resultData)), nil +} diff --git a/pkg/serverconfigs/http_page_optimization_css.go b/pkg/serverconfigs/http_page_optimization_css.go new file mode 100644 index 0000000..4ef9b14 --- /dev/null +++ b/pkg/serverconfigs/http_page_optimization_css.go @@ -0,0 +1,29 @@ +// Copyright 2023 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cn . + +package serverconfigs + +import "github.com/tdewolff/minify/v2/css" + +type HTTPCSSOptimizationConfig struct { + IsOn bool `yaml:"isOn" json:"isOn"` + + Precision int `yaml:"precision" json:"precision"` + KeepCSS2 bool `yaml:"keepCSS2" json:"keepCSS2"` +} + +func NewHTTPCSSOptimizationConfig() *HTTPCSSOptimizationConfig { + return &HTTPCSSOptimizationConfig{ + KeepCSS2: true, + } +} + +func (this *HTTPCSSOptimizationConfig) Init() error { + return nil +} + +func (this *HTTPCSSOptimizationConfig) AsMinifier() *css.Minifier { + return &css.Minifier{ + KeepCSS2: this.KeepCSS2, + Precision: this.Precision, + } +} diff --git a/pkg/serverconfigs/http_page_optimization_html.go b/pkg/serverconfigs/http_page_optimization_html.go new file mode 100644 index 0000000..1cf6af9 --- /dev/null +++ b/pkg/serverconfigs/http_page_optimization_html.go @@ -0,0 +1,42 @@ +// Copyright 2023 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cn . + +package serverconfigs + +import "github.com/tdewolff/minify/v2/html" + +type HTTPHTMLOptimizationConfig struct { + IsOn bool `yaml:"isOn" json:"isOn"` + + KeepComments bool `yaml:"keepComments" json:"keepComments"` + KeepConditionalComments bool `yaml:"keepConditionalComments" json:"keepConditionalComments"` + KeepDefaultAttrVals bool `yaml:"keepDefaultAttrVals" json:"keepDefaultAttrVals"` + KeepDocumentTags bool `yaml:"keepDocumentTags" json:"keepDocumentTags"` + KeepEndTags bool `yaml:"keepEndTags" json:"keepEndTags"` + KeepQuotes bool `yaml:"keepQuotes" json:"keepQuotes"` + KeepWhitespace bool `yaml:"keepWhitespace" json:"keepWhitespace"` +} + +func NewHTTPHTMLOptimizationConfig() *HTTPHTMLOptimizationConfig { + return &HTTPHTMLOptimizationConfig{ + KeepDefaultAttrVals: true, + KeepDocumentTags: true, + KeepEndTags: true, + KeepQuotes: true, + } +} + +func (this *HTTPHTMLOptimizationConfig) Init() error { + return nil +} + +func (this *HTTPHTMLOptimizationConfig) AsMinifier() *html.Minifier { + return &html.Minifier{ + KeepComments: this.KeepComments, + KeepConditionalComments: this.KeepConditionalComments, + KeepDefaultAttrVals: this.KeepDefaultAttrVals, + KeepDocumentTags: this.KeepDocumentTags, + KeepEndTags: this.KeepEndTags, + KeepQuotes: this.KeepQuotes, + KeepWhitespace: this.KeepWhitespace, + } +} diff --git a/pkg/serverconfigs/http_page_optimization_javascript.go b/pkg/serverconfigs/http_page_optimization_javascript.go new file mode 100644 index 0000000..2c5de5e --- /dev/null +++ b/pkg/serverconfigs/http_page_optimization_javascript.go @@ -0,0 +1,29 @@ +// Copyright 2023 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cn . + +package serverconfigs + +import "github.com/tdewolff/minify/v2/js" + +type HTTPJavascriptOptimizationConfig struct { + IsOn bool `yaml:"isOn" json:"isOn"` + + Precision int `yaml:"precision" json:"precision"` + Version int `yaml:"version" json:"version"` + KeepVarNames bool `yaml:"keepVarNames" json:"keepVarNames"` +} + +func NewHTTPJavascriptOptimizationConfig() *HTTPJavascriptOptimizationConfig { + return &HTTPJavascriptOptimizationConfig{} +} + +func (this *HTTPJavascriptOptimizationConfig) Init() error { + return nil +} + +func (this *HTTPJavascriptOptimizationConfig) AsMinifier() *js.Minifier { + return &js.Minifier{ + Precision: this.Precision, + KeepVarNames: this.KeepVarNames, + Version: this.Version, + } +} diff --git a/pkg/serverconfigs/http_web_config.go b/pkg/serverconfigs/http_web_config.go index 6c3b016..e97fa2e 100644 --- a/pkg/serverconfigs/http_web_config.go +++ b/pkg/serverconfigs/http_web_config.go @@ -12,6 +12,7 @@ type HTTPWebConfig struct { Locations []*HTTPLocationConfig `yaml:"locations" json:"locations"` // 路径规则 TODO LocationRefs []*HTTPLocationRef `yaml:"locationRefs" json:"locationRefs"` // 路径规则应用 Compression *HTTPCompressionConfig `yaml:"compression" json:"compression"` // 压缩配置 + Optimization *HTTPPageOptimizationConfig `yaml:"optimization" json:"optimization"` // 页面优化配置 WebP *WebPImageConfig `yaml:"webp" json:"webp"` // WebP配置 Charset *HTTPCharsetConfig `yaml:"charset" json:"charset"` // 字符编码 Shutdown *HTTPShutdownConfig `yaml:"shutdown" json:"shutdown"` // 临时关闭配置 @@ -82,6 +83,14 @@ func (this *HTTPWebConfig) Init(ctx context.Context) error { } } + // optimization + if this.Optimization != nil { + err := this.Optimization.Init() + if err != nil { + return err + } + } + // charset if this.Charset != nil { err := this.Charset.Init()