diff --git a/.github/workflows/cluster_endtoend_onlineddl_ghost.yml b/.github/workflows/cluster_endtoend_onlineddl_ghost.yml
deleted file mode 100644
index a1296db1b09..00000000000
--- a/.github/workflows/cluster_endtoend_onlineddl_ghost.yml
+++ /dev/null
@@ -1,151 +0,0 @@
-# DO NOT MODIFY: THIS FILE IS GENERATED USING "make generate_ci_workflows"
-
-name: Cluster (onlineddl_ghost)
-on: [push, pull_request]
-concurrency:
- group: format('{0}-{1}', ${{ github.ref }}, 'Cluster (onlineddl_ghost)')
- cancel-in-progress: true
-
-permissions: read-all
-
-env:
- LAUNCHABLE_ORGANIZATION: "vitess"
- LAUNCHABLE_WORKSPACE: "vitess-app"
- GITHUB_PR_HEAD_SHA: "${{ github.event.pull_request.head.sha }}"
-
-jobs:
- build:
- name: Run endtoend tests on Cluster (onlineddl_ghost)
- runs-on: gh-hosted-runners-4cores-1
-
- steps:
- - name: Skip CI
- run: |
- if [[ "${{contains( github.event.pull_request.labels.*.name, 'Skip CI')}}" == "true" ]]; then
- echo "skipping CI due to the 'Skip CI' label"
- exit 1
- fi
-
- - name: Check if workflow needs to be skipped
- id: skip-workflow
- run: |
- skip='false'
- if [[ "${{github.event.pull_request}}" == "" ]] && [[ "${{github.ref}}" != "refs/heads/main" ]] && [[ ! "${{github.ref}}" =~ ^refs/heads/release-[0-9]+\.[0-9]$ ]] && [[ ! "${{github.ref}}" =~ "refs/tags/.*" ]]; then
- skip='true'
- fi
- echo Skip ${skip}
- echo "skip-workflow=${skip}" >> $GITHUB_OUTPUT
-
- PR_DATA=$(curl -s\
- -H "Authorization: token ${{ secrets.GITHUB_TOKEN }}" \
- -H "Accept: application/vnd.github.v3+json" \
- "https://api.github.com/repos/${{ github.repository }}/pulls/${{ github.event.pull_request.number }}")
- draft=$(echo "$PR_DATA" | jq .draft -r)
- echo "is_draft=${draft}" >> $GITHUB_OUTPUT
-
- - name: Check out code
- if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: actions/checkout@v4
-
- - name: Check for changes in relevant files
- if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: dorny/paths-filter@v3.0.1
- id: changes
- with:
- token: ''
- filters: |
- end_to_end:
- - 'go/**/*.go'
- - 'go/vt/sidecardb/**/*.sql'
- - 'go/test/endtoend/onlineddl/vrepl_suite/**'
- - 'test.go'
- - 'Makefile'
- - 'build.env'
- - 'go.sum'
- - 'go.mod'
- - 'proto/*.proto'
- - 'tools/**'
- - 'config/**'
- - 'bootstrap.sh'
- - '.github/workflows/cluster_endtoend_onlineddl_ghost.yml'
- - 'go/test/endtoend/onlineddl/vrepl_suite/testdata'
-
- - name: Set up Go
- if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-go@v5
- with:
- go-version: 1.22.2
-
- - name: Set up python
- if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-python@v5
-
- - name: Tune the OS
- if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- run: |
- # Limit local port range to not use ports that overlap with server side
- # ports that we listen on.
- sudo sysctl -w net.ipv4.ip_local_port_range="22768 65535"
- # Increase the asynchronous non-blocking I/O. More information at https://dev.mysql.com/doc/refman/5.7/en/innodb-parameters.html#sysvar_innodb_use_native_aio
- echo "fs.aio-max-nr = 1048576" | sudo tee -a /etc/sysctl.conf
- sudo sysctl -p /etc/sysctl.conf
-
- - name: Get dependencies
- if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- run: |
-
- # Get key to latest MySQL repo
- sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys A8D3785C
- # Setup MySQL 8.0
- wget -c https://dev.mysql.com/get/mysql-apt-config_0.8.29-1_all.deb
- echo mysql-apt-config mysql-apt-config/select-server select mysql-8.0 | sudo debconf-set-selections
- sudo DEBIAN_FRONTEND="noninteractive" dpkg -i mysql-apt-config*
- sudo apt-get -qq update
- # Install everything else we need, and configure
- sudo apt-get -qq install -y mysql-server mysql-client make unzip g++ etcd curl git wget eatmydata xz-utils libncurses5
-
- sudo service mysql stop
- sudo service etcd stop
- sudo ln -s /etc/apparmor.d/usr.sbin.mysqld /etc/apparmor.d/disable/
- sudo apparmor_parser -R /etc/apparmor.d/usr.sbin.mysqld
- go mod download
-
- # install JUnit report formatter
- go install github.com/vitessio/go-junit-report@HEAD
-
- - name: Setup launchable dependencies
- if: steps.skip-workflow.outputs.is_draft == 'false' && steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true' && github.base_ref == 'main'
- run: |
- # Get Launchable CLI installed. If you can, make it a part of the builder image to speed things up
- pip3 install --user launchable~=1.0 > /dev/null
-
- # verify that launchable setup is all correct.
- launchable verify || true
-
- # Tell Launchable about the build you are producing and testing
- launchable record build --name "$GITHUB_RUN_ID" --no-commit-collection --source .
-
- - name: Run cluster endtoend test
- if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- timeout-minutes: 45
- run: |
- # We set the VTDATAROOT to the /tmp folder to reduce the file path of mysql.sock file
- # which musn't be more than 107 characters long.
- export VTDATAROOT="/tmp/"
- source build.env
-
- set -exo pipefail
-
- # run the tests however you normally do, then produce a JUnit XML file
- eatmydata -- go run test.go -docker=false -follow -shard onlineddl_ghost | tee -a output.txt | go-junit-report -set-exit-code > report.xml
-
- - name: Print test output and Record test result in launchable if PR is not a draft
- if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true' && always()
- run: |
- if [[ "${{steps.skip-workflow.outputs.is_draft}}" == "false" ]]; then
- # send recorded tests to launchable
- launchable record tests --build "$GITHUB_RUN_ID" go-test . || true
- fi
-
- # print test output
- cat output.txt
diff --git a/.github/workflows/cluster_endtoend_onlineddl_ghost_mysql57.yml b/.github/workflows/cluster_endtoend_onlineddl_ghost_mysql57.yml
deleted file mode 100644
index aee79e67c45..00000000000
--- a/.github/workflows/cluster_endtoend_onlineddl_ghost_mysql57.yml
+++ /dev/null
@@ -1,162 +0,0 @@
-# DO NOT MODIFY: THIS FILE IS GENERATED USING "make generate_ci_workflows"
-
-name: Cluster (onlineddl_ghost) mysql57
-on: [push, pull_request]
-concurrency:
- group: format('{0}-{1}', ${{ github.ref }}, 'Cluster (onlineddl_ghost) mysql57')
- cancel-in-progress: true
-
-permissions: read-all
-
-env:
- LAUNCHABLE_ORGANIZATION: "vitess"
- LAUNCHABLE_WORKSPACE: "vitess-app"
- GITHUB_PR_HEAD_SHA: "${{ github.event.pull_request.head.sha }}"
-
-jobs:
- build:
- name: Run endtoend tests on Cluster (onlineddl_ghost) mysql57
- runs-on: gh-hosted-runners-4cores-1
-
- steps:
- - name: Skip CI
- run: |
- if [[ "${{contains( github.event.pull_request.labels.*.name, 'Skip CI')}}" == "true" ]]; then
- echo "skipping CI due to the 'Skip CI' label"
- exit 1
- fi
-
- - name: Check if workflow needs to be skipped
- id: skip-workflow
- run: |
- skip='false'
- if [[ "${{github.event.pull_request}}" == "" ]] && [[ "${{github.ref}}" != "refs/heads/main" ]] && [[ ! "${{github.ref}}" =~ ^refs/heads/release-[0-9]+\.[0-9]$ ]] && [[ ! "${{github.ref}}" =~ "refs/tags/.*" ]]; then
- skip='true'
- fi
- echo Skip ${skip}
- echo "skip-workflow=${skip}" >> $GITHUB_OUTPUT
-
- PR_DATA=$(curl \
- -H "Authorization: token ${{ secrets.GITHUB_TOKEN }}" \
- -H "Accept: application/vnd.github.v3+json" \
- "https://api.github.com/repos/${{ github.repository }}/pulls/${{ github.event.pull_request.number }}")
- draft=$(echo "$PR_DATA" | jq .draft -r)
- echo "is_draft=${draft}" >> $GITHUB_OUTPUT
-
- - name: Check out code
- if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: actions/checkout@v4
-
- - name: Check for changes in relevant files
- if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: dorny/paths-filter@v3.0.1
- id: changes
- with:
- token: ''
- filters: |
- end_to_end:
- - 'go/**/*.go'
- - 'go/vt/sidecardb/**/*.sql'
- - 'go/test/endtoend/onlineddl/vrepl_suite/**'
- - 'test.go'
- - 'Makefile'
- - 'build.env'
- - 'go.sum'
- - 'go.mod'
- - 'proto/*.proto'
- - 'tools/**'
- - 'config/**'
- - 'bootstrap.sh'
- - '.github/workflows/cluster_endtoend_onlineddl_ghost_mysql57.yml'
- - 'go/test/endtoend/onlineddl/vrepl_suite/testdata'
-
- - name: Set up Go
- if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-go@v5
- with:
- go-version: 1.22.2
-
- - name: Set up python
- if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-python@v5
-
- - name: Tune the OS
- if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- run: |
- sudo sysctl -w net.ipv4.ip_local_port_range="22768 65535"
- # Increase the asynchronous non-blocking I/O. More information at https://dev.mysql.com/doc/refman/5.7/en/innodb-parameters.html#sysvar_innodb_use_native_aio
- echo "fs.aio-max-nr = 1048576" | sudo tee -a /etc/sysctl.conf
- sudo sysctl -p /etc/sysctl.conf
-
- - name: Get dependencies
- if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- run: |
- sudo apt-get update
-
- # Uninstall any previously installed MySQL first
- sudo ln -s /etc/apparmor.d/usr.sbin.mysqld /etc/apparmor.d/disable/
- sudo apparmor_parser -R /etc/apparmor.d/usr.sbin.mysqld
-
- sudo systemctl stop apparmor
- sudo DEBIAN_FRONTEND="noninteractive" apt-get remove -y --purge mysql-server mysql-client mysql-common
- sudo apt-get -y autoremove
- sudo apt-get -y autoclean
- sudo deluser mysql
- sudo rm -rf /var/lib/mysql
- sudo rm -rf /etc/mysql
-
- # Get key to latest MySQL repo
- sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys A8D3785C
-
- wget -c https://dev.mysql.com/get/mysql-apt-config_0.8.29-1_all.deb
- # Bionic packages are still compatible for Jammy since there's no MySQL 5.7
- # packages for Jammy.
- echo mysql-apt-config mysql-apt-config/repo-codename select bionic | sudo debconf-set-selections
- echo mysql-apt-config mysql-apt-config/select-server select mysql-5.7 | sudo debconf-set-selections
- sudo DEBIAN_FRONTEND="noninteractive" dpkg -i mysql-apt-config*
- sudo apt-get update
- sudo DEBIAN_FRONTEND="noninteractive" apt-get install -y mysql-client=5.7* mysql-community-server=5.7* mysql-server=5.7* libncurses5
-
- sudo apt-get install -y make unzip g++ etcd curl git wget eatmydata
- sudo service mysql stop
- sudo service etcd stop
-
- # install JUnit report formatter
- go install github.com/vitessio/go-junit-report@HEAD
-
- - name: Setup launchable dependencies
- if: steps.skip-workflow.outputs.is_draft == 'false' && steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true' && github.base_ref == 'main'
- run: |
- # Get Launchable CLI installed. If you can, make it a part of the builder image to speed things up
- pip3 install --user launchable~=1.0 > /dev/null
-
- # verify that launchable setup is all correct.
- launchable verify || true
-
- # Tell Launchable about the build you are producing and testing
- launchable record build --name "$GITHUB_RUN_ID" --no-commit-collection --source .
-
- - name: Run cluster endtoend test
- if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- timeout-minutes: 45
- run: |
- # We set the VTDATAROOT to the /tmp folder to reduce the file path of mysql.sock file
- # which musn't be more than 107 characters long.
- export VTDATAROOT="/tmp/"
- source build.env
-
- set -exo pipefail
-
- # run the tests however you normally do, then produce a JUnit XML file
- eatmydata -- go run test.go -docker=false -follow -shard onlineddl_ghost | tee -a output.txt | go-junit-report -set-exit-code > report.xml
-
- - name: Print test output and Record test result in launchable if PR is not a draft
- if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true' && always()
- run: |
- if [[ "${{steps.skip-workflow.outputs.is_draft}}" == "false" ]]; then
- # send recorded tests to launchable
- launchable record tests --build "$GITHUB_RUN_ID" go-test . || true
- fi
-
- # print test output
- cat output.txt
diff --git a/.github/workflows/unit_race.yml b/.github/workflows/unit_race.yml
index 34f7c1453ec..1e177872160 100644
--- a/.github/workflows/unit_race.yml
+++ b/.github/workflows/unit_race.yml
@@ -6,6 +6,11 @@ concurrency:
permissions: read-all
+env:
+ LAUNCHABLE_ORGANIZATION: "vitess"
+ LAUNCHABLE_WORKSPACE: "vitess-app"
+ GITHUB_PR_HEAD_SHA: "${{ github.event.pull_request.head.sha }}"
+
jobs:
build:
@@ -28,6 +33,13 @@ jobs:
fi
echo Skip ${skip}
echo "skip-workflow=${skip}" >> $GITHUB_OUTPUT
+
+ PR_DATA=$(curl \
+ -H "Authorization: token ${{ secrets.GITHUB_TOKEN }}" \
+ -H "Accept: application/vnd.github.v3+json" \
+ "https://api.github.com/repos/${{ github.repository }}/pulls/${{ github.event.pull_request.number }}")
+ draft=$(echo "$PR_DATA" | jq .draft -r)
+ echo "is_draft=${draft}" >> $GITHUB_OUTPUT
- name: Check out code
if: steps.skip-workflow.outputs.skip-workflow == 'false'
@@ -59,6 +71,10 @@ jobs:
with:
go-version: 1.22.2
+ - name: Set up python
+ if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.unit_tests == 'true'
+ uses: actions/setup-python@v5
+
- name: Tune the OS
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.unit_tests == 'true'
run: |
@@ -85,12 +101,27 @@ jobs:
go mod download
go install golang.org/x/tools/cmd/goimports@latest
+
+ # install JUnit report formatter
+ go install github.com/vitessio/go-junit-report@HEAD
- name: Run make tools
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.unit_tests == 'true'
run: |
make tools
+ - name: Setup launchable dependencies
+ if: steps.skip-workflow.outputs.is_draft == 'false' && steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.unit_tests == 'true' && github.base_ref == 'main'
+ run: |
+ # Get Launchable CLI installed. If you can, make it a part of the builder image to speed things up
+ pip3 install --user launchable~=1.0 > /dev/null
+
+ # verify that launchable setup is all correct.
+ launchable verify || true
+
+ # Tell Launchable about the build you are producing and testing
+ launchable record build --name "$GITHUB_RUN_ID" --no-commit-collection --source .
+
- name: unit_race
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.unit_tests == 'true'
timeout-minutes: 45
@@ -100,4 +131,15 @@ jobs:
export VTDATAROOT="/tmp/"
export NOVTADMINBUILD=1
- eatmydata -- make unit_test_race
+ eatmydata -- make unit_test_race | tee -a output.txt | go-junit-report -set-exit-code > report.xml
+
+ - name: Print test output and Record test result in launchable if PR is not a draft
+ if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.unit_tests == 'true' && always()
+ run: |
+ if [[ "${{steps.skip-workflow.outputs.is_draft}}" == "false" ]]; then
+ # send recorded tests to launchable
+ launchable record tests --build "$GITHUB_RUN_ID" go-test . || true
+ fi
+
+ # print test output
+ cat output.txt
\ No newline at end of file
diff --git a/.github/workflows/upgrade_downgrade_test_query_serving_queries.yml b/.github/workflows/upgrade_downgrade_test_query_serving_queries.yml
index 2890352bdf6..d86ad583c0a 100644
--- a/.github/workflows/upgrade_downgrade_test_query_serving_queries.yml
+++ b/.github/workflows/upgrade_downgrade_test_query_serving_queries.yml
@@ -163,16 +163,6 @@ jobs:
mkdir -p /tmp/vitess-build-current/
cp -R bin /tmp/vitess-build-current/
- # Running a test with vtgate and vttablet using version n
- - name: Run query serving tests (vtgate=N, vttablet=N)
- if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- run: |
- rm -rf /tmp/vtdataroot
- mkdir -p /tmp/vtdataroot
-
- source build.env
- eatmydata -- go run test.go -skip-build -keep-data=false -docker=false -print-log -follow -tag upgrade_downgrade_query_serving_queries
-
# Swap the binaries in the bin. Use vtgate version n-1 and keep vttablet at version n
- name: Use last release's VTGate
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
diff --git a/.github/workflows/upgrade_downgrade_test_query_serving_queries_next_release.yml b/.github/workflows/upgrade_downgrade_test_query_serving_queries_next_release.yml
index e8f87191dbe..4e9435e1ff9 100644
--- a/.github/workflows/upgrade_downgrade_test_query_serving_queries_next_release.yml
+++ b/.github/workflows/upgrade_downgrade_test_query_serving_queries_next_release.yml
@@ -164,16 +164,6 @@ jobs:
mkdir -p /tmp/vitess-build-current/
cp -R bin /tmp/vitess-build-current/
- # Running a test with vtgate and vttablet using version n
- - name: Run query serving tests (vtgate=N, vttablet=N)
- if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- run: |
- rm -rf /tmp/vtdataroot
- mkdir -p /tmp/vtdataroot
-
- source build.env
- eatmydata -- go run test.go -skip-build -keep-data=false -docker=false -print-log -follow -tag upgrade_downgrade_query_serving_queries
-
# Swap the binaries in the bin. Use vtgate version n+1 and keep vttablet at version n
- name: Use next release's VTGate
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
diff --git a/.github/workflows/upgrade_downgrade_test_query_serving_schema.yml b/.github/workflows/upgrade_downgrade_test_query_serving_schema.yml
index a7f551b1be6..7ebdab57827 100644
--- a/.github/workflows/upgrade_downgrade_test_query_serving_schema.yml
+++ b/.github/workflows/upgrade_downgrade_test_query_serving_schema.yml
@@ -163,16 +163,6 @@ jobs:
mkdir -p /tmp/vitess-build-current/
cp -R bin /tmp/vitess-build-current/
- # Running a test with vtgate and vttablet using version n
- - name: Run query serving tests (vtgate=N, vttablet=N)
- if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- run: |
- rm -rf /tmp/vtdataroot
- mkdir -p /tmp/vtdataroot
-
- source build.env
- eatmydata -- go run test.go -skip-build -keep-data=false -docker=false -print-log -follow -tag upgrade_downgrade_query_serving_schema
-
# Swap the binaries in the bin. Use vtgate version n-1 and keep vttablet at version n
- name: Use last release's VTGate
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
diff --git a/.github/workflows/upgrade_downgrade_test_query_serving_schema_next_release.yml b/.github/workflows/upgrade_downgrade_test_query_serving_schema_next_release.yml
index 8870c02e71b..437d0a3e5e3 100644
--- a/.github/workflows/upgrade_downgrade_test_query_serving_schema_next_release.yml
+++ b/.github/workflows/upgrade_downgrade_test_query_serving_schema_next_release.yml
@@ -164,16 +164,6 @@ jobs:
mkdir -p /tmp/vitess-build-current/
cp -R bin /tmp/vitess-build-current/
- # Running a test with vtgate and vttablet using version n
- - name: Run query serving tests (vtgate=N, vttablet=N)
- if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- run: |
- rm -rf /tmp/vtdataroot
- mkdir -p /tmp/vtdataroot
-
- source build.env
- eatmydata -- go run test.go -skip-build -keep-data=false -docker=false -print-log -follow -tag upgrade_downgrade_query_serving_schema
-
# Swap the binaries in the bin. Use vtgate version n+1 and keep vttablet at version n
- name: Use next release's VTGate
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
diff --git a/changelog/20.0/20.0.0/summary.md b/changelog/20.0/20.0.0/summary.md
index 2e9304c4fcf..2223cbe63ca 100644
--- a/changelog/20.0/20.0.0/summary.md
+++ b/changelog/20.0/20.0.0/summary.md
@@ -6,11 +6,13 @@
- **[Deletions](#deletions)**
- [MySQL binaries in the vitess/lite Docker images](#vitess-lite)
- [vitess/base and vitess/k8s Docker images](#base-k8s-images)
+ - [`gh-ost` binary and endtoend tests](#gh-ost-binary-tests-removal)
- **[Breaking changes](#breaking-changes)**
- [`shutdown_grace_period` Default Change](#shutdown-grace-period-default)
- [New `unmanaged` Flag and `disable_active_reparents` deprecation](#unmanaged-flag)
- [`recovery-period-block-duration` Flag deprecation](#recovery-block-deprecation)
- [`mysqlctld` `onterm-timeout` Default Change](#mysqlctld-onterm-timeout)
+ - [`MoveTables` now removes `auto_increment` clauses by default when moving tables from an unsharded keyspace to a sharded one](#move-tables-auto-increment)
- [`Durabler` interface method renaming](#durabler-interface-method-renaming)
- **[Query Compatibility](#query-compatibility)**
- [Vindex Hints](#vindex-hints)
@@ -78,6 +80,14 @@ Since we have deleted MySQL from our `vitess/lite` image, we are removing the `v
These images are no longer useful since we can use `vitess/lite` as the base of many other Docker images (`vitess/vtgate`, `vitess/vtgate`, ...).
+#### `gh-ost` binary and endtoend tests
+
+Vitess 20.0 drops support for `gh-ost` DDL strategy.
+
+`vttablet` binary no longer embeds a `gh-ost` binary. Users of `gh-ost` DDL strategy will need to supply a `gh-ost` binary on the `vttablet` host or pod. Vitess will look for the `gh-ost` binary in the system `PATH`; otherwise the user should supply `vttablet --gh-ost-path`.
+
+Vitess' endtoend tests no longer use nor test `gh-ost` migrations.
+
### Breaking Changes
#### `shutdown_grace_period` Default Change
@@ -106,6 +116,10 @@ The `--onterm_timeout` flag default value has changed for `mysqlctld`. It now is
This is necessary since otherwise MySQL would never shut down cleanly with the old defaults, since `mysqlctld` would shut down already after 10 seconds by default.
+#### `MoveTables` now removes `auto_increment` clauses by default when moving tables from an unsharded keyspace to a sharded one
+
+A new `--remove-sharded-auto-increment` flag has been added to the [`MoveTables` create sub-command](https://vitess.io/docs/20.0/reference/programs/vtctldclient/vtctldclient_movetables/vtctldclient_movetables_create/) and it is set to `true` by default. This flag controls whether any [MySQL `auto_increment`](https://dev.mysql.com/doc/refman/en/example-auto-increment.html) clauses should be removed from the table definitions when moving tables from an unsharded keyspace to a sharded one. This is now done by default as `auto_increment` clauses should not typically be used with sharded tables and you should instead rely on externally generated values such as a form of universally/globally unique identifiers or use [Vitess sequences](https://vitess.io/docs/reference/features/vitess-sequences/) in order to ensure that each row has a unique identifier (Primary Key value) across all shards. If for some reason you want to retain them you can set this new flag to `false` when creating the workflow.
+
#### `Durabler` interface method renaming
The methods of [the `Durabler` interface](https://github.com/vitessio/vitess/blob/main/go/vt/vtctl/reparentutil/durability.go#L70-L79) in `go/vt/vtctl/reparentutil` were renamed to be public _(capitalized)_ methods to make it easier to integrate custom Durability Policies from external packages. See [RFC for details](https://github.com/vitessio/vitess/issues/15544).
diff --git a/config/mycnf/mysql80.cnf b/config/mycnf/mysql80.cnf
index 124293b338c..5fd329ea2b2 100644
--- a/config/mycnf/mysql80.cnf
+++ b/config/mycnf/mysql80.cnf
@@ -33,5 +33,5 @@ loose_rpl_semi_sync_master_wait_no_slave = 1
super-read-only
# Replication parameters to ensure reparents are fast.
-replica_net_timeout = 8
+slave_net_timeout = 8
diff --git a/go.mod b/go.mod
index bb329ebaf2f..a4aaf2d464b 100644
--- a/go.mod
+++ b/go.mod
@@ -69,12 +69,12 @@ require (
go.etcd.io/etcd/client/pkg/v3 v3.5.13
go.etcd.io/etcd/client/v3 v3.5.13
go.uber.org/mock v0.2.0
- golang.org/x/crypto v0.21.0 // indirect
+ golang.org/x/crypto v0.22.0 // indirect
golang.org/x/mod v0.16.0 // indirect
- golang.org/x/net v0.22.0
+ golang.org/x/net v0.24.0
golang.org/x/oauth2 v0.18.0
- golang.org/x/sys v0.18.0
- golang.org/x/term v0.18.0
+ golang.org/x/sys v0.19.0
+ golang.org/x/term v0.19.0
golang.org/x/text v0.14.0 // indirect
golang.org/x/time v0.5.0
golang.org/x/tools v0.19.0
diff --git a/go.sum b/go.sum
index 8e94244481f..3bbbfecdd0a 100644
--- a/go.sum
+++ b/go.sum
@@ -560,8 +560,8 @@ golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPh
golang.org/x/crypto v0.0.0-20201002170205-7f63de1d35b0/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
golang.org/x/crypto v0.0.0-20201016220609-9e8e0b390897/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
-golang.org/x/crypto v0.21.0 h1:X31++rzVUdKhX5sWmSOFZxx8UW/ldWx55cbf08iNAMA=
-golang.org/x/crypto v0.21.0/go.mod h1:0BP7YvVV9gBbVKyeTG0Gyn+gZm94bibOW5BjDEYAOMs=
+golang.org/x/crypto v0.22.0 h1:g1v0xeRhjcugydODzvb3mEM9SQ0HGp9s/nh3COQ/C30=
+golang.org/x/crypto v0.22.0/go.mod h1:vr6Su+7cTlO45qkww3VDJlzDn0ctJvRgYbC2NvXHt+M=
golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
golang.org/x/exp v0.0.0-20240325151524-a685a6edb6d8 h1:aAcj0Da7eBAtrTp03QXWvm88pSyOt+UgdZw2BFZ+lEw=
golang.org/x/exp v0.0.0-20240325151524-a685a6edb6d8/go.mod h1:CQ1k9gNrJ50XIzaKCRR2hssIjF07kZFEiieALBM/ARQ=
@@ -599,8 +599,8 @@ golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96b
golang.org/x/net v0.0.0-20210410081132-afb366fc7cd1/go.mod h1:9tjilg8BloeKEkVJvy7fQ90B1CfIiPueXVOjqfkSzI8=
golang.org/x/net v0.0.0-20210610132358-84b48f89b13b/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c=
-golang.org/x/net v0.22.0 h1:9sGLhx7iRIHEiX0oAJ3MRZMUCElJgy7Br1nO+AMN3Tc=
-golang.org/x/net v0.22.0/go.mod h1:JKghWKKOSdJwpW2GEx0Ja7fmaKnMsbu+MWVZTokSYmg=
+golang.org/x/net v0.24.0 h1:1PcaxkF854Fu3+lvBIx5SYn9wRlBzzcnHZSiaFFAb0w=
+golang.org/x/net v0.24.0/go.mod h1:2Q7sJY5mzlzWjKtYUEXSlBWCdyaioyXzRB2RtU8KVE8=
golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
golang.org/x/oauth2 v0.18.0 h1:09qnuIAgzdx1XplqJvW6CQqMCtGZykZWcXzPMPUusvI=
@@ -655,12 +655,12 @@ golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBc
golang.org/x/sys v0.0.0-20220728004956-3c1f35247d10/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
-golang.org/x/sys v0.18.0 h1:DBdB3niSjOA/O0blCZBqDefyWNYveAYMNF1Wum0DYQ4=
-golang.org/x/sys v0.18.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
+golang.org/x/sys v0.19.0 h1:q5f1RH2jigJ1MoAWp2KTp3gm5zAGFUTarQZ5U386+4o=
+golang.org/x/sys v0.19.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
-golang.org/x/term v0.18.0 h1:FcHjZXDMxI8mM3nwhX9HlKop4C0YQvCVCdwYl2wOtE8=
-golang.org/x/term v0.18.0/go.mod h1:ILwASektA3OnRv7amZ1xhE/KTR+u50pbXfZ03+6Nx58=
+golang.org/x/term v0.19.0 h1:+ThwsDv+tYfnJFhF4L8jITxu1tdTWRTZpdsWgEgjL6Q=
+golang.org/x/term v0.19.0/go.mod h1:2CuTdWZ7KHSQwUzKva0cbMg6q2DMI3Mmxp+gKJbskEk=
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=
diff --git a/go/cmd/vtctldclient/command/vreplication/movetables/movetables.go b/go/cmd/vtctldclient/command/vreplication/movetables/movetables.go
index 9911756cb2a..10298760798 100644
--- a/go/cmd/vtctldclient/command/vreplication/movetables/movetables.go
+++ b/go/cmd/vtctldclient/command/vreplication/movetables/movetables.go
@@ -49,6 +49,7 @@ func registerCommands(root *cobra.Command) {
create.Flags().BoolVar(&createOptions.AtomicCopy, "atomic-copy", false, "(EXPERIMENTAL) A single copy phase is run for all tables from the source. Use this, for example, if your source keyspace has tables which use foreign key constraints.")
create.Flags().StringVar(&createOptions.WorkflowOptions.TenantId, "tenant-id", "", "(EXPERIMENTAL) The tenant ID to use for the MoveTables workflow into a multi-tenant keyspace.")
create.Flags().StringVar(&createOptions.WorkflowOptions.SourceKeyspaceAlias, "source-keyspace-alias", "", "(EXPERIMENTAL) Used currently only for multi-tenant migrations. This value will be used instead of the source keyspace name in the keyspace routing rules.")
+ create.Flags().BoolVar(&createOptions.WorkflowOptions.StripShardedAutoIncrement, "remove-sharded-auto-increment", true, "If moving the table(s) to a sharded keyspace, remove any auto_increment clauses when copying the schema to the target as sharded keyspaces should rely on either user/application generated values or Vitess sequences to ensure uniqueness.")
base.AddCommand(create)
opts := &common.SubCommandsOpts{
diff --git a/go/cmd/vttablet/cli/cli.go b/go/cmd/vttablet/cli/cli.go
index b64c5d92b62..45f8ac091dc 100644
--- a/go/cmd/vttablet/cli/cli.go
+++ b/go/cmd/vttablet/cli/cli.go
@@ -17,7 +17,6 @@ limitations under the License.
package cli
import (
- "bytes"
"context"
"fmt"
"os"
@@ -38,14 +37,12 @@ import (
"vitess.io/vitess/go/vt/topo"
"vitess.io/vitess/go/vt/topo/topoproto"
"vitess.io/vitess/go/vt/vtenv"
- "vitess.io/vitess/go/vt/vttablet/onlineddl"
"vitess.io/vitess/go/vt/vttablet/tabletmanager"
"vitess.io/vitess/go/vt/vttablet/tabletmanager/vdiff"
"vitess.io/vitess/go/vt/vttablet/tabletmanager/vreplication"
"vitess.io/vitess/go/vt/vttablet/tabletserver"
"vitess.io/vitess/go/vt/vttablet/tabletserver/tabletenv"
"vitess.io/vitess/go/yaml2"
- "vitess.io/vitess/resources"
topodatapb "vitess.io/vitess/go/vt/proto/topodata"
)
@@ -144,10 +141,6 @@ func run(cmd *cobra.Command, args []string) error {
mysqld := mysqlctl.NewMysqld(config.DB)
servenv.OnClose(mysqld.Close)
- if err := extractOnlineDDL(); err != nil {
- ts.Close()
- return fmt.Errorf("failed to extract online DDL binaries: %w", err)
- }
// Initialize and start tm.
gRPCPort := int32(0)
if servenv.GRPCPort() != 0 {
@@ -236,25 +229,6 @@ func initConfig(tabletAlias *topodatapb.TabletAlias, collationEnv *collations.En
return config, mycnf, nil
}
-// extractOnlineDDL extracts the gh-ost binary from this executable. gh-ost is appended
-// to vttablet executable by `make build` with a go:embed
-func extractOnlineDDL() error {
- if binaryFileName, isOverride := onlineddl.GhostBinaryFileName(); !isOverride {
- if err := os.WriteFile(binaryFileName, resources.GhostBinary, 0755); err != nil {
- // One possibility of failure is that gh-ost is up and running. In that case,
- // let's pause and check if the running gh-ost is exact same binary as the one we wish to extract.
- foundBytes, _ := os.ReadFile(binaryFileName)
- if bytes.Equal(resources.GhostBinary, foundBytes) {
- // OK, it's the same binary, there is no need to extract the file anyway
- return nil
- }
- return err
- }
- }
-
- return nil
-}
-
func createTabletServer(ctx context.Context, env *vtenv.Environment, config *tabletenv.TabletConfig, ts *topo.Server, tabletAlias *topodatapb.TabletAlias, srvTopoCounts *stats.CountersWithSingleLabel) (*tabletserver.TabletServer, error) {
if tableACLConfig != "" {
// To override default simpleacl, other ACL plugins must set themselves to be default ACL factory
diff --git a/go/cmd/vttestserver/cli/main.go b/go/cmd/vttestserver/cli/main.go
index 2cc59f539e1..5601623b2fa 100644
--- a/go/cmd/vttestserver/cli/main.go
+++ b/go/cmd/vttestserver/cli/main.go
@@ -224,6 +224,8 @@ func New() (cmd *cobra.Command) {
cmd.Flags().DurationVar(&config.VtgateTabletRefreshInterval, "tablet_refresh_interval", 10*time.Second, "Interval at which vtgate refreshes tablet information from topology server.")
cmd.Flags().BoolVar(&doCreateTCPUser, "initialize-with-vt-dba-tcp", false, "If this flag is enabled, MySQL will be initialized with an additional user named vt_dba_tcp, who will have access via TCP/IP connection.")
+
+ cmd.Flags().BoolVar(&config.NoScatter, "no_scatter", false, "when set to true, the planner will fail instead of producing a plan that includes scatter queries")
acl.RegisterFlags(cmd.Flags())
return cmd
diff --git a/go/cmd/vttestserver/cli/main_test.go b/go/cmd/vttestserver/cli/main_test.go
index 802f2533202..0ea0e6b7c19 100644
--- a/go/cmd/vttestserver/cli/main_test.go
+++ b/go/cmd/vttestserver/cli/main_test.go
@@ -186,6 +186,21 @@ func TestForeignKeysAndDDLModes(t *testing.T) {
assert.NoError(t, err)
}
+func TestNoScatter(t *testing.T) {
+ conf := config
+ defer resetConfig(conf)
+
+ cluster, err := startCluster("--no_scatter")
+ assert.NoError(t, err)
+ defer cluster.TearDown()
+
+ _ = execOnCluster(cluster, "app_customer", func(conn *mysql.Conn) error {
+ _, err = conn.ExecuteFetch("SELECT * FROM customers", 100, false)
+ require.ErrorContains(t, err, "plan includes scatter, which is disallowed")
+ return nil
+ })
+}
+
// TestCreateDbaTCPUser tests that the vt_dba_tcp user is created and can connect through TCP/IP connection
// when --initialize-with-vt-dba-tcp is set to true.
func TestCreateDbaTCPUser(t *testing.T) {
diff --git a/go/flags/endtoend/vtcombo.txt b/go/flags/endtoend/vtcombo.txt
index 763f91b0ca9..783b0d898d3 100644
--- a/go/flags/endtoend/vtcombo.txt
+++ b/go/flags/endtoend/vtcombo.txt
@@ -139,7 +139,7 @@ Flags:
--gate_query_cache_memory int gate server query cache size in bytes, maximum amount of memory to be cached. vtgate analyzes every incoming query and generate a query plan, these plans are being cached in a lru cache. This config controls the capacity of the lru cache. (default 33554432)
--gc_check_interval duration Interval between garbage collection checks (default 1h0m0s)
--gc_purge_check_interval duration Interval between purge discovery checks (default 1m0s)
- --gh-ost-path string override default gh-ost binary full path
+ --gh-ost-path string override default gh-ost binary full path (default "gh-ost")
--grpc-send-session-in-streaming If set, will send the session as last packet in streaming api to support transactions in streaming
--grpc-use-effective-groups If set, and SSL is not used, will set the immediate caller's security groups from the effective caller id's groups.
--grpc-use-static-authentication-callerid If set, will set the immediate caller id to the username authenticated by the static auth plugin.
@@ -263,7 +263,7 @@ Flags:
--proto_topo vttest.TopoData vttest proto definition of the topology, encoded in compact text format. See vttest.proto for more information.
--proxy_protocol Enable HAProxy PROXY protocol on MySQL listener socket
--proxy_tablets Setting this true will make vtctld proxy the tablet status instead of redirecting to them
- --pt-osc-path string override default pt-online-schema-change binary full path
+ --pt-osc-path string override default pt-online-schema-change binary full path (default "/usr/bin/pt-online-schema-change")
--publish_retry_interval duration how long vttablet waits to retry publishing the tablet record (default 30s)
--purge_logs_interval duration how often try to remove old logs (default 1h0m0s)
--query-log-stream-handler string URL handler for streaming queries log (default "/debug/querylog")
diff --git a/go/flags/endtoend/vttablet.txt b/go/flags/endtoend/vttablet.txt
index 86883ec544b..38b30f46ffa 100644
--- a/go/flags/endtoend/vttablet.txt
+++ b/go/flags/endtoend/vttablet.txt
@@ -165,7 +165,7 @@ Flags:
--gc_purge_check_interval duration Interval between purge discovery checks (default 1m0s)
--gcs_backup_storage_bucket string Google Cloud Storage bucket to use for backups.
--gcs_backup_storage_root string Root prefix for all backup-related object names.
- --gh-ost-path string override default gh-ost binary full path
+ --gh-ost-path string override default gh-ost binary full path (default "gh-ost")
--grpc_auth_mode string Which auth plugin implementation to use (eg: static)
--grpc_auth_mtls_allowed_substrings string List of substrings of at least one of the client certificate names (separated by colon).
--grpc_auth_static_client_creds string When using grpc_static_auth in the server, this file provides the credentials to use to authenticate with server.
@@ -256,7 +256,7 @@ Flags:
--port int port for the server
--pprof strings enable profiling
--pprof-http enable pprof http endpoints
- --pt-osc-path string override default pt-online-schema-change binary full path
+ --pt-osc-path string override default pt-online-schema-change binary full path (default "/usr/bin/pt-online-schema-change")
--publish_retry_interval duration how long vttablet waits to retry publishing the tablet record (default 30s)
--purge_logs_interval duration how often try to remove old logs (default 1h0m0s)
--query-log-stream-handler string URL handler for streaming queries log (default "/debug/querylog")
diff --git a/go/flags/endtoend/vttestserver.txt b/go/flags/endtoend/vttestserver.txt
index 2683fb70171..8cce76afc65 100644
--- a/go/flags/endtoend/vttestserver.txt
+++ b/go/flags/endtoend/vttestserver.txt
@@ -92,6 +92,7 @@ Flags:
--mysql_server_version string MySQL server version to advertise. (default "8.0.30-Vitess")
--mysqlctl_mycnf_template string template file to use for generating the my.cnf file during server init
--mysqlctl_socket string socket file to use for remote mysqlctl actions (empty for local actions)
+ --no_scatter when set to true, the planner will fail instead of producing a plan that includes scatter queries
--null_probability float The probability to initialize a field with 'NULL' if --initialize_with_random_data is true. Only applies to fields that can contain NULL values. (default 0.1)
--num_shards strings Comma separated shard count (one per keyspace) (default [2])
--onclose_timeout duration wait no more than this for OnClose handlers before stopping (default 10s)
diff --git a/go/mysql/replication/mysql56_gtid.go b/go/mysql/replication/mysql56_gtid.go
index 4ec861b84e5..dd23fb2092b 100644
--- a/go/mysql/replication/mysql56_gtid.go
+++ b/go/mysql/replication/mysql56_gtid.go
@@ -29,6 +29,10 @@ import (
// Mysql56FlavorID is the string identifier for the Mysql56 flavor.
const Mysql56FlavorID = "MySQL56"
+var (
+ ErrExpectMysql56Flavor = vterrors.Errorf(vtrpc.Code_INVALID_ARGUMENT, "expected MySQL GTID position but found a different or invalid format.")
+)
+
// parseMysql56GTID is registered as a GTID parser.
func parseMysql56GTID(s string) (GTID, error) {
// Split into parts.
@@ -128,3 +132,32 @@ func (gtid Mysql56GTID) GTIDSet() GTIDSet {
func init() {
gtidParsers[Mysql56FlavorID] = parseMysql56GTID
}
+
+// DecodePositionMySQL56 converts a string into a Position value with the MySQL56 flavor. The function returns an error if the given
+// string does not translate to a MySQL56 GTID set.
+// The prefix "MySQL56/" is optional in the input string. Examples of inputs strings that produce valid result:
+// - "MySQL56/16b1039f-22b6-11ed-b765-0a43f95f28a3:1-615"
+// - "16b1039f-22b6-11ed-b765-0a43f95f28a3:1-615"
+func DecodePositionMySQL56(s string) (rp Position, gtidSet Mysql56GTIDSet, err error) {
+ if s == "" {
+ return rp, nil, nil
+ }
+
+ flav, gtid, ok := strings.Cut(s, "/")
+ if !ok {
+ gtid = s
+ flav = Mysql56FlavorID
+ }
+ rp, err = ParsePosition(flav, gtid)
+ if err != nil {
+ return rp, nil, err
+ }
+ if !rp.MatchesFlavor(Mysql56FlavorID) {
+ return rp, nil, vterrors.Wrapf(ErrExpectMysql56Flavor, s)
+ }
+ gtidSet, ok = rp.GTIDSet.(Mysql56GTIDSet)
+ if !ok {
+ return rp, nil, vterrors.Wrapf(ErrExpectMysql56Flavor, s)
+ }
+ return rp, gtidSet, nil
+}
diff --git a/go/mysql/replication/mysql56_gtid_test.go b/go/mysql/replication/mysql56_gtid_test.go
index 7a4bc9862a8..a8bffed72b9 100644
--- a/go/mysql/replication/mysql56_gtid_test.go
+++ b/go/mysql/replication/mysql56_gtid_test.go
@@ -153,3 +153,50 @@ func TestMysql56ParseGTID(t *testing.T) {
require.NoError(t, err, "unexpected error: %v", err)
assert.Equal(t, want, got, "(&mysql56{}).ParseGTID(%#v) = %#v, want %#v", input, got, want)
}
+
+func TestDecodePositionMySQL56(t *testing.T) {
+ {
+ pos, gtidSet, err := DecodePositionMySQL56("")
+ assert.NoError(t, err)
+ assert.True(t, pos.IsZero())
+ assert.Nil(t, gtidSet)
+ }
+ {
+ pos, gtidSet, err := DecodePositionMySQL56("MySQL56/00010203-0405-0607-0809-0A0B0C0D0E0F:1-615")
+ assert.NoError(t, err)
+ assert.False(t, pos.IsZero())
+ assert.NotNil(t, gtidSet)
+ expectGTID := Mysql56GTIDSet{
+ SID{
+ 0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0xa, 0xb, 0xc, 0xd, 0xe, 0xf,
+ }: []interval{{start: 1, end: 615}}}
+ assert.Equal(t, expectGTID, gtidSet)
+ }
+ {
+ pos, gtidSet, err := DecodePositionMySQL56("00010203-0405-0607-0809-0A0B0C0D0E0F:1-615")
+ assert.NoError(t, err)
+ assert.False(t, pos.IsZero())
+ assert.NotNil(t, gtidSet)
+ expectGTID := Mysql56GTIDSet{
+ SID{
+ 0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0xa, 0xb, 0xc, 0xd, 0xe, 0xf,
+ }: []interval{{start: 1, end: 615}}}
+ assert.Equal(t, expectGTID, gtidSet)
+ }
+ {
+ _, _, err := DecodePositionMySQL56("q-22b6-11ed-b765-0a43f95f28a3:1-615")
+ assert.Error(t, err)
+ }
+ {
+ _, _, err := DecodePositionMySQL56("16b1039f-22b6-11ed-b765-0a43f95f28a3")
+ assert.Error(t, err)
+ }
+ {
+ _, _, err := DecodePositionMySQL56("FilePos/mysql-bin.000001:234")
+ assert.Error(t, err)
+ }
+ {
+ _, _, err := DecodePositionMySQL56("mysql-bin.000001:234")
+ assert.Error(t, err)
+ }
+}
diff --git a/go/test/endtoend/backup/vtctlbackup/backup_utils.go b/go/test/endtoend/backup/vtctlbackup/backup_utils.go
index 7fc872e934c..14063a8daac 100644
--- a/go/test/endtoend/backup/vtctlbackup/backup_utils.go
+++ b/go/test/endtoend/backup/vtctlbackup/backup_utils.go
@@ -21,6 +21,7 @@ import (
"context"
"encoding/json"
"fmt"
+ "math/rand"
"os"
"os/exec"
"path"
@@ -1299,6 +1300,13 @@ func TestReplicaRestoreToPos(t *testing.T, replicaIndex int, restoreToPos replic
require.False(t, restoreToPos.IsZero())
restoreToPosArg := replication.EncodePosition(restoreToPos)
+ assert.Contains(t, restoreToPosArg, "MySQL56/")
+ if rand.Intn(2) == 0 {
+ // Verify that restore works whether or not the MySQL56/ prefix is present.
+ restoreToPosArg = strings.Replace(restoreToPosArg, "MySQL56/", "", 1)
+ assert.NotContains(t, restoreToPosArg, "MySQL56/")
+ }
+
output, err := localCluster.VtctldClientProcess.ExecuteCommandWithOutput("RestoreFromBackup", "--restore-to-pos", restoreToPosArg, replica.Alias)
if expectError != "" {
require.Errorf(t, err, "expected: %v", expectError)
diff --git a/go/test/endtoend/backup/vtctlbackup/pitr_test_framework.go b/go/test/endtoend/backup/vtctlbackup/pitr_test_framework.go
index 64e058dfe65..7f611d81ad6 100644
--- a/go/test/endtoend/backup/vtctlbackup/pitr_test_framework.go
+++ b/go/test/endtoend/backup/vtctlbackup/pitr_test_framework.go
@@ -20,6 +20,7 @@ import (
"context"
"fmt"
"math/rand/v2"
+ "strings"
"testing"
"time"
@@ -227,9 +228,17 @@ func ExecTestIncrementalBackupAndRestoreToPos(t *testing.T, tcase *PITRTestCase)
if tc.fromFullPosition {
incrementalFromPos = replication.EncodePosition(fullBackupPos)
}
+ assert.Contains(t, incrementalFromPos, "MySQL56/")
+ }
+ incrementalFromPosArg := incrementalFromPos
+ if tc.incrementalFrom == incrementalFromPosPosition && tc.fromFullPosition {
+ // Verify that backup works whether or not the MySQL56/ prefix is present.
+ // We arbitrarily decide to strip the prefix when "tc.fromFullPosition" is true, and keep it when false.
+ incrementalFromPosArg = strings.Replace(incrementalFromPosArg, "MySQL56/", "", 1)
+ assert.NotContains(t, incrementalFromPosArg, "MySQL56/")
}
// always use same 1st replica
- manifest, backupName := TestReplicaIncrementalBackup(t, 0, incrementalFromPos, tc.expectEmpty, tc.expectError)
+ manifest, backupName := TestReplicaIncrementalBackup(t, 0, incrementalFromPosArg, tc.expectEmpty, tc.expectError)
if tc.expectError != "" {
return
}
@@ -271,6 +280,7 @@ func ExecTestIncrementalBackupAndRestoreToPos(t *testing.T, tcase *PITRTestCase)
t.Run(testName, func(t *testing.T) {
restoreToPos, err := replication.DecodePosition(pos)
require.NoError(t, err)
+ require.False(t, restoreToPos.IsZero())
TestReplicaRestoreToPos(t, 0, restoreToPos, "")
msgs := ReadRowsFromReplica(t, 0)
count, ok := rowsPerPosition[pos]
diff --git a/go/test/endtoend/cluster/vtctldclient_process.go b/go/test/endtoend/cluster/vtctldclient_process.go
index 2c6d6028ee0..4ed5acde518 100644
--- a/go/test/endtoend/cluster/vtctldclient_process.go
+++ b/go/test/endtoend/cluster/vtctldclient_process.go
@@ -298,3 +298,14 @@ func (vtctldclient *VtctldClientProcess) OnlineDDLShowRecent(Keyspace string) (r
"recent",
)
}
+
+// OnlineDDLShow responds with recent schema migration list
+func (vtctldclient *VtctldClientProcess) OnlineDDLShow(keyspace, workflow string) (result string, err error) {
+ return vtctldclient.ExecuteCommandWithOutput(
+ "OnlineDDL",
+ "show",
+ "--json",
+ keyspace,
+ workflow,
+ )
+}
diff --git a/go/test/endtoend/mysqlctl/mysqlctl_test.go b/go/test/endtoend/mysqlctl/mysqlctl_test.go
index bdea4d3988c..6c3d65226e3 100644
--- a/go/test/endtoend/mysqlctl/mysqlctl_test.go
+++ b/go/test/endtoend/mysqlctl/mysqlctl_test.go
@@ -141,21 +141,21 @@ func initCluster(shardNames []string, totalTabletsRequired int) {
func TestRestart(t *testing.T) {
defer cluster.PanicHandler(t)
err := primaryTablet.MysqlctlProcess.Stop()
- require.Nil(t, err)
+ require.NoError(t, err)
primaryTablet.MysqlctlProcess.CleanupFiles(primaryTablet.TabletUID)
err = primaryTablet.MysqlctlProcess.Start()
- require.Nil(t, err)
+ require.NoError(t, err)
}
func TestAutoDetect(t *testing.T) {
defer cluster.PanicHandler(t)
err := clusterInstance.Keyspaces[0].Shards[0].Vttablets[0].VttabletProcess.Setup()
- require.Nil(t, err, "error should be nil")
+ require.NoError(t, err)
err = clusterInstance.Keyspaces[0].Shards[0].Vttablets[1].VttabletProcess.Setup()
- require.Nil(t, err, "error should be nil")
+ require.NoError(t, err)
// Reparent tablets, which requires flavor detection
err = clusterInstance.VtctldClientProcess.InitializeShard(keyspaceName, shardName, cell, primaryTablet.TabletUID)
- require.Nil(t, err, "error should be nil")
+ require.NoError(t, err)
}
diff --git a/go/test/endtoend/onlineddl/ghost/onlineddl_ghost_test.go b/go/test/endtoend/onlineddl/ghost/onlineddl_ghost_test.go
deleted file mode 100644
index 41a9a80086b..00000000000
--- a/go/test/endtoend/onlineddl/ghost/onlineddl_ghost_test.go
+++ /dev/null
@@ -1,451 +0,0 @@
-/*
-Copyright 2019 The Vitess Authors.
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-*/
-
-package ghost
-
-import (
- "flag"
- "fmt"
- "os"
- "path"
- "strings"
- "sync"
- "testing"
- "time"
-
- "vitess.io/vitess/go/mysql"
- "vitess.io/vitess/go/vt/schema"
-
- "vitess.io/vitess/go/test/endtoend/cluster"
- "vitess.io/vitess/go/test/endtoend/onlineddl"
- "vitess.io/vitess/go/test/endtoend/throttler"
-
- "github.com/stretchr/testify/assert"
- "github.com/stretchr/testify/require"
-)
-
-var (
- clusterInstance *cluster.LocalProcessCluster
- shards []cluster.Shard
- vtParams mysql.ConnParams
- hostname = "localhost"
- keyspaceName = "ks"
- cell = "zone1"
- schemaChangeDirectory = ""
- totalTableCount = 4
-
- normalMigrationWait = 20 * time.Second
-
- createTable = `
- CREATE TABLE %s (
- id bigint(20) NOT NULL,
- msg varchar(64),
- PRIMARY KEY (id)
- ) ENGINE=InnoDB;`
- insertStatements = []string{
- `insert into %s (id, msg) values (3, 'three')`,
- `insert into %s (id, msg) values (5, 'five')`,
- `insert into %s (id, msg) values (7, 'seven')`,
- `insert into %s (id, msg) values (11, 'eleven')`,
- `insert into %s (id, msg) values (13, 'thirteen')`,
- }
- // To verify non online-DDL behavior
- alterTableNormalStatement = `
- ALTER TABLE %s
- ADD COLUMN non_online int UNSIGNED NOT NULL`
- // A trivial statement which must succeed and does not change the schema
- alterTableTrivialStatement = `
- ALTER TABLE %s
- ENGINE=InnoDB`
- // The following statement is valid
- alterTableSuccessfulStatement = `
- ALTER TABLE %s
- MODIFY id bigint UNSIGNED NOT NULL,
- ADD COLUMN ghost_col int NOT NULL,
- ADD INDEX idx_msg(msg)`
- // The following statement will fail because gh-ost requires some shared unique key
- alterTableFailedStatement = `
- ALTER TABLE %s
- DROP PRIMARY KEY,
- DROP COLUMN ghost_col`
- // We will run this query with "gh-ost --max-load=Threads_running=1"
- alterTableThrottlingStatement = `
- ALTER TABLE %s
- DROP COLUMN ghost_col`
- onlineDDLCreateTableStatement = `
- CREATE TABLE %s (
- id bigint NOT NULL,
- online_ddl_create_col INT NOT NULL,
- PRIMARY KEY (id)
- ) ENGINE=InnoDB;`
- noPKCreateTableStatement = `
- CREATE TABLE %s (
- online_ddl_create_col INT NOT NULL
- ) ENGINE=InnoDB;`
- onlineDDLDropTableStatement = `
- DROP TABLE %s`
- onlineDDLDropTableIfExistsStatement = `
- DROP TABLE IF EXISTS %s`
-
- vSchema = `
- {
- "sharded": true,
- "vindexes": {
- "hash_index": {
- "type": "hash"
- }
- },
- "tables": {
- "vt_onlineddl_test_00": {
- "column_vindexes": [
- {
- "column": "id",
- "name": "hash_index"
- }
- ]
- },
- "vt_onlineddl_test_01": {
- "column_vindexes": [
- {
- "column": "id",
- "name": "hash_index"
- }
- ]
- },
- "vt_onlineddl_test_02": {
- "column_vindexes": [
- {
- "column": "id",
- "name": "hash_index"
- }
- ]
- },
- "vt_onlineddl_test_03": {
- "column_vindexes": [
- {
- "column": "id",
- "name": "hash_index"
- }
- ]
- }
- }
- }
- `
-)
-
-func TestMain(m *testing.M) {
- defer cluster.PanicHandler(nil)
- flag.Parse()
-
- exitcode, err := func() (int, error) {
- clusterInstance = cluster.NewCluster(cell, hostname)
- schemaChangeDirectory = path.Join("/tmp", fmt.Sprintf("schema_change_dir_%d", clusterInstance.GetAndReserveTabletUID()))
- defer os.RemoveAll(schemaChangeDirectory)
- defer clusterInstance.Teardown()
-
- if _, err := os.Stat(schemaChangeDirectory); os.IsNotExist(err) {
- _ = os.Mkdir(schemaChangeDirectory, 0700)
- }
-
- clusterInstance.VtctldExtraArgs = []string{
- "--schema_change_dir", schemaChangeDirectory,
- "--schema_change_controller", "local",
- "--schema_change_check_interval", "1s",
- }
-
- clusterInstance.VtTabletExtraArgs = []string{
- "--heartbeat_interval", "250ms",
- "--heartbeat_on_demand_duration", "5s",
- "--migration_check_interval", "5s",
- "--gh-ost-path", os.Getenv("VITESS_ENDTOEND_GH_OST_PATH"), // leave env variable empty/unset to get the default behavior. Override in Mac.
- }
- clusterInstance.VtGateExtraArgs = []string{
- "--ddl_strategy", "gh-ost",
- }
-
- if err := clusterInstance.StartTopo(); err != nil {
- return 1, err
- }
-
- keyspace := &cluster.Keyspace{
- Name: keyspaceName,
- VSchema: vSchema,
- }
-
- if err := clusterInstance.StartKeyspace(*keyspace, []string{"-80", "80-"}, 1, false); err != nil {
- return 1, err
- }
-
- vtgateInstance := clusterInstance.NewVtgateInstance()
- // Start vtgate
- if err := vtgateInstance.Setup(); err != nil {
- return 1, err
- }
- // ensure it is torn down during cluster TearDown
- clusterInstance.VtgateProcess = *vtgateInstance
- vtParams = mysql.ConnParams{
- Host: clusterInstance.Hostname,
- Port: clusterInstance.VtgateMySQLPort,
- }
-
- return m.Run(), nil
- }()
- if err != nil {
- fmt.Printf("%v\n", err)
- os.Exit(1)
- } else {
- os.Exit(exitcode)
- }
-
-}
-
-func TestSchemaChange(t *testing.T) {
- defer cluster.PanicHandler(t)
- shards = clusterInstance.Keyspaces[0].Shards
- assert.Equal(t, 2, len(shards))
-
- throttler.EnableLagThrottlerAndWaitForStatus(t, clusterInstance, time.Second)
-
- testWithInitialSchema(t)
- t.Run("create non_online", func(t *testing.T) {
- _ = testOnlineDDLStatement(t, alterTableNormalStatement, string(schema.DDLStrategyDirect), "vtctl", "non_online", "")
- })
- t.Run("successful online alter, vtgate", func(t *testing.T) {
- uuid := testOnlineDDLStatement(t, alterTableSuccessfulStatement, "gh-ost", "vtgate", "ghost_col", "")
- onlineddl.CheckMigrationStatus(t, &vtParams, shards, uuid, schema.OnlineDDLStatusComplete)
- onlineddl.CheckCancelMigration(t, &vtParams, shards, uuid, false)
- onlineddl.CheckRetryMigration(t, &vtParams, shards, uuid, false)
-
- var totalRowsCopied uint64
- // count sum of rows copied in all shards, that should be the total number of rows inserted to the table
- rs := onlineddl.ReadMigrations(t, &vtParams, uuid)
- require.NotNil(t, rs)
- for _, row := range rs.Named().Rows {
- rowsCopied := row.AsUint64("rows_copied", 0)
- totalRowsCopied += rowsCopied
- }
- require.Equal(t, uint64(len(insertStatements)), totalRowsCopied)
-
- // See that we're able to read logs after successful migration:
- expectedMessage := "starting gh-ost"
- logs := onlineddl.ReadMigrationLogs(t, &vtParams, uuid)
- assert.Equal(t, len(shards), len(logs))
- for i := range logs {
- require.Contains(t, logs[i], expectedMessage)
- }
-
- })
- t.Run("successful online alter, vtctl", func(t *testing.T) {
- uuid := testOnlineDDLStatement(t, alterTableTrivialStatement, "gh-ost", "vtctl", "ghost_col", "")
- onlineddl.CheckMigrationStatus(t, &vtParams, shards, uuid, schema.OnlineDDLStatusComplete)
- onlineddl.CheckCancelMigration(t, &vtParams, shards, uuid, false)
- onlineddl.CheckRetryMigration(t, &vtParams, shards, uuid, false)
- })
- t.Run("successful online alter, postponed, vtgate", func(t *testing.T) {
- uuid := testOnlineDDLStatement(t, alterTableTrivialStatement, "gh-ost -postpone-completion", "vtgate", "ghost_col", "")
- // Should be still running!
- onlineddl.CheckMigrationStatus(t, &vtParams, shards, uuid, schema.OnlineDDLStatusRunning)
- // Issue a complete and wait for successful completion
- onlineddl.CheckCompleteMigration(t, &vtParams, shards, uuid, true)
- // This part may take a while, because we depend on vreplicatoin polling
- status := onlineddl.WaitForMigrationStatus(t, &vtParams, shards, uuid, normalMigrationWait, schema.OnlineDDLStatusComplete, schema.OnlineDDLStatusFailed)
- fmt.Printf("# Migration status (for debug purposes): <%s>\n", status)
- onlineddl.CheckMigrationStatus(t, &vtParams, shards, uuid, schema.OnlineDDLStatusComplete)
-
- onlineddl.CheckCancelMigration(t, &vtParams, shards, uuid, false)
- onlineddl.CheckRetryMigration(t, &vtParams, shards, uuid, false)
- })
- t.Run("throttled migration", func(t *testing.T) {
- uuid := testOnlineDDLStatement(t, alterTableThrottlingStatement, "gh-ost --max-load=Threads_running=1", "vtgate", "ghost_col", "")
- onlineddl.CheckMigrationStatus(t, &vtParams, shards, uuid, schema.OnlineDDLStatusRunning)
- onlineddl.CheckCancelMigration(t, &vtParams, shards, uuid, true)
- status := onlineddl.WaitForMigrationStatus(t, &vtParams, shards, uuid, 20*time.Second, schema.OnlineDDLStatusFailed, schema.OnlineDDLStatusCancelled)
- fmt.Printf("# Migration status (for debug purposes): <%s>\n", status)
- onlineddl.CheckMigrationStatus(t, &vtParams, shards, uuid, schema.OnlineDDLStatusCancelled)
- })
- t.Run("failed migration", func(t *testing.T) {
- uuid := testOnlineDDLStatement(t, alterTableFailedStatement, "gh-ost", "vtgate", "ghost_col", "")
- onlineddl.CheckMigrationStatus(t, &vtParams, shards, uuid, schema.OnlineDDLStatusFailed)
- onlineddl.CheckCancelMigration(t, &vtParams, shards, uuid, false)
- onlineddl.CheckRetryMigration(t, &vtParams, shards, uuid, true)
- // migration will fail again
- })
- t.Run("cancel all migrations: nothing to cancel", func(t *testing.T) {
- // no migrations pending at this time
- time.Sleep(10 * time.Second)
- onlineddl.CheckCancelAllMigrations(t, &vtParams, 0)
- })
- t.Run("cancel all migrations: some migrations to cancel", func(t *testing.T) {
- // spawn n migrations; cancel them via cancel-all
- var wg sync.WaitGroup
- count := 4
- for i := 0; i < count; i++ {
- wg.Add(1)
- go func() {
- defer wg.Done()
- _ = testOnlineDDLStatement(t, alterTableThrottlingStatement, "gh-ost --max-load=Threads_running=1", "vtgate", "ghost_col", "")
- }()
- }
- wg.Wait()
- onlineddl.CheckCancelAllMigrations(t, &vtParams, len(shards)*count)
- })
- t.Run("Online DROP, vtctl", func(t *testing.T) {
- uuid := testOnlineDDLStatement(t, onlineDDLDropTableStatement, "gh-ost", "vtctl", "", "")
- onlineddl.CheckMigrationStatus(t, &vtParams, shards, uuid, schema.OnlineDDLStatusComplete)
- onlineddl.CheckCancelMigration(t, &vtParams, shards, uuid, false)
- onlineddl.CheckRetryMigration(t, &vtParams, shards, uuid, false)
- })
- t.Run("Online CREATE, vtctl", func(t *testing.T) {
- uuid := testOnlineDDLStatement(t, onlineDDLCreateTableStatement, "gh-ost", "vtctl", "online_ddl_create_col", "")
- onlineddl.CheckMigrationStatus(t, &vtParams, shards, uuid, schema.OnlineDDLStatusComplete)
- onlineddl.CheckCancelMigration(t, &vtParams, shards, uuid, false)
- onlineddl.CheckRetryMigration(t, &vtParams, shards, uuid, false)
- })
- t.Run("Online DROP TABLE IF EXISTS, vtgate", func(t *testing.T) {
- uuid := testOnlineDDLStatement(t, onlineDDLDropTableIfExistsStatement, "gh-ost", "vtgate", "", "")
- onlineddl.CheckMigrationStatus(t, &vtParams, shards, uuid, schema.OnlineDDLStatusComplete)
- onlineddl.CheckCancelMigration(t, &vtParams, shards, uuid, false)
- onlineddl.CheckRetryMigration(t, &vtParams, shards, uuid, false)
- // this table existed
- checkTables(t, schema.OnlineDDLToGCUUID(uuid), 1)
- })
- t.Run("Online DROP TABLE IF EXISTS for nonexistent table, vtgate", func(t *testing.T) {
- uuid := testOnlineDDLStatement(t, onlineDDLDropTableIfExistsStatement, "gh-ost", "vtgate", "", "")
- onlineddl.CheckMigrationStatus(t, &vtParams, shards, uuid, schema.OnlineDDLStatusComplete)
- onlineddl.CheckCancelMigration(t, &vtParams, shards, uuid, false)
- onlineddl.CheckRetryMigration(t, &vtParams, shards, uuid, false)
- // this table did not exist
- checkTables(t, schema.OnlineDDLToGCUUID(uuid), 0)
- })
- t.Run("Online DROP TABLE for nonexistent table, expect error, vtgate", func(t *testing.T) {
- uuid := testOnlineDDLStatement(t, onlineDDLDropTableStatement, "gh-ost", "vtgate", "", "")
- onlineddl.CheckMigrationStatus(t, &vtParams, shards, uuid, schema.OnlineDDLStatusFailed)
- onlineddl.CheckCancelMigration(t, &vtParams, shards, uuid, false)
- onlineddl.CheckRetryMigration(t, &vtParams, shards, uuid, true)
- })
- t.Run("Online CREATE no PK table, vtgate", func(t *testing.T) {
- uuid := testOnlineDDLStatement(t, noPKCreateTableStatement, "gh-ost", "vtgate", "online_ddl_create_col", "")
- onlineddl.CheckMigrationStatus(t, &vtParams, shards, uuid, schema.OnlineDDLStatusComplete)
- onlineddl.CheckCancelMigration(t, &vtParams, shards, uuid, false)
- onlineddl.CheckRetryMigration(t, &vtParams, shards, uuid, false)
- })
- t.Run("Fail ALTER for no PK table, vtgate", func(t *testing.T) {
- uuid := testOnlineDDLStatement(t, alterTableTrivialStatement, "gh-ost", "vtgate", "", "")
- onlineddl.CheckMigrationStatus(t, &vtParams, shards, uuid, schema.OnlineDDLStatusFailed)
-
- expectedMessage := "No PRIMARY nor UNIQUE key found"
- rs := onlineddl.ReadMigrations(t, &vtParams, uuid)
- require.NotNil(t, rs)
- for _, row := range rs.Named().Rows {
- message := row["message"].ToString()
- // the following message is generated by gh-ost. We test that it is captured in our 'message' column:
- require.Contains(t, message, expectedMessage)
- }
-
- // See that we're able to read logs after failed migration:
- logs := onlineddl.ReadMigrationLogs(t, &vtParams, uuid)
- assert.Equal(t, len(shards), len(logs))
- for i := range logs {
- require.Contains(t, logs[i], expectedMessage)
- }
- })
-}
-
-func testWithInitialSchema(t *testing.T) {
- // Create 4 tables and populate them
- var sqlQuery = "" //nolint
- for i := 0; i < totalTableCount; i++ {
- tableName := fmt.Sprintf("vt_onlineddl_test_%02d", i)
- sqlQuery = fmt.Sprintf(createTable, tableName)
- err := clusterInstance.VtctldClientProcess.ApplySchema(keyspaceName, sqlQuery)
- require.Nil(t, err)
-
- for _, insert := range insertStatements {
- insertQuery := fmt.Sprintf(insert, tableName)
- r := onlineddl.VtgateExecQuery(t, &vtParams, insertQuery, "")
- require.NotNil(t, r)
- }
- }
-
- // Check if 4 tables are created
- checkTables(t, "", totalTableCount)
-}
-
-// testOnlineDDLStatement runs an online DDL, ALTER statement
-func testOnlineDDLStatement(t *testing.T, alterStatement string, ddlStrategy string, executeStrategy string, expectHint string, callerID string) (uuid string) {
- tableName := fmt.Sprintf("vt_onlineddl_test_%02d", 3)
- sqlQuery := fmt.Sprintf(alterStatement, tableName)
- if executeStrategy == "vtgate" {
- row := onlineddl.VtgateExecDDL(t, &vtParams, ddlStrategy, sqlQuery, "").Named().Row()
- if row != nil {
- uuid = row.AsString("uuid", "")
- }
- } else {
- var err error
- uuid, err = clusterInstance.VtctldClientProcess.ApplySchemaWithOutput(keyspaceName, sqlQuery, cluster.ApplySchemaParams{DDLStrategy: ddlStrategy, CallerID: callerID})
- assert.NoError(t, err)
- }
- uuid = strings.TrimSpace(uuid)
- fmt.Println("# Generated UUID (for debug purposes):")
- fmt.Printf("<%s>\n", uuid)
-
- strategySetting, err := schema.ParseDDLStrategy(ddlStrategy)
- assert.NoError(t, err)
-
- if !strategySetting.Strategy.IsDirect() {
- status := onlineddl.WaitForMigrationStatus(t, &vtParams, shards, uuid, normalMigrationWait, schema.OnlineDDLStatusComplete, schema.OnlineDDLStatusFailed)
- fmt.Printf("# Migration status (for debug purposes): <%s>\n", status)
- }
-
- if expectHint != "" {
- checkMigratedTable(t, tableName, expectHint)
- }
- return uuid
-}
-
-// checkTables checks the number of tables in the first two shards.
-func checkTables(t *testing.T, showTableName string, expectCount int) {
- for i := range clusterInstance.Keyspaces[0].Shards {
- checkTablesCount(t, clusterInstance.Keyspaces[0].Shards[i].Vttablets[0], showTableName, expectCount)
- }
-}
-
-// checkTablesCount checks the number of tables in the given tablet
-func checkTablesCount(t *testing.T, tablet *cluster.Vttablet, showTableName string, expectCount int) {
- query := fmt.Sprintf(`show tables like '%%%s%%';`, showTableName)
- queryResult, err := tablet.VttabletProcess.QueryTablet(query, keyspaceName, true)
- require.Nil(t, err)
- assert.Equal(t, expectCount, len(queryResult.Rows))
-}
-
-// checkMigratedTables checks the CREATE STATEMENT of a table after migration
-func checkMigratedTable(t *testing.T, tableName, expectColumn string) {
- for i := range clusterInstance.Keyspaces[0].Shards {
- createStatement := getCreateTableStatement(t, clusterInstance.Keyspaces[0].Shards[i].Vttablets[0], tableName)
- assert.Contains(t, createStatement, expectColumn)
- }
-}
-
-// getCreateTableStatement returns the CREATE TABLE statement for a given table
-func getCreateTableStatement(t *testing.T, tablet *cluster.Vttablet, tableName string) (statement string) {
- queryResult, err := tablet.VttabletProcess.QueryTablet(fmt.Sprintf("show create table %s;", tableName), keyspaceName, true)
- require.Nil(t, err)
-
- assert.Equal(t, len(queryResult.Rows), 1)
- assert.Equal(t, len(queryResult.Rows[0]), 2) // table name, create statement
- statement = queryResult.Rows[0][1].ToString()
- return statement
-}
diff --git a/go/test/endtoend/onlineddl/scheduler/onlineddl_scheduler_test.go b/go/test/endtoend/onlineddl/scheduler/onlineddl_scheduler_test.go
index 883b1e43831..d5106db6bf6 100644
--- a/go/test/endtoend/onlineddl/scheduler/onlineddl_scheduler_test.go
+++ b/go/test/endtoend/onlineddl/scheduler/onlineddl_scheduler_test.go
@@ -1302,7 +1302,6 @@ func testSingleton(t *testing.T) {
key updates_idx(updates)
) ENGINE=InnoDB
`
- // We will run this query with "gh-ost --max-load=Threads_running=1"
alterTableThrottlingStatement = `
ALTER TABLE stress_test DROP COLUMN created_timestamp
`
@@ -1358,38 +1357,38 @@ DROP TABLE IF EXISTS stress_test
checkTable(t, tableName, true)
})
- var throttledUUID string
- t.Run("throttled migration", func(t *testing.T) {
- throttledUUID = testOnlineDDLStatement(t, createParams(alterTableThrottlingStatement, "gh-ost --singleton --max-load=Threads_running=1", "vtgate", "", "hint_col", "", false))
- onlineddl.CheckMigrationStatus(t, &vtParams, shards, throttledUUID, schema.OnlineDDLStatusRunning)
+ var openEndedUUID string
+ t.Run("open ended migration", func(t *testing.T) {
+ openEndedUUID = testOnlineDDLStatement(t, createParams(alterTableThrottlingStatement, "vitess --singleton --postpone-completion", "vtgate", "", "hint_col", "", false))
+ onlineddl.CheckMigrationStatus(t, &vtParams, shards, openEndedUUID, schema.OnlineDDLStatusRunning)
})
t.Run("failed singleton migration, vtgate", func(t *testing.T) {
- uuid := testOnlineDDLStatement(t, createParams(alterTableThrottlingStatement, "gh-ost --singleton --max-load=Threads_running=1", "vtgate", "", "hint_col", "rejected", true))
+ uuid := testOnlineDDLStatement(t, createParams(alterTableThrottlingStatement, "vitess --singleton --postpone-completion", "vtgate", "", "hint_col", "rejected", true))
assert.Empty(t, uuid)
})
t.Run("failed singleton migration, vtctl", func(t *testing.T) {
- uuid := testOnlineDDLStatement(t, createParams(alterTableThrottlingStatement, "gh-ost --singleton --max-load=Threads_running=1", "vtctl", "", "hint_col", "rejected", true))
+ uuid := testOnlineDDLStatement(t, createParams(alterTableThrottlingStatement, "vitess --singleton --postpone-completion", "vtctl", "", "hint_col", "rejected", true))
assert.Empty(t, uuid)
})
t.Run("failed revert migration", func(t *testing.T) {
- uuid := testRevertMigration(t, createRevertParams(throttledUUID, onlineSingletonDDLStrategy, "vtgate", "", "rejected", true))
+ uuid := testRevertMigration(t, createRevertParams(openEndedUUID, onlineSingletonDDLStrategy, "vtgate", "", "rejected", true))
assert.Empty(t, uuid)
})
t.Run("terminate throttled migration", func(t *testing.T) {
- onlineddl.CheckMigrationStatus(t, &vtParams, shards, throttledUUID, schema.OnlineDDLStatusRunning)
- onlineddl.CheckCancelMigration(t, &vtParams, shards, throttledUUID, true)
- status := onlineddl.WaitForMigrationStatus(t, &vtParams, shards, throttledUUID, 20*time.Second, schema.OnlineDDLStatusFailed, schema.OnlineDDLStatusCancelled)
+ onlineddl.CheckMigrationStatus(t, &vtParams, shards, openEndedUUID, schema.OnlineDDLStatusRunning)
+ onlineddl.CheckCancelMigration(t, &vtParams, shards, openEndedUUID, true)
+ status := onlineddl.WaitForMigrationStatus(t, &vtParams, shards, openEndedUUID, 20*time.Second, schema.OnlineDDLStatusFailed, schema.OnlineDDLStatusCancelled)
fmt.Printf("# Migration status (for debug purposes): <%s>\n", status)
- onlineddl.CheckMigrationStatus(t, &vtParams, shards, throttledUUID, schema.OnlineDDLStatusCancelled)
+ onlineddl.CheckMigrationStatus(t, &vtParams, shards, openEndedUUID, schema.OnlineDDLStatusCancelled)
})
- t.Run("successful gh-ost alter, vtctl", func(t *testing.T) {
- uuid := testOnlineDDLStatement(t, createParams(alterTableTrivialStatement, "gh-ost --singleton", "vtctl", "", "hint_col", "", false))
+ t.Run("successful alter, vtctl", func(t *testing.T) {
+ uuid := testOnlineDDLStatement(t, createParams(alterTableTrivialStatement, "vitess --singleton", "vtctl", "", "hint_col", "", false))
onlineddl.CheckMigrationStatus(t, &vtParams, shards, uuid, schema.OnlineDDLStatusComplete)
onlineddl.CheckCancelMigration(t, &vtParams, shards, uuid, false)
onlineddl.CheckRetryMigration(t, &vtParams, shards, uuid, false)
})
- t.Run("successful gh-ost alter, vtgate", func(t *testing.T) {
- uuid := testOnlineDDLStatement(t, createParams(alterTableTrivialStatement, "gh-ost --singleton", "vtgate", "", "hint_col", "", false))
+ t.Run("successful alter, vtgate", func(t *testing.T) {
+ uuid := testOnlineDDLStatement(t, createParams(alterTableTrivialStatement, "vitess --singleton", "vtgate", "", "hint_col", "", false))
onlineddl.CheckMigrationStatus(t, &vtParams, shards, uuid, schema.OnlineDDLStatusComplete)
onlineddl.CheckCancelMigration(t, &vtParams, shards, uuid, false)
onlineddl.CheckRetryMigration(t, &vtParams, shards, uuid, false)
@@ -1413,8 +1412,8 @@ DROP TABLE IF EXISTS stress_test
var throttledUUIDs []string
// singleton-context
- t.Run("throttled migrations, singleton-context", func(t *testing.T) {
- uuidList := testOnlineDDLStatement(t, createParams(multiAlterTableThrottlingStatement, "gh-ost --singleton-context --max-load=Threads_running=1", "vtctl", "", "hint_col", "", false))
+ t.Run("postponed migrations, singleton-context", func(t *testing.T) {
+ uuidList := testOnlineDDLStatement(t, createParams(multiAlterTableThrottlingStatement, "vitess --singleton-context --postpone-completion", "vtctl", "", "hint_col", "", false))
throttledUUIDs = strings.Split(uuidList, "\n")
assert.Equal(t, 3, len(throttledUUIDs))
for _, uuid := range throttledUUIDs {
@@ -1422,7 +1421,7 @@ DROP TABLE IF EXISTS stress_test
}
})
t.Run("failed migrations, singleton-context", func(t *testing.T) {
- _ = testOnlineDDLStatement(t, createParams(multiAlterTableThrottlingStatement, "gh-ost --singleton-context --max-load=Threads_running=1", "vtctl", "", "hint_col", "rejected", false))
+ _ = testOnlineDDLStatement(t, createParams(multiAlterTableThrottlingStatement, "vitess --singleton-context --postpone-completion", "vtctl", "", "hint_col", "rejected", false))
})
t.Run("terminate throttled migrations", func(t *testing.T) {
for _, uuid := range throttledUUIDs {
diff --git a/go/test/endtoend/utils/mysql.go b/go/test/endtoend/utils/mysql.go
index 790e1fc4ba1..a522af2472e 100644
--- a/go/test/endtoend/utils/mysql.go
+++ b/go/test/endtoend/utils/mysql.go
@@ -54,7 +54,7 @@ func NewMySQL(cluster *cluster.LocalProcessCluster, dbName string, schemaSQL ...
}
sqls = append(sqls, split...)
}
- mysqlParam, _, closer, error := NewMySQLWithMysqld(cluster.GetAndReservePort(), cluster.Hostname, dbName, sqls...)
+ mysqlParam, _, _, closer, error := NewMySQLWithMysqld(cluster.GetAndReservePort(), cluster.Hostname, dbName, sqls...)
return mysqlParam, closer, error
}
@@ -75,24 +75,24 @@ func CreateMysqldAndMycnf(tabletUID uint32, mysqlSocket string, mysqlPort int) (
return mysqlctl.NewMysqld(&cfg), mycnf, nil
}
-func NewMySQLWithMysqld(port int, hostname, dbName string, schemaSQL ...string) (mysql.ConnParams, *mysqlctl.Mysqld, func(), error) {
+func NewMySQLWithMysqld(port int, hostname, dbName string, schemaSQL ...string) (mysql.ConnParams, *mysqlctl.Mysqld, *mysqlctl.Mycnf, func(), error) {
mysqlDir, err := createMySQLDir()
if err != nil {
- return mysql.ConnParams{}, nil, nil, err
+ return mysql.ConnParams{}, nil, nil, nil, err
}
initMySQLFile, err := createInitSQLFile(mysqlDir, dbName)
if err != nil {
- return mysql.ConnParams{}, nil, nil, err
+ return mysql.ConnParams{}, nil, nil, nil, err
}
mysqlPort := port
mysqld, mycnf, err := CreateMysqldAndMycnf(0, "", mysqlPort)
if err != nil {
- return mysql.ConnParams{}, nil, nil, err
+ return mysql.ConnParams{}, nil, nil, nil, err
}
err = initMysqld(mysqld, mycnf, initMySQLFile)
if err != nil {
- return mysql.ConnParams{}, nil, nil, err
+ return mysql.ConnParams{}, nil, nil, nil, err
}
params := mysql.ConnParams{
@@ -104,10 +104,10 @@ func NewMySQLWithMysqld(port int, hostname, dbName string, schemaSQL ...string)
for _, sql := range schemaSQL {
err = prepareMySQLWithSchema(params, sql)
if err != nil {
- return mysql.ConnParams{}, nil, nil, err
+ return mysql.ConnParams{}, nil, nil, nil, err
}
}
- return params, mysqld, func() {
+ return params, mysqld, mycnf, func() {
ctx := context.Background()
_ = mysqld.Teardown(ctx, mycnf, true, mysqlShutdownTimeout)
}, nil
diff --git a/go/test/endtoend/utils/mysql_test.go b/go/test/endtoend/utils/mysql_test.go
index de9db23dab1..ae550e34864 100644
--- a/go/test/endtoend/utils/mysql_test.go
+++ b/go/test/endtoend/utils/mysql_test.go
@@ -26,6 +26,7 @@ import (
"github.com/stretchr/testify/require"
"vitess.io/vitess/go/mysql"
+ "vitess.io/vitess/go/mysql/replication"
"vitess.io/vitess/go/test/endtoend/cluster"
"vitess.io/vitess/go/vt/mysqlctl"
)
@@ -34,6 +35,7 @@ var (
clusterInstance *cluster.LocalProcessCluster
mysqlParams mysql.ConnParams
mysqld *mysqlctl.Mysqld
+ mycnf *mysqlctl.Mycnf
keyspaceName = "ks"
cell = "test"
schemaSQL = `create table t1(
@@ -53,7 +55,7 @@ func TestMain(m *testing.M) {
var closer func()
var err error
- mysqlParams, mysqld, closer, err = NewMySQLWithMysqld(clusterInstance.GetAndReservePort(), clusterInstance.Hostname, keyspaceName, schemaSQL)
+ mysqlParams, mysqld, mycnf, closer, err = NewMySQLWithMysqld(clusterInstance.GetAndReservePort(), clusterInstance.Hostname, keyspaceName, schemaSQL)
if err != nil {
fmt.Println(err)
return 1
@@ -123,3 +125,347 @@ func TestSetSuperReadOnlyMySQL(t *testing.T) {
isReadOnly, _ = mysqld.IsReadOnly()
assert.True(t, isReadOnly, "read_only should be set to True")
}
+
+func TestGetMysqlPort(t *testing.T) {
+ require.NotNil(t, mysqld)
+
+ port, err := mysqld.GetMysqlPort()
+
+ // Expected port should be one less than the port returned by GetAndReservePort
+ // As we are calling this second time to get port
+ want := clusterInstance.GetAndReservePort() - 1
+ assert.Equal(t, want, int(port))
+ assert.NoError(t, err)
+}
+
+func TestGetServerID(t *testing.T) {
+ require.NotNil(t, mysqld)
+
+ sid, err := mysqld.GetServerID(context.Background())
+ assert.NoError(t, err)
+ assert.Equal(t, mycnf.ServerID, sid)
+
+ suuid, err := mysqld.GetServerUUID(context.Background())
+ assert.NoError(t, err)
+ assert.NotEmpty(t, suuid)
+}
+
+func TestReplicationStatus(t *testing.T) {
+ require.NotNil(t, mysqld)
+
+ // Initially we should expect an error for no replication status
+ _, err := mysqld.ReplicationStatus()
+ assert.ErrorContains(t, err, "no replication status")
+
+ ctx := context.Background()
+ conn, err := mysql.Connect(ctx, &mysqlParams)
+ require.NoError(t, err)
+
+ port, err := mysqld.GetMysqlPort()
+ require.NoError(t, err)
+ host := "localhost"
+
+ q := conn.SetReplicationSourceCommand(&mysqlParams, host, port, int(port))
+ res := Exec(t, conn, q)
+ require.NotNil(t, res)
+
+ r, err := mysqld.ReplicationStatus()
+ assert.NoError(t, err)
+ assert.Equal(t, port, r.SourcePort)
+ assert.Equal(t, host, r.SourceHost)
+}
+
+func TestPrimaryStatus(t *testing.T) {
+ require.NotNil(t, mysqld)
+
+ res, err := mysqld.PrimaryStatus(context.Background())
+ assert.NoError(t, err)
+
+ r, err := mysqld.ReplicationStatus()
+ assert.NoError(t, err)
+
+ assert.True(t, res.Position.Equal(r.Position), "primary replication status should be same as replication status here")
+}
+
+func TestGTID(t *testing.T) {
+ require.NotNil(t, mysqld)
+
+ res, err := mysqld.GetGTIDPurged(context.Background())
+ assert.Empty(t, res.String())
+ assert.NoError(t, err)
+
+ primaryPosition, err := mysqld.PrimaryPosition()
+ assert.NotNil(t, primaryPosition)
+ assert.NoError(t, err)
+
+ // Now we set gtid_purged for testing
+ conn, err := mysql.Connect(context.Background(), &mysqlParams)
+ require.NoError(t, err)
+
+ gtid := "8bc65c84-3fe4-11ed-a912-257f0fcdd6c9:1-8"
+ r := Exec(t, conn, fmt.Sprintf("SET GLOBAL gtid_purged='%s'", gtid))
+ require.NotNil(t, r)
+
+ res, err = mysqld.GetGTIDPurged(context.Background())
+ assert.NoError(t, err)
+ assert.Equal(t, gtid, res.String())
+
+ primaryPosition, err = mysqld.PrimaryPosition()
+ assert.NoError(t, err)
+ assert.Contains(t, primaryPosition.String(), gtid)
+}
+
+func TestSetReplicationPosition(t *testing.T) {
+ require.NotNil(t, mysqld)
+
+ pos := replication.Position{GTIDSet: replication.Mysql56GTIDSet{}}
+ sid := replication.SID{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15}
+ pos.GTIDSet = pos.GTIDSet.AddGTID(replication.Mysql56GTID{Server: sid, Sequence: 1})
+
+ err := mysqld.SetReplicationPosition(context.Background(), pos)
+ assert.NoError(t, err)
+
+ want := "00010203-0405-0607-0809-0a0b0c0d0e0f:1"
+ res, err := mysqld.GetGTIDPurged(context.Background())
+ assert.NoError(t, err)
+ assert.Contains(t, res.String(), want)
+}
+
+func TestSetAndResetReplication(t *testing.T) {
+ require.NotNil(t, mysqld)
+
+ port, err := mysqld.GetMysqlPort()
+ require.NoError(t, err)
+ host := "localhost"
+
+ err = mysqld.SetReplicationSource(context.Background(), host, port, true, true)
+ assert.NoError(t, err)
+
+ r, err := mysqld.ReplicationStatus()
+ assert.NoError(t, err)
+ assert.Equal(t, port, r.SourcePort)
+ assert.Equal(t, host, r.SourceHost)
+
+ err = mysqld.ResetReplication(context.Background())
+ assert.NoError(t, err)
+
+ r, err = mysqld.ReplicationStatus()
+ assert.ErrorContains(t, err, "no replication status")
+ assert.Equal(t, "", r.SourceHost)
+ assert.Equal(t, int32(0), r.SourcePort)
+
+ err = mysqld.SetReplicationSource(context.Background(), host, port, true, true)
+ assert.NoError(t, err)
+
+ r, err = mysqld.ReplicationStatus()
+ assert.NoError(t, err)
+ assert.Equal(t, port, r.SourcePort)
+ assert.Equal(t, host, r.SourceHost)
+
+ err = mysqld.ResetReplication(context.Background())
+ assert.NoError(t, err)
+
+ r, err = mysqld.ReplicationStatus()
+ assert.ErrorContains(t, err, "no replication status")
+ assert.Equal(t, "", r.SourceHost)
+ assert.Equal(t, int32(0), r.SourcePort)
+}
+
+func TestGetBinlogInformation(t *testing.T) {
+ require.NotNil(t, mysqld)
+
+ // Default values
+ binlogFormat, logBin, logReplicaUpdates, binlogRowImage, err := mysqld.GetBinlogInformation(context.Background())
+ assert.NoError(t, err)
+ assert.Equal(t, "ROW", binlogFormat)
+ assert.True(t, logBin)
+ assert.True(t, logReplicaUpdates)
+ assert.Equal(t, "FULL", binlogRowImage)
+
+ conn, err := mysql.Connect(context.Background(), &mysqlParams)
+ require.NoError(t, err)
+
+ res := Exec(t, conn, "SET GLOBAL binlog_format = 'STATEMENT'")
+ require.NotNil(t, res)
+
+ res = Exec(t, conn, "SET GLOBAL binlog_row_image = 'MINIMAL'")
+ require.NotNil(t, res)
+
+ binlogFormat, logBin, logReplicaUpdates, binlogRowImage, err = mysqld.GetBinlogInformation(context.Background())
+ assert.NoError(t, err)
+ assert.Equal(t, "STATEMENT", binlogFormat)
+ assert.True(t, logBin)
+ assert.True(t, logReplicaUpdates)
+ assert.Equal(t, "MINIMAL", binlogRowImage)
+
+ // Set to default
+ res = Exec(t, conn, "SET GLOBAL binlog_format = 'ROW'")
+ require.NotNil(t, res)
+
+ res = Exec(t, conn, "SET GLOBAL binlog_row_image = 'FULL'")
+ require.NotNil(t, res)
+}
+
+func TestGetGTIDMode(t *testing.T) {
+ require.NotNil(t, mysqld)
+
+ // Default value
+ ctx := context.Background()
+ res, err := mysqld.GetGTIDMode(ctx)
+ assert.NoError(t, err)
+ assert.Equal(t, "ON", res)
+
+ conn, err := mysql.Connect(context.Background(), &mysqlParams)
+ require.NoError(t, err)
+
+ // Change value for the purpose of testing
+ r := Exec(t, conn, "SET GLOBAL gtid_mode = 'ON_PERMISSIVE'")
+ require.NotNil(t, r)
+
+ res, err = mysqld.GetGTIDMode(ctx)
+ assert.NoError(t, err)
+ assert.Equal(t, "ON_PERMISSIVE", res)
+
+ // Back to default
+ r = Exec(t, conn, "SET GLOBAL gtid_mode = 'ON'")
+ require.NotNil(t, r)
+}
+
+func TestBinaryLogs(t *testing.T) {
+ require.NotNil(t, mysqld)
+
+ res, err := mysqld.GetBinaryLogs(context.Background())
+ assert.NoError(t, err)
+ oldNumLogs := len(res)
+
+ err = mysqld.FlushBinaryLogs(context.Background())
+ assert.NoError(t, err)
+
+ res, err = mysqld.GetBinaryLogs(context.Background())
+ assert.NoError(t, err)
+ newNumLogs := len(res)
+ assert.Equal(t, 1, newNumLogs-oldNumLogs, "binary logs should have been flushed once")
+}
+
+func TestGetPreviousGTIDs(t *testing.T) {
+ require.NotNil(t, mysqld)
+
+ res, err := mysqld.GetBinaryLogs(context.Background())
+ require.NoError(t, err)
+ require.NotEmpty(t, res)
+
+ ctx := context.Background()
+ r, err := mysqld.GetPreviousGTIDs(ctx, res[0])
+ assert.NoError(t, err)
+ assert.Empty(t, r)
+
+ _, err = mysqld.GetPreviousGTIDs(ctx, "invalid_binlog_file")
+ assert.ErrorContains(t, err, "Could not find target log")
+}
+
+func TestSemiSyncEnabled(t *testing.T) {
+ require.NotNil(t, mysqld)
+
+ err := mysqld.SetSemiSyncEnabled(true, false)
+ assert.NoError(t, err)
+
+ p, r := mysqld.SemiSyncEnabled()
+ assert.True(t, p)
+ assert.False(t, r)
+
+ err = mysqld.SetSemiSyncEnabled(false, true)
+ assert.NoError(t, err)
+
+ p, r = mysqld.SemiSyncEnabled()
+ assert.False(t, p)
+ assert.True(t, r)
+}
+
+func TestWaitForReplicationStart(t *testing.T) {
+ require.NotNil(t, mysqld)
+
+ err := mysqlctl.WaitForReplicationStart(mysqld, 1)
+ assert.ErrorContains(t, err, "no replication status")
+
+ port, err := mysqld.GetMysqlPort()
+ require.NoError(t, err)
+ host := "localhost"
+
+ err = mysqld.SetReplicationSource(context.Background(), host, port, true, true)
+ assert.NoError(t, err)
+
+ err = mysqlctl.WaitForReplicationStart(mysqld, 1)
+ assert.NoError(t, err)
+
+ err = mysqld.ResetReplication(context.Background())
+ require.NoError(t, err)
+}
+
+func TestStartReplication(t *testing.T) {
+ require.NotNil(t, mysqld)
+
+ err := mysqld.StartReplication(map[string]string{})
+ assert.ErrorContains(t, err, "The server is not configured as replica")
+
+ port, err := mysqld.GetMysqlPort()
+ require.NoError(t, err)
+ host := "localhost"
+
+ // Set startReplicationAfter to false as we want to test StartReplication here
+ err = mysqld.SetReplicationSource(context.Background(), host, port, true, false)
+ assert.NoError(t, err)
+
+ err = mysqld.StartReplication(map[string]string{})
+ assert.NoError(t, err)
+
+ err = mysqld.ResetReplication(context.Background())
+ require.NoError(t, err)
+}
+
+func TestStopReplication(t *testing.T) {
+ require.NotNil(t, mysqld)
+
+ port, err := mysqld.GetMysqlPort()
+ require.NoError(t, err)
+ host := "localhost"
+
+ err = mysqld.SetReplicationSource(context.Background(), host, port, true, true)
+ assert.NoError(t, err)
+
+ r, err := mysqld.ReplicationStatus()
+ assert.NoError(t, err)
+ assert.Equal(t, host, r.SourceHost)
+ assert.Equal(t, port, r.SourcePort)
+ assert.Equal(t, replication.ReplicationStateRunning, r.SQLState)
+
+ err = mysqld.StopReplication(map[string]string{})
+ assert.NoError(t, err)
+
+ r, err = mysqld.ReplicationStatus()
+ assert.NoError(t, err)
+ assert.Equal(t, replication.ReplicationStateStopped, r.SQLState)
+}
+
+func TestStopSQLThread(t *testing.T) {
+ require.NotNil(t, mysqld)
+
+ port, err := mysqld.GetMysqlPort()
+ require.NoError(t, err)
+ host := "localhost"
+
+ err = mysqld.SetReplicationSource(context.Background(), host, port, true, true)
+ assert.NoError(t, err)
+
+ r, err := mysqld.ReplicationStatus()
+ assert.NoError(t, err)
+ assert.Equal(t, host, r.SourceHost)
+ assert.Equal(t, port, r.SourcePort)
+ assert.Equal(t, replication.ReplicationStateRunning, r.SQLState)
+
+ err = mysqld.StopSQLThread(context.Background())
+ assert.NoError(t, err)
+
+ r, err = mysqld.ReplicationStatus()
+ assert.NoError(t, err)
+ assert.Equal(t, replication.ReplicationStateStopped, r.SQLState)
+}
diff --git a/go/test/endtoend/vreplication/config_test.go b/go/test/endtoend/vreplication/config_test.go
index 62f20f36e80..c26c4edc2ff 100644
--- a/go/test/endtoend/vreplication/config_test.go
+++ b/go/test/endtoend/vreplication/config_test.go
@@ -20,9 +20,11 @@ package vreplication
// We violate the NO_ZERO_DATES and NO_ZERO_IN_DATE sql_modes that are enabled by default in
// MySQL 5.7+ and MariaDB 10.2+ to ensure that vreplication still works everywhere and the
// permissive sql_mode now used in vreplication causes no unwanted side effects.
-// The customer table also tests two important things:
+// The customer table also tests several important things:
// 1. Composite or multi-column primary keys
// 2. PKs that contain an ENUM column
+// 3. That we properly handle tables with auto_increment columns (which are stripped by default when
+// moving the table to a sharded keyspace with vtctldclient and left in place when using vtctlclient)
//
// The Lead and Lead-1 tables also allows us to test several things:
// 1. Mixed case identifiers
@@ -40,7 +42,7 @@ var (
// All standard user tables should have a primary key and at least one secondary key.
initialProductSchema = `
create table product(pid int, description varbinary(128), date1 datetime not null default '0000-00-00 00:00:00', date2 datetime not null default '2021-00-01 00:00:00', primary key(pid), key(date1,date2)) CHARSET=utf8mb4;
-create table customer(cid int, name varchar(128) collate utf8mb4_bin, meta json default null, typ enum('individual','soho','enterprise'), sport set('football','cricket','baseball'),
+create table customer(cid int auto_increment, name varchar(128) collate utf8mb4_bin, meta json default null, typ enum('individual','soho','enterprise'), sport set('football','cricket','baseball'),
ts timestamp not null default current_timestamp, bits bit(2) default b'11', date1 datetime not null default '0000-00-00 00:00:00',
date2 datetime not null default '2021-00-01 00:00:00', dec80 decimal(8,0), blb blob, primary key(cid,typ), key(name)) CHARSET=utf8mb4;
create table customer_seq(id int, next_id bigint, cache bigint, primary key(id)) comment 'vitess_sequence';
diff --git a/go/test/endtoend/vreplication/helper_test.go b/go/test/endtoend/vreplication/helper_test.go
index e187c8398b6..29d8f518638 100644
--- a/go/test/endtoend/vreplication/helper_test.go
+++ b/go/test/endtoend/vreplication/helper_test.go
@@ -358,7 +358,7 @@ func waitForWorkflowState(t *testing.T, vc *VitessCluster, ksWorkflow string, wa
log.Infof("Waiting for workflow %q to fully reach %q state", ksWorkflow, wantState)
for {
output, err := vc.VtctlClient.ExecuteCommandWithOutput("Workflow", ksWorkflow, "show")
- require.NoError(t, err)
+ require.NoError(t, err, output)
done = true
state := ""
result := gjson.Get(output, "ShardStatuses")
@@ -522,7 +522,6 @@ func validateDryRunResults(t *testing.T, output string, want []string) {
w = strings.TrimSpace(w[1:])
result := strings.HasPrefix(g, w)
match = result
- //t.Logf("Partial match |%v|%v|%v\n", w, g, match)
} else {
match = g == w
}
diff --git a/go/test/endtoend/vreplication/resharding_workflows_v2_test.go b/go/test/endtoend/vreplication/resharding_workflows_v2_test.go
index 0f3f85a9472..7b8c7d5f59b 100644
--- a/go/test/endtoend/vreplication/resharding_workflows_v2_test.go
+++ b/go/test/endtoend/vreplication/resharding_workflows_v2_test.go
@@ -605,6 +605,14 @@ func testMoveTablesV2Workflow(t *testing.T) {
testVSchemaForSequenceAfterMoveTables(t)
+ // Confirm that the auto_increment clause on customer.cid was removed.
+ cs, err := vtgateConn.ExecuteFetch("show create table customer", 1, false)
+ require.NoError(t, err)
+ require.Len(t, cs.Rows, 1)
+ require.Len(t, cs.Rows[0], 2) // Table and "Create Table"
+ csddl := strings.ToLower(cs.Rows[0][1].ToString())
+ require.NotContains(t, csddl, "auto_increment", "customer table still has auto_increment clause: %s", csddl)
+
createMoveTablesWorkflow(t, "Lead,Lead-1")
output, err = vc.VtctldClient.ExecuteCommandWithOutput(listAllArgs...)
require.NoError(t, err)
diff --git a/go/test/endtoend/vreplication/vdiff_helper_test.go b/go/test/endtoend/vreplication/vdiff_helper_test.go
index 91605bff402..53e19e56731 100644
--- a/go/test/endtoend/vreplication/vdiff_helper_test.go
+++ b/go/test/endtoend/vreplication/vdiff_helper_test.go
@@ -28,6 +28,7 @@ import (
"vitess.io/vitess/go/sqltypes"
"vitess.io/vitess/go/vt/log"
+ binlogdatapb "vitess.io/vitess/go/vt/proto/binlogdata"
vdiff2 "vitess.io/vitess/go/vt/vttablet/tabletmanager/vdiff"
)
@@ -80,6 +81,7 @@ func doVtctlclientVDiff(t *testing.T, keyspace, workflow, cells string, want *ex
} else {
require.Equal(t, "completed", info.State, "vdiff results: %+v", info)
require.False(t, info.HasMismatch, "vdiff results: %+v", info)
+ require.NotZero(t, info.RowsCompared)
}
if strings.Contains(t.Name(), "AcrossDBVersions") {
log.Errorf("VDiff resume cannot be guaranteed between major MySQL versions due to implied collation differences, skipping resume test...")
@@ -150,9 +152,10 @@ func waitForVDiff2ToComplete(t *testing.T, useVtctlclient bool, ksWorkflow, cell
}
type expectedVDiff2Result struct {
- state string
- shards []string
- hasMismatch bool
+ state string
+ shards []string
+ hasMismatch bool
+ minimumRowsCompared int64
}
func doVtctldclientVDiff(t *testing.T, keyspace, workflow, cells string, want *expectedVDiff2Result, extraFlags ...string) {
@@ -172,6 +175,8 @@ func doVtctldclientVDiff(t *testing.T, keyspace, workflow, cells string, want *e
require.Equal(t, want.state, info.State)
require.Equal(t, strings.Join(want.shards, ","), info.Shards)
require.Equal(t, want.hasMismatch, info.HasMismatch)
+ require.GreaterOrEqual(t, info.RowsCompared, want.minimumRowsCompared,
+ "not enough rows compared: want at least %d, got %d", want.minimumRowsCompared, info.RowsCompared)
} else {
require.Equal(t, "completed", info.State, "vdiff results: %+v", info)
require.False(t, info.HasMismatch, "vdiff results: %+v", info)
@@ -187,7 +192,7 @@ func performVDiff2Action(t *testing.T, useVtctlclient bool, ksWorkflow, cells, a
var err error
targetKeyspace, workflowName, ok := strings.Cut(ksWorkflow, ".")
require.True(t, ok, "invalid keyspace.workflow value: %s", ksWorkflow)
-
+ waitForWorkflowState(t, vc, ksWorkflow, binlogdatapb.VReplicationWorkflowState_Running.String())
if useVtctlclient {
// This will always result in us using a PRIMARY tablet, which is all
// we start in many e2e tests, but it avoids the tablet picker logic
diff --git a/go/test/endtoend/vreplication/vdiff_online_ddl_test.go b/go/test/endtoend/vreplication/vdiff_online_ddl_test.go
new file mode 100644
index 00000000000..bad1b840069
--- /dev/null
+++ b/go/test/endtoend/vreplication/vdiff_online_ddl_test.go
@@ -0,0 +1,161 @@
+package vreplication
+
+import (
+ "context"
+ "fmt"
+ "strconv"
+ "strings"
+ "testing"
+ "time"
+
+ "github.com/stretchr/testify/require"
+ "google.golang.org/protobuf/encoding/protojson"
+
+ "vitess.io/vitess/go/mysql"
+ "vitess.io/vitess/go/vt/log"
+ "vitess.io/vitess/go/vt/proto/vtctldata"
+
+ binlogdatapb "vitess.io/vitess/go/vt/proto/binlogdata"
+)
+
+// TestOnlineDDLVDiff is to run a vdiff on a table that is part of an OnlineDDL workflow.
+func TestOnlineDDLVDiff(t *testing.T) {
+ setSidecarDBName("_vt")
+ originalRdonly := defaultRdonly
+ originalReplicas := defaultReplicas
+ defaultRdonly = 0
+ defaultReplicas = 0
+ defer func() {
+ defaultRdonly = originalRdonly
+ defaultReplicas = originalReplicas
+ }()
+
+ vc = setupMinimalCluster(t)
+ defer vc.TearDown()
+ keyspace := "product"
+ ctx, cancel := context.WithCancel(context.Background())
+ defer cancel()
+
+ createQuery := "create table temp (id int, name varchar(100), blb blob, primary key (id))"
+ dropQuery := "drop table temp"
+ alterQuery := "alter table temp add column extra1 int not null default 0"
+ insertTemplate := "insert into temp (id, name, blb) values (%d, 'name%d', 'blb%d')"
+ updateTemplate := "update temp set name = 'name_%d' where id = %d"
+ execOnlineDDL(t, "direct", keyspace, createQuery)
+ defer execOnlineDDL(t, "direct", keyspace, dropQuery)
+
+ var output string
+
+ t.Run("OnlineDDL VDiff", func(t *testing.T) {
+ var done = make(chan bool)
+ go populate(ctx, t, done, insertTemplate, updateTemplate)
+
+ waitForAdditionalRows(t, keyspace, "temp", 100)
+ output = execOnlineDDL(t, "vitess --postpone-completion", keyspace, alterQuery)
+ uuid := strings.TrimSpace(output)
+ waitForWorkflowState(t, vc, fmt.Sprintf("%s.%s", keyspace, uuid), binlogdatapb.VReplicationWorkflowState_Running.String())
+ waitForAdditionalRows(t, keyspace, "temp", 200)
+
+ require.NoError(t, waitForCondition("online ddl migration to be ready to complete", func() bool {
+ response := onlineDDLShow(t, keyspace, uuid)
+ if len(response.Migrations) > 0 &&
+ response.Migrations[0].ReadyToComplete == true {
+ return true
+ }
+ return false
+ }, defaultTimeout))
+
+ want := &expectedVDiff2Result{
+ state: "completed",
+ minimumRowsCompared: 200,
+ hasMismatch: false,
+ shards: []string{"0"},
+ }
+ doVtctldclientVDiff(t, keyspace, uuid, "zone1", want)
+
+ cancel()
+ <-done
+ })
+}
+
+func onlineDDLShow(t *testing.T, keyspace, uuid string) *vtctldata.GetSchemaMigrationsResponse {
+ var response vtctldata.GetSchemaMigrationsResponse
+ output, err := vc.VtctldClient.OnlineDDLShow(keyspace, uuid)
+ require.NoError(t, err, output)
+ err = protojson.Unmarshal([]byte(output), &response)
+ require.NoErrorf(t, err, "error unmarshalling OnlineDDL showresponse")
+ return &response
+}
+
+func execOnlineDDL(t *testing.T, strategy, keyspace, query string) string {
+ output, err := vc.VtctldClient.ExecuteCommandWithOutput("ApplySchema", "--ddl-strategy", strategy, "--sql", query, keyspace)
+ require.NoError(t, err, output)
+ uuid := strings.TrimSpace(output)
+ if strategy != "direct" {
+ err = waitForCondition("online ddl to start", func() bool {
+ response := onlineDDLShow(t, keyspace, uuid)
+ if len(response.Migrations) > 0 &&
+ (response.Migrations[0].Status == vtctldata.SchemaMigration_RUNNING ||
+ response.Migrations[0].Status == vtctldata.SchemaMigration_COMPLETE) {
+ return true
+ }
+ return false
+ }, defaultTimeout)
+ require.NoError(t, err)
+
+ }
+ return uuid
+}
+
+func waitForAdditionalRows(t *testing.T, keyspace, table string, count int) {
+ vtgateConn, cancel := getVTGateConn()
+ defer cancel()
+
+ numRowsStart := getNumRows(t, vtgateConn, keyspace, table)
+ numRows := 0
+ shortCtx, cancel := context.WithTimeout(context.Background(), defaultTimeout)
+ defer cancel()
+ for {
+ switch {
+ case shortCtx.Err() != nil:
+ require.FailNowf(t, "Timed out waiting for additional rows", "wanted %d rows, got %d rows", count, numRows)
+ default:
+ numRows = getNumRows(t, vtgateConn, keyspace, table)
+ if numRows >= numRowsStart+count {
+ return
+ }
+ time.Sleep(defaultTick)
+ }
+ }
+}
+
+func getNumRows(t *testing.T, vtgateConn *mysql.Conn, keyspace, table string) int {
+ qr := execVtgateQuery(t, vtgateConn, keyspace, fmt.Sprintf("SELECT COUNT(*) FROM %s", table))
+ require.NotNil(t, qr)
+ numRows, err := strconv.Atoi(qr.Rows[0][0].ToString())
+ require.NoError(t, err)
+ return numRows
+}
+
+func populate(ctx context.Context, t *testing.T, done chan bool, insertTemplate, updateTemplate string) {
+ defer close(done)
+ vtgateConn, closeConn := getVTGateConn()
+ defer closeConn()
+ id := 1
+ for {
+ select {
+ case <-ctx.Done():
+ log.Infof("load cancelled")
+ return
+ default:
+ query := fmt.Sprintf(insertTemplate, id, id, id)
+ _, err := vtgateConn.ExecuteFetch(query, 1, false)
+ require.NoErrorf(t, err, "error in insert")
+ query = fmt.Sprintf(updateTemplate, id, id)
+ _, err = vtgateConn.ExecuteFetch(query, 1, false)
+ require.NoErrorf(t, err, "error in update")
+ id++
+ time.Sleep(10 * time.Millisecond)
+ }
+ }
+}
diff --git a/go/test/endtoend/vtgate/foreignkey/stress/fk_stress_test.go b/go/test/endtoend/vtgate/foreignkey/stress/fk_stress_test.go
index 73baad2615b..b9240f46605 100644
--- a/go/test/endtoend/vtgate/foreignkey/stress/fk_stress_test.go
+++ b/go/test/endtoend/vtgate/foreignkey/stress/fk_stress_test.go
@@ -415,7 +415,7 @@ func getTabletPosition(t *testing.T, tablet *cluster.Vttablet) replication.Posit
require.NotNil(t, row)
gtidExecuted := row.AsString("gtid_executed", "")
require.NotEmpty(t, gtidExecuted)
- pos, err := replication.DecodePositionDefaultFlavor(gtidExecuted, replication.Mysql56FlavorID)
+ pos, _, err := replication.DecodePositionMySQL56(gtidExecuted)
assert.NoError(t, err)
return pos
}
diff --git a/go/vt/discovery/topology_watcher.go b/go/vt/discovery/topology_watcher.go
index 3945268f62e..0b69ecb6a63 100644
--- a/go/vt/discovery/topology_watcher.go
+++ b/go/vt/discovery/topology_watcher.go
@@ -143,6 +143,7 @@ func (tw *TopologyWatcher) Stop() {
func (tw *TopologyWatcher) loadTablets() {
newTablets := make(map[string]*tabletInfo)
+ var partialResult bool
// First get the list of all tablets.
tabletInfos, err := tw.getTablets()
@@ -152,6 +153,7 @@ func (tw *TopologyWatcher) loadTablets() {
// If we get a partial result error, we just log it and process the tablets that we did manage to fetch.
if topo.IsErrType(err, topo.PartialResult) {
log.Errorf("received partial result from getTablets for cell %v: %v", tw.cell, err)
+ partialResult = true
} else { // For all other errors, just return.
log.Errorf("error getting tablets for cell: %v: %v", tw.cell, err)
return
@@ -183,6 +185,18 @@ func (tw *TopologyWatcher) loadTablets() {
}
}
+ if partialResult {
+ // We don't want to remove any tablets from the tablets map or the healthcheck if we got a partial result
+ // because we don't know if they were actually deleted or if we simply failed to fetch them.
+ // Fill any gaps in the newTablets map using the existing tablets.
+ for alias, val := range tw.tablets {
+ if _, ok := newTablets[alias]; !ok {
+ tabletAliasStrs = append(tabletAliasStrs, alias)
+ newTablets[alias] = val
+ }
+ }
+ }
+
for alias, newVal := range newTablets {
if tw.tabletFilter != nil && !tw.tabletFilter.IsIncluded(newVal.tablet) {
continue
diff --git a/go/vt/discovery/topology_watcher_test.go b/go/vt/discovery/topology_watcher_test.go
index 0a7c96358a2..95c6e44ec43 100644
--- a/go/vt/discovery/topology_watcher_test.go
+++ b/go/vt/discovery/topology_watcher_test.go
@@ -18,6 +18,7 @@ package discovery
import (
"context"
+ "errors"
"math/rand/v2"
"testing"
"time"
@@ -576,3 +577,84 @@ func TestFilterByKeyspaceSkipsIgnoredTablets(t *testing.T) {
tw.Stop()
}
+
+func TestGetTabletErrorDoesNotRemoveFromHealthcheck(t *testing.T) {
+ ctx := utils.LeakCheckContext(t)
+
+ ts, factory := memorytopo.NewServerAndFactory(ctx, "aa")
+ defer ts.Close()
+ fhc := NewFakeHealthCheck(nil)
+ defer fhc.Close()
+ topologyWatcherOperations.ZeroAll()
+ counts := topologyWatcherOperations.Counts()
+ tw := NewTopologyWatcher(context.Background(), ts, fhc, nil, "aa", 10*time.Minute, true, 5)
+ defer tw.Stop()
+
+ // Force fallback to getting tablets individually.
+ factory.AddOperationError(memorytopo.List, ".*", topo.NewError(topo.NoImplementation, "List not supported"))
+
+ counts = checkOpCounts(t, counts, map[string]int64{})
+ checkChecksum(t, tw, 0)
+
+ // Add a tablet to the topology.
+ tablet1 := &topodatapb.Tablet{
+ Alias: &topodatapb.TabletAlias{
+ Cell: "aa",
+ Uid: 0,
+ },
+ Hostname: "host1",
+ PortMap: map[string]int32{
+ "vt": 123,
+ },
+ Keyspace: "keyspace",
+ Shard: "shard",
+ }
+ require.NoError(t, ts.CreateTablet(ctx, tablet1), "CreateTablet failed for %v", tablet1.Alias)
+
+ tw.loadTablets()
+ counts = checkOpCounts(t, counts, map[string]int64{"ListTablets": 1, "AddTablet": 1})
+ checkChecksum(t, tw, 3238442862)
+
+ // Check the tablet is returned by GetAllTablets().
+ allTablets := fhc.GetAllTablets()
+ key1 := TabletToMapKey(tablet1)
+ assert.Len(t, allTablets, 1)
+ assert.Contains(t, allTablets, key1)
+ assert.True(t, proto.Equal(tablet1, allTablets[key1]))
+
+ // Add a second tablet to the topology.
+ tablet2 := &topodatapb.Tablet{
+ Alias: &topodatapb.TabletAlias{
+ Cell: "aa",
+ Uid: 2,
+ },
+ Hostname: "host2",
+ PortMap: map[string]int32{
+ "vt": 789,
+ },
+ Keyspace: "keyspace",
+ Shard: "shard",
+ }
+ require.NoError(t, ts.CreateTablet(ctx, tablet2), "CreateTablet failed for %v", tablet2.Alias)
+
+ // Cause the Get for the first tablet to fail.
+ factory.AddOperationError(memorytopo.Get, "tablets/aa-0000000000/Tablet", errors.New("fake error"))
+
+ // Ensure that a topo Get error results in a partial results error. If not, the rest of this test is invalid.
+ _, err := ts.GetTabletsByCell(ctx, "aa", &topo.GetTabletsByCellOptions{})
+ require.ErrorContains(t, err, "partial result")
+
+ // Now force the error during loadTablets.
+ tw.loadTablets()
+ checkOpCounts(t, counts, map[string]int64{"ListTablets": 1, "AddTablet": 1})
+ checkChecksum(t, tw, 2762153755)
+
+ // Ensure the first tablet is still returned by GetAllTablets() and the second tablet has been added.
+ allTablets = fhc.GetAllTablets()
+ key2 := TabletToMapKey(tablet2)
+ assert.Len(t, allTablets, 2)
+ assert.Contains(t, allTablets, key1)
+ assert.Contains(t, allTablets, key2)
+ assert.True(t, proto.Equal(tablet1, allTablets[key1]))
+ assert.True(t, proto.Equal(tablet2, allTablets[key2]))
+}
diff --git a/go/vt/mysqlctl/backup_test.go b/go/vt/mysqlctl/backup_test.go
index ad7e0faab98..1fa3749ea8d 100644
--- a/go/vt/mysqlctl/backup_test.go
+++ b/go/vt/mysqlctl/backup_test.go
@@ -29,8 +29,10 @@ import (
"testing"
"time"
+ "github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
+ "vitess.io/vitess/go/sqltypes"
"vitess.io/vitess/go/test/utils"
"vitess.io/vitess/go/mysql/replication"
@@ -148,9 +150,8 @@ func TestFindFilesToBackupWithoutRedoLog(t *testing.T) {
rocksdbDir := path.Join(dataDir, ".rocksdb")
sdiOnlyDir := path.Join(dataDir, "sdi_dir")
for _, s := range []string{innodbDataDir, innodbLogDir, dataDbDir, extraDir, outsideDbDir, rocksdbDir, sdiOnlyDir} {
- if err := os.MkdirAll(s, os.ModePerm); err != nil {
- t.Fatalf("failed to create directory %v: %v", s, err)
- }
+ err := os.MkdirAll(s, os.ModePerm)
+ require.NoErrorf(t, err, "failed to create directory %v: %v", s, err)
}
innodbLogFile := "innodb_log_1"
@@ -678,3 +679,50 @@ func (fbe *fakeBackupRestoreEnv) setStats(stats *backupstats.FakeStats) {
fbe.restoreParams.Stats = nil
fbe.stats = nil
}
+
+func TestParseBackupName(t *testing.T) {
+ // backup name doesn't contain 3 parts
+ _, _, err := ParseBackupName("dir", "asd.saddsa")
+ assert.ErrorContains(t, err, "cannot backup name")
+
+ // Invalid time
+ bt, al, err := ParseBackupName("dir", "2024-03-18.123.tablet_id")
+ assert.Nil(t, bt)
+ assert.Nil(t, al)
+ assert.NoError(t, err)
+
+ // Valid case
+ bt, al, err = ParseBackupName("dir", "2024-03-18.180911.cell1-42")
+ assert.NotNil(t, *bt, time.Date(2024, 03, 18, 18, 9, 11, 0, time.UTC))
+ assert.Equal(t, "cell1", al.Cell)
+ assert.Equal(t, uint32(42), al.Uid)
+ assert.NoError(t, err)
+}
+
+func TestShouldRestore(t *testing.T) {
+ env := createFakeBackupRestoreEnv(t)
+
+ b, err := ShouldRestore(env.ctx, env.restoreParams)
+ assert.False(t, b)
+ assert.Error(t, err)
+
+ env.restoreParams.DeleteBeforeRestore = true
+ b, err = ShouldRestore(env.ctx, env.restoreParams)
+ assert.True(t, b)
+ assert.NoError(t, err)
+ env.restoreParams.DeleteBeforeRestore = false
+
+ env.mysqld.FetchSuperQueryMap = map[string]*sqltypes.Result{
+ "SHOW DATABASES": {Rows: [][]sqltypes.Value{{sqltypes.NewVarBinary("any_db")}}},
+ }
+ b, err = ShouldRestore(env.ctx, env.restoreParams)
+ assert.NoError(t, err)
+ assert.True(t, b)
+
+ env.mysqld.FetchSuperQueryMap = map[string]*sqltypes.Result{
+ "SHOW DATABASES": {Rows: [][]sqltypes.Value{{sqltypes.NewVarBinary("test")}}},
+ }
+ b, err = ShouldRestore(env.ctx, env.restoreParams)
+ assert.False(t, b)
+ assert.NoError(t, err)
+}
diff --git a/go/vt/mysqlctl/builtinbackupengine.go b/go/vt/mysqlctl/builtinbackupengine.go
index 5cdf39084da..fbc078c870b 100644
--- a/go/vt/mysqlctl/builtinbackupengine.go
+++ b/go/vt/mysqlctl/builtinbackupengine.go
@@ -223,18 +223,11 @@ func (be *BuiltinBackupEngine) ExecuteBackup(ctx context.Context, params BackupP
// getIncrementalFromPosGTIDSet turns the given string into a valid Mysql56GTIDSet
func getIncrementalFromPosGTIDSet(incrementalFromPos string) (replication.Mysql56GTIDSet, error) {
- pos, err := replication.DecodePositionDefaultFlavor(incrementalFromPos, replication.Mysql56FlavorID)
+ _, gtidSet, err := replication.DecodePositionMySQL56(incrementalFromPos)
if err != nil {
return nil, vterrors.Wrapf(err, "cannot decode position in incremental backup: %v", incrementalFromPos)
}
- if !pos.MatchesFlavor(replication.Mysql56FlavorID) {
- return nil, vterrors.Errorf(vtrpc.Code_FAILED_PRECONDITION, "incremental backup only supports MySQL GTID positions. Got: %v", incrementalFromPos)
- }
- ifPosGTIDSet, ok := pos.GTIDSet.(replication.Mysql56GTIDSet)
- if !ok {
- return nil, vterrors.Errorf(vtrpc.Code_FAILED_PRECONDITION, "cannot get MySQL GTID value: %v", pos)
- }
- return ifPosGTIDSet, nil
+ return gtidSet, nil
}
// executeIncrementalBackup runs an incremental backup, based on given 'incremental_from_pos', which can be:
@@ -269,7 +262,7 @@ func (be *BuiltinBackupEngine) executeIncrementalBackup(ctx context.Context, par
params.Logger.Infof("auto evaluated incremental_from_pos: %s", params.IncrementalFromPos)
}
- if _, err := replication.DecodePositionDefaultFlavor(params.IncrementalFromPos, replication.Mysql56FlavorID); err != nil {
+ if _, _, err := replication.DecodePositionMySQL56(params.IncrementalFromPos); err != nil {
// This does not seem to be a valid position. Maybe it's a backup name?
backupName := params.IncrementalFromPos
pos, err := findBackupPosition(ctx, params, backupName)
diff --git a/go/vt/mysqlctl/compression_test.go b/go/vt/mysqlctl/compression_test.go
index 4215761dbe7..16fde00677c 100644
--- a/go/vt/mysqlctl/compression_test.go
+++ b/go/vt/mysqlctl/compression_test.go
@@ -19,14 +19,13 @@ package mysqlctl
import (
"bytes"
"context"
- "errors"
"fmt"
"io"
- "reflect"
"strings"
"testing"
"time"
+ "github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
"vitess.io/vitess/go/vt/logutil"
@@ -47,15 +46,8 @@ func TestGetExtensionFromEngine(t *testing.T) {
for _, tt := range tests {
t.Run(tt.engine, func(t *testing.T) {
ext, err := getExtensionFromEngine(tt.engine)
- // if err != tt.err {
- if !errors.Is(err, tt.err) {
- t.Errorf("got err: %v; expected: %v", err, tt.err)
- }
- // }
-
- if ext != tt.extension {
- t.Errorf("got err: %v; expected: %v", ext, tt.extension)
- }
+ assert.ErrorIs(t, err, tt.err)
+ assert.Equal(t, tt.extension, ext)
})
}
}
@@ -69,33 +61,20 @@ func TestBuiltinCompressors(t *testing.T) {
var compressed, decompressed bytes.Buffer
reader := bytes.NewReader(data)
compressor, err := newBuiltinCompressor(engine, &compressed, logger)
- if err != nil {
- t.Fatal(err)
- }
+ require.NoError(t, err)
+
_, err = io.Copy(compressor, reader)
- if err != nil {
- t.Error(err)
- return
- }
+ require.NoError(t, err)
+
compressor.Close()
decompressor, err := newBuiltinDecompressor(engine, &compressed, logger)
- if err != nil {
- t.Error(err)
- return
- }
+ require.NoError(t, err)
+
_, err = io.Copy(&decompressed, decompressor)
- if err != nil {
- t.Error(err)
- return
- }
- decompressor.Close()
- if len(data) != len(decompressed.Bytes()) {
- t.Errorf("Different size of original (%d bytes) and uncompressed (%d bytes) data", len(data), len(decompressed.Bytes()))
- }
+ require.NoError(t, err)
- if !reflect.DeepEqual(data, decompressed.Bytes()) {
- t.Error("decompressed content differs from the original")
- }
+ decompressor.Close()
+ assert.Equal(t, data, decompressed.Bytes())
})
}
}
@@ -142,33 +121,20 @@ func TestExternalCompressors(t *testing.T) {
ctx, cancel := context.WithTimeout(context.Background(), time.Second*10)
defer cancel()
compressor, err := newExternalCompressor(ctx, tt.compress, &compressed, logger)
- if err != nil {
- t.Error(err)
- return
- }
+ require.NoError(t, err)
+
_, err = io.Copy(compressor, reader)
- if err != nil {
- t.Error(err)
- return
- }
+ require.NoError(t, err)
+
compressor.Close()
decompressor, err := newExternalDecompressor(ctx, tt.decompress, &compressed, logger)
- if err != nil {
- t.Error(err)
- return
- }
+ require.NoError(t, err)
+
_, err = io.Copy(&decompressed, decompressor)
- if err != nil {
- t.Error(err)
- return
- }
+ require.NoError(t, err)
+
decompressor.Close()
- if len(data) != len(decompressed.Bytes()) {
- t.Errorf("Different size of original (%d bytes) and uncompressed (%d bytes) data", len(data), len(decompressed.Bytes()))
- }
- if !reflect.DeepEqual(data, decompressed.Bytes()) {
- t.Error("decompressed content differs from the original")
- }
+ assert.Equal(t, data, decompressed.Bytes())
})
}
@@ -190,19 +156,13 @@ func TestValidateExternalCmd(t *testing.T) {
t.Run(fmt.Sprintf("Test #%d", i+1), func(t *testing.T) {
CmdName := tt.cmdName
path, err := validateExternalCmd(CmdName)
- if tt.path != "" {
- if !strings.HasSuffix(path, tt.path) {
- t.Errorf("Expected path \"%s\" to include \"%s\"", path, tt.path)
- }
- }
+
+ assert.Contains(t, path, tt.path)
+
if tt.errStr == "" {
- if err != nil {
- t.Errorf("Expected result \"%v\", got \"%v\"", "", err)
- }
+ assert.NoError(t, err)
} else {
- if !strings.Contains(fmt.Sprintf("%v", err), tt.errStr) {
- t.Errorf("Expected result \"%v\", got \"%v\"", tt.errStr, err)
- }
+ assert.ErrorContains(t, err, tt.errStr)
}
})
}
diff --git a/go/vt/mysqlctl/mycnf_test.go b/go/vt/mysqlctl/mycnf_test.go
index 7b8c2b1ddf0..bb3d6611c86 100644
--- a/go/vt/mysqlctl/mycnf_test.go
+++ b/go/vt/mysqlctl/mycnf_test.go
@@ -19,11 +19,11 @@ package mysqlctl
import (
"bytes"
"os"
- "strings"
"sync"
"testing"
"time"
+ "github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
"vitess.io/vitess/go/mysql/collations"
@@ -120,14 +120,11 @@ func NoTestMycnfHook(t *testing.T) {
servenv.OnClose(mysqld.Close)
err := mysqld.InitConfig(cnf)
- if err != nil {
- t.Errorf("err: %v", err)
- }
+ require.NoError(t, err)
+
_, err = os.ReadFile(cnf.Path)
- if err != nil {
- t.Errorf("failed reading, err %v", err)
- return
- }
+ require.NoError(t, err)
+
mycnf := NewMycnf(uid, 0)
mycnf.Path = cnf.Path
mycnf, err = ReadMycnf(mycnf, 0)
@@ -137,33 +134,17 @@ func NoTestMycnfHook(t *testing.T) {
t.Logf("socket file %v", mycnf.SocketFile)
}
// Tablet UID should be 11111, which determines tablet/data dir.
- if got, want := mycnf.DataDir, "/vt_0000011111/"; !strings.Contains(got, want) {
- t.Errorf("mycnf.DataDir = %v, want *%v*", got, want)
- }
+ assert.Contains(t, mycnf.DataDir, "/vt_0000011111/")
+
// MySQL server-id should be 22222, different from Tablet UID.
- if got, want := mycnf.ServerID, uint32(22222); got != want {
- t.Errorf("mycnf.ServerID = %v, want %v", got, want)
- }
+ assert.Equal(t, uint32(22222), mycnf.ServerID)
+
// check that the env variables we set were passed correctly to the hook
- if got, want := mycnf.lookup("KEYSPACE"), "test-messagedb"; got != want {
- t.Errorf("Error passing env %v, got %v, want %v", "KEYSPACE", got, want)
- }
- if got, want := mycnf.lookup("SHARD"), "0"; got != want {
- t.Errorf("Error passing env %v, got %v, want %v", "SHARD", got, want)
- }
- if got, want := mycnf.lookup("TABLET_TYPE"), "PRIMARY"; got != want {
- t.Errorf("Error passing env %v, got %v, want %v", "TABLET_TYPE", got, want)
- }
- if got, want := mycnf.lookup("TABLET_ID"), "11111"; got != want {
- t.Errorf("Error passing env %v, got %v, want %v", "TABLET_ID", got, want)
- }
- if got, want := mycnf.lookup("TABLET_DIR"), "/vt_0000011111"; !strings.Contains(got, want) {
- t.Errorf("Error passing env %v, got %v, want %v", "TABLET_DIR", got, want)
- }
- if got, want := mycnf.lookup("MYSQL_PORT"), "15306"; got != want {
- t.Errorf("Error passing env %v, got %v, want %v", "MYSQL_PORT", got, want)
- }
- if got := mycnf.lookup("MY_VAR"); got != "" {
- t.Errorf("Unexpected env %v set to %v", "MY_VAR", got)
- }
+ assert.Equal(t, "test-messagedb", mycnf.lookup("KEYSPACE"))
+ assert.Equal(t, "test-0", mycnf.lookup("SHARD"))
+ assert.Equal(t, "PRIMARY", mycnf.lookup("TABLET_TYPE"))
+ assert.Equal(t, "11111", mycnf.lookup("TABLET_ID"))
+ assert.Equal(t, "/vt_0000011111", mycnf.lookup("TABLET_DIR"))
+ assert.Equal(t, "15306", mycnf.lookup("MYSQL_PORT"))
+ assert.Equal(t, "", mycnf.lookup("MY_VAR"))
}
diff --git a/go/vt/mysqlctl/mysqld_test.go b/go/vt/mysqlctl/mysqld_test.go
index b1e5e9a2916..cc31206aa0c 100644
--- a/go/vt/mysqlctl/mysqld_test.go
+++ b/go/vt/mysqlctl/mysqld_test.go
@@ -17,13 +17,19 @@ limitations under the License.
package mysqlctl
import (
+ "context"
"os"
"strconv"
+ "strings"
"testing"
"time"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
+
+ "vitess.io/vitess/go/mysql/fakesqldb"
+ "vitess.io/vitess/go/sqltypes"
+ "vitess.io/vitess/go/vt/dbconfigs"
)
type testcase struct {
@@ -204,3 +210,100 @@ func TestCleanupLockfile(t *testing.T) {
assert.Error(t, cleanupLockfile("mysql.sock", ts))
assert.FileExists(t, "mysql.sock.lock")
}
+
+func TestRunMysqlUpgrade(t *testing.T) {
+ ver, err := GetVersionString()
+ require.NoError(t, err)
+ if strings.Contains(ver, "5.7") {
+ t.Skipf("Run the test only for 8.0")
+ }
+
+ db := fakesqldb.New(t)
+ defer db.Close()
+
+ params := db.ConnParams()
+ cp := *params
+ dbc := dbconfigs.NewTestDBConfigs(cp, cp, "fakesqldb")
+
+ testMysqld := NewMysqld(dbc)
+ defer testMysqld.Close()
+
+ ctx := context.Background()
+ err = testMysqld.RunMysqlUpgrade(ctx)
+ assert.NoError(t, err)
+
+ // Should not fail for older versions
+ testMysqld.capabilities = newCapabilitySet(FlavorMySQL, ServerVersion{Major: 8, Minor: 0, Patch: 15})
+ err = testMysqld.RunMysqlUpgrade(ctx)
+ assert.NoError(t, err)
+}
+
+func TestGetDbaConnection(t *testing.T) {
+ db := fakesqldb.New(t)
+ defer db.Close()
+
+ params := db.ConnParams()
+ cp := *params
+ dbc := dbconfigs.NewTestDBConfigs(cp, cp, "fakesqldb")
+
+ testMysqld := NewMysqld(dbc)
+ defer testMysqld.Close()
+
+ ctx := context.Background()
+
+ conn, err := testMysqld.GetDbaConnection(ctx)
+ assert.NoError(t, err)
+ assert.NoError(t, conn.Ping())
+ defer conn.Close()
+}
+
+func TestGetVersionString(t *testing.T) {
+ db := fakesqldb.New(t)
+ defer db.Close()
+
+ params := db.ConnParams()
+ cp := *params
+ dbc := dbconfigs.NewTestDBConfigs(cp, cp, "fakesqldb")
+
+ testMysqld := NewMysqld(dbc)
+ defer testMysqld.Close()
+
+ ctx := context.Background()
+ str, err := testMysqld.GetVersionString(ctx)
+ assert.NoError(t, err)
+ assert.NotEmpty(t, str)
+
+ ver := "test_version"
+ db.AddQuery("SELECT 1", &sqltypes.Result{})
+ db.AddQuery(versionSQLQuery, sqltypes.MakeTestResult(sqltypes.MakeTestFields("test_field", "varchar"), ver))
+
+ str, err = testMysqld.GetVersionString(ctx)
+ assert.Equal(t, ver, str)
+ assert.NoError(t, err)
+}
+
+func TestGetVersionComment(t *testing.T) {
+ db := fakesqldb.New(t)
+ defer db.Close()
+
+ params := db.ConnParams()
+ cp := *params
+ dbc := dbconfigs.NewTestDBConfigs(cp, cp, "fakesqldb")
+
+ db.AddQuery("SELECT 1", &sqltypes.Result{})
+ db.AddQuery("select @@global.version_comment", sqltypes.MakeTestResult(sqltypes.MakeTestFields("@@global.version_comment", "varchar"), "test_version1", "test_version2"))
+
+ testMysqld := NewMysqld(dbc)
+ defer testMysqld.Close()
+
+ ctx := context.Background()
+ _, err := testMysqld.GetVersionComment(ctx)
+ assert.ErrorContains(t, err, "unexpected result length")
+
+ ver := "test_version"
+ db.AddQuery("select @@global.version_comment", sqltypes.MakeTestResult(sqltypes.MakeTestFields("@@global.version_comment", "varchar"), ver))
+
+ str, err := testMysqld.GetVersionComment(ctx)
+ assert.NoError(t, err)
+ assert.Equal(t, ver, str)
+}
diff --git a/go/vt/mysqlctl/permissions_test.go b/go/vt/mysqlctl/permissions_test.go
new file mode 100644
index 00000000000..5a8954fac15
--- /dev/null
+++ b/go/vt/mysqlctl/permissions_test.go
@@ -0,0 +1,44 @@
+/*
+Copyright 2024 The Vitess Authors.
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+
+package mysqlctl
+
+import (
+ "testing"
+
+ "github.com/stretchr/testify/assert"
+
+ "vitess.io/vitess/go/mysql/fakesqldb"
+ "vitess.io/vitess/go/sqltypes"
+)
+
+func TestGetPermissions(t *testing.T) {
+ db := fakesqldb.New(t)
+ defer db.Close()
+
+ testMysqld := NewFakeMysqlDaemon(db)
+ defer testMysqld.Close()
+
+ testMysqld.FetchSuperQueryMap = map[string]*sqltypes.Result{
+ "SELECT * FROM mysql.user ORDER BY host, user": sqltypes.MakeTestResult(sqltypes.MakeTestFields("host|user", "varchar|varchar"), "test_host1|test_user1", "test_host2|test_user2"),
+ "SELECT * FROM mysql.db ORDER BY host, db, user": sqltypes.MakeTestResult(sqltypes.MakeTestFields("host|user|db", "varchar|varchar|varchar"), "test_host1|test_user1|test_db1", "test_host2|test_user2|test_db2"),
+ }
+
+ per, err := GetPermissions(testMysqld)
+ assert.NoError(t, err)
+ assert.Len(t, per.DbPermissions, 2)
+ assert.Len(t, per.UserPermissions, 2)
+}
diff --git a/go/vt/mysqlctl/redo_log_test.go b/go/vt/mysqlctl/redo_log_test.go
new file mode 100644
index 00000000000..ae2005bdc51
--- /dev/null
+++ b/go/vt/mysqlctl/redo_log_test.go
@@ -0,0 +1,52 @@
+/*
+Copyright 2024 The Vitess Authors.
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+
+package mysqlctl
+
+import (
+ "context"
+ "testing"
+
+ "github.com/stretchr/testify/assert"
+
+ "vitess.io/vitess/go/mysql/fakesqldb"
+ "vitess.io/vitess/go/sqltypes"
+ "vitess.io/vitess/go/vt/dbconfigs"
+)
+
+func TestProcessCanDisableRedoLog(t *testing.T) {
+ db := fakesqldb.New(t)
+ defer db.Close()
+
+ params := db.ConnParams()
+ cp := *params
+ dbc := dbconfigs.NewTestDBConfigs(cp, cp, "fakesqldb")
+
+ db.AddQuery("SELECT 1", &sqltypes.Result{})
+ db.AddQuery("SELECT variable_value FROM performance_schema.global_status WHERE variable_name = 'innodb_redo_log_enabled'", sqltypes.MakeTestResult(sqltypes.MakeTestFields("field1", "varchar"), "val1"))
+
+ testMysqld := NewMysqld(dbc)
+ defer testMysqld.Close()
+
+ res, err := testMysqld.ProcessCanDisableRedoLog(context.Background())
+ assert.NoError(t, err)
+ assert.True(t, res)
+
+ db.AddQuery("SELECT variable_value FROM performance_schema.global_status WHERE variable_name = 'innodb_redo_log_enabled'", &sqltypes.Result{})
+ res, err = testMysqld.ProcessCanDisableRedoLog(context.Background())
+ assert.Error(t, err)
+ assert.False(t, res)
+}
diff --git a/go/vt/mysqlctl/reparent_test.go b/go/vt/mysqlctl/reparent_test.go
new file mode 100644
index 00000000000..7d43ffe9d30
--- /dev/null
+++ b/go/vt/mysqlctl/reparent_test.go
@@ -0,0 +1,95 @@
+/*
+Copyright 2024 The Vitess Authors.
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+
+package mysqlctl
+
+import (
+ "context"
+ "testing"
+
+ "github.com/stretchr/testify/assert"
+ "github.com/stretchr/testify/require"
+
+ "vitess.io/vitess/go/mysql/fakesqldb"
+ "vitess.io/vitess/go/sqltypes"
+ "vitess.io/vitess/go/vt/dbconfigs"
+ "vitess.io/vitess/go/vt/logutil"
+)
+
+func TestPopulateReparentJournal(t *testing.T) {
+ input := `MySQL binlog position: filename 'vt-0476396352-bin.000005', position '310088991', GTID of the last change '145e508e-ae54-11e9-8ce6-46824dd1815e:1-3,
+ 1e51f8be-ae54-11e9-a7c6-4280a041109b:1-3,
+ 47b59de1-b368-11e9-b48b-624401d35560:1-152981,
+ 557def0a-b368-11e9-84ed-f6fffd91cc57:1-3,
+ 599ef589-ae55-11e9-9688-ca1f44501925:1-14857169,
+ b9ce485d-b36b-11e9-9b17-2a6e0a6011f4:1-371262'
+ MySQL slave binlog position: master host '10.128.0.43', purge list '145e508e-ae54-11e9-8ce6-46824dd1815e:1-3, 1e51f8be-ae54-11e9-a7c6-4280a041109b:1-3, 47b59de1-b368-11e9-b48b-624401d35560:1-152981, 557def0a-b368-11e9-84ed-f6fffd91cc57:1-3, 599ef589-ae55-11e9-9688-ca1f44501925:1-14857169, b9ce485d-b36b-11e9-9b17-2a6e0a6011f4:1-371262', channel name: ''
+
+ 190809 00:15:44 [00] Streaming
+ 190809 00:15:44 [00] ...done
+ 190809 00:15:44 [00] Streaming
+ 190809 00:15:44 [00] ...done
+ xtrabackup: Transaction log of lsn (405344842034) to (406364859653) was copied.
+ 190809 00:16:14 completed OK!`
+
+ pos, err := findReplicationPosition(input, "MySQL56", logutil.NewConsoleLogger())
+ require.NoError(t, err)
+
+ res := PopulateReparentJournal(1, "action", "primaryAlias", pos)
+ want := `INSERT INTO _vt.reparent_journal (time_created_ns, action_name, primary_alias, replication_position) VALUES (1, 'action', 'primaryAlias', 'MySQL56/145e508e-ae54-11e9-8ce6-46824dd1815e:1-3,1e51f8be-ae54-11e9-a7c6-4280a041109b:1-3,47b59de1-b368-11e9-b48b-624401d35560:1-152981,557def0a-b368-11e9-84ed-f6fffd91cc57:1-3,599ef589-ae55-11e9-9688-ca1f44501925:1-14857169,b9ce485d-b36b-11e9-9b17-2a6e0a6011f4:1-371262')`
+ assert.Equal(t, want, res)
+}
+
+func TestWaitForReparentJournal(t *testing.T) {
+ db := fakesqldb.New(t)
+ defer db.Close()
+
+ params := db.ConnParams()
+ cp := *params
+ dbc := dbconfigs.NewTestDBConfigs(cp, cp, "fakesqldb")
+
+ db.AddQuery("SELECT 1", &sqltypes.Result{})
+ db.AddQuery("SELECT action_name, primary_alias, replication_position FROM _vt.reparent_journal WHERE time_created_ns=5", sqltypes.MakeTestResult(sqltypes.MakeTestFields("test_field", "varchar"), "test_row"))
+
+ testMysqld := NewMysqld(dbc)
+ defer testMysqld.Close()
+
+ ctx := context.Background()
+ err := testMysqld.WaitForReparentJournal(ctx, 5)
+ assert.NoError(t, err)
+}
+
+func TestPromote(t *testing.T) {
+ db := fakesqldb.New(t)
+ defer db.Close()
+
+ params := db.ConnParams()
+ cp := *params
+ dbc := dbconfigs.NewTestDBConfigs(cp, cp, "fakesqldb")
+
+ db.AddQuery("SELECT 1", &sqltypes.Result{})
+ db.AddQuery("STOP SLAVE", &sqltypes.Result{})
+ db.AddQuery("RESET SLAVE ALL", &sqltypes.Result{})
+ db.AddQuery("FLUSH BINARY LOGS", &sqltypes.Result{})
+ db.AddQuery("SELECT @@global.gtid_executed", sqltypes.MakeTestResult(sqltypes.MakeTestFields("test_field", "varchar"), "8bc65c84-3fe4-11ed-a912-257f0fcdd6c9:1-8,8bc65c84-3fe4-11ed-a912-257f0fcdd6c9:12-17"))
+
+ testMysqld := NewMysqld(dbc)
+ defer testMysqld.Close()
+
+ pos, err := testMysqld.Promote(map[string]string{})
+ assert.NoError(t, err)
+ assert.Equal(t, "8bc65c84-3fe4-11ed-a912-257f0fcdd6c9:1-8:12-17", pos.String())
+}
diff --git a/go/vt/mysqlctl/replication.go b/go/vt/mysqlctl/replication.go
index af20bbef85f..e53caac593d 100644
--- a/go/vt/mysqlctl/replication.go
+++ b/go/vt/mysqlctl/replication.go
@@ -40,27 +40,27 @@ type ResetSuperReadOnlyFunc func() error
// WaitForReplicationStart waits until the deadline for replication to start.
// This validates the current primary is correct and can be connected to.
-func WaitForReplicationStart(mysqld MysqlDaemon, replicaStartDeadline int) error {
- var rowMap map[string]string
+func WaitForReplicationStart(mysqld MysqlDaemon, replicaStartDeadline int) (err error) {
+ var replicaStatus replication.ReplicationStatus
for replicaWait := 0; replicaWait < replicaStartDeadline; replicaWait++ {
- status, err := mysqld.ReplicationStatus()
+ replicaStatus, err = mysqld.ReplicationStatus()
if err != nil {
return err
}
- if status.Running() {
+ if replicaStatus.Running() {
return nil
}
time.Sleep(time.Second)
}
-
- errorKeys := []string{"Last_Error", "Last_IO_Error", "Last_SQL_Error"}
- errs := make([]string, 0, len(errorKeys))
- for _, key := range errorKeys {
- if rowMap[key] != "" {
- errs = append(errs, key+": "+rowMap[key])
- }
+ errs := make([]string, 0, 2)
+ if replicaStatus.LastSQLError != "" {
+ errs = append(errs, "Last_SQL_Error: "+replicaStatus.LastSQLError)
}
+ if replicaStatus.LastIOError != "" {
+ errs = append(errs, "Last_IO_Error: "+replicaStatus.LastIOError)
+ }
+
if len(errs) != 0 {
return errors.New(strings.Join(errs, ", "))
}
diff --git a/go/vt/mysqlctl/replication_test.go b/go/vt/mysqlctl/replication_test.go
index 1502ad4773e..e171379f668 100644
--- a/go/vt/mysqlctl/replication_test.go
+++ b/go/vt/mysqlctl/replication_test.go
@@ -17,13 +17,22 @@ limitations under the License.
package mysqlctl
import (
+ "context"
+ "fmt"
+ "net"
"testing"
+
+ "github.com/stretchr/testify/assert"
+ "github.com/stretchr/testify/require"
+
+ "vitess.io/vitess/go/mysql/fakesqldb"
+ "vitess.io/vitess/go/mysql/replication"
+ "vitess.io/vitess/go/sqltypes"
+ "vitess.io/vitess/go/vt/dbconfigs"
)
func testRedacted(t *testing.T, source, expected string) {
- if r := redactPassword(source); r != expected {
- t.Errorf("redactPassword bad result: %v\nWas expecting:%v", r, expected)
- }
+ assert.Equal(t, expected, redactPassword(source))
}
func TestRedactMasterPassword(t *testing.T) {
@@ -80,3 +89,603 @@ func TestRedactPassword(t *testing.T) {
PASSWORD = '****'
`)
}
+
+func TestWaitForReplicationStart(t *testing.T) {
+ db := fakesqldb.New(t)
+ fakemysqld := NewFakeMysqlDaemon(db)
+
+ defer func() {
+ db.Close()
+ fakemysqld.Close()
+ }()
+
+ err := WaitForReplicationStart(fakemysqld, 2)
+ assert.NoError(t, err)
+
+ fakemysqld.ReplicationStatusError = fmt.Errorf("test error")
+ err = WaitForReplicationStart(fakemysqld, 2)
+ assert.ErrorContains(t, err, "test error")
+
+ params := db.ConnParams()
+ cp := *params
+ dbc := dbconfigs.NewTestDBConfigs(cp, cp, "fakesqldb")
+
+ testMysqld := NewMysqld(dbc)
+ defer testMysqld.Close()
+
+ db.AddQuery("SELECT 1", &sqltypes.Result{})
+ db.AddQuery("SHOW SLAVE STATUS", sqltypes.MakeTestResult(sqltypes.MakeTestFields("Last_SQL_Error|Last_IO_Error", "varchar|varchar"), "test sql error|test io error"))
+
+ err = WaitForReplicationStart(testMysqld, 2)
+ assert.ErrorContains(t, err, "Last_SQL_Error: test sql error, Last_IO_Error: test io error")
+}
+
+func TestGetMysqlPort(t *testing.T) {
+ db := fakesqldb.New(t)
+ defer db.Close()
+
+ params := db.ConnParams()
+ cp := *params
+ dbc := dbconfigs.NewTestDBConfigs(cp, cp, "fakesqldb")
+
+ db.AddQuery("SELECT 1", &sqltypes.Result{})
+ db.AddQuery("SHOW VARIABLES LIKE 'port'", sqltypes.MakeTestResult(sqltypes.MakeTestFields("test_field|test_field2", "varchar|uint64"), "test_port|12"))
+ testMysqld := NewMysqld(dbc)
+ defer testMysqld.Close()
+
+ res, err := testMysqld.GetMysqlPort()
+ assert.Equal(t, int32(12), res)
+ assert.NoError(t, err)
+
+ db.AddQuery("SHOW VARIABLES LIKE 'port'", &sqltypes.Result{})
+ res, err = testMysqld.GetMysqlPort()
+ assert.ErrorContains(t, err, "no port variable in mysql")
+ assert.Equal(t, int32(0), res)
+}
+
+func TestGetServerID(t *testing.T) {
+ db := fakesqldb.New(t)
+ defer db.Close()
+
+ params := db.ConnParams()
+ cp := *params
+ dbc := dbconfigs.NewTestDBConfigs(cp, cp, "fakesqldb")
+
+ db.AddQuery("SELECT 1", &sqltypes.Result{})
+ db.AddQuery("select @@global.server_id", sqltypes.MakeTestResult(sqltypes.MakeTestFields("test_field", "uint64"), "12"))
+ testMysqld := NewMysqld(dbc)
+ defer testMysqld.Close()
+
+ ctx := context.Background()
+ res, err := testMysqld.GetServerID(ctx)
+ assert.Equal(t, uint32(12), res)
+ assert.NoError(t, err)
+
+ db.AddQuery("select @@global.server_id", &sqltypes.Result{})
+ res, err = testMysqld.GetServerID(ctx)
+ assert.ErrorContains(t, err, "no server_id in mysql")
+ assert.Equal(t, uint32(0), res)
+}
+
+func TestGetServerUUID(t *testing.T) {
+ db := fakesqldb.New(t)
+ defer db.Close()
+
+ params := db.ConnParams()
+ cp := *params
+ dbc := dbconfigs.NewTestDBConfigs(cp, cp, "fakesqldb")
+
+ db.AddQuery("SELECT 1", &sqltypes.Result{})
+
+ testMysqld := NewMysqld(dbc)
+ defer testMysqld.Close()
+
+ uuid := "test_uuid"
+ db.AddQuery("SELECT @@global.server_uuid", sqltypes.MakeTestResult(sqltypes.MakeTestFields("test_field", "varchar"), uuid))
+
+ ctx := context.Background()
+ res, err := testMysqld.GetServerUUID(ctx)
+ assert.Equal(t, uuid, res)
+ assert.NoError(t, err)
+
+ db.AddQuery("SELECT @@global.server_uuid", &sqltypes.Result{})
+ res, err = testMysqld.GetServerUUID(ctx)
+ assert.Error(t, err)
+ assert.Equal(t, "", res)
+}
+
+func TestWaitSourcePos(t *testing.T) {
+ db := fakesqldb.New(t)
+ defer db.Close()
+
+ params := db.ConnParams()
+ cp := *params
+ dbc := dbconfigs.NewTestDBConfigs(cp, cp, "fakesqldb")
+
+ db.AddQuery("SELECT 1", &sqltypes.Result{})
+ db.AddQuery("SELECT @@global.gtid_executed", sqltypes.MakeTestResult(sqltypes.MakeTestFields("test_field", "varchar"), "8bc65c84-3fe4-11ed-a912-257f0fcdd6c9:1-8,8bc65c84-3fe4-11ed-a912-257f0fcdd6c9:12-17"))
+
+ testMysqld := NewMysqld(dbc)
+ defer testMysqld.Close()
+
+ ctx := context.Background()
+ err := testMysqld.WaitSourcePos(ctx, replication.Position{GTIDSet: replication.Mysql56GTIDSet{}})
+ assert.NoError(t, err)
+
+ db.AddQuery("SELECT @@global.gtid_executed", sqltypes.MakeTestResult(sqltypes.MakeTestFields("test_field", "varchar"), "invalid_id"))
+ err = testMysqld.WaitSourcePos(ctx, replication.Position{GTIDSet: replication.Mysql56GTIDSet{}})
+ assert.ErrorContains(t, err, "invalid MySQL 5.6 GTID set")
+}
+
+func TestReplicationStatus(t *testing.T) {
+ db := fakesqldb.New(t)
+ defer db.Close()
+
+ params := db.ConnParams()
+ cp := *params
+ dbc := dbconfigs.NewTestDBConfigs(cp, cp, "fakesqldb")
+
+ db.AddQuery("SELECT 1", &sqltypes.Result{})
+ db.AddQuery("SHOW SLAVE STATUS", sqltypes.MakeTestResult(sqltypes.MakeTestFields("test_field", "varchar"), "test_status"))
+
+ testMysqld := NewMysqld(dbc)
+ defer testMysqld.Close()
+
+ res, err := testMysqld.ReplicationStatus()
+ assert.NoError(t, err)
+ assert.True(t, res.ReplicationLagUnknown)
+
+ db.AddQuery("SHOW SLAVE STATUS", &sqltypes.Result{})
+ res, err = testMysqld.ReplicationStatus()
+ assert.Error(t, err)
+ assert.False(t, res.ReplicationLagUnknown)
+}
+
+func TestPrimaryStatus(t *testing.T) {
+ db := fakesqldb.New(t)
+ defer db.Close()
+
+ params := db.ConnParams()
+ cp := *params
+ dbc := dbconfigs.NewTestDBConfigs(cp, cp, "fakesqldb")
+
+ db.AddQuery("SELECT 1", &sqltypes.Result{})
+ db.AddQuery("SHOW MASTER STATUS", sqltypes.MakeTestResult(sqltypes.MakeTestFields("test_field", "varchar"), "test_status"))
+
+ testMysqld := NewMysqld(dbc)
+ defer testMysqld.Close()
+
+ ctx := context.Background()
+ res, err := testMysqld.PrimaryStatus(ctx)
+ assert.NoError(t, err)
+ assert.NotNil(t, res)
+
+ db.AddQuery("SHOW MASTER STATUS", &sqltypes.Result{})
+ _, err = testMysqld.PrimaryStatus(ctx)
+ assert.ErrorContains(t, err, "no master status")
+}
+
+func TestGetGTIDPurged(t *testing.T) {
+ db := fakesqldb.New(t)
+ defer db.Close()
+
+ params := db.ConnParams()
+ cp := *params
+ dbc := dbconfigs.NewTestDBConfigs(cp, cp, "fakesqldb")
+
+ db.AddQuery("SELECT 1", &sqltypes.Result{})
+ db.AddQuery("SELECT @@global.gtid_purged", sqltypes.MakeTestResult(sqltypes.MakeTestFields("test_field", "varchar"), "8bc65c84-3fe4-11ed-a912-257f0fcdd6c9:1-8,8bc65c84-3fe4-11ed-a912-257f0fcdd6c9:12-17"))
+
+ testMysqld := NewMysqld(dbc)
+ defer testMysqld.Close()
+
+ ctx := context.Background()
+ res, err := testMysqld.GetGTIDPurged(ctx)
+ assert.NoError(t, err)
+ assert.Equal(t, "8bc65c84-3fe4-11ed-a912-257f0fcdd6c9:1-8:12-17", res.String())
+}
+
+func TestPrimaryPosition(t *testing.T) {
+ db := fakesqldb.New(t)
+ defer db.Close()
+
+ params := db.ConnParams()
+ cp := *params
+ dbc := dbconfigs.NewTestDBConfigs(cp, cp, "fakesqldb")
+
+ db.AddQuery("SELECT 1", &sqltypes.Result{})
+ db.AddQuery("SELECT @@global.gtid_executed", sqltypes.MakeTestResult(sqltypes.MakeTestFields("test_field", "varchar"), "8bc65c84-3fe4-11ed-a912-257f0fcdd6c9:1-8,8bc65c84-3fe4-11ed-a912-257f0fcdd6c9:12-17"))
+
+ testMysqld := NewMysqld(dbc)
+ defer testMysqld.Close()
+
+ res, err := testMysqld.PrimaryPosition()
+ assert.NoError(t, err)
+ assert.Equal(t, "8bc65c84-3fe4-11ed-a912-257f0fcdd6c9:1-8:12-17", res.String())
+}
+
+func TestSetReplicationPosition(t *testing.T) {
+ db := fakesqldb.New(t)
+ defer db.Close()
+
+ params := db.ConnParams()
+ cp := *params
+ dbc := dbconfigs.NewTestDBConfigs(cp, cp, "fakesqldb")
+
+ db.AddQuery("SELECT 1", &sqltypes.Result{})
+ db.AddQuery("RESET MASTER", &sqltypes.Result{})
+
+ testMysqld := NewMysqld(dbc)
+ defer testMysqld.Close()
+
+ ctx := context.Background()
+
+ pos := replication.Position{GTIDSet: replication.Mysql56GTIDSet{}}
+ sid := replication.SID{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15}
+ pos.GTIDSet = pos.GTIDSet.AddGTID(replication.Mysql56GTID{Server: sid, Sequence: 1})
+
+ err := testMysqld.SetReplicationPosition(ctx, pos)
+ assert.Error(t, err)
+
+ // We expect this query to be executed
+ db.AddQuery("SET GLOBAL gtid_purged = '00010203-0405-0607-0809-0a0b0c0d0e0f:1'", &sqltypes.Result{})
+
+ err = testMysqld.SetReplicationPosition(ctx, pos)
+ assert.NoError(t, err)
+}
+
+func TestSetReplicationSource(t *testing.T) {
+ db := fakesqldb.New(t)
+ defer db.Close()
+
+ params := db.ConnParams()
+ cp := *params
+ dbc := dbconfigs.NewTestDBConfigs(cp, cp, "fakesqldb")
+
+ db.AddQuery("SELECT 1", &sqltypes.Result{})
+ db.AddQuery("RESET MASTER", &sqltypes.Result{})
+ db.AddQuery("STOP SLAVE", &sqltypes.Result{})
+
+ testMysqld := NewMysqld(dbc)
+ defer testMysqld.Close()
+
+ ctx := context.Background()
+
+ // We expect query containing passed host and port to be executed
+ err := testMysqld.SetReplicationSource(ctx, "test_host", 2, true, true)
+ assert.ErrorContains(t, err, `MASTER_HOST = 'test_host'`)
+ assert.ErrorContains(t, err, `MASTER_PORT = 2`)
+ assert.ErrorContains(t, err, `CHANGE MASTER TO`)
+}
+
+func TestResetReplication(t *testing.T) {
+ db := fakesqldb.New(t)
+ defer db.Close()
+
+ params := db.ConnParams()
+ cp := *params
+ dbc := dbconfigs.NewTestDBConfigs(cp, cp, "fakesqldb")
+
+ db.AddQuery("SELECT 1", &sqltypes.Result{})
+ db.AddQuery("SHOW GLOBAL VARIABLES LIKE 'rpl_semi_sync%'", &sqltypes.Result{})
+ db.AddQuery("STOP SLAVE", &sqltypes.Result{})
+
+ testMysqld := NewMysqld(dbc)
+ defer testMysqld.Close()
+
+ ctx := context.Background()
+ err := testMysqld.ResetReplication(ctx)
+ assert.ErrorContains(t, err, "RESET SLAVE ALL")
+
+ // We expect this query to be executed
+ db.AddQuery("RESET SLAVE ALL", &sqltypes.Result{})
+ err = testMysqld.ResetReplication(ctx)
+ assert.ErrorContains(t, err, "RESET MASTER")
+
+ // We expect this query to be executed
+ db.AddQuery("RESET MASTER", &sqltypes.Result{})
+ err = testMysqld.ResetReplication(ctx)
+ assert.NoError(t, err)
+}
+
+func TestResetReplicationParameters(t *testing.T) {
+ db := fakesqldb.New(t)
+ defer db.Close()
+
+ params := db.ConnParams()
+ cp := *params
+ dbc := dbconfigs.NewTestDBConfigs(cp, cp, "fakesqldb")
+
+ db.AddQuery("SELECT 1", &sqltypes.Result{})
+ db.AddQuery("SHOW GLOBAL VARIABLES LIKE 'rpl_semi_sync%'", &sqltypes.Result{})
+ db.AddQuery("STOP SLAVE", &sqltypes.Result{})
+
+ testMysqld := NewMysqld(dbc)
+ defer testMysqld.Close()
+
+ ctx := context.Background()
+ err := testMysqld.ResetReplicationParameters(ctx)
+ assert.ErrorContains(t, err, "RESET SLAVE ALL")
+
+ // We expect this query to be executed
+ db.AddQuery("RESET SLAVE ALL", &sqltypes.Result{})
+ err = testMysqld.ResetReplicationParameters(ctx)
+ assert.NoError(t, err)
+}
+
+func TestFindReplicas(t *testing.T) {
+ db := fakesqldb.New(t)
+ fakemysqld := NewFakeMysqlDaemon(db)
+
+ defer func() {
+ db.Close()
+ fakemysqld.Close()
+ }()
+
+ fakemysqld.FetchSuperQueryMap = map[string]*sqltypes.Result{
+ "SHOW PROCESSLIST": sqltypes.MakeTestResult(sqltypes.MakeTestFields("Id|User|Host|db|Command|Time|State|Info", "varchar|varchar|varchar|varchar|varchar|varchar|varchar|varchar"), "1|user1|localhost:12|db1|Binlog Dump|54|Has sent all binlog to slave|NULL"),
+ }
+
+ res, err := FindReplicas(fakemysqld)
+ assert.NoError(t, err)
+
+ want, err := net.LookupHost("localhost")
+ require.NoError(t, err)
+
+ assert.Equal(t, want, res)
+}
+
+func TestGetBinlogInformation(t *testing.T) {
+ db := fakesqldb.New(t)
+ defer db.Close()
+
+ params := db.ConnParams()
+ cp := *params
+ dbc := dbconfigs.NewTestDBConfigs(cp, cp, "fakesqldb")
+
+ db.AddQuery("SELECT 1", &sqltypes.Result{})
+ db.AddQuery("SELECT @@global.binlog_format, @@global.log_bin, @@global.log_slave_updates, @@global.binlog_row_image", sqltypes.MakeTestResult(sqltypes.MakeTestFields("@@global.binlog_format|@@global.log_bin|@@global.log_slave_updates|@@global.binlog_row_image", "varchar|int64|int64|varchar"), "binlog|1|2|row_image"))
+
+ testMysqld := NewMysqld(dbc)
+ defer testMysqld.Close()
+
+ ctx := context.Background()
+ bin, logBin, slaveUpdate, rowImage, err := testMysqld.GetBinlogInformation(ctx)
+ assert.NoError(t, err)
+ assert.Equal(t, "binlog", bin)
+ assert.Equal(t, "row_image", rowImage)
+ assert.True(t, logBin)
+ assert.False(t, slaveUpdate)
+}
+
+func TestGetGTIDMode(t *testing.T) {
+ db := fakesqldb.New(t)
+ defer db.Close()
+
+ params := db.ConnParams()
+ cp := *params
+ dbc := dbconfigs.NewTestDBConfigs(cp, cp, "fakesqldb")
+
+ in := "8bc65c84-3fe4-11ed-a912-257f0fcdd6c9:1-8,8bc65c84-3fe4-11ed-a912-257f0fcdd6c9:12-17"
+ db.AddQuery("SELECT 1", &sqltypes.Result{})
+ db.AddQuery("select @@global.gtid_mode", sqltypes.MakeTestResult(sqltypes.MakeTestFields("test_field", "varchar"), in))
+
+ testMysqld := NewMysqld(dbc)
+ defer testMysqld.Close()
+
+ ctx := context.Background()
+ res, err := testMysqld.GetGTIDMode(ctx)
+ assert.NoError(t, err)
+ assert.Equal(t, in, res)
+}
+
+func TestFlushBinaryLogs(t *testing.T) {
+ db := fakesqldb.New(t)
+ defer db.Close()
+
+ params := db.ConnParams()
+ cp := *params
+ dbc := dbconfigs.NewTestDBConfigs(cp, cp, "fakesqldb")
+
+ db.AddQuery("SELECT 1", &sqltypes.Result{})
+
+ testMysqld := NewMysqld(dbc)
+ defer testMysqld.Close()
+
+ // We expect this query to be executed
+ err := testMysqld.FlushBinaryLogs(context.Background())
+ assert.ErrorContains(t, err, "FLUSH BINARY LOGS")
+}
+
+func TestGetBinaryLogs(t *testing.T) {
+ db := fakesqldb.New(t)
+ defer db.Close()
+
+ params := db.ConnParams()
+ cp := *params
+ dbc := dbconfigs.NewTestDBConfigs(cp, cp, "fakesqldb")
+
+ db.AddQuery("SELECT 1", &sqltypes.Result{})
+
+ testMysqld := NewMysqld(dbc)
+ defer testMysqld.Close()
+
+ db.AddQuery("SHOW BINARY LOGS", sqltypes.MakeTestResult(sqltypes.MakeTestFields("field", "varchar"), "binlog1", "binlog2"))
+
+ res, err := testMysqld.GetBinaryLogs(context.Background())
+ assert.NoError(t, err)
+ assert.Len(t, res, 2)
+ assert.Contains(t, res, "binlog1")
+ assert.Contains(t, res, "binlog2")
+}
+
+func TestGetPreviousGTIDs(t *testing.T) {
+ db := fakesqldb.New(t)
+ defer db.Close()
+
+ params := db.ConnParams()
+ cp := *params
+ dbc := dbconfigs.NewTestDBConfigs(cp, cp, "fakesqldb")
+
+ db.AddQuery("SELECT 1", &sqltypes.Result{})
+ db.AddQuery("SHOW BINLOG EVENTS IN 'binlog' LIMIT 2", sqltypes.MakeTestResult(sqltypes.MakeTestFields("Event_type|Info", "varchar|varchar"), "Previous_gtids|8bc65c84-3fe4-11ed-a912-257f0fcdd6c9:1-8"))
+
+ testMysqld := NewMysqld(dbc)
+ defer testMysqld.Close()
+
+ ctx := context.Background()
+ res, err := testMysqld.GetPreviousGTIDs(ctx, "binlog")
+ assert.NoError(t, err)
+ assert.Equal(t, "8bc65c84-3fe4-11ed-a912-257f0fcdd6c9:1-8", res)
+}
+
+func TestSetSemiSyncEnabled(t *testing.T) {
+ db := fakesqldb.New(t)
+ defer db.Close()
+
+ params := db.ConnParams()
+ cp := *params
+ dbc := dbconfigs.NewTestDBConfigs(cp, cp, "fakesqldb")
+
+ db.AddQuery("SELECT 1", &sqltypes.Result{})
+
+ testMysqld := NewMysqld(dbc)
+ defer testMysqld.Close()
+
+ // We expect this query to be executed
+ err := testMysqld.SetSemiSyncEnabled(true, true)
+ assert.ErrorContains(t, err, "SET GLOBAL rpl_semi_sync_master_enabled = 1, GLOBAL rpl_semi_sync_slave_enabled = 1")
+
+ // We expect this query to be executed
+ err = testMysqld.SetSemiSyncEnabled(true, false)
+ assert.ErrorContains(t, err, "SET GLOBAL rpl_semi_sync_master_enabled = 1, GLOBAL rpl_semi_sync_slave_enabled = 0")
+
+ // We expect this query to be executed
+ err = testMysqld.SetSemiSyncEnabled(false, true)
+ assert.ErrorContains(t, err, "SET GLOBAL rpl_semi_sync_master_enabled = 0, GLOBAL rpl_semi_sync_slave_enabled = 1")
+}
+
+func TestSemiSyncEnabled(t *testing.T) {
+ db := fakesqldb.New(t)
+ defer db.Close()
+
+ params := db.ConnParams()
+ cp := *params
+ dbc := dbconfigs.NewTestDBConfigs(cp, cp, "fakesqldb")
+
+ db.AddQuery("SELECT 1", &sqltypes.Result{})
+ db.AddQuery("SHOW VARIABLES LIKE 'rpl_semi_sync_%_enabled'", sqltypes.MakeTestResult(sqltypes.MakeTestFields("field1|field2", "varchar|varchar"), "rpl_semi_sync_master_enabled|OFF", "rpl_semi_sync_slave_enabled|ON"))
+
+ testMysqld := NewMysqld(dbc)
+ defer testMysqld.Close()
+
+ p, r := testMysqld.SemiSyncEnabled()
+ assert.False(t, p)
+ assert.True(t, r)
+}
+
+func TestSemiSyncStatus(t *testing.T) {
+ db := fakesqldb.New(t)
+ defer db.Close()
+
+ params := db.ConnParams()
+ cp := *params
+ dbc := dbconfigs.NewTestDBConfigs(cp, cp, "fakesqldb")
+
+ db.AddQuery("SELECT 1", &sqltypes.Result{})
+ db.AddQuery("SHOW STATUS LIKE 'Rpl_semi_sync_%_status'", sqltypes.MakeTestResult(sqltypes.MakeTestFields("field1|field2", "varchar|varchar"), "Rpl_semi_sync_master_status|ON", "Rpl_semi_sync_slave_status|OFF"))
+
+ testMysqld := NewMysqld(dbc)
+ defer testMysqld.Close()
+
+ p, r := testMysqld.SemiSyncStatus()
+ assert.True(t, p)
+ assert.False(t, r)
+}
+
+func TestSemiSyncClients(t *testing.T) {
+ db := fakesqldb.New(t)
+ defer db.Close()
+
+ params := db.ConnParams()
+ cp := *params
+ dbc := dbconfigs.NewTestDBConfigs(cp, cp, "fakesqldb")
+
+ db.AddQuery("SELECT 1", &sqltypes.Result{})
+ db.AddQuery("SHOW STATUS LIKE 'Rpl_semi_sync_master_clients'", sqltypes.MakeTestResult(sqltypes.MakeTestFields("field1|field2", "varchar|uint64"), "val1|12"))
+
+ testMysqld := NewMysqld(dbc)
+ defer testMysqld.Close()
+
+ res := testMysqld.SemiSyncClients()
+ assert.Equal(t, uint32(12), res)
+}
+
+func TestSemiSyncSettings(t *testing.T) {
+ db := fakesqldb.New(t)
+ defer db.Close()
+
+ params := db.ConnParams()
+ cp := *params
+ dbc := dbconfigs.NewTestDBConfigs(cp, cp, "fakesqldb")
+
+ db.AddQuery("SELECT 1", &sqltypes.Result{})
+ db.AddQuery("SHOW VARIABLES LIKE 'rpl_semi_sync_%'", sqltypes.MakeTestResult(sqltypes.MakeTestFields("field1|field2", "varchar|uint64"), "rpl_semi_sync_master_timeout|123", "rpl_semi_sync_master_wait_for_slave_count|80"))
+
+ testMysqld := NewMysqld(dbc)
+ defer testMysqld.Close()
+
+ timeout, replicas := testMysqld.SemiSyncSettings()
+ assert.Equal(t, uint64(123), timeout)
+ assert.Equal(t, uint32(80), replicas)
+}
+
+func TestSemiSyncReplicationStatus(t *testing.T) {
+ db := fakesqldb.New(t)
+ defer db.Close()
+
+ params := db.ConnParams()
+ cp := *params
+ dbc := dbconfigs.NewTestDBConfigs(cp, cp, "fakesqldb")
+
+ db.AddQuery("SELECT 1", &sqltypes.Result{})
+ db.AddQuery("SHOW STATUS LIKE 'rpl_semi_sync_slave_status'", sqltypes.MakeTestResult(sqltypes.MakeTestFields("field1|field2", "varchar|uint64"), "rpl_semi_sync_slave_status|ON"))
+
+ testMysqld := NewMysqld(dbc)
+ defer testMysqld.Close()
+
+ res, err := testMysqld.SemiSyncReplicationStatus()
+ assert.NoError(t, err)
+ assert.True(t, res)
+
+ db.AddQuery("SHOW STATUS LIKE 'rpl_semi_sync_slave_status'", sqltypes.MakeTestResult(sqltypes.MakeTestFields("field1|field2", "varchar|uint64"), "rpl_semi_sync_slave_status|OFF"))
+
+ res, err = testMysqld.SemiSyncReplicationStatus()
+ assert.NoError(t, err)
+ assert.False(t, res)
+}
+
+func TestSemiSyncExtensionLoaded(t *testing.T) {
+ db := fakesqldb.New(t)
+ defer db.Close()
+
+ params := db.ConnParams()
+ cp := *params
+ dbc := dbconfigs.NewTestDBConfigs(cp, cp, "fakesqldb")
+
+ db.AddQuery("SELECT 1", &sqltypes.Result{})
+ db.AddQuery("SELECT COUNT(*) > 0 AS plugin_loaded FROM information_schema.plugins WHERE plugin_name LIKE 'rpl_semi_sync%'", sqltypes.MakeTestResult(sqltypes.MakeTestFields("field1", "int64"), "1"))
+
+ testMysqld := NewMysqld(dbc)
+ defer testMysqld.Close()
+
+ res, err := testMysqld.SemiSyncExtensionLoaded()
+ assert.NoError(t, err)
+ assert.True(t, res)
+
+ db.AddQuery("SELECT COUNT(*) > 0 AS plugin_loaded FROM information_schema.plugins WHERE plugin_name LIKE 'rpl_semi_sync%'", sqltypes.MakeTestResult(sqltypes.MakeTestFields("field1", "int64"), "0"))
+
+ res, err = testMysqld.SemiSyncExtensionLoaded()
+ assert.NoError(t, err)
+ assert.False(t, res)
+}
diff --git a/go/vt/mysqlctl/schema_test.go b/go/vt/mysqlctl/schema_test.go
index fb64f8ca8ee..d73e6c13665 100644
--- a/go/vt/mysqlctl/schema_test.go
+++ b/go/vt/mysqlctl/schema_test.go
@@ -1,14 +1,35 @@
+/*
+Copyright 2024 The Vitess Authors.
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+
package mysqlctl
import (
+ "context"
"fmt"
"testing"
+ "github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
"vitess.io/vitess/go/mysql/fakesqldb"
"vitess.io/vitess/go/sqltypes"
+ "vitess.io/vitess/go/vt/dbconfigs"
+ "vitess.io/vitess/go/vt/mysqlctl/tmutils"
querypb "vitess.io/vitess/go/vt/proto/query"
+ "vitess.io/vitess/go/vt/proto/tabletmanagerdata"
)
var queryMap map[string]*sqltypes.Result
@@ -103,3 +124,286 @@ func TestColumnList(t *testing.T) {
require.Equal(t, `[name:"col1" type:VARCHAR]`, fmt.Sprintf("%+v", fields))
}
+
+func TestGetSchemaAndSchemaChange(t *testing.T) {
+ db := fakesqldb.New(t)
+ defer db.Close()
+
+ params := db.ConnParams()
+ cp := *params
+ dbc := dbconfigs.NewTestDBConfigs(cp, cp, "fakesqldb")
+
+ testMysqld := NewMysqld(dbc)
+ defer testMysqld.Close()
+
+ db.AddQuery("SELECT 1", &sqltypes.Result{})
+
+ db.AddQuery("SHOW CREATE DATABASE IF NOT EXISTS `fakesqldb`", sqltypes.MakeTestResult(sqltypes.MakeTestFields("test_field|cmd", "varchar|varchar"), "create_db|create_db_cmd"))
+ db.AddQuery("SHOW CREATE TABLE `fakesqldb`.`test_table`", sqltypes.MakeTestResult(sqltypes.MakeTestFields("test_field|cmd", "varchar|varchar"), "create_table|create_table_cmd"))
+
+ db.AddQuery("SELECT table_name, table_type, data_length, table_rows FROM information_schema.tables WHERE table_schema = 'fakesqldb' AND table_type = 'BASE TABLE'", sqltypes.MakeTestResult(
+ sqltypes.MakeTestFields("table_name|table_type|data_length|table_rows", "varchar|varchar|uint64|uint64"), "test_table|test_type|NULL|2"))
+
+ db.AddQuery("SELECT table_name, table_type, data_length, table_rows FROM information_schema.tables WHERE table_schema = 'fakesqldb'", sqltypes.MakeTestResult(
+ sqltypes.MakeTestFields("table_name|table_type|data_length|table_rows", "varchar|varchar|uint64|uint64"), "test_table|test_type|NULL|2"))
+
+ query := fmt.Sprintf(GetColumnNamesQuery, sqltypes.EncodeStringSQL(db.Name()), sqltypes.EncodeStringSQL("test_table"))
+ db.AddQuery(query, &sqltypes.Result{
+ Fields: []*querypb.Field{{
+ Name: "column_name",
+ Type: sqltypes.VarChar,
+ }},
+ Rows: [][]sqltypes.Value{
+ {sqltypes.NewVarChar("col1")},
+ {sqltypes.NewVarChar("col2")},
+ },
+ })
+
+ db.AddQuery("SELECT `col1`, `col2` FROM `fakesqldb`.`test_table` WHERE 1 != 1", &sqltypes.Result{
+ Fields: []*querypb.Field{
+ {
+ Name: "col1",
+ Type: sqltypes.VarChar,
+ },
+ {
+ Name: "col2",
+ Type: sqltypes.VarChar,
+ },
+ },
+ Rows: [][]sqltypes.Value{},
+ })
+
+ tableList, err := tableListSQL([]string{"test_table"})
+ require.NoError(t, err)
+
+ query = `
+ SELECT TABLE_NAME as table_name, COLUMN_NAME as column_name
+ FROM information_schema.STATISTICS
+ WHERE TABLE_SCHEMA = %s AND TABLE_NAME IN %s AND LOWER(INDEX_NAME) = 'primary'
+ ORDER BY table_name, SEQ_IN_INDEX`
+ query = fmt.Sprintf(query, sqltypes.EncodeStringSQL("fakesqldb"), tableList)
+ db.AddQuery(query, sqltypes.MakeTestResult(sqltypes.MakeTestFields("TABLE_NAME|COLUMN_NAME", "varchar|varchar"), "test_table|col1", "test_table|col2"))
+
+ ctx := context.Background()
+ res, err := testMysqld.GetSchema(ctx, db.Name(), &tabletmanagerdata.GetSchemaRequest{})
+ assert.NoError(t, err)
+ assert.Equal(t, res.String(), `database_schema:"create_db_cmd" table_definitions:{name:"test_table" schema:"create_table_cmd" columns:"col1" columns:"col2" type:"test_type" row_count:2 fields:{name:"col1" type:VARCHAR} fields:{name:"col2" type:VARCHAR}}`)
+
+ // Test ApplySchemaChange
+ db.AddQuery("\nSET sql_log_bin = 0", &sqltypes.Result{})
+
+ r, err := testMysqld.ApplySchemaChange(ctx, db.Name(), &tmutils.SchemaChange{})
+ assert.NoError(t, err)
+ assert.Equal(t, r.BeforeSchema, r.AfterSchema, "BeforeSchema should be equal to AfterSchema as no schema change was passed")
+ assert.Equal(t, `database_schema:"create_db_cmd" table_definitions:{name:"test_table" schema:"create_table_cmd" columns:"col1" columns:"col2" type:"test_type" row_count:2 fields:{name:"col1" type:VARCHAR} fields:{name:"col2" type:VARCHAR}}`, r.BeforeSchema.String())
+
+ r, err = testMysqld.ApplySchemaChange(ctx, db.Name(), &tmutils.SchemaChange{
+ BeforeSchema: &tabletmanagerdata.SchemaDefinition{
+ DatabaseSchema: "create_db_cmd",
+ TableDefinitions: []*tabletmanagerdata.TableDefinition{
+ {
+ Name: "test_table_changed",
+ Schema: "create_table_cmd",
+ Type: "test_type",
+ },
+ },
+ },
+ AfterSchema: &tabletmanagerdata.SchemaDefinition{
+ DatabaseSchema: "create_db_cmd",
+ TableDefinitions: []*tabletmanagerdata.TableDefinition{
+ {
+ Name: "test_table",
+ Schema: "create_table_cmd",
+ Type: "test_type",
+ },
+ },
+ },
+ })
+ assert.NoError(t, err)
+ assert.Equal(t, r.BeforeSchema, r.AfterSchema)
+
+ r, err = testMysqld.ApplySchemaChange(ctx, db.Name(), &tmutils.SchemaChange{
+ BeforeSchema: &tabletmanagerdata.SchemaDefinition{
+ DatabaseSchema: "create_db_cmd",
+ TableDefinitions: []*tabletmanagerdata.TableDefinition{
+ {
+ Name: "test_table",
+ Schema: "create_table_cmd",
+ Type: "test_type",
+ },
+ },
+ },
+ SQL: "EXPECT THIS QUERY TO BE EXECUTED;\n",
+ })
+ assert.ErrorContains(t, err, "EXPECT THIS QUERY TO BE EXECUTED")
+ assert.Nil(t, r)
+
+ // Test PreflightSchemaChange
+ db.AddQuery("SET sql_log_bin = 0", &sqltypes.Result{})
+ db.AddQuery("\nDROP DATABASE IF EXISTS _vt_preflight", &sqltypes.Result{})
+ db.AddQuery("\nCREATE DATABASE _vt_preflight", &sqltypes.Result{})
+ db.AddQuery("\nUSE _vt_preflight", &sqltypes.Result{})
+ db.AddQuery("\nSET foreign_key_checks = 0", &sqltypes.Result{})
+ db.AddQuery("\nDROP DATABASE _vt_preflight", &sqltypes.Result{})
+
+ l, err := testMysqld.PreflightSchemaChange(context.Background(), db.Name(), []string{})
+ assert.NoError(t, err)
+ assert.Empty(t, l)
+
+ db.AddQuery("SHOW CREATE DATABASE IF NOT EXISTS `_vt_preflight`", sqltypes.MakeTestResult(sqltypes.MakeTestFields("test_field|cmd", "varchar|varchar"), "create_db|create_db_cmd"))
+
+ db.AddQuery("SELECT table_name, table_type, data_length, table_rows FROM information_schema.tables WHERE table_schema = '_vt_preflight' AND table_type = 'BASE TABLE'", sqltypes.MakeTestResult(
+ sqltypes.MakeTestFields("table_name|table_type|data_length|table_rows", "varchar|varchar|uint64|uint64"), "test_table|test_type|NULL|2"))
+ db.AddQuery("SELECT table_name, table_type, data_length, table_rows FROM information_schema.tables WHERE table_schema = '_vt_preflight'", sqltypes.MakeTestResult(
+ sqltypes.MakeTestFields("table_name|table_type|data_length|table_rows", "varchar|varchar|uint64|uint64"), "test_table|test_type|NULL|2"))
+ db.AddQuery("SHOW CREATE TABLE `_vt_preflight`.`test_table`", sqltypes.MakeTestResult(sqltypes.MakeTestFields("test_field|cmd", "varchar|varchar"), "create_table|create_table_cmd"))
+
+ query = `
+ SELECT TABLE_NAME as table_name, COLUMN_NAME as column_name
+ FROM information_schema.STATISTICS
+ WHERE TABLE_SCHEMA = %s AND TABLE_NAME IN %s AND LOWER(INDEX_NAME) = 'primary'
+ ORDER BY table_name, SEQ_IN_INDEX`
+ query = fmt.Sprintf(query, sqltypes.EncodeStringSQL("_vt_preflight"), tableList)
+ db.AddQuery(query, sqltypes.MakeTestResult(sqltypes.MakeTestFields("TABLE_NAME|COLUMN_NAME", "varchar|varchar"), "test_table|col1", "test_table|col2"))
+
+ query = fmt.Sprintf(GetColumnNamesQuery, sqltypes.EncodeStringSQL("_vt_preflight"), sqltypes.EncodeStringSQL("test_table"))
+ db.AddQuery(query, &sqltypes.Result{
+ Fields: []*querypb.Field{{
+ Name: "column_name",
+ Type: sqltypes.VarChar,
+ }},
+ Rows: [][]sqltypes.Value{
+ {sqltypes.NewVarChar("col1")},
+ {sqltypes.NewVarChar("col2")},
+ },
+ })
+
+ db.AddQuery("SELECT `col1`, `col2` FROM `_vt_preflight`.`test_table` WHERE 1 != 1", &sqltypes.Result{
+ Fields: []*querypb.Field{
+ {
+ Name: "col1",
+ Type: sqltypes.VarChar,
+ },
+ {
+ Name: "col2",
+ Type: sqltypes.VarChar,
+ },
+ },
+ Rows: [][]sqltypes.Value{},
+ })
+
+ query = "EXPECT THIS QUERY TO BE EXECUTED"
+ _, err = testMysqld.PreflightSchemaChange(context.Background(), db.Name(), []string{query})
+ assert.ErrorContains(t, err, query)
+}
+
+func TestResolveTables(t *testing.T) {
+ db := fakesqldb.New(t)
+ testMysqld := NewFakeMysqlDaemon(db)
+
+ defer func() {
+ db.Close()
+ testMysqld.Close()
+ }()
+
+ ctx := context.Background()
+ res, err := ResolveTables(ctx, testMysqld, db.Name(), []string{})
+ assert.ErrorContains(t, err, "no schema defined")
+ assert.Nil(t, res)
+
+ testMysqld.Schema = &tabletmanagerdata.SchemaDefinition{TableDefinitions: tableDefinitions{{
+ Name: "table1",
+ Schema: "schema1",
+ }, {
+ Name: "table2",
+ Schema: "schema2",
+ }}}
+
+ res, err = ResolveTables(ctx, testMysqld, db.Name(), []string{"table1"})
+ assert.NoError(t, err)
+ assert.Len(t, res, 1)
+
+ res, err = ResolveTables(ctx, testMysqld, db.Name(), []string{"table1", "table2"})
+ assert.NoError(t, err)
+ assert.Len(t, res, 2)
+}
+
+func TestGetColumns(t *testing.T) {
+ db := fakesqldb.New(t)
+ defer db.Close()
+
+ params := db.ConnParams()
+ cp := *params
+ dbc := dbconfigs.NewTestDBConfigs(cp, cp, db.Name())
+
+ db.AddQuery("SELECT 1", &sqltypes.Result{})
+
+ tableName := "test_table"
+ query := fmt.Sprintf(GetColumnNamesQuery, sqltypes.EncodeStringSQL(db.Name()), sqltypes.EncodeStringSQL(tableName))
+ db.AddQuery(query, &sqltypes.Result{
+ Fields: []*querypb.Field{{
+ Name: "column_name",
+ Type: sqltypes.VarChar,
+ }},
+ Rows: [][]sqltypes.Value{
+ {sqltypes.NewVarChar("col1")},
+ {sqltypes.NewVarChar("col2")},
+ },
+ })
+ db.AddQuery("SELECT `col1`, `col2` FROM `fakesqldb`.`test_table` WHERE 1 != 1", &sqltypes.Result{
+ Fields: []*querypb.Field{
+ {
+ Name: "col1",
+ Type: sqltypes.VarChar,
+ },
+ {
+ Name: "col2",
+ Type: sqltypes.VarChar,
+ },
+ },
+ Rows: [][]sqltypes.Value{},
+ })
+
+ testMysqld := NewMysqld(dbc)
+ defer testMysqld.Close()
+
+ ctx := context.Background()
+
+ want := sqltypes.MakeTestFields("col1|col2", "varchar|varchar")
+
+ field, cols, err := testMysqld.GetColumns(ctx, db.Name(), tableName)
+ assert.Equal(t, want, field)
+ assert.Equal(t, []string{"col1", "col2"}, cols)
+ assert.NoError(t, err)
+}
+
+func TestGetPrimaryKeyColumns(t *testing.T) {
+ db := fakesqldb.New(t)
+ defer db.Close()
+
+ params := db.ConnParams()
+ cp := *params
+ dbc := dbconfigs.NewTestDBConfigs(cp, cp, db.Name())
+
+ db.AddQuery("SELECT 1", &sqltypes.Result{})
+
+ testMysqld := NewMysqld(dbc)
+ defer testMysqld.Close()
+
+ tableList, err := tableListSQL([]string{"test_table"})
+ require.NoError(t, err)
+
+ query := `
+ SELECT TABLE_NAME as table_name, COLUMN_NAME as column_name
+ FROM information_schema.STATISTICS
+ WHERE TABLE_SCHEMA = %s AND TABLE_NAME IN %s AND LOWER(INDEX_NAME) = 'primary'
+ ORDER BY table_name, SEQ_IN_INDEX`
+ query = fmt.Sprintf(query, sqltypes.EncodeStringSQL("fakesqldb"), tableList)
+ db.AddQuery(query, sqltypes.MakeTestResult(sqltypes.MakeTestFields("table_name|column_name", "varchar|varchar"), "fakesqldb|col1", "fakesqldb2|col2"))
+
+ ctx := context.Background()
+ res, err := testMysqld.GetPrimaryKeyColumns(ctx, db.Name(), "test_table")
+ assert.NoError(t, err)
+ assert.Contains(t, res, "col1")
+ assert.Len(t, res, 1)
+}
diff --git a/go/vt/mysqlctl/xtrabackupengine_test.go b/go/vt/mysqlctl/xtrabackupengine_test.go
index 84230c54520..4ceec2f960d 100644
--- a/go/vt/mysqlctl/xtrabackupengine_test.go
+++ b/go/vt/mysqlctl/xtrabackupengine_test.go
@@ -46,12 +46,8 @@ func TestFindReplicationPosition(t *testing.T) {
want := "145e508e-ae54-11e9-8ce6-46824dd1815e:1-3,1e51f8be-ae54-11e9-a7c6-4280a041109b:1-3,47b59de1-b368-11e9-b48b-624401d35560:1-152981,557def0a-b368-11e9-84ed-f6fffd91cc57:1-3,599ef589-ae55-11e9-9688-ca1f44501925:1-14857169,b9ce485d-b36b-11e9-9b17-2a6e0a6011f4:1-371262"
pos, err := findReplicationPosition(input, "MySQL56", logutil.NewConsoleLogger())
- if err != nil {
- t.Fatalf("findReplicationPosition error: %v", err)
- }
- if got := pos.String(); got != want {
- t.Errorf("findReplicationPosition() = %v; want %v", got, want)
- }
+ assert.NoError(t, err)
+ assert.Equal(t, want, pos.String())
}
func TestFindReplicationPositionNoMatch(t *testing.T) {
@@ -59,9 +55,7 @@ func TestFindReplicationPositionNoMatch(t *testing.T) {
input := `nothing`
_, err := findReplicationPosition(input, "MySQL56", logutil.NewConsoleLogger())
- if err == nil {
- t.Fatalf("expected error from findReplicationPosition but got nil")
- }
+ assert.Error(t, err)
}
func TestFindReplicationPositionEmptyMatch(t *testing.T) {
@@ -71,9 +65,7 @@ func TestFindReplicationPositionEmptyMatch(t *testing.T) {
'`
_, err := findReplicationPosition(input, "MySQL56", logutil.NewConsoleLogger())
- if err == nil {
- t.Fatalf("expected error from findReplicationPosition but got nil")
- }
+ assert.Error(t, err)
}
func TestStripeRoundTrip(t *testing.T) {
@@ -96,16 +88,11 @@ func TestStripeRoundTrip(t *testing.T) {
// Read it back and merge.
outBuf := &bytes.Buffer{}
written, err := io.Copy(outBuf, stripeReader(readers, blockSize))
- if err != nil {
- t.Errorf("dataSize=%d, blockSize=%d, stripes=%d; copy error: %v", dataSize, blockSize, stripes, err)
- }
- if written != dataSize {
- t.Errorf("dataSize=%d, blockSize=%d, stripes=%d; copy error: wrote %d total bytes instead of dataSize", dataSize, blockSize, stripes, written)
- }
+ assert.NoError(t, err)
+ assert.Equal(t, dataSize, written)
+
output := outBuf.Bytes()
- if !bytes.Equal(input, output) {
- t.Errorf("output bytes are not the same as input")
- }
+ assert.Equal(t, input, output)
}
// Test block size that evenly divides data size.
diff --git a/go/vt/proto/vtctldata/vtctldata.pb.go b/go/vt/proto/vtctldata/vtctldata.pb.go
index cdfa274e47b..73dc7e1a179 100644
--- a/go/vt/proto/vtctldata/vtctldata.pb.go
+++ b/go/vt/proto/vtctldata/vtctldata.pb.go
@@ -1237,6 +1237,9 @@ type WorkflowOptions struct {
TenantId string `protobuf:"bytes,1,opt,name=tenant_id,json=tenantId,proto3" json:"tenant_id,omitempty"`
SourceKeyspaceAlias string `protobuf:"bytes,2,opt,name=source_keyspace_alias,json=sourceKeyspaceAlias,proto3" json:"source_keyspace_alias,omitempty"`
+ // Remove auto_increment clauses on tables when moving them to a sharded
+ // keyspace.
+ StripShardedAutoIncrement bool `protobuf:"varint,3,opt,name=strip_sharded_auto_increment,json=stripShardedAutoIncrement,proto3" json:"strip_sharded_auto_increment,omitempty"`
}
func (x *WorkflowOptions) Reset() {
@@ -1285,6 +1288,13 @@ func (x *WorkflowOptions) GetSourceKeyspaceAlias() string {
return ""
}
+func (x *WorkflowOptions) GetStripShardedAutoIncrement() bool {
+ if x != nil {
+ return x.StripShardedAutoIncrement
+ }
+ return false
+}
+
// TODO: comment the hell out of this.
type Workflow struct {
state protoimpl.MessageState
@@ -16343,1767 +16353,1836 @@ var file_vtctldata_proto_rawDesc = []byte{
0x61, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x25, 0x0a, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64,
0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74,
- 0x61, 0x2e, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x22, 0x62,
- 0x0a, 0x0f, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e,
- 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01,
- 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x32,
- 0x0a, 0x15, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63,
- 0x65, 0x5f, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x73,
- 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x41, 0x6c, 0x69,
- 0x61, 0x73, 0x22, 0xcf, 0x11, 0x0a, 0x08, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x12,
- 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e,
- 0x61, 0x6d, 0x65, 0x12, 0x3f, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x02, 0x20,
- 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e,
- 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61,
- 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x73, 0x6f,
- 0x75, 0x72, 0x63, 0x65, 0x12, 0x3f, 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x03,
- 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61,
- 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63,
- 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x74,
- 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x31, 0x0a, 0x15, 0x6d, 0x61, 0x78, 0x5f, 0x76, 0x5f, 0x72,
- 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6c, 0x61, 0x67, 0x18, 0x04,
- 0x20, 0x01, 0x28, 0x03, 0x52, 0x12, 0x6d, 0x61, 0x78, 0x56, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63,
- 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x61, 0x67, 0x12, 0x4a, 0x0a, 0x0d, 0x73, 0x68, 0x61, 0x72,
- 0x64, 0x5f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32,
- 0x25, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x57, 0x6f, 0x72, 0x6b,
- 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x53, 0x68, 0x61, 0x72, 0x64, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d,
- 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0c, 0x73, 0x68, 0x61, 0x72, 0x64, 0x53, 0x74, 0x72,
- 0x65, 0x61, 0x6d, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77,
- 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x77, 0x6f, 0x72,
- 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x54, 0x79, 0x70, 0x65, 0x12, 0x2a, 0x0a, 0x11, 0x77, 0x6f, 0x72,
- 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x5f, 0x73, 0x75, 0x62, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x07,
- 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x53, 0x75,
- 0x62, 0x54, 0x79, 0x70, 0x65, 0x12, 0x48, 0x0a, 0x21, 0x6d, 0x61, 0x78, 0x5f, 0x76, 0x5f, 0x72,
- 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73,
- 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6c, 0x61, 0x67, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03,
- 0x52, 0x1d, 0x6d, 0x61, 0x78, 0x56, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f,
- 0x6e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x61, 0x67, 0x12,
- 0x30, 0x0a, 0x14, 0x64, 0x65, 0x66, 0x65, 0x72, 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x61,
- 0x72, 0x79, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x64,
- 0x65, 0x66, 0x65, 0x72, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x4b, 0x65, 0x79,
- 0x73, 0x12, 0x34, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x0a, 0x20, 0x01,
- 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x57,
- 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x07,
- 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0x60, 0x0a, 0x11, 0x53, 0x68, 0x61, 0x72, 0x64,
- 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03,
- 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x35,
- 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e,
- 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c,
- 0x6f, 0x77, 0x2e, 0x53, 0x68, 0x61, 0x72, 0x64, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x05,
- 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x49, 0x0a, 0x13, 0x52, 0x65, 0x70,
- 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
- 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01,
- 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x16, 0x0a, 0x06,
- 0x73, 0x68, 0x61, 0x72, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x73, 0x68,
- 0x61, 0x72, 0x64, 0x73, 0x1a, 0xb9, 0x01, 0x0a, 0x0b, 0x53, 0x68, 0x61, 0x72, 0x64, 0x53, 0x74,
- 0x72, 0x65, 0x61, 0x6d, 0x12, 0x34, 0x0a, 0x07, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x18,
- 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74,
- 0x61, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61,
- 0x6d, 0x52, 0x07, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x12, 0x46, 0x0a, 0x0f, 0x74, 0x61,
- 0x62, 0x6c, 0x65, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x73, 0x18, 0x02, 0x20,
- 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x53,
- 0x68, 0x61, 0x72, 0x64, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72,
- 0x6f, 0x6c, 0x52, 0x0e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f,
- 0x6c, 0x73, 0x12, 0x2c, 0x0a, 0x12, 0x69, 0x73, 0x5f, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79,
- 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x6e, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10,
- 0x69, 0x73, 0x50, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x6e, 0x67,
- 0x1a, 0xc1, 0x0a, 0x0a, 0x06, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x12, 0x0e, 0x0a, 0x02, 0x69,
- 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x73,
- 0x68, 0x61, 0x72, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x68, 0x61, 0x72,
- 0x64, 0x12, 0x2d, 0x0a, 0x06, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28,
- 0x0b, 0x32, 0x15, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62,
- 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x06, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74,
- 0x12, 0x3d, 0x0a, 0x0d, 0x62, 0x69, 0x6e, 0x6c, 0x6f, 0x67, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63,
- 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x62, 0x69, 0x6e, 0x6c, 0x6f, 0x67,
- 0x64, 0x61, 0x74, 0x61, 0x2e, 0x42, 0x69, 0x6e, 0x6c, 0x6f, 0x67, 0x53, 0x6f, 0x75, 0x72, 0x63,
- 0x65, 0x52, 0x0c, 0x62, 0x69, 0x6e, 0x6c, 0x6f, 0x67, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12,
- 0x1a, 0x0a, 0x08, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28,
- 0x09, 0x52, 0x08, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x23, 0x0a, 0x0d, 0x73,
- 0x74, 0x6f, 0x70, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01,
- 0x28, 0x09, 0x52, 0x0c, 0x73, 0x74, 0x6f, 0x70, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e,
- 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52,
- 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x64, 0x62, 0x5f, 0x6e, 0x61, 0x6d,
- 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x62, 0x4e, 0x61, 0x6d, 0x65, 0x12,
- 0x41, 0x0a, 0x15, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74,
- 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c,
- 0x2e, 0x76, 0x74, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x52, 0x14, 0x74, 0x72,
- 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61,
- 0x6d, 0x70, 0x12, 0x2f, 0x0a, 0x0c, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74,
- 0x65, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x76, 0x74, 0x74, 0x69, 0x6d,
- 0x65, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x52, 0x0b, 0x74, 0x69, 0x6d, 0x65, 0x55, 0x70, 0x64, 0x61,
- 0x74, 0x65, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x0b,
- 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x45, 0x0a,
- 0x0b, 0x63, 0x6f, 0x70, 0x79, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x73, 0x18, 0x0c, 0x20, 0x03,
- 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x57,
- 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x2e, 0x43,
- 0x6f, 0x70, 0x79, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x0a, 0x63, 0x6f, 0x70, 0x79, 0x53, 0x74,
- 0x61, 0x74, 0x65, 0x73, 0x12, 0x32, 0x0a, 0x04, 0x6c, 0x6f, 0x67, 0x73, 0x18, 0x0d, 0x20, 0x03,
- 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x57,
- 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x2e, 0x4c,
- 0x6f, 0x67, 0x52, 0x04, 0x6c, 0x6f, 0x67, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6c, 0x6f, 0x67, 0x5f,
- 0x66, 0x65, 0x74, 0x63, 0x68, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x0e, 0x20, 0x01, 0x28,
- 0x09, 0x52, 0x0d, 0x6c, 0x6f, 0x67, 0x46, 0x65, 0x74, 0x63, 0x68, 0x45, 0x72, 0x72, 0x6f, 0x72,
- 0x12, 0x12, 0x0a, 0x04, 0x74, 0x61, 0x67, 0x73, 0x18, 0x0f, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04,
- 0x74, 0x61, 0x67, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x6f, 0x77, 0x73, 0x5f, 0x63, 0x6f, 0x70,
- 0x69, 0x65, 0x64, 0x18, 0x10, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x72, 0x6f, 0x77, 0x73, 0x43,
- 0x6f, 0x70, 0x69, 0x65, 0x64, 0x12, 0x55, 0x0a, 0x10, 0x74, 0x68, 0x72, 0x6f, 0x74, 0x74, 0x6c,
- 0x65, 0x72, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32,
- 0x2a, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x57, 0x6f, 0x72, 0x6b,
- 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x2e, 0x54, 0x68, 0x72, 0x6f,
- 0x74, 0x74, 0x6c, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x0f, 0x74, 0x68, 0x72,
- 0x6f, 0x74, 0x74, 0x6c, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x37, 0x0a, 0x0c,
- 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x12, 0x20, 0x03,
- 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61,
- 0x62, 0x6c, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0b, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74,
- 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x6c, 0x0a, 0x1b, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f,
- 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x65, 0x72,
- 0x65, 0x6e, 0x63, 0x65, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2c, 0x2e, 0x74, 0x61, 0x62,
- 0x6c, 0x65, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54,
- 0x61, 0x62, 0x6c, 0x65, 0x74, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72,
- 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x19, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74,
- 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65,
- 0x6e, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x65, 0x6c, 0x6c, 0x73, 0x18, 0x14, 0x20, 0x03,
- 0x28, 0x09, 0x52, 0x05, 0x63, 0x65, 0x6c, 0x6c, 0x73, 0x1a, 0x57, 0x0a, 0x09, 0x43, 0x6f, 0x70,
- 0x79, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x18,
- 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x17, 0x0a, 0x07,
- 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x70, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6c,
- 0x61, 0x73, 0x74, 0x50, 0x6b, 0x12, 0x1b, 0x0a, 0x09, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f,
- 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d,
- 0x49, 0x64, 0x1a, 0xe6, 0x01, 0x0a, 0x03, 0x4c, 0x6f, 0x67, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64,
- 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x73, 0x74,
- 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x73,
- 0x74, 0x72, 0x65, 0x61, 0x6d, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18,
- 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73,
- 0x74, 0x61, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74,
- 0x65, 0x12, 0x2b, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18,
- 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x76, 0x74, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x54,
- 0x69, 0x6d, 0x65, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x2b,
- 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x06, 0x20, 0x01,
- 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x76, 0x74, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x54, 0x69, 0x6d, 0x65,
- 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x6d,
- 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65,
- 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x08,
- 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x1a, 0x77, 0x0a, 0x0f, 0x54,
- 0x68, 0x72, 0x6f, 0x74, 0x74, 0x6c, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x2f,
- 0x0a, 0x13, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x68, 0x72, 0x6f,
- 0x74, 0x74, 0x6c, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x63, 0x6f, 0x6d,
- 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x54, 0x68, 0x72, 0x6f, 0x74, 0x74, 0x6c, 0x65, 0x64, 0x12,
- 0x33, 0x0a, 0x0e, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x74, 0x68, 0x72, 0x6f, 0x74, 0x74, 0x6c, 0x65,
- 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x76, 0x74, 0x74, 0x69, 0x6d, 0x65,
- 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x52, 0x0d, 0x74, 0x69, 0x6d, 0x65, 0x54, 0x68, 0x72, 0x6f, 0x74,
- 0x74, 0x6c, 0x65, 0x64, 0x22, 0x59, 0x0a, 0x12, 0x41, 0x64, 0x64, 0x43, 0x65, 0x6c, 0x6c, 0x49,
- 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61,
- 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x2f,
- 0x0a, 0x09, 0x63, 0x65, 0x6c, 0x6c, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28,
- 0x0b, 0x32, 0x12, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x43, 0x65, 0x6c,
- 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x08, 0x63, 0x65, 0x6c, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x22,
- 0x15, 0x0a, 0x13, 0x41, 0x64, 0x64, 0x43, 0x65, 0x6c, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65,
- 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x40, 0x0a, 0x14, 0x41, 0x64, 0x64, 0x43, 0x65, 0x6c,
- 0x6c, 0x73, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12,
- 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61,
- 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x65, 0x6c, 0x6c, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28,
- 0x09, 0x52, 0x05, 0x63, 0x65, 0x6c, 0x6c, 0x73, 0x22, 0x17, 0x0a, 0x15, 0x41, 0x64, 0x64, 0x43,
- 0x65, 0x6c, 0x6c, 0x73, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
- 0x65, 0x22, 0xbf, 0x01, 0x0a, 0x20, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x4b, 0x65, 0x79, 0x73, 0x70,
- 0x61, 0x63, 0x65, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52,
- 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x53, 0x0a, 0x16, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61,
- 0x63, 0x65, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x73,
- 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x76, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61,
- 0x2e, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67,
- 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x14, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52,
- 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x73,
- 0x6b, 0x69, 0x70, 0x5f, 0x72, 0x65, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28,
- 0x08, 0x52, 0x0b, 0x73, 0x6b, 0x69, 0x70, 0x52, 0x65, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x12, 0x23,
- 0x0a, 0x0d, 0x72, 0x65, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x63, 0x65, 0x6c, 0x6c, 0x73, 0x18,
- 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x72, 0x65, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x43, 0x65,
- 0x6c, 0x6c, 0x73, 0x22, 0x23, 0x0a, 0x21, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x4b, 0x65, 0x79, 0x73,
- 0x70, 0x61, 0x63, 0x65, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x73,
- 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x9e, 0x01, 0x0a, 0x18, 0x41, 0x70, 0x70,
- 0x6c, 0x79, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x65,
- 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3a, 0x0a, 0x0d, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67,
- 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x76,
- 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x75,
- 0x6c, 0x65, 0x73, 0x52, 0x0c, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65,
- 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x6b, 0x69, 0x70, 0x5f, 0x72, 0x65, 0x62, 0x75, 0x69, 0x6c,
- 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x73, 0x6b, 0x69, 0x70, 0x52, 0x65, 0x62,
- 0x75, 0x69, 0x6c, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x65, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x5f,
- 0x63, 0x65, 0x6c, 0x6c, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x72, 0x65, 0x62,
- 0x75, 0x69, 0x6c, 0x64, 0x43, 0x65, 0x6c, 0x6c, 0x73, 0x22, 0x1b, 0x0a, 0x19, 0x41, 0x70, 0x70,
- 0x6c, 0x79, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x65,
- 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xb3, 0x01, 0x0a, 0x1d, 0x41, 0x70, 0x70, 0x6c, 0x79,
- 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65,
- 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4a, 0x0a, 0x13, 0x73, 0x68, 0x61, 0x72,
- 0x64, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x18,
- 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x76, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x2e,
- 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65,
- 0x73, 0x52, 0x11, 0x73, 0x68, 0x61, 0x72, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x52,
- 0x75, 0x6c, 0x65, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x6b, 0x69, 0x70, 0x5f, 0x72, 0x65, 0x62,
- 0x75, 0x69, 0x6c, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x73, 0x6b, 0x69, 0x70,
- 0x52, 0x65, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x65, 0x62, 0x75, 0x69,
- 0x6c, 0x64, 0x5f, 0x63, 0x65, 0x6c, 0x6c, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c,
- 0x72, 0x65, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x43, 0x65, 0x6c, 0x6c, 0x73, 0x22, 0x20, 0x0a, 0x1e,
- 0x41, 0x70, 0x70, 0x6c, 0x79, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e,
- 0x67, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xce,
- 0x02, 0x0a, 0x12, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x65,
- 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63,
- 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63,
- 0x65, 0x12, 0x10, 0x0a, 0x03, 0x73, 0x71, 0x6c, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x03,
- 0x73, 0x71, 0x6c, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x64, 0x6c, 0x5f, 0x73, 0x74, 0x72, 0x61, 0x74,
- 0x65, 0x67, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x64, 0x6c, 0x53, 0x74,
- 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x12, 0x1b, 0x0a, 0x09, 0x75, 0x75, 0x69, 0x64, 0x5f, 0x6c,
- 0x69, 0x73, 0x74, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x75, 0x75, 0x69, 0x64, 0x4c,
- 0x69, 0x73, 0x74, 0x12, 0x2b, 0x0a, 0x11, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e,
- 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10,
- 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74,
- 0x12, 0x44, 0x0a, 0x15, 0x77, 0x61, 0x69, 0x74, 0x5f, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61,
- 0x73, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32,
- 0x10, 0x2e, 0x76, 0x74, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f,
- 0x6e, 0x52, 0x13, 0x77, 0x61, 0x69, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x73, 0x54,
- 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x2c, 0x0a, 0x09, 0x63, 0x61, 0x6c, 0x6c, 0x65, 0x72,
- 0x5f, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x76, 0x74, 0x72, 0x70,
- 0x63, 0x2e, 0x43, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x49, 0x44, 0x52, 0x08, 0x63, 0x61, 0x6c, 0x6c,
- 0x65, 0x72, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x62, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x73, 0x69,
- 0x7a, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x62, 0x61, 0x74, 0x63, 0x68, 0x53,
- 0x69, 0x7a, 0x65, 0x4a, 0x04, 0x08, 0x02, 0x10, 0x03, 0x4a, 0x04, 0x08, 0x08, 0x10, 0x09, 0x22,
- 0xe8, 0x01, 0x0a, 0x13, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52,
- 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x75, 0x75, 0x69, 0x64, 0x5f,
- 0x6c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x75, 0x75, 0x69, 0x64,
- 0x4c, 0x69, 0x73, 0x74, 0x12, 0x6c, 0x0a, 0x16, 0x72, 0x6f, 0x77, 0x73, 0x5f, 0x61, 0x66, 0x66,
- 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x5f, 0x73, 0x68, 0x61, 0x72, 0x64, 0x18, 0x02,
- 0x20, 0x03, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61,
- 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x65, 0x73, 0x70,
- 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x52, 0x6f, 0x77, 0x73, 0x41, 0x66, 0x66, 0x65, 0x63, 0x74, 0x65,
- 0x64, 0x42, 0x79, 0x53, 0x68, 0x61, 0x72, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x13, 0x72,
- 0x6f, 0x77, 0x73, 0x41, 0x66, 0x66, 0x65, 0x63, 0x74, 0x65, 0x64, 0x42, 0x79, 0x53, 0x68, 0x61,
- 0x72, 0x64, 0x1a, 0x46, 0x0a, 0x18, 0x52, 0x6f, 0x77, 0x73, 0x41, 0x66, 0x66, 0x65, 0x63, 0x74,
- 0x65, 0x64, 0x42, 0x79, 0x53, 0x68, 0x61, 0x72, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10,
+ 0x61, 0x2e, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x22, 0xa3,
+ 0x01, 0x0a, 0x0f, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x4f, 0x70, 0x74, 0x69, 0x6f,
+ 0x6e, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18,
+ 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x12,
+ 0x32, 0x0a, 0x15, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61,
+ 0x63, 0x65, 0x5f, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13,
+ 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x41, 0x6c,
+ 0x69, 0x61, 0x73, 0x12, 0x3f, 0x0a, 0x1c, 0x73, 0x74, 0x72, 0x69, 0x70, 0x5f, 0x73, 0x68, 0x61,
+ 0x72, 0x64, 0x65, 0x64, 0x5f, 0x61, 0x75, 0x74, 0x6f, 0x5f, 0x69, 0x6e, 0x63, 0x72, 0x65, 0x6d,
+ 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x19, 0x73, 0x74, 0x72, 0x69, 0x70,
+ 0x53, 0x68, 0x61, 0x72, 0x64, 0x65, 0x64, 0x41, 0x75, 0x74, 0x6f, 0x49, 0x6e, 0x63, 0x72, 0x65,
+ 0x6d, 0x65, 0x6e, 0x74, 0x22, 0xcf, 0x11, 0x0a, 0x08, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f,
+ 0x77, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
+ 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x3f, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18,
+ 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74,
+ 0x61, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x52, 0x65, 0x70, 0x6c, 0x69,
+ 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x06,
+ 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x3f, 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74,
+ 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61,
+ 0x74, 0x61, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x52, 0x65, 0x70, 0x6c,
+ 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52,
+ 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x31, 0x0a, 0x15, 0x6d, 0x61, 0x78, 0x5f, 0x76,
+ 0x5f, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6c, 0x61, 0x67,
+ 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x12, 0x6d, 0x61, 0x78, 0x56, 0x52, 0x65, 0x70, 0x6c,
+ 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x61, 0x67, 0x12, 0x4a, 0x0a, 0x0d, 0x73, 0x68,
+ 0x61, 0x72, 0x64, 0x5f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28,
+ 0x0b, 0x32, 0x25, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x57, 0x6f,
+ 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x53, 0x68, 0x61, 0x72, 0x64, 0x53, 0x74, 0x72, 0x65,
+ 0x61, 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0c, 0x73, 0x68, 0x61, 0x72, 0x64, 0x53,
+ 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c,
+ 0x6f, 0x77, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x77,
+ 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x54, 0x79, 0x70, 0x65, 0x12, 0x2a, 0x0a, 0x11, 0x77,
+ 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x5f, 0x73, 0x75, 0x62, 0x5f, 0x74, 0x79, 0x70, 0x65,
+ 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77,
+ 0x53, 0x75, 0x62, 0x54, 0x79, 0x70, 0x65, 0x12, 0x48, 0x0a, 0x21, 0x6d, 0x61, 0x78, 0x5f, 0x76,
+ 0x5f, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x72, 0x61,
+ 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6c, 0x61, 0x67, 0x18, 0x08, 0x20, 0x01,
+ 0x28, 0x03, 0x52, 0x1d, 0x6d, 0x61, 0x78, 0x56, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74,
+ 0x69, 0x6f, 0x6e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x61,
+ 0x67, 0x12, 0x30, 0x0a, 0x14, 0x64, 0x65, 0x66, 0x65, 0x72, 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e,
+ 0x64, 0x61, 0x72, 0x79, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52,
+ 0x12, 0x64, 0x65, 0x66, 0x65, 0x72, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x4b,
+ 0x65, 0x79, 0x73, 0x12, 0x34, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x0a,
+ 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61,
+ 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73,
+ 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0x60, 0x0a, 0x11, 0x53, 0x68, 0x61,
+ 0x72, 0x64, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10,
0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79,
- 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52,
- 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xdb, 0x01, 0x0a, 0x13, 0x41,
- 0x70, 0x70, 0x6c, 0x79, 0x56, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65,
- 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01,
- 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x21,
- 0x0a, 0x0c, 0x73, 0x6b, 0x69, 0x70, 0x5f, 0x72, 0x65, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x18, 0x02,
- 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x73, 0x6b, 0x69, 0x70, 0x52, 0x65, 0x62, 0x75, 0x69, 0x6c,
- 0x64, 0x12, 0x17, 0x0a, 0x07, 0x64, 0x72, 0x79, 0x5f, 0x72, 0x75, 0x6e, 0x18, 0x03, 0x20, 0x01,
- 0x28, 0x08, 0x52, 0x06, 0x64, 0x72, 0x79, 0x52, 0x75, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x65,
- 0x6c, 0x6c, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x63, 0x65, 0x6c, 0x6c, 0x73,
- 0x12, 0x2c, 0x0a, 0x08, 0x76, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x18, 0x05, 0x20, 0x01,
- 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x76, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x2e, 0x4b, 0x65, 0x79,
- 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x07, 0x76, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x12, 0x10,
- 0x0a, 0x03, 0x73, 0x71, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x73, 0x71, 0x6c,
- 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08,
- 0x52, 0x06, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x22, 0xca, 0x02, 0x0a, 0x14, 0x41, 0x70, 0x70,
+ 0x12, 0x35, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32,
+ 0x1f, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x57, 0x6f, 0x72, 0x6b,
+ 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x53, 0x68, 0x61, 0x72, 0x64, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d,
+ 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x49, 0x0a, 0x13, 0x52,
+ 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69,
+ 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01,
+ 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x16,
+ 0x0a, 0x06, 0x73, 0x68, 0x61, 0x72, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06,
+ 0x73, 0x68, 0x61, 0x72, 0x64, 0x73, 0x1a, 0xb9, 0x01, 0x0a, 0x0b, 0x53, 0x68, 0x61, 0x72, 0x64,
+ 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x12, 0x34, 0x0a, 0x07, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d,
+ 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64,
+ 0x61, 0x74, 0x61, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x53, 0x74, 0x72,
+ 0x65, 0x61, 0x6d, 0x52, 0x07, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x12, 0x46, 0x0a, 0x0f,
+ 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x73, 0x18,
+ 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61,
+ 0x2e, 0x53, 0x68, 0x61, 0x72, 0x64, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x43, 0x6f, 0x6e,
+ 0x74, 0x72, 0x6f, 0x6c, 0x52, 0x0e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74,
+ 0x72, 0x6f, 0x6c, 0x73, 0x12, 0x2c, 0x0a, 0x12, 0x69, 0x73, 0x5f, 0x70, 0x72, 0x69, 0x6d, 0x61,
+ 0x72, 0x79, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x6e, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08,
+ 0x52, 0x10, 0x69, 0x73, 0x50, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69,
+ 0x6e, 0x67, 0x1a, 0xc1, 0x0a, 0x0a, 0x06, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x12, 0x0e, 0x0a,
+ 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x12, 0x14, 0x0a,
+ 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x68,
+ 0x61, 0x72, 0x64, 0x12, 0x2d, 0x0a, 0x06, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x18, 0x03, 0x20,
+ 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54,
+ 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x06, 0x74, 0x61, 0x62, 0x6c,
+ 0x65, 0x74, 0x12, 0x3d, 0x0a, 0x0d, 0x62, 0x69, 0x6e, 0x6c, 0x6f, 0x67, 0x5f, 0x73, 0x6f, 0x75,
+ 0x72, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x62, 0x69, 0x6e, 0x6c,
+ 0x6f, 0x67, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x42, 0x69, 0x6e, 0x6c, 0x6f, 0x67, 0x53, 0x6f, 0x75,
+ 0x72, 0x63, 0x65, 0x52, 0x0c, 0x62, 0x69, 0x6e, 0x6c, 0x6f, 0x67, 0x53, 0x6f, 0x75, 0x72, 0x63,
+ 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20,
+ 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x23, 0x0a,
+ 0x0d, 0x73, 0x74, 0x6f, 0x70, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06,
+ 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x74, 0x6f, 0x70, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69,
+ 0x6f, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28,
+ 0x09, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x64, 0x62, 0x5f, 0x6e,
+ 0x61, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x62, 0x4e, 0x61, 0x6d,
+ 0x65, 0x12, 0x41, 0x0a, 0x15, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e,
+ 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b,
+ 0x32, 0x0c, 0x2e, 0x76, 0x74, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x52, 0x14,
+ 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x73,
+ 0x74, 0x61, 0x6d, 0x70, 0x12, 0x2f, 0x0a, 0x0c, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x75, 0x70, 0x64,
+ 0x61, 0x74, 0x65, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x76, 0x74, 0x74,
+ 0x69, 0x6d, 0x65, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x52, 0x0b, 0x74, 0x69, 0x6d, 0x65, 0x55, 0x70,
+ 0x64, 0x61, 0x74, 0x65, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65,
+ 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12,
+ 0x45, 0x0a, 0x0b, 0x63, 0x6f, 0x70, 0x79, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x73, 0x18, 0x0c,
+ 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61,
+ 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d,
+ 0x2e, 0x43, 0x6f, 0x70, 0x79, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x0a, 0x63, 0x6f, 0x70, 0x79,
+ 0x53, 0x74, 0x61, 0x74, 0x65, 0x73, 0x12, 0x32, 0x0a, 0x04, 0x6c, 0x6f, 0x67, 0x73, 0x18, 0x0d,
+ 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61,
+ 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d,
+ 0x2e, 0x4c, 0x6f, 0x67, 0x52, 0x04, 0x6c, 0x6f, 0x67, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6c, 0x6f,
+ 0x67, 0x5f, 0x66, 0x65, 0x74, 0x63, 0x68, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x0e, 0x20,
+ 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6c, 0x6f, 0x67, 0x46, 0x65, 0x74, 0x63, 0x68, 0x45, 0x72, 0x72,
+ 0x6f, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x61, 0x67, 0x73, 0x18, 0x0f, 0x20, 0x03, 0x28, 0x09,
+ 0x52, 0x04, 0x74, 0x61, 0x67, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x6f, 0x77, 0x73, 0x5f, 0x63,
+ 0x6f, 0x70, 0x69, 0x65, 0x64, 0x18, 0x10, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x72, 0x6f, 0x77,
+ 0x73, 0x43, 0x6f, 0x70, 0x69, 0x65, 0x64, 0x12, 0x55, 0x0a, 0x10, 0x74, 0x68, 0x72, 0x6f, 0x74,
+ 0x74, 0x6c, 0x65, 0x72, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x11, 0x20, 0x01, 0x28,
+ 0x0b, 0x32, 0x2a, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x57, 0x6f,
+ 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x2e, 0x54, 0x68,
+ 0x72, 0x6f, 0x74, 0x74, 0x6c, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x0f, 0x74,
+ 0x68, 0x72, 0x6f, 0x74, 0x74, 0x6c, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x37,
+ 0x0a, 0x0c, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x12,
+ 0x20, 0x03, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e,
+ 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0b, 0x74, 0x61, 0x62, 0x6c,
+ 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x6c, 0x0a, 0x1b, 0x74, 0x61, 0x62, 0x6c, 0x65,
+ 0x74, 0x5f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x72, 0x65, 0x66,
+ 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2c, 0x2e, 0x74,
+ 0x61, 0x62, 0x6c, 0x65, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x64, 0x61, 0x74, 0x61,
+ 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e,
+ 0x50, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x19, 0x74, 0x61, 0x62, 0x6c,
+ 0x65, 0x74, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x65, 0x66, 0x65,
+ 0x72, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x65, 0x6c, 0x6c, 0x73, 0x18, 0x14,
+ 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x63, 0x65, 0x6c, 0x6c, 0x73, 0x1a, 0x57, 0x0a, 0x09, 0x43,
+ 0x6f, 0x70, 0x79, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x61, 0x62, 0x6c,
+ 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x17,
+ 0x0a, 0x07, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x70, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
+ 0x06, 0x6c, 0x61, 0x73, 0x74, 0x50, 0x6b, 0x12, 0x1b, 0x0a, 0x09, 0x73, 0x74, 0x72, 0x65, 0x61,
+ 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x73, 0x74, 0x72, 0x65,
+ 0x61, 0x6d, 0x49, 0x64, 0x1a, 0xe6, 0x01, 0x0a, 0x03, 0x4c, 0x6f, 0x67, 0x12, 0x0e, 0x0a, 0x02,
+ 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1b, 0x0a, 0x09,
+ 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52,
+ 0x08, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70,
+ 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a,
+ 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x74,
+ 0x61, 0x74, 0x65, 0x12, 0x2b, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61,
+ 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x76, 0x74, 0x74, 0x69, 0x6d, 0x65,
+ 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74,
+ 0x12, 0x2b, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x06,
+ 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x76, 0x74, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x54, 0x69,
+ 0x6d, 0x65, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x18, 0x0a,
+ 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07,
+ 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74,
+ 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x1a, 0x77, 0x0a,
+ 0x0f, 0x54, 0x68, 0x72, 0x6f, 0x74, 0x74, 0x6c, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73,
+ 0x12, 0x2f, 0x0a, 0x13, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x68,
+ 0x72, 0x6f, 0x74, 0x74, 0x6c, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x63,
+ 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x54, 0x68, 0x72, 0x6f, 0x74, 0x74, 0x6c, 0x65,
+ 0x64, 0x12, 0x33, 0x0a, 0x0e, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x74, 0x68, 0x72, 0x6f, 0x74, 0x74,
+ 0x6c, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x76, 0x74, 0x74, 0x69,
+ 0x6d, 0x65, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x52, 0x0d, 0x74, 0x69, 0x6d, 0x65, 0x54, 0x68, 0x72,
+ 0x6f, 0x74, 0x74, 0x6c, 0x65, 0x64, 0x22, 0x59, 0x0a, 0x12, 0x41, 0x64, 0x64, 0x43, 0x65, 0x6c,
+ 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04,
+ 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65,
+ 0x12, 0x2f, 0x0a, 0x09, 0x63, 0x65, 0x6c, 0x6c, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x02, 0x20,
+ 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x43,
+ 0x65, 0x6c, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x08, 0x63, 0x65, 0x6c, 0x6c, 0x49, 0x6e, 0x66,
+ 0x6f, 0x22, 0x15, 0x0a, 0x13, 0x41, 0x64, 0x64, 0x43, 0x65, 0x6c, 0x6c, 0x49, 0x6e, 0x66, 0x6f,
+ 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x40, 0x0a, 0x14, 0x41, 0x64, 0x64, 0x43,
+ 0x65, 0x6c, 0x6c, 0x73, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
+ 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04,
+ 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x65, 0x6c, 0x6c, 0x73, 0x18, 0x02, 0x20,
+ 0x03, 0x28, 0x09, 0x52, 0x05, 0x63, 0x65, 0x6c, 0x6c, 0x73, 0x22, 0x17, 0x0a, 0x15, 0x41, 0x64,
+ 0x64, 0x43, 0x65, 0x6c, 0x6c, 0x73, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f,
+ 0x6e, 0x73, 0x65, 0x22, 0xbf, 0x01, 0x0a, 0x20, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x4b, 0x65, 0x79,
+ 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65,
+ 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x53, 0x0a, 0x16, 0x6b, 0x65, 0x79, 0x73,
+ 0x70, 0x61, 0x63, 0x65, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x75, 0x6c,
+ 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x76, 0x73, 0x63, 0x68, 0x65,
+ 0x6d, 0x61, 0x2e, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x6f, 0x75, 0x74, 0x69,
+ 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x14, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63,
+ 0x65, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x21, 0x0a,
+ 0x0c, 0x73, 0x6b, 0x69, 0x70, 0x5f, 0x72, 0x65, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x18, 0x02, 0x20,
+ 0x01, 0x28, 0x08, 0x52, 0x0b, 0x73, 0x6b, 0x69, 0x70, 0x52, 0x65, 0x62, 0x75, 0x69, 0x6c, 0x64,
+ 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x65, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x63, 0x65, 0x6c, 0x6c,
+ 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x72, 0x65, 0x62, 0x75, 0x69, 0x6c, 0x64,
+ 0x43, 0x65, 0x6c, 0x6c, 0x73, 0x22, 0x23, 0x0a, 0x21, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x4b, 0x65,
+ 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c,
+ 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x9e, 0x01, 0x0a, 0x18, 0x41,
+ 0x70, 0x70, 0x6c, 0x79, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x73,
+ 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3a, 0x0a, 0x0d, 0x72, 0x6f, 0x75, 0x74, 0x69,
+ 0x6e, 0x67, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15,
+ 0x2e, 0x76, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67,
+ 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x0c, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x75,
+ 0x6c, 0x65, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x6b, 0x69, 0x70, 0x5f, 0x72, 0x65, 0x62, 0x75,
+ 0x69, 0x6c, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x73, 0x6b, 0x69, 0x70, 0x52,
+ 0x65, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x65, 0x62, 0x75, 0x69, 0x6c,
+ 0x64, 0x5f, 0x63, 0x65, 0x6c, 0x6c, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x72,
+ 0x65, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x43, 0x65, 0x6c, 0x6c, 0x73, 0x22, 0x1b, 0x0a, 0x19, 0x41,
+ 0x70, 0x70, 0x6c, 0x79, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x73,
+ 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xb3, 0x01, 0x0a, 0x1d, 0x41, 0x70, 0x70,
+ 0x6c, 0x79, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x75,
+ 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4a, 0x0a, 0x13, 0x73, 0x68,
+ 0x61, 0x72, 0x64, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x75, 0x6c, 0x65,
+ 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x76, 0x73, 0x63, 0x68, 0x65, 0x6d,
+ 0x61, 0x2e, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x75,
+ 0x6c, 0x65, 0x73, 0x52, 0x11, 0x73, 0x68, 0x61, 0x72, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e,
+ 0x67, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x6b, 0x69, 0x70, 0x5f, 0x72,
+ 0x65, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x73, 0x6b,
+ 0x69, 0x70, 0x52, 0x65, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x65, 0x62,
+ 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x63, 0x65, 0x6c, 0x6c, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09,
+ 0x52, 0x0c, 0x72, 0x65, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x43, 0x65, 0x6c, 0x6c, 0x73, 0x22, 0x20,
+ 0x0a, 0x1e, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x6f, 0x75, 0x74,
+ 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
+ 0x22, 0xce, 0x02, 0x0a, 0x12, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61,
+ 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70,
+ 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70,
+ 0x61, 0x63, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x73, 0x71, 0x6c, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09,
+ 0x52, 0x03, 0x73, 0x71, 0x6c, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x64, 0x6c, 0x5f, 0x73, 0x74, 0x72,
+ 0x61, 0x74, 0x65, 0x67, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x64, 0x6c,
+ 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x12, 0x1b, 0x0a, 0x09, 0x75, 0x75, 0x69, 0x64,
+ 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x75, 0x75, 0x69,
+ 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x2b, 0x0a, 0x11, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x69,
+ 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09,
+ 0x52, 0x10, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x65,
+ 0x78, 0x74, 0x12, 0x44, 0x0a, 0x15, 0x77, 0x61, 0x69, 0x74, 0x5f, 0x72, 0x65, 0x70, 0x6c, 0x69,
+ 0x63, 0x61, 0x73, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28,
+ 0x0b, 0x32, 0x10, 0x2e, 0x76, 0x74, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74,
+ 0x69, 0x6f, 0x6e, 0x52, 0x13, 0x77, 0x61, 0x69, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61,
+ 0x73, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x2c, 0x0a, 0x09, 0x63, 0x61, 0x6c, 0x6c,
+ 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x76, 0x74,
+ 0x72, 0x70, 0x63, 0x2e, 0x43, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x49, 0x44, 0x52, 0x08, 0x63, 0x61,
+ 0x6c, 0x6c, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x62, 0x61, 0x74, 0x63, 0x68, 0x5f,
+ 0x73, 0x69, 0x7a, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x62, 0x61, 0x74, 0x63,
+ 0x68, 0x53, 0x69, 0x7a, 0x65, 0x4a, 0x04, 0x08, 0x02, 0x10, 0x03, 0x4a, 0x04, 0x08, 0x08, 0x10,
+ 0x09, 0x22, 0xe8, 0x01, 0x0a, 0x13, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x53, 0x63, 0x68, 0x65, 0x6d,
+ 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x75, 0x75, 0x69,
+ 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x75, 0x75,
+ 0x69, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x6c, 0x0a, 0x16, 0x72, 0x6f, 0x77, 0x73, 0x5f, 0x61,
+ 0x66, 0x66, 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x5f, 0x73, 0x68, 0x61, 0x72, 0x64,
+ 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61,
+ 0x74, 0x61, 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x65,
+ 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x52, 0x6f, 0x77, 0x73, 0x41, 0x66, 0x66, 0x65, 0x63,
+ 0x74, 0x65, 0x64, 0x42, 0x79, 0x53, 0x68, 0x61, 0x72, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52,
+ 0x13, 0x72, 0x6f, 0x77, 0x73, 0x41, 0x66, 0x66, 0x65, 0x63, 0x74, 0x65, 0x64, 0x42, 0x79, 0x53,
+ 0x68, 0x61, 0x72, 0x64, 0x1a, 0x46, 0x0a, 0x18, 0x52, 0x6f, 0x77, 0x73, 0x41, 0x66, 0x66, 0x65,
+ 0x63, 0x74, 0x65, 0x64, 0x42, 0x79, 0x53, 0x68, 0x61, 0x72, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79,
+ 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b,
+ 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
+ 0x04, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xdb, 0x01, 0x0a,
+ 0x13, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x56, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x65, 0x71,
+ 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65,
+ 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65,
+ 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x6b, 0x69, 0x70, 0x5f, 0x72, 0x65, 0x62, 0x75, 0x69, 0x6c, 0x64,
+ 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x73, 0x6b, 0x69, 0x70, 0x52, 0x65, 0x62, 0x75,
+ 0x69, 0x6c, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x64, 0x72, 0x79, 0x5f, 0x72, 0x75, 0x6e, 0x18, 0x03,
+ 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x64, 0x72, 0x79, 0x52, 0x75, 0x6e, 0x12, 0x14, 0x0a, 0x05,
+ 0x63, 0x65, 0x6c, 0x6c, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x63, 0x65, 0x6c,
+ 0x6c, 0x73, 0x12, 0x2c, 0x0a, 0x08, 0x76, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x18, 0x05,
+ 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x76, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x2e, 0x4b,
+ 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x07, 0x76, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61,
+ 0x12, 0x10, 0x0a, 0x03, 0x73, 0x71, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x73,
+ 0x71, 0x6c, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x18, 0x07, 0x20, 0x01,
+ 0x28, 0x08, 0x52, 0x06, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x22, 0xca, 0x02, 0x0a, 0x14, 0x41,
+ 0x70, 0x70, 0x6c, 0x79, 0x56, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f,
+ 0x6e, 0x73, 0x65, 0x12, 0x2c, 0x0a, 0x08, 0x76, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x18,
+ 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x76, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x2e,
+ 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x07, 0x76, 0x53, 0x63, 0x68, 0x65, 0x6d,
+ 0x61, 0x12, 0x6c, 0x0a, 0x15, 0x75, 0x6e, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x5f, 0x76, 0x69, 0x6e,
+ 0x64, 0x65, 0x78, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b,
+ 0x32, 0x38, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x41, 0x70, 0x70,
0x6c, 0x79, 0x56, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
- 0x65, 0x12, 0x2c, 0x0a, 0x08, 0x76, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x18, 0x01, 0x20,
- 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x76, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x2e, 0x4b, 0x65,
- 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x07, 0x76, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x12,
- 0x6c, 0x0a, 0x15, 0x75, 0x6e, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x5f, 0x76, 0x69, 0x6e, 0x64, 0x65,
- 0x78, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x38,
- 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x79,
- 0x56, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e,
- 0x55, 0x6e, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x56, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x50, 0x61, 0x72,
- 0x61, 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x13, 0x75, 0x6e, 0x6b, 0x6e, 0x6f, 0x77,
- 0x6e, 0x56, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x1a, 0x71, 0x0a,
- 0x18, 0x55, 0x6e, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x56, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x50, 0x61,
- 0x72, 0x61, 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79,
- 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x3f, 0x0a, 0x05, 0x76,
- 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x76, 0x74, 0x63,
- 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x56, 0x53, 0x63, 0x68,
- 0x65, 0x6d, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x50, 0x61, 0x72, 0x61,
- 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01,
- 0x1a, 0x23, 0x0a, 0x09, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x16, 0x0a,
- 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x70,
- 0x61, 0x72, 0x61, 0x6d, 0x73, 0x22, 0xe5, 0x01, 0x0a, 0x0d, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70,
+ 0x65, 0x2e, 0x55, 0x6e, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x56, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x50,
+ 0x61, 0x72, 0x61, 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x13, 0x75, 0x6e, 0x6b, 0x6e,
+ 0x6f, 0x77, 0x6e, 0x56, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x1a,
+ 0x71, 0x0a, 0x18, 0x55, 0x6e, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x56, 0x69, 0x6e, 0x64, 0x65, 0x78,
+ 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b,
+ 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x3f, 0x0a,
+ 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x76,
+ 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x56, 0x53,
+ 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x50, 0x61,
+ 0x72, 0x61, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02,
+ 0x38, 0x01, 0x1a, 0x23, 0x0a, 0x09, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x12,
+ 0x16, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52,
+ 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x22, 0xe5, 0x01, 0x0a, 0x0d, 0x42, 0x61, 0x63, 0x6b,
+ 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x0c, 0x74, 0x61, 0x62,
+ 0x6c, 0x65, 0x74, 0x5f, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32,
+ 0x15, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65,
+ 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x0b, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c,
+ 0x69, 0x61, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x70, 0x72, 0x69,
+ 0x6d, 0x61, 0x72, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x61, 0x6c, 0x6c, 0x6f,
+ 0x77, 0x50, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x12, 0x20, 0x0a, 0x0b, 0x63, 0x6f, 0x6e, 0x63,
+ 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x63,
+ 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x12, 0x30, 0x0a, 0x14, 0x69, 0x6e,
+ 0x63, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x6c, 0x5f, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x70,
+ 0x6f, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x69, 0x6e, 0x63, 0x72, 0x65, 0x6d,
+ 0x65, 0x6e, 0x74, 0x61, 0x6c, 0x46, 0x72, 0x6f, 0x6d, 0x50, 0x6f, 0x73, 0x12, 0x21, 0x0a, 0x0c,
+ 0x75, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x5f, 0x73, 0x61, 0x66, 0x65, 0x18, 0x05, 0x20, 0x01,
+ 0x28, 0x08, 0x52, 0x0b, 0x75, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x53, 0x61, 0x66, 0x65, 0x22,
+ 0xa2, 0x01, 0x0a, 0x0e, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
+ 0x73, 0x65, 0x12, 0x38, 0x0a, 0x0c, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f, 0x61, 0x6c, 0x69,
+ 0x61, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64,
+ 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52,
+ 0x0b, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x12, 0x1a, 0x0a, 0x08,
+ 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08,
+ 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x68, 0x61, 0x72,
+ 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x12, 0x24,
+ 0x0a, 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e,
+ 0x6c, 0x6f, 0x67, 0x75, 0x74, 0x69, 0x6c, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x05, 0x65,
+ 0x76, 0x65, 0x6e, 0x74, 0x22, 0xe2, 0x01, 0x0a, 0x12, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x53,
+ 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6b,
+ 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b,
+ 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64,
+ 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x12, 0x23, 0x0a,
+ 0x0d, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x18, 0x03,
+ 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x50, 0x72, 0x69, 0x6d, 0x61,
+ 0x72, 0x79, 0x12, 0x20, 0x0a, 0x0b, 0x63, 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63,
+ 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x63, 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72,
+ 0x65, 0x6e, 0x63, 0x79, 0x12, 0x21, 0x0a, 0x0c, 0x75, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x5f,
+ 0x73, 0x61, 0x66, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x75, 0x70, 0x67, 0x72,
+ 0x61, 0x64, 0x65, 0x53, 0x61, 0x66, 0x65, 0x12, 0x30, 0x0a, 0x14, 0x69, 0x6e, 0x63, 0x72, 0x65,
+ 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x6c, 0x5f, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x70, 0x6f, 0x73, 0x18,
+ 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x69, 0x6e, 0x63, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74,
+ 0x61, 0x6c, 0x46, 0x72, 0x6f, 0x6d, 0x50, 0x6f, 0x73, 0x22, 0x4e, 0x0a, 0x1c, 0x43, 0x61, 0x6e,
+ 0x63, 0x65, 0x6c, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x69,
+ 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79,
+ 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79,
+ 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x02, 0x20,
+ 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x22, 0xdf, 0x01, 0x0a, 0x1d, 0x43, 0x61,
+ 0x6e, 0x63, 0x65, 0x6c, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74,
+ 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x76, 0x0a, 0x16, 0x72,
+ 0x6f, 0x77, 0x73, 0x5f, 0x61, 0x66, 0x66, 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x5f,
+ 0x73, 0x68, 0x61, 0x72, 0x64, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x41, 0x2e, 0x76, 0x74,
+ 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x53, 0x63,
+ 0x68, 0x65, 0x6d, 0x61, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73,
+ 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x52, 0x6f, 0x77, 0x73, 0x41, 0x66, 0x66, 0x65, 0x63, 0x74,
+ 0x65, 0x64, 0x42, 0x79, 0x53, 0x68, 0x61, 0x72, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x13,
+ 0x72, 0x6f, 0x77, 0x73, 0x41, 0x66, 0x66, 0x65, 0x63, 0x74, 0x65, 0x64, 0x42, 0x79, 0x53, 0x68,
+ 0x61, 0x72, 0x64, 0x1a, 0x46, 0x0a, 0x18, 0x52, 0x6f, 0x77, 0x73, 0x41, 0x66, 0x66, 0x65, 0x63,
+ 0x74, 0x65, 0x64, 0x42, 0x79, 0x53, 0x68, 0x61, 0x72, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12,
+ 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65,
+ 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04,
+ 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x9b, 0x01, 0x0a, 0x17,
+ 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65,
0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x0c, 0x74, 0x61, 0x62, 0x6c, 0x65,
0x74, 0x5f, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e,
0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41,
0x6c, 0x69, 0x61, 0x73, 0x52, 0x0b, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61,
- 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x70, 0x72, 0x69, 0x6d, 0x61,
- 0x72, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x50,
- 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x12, 0x20, 0x0a, 0x0b, 0x63, 0x6f, 0x6e, 0x63, 0x75, 0x72,
- 0x72, 0x65, 0x6e, 0x63, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x63, 0x6f, 0x6e,
- 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x12, 0x30, 0x0a, 0x14, 0x69, 0x6e, 0x63, 0x72,
- 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x6c, 0x5f, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x70, 0x6f, 0x73,
- 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x69, 0x6e, 0x63, 0x72, 0x65, 0x6d, 0x65, 0x6e,
- 0x74, 0x61, 0x6c, 0x46, 0x72, 0x6f, 0x6d, 0x50, 0x6f, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x75, 0x70,
- 0x67, 0x72, 0x61, 0x64, 0x65, 0x5f, 0x73, 0x61, 0x66, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08,
- 0x52, 0x0b, 0x75, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x53, 0x61, 0x66, 0x65, 0x22, 0xa2, 0x01,
- 0x0a, 0x0e, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
- 0x12, 0x38, 0x0a, 0x0c, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f, 0x61, 0x6c, 0x69, 0x61, 0x73,
- 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74,
- 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x0b, 0x74,
- 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65,
- 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65,
- 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x18,
- 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x12, 0x24, 0x0a, 0x05,
- 0x65, 0x76, 0x65, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x6c, 0x6f,
- 0x67, 0x75, 0x74, 0x69, 0x6c, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x05, 0x65, 0x76, 0x65,
- 0x6e, 0x74, 0x22, 0xe2, 0x01, 0x0a, 0x12, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x53, 0x68, 0x61,
- 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79,
- 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79,
- 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x18, 0x02,
- 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x61,
- 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x18, 0x03, 0x20, 0x01,
- 0x28, 0x08, 0x52, 0x0c, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x50, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79,
- 0x12, 0x20, 0x0a, 0x0b, 0x63, 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x18,
- 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x63, 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e,
- 0x63, 0x79, 0x12, 0x21, 0x0a, 0x0c, 0x75, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x5f, 0x73, 0x61,
- 0x66, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x75, 0x70, 0x67, 0x72, 0x61, 0x64,
- 0x65, 0x53, 0x61, 0x66, 0x65, 0x12, 0x30, 0x0a, 0x14, 0x69, 0x6e, 0x63, 0x72, 0x65, 0x6d, 0x65,
- 0x6e, 0x74, 0x61, 0x6c, 0x5f, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x70, 0x6f, 0x73, 0x18, 0x06, 0x20,
- 0x01, 0x28, 0x09, 0x52, 0x12, 0x69, 0x6e, 0x63, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x6c,
- 0x46, 0x72, 0x6f, 0x6d, 0x50, 0x6f, 0x73, 0x22, 0x4e, 0x0a, 0x1c, 0x43, 0x61, 0x6e, 0x63, 0x65,
- 0x6c, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e,
- 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70,
- 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70,
- 0x61, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28,
- 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x22, 0xdf, 0x01, 0x0a, 0x1d, 0x43, 0x61, 0x6e, 0x63,
- 0x65, 0x6c, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f,
- 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x76, 0x0a, 0x16, 0x72, 0x6f, 0x77,
- 0x73, 0x5f, 0x61, 0x66, 0x66, 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x5f, 0x73, 0x68,
- 0x61, 0x72, 0x64, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x41, 0x2e, 0x76, 0x74, 0x63, 0x74,
- 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x53, 0x63, 0x68, 0x65,
- 0x6d, 0x61, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f,
- 0x6e, 0x73, 0x65, 0x2e, 0x52, 0x6f, 0x77, 0x73, 0x41, 0x66, 0x66, 0x65, 0x63, 0x74, 0x65, 0x64,
- 0x42, 0x79, 0x53, 0x68, 0x61, 0x72, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x13, 0x72, 0x6f,
- 0x77, 0x73, 0x41, 0x66, 0x66, 0x65, 0x63, 0x74, 0x65, 0x64, 0x42, 0x79, 0x53, 0x68, 0x61, 0x72,
- 0x64, 0x1a, 0x46, 0x0a, 0x18, 0x52, 0x6f, 0x77, 0x73, 0x41, 0x66, 0x66, 0x65, 0x63, 0x74, 0x65,
- 0x64, 0x42, 0x79, 0x53, 0x68, 0x61, 0x72, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a,
- 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12,
- 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05,
- 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x9b, 0x01, 0x0a, 0x17, 0x43, 0x68,
+ 0x73, 0x12, 0x2d, 0x0a, 0x07, 0x64, 0x62, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01,
+ 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61,
+ 0x62, 0x6c, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x06, 0x64, 0x62, 0x54, 0x79, 0x70, 0x65,
+ 0x12, 0x17, 0x0a, 0x07, 0x64, 0x72, 0x79, 0x5f, 0x72, 0x75, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28,
+ 0x08, 0x52, 0x06, 0x64, 0x72, 0x79, 0x52, 0x75, 0x6e, 0x22, 0xa6, 0x01, 0x0a, 0x18, 0x43, 0x68,
0x61, 0x6e, 0x67, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x65,
- 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x0c, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f,
- 0x61, 0x6c, 0x69, 0x61, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x74, 0x6f,
- 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69,
- 0x61, 0x73, 0x52, 0x0b, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x12,
- 0x2d, 0x0a, 0x07, 0x64, 0x62, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e,
- 0x32, 0x14, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c,
- 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x06, 0x64, 0x62, 0x54, 0x79, 0x70, 0x65, 0x12, 0x17,
- 0x0a, 0x07, 0x64, 0x72, 0x79, 0x5f, 0x72, 0x75, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52,
- 0x06, 0x64, 0x72, 0x79, 0x52, 0x75, 0x6e, 0x22, 0xa6, 0x01, 0x0a, 0x18, 0x43, 0x68, 0x61, 0x6e,
- 0x67, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x65, 0x73, 0x70,
- 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x35, 0x0a, 0x0d, 0x62, 0x65, 0x66, 0x6f, 0x72, 0x65, 0x5f, 0x74,
- 0x61, 0x62, 0x6c, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x74, 0x6f,
- 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x52, 0x0c, 0x62,
- 0x65, 0x66, 0x6f, 0x72, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x12, 0x33, 0x0a, 0x0c, 0x61,
- 0x66, 0x74, 0x65, 0x72, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28,
- 0x0b, 0x32, 0x10, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62,
- 0x6c, 0x65, 0x74, 0x52, 0x0b, 0x61, 0x66, 0x74, 0x65, 0x72, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74,
- 0x12, 0x1e, 0x0a, 0x0b, 0x77, 0x61, 0x73, 0x5f, 0x64, 0x72, 0x79, 0x5f, 0x72, 0x75, 0x6e, 0x18,
- 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x77, 0x61, 0x73, 0x44, 0x72, 0x79, 0x52, 0x75, 0x6e,
- 0x22, 0x4f, 0x0a, 0x1d, 0x43, 0x6c, 0x65, 0x61, 0x6e, 0x75, 0x70, 0x53, 0x63, 0x68, 0x65, 0x6d,
- 0x61, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
+ 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x35, 0x0a, 0x0d, 0x62, 0x65, 0x66, 0x6f, 0x72, 0x65,
+ 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e,
+ 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x52,
+ 0x0c, 0x62, 0x65, 0x66, 0x6f, 0x72, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x12, 0x33, 0x0a,
+ 0x0c, 0x61, 0x66, 0x74, 0x65, 0x72, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x18, 0x02, 0x20,
+ 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54,
+ 0x61, 0x62, 0x6c, 0x65, 0x74, 0x52, 0x0b, 0x61, 0x66, 0x74, 0x65, 0x72, 0x54, 0x61, 0x62, 0x6c,
+ 0x65, 0x74, 0x12, 0x1e, 0x0a, 0x0b, 0x77, 0x61, 0x73, 0x5f, 0x64, 0x72, 0x79, 0x5f, 0x72, 0x75,
+ 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x77, 0x61, 0x73, 0x44, 0x72, 0x79, 0x52,
+ 0x75, 0x6e, 0x22, 0x4f, 0x0a, 0x1d, 0x43, 0x6c, 0x65, 0x61, 0x6e, 0x75, 0x70, 0x53, 0x63, 0x68,
+ 0x65, 0x6d, 0x61, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75,
+ 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18,
+ 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12,
+ 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75,
+ 0x75, 0x69, 0x64, 0x22, 0xe1, 0x01, 0x0a, 0x1e, 0x43, 0x6c, 0x65, 0x61, 0x6e, 0x75, 0x70, 0x53,
+ 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65,
+ 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x77, 0x0a, 0x16, 0x72, 0x6f, 0x77, 0x73, 0x5f, 0x61,
+ 0x66, 0x66, 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x5f, 0x73, 0x68, 0x61, 0x72, 0x64,
+ 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x42, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61,
+ 0x74, 0x61, 0x2e, 0x43, 0x6c, 0x65, 0x61, 0x6e, 0x75, 0x70, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61,
+ 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
+ 0x65, 0x2e, 0x52, 0x6f, 0x77, 0x73, 0x41, 0x66, 0x66, 0x65, 0x63, 0x74, 0x65, 0x64, 0x42, 0x79,
+ 0x53, 0x68, 0x61, 0x72, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x13, 0x72, 0x6f, 0x77, 0x73,
+ 0x41, 0x66, 0x66, 0x65, 0x63, 0x74, 0x65, 0x64, 0x42, 0x79, 0x53, 0x68, 0x61, 0x72, 0x64, 0x1a,
+ 0x46, 0x0a, 0x18, 0x52, 0x6f, 0x77, 0x73, 0x41, 0x66, 0x66, 0x65, 0x63, 0x74, 0x65, 0x64, 0x42,
+ 0x79, 0x53, 0x68, 0x61, 0x72, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b,
+ 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a,
+ 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x76, 0x61,
+ 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x50, 0x0a, 0x1e, 0x43, 0x6f, 0x6d, 0x70, 0x6c,
+ 0x65, 0x74, 0x65, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x69,
+ 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79,
+ 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79,
+ 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x02, 0x20,
+ 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x22, 0xe3, 0x01, 0x0a, 0x1f, 0x43, 0x6f,
+ 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4d, 0x69, 0x67, 0x72,
+ 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x78, 0x0a,
+ 0x16, 0x72, 0x6f, 0x77, 0x73, 0x5f, 0x61, 0x66, 0x66, 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x62,
+ 0x79, 0x5f, 0x73, 0x68, 0x61, 0x72, 0x64, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x43, 0x2e,
+ 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65,
+ 0x74, 0x65, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f,
+ 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x52, 0x6f, 0x77, 0x73, 0x41, 0x66,
+ 0x66, 0x65, 0x63, 0x74, 0x65, 0x64, 0x42, 0x79, 0x53, 0x68, 0x61, 0x72, 0x64, 0x45, 0x6e, 0x74,
+ 0x72, 0x79, 0x52, 0x13, 0x72, 0x6f, 0x77, 0x73, 0x41, 0x66, 0x66, 0x65, 0x63, 0x74, 0x65, 0x64,
+ 0x42, 0x79, 0x53, 0x68, 0x61, 0x72, 0x64, 0x1a, 0x46, 0x0a, 0x18, 0x52, 0x6f, 0x77, 0x73, 0x41,
+ 0x66, 0x66, 0x65, 0x63, 0x74, 0x65, 0x64, 0x42, 0x79, 0x53, 0x68, 0x61, 0x72, 0x64, 0x45, 0x6e,
+ 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
+ 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02,
+ 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22,
+ 0xdd, 0x02, 0x0a, 0x15, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61,
+ 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d,
+ 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a,
+ 0x05, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x66, 0x6f,
+ 0x72, 0x63, 0x65, 0x12, 0x2f, 0x0a, 0x14, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x65, 0x6d, 0x70,
+ 0x74, 0x79, 0x5f, 0x76, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28,
+ 0x08, 0x52, 0x11, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x56, 0x53, 0x63,
+ 0x68, 0x65, 0x6d, 0x61, 0x12, 0x2a, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x07, 0x20, 0x01,
+ 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x4b, 0x65,
+ 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65,
+ 0x12, 0x23, 0x0a, 0x0d, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63,
+ 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x62, 0x61, 0x73, 0x65, 0x4b, 0x65, 0x79,
+ 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x31, 0x0a, 0x0d, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f,
+ 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x76,
+ 0x74, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x52, 0x0c, 0x73, 0x6e, 0x61, 0x70,
+ 0x73, 0x68, 0x6f, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x2b, 0x0a, 0x11, 0x64, 0x75, 0x72, 0x61,
+ 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x0a, 0x20,
+ 0x01, 0x28, 0x09, 0x52, 0x10, 0x64, 0x75, 0x72, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x50,
+ 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x26, 0x0a, 0x0f, 0x73, 0x69, 0x64, 0x65, 0x63, 0x61, 0x72,
+ 0x5f, 0x64, 0x62, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d,
+ 0x73, 0x69, 0x64, 0x65, 0x63, 0x61, 0x72, 0x44, 0x62, 0x4e, 0x61, 0x6d, 0x65, 0x4a, 0x04, 0x08,
+ 0x04, 0x10, 0x05, 0x4a, 0x04, 0x08, 0x05, 0x10, 0x06, 0x4a, 0x04, 0x08, 0x06, 0x10, 0x07, 0x22,
+ 0x49, 0x0a, 0x16, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63,
+ 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2f, 0x0a, 0x08, 0x6b, 0x65, 0x79,
+ 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x76, 0x74,
+ 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65,
+ 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x22, 0x8c, 0x01, 0x0a, 0x12, 0x43,
+ 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20,
- 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x12, 0x0a,
- 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69,
- 0x64, 0x22, 0xe1, 0x01, 0x0a, 0x1e, 0x43, 0x6c, 0x65, 0x61, 0x6e, 0x75, 0x70, 0x53, 0x63, 0x68,
- 0x65, 0x6d, 0x61, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70,
- 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x77, 0x0a, 0x16, 0x72, 0x6f, 0x77, 0x73, 0x5f, 0x61, 0x66, 0x66,
- 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x5f, 0x73, 0x68, 0x61, 0x72, 0x64, 0x18, 0x01,
- 0x20, 0x03, 0x28, 0x0b, 0x32, 0x42, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61,
- 0x2e, 0x43, 0x6c, 0x65, 0x61, 0x6e, 0x75, 0x70, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4d, 0x69,
- 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e,
- 0x52, 0x6f, 0x77, 0x73, 0x41, 0x66, 0x66, 0x65, 0x63, 0x74, 0x65, 0x64, 0x42, 0x79, 0x53, 0x68,
- 0x61, 0x72, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x13, 0x72, 0x6f, 0x77, 0x73, 0x41, 0x66,
- 0x66, 0x65, 0x63, 0x74, 0x65, 0x64, 0x42, 0x79, 0x53, 0x68, 0x61, 0x72, 0x64, 0x1a, 0x46, 0x0a,
- 0x18, 0x52, 0x6f, 0x77, 0x73, 0x41, 0x66, 0x66, 0x65, 0x63, 0x74, 0x65, 0x64, 0x42, 0x79, 0x53,
- 0x68, 0x61, 0x72, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79,
- 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76,
- 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75,
- 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x50, 0x0a, 0x1e, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74,
- 0x65, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e,
- 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70,
- 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70,
- 0x61, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28,
- 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x22, 0xe3, 0x01, 0x0a, 0x1f, 0x43, 0x6f, 0x6d, 0x70,
- 0x6c, 0x65, 0x74, 0x65, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74,
- 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x78, 0x0a, 0x16, 0x72,
- 0x6f, 0x77, 0x73, 0x5f, 0x61, 0x66, 0x66, 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x5f,
- 0x73, 0x68, 0x61, 0x72, 0x64, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x43, 0x2e, 0x76, 0x74,
- 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65,
- 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52,
- 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x52, 0x6f, 0x77, 0x73, 0x41, 0x66, 0x66, 0x65,
- 0x63, 0x74, 0x65, 0x64, 0x42, 0x79, 0x53, 0x68, 0x61, 0x72, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79,
- 0x52, 0x13, 0x72, 0x6f, 0x77, 0x73, 0x41, 0x66, 0x66, 0x65, 0x63, 0x74, 0x65, 0x64, 0x42, 0x79,
- 0x53, 0x68, 0x61, 0x72, 0x64, 0x1a, 0x46, 0x0a, 0x18, 0x52, 0x6f, 0x77, 0x73, 0x41, 0x66, 0x66,
- 0x65, 0x63, 0x74, 0x65, 0x64, 0x42, 0x79, 0x53, 0x68, 0x61, 0x72, 0x64, 0x45, 0x6e, 0x74, 0x72,
- 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03,
- 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01,
- 0x28, 0x04, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xdd, 0x02,
- 0x0a, 0x15, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65,
- 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18,
- 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x66,
- 0x6f, 0x72, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x66, 0x6f, 0x72, 0x63,
- 0x65, 0x12, 0x2f, 0x0a, 0x14, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x65, 0x6d, 0x70, 0x74, 0x79,
- 0x5f, 0x76, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52,
- 0x11, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x56, 0x53, 0x63, 0x68, 0x65,
- 0x6d, 0x61, 0x12, 0x2a, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0e,
- 0x32, 0x16, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x4b, 0x65, 0x79, 0x73,
- 0x70, 0x61, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x23,
- 0x0a, 0x0d, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18,
- 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x62, 0x61, 0x73, 0x65, 0x4b, 0x65, 0x79, 0x73, 0x70,
- 0x61, 0x63, 0x65, 0x12, 0x31, 0x0a, 0x0d, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x5f,
- 0x74, 0x69, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x76, 0x74, 0x74,
- 0x69, 0x6d, 0x65, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x52, 0x0c, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68,
- 0x6f, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x2b, 0x0a, 0x11, 0x64, 0x75, 0x72, 0x61, 0x62, 0x69,
- 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x0a, 0x20, 0x01, 0x28,
- 0x09, 0x52, 0x10, 0x64, 0x75, 0x72, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c,
- 0x69, 0x63, 0x79, 0x12, 0x26, 0x0a, 0x0f, 0x73, 0x69, 0x64, 0x65, 0x63, 0x61, 0x72, 0x5f, 0x64,
- 0x62, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x73, 0x69,
- 0x64, 0x65, 0x63, 0x61, 0x72, 0x44, 0x62, 0x4e, 0x61, 0x6d, 0x65, 0x4a, 0x04, 0x08, 0x04, 0x10,
- 0x05, 0x4a, 0x04, 0x08, 0x05, 0x10, 0x06, 0x4a, 0x04, 0x08, 0x06, 0x10, 0x07, 0x22, 0x49, 0x0a,
- 0x16, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52,
- 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2f, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70,
- 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x76, 0x74, 0x63, 0x74,
- 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x08,
- 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x22, 0x8c, 0x01, 0x0a, 0x12, 0x43, 0x72, 0x65,
- 0x61, 0x74, 0x65, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
- 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28,
- 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x73,
- 0x68, 0x61, 0x72, 0x64, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
- 0x09, 0x73, 0x68, 0x61, 0x72, 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x6f,
- 0x72, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x66, 0x6f, 0x72, 0x63, 0x65,
- 0x12, 0x25, 0x0a, 0x0e, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x70, 0x61, 0x72, 0x65,
- 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64,
- 0x65, 0x50, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x22, 0xa0, 0x01, 0x0a, 0x13, 0x43, 0x72, 0x65, 0x61,
- 0x74, 0x65, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12,
- 0x2f, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28,
- 0x0b, 0x32, 0x13, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x4b, 0x65,
- 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65,
- 0x12, 0x26, 0x0a, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32,
+ 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x1d, 0x0a,
+ 0x0a, 0x73, 0x68, 0x61, 0x72, 0x64, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
+ 0x09, 0x52, 0x09, 0x73, 0x68, 0x61, 0x72, 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05,
+ 0x66, 0x6f, 0x72, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x66, 0x6f, 0x72,
+ 0x63, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x70, 0x61,
+ 0x72, 0x65, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x69, 0x6e, 0x63, 0x6c,
+ 0x75, 0x64, 0x65, 0x50, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x22, 0xa0, 0x01, 0x0a, 0x13, 0x43, 0x72,
+ 0x65, 0x61, 0x74, 0x65, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
+ 0x65, 0x12, 0x2f, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20,
+ 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e,
+ 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61,
+ 0x63, 0x65, 0x12, 0x26, 0x0a, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28,
+ 0x0b, 0x32, 0x10, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x53, 0x68,
+ 0x61, 0x72, 0x64, 0x52, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x12, 0x30, 0x0a, 0x14, 0x73, 0x68,
+ 0x61, 0x72, 0x64, 0x5f, 0x61, 0x6c, 0x72, 0x65, 0x61, 0x64, 0x79, 0x5f, 0x65, 0x78, 0x69, 0x73,
+ 0x74, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x73, 0x68, 0x61, 0x72, 0x64, 0x41,
+ 0x6c, 0x72, 0x65, 0x61, 0x64, 0x79, 0x45, 0x78, 0x69, 0x73, 0x74, 0x73, 0x22, 0x41, 0x0a, 0x15,
+ 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, 0x65, 0x6c, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65,
+ 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20,
+ 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x6f, 0x72,
+ 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x22,
+ 0x18, 0x0a, 0x16, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, 0x65, 0x6c, 0x6c, 0x49, 0x6e, 0x66,
+ 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2d, 0x0a, 0x17, 0x44, 0x65, 0x6c,
+ 0x65, 0x74, 0x65, 0x43, 0x65, 0x6c, 0x6c, 0x73, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x65, 0x71,
+ 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01,
+ 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x1a, 0x0a, 0x18, 0x44, 0x65, 0x6c, 0x65,
+ 0x74, 0x65, 0x43, 0x65, 0x6c, 0x6c, 0x73, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x65, 0x73, 0x70,
+ 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x67, 0x0a, 0x15, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4b, 0x65,
+ 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a,
+ 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
+ 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x72, 0x65, 0x63,
+ 0x75, 0x72, 0x73, 0x69, 0x76, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x72, 0x65,
+ 0x63, 0x75, 0x72, 0x73, 0x69, 0x76, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x6f, 0x72, 0x63, 0x65,
+ 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x22, 0x18, 0x0a,
+ 0x16, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52,
+ 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x9b, 0x01, 0x0a, 0x13, 0x44, 0x65, 0x6c, 0x65,
+ 0x74, 0x65, 0x53, 0x68, 0x61, 0x72, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
+ 0x28, 0x0a, 0x06, 0x73, 0x68, 0x61, 0x72, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32,
0x10, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x53, 0x68, 0x61, 0x72,
- 0x64, 0x52, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x12, 0x30, 0x0a, 0x14, 0x73, 0x68, 0x61, 0x72,
- 0x64, 0x5f, 0x61, 0x6c, 0x72, 0x65, 0x61, 0x64, 0x79, 0x5f, 0x65, 0x78, 0x69, 0x73, 0x74, 0x73,
- 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x73, 0x68, 0x61, 0x72, 0x64, 0x41, 0x6c, 0x72,
- 0x65, 0x61, 0x64, 0x79, 0x45, 0x78, 0x69, 0x73, 0x74, 0x73, 0x22, 0x41, 0x0a, 0x15, 0x44, 0x65,
- 0x6c, 0x65, 0x74, 0x65, 0x43, 0x65, 0x6c, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75,
- 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28,
- 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x6f, 0x72, 0x63, 0x65,
- 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x22, 0x18, 0x0a,
- 0x16, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, 0x65, 0x6c, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52,
- 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2d, 0x0a, 0x17, 0x44, 0x65, 0x6c, 0x65, 0x74,
- 0x65, 0x43, 0x65, 0x6c, 0x6c, 0x73, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65,
- 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
- 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x1a, 0x0a, 0x18, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65,
- 0x43, 0x65, 0x6c, 0x6c, 0x73, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
- 0x73, 0x65, 0x22, 0x67, 0x0a, 0x15, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x73,
+ 0x64, 0x52, 0x06, 0x73, 0x68, 0x61, 0x72, 0x64, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x72, 0x65, 0x63,
+ 0x75, 0x72, 0x73, 0x69, 0x76, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x72, 0x65,
+ 0x63, 0x75, 0x72, 0x73, 0x69, 0x76, 0x65, 0x12, 0x26, 0x0a, 0x0f, 0x65, 0x76, 0x65, 0x6e, 0x5f,
+ 0x69, 0x66, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x6e, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08,
+ 0x52, 0x0d, 0x65, 0x76, 0x65, 0x6e, 0x49, 0x66, 0x53, 0x65, 0x72, 0x76, 0x69, 0x6e, 0x67, 0x12,
+ 0x14, 0x0a, 0x05, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05,
+ 0x66, 0x6f, 0x72, 0x63, 0x65, 0x22, 0x16, 0x0a, 0x14, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53,
+ 0x68, 0x61, 0x72, 0x64, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2d, 0x0a,
+ 0x17, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x72, 0x76, 0x56, 0x53, 0x63, 0x68, 0x65, 0x6d,
+ 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x65, 0x6c, 0x6c,
+ 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x65, 0x6c, 0x6c, 0x22, 0x1a, 0x0a, 0x18,
+ 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x72, 0x76, 0x56, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61,
+ 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x79, 0x0a, 0x14, 0x44, 0x65, 0x6c, 0x65,
+ 0x74, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
+ 0x12, 0x3c, 0x0a, 0x0e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f, 0x61, 0x6c, 0x69, 0x61, 0x73,
+ 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64,
+ 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52,
+ 0x0d, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x65, 0x73, 0x12, 0x23,
+ 0x0a, 0x0d, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x18,
+ 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x50, 0x72, 0x69, 0x6d,
+ 0x61, 0x72, 0x79, 0x22, 0x17, 0x0a, 0x15, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x61, 0x62,
+ 0x6c, 0x65, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x81, 0x03, 0x0a,
+ 0x1d, 0x45, 0x6d, 0x65, 0x72, 0x67, 0x65, 0x6e, 0x63, 0x79, 0x52, 0x65, 0x70, 0x61, 0x72, 0x65,
+ 0x6e, 0x74, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a,
+ 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
+ 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x68,
+ 0x61, 0x72, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64,
+ 0x12, 0x36, 0x0a, 0x0b, 0x6e, 0x65, 0x77, 0x5f, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x18,
+ 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61,
+ 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x0a, 0x6e, 0x65,
+ 0x77, 0x50, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x12, 0x3e, 0x0a, 0x0f, 0x69, 0x67, 0x6e, 0x6f,
+ 0x72, 0x65, 0x5f, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28,
+ 0x0b, 0x32, 0x15, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62,
+ 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x0e, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65,
+ 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x73, 0x12, 0x44, 0x0a, 0x15, 0x77, 0x61, 0x69, 0x74,
+ 0x5f, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x73, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75,
+ 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x76, 0x74, 0x74, 0x69, 0x6d, 0x65,
+ 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x13, 0x77, 0x61, 0x69, 0x74, 0x52,
+ 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x73, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x3f,
+ 0x0a, 0x1c, 0x70, 0x72, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x72, 0x6f, 0x73, 0x73, 0x5f,
+ 0x63, 0x65, 0x6c, 0x6c, 0x5f, 0x70, 0x72, 0x6f, 0x6d, 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06,
+ 0x20, 0x01, 0x28, 0x08, 0x52, 0x19, 0x70, 0x72, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x43, 0x72, 0x6f,
+ 0x73, 0x73, 0x43, 0x65, 0x6c, 0x6c, 0x50, 0x72, 0x6f, 0x6d, 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x12,
+ 0x2f, 0x0a, 0x14, 0x77, 0x61, 0x69, 0x74, 0x5f, 0x66, 0x6f, 0x72, 0x5f, 0x61, 0x6c, 0x6c, 0x5f,
+ 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x77,
+ 0x61, 0x69, 0x74, 0x46, 0x6f, 0x72, 0x41, 0x6c, 0x6c, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x73,
+ 0x22, 0xbc, 0x01, 0x0a, 0x1e, 0x45, 0x6d, 0x65, 0x72, 0x67, 0x65, 0x6e, 0x63, 0x79, 0x52, 0x65,
+ 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f,
+ 0x6e, 0x73, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18,
+ 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12,
+ 0x14, 0x0a, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05,
+ 0x73, 0x68, 0x61, 0x72, 0x64, 0x12, 0x40, 0x0a, 0x10, 0x70, 0x72, 0x6f, 0x6d, 0x6f, 0x74, 0x65,
+ 0x64, 0x5f, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32,
+ 0x15, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65,
+ 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x0f, 0x70, 0x72, 0x6f, 0x6d, 0x6f, 0x74, 0x65, 0x64,
+ 0x50, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x12, 0x26, 0x0a, 0x06, 0x65, 0x76, 0x65, 0x6e, 0x74,
+ 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x6c, 0x6f, 0x67, 0x75, 0x74, 0x69,
+ 0x6c, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x06, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x22,
+ 0xa0, 0x01, 0x0a, 0x18, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x46, 0x65, 0x74, 0x63, 0x68,
+ 0x41, 0x73, 0x41, 0x70, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x0c,
+ 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x18, 0x01, 0x20, 0x01,
+ 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61,
+ 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x0b, 0x74, 0x61, 0x62, 0x6c, 0x65,
+ 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18,
+ 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x12, 0x19, 0x0a, 0x08,
+ 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x6f, 0x77, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07,
+ 0x6d, 0x61, 0x78, 0x52, 0x6f, 0x77, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x75, 0x73, 0x65, 0x5f, 0x70,
+ 0x6f, 0x6f, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x75, 0x73, 0x65, 0x50, 0x6f,
+ 0x6f, 0x6c, 0x22, 0x47, 0x0a, 0x19, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x46, 0x65, 0x74,
+ 0x63, 0x68, 0x41, 0x73, 0x41, 0x70, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12,
+ 0x2a, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32,
+ 0x12, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73,
+ 0x75, 0x6c, 0x74, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0xd3, 0x01, 0x0a, 0x18,
+ 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x46, 0x65, 0x74, 0x63, 0x68, 0x41, 0x73, 0x44, 0x42,
+ 0x41, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x0c, 0x74, 0x61, 0x62, 0x6c,
+ 0x65, 0x74, 0x5f, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15,
+ 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74,
+ 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x0b, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69,
+ 0x61, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28,
+ 0x09, 0x52, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x12, 0x19, 0x0a, 0x08, 0x6d, 0x61, 0x78, 0x5f,
+ 0x72, 0x6f, 0x77, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x6d, 0x61, 0x78, 0x52,
+ 0x6f, 0x77, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x62,
+ 0x69, 0x6e, 0x6c, 0x6f, 0x67, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x64, 0x69,
+ 0x73, 0x61, 0x62, 0x6c, 0x65, 0x42, 0x69, 0x6e, 0x6c, 0x6f, 0x67, 0x73, 0x12, 0x23, 0x0a, 0x0d,
+ 0x72, 0x65, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x18, 0x05, 0x20,
+ 0x01, 0x28, 0x08, 0x52, 0x0c, 0x72, 0x65, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x63, 0x68, 0x65, 0x6d,
+ 0x61, 0x22, 0x47, 0x0a, 0x19, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x46, 0x65, 0x74, 0x63,
+ 0x68, 0x41, 0x73, 0x44, 0x42, 0x41, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2a,
+ 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12,
+ 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x75,
+ 0x6c, 0x74, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0xa5, 0x01, 0x0a, 0x12, 0x45,
+ 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x48, 0x6f, 0x6f, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
+ 0x74, 0x12, 0x38, 0x0a, 0x0c, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f, 0x61, 0x6c, 0x69, 0x61,
+ 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61,
+ 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x0b,
+ 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x12, 0x55, 0x0a, 0x13, 0x74,
+ 0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f, 0x68, 0x6f, 0x6f, 0x6b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65,
+ 0x73, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x74, 0x61, 0x62, 0x6c, 0x65,
+ 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x45, 0x78, 0x65,
+ 0x63, 0x75, 0x74, 0x65, 0x48, 0x6f, 0x6f, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52,
+ 0x11, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x48, 0x6f, 0x6f, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65,
+ 0x73, 0x74, 0x22, 0x5e, 0x0a, 0x13, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x48, 0x6f, 0x6f,
+ 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x47, 0x0a, 0x0b, 0x68, 0x6f, 0x6f,
+ 0x6b, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26,
+ 0x2e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x64, 0x61,
+ 0x74, 0x61, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x48, 0x6f, 0x6f, 0x6b, 0x52, 0x65,
+ 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x0a, 0x68, 0x6f, 0x6f, 0x6b, 0x52, 0x65, 0x73, 0x75,
+ 0x6c, 0x74, 0x22, 0xd4, 0x01, 0x0a, 0x1d, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x4d, 0x75,
+ 0x6c, 0x74, 0x69, 0x46, 0x65, 0x74, 0x63, 0x68, 0x41, 0x73, 0x44, 0x42, 0x41, 0x52, 0x65, 0x71,
+ 0x75, 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x0c, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f, 0x61,
+ 0x6c, 0x69, 0x61, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x74, 0x6f, 0x70,
+ 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61,
+ 0x73, 0x52, 0x0b, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x12, 0x10,
+ 0x0a, 0x03, 0x73, 0x71, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x73, 0x71, 0x6c,
+ 0x12, 0x19, 0x0a, 0x08, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x6f, 0x77, 0x73, 0x18, 0x03, 0x20, 0x01,
+ 0x28, 0x03, 0x52, 0x07, 0x6d, 0x61, 0x78, 0x52, 0x6f, 0x77, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x64,
+ 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x62, 0x69, 0x6e, 0x6c, 0x6f, 0x67, 0x73, 0x18, 0x04,
+ 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x42, 0x69, 0x6e,
+ 0x6c, 0x6f, 0x67, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x65, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x73,
+ 0x63, 0x68, 0x65, 0x6d, 0x61, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x72, 0x65, 0x6c,
+ 0x6f, 0x61, 0x64, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x22, 0x4e, 0x0a, 0x1e, 0x45, 0x78, 0x65,
+ 0x63, 0x75, 0x74, 0x65, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x46, 0x65, 0x74, 0x63, 0x68, 0x41, 0x73,
+ 0x44, 0x42, 0x41, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2c, 0x0a, 0x07, 0x72,
+ 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x71,
+ 0x75, 0x65, 0x72, 0x79, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74,
+ 0x52, 0x07, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x22, 0x3c, 0x0a, 0x1e, 0x46, 0x69, 0x6e,
+ 0x64, 0x41, 0x6c, 0x6c, 0x53, 0x68, 0x61, 0x72, 0x64, 0x73, 0x49, 0x6e, 0x4b, 0x65, 0x79, 0x73,
0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6b,
0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b,
- 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x72, 0x65, 0x63, 0x75, 0x72,
- 0x73, 0x69, 0x76, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x72, 0x65, 0x63, 0x75,
- 0x72, 0x73, 0x69, 0x76, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x18, 0x03,
- 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x22, 0x18, 0x0a, 0x16, 0x44,
- 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x73,
- 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x9b, 0x01, 0x0a, 0x13, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65,
- 0x53, 0x68, 0x61, 0x72, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x28, 0x0a,
- 0x06, 0x73, 0x68, 0x61, 0x72, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e,
- 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52,
- 0x06, 0x73, 0x68, 0x61, 0x72, 0x64, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x72, 0x65, 0x63, 0x75, 0x72,
- 0x73, 0x69, 0x76, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x72, 0x65, 0x63, 0x75,
- 0x72, 0x73, 0x69, 0x76, 0x65, 0x12, 0x26, 0x0a, 0x0f, 0x65, 0x76, 0x65, 0x6e, 0x5f, 0x69, 0x66,
- 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x6e, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d,
- 0x65, 0x76, 0x65, 0x6e, 0x49, 0x66, 0x53, 0x65, 0x72, 0x76, 0x69, 0x6e, 0x67, 0x12, 0x14, 0x0a,
- 0x05, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x66, 0x6f,
- 0x72, 0x63, 0x65, 0x22, 0x16, 0x0a, 0x14, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x68, 0x61,
- 0x72, 0x64, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2d, 0x0a, 0x17, 0x44,
- 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x72, 0x76, 0x56, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52,
- 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x65, 0x6c, 0x6c, 0x18, 0x01,
- 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x65, 0x6c, 0x6c, 0x22, 0x1a, 0x0a, 0x18, 0x44, 0x65,
- 0x6c, 0x65, 0x74, 0x65, 0x53, 0x72, 0x76, 0x56, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x65,
- 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x79, 0x0a, 0x14, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65,
- 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3c,
- 0x0a, 0x0e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x65, 0x73,
- 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74,
- 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x0d, 0x74,
- 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x65, 0x73, 0x12, 0x23, 0x0a, 0x0d,
- 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x18, 0x02, 0x20,
- 0x01, 0x28, 0x08, 0x52, 0x0c, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x50, 0x72, 0x69, 0x6d, 0x61, 0x72,
- 0x79, 0x22, 0x17, 0x0a, 0x15, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65,
- 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x81, 0x03, 0x0a, 0x1d, 0x45,
- 0x6d, 0x65, 0x72, 0x67, 0x65, 0x6e, 0x63, 0x79, 0x52, 0x65, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74,
- 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08,
- 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08,
- 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x68, 0x61, 0x72,
- 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x12, 0x36,
- 0x0a, 0x0b, 0x6e, 0x65, 0x77, 0x5f, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x18, 0x03, 0x20,
+ 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x22, 0xbe, 0x01, 0x0a, 0x1f, 0x46, 0x69, 0x6e, 0x64,
+ 0x41, 0x6c, 0x6c, 0x53, 0x68, 0x61, 0x72, 0x64, 0x73, 0x49, 0x6e, 0x4b, 0x65, 0x79, 0x73, 0x70,
+ 0x61, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4e, 0x0a, 0x06, 0x73,
+ 0x68, 0x61, 0x72, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x76, 0x74,
+ 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x53,
+ 0x68, 0x61, 0x72, 0x64, 0x73, 0x49, 0x6e, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52,
+ 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x53, 0x68, 0x61, 0x72, 0x64, 0x73, 0x45, 0x6e,
+ 0x74, 0x72, 0x79, 0x52, 0x06, 0x73, 0x68, 0x61, 0x72, 0x64, 0x73, 0x1a, 0x4b, 0x0a, 0x0b, 0x53,
+ 0x68, 0x61, 0x72, 0x64, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65,
+ 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x26, 0x0a, 0x05,
+ 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x76, 0x74,
+ 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x05, 0x76,
+ 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x54, 0x0a, 0x22, 0x46, 0x6f, 0x72, 0x63,
+ 0x65, 0x43, 0x75, 0x74, 0x4f, 0x76, 0x65, 0x72, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4d, 0x69,
+ 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a,
+ 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
+ 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75,
+ 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x22, 0xeb,
+ 0x01, 0x0a, 0x23, 0x46, 0x6f, 0x72, 0x63, 0x65, 0x43, 0x75, 0x74, 0x4f, 0x76, 0x65, 0x72, 0x53,
+ 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65,
+ 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7c, 0x0a, 0x16, 0x72, 0x6f, 0x77, 0x73, 0x5f, 0x61,
+ 0x66, 0x66, 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x5f, 0x73, 0x68, 0x61, 0x72, 0x64,
+ 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x47, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61,
+ 0x74, 0x61, 0x2e, 0x46, 0x6f, 0x72, 0x63, 0x65, 0x43, 0x75, 0x74, 0x4f, 0x76, 0x65, 0x72, 0x53,
+ 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65,
+ 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x52, 0x6f, 0x77, 0x73, 0x41, 0x66, 0x66, 0x65, 0x63,
+ 0x74, 0x65, 0x64, 0x42, 0x79, 0x53, 0x68, 0x61, 0x72, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52,
+ 0x13, 0x72, 0x6f, 0x77, 0x73, 0x41, 0x66, 0x66, 0x65, 0x63, 0x74, 0x65, 0x64, 0x42, 0x79, 0x53,
+ 0x68, 0x61, 0x72, 0x64, 0x1a, 0x46, 0x0a, 0x18, 0x52, 0x6f, 0x77, 0x73, 0x41, 0x66, 0x66, 0x65,
+ 0x63, 0x74, 0x65, 0x64, 0x42, 0x79, 0x53, 0x68, 0x61, 0x72, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79,
+ 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b,
+ 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
+ 0x04, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x9e, 0x01, 0x0a,
+ 0x11, 0x47, 0x65, 0x74, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65,
+ 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01,
+ 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x14,
+ 0x0a, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73,
+ 0x68, 0x61, 0x72, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x03, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x65,
+ 0x74, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x64, 0x65,
+ 0x74, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c,
+ 0x65, 0x64, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d,
+ 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x22, 0x44, 0x0a,
+ 0x12, 0x47, 0x65, 0x74, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f,
+ 0x6e, 0x73, 0x65, 0x12, 0x2e, 0x0a, 0x07, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x73, 0x18, 0x01,
+ 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x6d, 0x79, 0x73, 0x71, 0x6c, 0x63, 0x74, 0x6c, 0x2e,
+ 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x07, 0x62, 0x61, 0x63, 0x6b,
+ 0x75, 0x70, 0x73, 0x22, 0x28, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x43, 0x65, 0x6c, 0x6c, 0x49, 0x6e,
+ 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x65, 0x6c,
+ 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x65, 0x6c, 0x6c, 0x22, 0x46, 0x0a,
+ 0x13, 0x47, 0x65, 0x74, 0x43, 0x65, 0x6c, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70,
+ 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2f, 0x0a, 0x09, 0x63, 0x65, 0x6c, 0x6c, 0x5f, 0x69, 0x6e, 0x66,
+ 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61,
+ 0x74, 0x61, 0x2e, 0x43, 0x65, 0x6c, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x08, 0x63, 0x65, 0x6c,
+ 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x19, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x43, 0x65, 0x6c, 0x6c,
+ 0x49, 0x6e, 0x66, 0x6f, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
+ 0x22, 0x30, 0x0a, 0x18, 0x47, 0x65, 0x74, 0x43, 0x65, 0x6c, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x4e,
+ 0x61, 0x6d, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05,
+ 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x6e, 0x61, 0x6d,
+ 0x65, 0x73, 0x22, 0x18, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x43, 0x65, 0x6c, 0x6c, 0x73, 0x41, 0x6c,
+ 0x69, 0x61, 0x73, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0xb6, 0x01, 0x0a,
+ 0x17, 0x47, 0x65, 0x74, 0x43, 0x65, 0x6c, 0x6c, 0x73, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x65, 0x73,
+ 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x49, 0x0a, 0x07, 0x61, 0x6c, 0x69, 0x61,
+ 0x73, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x76, 0x74, 0x63, 0x74,
+ 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x65, 0x6c, 0x6c, 0x73, 0x41, 0x6c,
+ 0x69, 0x61, 0x73, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x41, 0x6c,
+ 0x69, 0x61, 0x73, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x07, 0x61, 0x6c, 0x69, 0x61,
+ 0x73, 0x65, 0x73, 0x1a, 0x50, 0x0a, 0x0c, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x65, 0x73, 0x45, 0x6e,
+ 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
+ 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x2a, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02,
+ 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e,
+ 0x43, 0x65, 0x6c, 0x6c, 0x73, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75,
+ 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x50, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x46, 0x75, 0x6c, 0x6c,
+ 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a,
+ 0x0c, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x18, 0x01, 0x20,
0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54,
- 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x0a, 0x6e, 0x65, 0x77, 0x50,
- 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x12, 0x3e, 0x0a, 0x0f, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65,
- 0x5f, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32,
- 0x15, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65,
- 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x0e, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x52, 0x65,
- 0x70, 0x6c, 0x69, 0x63, 0x61, 0x73, 0x12, 0x44, 0x0a, 0x15, 0x77, 0x61, 0x69, 0x74, 0x5f, 0x72,
- 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x73, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18,
- 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x76, 0x74, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x44,
- 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x13, 0x77, 0x61, 0x69, 0x74, 0x52, 0x65, 0x70,
- 0x6c, 0x69, 0x63, 0x61, 0x73, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x3f, 0x0a, 0x1c,
- 0x70, 0x72, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x72, 0x6f, 0x73, 0x73, 0x5f, 0x63, 0x65,
- 0x6c, 0x6c, 0x5f, 0x70, 0x72, 0x6f, 0x6d, 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01,
- 0x28, 0x08, 0x52, 0x19, 0x70, 0x72, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x43, 0x72, 0x6f, 0x73, 0x73,
- 0x43, 0x65, 0x6c, 0x6c, 0x50, 0x72, 0x6f, 0x6d, 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2f, 0x0a,
- 0x14, 0x77, 0x61, 0x69, 0x74, 0x5f, 0x66, 0x6f, 0x72, 0x5f, 0x61, 0x6c, 0x6c, 0x5f, 0x74, 0x61,
- 0x62, 0x6c, 0x65, 0x74, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x77, 0x61, 0x69,
- 0x74, 0x46, 0x6f, 0x72, 0x41, 0x6c, 0x6c, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x73, 0x22, 0xbc,
- 0x01, 0x0a, 0x1e, 0x45, 0x6d, 0x65, 0x72, 0x67, 0x65, 0x6e, 0x63, 0x79, 0x52, 0x65, 0x70, 0x61,
- 0x72, 0x65, 0x6e, 0x74, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
- 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20,
- 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x14, 0x0a,
- 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x68,
- 0x61, 0x72, 0x64, 0x12, 0x40, 0x0a, 0x10, 0x70, 0x72, 0x6f, 0x6d, 0x6f, 0x74, 0x65, 0x64, 0x5f,
- 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e,
- 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41,
- 0x6c, 0x69, 0x61, 0x73, 0x52, 0x0f, 0x70, 0x72, 0x6f, 0x6d, 0x6f, 0x74, 0x65, 0x64, 0x50, 0x72,
- 0x69, 0x6d, 0x61, 0x72, 0x79, 0x12, 0x26, 0x0a, 0x06, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x18,
- 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x6c, 0x6f, 0x67, 0x75, 0x74, 0x69, 0x6c, 0x2e,
- 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x06, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x22, 0xa0, 0x01,
- 0x0a, 0x18, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x46, 0x65, 0x74, 0x63, 0x68, 0x41, 0x73,
- 0x41, 0x70, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x0c, 0x74, 0x61,
+ 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x0b, 0x74, 0x61, 0x62, 0x6c,
+ 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x22, 0x4c, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x46, 0x75,
+ 0x6c, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
+ 0x12, 0x33, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b,
+ 0x32, 0x1b, 0x2e, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x64, 0x61,
+ 0x74, 0x61, 0x2e, 0x46, 0x75, 0x6c, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73,
+ 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x15, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x4b, 0x65, 0x79, 0x73,
+ 0x70, 0x61, 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x49, 0x0a, 0x14,
+ 0x47, 0x65, 0x74, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70,
+ 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x31, 0x0a, 0x09, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65,
+ 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64,
+ 0x61, 0x74, 0x61, 0x2e, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x09, 0x6b, 0x65,
+ 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x22, 0x30, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x4b, 0x65,
+ 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a,
+ 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
+ 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x22, 0x46, 0x0a, 0x13, 0x47, 0x65, 0x74,
+ 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
+ 0x12, 0x2f, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01,
+ 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x4b,
+ 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63,
+ 0x65, 0x22, 0x51, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69,
+ 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x0c, 0x74, 0x61,
0x62, 0x6c, 0x65, 0x74, 0x5f, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b,
0x32, 0x15, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c,
0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x0b, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41,
- 0x6c, 0x69, 0x61, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x02, 0x20,
- 0x01, 0x28, 0x09, 0x52, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x12, 0x19, 0x0a, 0x08, 0x6d, 0x61,
- 0x78, 0x5f, 0x72, 0x6f, 0x77, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x6d, 0x61,
- 0x78, 0x52, 0x6f, 0x77, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x75, 0x73, 0x65, 0x5f, 0x70, 0x6f, 0x6f,
- 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x75, 0x73, 0x65, 0x50, 0x6f, 0x6f, 0x6c,
- 0x22, 0x47, 0x0a, 0x19, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x46, 0x65, 0x74, 0x63, 0x68,
- 0x41, 0x73, 0x41, 0x70, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2a, 0x0a,
- 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e,
- 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x75, 0x6c,
- 0x74, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0xd3, 0x01, 0x0a, 0x18, 0x45, 0x78,
- 0x65, 0x63, 0x75, 0x74, 0x65, 0x46, 0x65, 0x74, 0x63, 0x68, 0x41, 0x73, 0x44, 0x42, 0x41, 0x52,
- 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x0c, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74,
- 0x5f, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x74,
- 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c,
- 0x69, 0x61, 0x73, 0x52, 0x0b, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73,
- 0x12, 0x14, 0x0a, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
- 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x12, 0x19, 0x0a, 0x08, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x6f,
- 0x77, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x6d, 0x61, 0x78, 0x52, 0x6f, 0x77,
- 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x62, 0x69, 0x6e,
- 0x6c, 0x6f, 0x67, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x64, 0x69, 0x73, 0x61,
- 0x62, 0x6c, 0x65, 0x42, 0x69, 0x6e, 0x6c, 0x6f, 0x67, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x65,
- 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x18, 0x05, 0x20, 0x01, 0x28,
- 0x08, 0x52, 0x0c, 0x72, 0x65, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x22,
- 0x47, 0x0a, 0x19, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x46, 0x65, 0x74, 0x63, 0x68, 0x41,
- 0x73, 0x44, 0x42, 0x41, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2a, 0x0a, 0x06,
- 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x71,
- 0x75, 0x65, 0x72, 0x79, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74,
- 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0xa5, 0x01, 0x0a, 0x12, 0x45, 0x78, 0x65,
- 0x63, 0x75, 0x74, 0x65, 0x48, 0x6f, 0x6f, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
+ 0x6c, 0x69, 0x61, 0x73, 0x22, 0x5a, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x50, 0x65, 0x72, 0x6d, 0x69,
+ 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x40,
+ 0x0a, 0x0b, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20,
+ 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x6d, 0x61, 0x6e, 0x61,
+ 0x67, 0x65, 0x72, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69,
+ 0x6f, 0x6e, 0x73, 0x52, 0x0b, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73,
+ 0x22, 0x20, 0x0a, 0x1e, 0x47, 0x65, 0x74, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52,
+ 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65,
+ 0x73, 0x74, 0x22, 0x76, 0x0a, 0x1f, 0x47, 0x65, 0x74, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63,
+ 0x65, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x73,
+ 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x53, 0x0a, 0x16, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63,
+ 0x65, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x18,
+ 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x76, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x2e,
+ 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x52,
+ 0x75, 0x6c, 0x65, 0x73, 0x52, 0x14, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x6f,
+ 0x75, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x22, 0x18, 0x0a, 0x16, 0x47, 0x65,
+ 0x74, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71,
+ 0x75, 0x65, 0x73, 0x74, 0x22, 0x55, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x52, 0x6f, 0x75, 0x74, 0x69,
+ 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12,
+ 0x3a, 0x0a, 0x0d, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x73,
+ 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x76, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61,
+ 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x0c, 0x72,
+ 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x22, 0xb0, 0x02, 0x0a, 0x10,
+ 0x47, 0x65, 0x74, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
+ 0x12, 0x38, 0x0a, 0x0c, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f, 0x61, 0x6c, 0x69, 0x61, 0x73,
+ 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74,
+ 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x0b, 0x74,
+ 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x61,
+ 0x62, 0x6c, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x74, 0x61, 0x62, 0x6c,
+ 0x65, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x74, 0x61,
+ 0x62, 0x6c, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x65, 0x78, 0x63, 0x6c,
+ 0x75, 0x64, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x69, 0x6e, 0x63,
+ 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x76, 0x69, 0x65, 0x77, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08,
+ 0x52, 0x0c, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x56, 0x69, 0x65, 0x77, 0x73, 0x12, 0x28,
+ 0x0a, 0x10, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x5f, 0x6f, 0x6e,
+ 0x6c, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x4e,
+ 0x61, 0x6d, 0x65, 0x73, 0x4f, 0x6e, 0x6c, 0x79, 0x12, 0x28, 0x0a, 0x10, 0x74, 0x61, 0x62, 0x6c,
+ 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x73, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x18, 0x06, 0x20, 0x01,
+ 0x28, 0x08, 0x52, 0x0e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x73, 0x4f, 0x6e,
+ 0x6c, 0x79, 0x12, 0x2a, 0x0a, 0x11, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x73, 0x63, 0x68, 0x65,
+ 0x6d, 0x61, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x74,
+ 0x61, 0x62, 0x6c, 0x65, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4f, 0x6e, 0x6c, 0x79, 0x22, 0x50,
+ 0x0a, 0x11, 0x47, 0x65, 0x74, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f,
+ 0x6e, 0x73, 0x65, 0x12, 0x3b, 0x0a, 0x06, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x18, 0x01, 0x20,
+ 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x6d, 0x61, 0x6e, 0x61,
+ 0x67, 0x65, 0x72, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x44, 0x65,
+ 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61,
+ 0x22, 0xb8, 0x02, 0x0a, 0x1a, 0x47, 0x65, 0x74, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4d, 0x69,
+ 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
+ 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28,
+ 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x75,
+ 0x75, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x12,
+ 0x2b, 0x0a, 0x11, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e,
+ 0x74, 0x65, 0x78, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x6d, 0x69, 0x67, 0x72,
+ 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12, 0x39, 0x0a, 0x06,
+ 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x21, 0x2e, 0x76,
+ 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4d,
+ 0x69, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52,
+ 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x28, 0x0a, 0x06, 0x72, 0x65, 0x63, 0x65, 0x6e,
+ 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x76, 0x74, 0x74, 0x69, 0x6d, 0x65,
+ 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x63, 0x65, 0x6e,
+ 0x74, 0x12, 0x2e, 0x0a, 0x05, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e,
+ 0x32, 0x18, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x51, 0x75, 0x65,
+ 0x72, 0x79, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x05, 0x6f, 0x72, 0x64, 0x65,
+ 0x72, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x04,
+ 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x18,
+ 0x08, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x22, 0x59, 0x0a, 0x1b, 0x47,
+ 0x65, 0x74, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f,
+ 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x0a, 0x6d, 0x69,
+ 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a,
+ 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x53, 0x63, 0x68, 0x65, 0x6d,
+ 0x61, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x6d, 0x69, 0x67, 0x72,
+ 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x64, 0x0a, 0x1a, 0x47, 0x65, 0x74, 0x53, 0x68, 0x61,
+ 0x72, 0x64, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71,
+ 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65,
+ 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65,
+ 0x12, 0x14, 0x0a, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
+ 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x65, 0x6c, 0x6c, 0x73, 0x18,
+ 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x63, 0x65, 0x6c, 0x6c, 0x73, 0x22, 0x83, 0x02, 0x0a,
+ 0x1b, 0x47, 0x65, 0x74, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61,
+ 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7d, 0x0a, 0x19,
+ 0x73, 0x68, 0x61, 0x72, 0x64, 0x5f, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f,
+ 0x6e, 0x5f, 0x62, 0x79, 0x5f, 0x63, 0x65, 0x6c, 0x6c, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32,
+ 0x42, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x47, 0x65, 0x74, 0x53,
+ 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52,
+ 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x70,
+ 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x79, 0x43, 0x65, 0x6c, 0x6c, 0x45, 0x6e,
+ 0x74, 0x72, 0x79, 0x52, 0x16, 0x73, 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63,
+ 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x79, 0x43, 0x65, 0x6c, 0x6c, 0x1a, 0x65, 0x0a, 0x1b, 0x53,
+ 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42,
+ 0x79, 0x43, 0x65, 0x6c, 0x6c, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65,
+ 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x30, 0x0a, 0x05,
+ 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x74, 0x6f,
+ 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x70, 0x6c,
+ 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02,
+ 0x38, 0x01, 0x22, 0x4c, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x65,
+ 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63,
+ 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63,
+ 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x68, 0x61, 0x72, 0x64, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18,
+ 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x68, 0x61, 0x72, 0x64, 0x4e, 0x61, 0x6d, 0x65,
+ 0x22, 0x3a, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70,
+ 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x26, 0x0a, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x18, 0x01, 0x20,
+ 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e,
+ 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x22, 0x1d, 0x0a, 0x1b,
+ 0x47, 0x65, 0x74, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x52,
+ 0x75, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x6a, 0x0a, 0x1c, 0x47,
+ 0x65, 0x74, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x75,
+ 0x6c, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4a, 0x0a, 0x13, 0x73,
+ 0x68, 0x61, 0x72, 0x64, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x75, 0x6c,
+ 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x76, 0x73, 0x63, 0x68, 0x65,
+ 0x6d, 0x61, 0x2e, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x52,
+ 0x75, 0x6c, 0x65, 0x73, 0x52, 0x11, 0x73, 0x68, 0x61, 0x72, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x69,
+ 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x22, 0x32, 0x0a, 0x1a, 0x47, 0x65, 0x74, 0x53, 0x72,
+ 0x76, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x52, 0x65,
+ 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x65, 0x6c, 0x6c, 0x73, 0x18, 0x01,
+ 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x63, 0x65, 0x6c, 0x6c, 0x73, 0x22, 0xf3, 0x01, 0x0a, 0x1b,
+ 0x47, 0x65, 0x74, 0x53, 0x72, 0x76, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x4e, 0x61,
+ 0x6d, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x47, 0x0a, 0x05, 0x6e,
+ 0x61, 0x6d, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x76, 0x74, 0x63,
+ 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x72, 0x76, 0x4b, 0x65, 0x79,
+ 0x73, 0x70, 0x61, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
+ 0x73, 0x65, 0x2e, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x6e,
+ 0x61, 0x6d, 0x65, 0x73, 0x1a, 0x69, 0x0a, 0x0a, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x45, 0x6e, 0x74,
+ 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
+ 0x03, 0x6b, 0x65, 0x79, 0x12, 0x45, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20,
+ 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e,
+ 0x47, 0x65, 0x74, 0x53, 0x72, 0x76, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x4e, 0x61,
+ 0x6d, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x4e, 0x61, 0x6d, 0x65,
+ 0x4c, 0x69, 0x73, 0x74, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a,
+ 0x20, 0x0a, 0x08, 0x4e, 0x61, 0x6d, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x6e,
+ 0x61, 0x6d, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x6e, 0x61, 0x6d, 0x65,
+ 0x73, 0x22, 0x4a, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x53, 0x72, 0x76, 0x4b, 0x65, 0x79, 0x73, 0x70,
+ 0x61, 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6b,
+ 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b,
+ 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x65, 0x6c, 0x6c, 0x73,
+ 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x63, 0x65, 0x6c, 0x6c, 0x73, 0x22, 0xcc, 0x01,
+ 0x0a, 0x17, 0x47, 0x65, 0x74, 0x53, 0x72, 0x76, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65,
+ 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x59, 0x0a, 0x0d, 0x73, 0x72, 0x76,
+ 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b,
+ 0x32, 0x34, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x47, 0x65, 0x74,
+ 0x53, 0x72, 0x76, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70,
+ 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x53, 0x72, 0x76, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65,
+ 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0c, 0x73, 0x72, 0x76, 0x4b, 0x65, 0x79, 0x73, 0x70,
+ 0x61, 0x63, 0x65, 0x73, 0x1a, 0x56, 0x0a, 0x11, 0x53, 0x72, 0x76, 0x4b, 0x65, 0x79, 0x73, 0x70,
+ 0x61, 0x63, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79,
+ 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x2b, 0x0a, 0x05, 0x76,
+ 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x74, 0x6f, 0x70,
+ 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x53, 0x72, 0x76, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63,
+ 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xf8, 0x02, 0x0a,
+ 0x1c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x68, 0x72, 0x6f, 0x74, 0x74, 0x6c, 0x65, 0x72,
+ 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a,
+ 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
+ 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x6e, 0x61,
+ 0x62, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x65, 0x6e, 0x61, 0x62, 0x6c,
+ 0x65, 0x12, 0x18, 0x0a, 0x07, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01,
+ 0x28, 0x08, 0x52, 0x07, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x74,
+ 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x01, 0x52, 0x09,
+ 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x75, 0x73,
+ 0x74, 0x6f, 0x6d, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52,
+ 0x0b, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x28, 0x0a, 0x10,
+ 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x73, 0x65, 0x74,
+ 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x51, 0x75,
+ 0x65, 0x72, 0x79, 0x53, 0x65, 0x74, 0x12, 0x2d, 0x0a, 0x13, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x5f,
+ 0x61, 0x73, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x18, 0x07, 0x20,
+ 0x01, 0x28, 0x08, 0x52, 0x10, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x41, 0x73, 0x43, 0x68, 0x65, 0x63,
+ 0x6b, 0x53, 0x65, 0x6c, 0x66, 0x12, 0x2f, 0x0a, 0x14, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x5f, 0x61,
+ 0x73, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x5f, 0x73, 0x68, 0x61, 0x72, 0x64, 0x18, 0x08, 0x20,
+ 0x01, 0x28, 0x08, 0x52, 0x11, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x41, 0x73, 0x43, 0x68, 0x65, 0x63,
+ 0x6b, 0x53, 0x68, 0x61, 0x72, 0x64, 0x12, 0x3f, 0x0a, 0x0d, 0x74, 0x68, 0x72, 0x6f, 0x74, 0x74,
+ 0x6c, 0x65, 0x64, 0x5f, 0x61, 0x70, 0x70, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e,
+ 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x68, 0x72, 0x6f, 0x74, 0x74, 0x6c,
+ 0x65, 0x64, 0x41, 0x70, 0x70, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x0c, 0x74, 0x68, 0x72, 0x6f, 0x74,
+ 0x74, 0x6c, 0x65, 0x64, 0x41, 0x70, 0x70, 0x22, 0x1f, 0x0a, 0x1d, 0x55, 0x70, 0x64, 0x61, 0x74,
+ 0x65, 0x54, 0x68, 0x72, 0x6f, 0x74, 0x74, 0x6c, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67,
+ 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2a, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x53,
+ 0x72, 0x76, 0x56, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
+ 0x12, 0x12, 0x0a, 0x04, 0x63, 0x65, 0x6c, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04,
+ 0x63, 0x65, 0x6c, 0x6c, 0x22, 0x4e, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x53, 0x72, 0x76, 0x56, 0x53,
+ 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x35, 0x0a,
+ 0x0c, 0x73, 0x72, 0x76, 0x5f, 0x76, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x18, 0x01, 0x20,
+ 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x76, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x2e, 0x53, 0x72,
+ 0x76, 0x56, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x0a, 0x73, 0x72, 0x76, 0x56, 0x53, 0x63,
+ 0x68, 0x65, 0x6d, 0x61, 0x22, 0x2d, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x53, 0x72, 0x76, 0x56, 0x53,
+ 0x63, 0x68, 0x65, 0x6d, 0x61, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a,
+ 0x05, 0x63, 0x65, 0x6c, 0x6c, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x63, 0x65,
+ 0x6c, 0x6c, 0x73, 0x22, 0xc5, 0x01, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x53, 0x72, 0x76, 0x56, 0x53,
+ 0x63, 0x68, 0x65, 0x6d, 0x61, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x56,
+ 0x0a, 0x0d, 0x73, 0x72, 0x76, 0x5f, 0x76, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x73, 0x18,
+ 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74,
+ 0x61, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x72, 0x76, 0x56, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x73,
+ 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x53, 0x72, 0x76, 0x56, 0x53, 0x63, 0x68,
+ 0x65, 0x6d, 0x61, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0b, 0x73, 0x72, 0x76, 0x56, 0x53,
+ 0x63, 0x68, 0x65, 0x6d, 0x61, 0x73, 0x1a, 0x53, 0x0a, 0x10, 0x53, 0x72, 0x76, 0x56, 0x53, 0x63,
+ 0x68, 0x65, 0x6d, 0x61, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65,
+ 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x29, 0x0a, 0x05,
+ 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x76, 0x73,
+ 0x63, 0x68, 0x65, 0x6d, 0x61, 0x2e, 0x53, 0x72, 0x76, 0x56, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61,
+ 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x4c, 0x0a, 0x10, 0x47,
+ 0x65, 0x74, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
0x38, 0x0a, 0x0c, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x18,
0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61,
0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x0b, 0x74, 0x61,
- 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x12, 0x55, 0x0a, 0x13, 0x74, 0x61, 0x62,
- 0x6c, 0x65, 0x74, 0x5f, 0x68, 0x6f, 0x6f, 0x6b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
- 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x6d,
- 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x75,
- 0x74, 0x65, 0x48, 0x6f, 0x6f, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x11, 0x74,
- 0x61, 0x62, 0x6c, 0x65, 0x74, 0x48, 0x6f, 0x6f, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
- 0x22, 0x5e, 0x0a, 0x13, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x48, 0x6f, 0x6f, 0x6b, 0x52,
- 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x47, 0x0a, 0x0b, 0x68, 0x6f, 0x6f, 0x6b, 0x5f,
- 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x74,
- 0x61, 0x62, 0x6c, 0x65, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x64, 0x61, 0x74, 0x61,
- 0x2e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x48, 0x6f, 0x6f, 0x6b, 0x52, 0x65, 0x73, 0x70,
- 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x0a, 0x68, 0x6f, 0x6f, 0x6b, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74,
- 0x22, 0xd4, 0x01, 0x0a, 0x1d, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x4d, 0x75, 0x6c, 0x74,
- 0x69, 0x46, 0x65, 0x74, 0x63, 0x68, 0x41, 0x73, 0x44, 0x42, 0x41, 0x52, 0x65, 0x71, 0x75, 0x65,
- 0x73, 0x74, 0x12, 0x38, 0x0a, 0x0c, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f, 0x61, 0x6c, 0x69,
- 0x61, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64,
- 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52,
- 0x0b, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x12, 0x10, 0x0a, 0x03,
- 0x73, 0x71, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x73, 0x71, 0x6c, 0x12, 0x19,
- 0x0a, 0x08, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x6f, 0x77, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03,
- 0x52, 0x07, 0x6d, 0x61, 0x78, 0x52, 0x6f, 0x77, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x64, 0x69, 0x73,
- 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x62, 0x69, 0x6e, 0x6c, 0x6f, 0x67, 0x73, 0x18, 0x04, 0x20, 0x01,
- 0x28, 0x08, 0x52, 0x0e, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x42, 0x69, 0x6e, 0x6c, 0x6f,
- 0x67, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x65, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x73, 0x63, 0x68,
- 0x65, 0x6d, 0x61, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x72, 0x65, 0x6c, 0x6f, 0x61,
- 0x64, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x22, 0x4e, 0x0a, 0x1e, 0x45, 0x78, 0x65, 0x63, 0x75,
- 0x74, 0x65, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x46, 0x65, 0x74, 0x63, 0x68, 0x41, 0x73, 0x44, 0x42,
- 0x41, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2c, 0x0a, 0x07, 0x72, 0x65, 0x73,
- 0x75, 0x6c, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x71, 0x75, 0x65,
- 0x72, 0x79, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x07,
- 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x22, 0x3c, 0x0a, 0x1e, 0x46, 0x69, 0x6e, 0x64, 0x41,
- 0x6c, 0x6c, 0x53, 0x68, 0x61, 0x72, 0x64, 0x73, 0x49, 0x6e, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61,
- 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79,
- 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79,
- 0x73, 0x70, 0x61, 0x63, 0x65, 0x22, 0xbe, 0x01, 0x0a, 0x1f, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c,
- 0x6c, 0x53, 0x68, 0x61, 0x72, 0x64, 0x73, 0x49, 0x6e, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63,
- 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4e, 0x0a, 0x06, 0x73, 0x68, 0x61,
- 0x72, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x76, 0x74, 0x63, 0x74,
- 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x53, 0x68, 0x61,
- 0x72, 0x64, 0x73, 0x49, 0x6e, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x73,
- 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x53, 0x68, 0x61, 0x72, 0x64, 0x73, 0x45, 0x6e, 0x74, 0x72,
- 0x79, 0x52, 0x06, 0x73, 0x68, 0x61, 0x72, 0x64, 0x73, 0x1a, 0x4b, 0x0a, 0x0b, 0x53, 0x68, 0x61,
- 0x72, 0x64, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18,
- 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x26, 0x0a, 0x05, 0x76, 0x61,
- 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x76, 0x74, 0x63, 0x74,
- 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x05, 0x76, 0x61, 0x6c,
- 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x54, 0x0a, 0x22, 0x46, 0x6f, 0x72, 0x63, 0x65, 0x43,
- 0x75, 0x74, 0x4f, 0x76, 0x65, 0x72, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4d, 0x69, 0x67, 0x72,
- 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08,
- 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08,
- 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64,
- 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x22, 0xeb, 0x01, 0x0a,
- 0x23, 0x46, 0x6f, 0x72, 0x63, 0x65, 0x43, 0x75, 0x74, 0x4f, 0x76, 0x65, 0x72, 0x53, 0x63, 0x68,
- 0x65, 0x6d, 0x61, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70,
- 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7c, 0x0a, 0x16, 0x72, 0x6f, 0x77, 0x73, 0x5f, 0x61, 0x66, 0x66,
- 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x5f, 0x73, 0x68, 0x61, 0x72, 0x64, 0x18, 0x01,
- 0x20, 0x03, 0x28, 0x0b, 0x32, 0x47, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61,
- 0x2e, 0x46, 0x6f, 0x72, 0x63, 0x65, 0x43, 0x75, 0x74, 0x4f, 0x76, 0x65, 0x72, 0x53, 0x63, 0x68,
- 0x65, 0x6d, 0x61, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70,
- 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x52, 0x6f, 0x77, 0x73, 0x41, 0x66, 0x66, 0x65, 0x63, 0x74, 0x65,
- 0x64, 0x42, 0x79, 0x53, 0x68, 0x61, 0x72, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x13, 0x72,
- 0x6f, 0x77, 0x73, 0x41, 0x66, 0x66, 0x65, 0x63, 0x74, 0x65, 0x64, 0x42, 0x79, 0x53, 0x68, 0x61,
- 0x72, 0x64, 0x1a, 0x46, 0x0a, 0x18, 0x52, 0x6f, 0x77, 0x73, 0x41, 0x66, 0x66, 0x65, 0x63, 0x74,
- 0x65, 0x64, 0x42, 0x79, 0x53, 0x68, 0x61, 0x72, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10,
- 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79,
- 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52,
- 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x9e, 0x01, 0x0a, 0x11, 0x47,
- 0x65, 0x74, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
- 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01,
- 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x05,
- 0x73, 0x68, 0x61, 0x72, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x68, 0x61,
- 0x72, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28,
- 0x0d, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x65, 0x74, 0x61,
- 0x69, 0x6c, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x64, 0x65, 0x74, 0x61,
- 0x69, 0x6c, 0x65, 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x65, 0x64,
- 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x64, 0x65,
- 0x74, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x22, 0x44, 0x0a, 0x12, 0x47,
- 0x65, 0x74, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
- 0x65, 0x12, 0x2e, 0x0a, 0x07, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x73, 0x18, 0x01, 0x20, 0x03,
- 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x6d, 0x79, 0x73, 0x71, 0x6c, 0x63, 0x74, 0x6c, 0x2e, 0x42, 0x61,
- 0x63, 0x6b, 0x75, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x07, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70,
- 0x73, 0x22, 0x28, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x43, 0x65, 0x6c, 0x6c, 0x49, 0x6e, 0x66, 0x6f,
- 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x65, 0x6c, 0x6c, 0x18,
- 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x65, 0x6c, 0x6c, 0x22, 0x46, 0x0a, 0x13, 0x47,
- 0x65, 0x74, 0x43, 0x65, 0x6c, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
- 0x73, 0x65, 0x12, 0x2f, 0x0a, 0x09, 0x63, 0x65, 0x6c, 0x6c, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18,
- 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61,
- 0x2e, 0x43, 0x65, 0x6c, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x08, 0x63, 0x65, 0x6c, 0x6c, 0x49,
- 0x6e, 0x66, 0x6f, 0x22, 0x19, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x43, 0x65, 0x6c, 0x6c, 0x49, 0x6e,
- 0x66, 0x6f, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x30,
- 0x0a, 0x18, 0x47, 0x65, 0x74, 0x43, 0x65, 0x6c, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x4e, 0x61, 0x6d,
- 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x6e, 0x61,
- 0x6d, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x6e, 0x61, 0x6d, 0x65, 0x73,
- 0x22, 0x18, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x43, 0x65, 0x6c, 0x6c, 0x73, 0x41, 0x6c, 0x69, 0x61,
- 0x73, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0xb6, 0x01, 0x0a, 0x17, 0x47,
- 0x65, 0x74, 0x43, 0x65, 0x6c, 0x6c, 0x73, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x65, 0x73, 0x52, 0x65,
- 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x49, 0x0a, 0x07, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x65,
- 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64,
- 0x61, 0x74, 0x61, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x65, 0x6c, 0x6c, 0x73, 0x41, 0x6c, 0x69, 0x61,
- 0x73, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x41, 0x6c, 0x69, 0x61,
- 0x73, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x07, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x65,
- 0x73, 0x1a, 0x50, 0x0a, 0x0c, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72,
- 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03,
- 0x6b, 0x65, 0x79, 0x12, 0x2a, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01,
- 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x43, 0x65,
- 0x6c, 0x6c, 0x73, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a,
- 0x02, 0x38, 0x01, 0x22, 0x50, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x46, 0x75, 0x6c, 0x6c, 0x53, 0x74,
- 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x0c, 0x74,
- 0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28,
- 0x0b, 0x32, 0x15, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62,
- 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x0b, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74,
- 0x41, 0x6c, 0x69, 0x61, 0x73, 0x22, 0x4c, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x46, 0x75, 0x6c, 0x6c,
- 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x33,
- 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b,
- 0x2e, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x64, 0x61, 0x74, 0x61,
- 0x2e, 0x46, 0x75, 0x6c, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61,
- 0x74, 0x75, 0x73, 0x22, 0x15, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61,
- 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x49, 0x0a, 0x14, 0x47, 0x65,
- 0x74, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
- 0x73, 0x65, 0x12, 0x31, 0x0a, 0x09, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x18,
- 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74,
- 0x61, 0x2e, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x09, 0x6b, 0x65, 0x79, 0x73,
- 0x70, 0x61, 0x63, 0x65, 0x73, 0x22, 0x30, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x4b, 0x65, 0x79, 0x73,
- 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6b,
- 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b,
- 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x22, 0x46, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x4b, 0x65,
- 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2f,
- 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b,
- 0x32, 0x13, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x4b, 0x65, 0x79,
- 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x22,
- 0x51, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e,
- 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x0c, 0x74, 0x61, 0x62, 0x6c,
- 0x65, 0x74, 0x5f, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15,
+ 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x22, 0x3d, 0x0a, 0x11, 0x47, 0x65, 0x74,
+ 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x28,
+ 0x0a, 0x06, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10,
0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74,
- 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x0b, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69,
- 0x61, 0x73, 0x22, 0x5a, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73,
- 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x40, 0x0a, 0x0b,
- 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28,
- 0x0b, 0x32, 0x1e, 0x2e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65,
- 0x72, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e,
- 0x73, 0x52, 0x0b, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x20,
- 0x0a, 0x1e, 0x47, 0x65, 0x74, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x6f, 0x75,
- 0x74, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
- 0x22, 0x76, 0x0a, 0x1f, 0x47, 0x65, 0x74, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52,
- 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f,
- 0x6e, 0x73, 0x65, 0x12, 0x53, 0x0a, 0x16, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x5f,
- 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20,
- 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x76, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x2e, 0x4b, 0x65,
- 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c,
- 0x65, 0x73, 0x52, 0x14, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x6f, 0x75, 0x74,
- 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x22, 0x18, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x52,
- 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65,
- 0x73, 0x74, 0x22, 0x55, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67,
- 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a,
- 0x0d, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x01,
- 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x76, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x2e, 0x52,
- 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x0c, 0x72, 0x6f, 0x75,
- 0x74, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x22, 0xb0, 0x02, 0x0a, 0x10, 0x47, 0x65,
- 0x74, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x38,
- 0x0a, 0x0c, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x18, 0x01,
- 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e,
- 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x0b, 0x74, 0x61, 0x62,
- 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x61, 0x62, 0x6c,
- 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73,
- 0x12, 0x25, 0x0a, 0x0e, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x74, 0x61, 0x62, 0x6c,
- 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64,
- 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x69, 0x6e, 0x63, 0x6c, 0x75,
- 0x64, 0x65, 0x5f, 0x76, 0x69, 0x65, 0x77, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c,
- 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x56, 0x69, 0x65, 0x77, 0x73, 0x12, 0x28, 0x0a, 0x10,
- 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x5f, 0x6f, 0x6e, 0x6c, 0x79,
- 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x4e, 0x61, 0x6d,
- 0x65, 0x73, 0x4f, 0x6e, 0x6c, 0x79, 0x12, 0x28, 0x0a, 0x10, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f,
- 0x73, 0x69, 0x7a, 0x65, 0x73, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08,
- 0x52, 0x0e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x73, 0x4f, 0x6e, 0x6c, 0x79,
- 0x12, 0x2a, 0x0a, 0x11, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61,
- 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x74, 0x61, 0x62,
- 0x6c, 0x65, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4f, 0x6e, 0x6c, 0x79, 0x22, 0x50, 0x0a, 0x11,
- 0x47, 0x65, 0x74, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
- 0x65, 0x12, 0x3b, 0x0a, 0x06, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28,
- 0x0b, 0x32, 0x23, 0x2e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65,
- 0x72, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x44, 0x65, 0x66, 0x69,
- 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x22, 0xb8,
- 0x02, 0x0a, 0x1a, 0x47, 0x65, 0x74, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4d, 0x69, 0x67, 0x72,
- 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a,
+ 0x52, 0x06, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x22, 0xe8, 0x01, 0x0a, 0x11, 0x47, 0x65, 0x74,
+ 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a,
+ 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
+ 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x68,
+ 0x61, 0x72, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64,
+ 0x12, 0x14, 0x0a, 0x05, 0x63, 0x65, 0x6c, 0x6c, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52,
+ 0x05, 0x63, 0x65, 0x6c, 0x6c, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74,
+ 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x12, 0x3c,
+ 0x0a, 0x0e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x65, 0x73,
+ 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74,
+ 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x0d, 0x74,
+ 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x65, 0x73, 0x12, 0x35, 0x0a, 0x0b,
+ 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28,
+ 0x0e, 0x32, 0x14, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62,
+ 0x6c, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0a, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x54,
+ 0x79, 0x70, 0x65, 0x22, 0x40, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74,
+ 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x74, 0x61, 0x62,
+ 0x6c, 0x65, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x74, 0x6f, 0x70,
+ 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x52, 0x07, 0x74, 0x61,
+ 0x62, 0x6c, 0x65, 0x74, 0x73, 0x22, 0x2c, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x54, 0x6f, 0x70, 0x6f,
+ 0x6c, 0x6f, 0x67, 0x79, 0x50, 0x61, 0x74, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
+ 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70,
+ 0x61, 0x74, 0x68, 0x22, 0x46, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x54, 0x6f, 0x70, 0x6f, 0x6c, 0x6f,
+ 0x67, 0x79, 0x50, 0x61, 0x74, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2b,
+ 0x0a, 0x04, 0x63, 0x65, 0x6c, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x76,
+ 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x6f, 0x70, 0x6f, 0x6c, 0x6f, 0x67,
+ 0x79, 0x43, 0x65, 0x6c, 0x6c, 0x52, 0x04, 0x63, 0x65, 0x6c, 0x6c, 0x22, 0x66, 0x0a, 0x0c, 0x54,
+ 0x6f, 0x70, 0x6f, 0x6c, 0x6f, 0x67, 0x79, 0x43, 0x65, 0x6c, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x6e,
+ 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12,
+ 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70,
+ 0x61, 0x74, 0x68, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28,
+ 0x09, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x68, 0x69, 0x6c, 0x64,
+ 0x72, 0x65, 0x6e, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x63, 0x68, 0x69, 0x6c, 0x64,
+ 0x72, 0x65, 0x6e, 0x22, 0x2f, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x56, 0x53, 0x63, 0x68, 0x65, 0x6d,
+ 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73,
+ 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73,
+ 0x70, 0x61, 0x63, 0x65, 0x22, 0x4d, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69,
+ 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x0c, 0x74, 0x61, 0x62,
+ 0x6c, 0x65, 0x74, 0x5f, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32,
+ 0x15, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65,
+ 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x0b, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c,
+ 0x69, 0x61, 0x73, 0x22, 0x2e, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f,
+ 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72,
+ 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73,
+ 0x69, 0x6f, 0x6e, 0x22, 0x42, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x56, 0x53, 0x63, 0x68, 0x65, 0x6d,
+ 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2c, 0x0a, 0x08, 0x76, 0x5f, 0x73,
+ 0x63, 0x68, 0x65, 0x6d, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x76, 0x73,
+ 0x63, 0x68, 0x65, 0x6d, 0x61, 0x2e, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x07,
+ 0x76, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x22, 0xc6, 0x01, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x57,
+ 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
+ 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28,
+ 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x61,
+ 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08,
+ 0x52, 0x0a, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x4f, 0x6e, 0x6c, 0x79, 0x12, 0x1b, 0x0a, 0x09,
+ 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52,
+ 0x08, 0x6e, 0x61, 0x6d, 0x65, 0x4f, 0x6e, 0x6c, 0x79, 0x12, 0x1a, 0x0a, 0x08, 0x77, 0x6f, 0x72,
+ 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x77, 0x6f, 0x72,
+ 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x12, 0x21, 0x0a, 0x0c, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65,
+ 0x5f, 0x6c, 0x6f, 0x67, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x69, 0x6e, 0x63,
+ 0x6c, 0x75, 0x64, 0x65, 0x4c, 0x6f, 0x67, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x68, 0x61, 0x72,
+ 0x64, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x73, 0x68, 0x61, 0x72, 0x64, 0x73,
+ 0x22, 0x49, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x73,
+ 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x31, 0x0a, 0x09, 0x77, 0x6f, 0x72, 0x6b,
+ 0x66, 0x6c, 0x6f, 0x77, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x76, 0x74,
+ 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77,
+ 0x52, 0x09, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x73, 0x22, 0xfb, 0x01, 0x0a, 0x17,
+ 0x49, 0x6e, 0x69, 0x74, 0x53, 0x68, 0x61, 0x72, 0x64, 0x50, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79,
+ 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70,
+ 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70,
+ 0x61, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x18, 0x02, 0x20, 0x01,
+ 0x28, 0x09, 0x52, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x12, 0x52, 0x0a, 0x1a, 0x70, 0x72, 0x69,
+ 0x6d, 0x61, 0x72, 0x79, 0x5f, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65,
+ 0x74, 0x5f, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e,
+ 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41,
+ 0x6c, 0x69, 0x61, 0x73, 0x52, 0x17, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x45, 0x6c, 0x65,
+ 0x63, 0x74, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x12, 0x14, 0x0a,
+ 0x05, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x66, 0x6f,
+ 0x72, 0x63, 0x65, 0x12, 0x44, 0x0a, 0x15, 0x77, 0x61, 0x69, 0x74, 0x5f, 0x72, 0x65, 0x70, 0x6c,
+ 0x69, 0x63, 0x61, 0x73, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x05, 0x20, 0x01,
+ 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x76, 0x74, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x44, 0x75, 0x72, 0x61,
+ 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x13, 0x77, 0x61, 0x69, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63,
+ 0x61, 0x73, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x22, 0x42, 0x0a, 0x18, 0x49, 0x6e, 0x69,
+ 0x74, 0x53, 0x68, 0x61, 0x72, 0x64, 0x50, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x52, 0x65, 0x73,
+ 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x26, 0x0a, 0x06, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x18,
+ 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x6c, 0x6f, 0x67, 0x75, 0x74, 0x69, 0x6c, 0x2e,
+ 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x06, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x22, 0x4e, 0x0a,
+ 0x1c, 0x4c, 0x61, 0x75, 0x6e, 0x63, 0x68, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4d, 0x69, 0x67,
+ 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a,
0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69,
- 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x12, 0x2b, 0x0a,
- 0x11, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65,
- 0x78, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74,
- 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12, 0x39, 0x0a, 0x06, 0x73, 0x74,
- 0x61, 0x74, 0x75, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x21, 0x2e, 0x76, 0x74, 0x63,
- 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4d, 0x69, 0x67,
- 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73,
- 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x28, 0x0a, 0x06, 0x72, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x18,
- 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x76, 0x74, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x44,
- 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x12,
- 0x2e, 0x0a, 0x05, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x18,
- 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79,
- 0x4f, 0x72, 0x64, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x05, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x12,
- 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05,
- 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x18, 0x08, 0x20,
- 0x01, 0x28, 0x04, 0x52, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x22, 0x59, 0x0a, 0x1b, 0x47, 0x65, 0x74,
- 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73,
- 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x0a, 0x6d, 0x69, 0x67, 0x72,
- 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x76,
- 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4d,
- 0x69, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74,
- 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x64, 0x0a, 0x1a, 0x47, 0x65, 0x74, 0x53, 0x68, 0x61, 0x72, 0x64,
- 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65,
- 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01,
- 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x14,
- 0x0a, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73,
- 0x68, 0x61, 0x72, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x65, 0x6c, 0x6c, 0x73, 0x18, 0x03, 0x20,
- 0x03, 0x28, 0x09, 0x52, 0x05, 0x63, 0x65, 0x6c, 0x6c, 0x73, 0x22, 0x83, 0x02, 0x0a, 0x1b, 0x47,
- 0x65, 0x74, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69,
- 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7d, 0x0a, 0x19, 0x73, 0x68,
- 0x61, 0x72, 0x64, 0x5f, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f,
- 0x62, 0x79, 0x5f, 0x63, 0x65, 0x6c, 0x6c, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x42, 0x2e,
- 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x68, 0x61,
- 0x72, 0x64, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73,
- 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x70, 0x6c, 0x69,
- 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x79, 0x43, 0x65, 0x6c, 0x6c, 0x45, 0x6e, 0x74, 0x72,
- 0x79, 0x52, 0x16, 0x73, 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74,
- 0x69, 0x6f, 0x6e, 0x42, 0x79, 0x43, 0x65, 0x6c, 0x6c, 0x1a, 0x65, 0x0a, 0x1b, 0x53, 0x68, 0x61,
- 0x72, 0x64, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x79, 0x43,
- 0x65, 0x6c, 0x6c, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18,
- 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x30, 0x0a, 0x05, 0x76, 0x61,
- 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x74, 0x6f, 0x70, 0x6f,
- 0x64, 0x61, 0x74, 0x61, 0x2e, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63,
- 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01,
- 0x22, 0x4c, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75,
- 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18,
- 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12,
- 0x1d, 0x0a, 0x0a, 0x73, 0x68, 0x61, 0x72, 0x64, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20,
- 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x68, 0x61, 0x72, 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x3a,
- 0x0a, 0x10, 0x47, 0x65, 0x74, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
- 0x73, 0x65, 0x12, 0x26, 0x0a, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
- 0x0b, 0x32, 0x10, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x53, 0x68,
- 0x61, 0x72, 0x64, 0x52, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x22, 0x1d, 0x0a, 0x1b, 0x47, 0x65,
- 0x74, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c,
- 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x6a, 0x0a, 0x1c, 0x47, 0x65, 0x74,
- 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65,
- 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4a, 0x0a, 0x13, 0x73, 0x68, 0x61,
- 0x72, 0x64, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x73,
- 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x76, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61,
- 0x2e, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c,
- 0x65, 0x73, 0x52, 0x11, 0x73, 0x68, 0x61, 0x72, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67,
- 0x52, 0x75, 0x6c, 0x65, 0x73, 0x22, 0x32, 0x0a, 0x1a, 0x47, 0x65, 0x74, 0x53, 0x72, 0x76, 0x4b,
- 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75,
- 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x65, 0x6c, 0x6c, 0x73, 0x18, 0x01, 0x20, 0x03,
- 0x28, 0x09, 0x52, 0x05, 0x63, 0x65, 0x6c, 0x6c, 0x73, 0x22, 0xf3, 0x01, 0x0a, 0x1b, 0x47, 0x65,
- 0x74, 0x53, 0x72, 0x76, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65,
- 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x47, 0x0a, 0x05, 0x6e, 0x61, 0x6d,
- 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c,
- 0x64, 0x61, 0x74, 0x61, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x72, 0x76, 0x4b, 0x65, 0x79, 0x73, 0x70,
- 0x61, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
- 0x2e, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x6e, 0x61, 0x6d,
- 0x65, 0x73, 0x1a, 0x69, 0x0a, 0x0a, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79,
- 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b,
- 0x65, 0x79, 0x12, 0x45, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
- 0x0b, 0x32, 0x2f, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x47, 0x65,
- 0x74, 0x53, 0x72, 0x76, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65,
- 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x4e, 0x61, 0x6d, 0x65, 0x4c, 0x69,
- 0x73, 0x74, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x20, 0x0a,
- 0x08, 0x4e, 0x61, 0x6d, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x6e, 0x61, 0x6d,
- 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x22,
- 0x4a, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x53, 0x72, 0x76, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63,
- 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79,
- 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79,
- 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x65, 0x6c, 0x6c, 0x73, 0x18, 0x02,
- 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x63, 0x65, 0x6c, 0x6c, 0x73, 0x22, 0xcc, 0x01, 0x0a, 0x17,
- 0x47, 0x65, 0x74, 0x53, 0x72, 0x76, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x52,
- 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x59, 0x0a, 0x0d, 0x73, 0x72, 0x76, 0x5f, 0x6b,
- 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x34,
- 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x72,
- 0x76, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
- 0x73, 0x65, 0x2e, 0x53, 0x72, 0x76, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x45,
- 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0c, 0x73, 0x72, 0x76, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63,
- 0x65, 0x73, 0x1a, 0x56, 0x0a, 0x11, 0x53, 0x72, 0x76, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63,
- 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01,
- 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x2b, 0x0a, 0x05, 0x76, 0x61, 0x6c,
- 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64,
- 0x61, 0x74, 0x61, 0x2e, 0x53, 0x72, 0x76, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52,
- 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xf8, 0x02, 0x0a, 0x1c, 0x55,
- 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x68, 0x72, 0x6f, 0x74, 0x74, 0x6c, 0x65, 0x72, 0x43, 0x6f,
- 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6b,
- 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b,
- 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x6e, 0x61, 0x62, 0x6c,
- 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x12,
- 0x18, 0x0a, 0x07, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08,
- 0x52, 0x07, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x68, 0x72,
- 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x01, 0x52, 0x09, 0x74, 0x68,
- 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x75, 0x73, 0x74, 0x6f,
- 0x6d, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63,
- 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x28, 0x0a, 0x10, 0x63, 0x75,
- 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x73, 0x65, 0x74, 0x18, 0x06,
- 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x51, 0x75, 0x65, 0x72,
- 0x79, 0x53, 0x65, 0x74, 0x12, 0x2d, 0x0a, 0x13, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x5f, 0x61, 0x73,
- 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x18, 0x07, 0x20, 0x01, 0x28,
- 0x08, 0x52, 0x10, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x41, 0x73, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x53,
- 0x65, 0x6c, 0x66, 0x12, 0x2f, 0x0a, 0x14, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x5f, 0x61, 0x73, 0x5f,
- 0x63, 0x68, 0x65, 0x63, 0x6b, 0x5f, 0x73, 0x68, 0x61, 0x72, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28,
- 0x08, 0x52, 0x11, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x41, 0x73, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x53,
- 0x68, 0x61, 0x72, 0x64, 0x12, 0x3f, 0x0a, 0x0d, 0x74, 0x68, 0x72, 0x6f, 0x74, 0x74, 0x6c, 0x65,
- 0x64, 0x5f, 0x61, 0x70, 0x70, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x74, 0x6f,
- 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x68, 0x72, 0x6f, 0x74, 0x74, 0x6c, 0x65, 0x64,
- 0x41, 0x70, 0x70, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x0c, 0x74, 0x68, 0x72, 0x6f, 0x74, 0x74, 0x6c,
- 0x65, 0x64, 0x41, 0x70, 0x70, 0x22, 0x1f, 0x0a, 0x1d, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54,
- 0x68, 0x72, 0x6f, 0x74, 0x74, 0x6c, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65,
- 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2a, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x53, 0x72, 0x76,
- 0x56, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12,
- 0x0a, 0x04, 0x63, 0x65, 0x6c, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x65,
- 0x6c, 0x6c, 0x22, 0x4e, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x53, 0x72, 0x76, 0x56, 0x53, 0x63, 0x68,
- 0x65, 0x6d, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x35, 0x0a, 0x0c, 0x73,
- 0x72, 0x76, 0x5f, 0x76, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28,
- 0x0b, 0x32, 0x13, 0x2e, 0x76, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x2e, 0x53, 0x72, 0x76, 0x56,
- 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x0a, 0x73, 0x72, 0x76, 0x56, 0x53, 0x63, 0x68, 0x65,
- 0x6d, 0x61, 0x22, 0x2d, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x53, 0x72, 0x76, 0x56, 0x53, 0x63, 0x68,
- 0x65, 0x6d, 0x61, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x63,
- 0x65, 0x6c, 0x6c, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x63, 0x65, 0x6c, 0x6c,
- 0x73, 0x22, 0xc5, 0x01, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x53, 0x72, 0x76, 0x56, 0x53, 0x63, 0x68,
- 0x65, 0x6d, 0x61, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x56, 0x0a, 0x0d,
- 0x73, 0x72, 0x76, 0x5f, 0x76, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x73, 0x18, 0x01, 0x20,
- 0x03, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e,
- 0x47, 0x65, 0x74, 0x53, 0x72, 0x76, 0x56, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x73, 0x52, 0x65,
- 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x53, 0x72, 0x76, 0x56, 0x53, 0x63, 0x68, 0x65, 0x6d,
- 0x61, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0b, 0x73, 0x72, 0x76, 0x56, 0x53, 0x63, 0x68,
- 0x65, 0x6d, 0x61, 0x73, 0x1a, 0x53, 0x0a, 0x10, 0x53, 0x72, 0x76, 0x56, 0x53, 0x63, 0x68, 0x65,
- 0x6d, 0x61, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18,
- 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x29, 0x0a, 0x05, 0x76, 0x61,
- 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x76, 0x73, 0x63, 0x68,
- 0x65, 0x6d, 0x61, 0x2e, 0x53, 0x72, 0x76, 0x56, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x05,
- 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x4c, 0x0a, 0x10, 0x47, 0x65, 0x74,
+ 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x22, 0xdf, 0x01,
+ 0x0a, 0x1d, 0x4c, 0x61, 0x75, 0x6e, 0x63, 0x68, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4d, 0x69,
+ 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12,
+ 0x76, 0x0a, 0x16, 0x72, 0x6f, 0x77, 0x73, 0x5f, 0x61, 0x66, 0x66, 0x65, 0x63, 0x74, 0x65, 0x64,
+ 0x5f, 0x62, 0x79, 0x5f, 0x73, 0x68, 0x61, 0x72, 0x64, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32,
+ 0x41, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x4c, 0x61, 0x75, 0x6e,
+ 0x63, 0x68, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f,
+ 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x52, 0x6f, 0x77, 0x73, 0x41, 0x66,
+ 0x66, 0x65, 0x63, 0x74, 0x65, 0x64, 0x42, 0x79, 0x53, 0x68, 0x61, 0x72, 0x64, 0x45, 0x6e, 0x74,
+ 0x72, 0x79, 0x52, 0x13, 0x72, 0x6f, 0x77, 0x73, 0x41, 0x66, 0x66, 0x65, 0x63, 0x74, 0x65, 0x64,
+ 0x42, 0x79, 0x53, 0x68, 0x61, 0x72, 0x64, 0x1a, 0x46, 0x0a, 0x18, 0x52, 0x6f, 0x77, 0x73, 0x41,
+ 0x66, 0x66, 0x65, 0x63, 0x74, 0x65, 0x64, 0x42, 0x79, 0x53, 0x68, 0x61, 0x72, 0x64, 0x45, 0x6e,
+ 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
+ 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02,
+ 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22,
+ 0xff, 0x02, 0x0a, 0x19, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x56, 0x69, 0x6e, 0x64, 0x65, 0x78,
+ 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a,
+ 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
+ 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x77, 0x6f, 0x72,
+ 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x77, 0x6f, 0x72,
+ 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x65, 0x6c, 0x6c, 0x73, 0x18, 0x03,
+ 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x63, 0x65, 0x6c, 0x6c, 0x73, 0x12, 0x29, 0x0a, 0x06, 0x76,
+ 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x76, 0x73,
+ 0x63, 0x68, 0x65, 0x6d, 0x61, 0x2e, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x06,
+ 0x76, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x42, 0x0a, 0x1e, 0x63, 0x6f, 0x6e, 0x74, 0x69, 0x6e,
+ 0x75, 0x65, 0x5f, 0x61, 0x66, 0x74, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x70, 0x79, 0x5f, 0x77, 0x69,
+ 0x74, 0x68, 0x5f, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x1a,
+ 0x63, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x65, 0x41, 0x66, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x70,
+ 0x79, 0x57, 0x69, 0x74, 0x68, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x12, 0x37, 0x0a, 0x0c, 0x74, 0x61,
+ 0x62, 0x6c, 0x65, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0e,
+ 0x32, 0x14, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c,
+ 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0b, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x54, 0x79,
+ 0x70, 0x65, 0x73, 0x12, 0x6c, 0x0a, 0x1b, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f, 0x73, 0x65,
+ 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e,
+ 0x63, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2c, 0x2e, 0x74, 0x61, 0x62, 0x6c, 0x65,
+ 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62,
+ 0x6c, 0x65, 0x74, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x65, 0x66,
+ 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x19, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x53, 0x65,
+ 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63,
+ 0x65, 0x22, 0x1c, 0x0a, 0x1a, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x56, 0x69, 0x6e, 0x64, 0x65,
+ 0x78, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22,
+ 0x77, 0x0a, 0x1e, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x56, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x45,
+ 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
+ 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20,
+ 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x12, 0x0a,
+ 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d,
+ 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x70,
+ 0x61, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x74, 0x61, 0x62, 0x6c, 0x65,
+ 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x22, 0x4c, 0x0a, 0x1f, 0x4c, 0x6f, 0x6f, 0x6b,
+ 0x75, 0x70, 0x56, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c,
+ 0x69, 0x7a, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x29, 0x0a, 0x10, 0x77,
+ 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x18,
+ 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x44,
+ 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x22, 0x56, 0x0a, 0x18, 0x4d, 0x61, 0x74, 0x65, 0x72, 0x69,
+ 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65,
+ 0x73, 0x74, 0x12, 0x3a, 0x0a, 0x08, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x01,
+ 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61,
+ 0x2e, 0x4d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x53, 0x65, 0x74, 0x74,
+ 0x69, 0x6e, 0x67, 0x73, 0x52, 0x08, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x22, 0x1b,
+ 0x0a, 0x19, 0x4d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x43, 0x72, 0x65,
+ 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xdd, 0x05, 0x0a, 0x14,
+ 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71,
+ 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77,
+ 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77,
+ 0x12, 0x27, 0x0a, 0x0f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x70,
+ 0x61, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x73, 0x6f, 0x75, 0x72, 0x63,
+ 0x65, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x74, 0x61, 0x72,
+ 0x67, 0x65, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01,
+ 0x28, 0x09, 0x52, 0x0e, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61,
+ 0x63, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65,
+ 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x4e, 0x61, 0x6d,
+ 0x65, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x65, 0x6c, 0x6c, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09,
+ 0x52, 0x05, 0x63, 0x65, 0x6c, 0x6c, 0x73, 0x12, 0x37, 0x0a, 0x0c, 0x74, 0x61, 0x62, 0x6c, 0x65,
+ 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x14, 0x2e,
+ 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x54,
+ 0x79, 0x70, 0x65, 0x52, 0x0b, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x73,
+ 0x12, 0x6c, 0x0a, 0x1b, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f, 0x73, 0x65, 0x6c, 0x65, 0x63,
+ 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x18,
+ 0x07, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2c, 0x2e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x6d, 0x61,
+ 0x6e, 0x61, 0x67, 0x65, 0x72, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74,
+ 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65,
+ 0x6e, 0x63, 0x65, 0x52, 0x19, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x53, 0x65, 0x6c, 0x65, 0x63,
+ 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x1d,
+ 0x0a, 0x0a, 0x61, 0x6c, 0x6c, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x08, 0x20, 0x01,
+ 0x28, 0x08, 0x52, 0x09, 0x61, 0x6c, 0x6c, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x25, 0x0a,
+ 0x0e, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18,
+ 0x09, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x54, 0x61,
+ 0x62, 0x6c, 0x65, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f,
+ 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x65, 0x78,
+ 0x63, 0x6c, 0x75, 0x64, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x28, 0x0a, 0x10, 0x73,
+ 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x7a, 0x6f, 0x6e, 0x65, 0x18,
+ 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x69, 0x6d,
+ 0x65, 0x5a, 0x6f, 0x6e, 0x65, 0x12, 0x15, 0x0a, 0x06, 0x6f, 0x6e, 0x5f, 0x64, 0x64, 0x6c, 0x18,
+ 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6f, 0x6e, 0x44, 0x64, 0x6c, 0x12, 0x26, 0x0a, 0x0f,
+ 0x73, 0x74, 0x6f, 0x70, 0x5f, 0x61, 0x66, 0x74, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x70, 0x79, 0x18,
+ 0x0d, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x73, 0x74, 0x6f, 0x70, 0x41, 0x66, 0x74, 0x65, 0x72,
+ 0x43, 0x6f, 0x70, 0x79, 0x12, 0x2a, 0x0a, 0x11, 0x64, 0x72, 0x6f, 0x70, 0x5f, 0x66, 0x6f, 0x72,
+ 0x65, 0x69, 0x67, 0x6e, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x08, 0x52,
+ 0x0f, 0x64, 0x72, 0x6f, 0x70, 0x46, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x4b, 0x65, 0x79, 0x73,
+ 0x12, 0x30, 0x0a, 0x14, 0x64, 0x65, 0x66, 0x65, 0x72, 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64,
+ 0x61, 0x72, 0x79, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12,
+ 0x64, 0x65, 0x66, 0x65, 0x72, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x4b, 0x65,
+ 0x79, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x75, 0x74, 0x6f, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74,
+ 0x18, 0x10, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x61, 0x75, 0x74, 0x6f, 0x53, 0x74, 0x61, 0x72,
+ 0x74, 0x12, 0x28, 0x0a, 0x10, 0x6e, 0x6f, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x5f,
+ 0x72, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x11, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x6e, 0x6f, 0x52,
+ 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x22, 0xe6, 0x01, 0x0a, 0x16,
+ 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x52,
+ 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c,
+ 0x6f, 0x77, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c,
+ 0x6f, 0x77, 0x12, 0x27, 0x0a, 0x0f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x6b, 0x65, 0x79,
+ 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x74, 0x61, 0x72,
+ 0x67, 0x65, 0x74, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x6b,
+ 0x65, 0x65, 0x70, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08,
+ 0x6b, 0x65, 0x65, 0x70, 0x44, 0x61, 0x74, 0x61, 0x12, 0x2c, 0x0a, 0x12, 0x6b, 0x65, 0x65, 0x70,
+ 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x05,
+ 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x6b, 0x65, 0x65, 0x70, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e,
+ 0x67, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x65, 0x6e, 0x61, 0x6d, 0x65,
+ 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x72,
+ 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x17, 0x0a, 0x07, 0x64,
+ 0x72, 0x79, 0x5f, 0x72, 0x75, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x64, 0x72,
+ 0x79, 0x52, 0x75, 0x6e, 0x22, 0x5b, 0x0a, 0x17, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x43,
+ 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12,
+ 0x18, 0x0a, 0x07, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
+ 0x52, 0x07, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x12, 0x26, 0x0a, 0x0f, 0x64, 0x72, 0x79,
+ 0x5f, 0x72, 0x75, 0x6e, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03,
+ 0x28, 0x09, 0x52, 0x0d, 0x64, 0x72, 0x79, 0x52, 0x75, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74,
+ 0x73, 0x22, 0x85, 0x01, 0x0a, 0x14, 0x4d, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x67, 0x69, 0x73,
+ 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x6f,
+ 0x70, 0x6f, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74,
+ 0x6f, 0x70, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x6f, 0x70, 0x6f, 0x5f,
+ 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x74, 0x6f,
+ 0x70, 0x6f, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x6f, 0x70, 0x6f,
+ 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, 0x6f, 0x70,
+ 0x6f, 0x52, 0x6f, 0x6f, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20,
+ 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x17, 0x0a, 0x15, 0x4d, 0x6f, 0x75,
+ 0x6e, 0x74, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
+ 0x73, 0x65, 0x22, 0x2c, 0x0a, 0x16, 0x4d, 0x6f, 0x75, 0x6e, 0x74, 0x55, 0x6e, 0x72, 0x65, 0x67,
+ 0x69, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04,
+ 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65,
+ 0x22, 0x19, 0x0a, 0x17, 0x4d, 0x6f, 0x75, 0x6e, 0x74, 0x55, 0x6e, 0x72, 0x65, 0x67, 0x69, 0x73,
+ 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x26, 0x0a, 0x10, 0x4d,
+ 0x6f, 0x75, 0x6e, 0x74, 0x53, 0x68, 0x6f, 0x77, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
+ 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e,
+ 0x61, 0x6d, 0x65, 0x22, 0x82, 0x01, 0x0a, 0x11, 0x4d, 0x6f, 0x75, 0x6e, 0x74, 0x53, 0x68, 0x6f,
+ 0x77, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x6f, 0x70,
+ 0x6f, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, 0x6f,
+ 0x70, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x6f, 0x70, 0x6f, 0x5f, 0x73,
+ 0x65, 0x72, 0x76, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x74, 0x6f, 0x70,
+ 0x6f, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x6f, 0x70, 0x6f, 0x5f,
+ 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, 0x6f, 0x70, 0x6f,
+ 0x52, 0x6f, 0x6f, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01,
+ 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x12, 0x0a, 0x10, 0x4d, 0x6f, 0x75, 0x6e,
+ 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x29, 0x0a, 0x11,
+ 0x4d, 0x6f, 0x75, 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
+ 0x65, 0x12, 0x14, 0x0a, 0x05, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09,
+ 0x52, 0x05, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x22, 0x82, 0x07, 0x0a, 0x17, 0x4d, 0x6f, 0x76, 0x65,
+ 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75,
+ 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x18,
+ 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x12,
+ 0x27, 0x0a, 0x0f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61,
+ 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65,
+ 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x74, 0x61, 0x72, 0x67,
+ 0x65, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28,
+ 0x09, 0x52, 0x0e, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63,
+ 0x65, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x65, 0x6c, 0x6c, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09,
+ 0x52, 0x05, 0x63, 0x65, 0x6c, 0x6c, 0x73, 0x12, 0x37, 0x0a, 0x0c, 0x74, 0x61, 0x62, 0x6c, 0x65,
+ 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x14, 0x2e,
+ 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x54,
+ 0x79, 0x70, 0x65, 0x52, 0x0b, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x73,
+ 0x12, 0x6c, 0x0a, 0x1b, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f, 0x73, 0x65, 0x6c, 0x65, 0x63,
+ 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x18,
+ 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2c, 0x2e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x6d, 0x61,
+ 0x6e, 0x61, 0x67, 0x65, 0x72, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74,
+ 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65,
+ 0x6e, 0x63, 0x65, 0x52, 0x19, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x53, 0x65, 0x6c, 0x65, 0x63,
+ 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x23,
+ 0x0a, 0x0d, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x73, 0x68, 0x61, 0x72, 0x64, 0x73, 0x18,
+ 0x07, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x68, 0x61,
+ 0x72, 0x64, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x6c, 0x6c, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65,
+ 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x61, 0x6c, 0x6c, 0x54, 0x61, 0x62, 0x6c,
+ 0x65, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x74, 0x61,
+ 0x62, 0x6c, 0x65, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x69, 0x6e, 0x63, 0x6c,
+ 0x75, 0x64, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x65, 0x78, 0x63,
+ 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28,
+ 0x09, 0x52, 0x0d, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73,
+ 0x12, 0x32, 0x0a, 0x15, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x63, 0x6c, 0x75,
+ 0x73, 0x74, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52,
+ 0x13, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72,
+ 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x28, 0x0a, 0x10, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x74,
+ 0x69, 0x6d, 0x65, 0x5f, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e,
+ 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x5a, 0x6f, 0x6e, 0x65, 0x12, 0x15,
+ 0x0a, 0x06, 0x6f, 0x6e, 0x5f, 0x64, 0x64, 0x6c, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05,
+ 0x6f, 0x6e, 0x44, 0x64, 0x6c, 0x12, 0x26, 0x0a, 0x0f, 0x73, 0x74, 0x6f, 0x70, 0x5f, 0x61, 0x66,
+ 0x74, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x70, 0x79, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d,
+ 0x73, 0x74, 0x6f, 0x70, 0x41, 0x66, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x70, 0x79, 0x12, 0x2a, 0x0a,
+ 0x11, 0x64, 0x72, 0x6f, 0x70, 0x5f, 0x66, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x5f, 0x6b, 0x65,
+ 0x79, 0x73, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x64, 0x72, 0x6f, 0x70, 0x46, 0x6f,
+ 0x72, 0x65, 0x69, 0x67, 0x6e, 0x4b, 0x65, 0x79, 0x73, 0x12, 0x30, 0x0a, 0x14, 0x64, 0x65, 0x66,
+ 0x65, 0x72, 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x5f, 0x6b, 0x65, 0x79,
+ 0x73, 0x18, 0x10, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x64, 0x65, 0x66, 0x65, 0x72, 0x53, 0x65,
+ 0x63, 0x6f, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x4b, 0x65, 0x79, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x61,
+ 0x75, 0x74, 0x6f, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x11, 0x20, 0x01, 0x28, 0x08, 0x52,
+ 0x09, 0x61, 0x75, 0x74, 0x6f, 0x53, 0x74, 0x61, 0x72, 0x74, 0x12, 0x28, 0x0a, 0x10, 0x6e, 0x6f,
+ 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x12,
+ 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x6e, 0x6f, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x52,
+ 0x75, 0x6c, 0x65, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x74, 0x6f, 0x6d, 0x69, 0x63, 0x5f, 0x63,
+ 0x6f, 0x70, 0x79, 0x18, 0x13, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x61, 0x74, 0x6f, 0x6d, 0x69,
+ 0x63, 0x43, 0x6f, 0x70, 0x79, 0x12, 0x45, 0x0a, 0x10, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f,
+ 0x77, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0b, 0x32,
+ 0x1a, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x57, 0x6f, 0x72, 0x6b,
+ 0x66, 0x6c, 0x6f, 0x77, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x0f, 0x77, 0x6f, 0x72,
+ 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0xd5, 0x01, 0x0a,
+ 0x18, 0x4d, 0x6f, 0x76, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x43, 0x72, 0x65, 0x61, 0x74,
+ 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x6d,
+ 0x6d, 0x61, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x75, 0x6d, 0x6d,
+ 0x61, 0x72, 0x79, 0x12, 0x48, 0x0a, 0x07, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x02,
+ 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61,
+ 0x2e, 0x4d, 0x6f, 0x76, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x43, 0x72, 0x65, 0x61, 0x74,
+ 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74,
+ 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x07, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x1a, 0x55, 0x0a,
+ 0x0a, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x2d, 0x0a, 0x06, 0x74,
+ 0x61, 0x62, 0x6c, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x74, 0x6f,
+ 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69,
+ 0x61, 0x73, 0x52, 0x06, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72,
+ 0x65, 0x61, 0x74, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x63, 0x72, 0x65,
+ 0x61, 0x74, 0x65, 0x64, 0x22, 0x81, 0x02, 0x0a, 0x19, 0x4d, 0x6f, 0x76, 0x65, 0x54, 0x61, 0x62,
+ 0x6c, 0x65, 0x73, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65,
+ 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x18, 0x01,
+ 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x12, 0x27,
+ 0x0a, 0x0f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63,
+ 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x4b,
+ 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x6b, 0x65, 0x65, 0x70, 0x5f,
+ 0x64, 0x61, 0x74, 0x61, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x6b, 0x65, 0x65, 0x70,
+ 0x44, 0x61, 0x74, 0x61, 0x12, 0x2c, 0x0a, 0x12, 0x6b, 0x65, 0x65, 0x70, 0x5f, 0x72, 0x6f, 0x75,
+ 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08,
+ 0x52, 0x10, 0x6b, 0x65, 0x65, 0x70, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c,
+ 0x65, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x74, 0x61, 0x62,
+ 0x6c, 0x65, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x72, 0x65, 0x6e, 0x61, 0x6d,
+ 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x17, 0x0a, 0x07, 0x64, 0x72, 0x79, 0x5f, 0x72,
+ 0x75, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x64, 0x72, 0x79, 0x52, 0x75, 0x6e,
+ 0x12, 0x16, 0x0a, 0x06, 0x73, 0x68, 0x61, 0x72, 0x64, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x09,
+ 0x52, 0x06, 0x73, 0x68, 0x61, 0x72, 0x64, 0x73, 0x22, 0x5e, 0x0a, 0x1a, 0x4d, 0x6f, 0x76, 0x65,
+ 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65,
+ 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72,
+ 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79,
+ 0x12, 0x26, 0x0a, 0x0f, 0x64, 0x72, 0x79, 0x5f, 0x72, 0x75, 0x6e, 0x5f, 0x72, 0x65, 0x73, 0x75,
+ 0x6c, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x64, 0x72, 0x79, 0x52, 0x75,
+ 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x22, 0x4d, 0x0a, 0x11, 0x50, 0x69, 0x6e, 0x67,
0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a,
0x0c, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x18, 0x01, 0x20,
0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54,
0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x0b, 0x74, 0x61, 0x62, 0x6c,
- 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x22, 0x3d, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x54, 0x61,
- 0x62, 0x6c, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x28, 0x0a, 0x06,
- 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x74,
- 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x52, 0x06,
- 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x22, 0xe8, 0x01, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x54, 0x61,
- 0x62, 0x6c, 0x65, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08,
+ 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x22, 0x14, 0x0a, 0x12, 0x50, 0x69, 0x6e, 0x67, 0x54,
+ 0x61, 0x62, 0x6c, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xd7, 0x02,
+ 0x0a, 0x1b, 0x50, 0x6c, 0x61, 0x6e, 0x6e, 0x65, 0x64, 0x52, 0x65, 0x70, 0x61, 0x72, 0x65, 0x6e,
+ 0x74, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a,
+ 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
+ 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x68, 0x61,
+ 0x72, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x12,
+ 0x36, 0x0a, 0x0b, 0x6e, 0x65, 0x77, 0x5f, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x18, 0x03,
+ 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e,
+ 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x0a, 0x6e, 0x65, 0x77,
+ 0x50, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x12, 0x3a, 0x0a, 0x0d, 0x61, 0x76, 0x6f, 0x69, 0x64,
+ 0x5f, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15,
+ 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74,
+ 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x0c, 0x61, 0x76, 0x6f, 0x69, 0x64, 0x50, 0x72, 0x69, 0x6d,
+ 0x61, 0x72, 0x79, 0x12, 0x44, 0x0a, 0x15, 0x77, 0x61, 0x69, 0x74, 0x5f, 0x72, 0x65, 0x70, 0x6c,
+ 0x69, 0x63, 0x61, 0x73, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x05, 0x20, 0x01,
+ 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x76, 0x74, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x44, 0x75, 0x72, 0x61,
+ 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x13, 0x77, 0x61, 0x69, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63,
+ 0x61, 0x73, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x4c, 0x0a, 0x19, 0x74, 0x6f, 0x6c,
+ 0x65, 0x72, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69,
+ 0x6f, 0x6e, 0x5f, 0x6c, 0x61, 0x67, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x76,
+ 0x74, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x17,
+ 0x74, 0x6f, 0x6c, 0x65, 0x72, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61,
+ 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x61, 0x67, 0x22, 0xba, 0x01, 0x0a, 0x1c, 0x50, 0x6c, 0x61, 0x6e,
+ 0x6e, 0x65, 0x64, 0x52, 0x65, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x53, 0x68, 0x61, 0x72, 0x64,
+ 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73,
+ 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73,
+ 0x70, 0x61, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x18, 0x02, 0x20,
+ 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x12, 0x40, 0x0a, 0x10, 0x70, 0x72,
+ 0x6f, 0x6d, 0x6f, 0x74, 0x65, 0x64, 0x5f, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x18, 0x03,
+ 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e,
+ 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x0f, 0x70, 0x72, 0x6f,
+ 0x6d, 0x6f, 0x74, 0x65, 0x64, 0x50, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x12, 0x26, 0x0a, 0x06,
+ 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x6c,
+ 0x6f, 0x67, 0x75, 0x74, 0x69, 0x6c, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x06, 0x65, 0x76,
+ 0x65, 0x6e, 0x74, 0x73, 0x22, 0x74, 0x0a, 0x1b, 0x52, 0x65, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x4b,
+ 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x47, 0x72, 0x61, 0x70, 0x68, 0x52, 0x65, 0x71, 0x75,
+ 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18,
+ 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12,
+ 0x14, 0x0a, 0x05, 0x63, 0x65, 0x6c, 0x6c, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05,
+ 0x63, 0x65, 0x6c, 0x6c, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x70,
+ 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x61, 0x6c,
+ 0x6c, 0x6f, 0x77, 0x50, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x22, 0x1e, 0x0a, 0x1c, 0x52, 0x65,
+ 0x62, 0x75, 0x69, 0x6c, 0x64, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x47, 0x72, 0x61,
+ 0x70, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x32, 0x0a, 0x1a, 0x52, 0x65,
+ 0x62, 0x75, 0x69, 0x6c, 0x64, 0x56, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x47, 0x72, 0x61, 0x70,
+ 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x65, 0x6c, 0x6c,
+ 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x63, 0x65, 0x6c, 0x6c, 0x73, 0x22, 0x1d,
+ 0x0a, 0x1b, 0x52, 0x65, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x56, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61,
+ 0x47, 0x72, 0x61, 0x70, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4f, 0x0a,
+ 0x13, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71,
+ 0x75, 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x0c, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f, 0x61,
+ 0x6c, 0x69, 0x61, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x74, 0x6f, 0x70,
+ 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61,
+ 0x73, 0x52, 0x0b, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x22, 0x16,
+ 0x0a, 0x14, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x65,
+ 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x64, 0x0a, 0x1a, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73,
+ 0x68, 0x53, 0x74, 0x61, 0x74, 0x65, 0x42, 0x79, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71,
+ 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65,
+ 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65,
+ 0x12, 0x14, 0x0a, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
+ 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x65, 0x6c, 0x6c, 0x73, 0x18,
+ 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x63, 0x65, 0x6c, 0x6c, 0x73, 0x22, 0x83, 0x01, 0x0a,
+ 0x1b, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x53, 0x74, 0x61, 0x74, 0x65, 0x42, 0x79, 0x53,
+ 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2c, 0x0a, 0x12,
+ 0x69, 0x73, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x72, 0x65, 0x66, 0x72, 0x65,
+ 0x73, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x69, 0x73, 0x50, 0x61, 0x72, 0x74,
+ 0x69, 0x61, 0x6c, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x12, 0x36, 0x0a, 0x17, 0x70, 0x61,
+ 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x5f, 0x64, 0x65,
+ 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x15, 0x70, 0x61, 0x72,
+ 0x74, 0x69, 0x61, 0x6c, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x44, 0x65, 0x74, 0x61, 0x69,
+ 0x6c, 0x73, 0x22, 0x4f, 0x0a, 0x13, 0x52, 0x65, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x63, 0x68, 0x65,
+ 0x6d, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x0c, 0x74, 0x61, 0x62,
+ 0x6c, 0x65, 0x74, 0x5f, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32,
+ 0x15, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65,
+ 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x0b, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c,
+ 0x69, 0x61, 0x73, 0x22, 0x16, 0x0a, 0x14, 0x52, 0x65, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x63, 0x68,
+ 0x65, 0x6d, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xa9, 0x01, 0x0a, 0x1b,
+ 0x52, 0x65, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4b, 0x65, 0x79, 0x73,
+ 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6b,
+ 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b,
+ 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x77, 0x61, 0x69, 0x74, 0x5f,
+ 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c,
+ 0x77, 0x61, 0x69, 0x74, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x27, 0x0a, 0x0f,
+ 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x18,
+ 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x50, 0x72,
+ 0x69, 0x6d, 0x61, 0x72, 0x79, 0x12, 0x20, 0x0a, 0x0b, 0x63, 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72,
+ 0x65, 0x6e, 0x63, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x63, 0x6f, 0x6e, 0x63,
+ 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x22, 0x46, 0x0a, 0x1c, 0x52, 0x65, 0x6c, 0x6f, 0x61,
+ 0x64, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52,
+ 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x26, 0x0a, 0x06, 0x65, 0x76, 0x65, 0x6e, 0x74,
+ 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x6c, 0x6f, 0x67, 0x75, 0x74, 0x69,
+ 0x6c, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x06, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x22,
+ 0xbc, 0x01, 0x0a, 0x18, 0x52, 0x65, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61,
+ 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08,
0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08,
0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x68, 0x61, 0x72,
- 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x12, 0x14,
- 0x0a, 0x05, 0x63, 0x65, 0x6c, 0x6c, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x63,
- 0x65, 0x6c, 0x6c, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x18, 0x04,
- 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x12, 0x3c, 0x0a, 0x0e,
- 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x65, 0x73, 0x18, 0x05,
- 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e,
- 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x0d, 0x74, 0x61, 0x62,
- 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x65, 0x73, 0x12, 0x35, 0x0a, 0x0b, 0x74, 0x61,
- 0x62, 0x6c, 0x65, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32,
- 0x14, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65,
- 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0a, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x54, 0x79, 0x70,
- 0x65, 0x22, 0x40, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x73, 0x52,
- 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x74, 0x61, 0x62, 0x6c, 0x65,
- 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64,
- 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x52, 0x07, 0x74, 0x61, 0x62, 0x6c,
- 0x65, 0x74, 0x73, 0x22, 0x2c, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x54, 0x6f, 0x70, 0x6f, 0x6c, 0x6f,
- 0x67, 0x79, 0x50, 0x61, 0x74, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a,
- 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x61, 0x74,
- 0x68, 0x22, 0x46, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x54, 0x6f, 0x70, 0x6f, 0x6c, 0x6f, 0x67, 0x79,
- 0x50, 0x61, 0x74, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2b, 0x0a, 0x04,
- 0x63, 0x65, 0x6c, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x76, 0x74, 0x63,
- 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x6f, 0x70, 0x6f, 0x6c, 0x6f, 0x67, 0x79, 0x43,
- 0x65, 0x6c, 0x6c, 0x52, 0x04, 0x63, 0x65, 0x6c, 0x6c, 0x22, 0x66, 0x0a, 0x0c, 0x54, 0x6f, 0x70,
- 0x6f, 0x6c, 0x6f, 0x67, 0x79, 0x43, 0x65, 0x6c, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d,
- 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a,
- 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x61, 0x74,
- 0x68, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52,
- 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x72, 0x65,
- 0x6e, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x72, 0x65,
- 0x6e, 0x22, 0x2f, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x56, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52,
- 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61,
- 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61,
- 0x63, 0x65, 0x22, 0x4d, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e,
- 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x0c, 0x74, 0x61, 0x62, 0x6c, 0x65,
- 0x74, 0x5f, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e,
- 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41,
- 0x6c, 0x69, 0x61, 0x73, 0x52, 0x0b, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61,
- 0x73, 0x22, 0x2e, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52,
- 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69,
- 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f,
- 0x6e, 0x22, 0x42, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x56, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52,
- 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2c, 0x0a, 0x08, 0x76, 0x5f, 0x73, 0x63, 0x68,
- 0x65, 0x6d, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x76, 0x73, 0x63, 0x68,
- 0x65, 0x6d, 0x61, 0x2e, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x07, 0x76, 0x53,
- 0x63, 0x68, 0x65, 0x6d, 0x61, 0x22, 0xc6, 0x01, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x57, 0x6f, 0x72,
- 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a,
- 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
- 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x63, 0x74,
- 0x69, 0x76, 0x65, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a,
- 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x4f, 0x6e, 0x6c, 0x79, 0x12, 0x1b, 0x0a, 0x09, 0x6e, 0x61,
- 0x6d, 0x65, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x6e,
- 0x61, 0x6d, 0x65, 0x4f, 0x6e, 0x6c, 0x79, 0x12, 0x1a, 0x0a, 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x66,
- 0x6c, 0x6f, 0x77, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x66,
- 0x6c, 0x6f, 0x77, 0x12, 0x21, 0x0a, 0x0c, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x6c,
- 0x6f, 0x67, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x69, 0x6e, 0x63, 0x6c, 0x75,
- 0x64, 0x65, 0x4c, 0x6f, 0x67, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x68, 0x61, 0x72, 0x64, 0x73,
- 0x18, 0x06, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x73, 0x68, 0x61, 0x72, 0x64, 0x73, 0x22, 0x49,
- 0x0a, 0x14, 0x47, 0x65, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x73, 0x52, 0x65,
- 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x31, 0x0a, 0x09, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c,
- 0x6f, 0x77, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x76, 0x74, 0x63, 0x74,
- 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x52, 0x09,
- 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x73, 0x22, 0xfb, 0x01, 0x0a, 0x17, 0x49, 0x6e,
- 0x69, 0x74, 0x53, 0x68, 0x61, 0x72, 0x64, 0x50, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x52, 0x65,
+ 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x12, 0x23,
+ 0x0a, 0x0d, 0x77, 0x61, 0x69, 0x74, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18,
+ 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x77, 0x61, 0x69, 0x74, 0x50, 0x6f, 0x73, 0x69, 0x74,
+ 0x69, 0x6f, 0x6e, 0x12, 0x27, 0x0a, 0x0f, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x70,
+ 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x69, 0x6e,
+ 0x63, 0x6c, 0x75, 0x64, 0x65, 0x50, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x12, 0x20, 0x0a, 0x0b,
+ 0x63, 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28,
+ 0x05, 0x52, 0x0b, 0x63, 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x22, 0x43,
+ 0x0a, 0x19, 0x52, 0x65, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x53, 0x68,
+ 0x61, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x26, 0x0a, 0x06, 0x65,
+ 0x76, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x6c, 0x6f,
+ 0x67, 0x75, 0x74, 0x69, 0x6c, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x06, 0x65, 0x76, 0x65,
+ 0x6e, 0x74, 0x73, 0x22, 0x5b, 0x0a, 0x13, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x42, 0x61, 0x63,
+ 0x6b, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65,
+ 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65,
+ 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x18,
+ 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x12, 0x12, 0x0a, 0x04,
+ 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65,
+ 0x22, 0x16, 0x0a, 0x14, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70,
+ 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x7f, 0x0a, 0x19, 0x52, 0x65, 0x6d, 0x6f,
+ 0x76, 0x65, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x43, 0x65, 0x6c, 0x6c, 0x52, 0x65,
0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63,
0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63,
- 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
- 0x52, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x12, 0x52, 0x0a, 0x1a, 0x70, 0x72, 0x69, 0x6d, 0x61,
- 0x72, 0x79, 0x5f, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f,
- 0x61, 0x6c, 0x69, 0x61, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x74, 0x6f,
- 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69,
- 0x61, 0x73, 0x52, 0x17, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x45, 0x6c, 0x65, 0x63, 0x74,
- 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x66,
- 0x6f, 0x72, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x66, 0x6f, 0x72, 0x63,
- 0x65, 0x12, 0x44, 0x0a, 0x15, 0x77, 0x61, 0x69, 0x74, 0x5f, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63,
- 0x61, 0x73, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b,
- 0x32, 0x10, 0x2e, 0x76, 0x74, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69,
- 0x6f, 0x6e, 0x52, 0x13, 0x77, 0x61, 0x69, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x73,
- 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x22, 0x42, 0x0a, 0x18, 0x49, 0x6e, 0x69, 0x74, 0x53,
- 0x68, 0x61, 0x72, 0x64, 0x50, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f,
- 0x6e, 0x73, 0x65, 0x12, 0x26, 0x0a, 0x06, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20,
- 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x6c, 0x6f, 0x67, 0x75, 0x74, 0x69, 0x6c, 0x2e, 0x45, 0x76,
- 0x65, 0x6e, 0x74, 0x52, 0x06, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x22, 0x4e, 0x0a, 0x1c, 0x4c,
- 0x61, 0x75, 0x6e, 0x63, 0x68, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4d, 0x69, 0x67, 0x72, 0x61,
+ 0x65, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x65, 0x6c, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
+ 0x04, 0x63, 0x65, 0x6c, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x18, 0x03,
+ 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x72,
+ 0x65, 0x63, 0x75, 0x72, 0x73, 0x69, 0x76, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09,
+ 0x72, 0x65, 0x63, 0x75, 0x72, 0x73, 0x69, 0x76, 0x65, 0x22, 0x1c, 0x0a, 0x1a, 0x52, 0x65, 0x6d,
+ 0x6f, 0x76, 0x65, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x43, 0x65, 0x6c, 0x6c, 0x52,
+ 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x9b, 0x01, 0x0a, 0x16, 0x52, 0x65, 0x6d, 0x6f,
+ 0x76, 0x65, 0x53, 0x68, 0x61, 0x72, 0x64, 0x43, 0x65, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65,
+ 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01,
+ 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x1d,
+ 0x0a, 0x0a, 0x73, 0x68, 0x61, 0x72, 0x64, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01,
+ 0x28, 0x09, 0x52, 0x09, 0x73, 0x68, 0x61, 0x72, 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a,
+ 0x04, 0x63, 0x65, 0x6c, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x65, 0x6c,
+ 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08,
+ 0x52, 0x05, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x72, 0x65, 0x63, 0x75, 0x72,
+ 0x73, 0x69, 0x76, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x72, 0x65, 0x63, 0x75,
+ 0x72, 0x73, 0x69, 0x76, 0x65, 0x22, 0x19, 0x0a, 0x17, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x53,
+ 0x68, 0x61, 0x72, 0x64, 0x43, 0x65, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
+ 0x22, 0x46, 0x0a, 0x15, 0x52, 0x65, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x54, 0x61, 0x62, 0x6c,
+ 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2d, 0x0a, 0x06, 0x74, 0x61, 0x62,
+ 0x6c, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x74, 0x6f, 0x70, 0x6f,
+ 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73,
+ 0x52, 0x06, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x22, 0x7b, 0x0a, 0x16, 0x52, 0x65, 0x70, 0x61,
+ 0x72, 0x65, 0x6e, 0x74, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
+ 0x73, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01,
+ 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x14,
+ 0x0a, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73,
+ 0x68, 0x61, 0x72, 0x64, 0x12, 0x2f, 0x0a, 0x07, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x18,
+ 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61,
+ 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x07, 0x70, 0x72,
+ 0x69, 0x6d, 0x61, 0x72, 0x79, 0x22, 0x8f, 0x04, 0x0a, 0x14, 0x52, 0x65, 0x73, 0x68, 0x61, 0x72,
+ 0x64, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a,
+ 0x0a, 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
+ 0x52, 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65,
+ 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65,
+ 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65,
+ 0x5f, 0x73, 0x68, 0x61, 0x72, 0x64, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x73,
+ 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x68, 0x61, 0x72, 0x64, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x74,
+ 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x73, 0x68, 0x61, 0x72, 0x64, 0x73, 0x18, 0x04, 0x20, 0x03,
+ 0x28, 0x09, 0x52, 0x0c, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x53, 0x68, 0x61, 0x72, 0x64, 0x73,
+ 0x12, 0x14, 0x0a, 0x05, 0x63, 0x65, 0x6c, 0x6c, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52,
+ 0x05, 0x63, 0x65, 0x6c, 0x6c, 0x73, 0x12, 0x37, 0x0a, 0x0c, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74,
+ 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x74,
+ 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x54, 0x79,
+ 0x70, 0x65, 0x52, 0x0b, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12,
+ 0x6c, 0x0a, 0x1b, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74,
+ 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x07,
+ 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2c, 0x2e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x6d, 0x61, 0x6e,
+ 0x61, 0x67, 0x65, 0x72, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x53,
+ 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e,
+ 0x63, 0x65, 0x52, 0x19, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74,
+ 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x28, 0x0a,
+ 0x10, 0x73, 0x6b, 0x69, 0x70, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x5f, 0x63, 0x6f, 0x70,
+ 0x79, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x73, 0x6b, 0x69, 0x70, 0x53, 0x63, 0x68,
+ 0x65, 0x6d, 0x61, 0x43, 0x6f, 0x70, 0x79, 0x12, 0x15, 0x0a, 0x06, 0x6f, 0x6e, 0x5f, 0x64, 0x64,
+ 0x6c, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6f, 0x6e, 0x44, 0x64, 0x6c, 0x12, 0x26,
+ 0x0a, 0x0f, 0x73, 0x74, 0x6f, 0x70, 0x5f, 0x61, 0x66, 0x74, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x70,
+ 0x79, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x73, 0x74, 0x6f, 0x70, 0x41, 0x66, 0x74,
+ 0x65, 0x72, 0x43, 0x6f, 0x70, 0x79, 0x12, 0x30, 0x0a, 0x14, 0x64, 0x65, 0x66, 0x65, 0x72, 0x5f,
+ 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x0b,
+ 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x64, 0x65, 0x66, 0x65, 0x72, 0x53, 0x65, 0x63, 0x6f, 0x6e,
+ 0x64, 0x61, 0x72, 0x79, 0x4b, 0x65, 0x79, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x75, 0x74, 0x6f,
+ 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x61, 0x75,
+ 0x74, 0x6f, 0x53, 0x74, 0x61, 0x72, 0x74, 0x22, 0x82, 0x02, 0x0a, 0x18, 0x52, 0x65, 0x73, 0x74,
+ 0x6f, 0x72, 0x65, 0x46, 0x72, 0x6f, 0x6d, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x52, 0x65, 0x71,
+ 0x75, 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x0c, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f, 0x61,
+ 0x6c, 0x69, 0x61, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x74, 0x6f, 0x70,
+ 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61,
+ 0x73, 0x52, 0x0b, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x12, 0x2d,
+ 0x0a, 0x0b, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20,
+ 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x76, 0x74, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x54, 0x69, 0x6d,
+ 0x65, 0x52, 0x0a, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x24, 0x0a,
+ 0x0e, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x5f, 0x74, 0x6f, 0x5f, 0x70, 0x6f, 0x73, 0x18,
+ 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x54, 0x6f,
+ 0x50, 0x6f, 0x73, 0x12, 0x17, 0x0a, 0x07, 0x64, 0x72, 0x79, 0x5f, 0x72, 0x75, 0x6e, 0x18, 0x04,
+ 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x64, 0x72, 0x79, 0x52, 0x75, 0x6e, 0x12, 0x3e, 0x0a, 0x14,
+ 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x5f, 0x74, 0x6f, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73,
+ 0x74, 0x61, 0x6d, 0x70, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x76, 0x74, 0x74,
+ 0x69, 0x6d, 0x65, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x52, 0x12, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72,
+ 0x65, 0x54, 0x6f, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0xad, 0x01, 0x0a,
+ 0x19, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x46, 0x72, 0x6f, 0x6d, 0x42, 0x61, 0x63, 0x6b,
+ 0x75, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x38, 0x0a, 0x0c, 0x74, 0x61,
+ 0x62, 0x6c, 0x65, 0x74, 0x5f, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b,
+ 0x32, 0x15, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c,
+ 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x0b, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41,
+ 0x6c, 0x69, 0x61, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65,
+ 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65,
+ 0x12, 0x14, 0x0a, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52,
+ 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x12, 0x24, 0x0a, 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x18,
+ 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x6c, 0x6f, 0x67, 0x75, 0x74, 0x69, 0x6c, 0x2e,
+ 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x22, 0x4d, 0x0a, 0x1b,
+ 0x52, 0x65, 0x74, 0x72, 0x79, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4d, 0x69, 0x67, 0x72, 0x61,
0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6b,
0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b,
0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18,
- 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x22, 0xdf, 0x01, 0x0a, 0x1d,
- 0x4c, 0x61, 0x75, 0x6e, 0x63, 0x68, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4d, 0x69, 0x67, 0x72,
- 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x76, 0x0a,
- 0x16, 0x72, 0x6f, 0x77, 0x73, 0x5f, 0x61, 0x66, 0x66, 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x62,
- 0x79, 0x5f, 0x73, 0x68, 0x61, 0x72, 0x64, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x41, 0x2e,
- 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x4c, 0x61, 0x75, 0x6e, 0x63, 0x68,
- 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52,
- 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x52, 0x6f, 0x77, 0x73, 0x41, 0x66, 0x66, 0x65,
- 0x63, 0x74, 0x65, 0x64, 0x42, 0x79, 0x53, 0x68, 0x61, 0x72, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79,
- 0x52, 0x13, 0x72, 0x6f, 0x77, 0x73, 0x41, 0x66, 0x66, 0x65, 0x63, 0x74, 0x65, 0x64, 0x42, 0x79,
- 0x53, 0x68, 0x61, 0x72, 0x64, 0x1a, 0x46, 0x0a, 0x18, 0x52, 0x6f, 0x77, 0x73, 0x41, 0x66, 0x66,
- 0x65, 0x63, 0x74, 0x65, 0x64, 0x42, 0x79, 0x53, 0x68, 0x61, 0x72, 0x64, 0x45, 0x6e, 0x74, 0x72,
- 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03,
- 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01,
- 0x28, 0x04, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xff, 0x02,
- 0x0a, 0x19, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x56, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x43, 0x72,
- 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6b,
+ 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x22, 0xdd, 0x01, 0x0a, 0x1c,
+ 0x52, 0x65, 0x74, 0x72, 0x79, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4d, 0x69, 0x67, 0x72, 0x61,
+ 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x75, 0x0a, 0x16,
+ 0x72, 0x6f, 0x77, 0x73, 0x5f, 0x61, 0x66, 0x66, 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x62, 0x79,
+ 0x5f, 0x73, 0x68, 0x61, 0x72, 0x64, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x40, 0x2e, 0x76,
+ 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x52, 0x65, 0x74, 0x72, 0x79, 0x53, 0x63,
+ 0x68, 0x65, 0x6d, 0x61, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73,
+ 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x52, 0x6f, 0x77, 0x73, 0x41, 0x66, 0x66, 0x65, 0x63, 0x74,
+ 0x65, 0x64, 0x42, 0x79, 0x53, 0x68, 0x61, 0x72, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x13,
+ 0x72, 0x6f, 0x77, 0x73, 0x41, 0x66, 0x66, 0x65, 0x63, 0x74, 0x65, 0x64, 0x42, 0x79, 0x53, 0x68,
+ 0x61, 0x72, 0x64, 0x1a, 0x46, 0x0a, 0x18, 0x52, 0x6f, 0x77, 0x73, 0x41, 0x66, 0x66, 0x65, 0x63,
+ 0x74, 0x65, 0x64, 0x42, 0x79, 0x53, 0x68, 0x61, 0x72, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12,
+ 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65,
+ 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04,
+ 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x51, 0x0a, 0x15, 0x52,
+ 0x75, 0x6e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x71,
+ 0x75, 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x0c, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f, 0x61,
+ 0x6c, 0x69, 0x61, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x74, 0x6f, 0x70,
+ 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61,
+ 0x73, 0x52, 0x0b, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x22, 0x18,
+ 0x0a, 0x16, 0x52, 0x75, 0x6e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b,
+ 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x6d, 0x0a, 0x22, 0x53, 0x65, 0x74, 0x4b,
+ 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x44, 0x75, 0x72, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74,
+ 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a,
+ 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
+ 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x2b, 0x0a, 0x11, 0x64, 0x75,
+ 0x72, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18,
+ 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x64, 0x75, 0x72, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74,
+ 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x22, 0x55, 0x0a, 0x23, 0x53, 0x65, 0x74, 0x4b, 0x65,
+ 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x44, 0x75, 0x72, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79,
+ 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2e,
+ 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b,
+ 0x32, 0x12, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x4b, 0x65, 0x79, 0x73,
+ 0x70, 0x61, 0x63, 0x65, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x22, 0x5e,
+ 0x0a, 0x1e, 0x53, 0x65, 0x74, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x53, 0x68, 0x61,
+ 0x72, 0x64, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
+ 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01,
+ 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x05,
+ 0x66, 0x6f, 0x72, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x66, 0x6f, 0x72,
+ 0x63, 0x65, 0x4a, 0x04, 0x08, 0x02, 0x10, 0x03, 0x4a, 0x04, 0x08, 0x03, 0x10, 0x04, 0x22, 0x51,
+ 0x0a, 0x1f, 0x53, 0x65, 0x74, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x53, 0x68, 0x61,
+ 0x72, 0x64, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
+ 0x65, 0x12, 0x2e, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20,
+ 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x4b,
+ 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63,
+ 0x65, 0x22, 0x72, 0x0a, 0x1f, 0x53, 0x65, 0x74, 0x53, 0x68, 0x61, 0x72, 0x64, 0x49, 0x73, 0x50,
+ 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71,
+ 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65,
+ 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65,
+ 0x12, 0x14, 0x0a, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
+ 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x73, 0x5f, 0x73, 0x65, 0x72,
+ 0x76, 0x69, 0x6e, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x69, 0x73, 0x53, 0x65,
+ 0x72, 0x76, 0x69, 0x6e, 0x67, 0x22, 0x49, 0x0a, 0x20, 0x53, 0x65, 0x74, 0x53, 0x68, 0x61, 0x72,
+ 0x64, 0x49, 0x73, 0x50, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x6e,
+ 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x25, 0x0a, 0x05, 0x73, 0x68, 0x61,
+ 0x72, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64,
+ 0x61, 0x74, 0x61, 0x2e, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64,
+ 0x22, 0x8e, 0x02, 0x0a, 0x1c, 0x53, 0x65, 0x74, 0x53, 0x68, 0x61, 0x72, 0x64, 0x54, 0x61, 0x62,
+ 0x6c, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
+ 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20,
+ 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x14, 0x0a,
+ 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x68,
+ 0x61, 0x72, 0x64, 0x12, 0x35, 0x0a, 0x0b, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f, 0x74, 0x79,
+ 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64,
+ 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0a,
+ 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x65,
+ 0x6c, 0x6c, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x63, 0x65, 0x6c, 0x6c, 0x73,
+ 0x12, 0x23, 0x0a, 0x0d, 0x64, 0x65, 0x6e, 0x69, 0x65, 0x64, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65,
+ 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x64, 0x65, 0x6e, 0x69, 0x65, 0x64, 0x54,
+ 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x32, 0x0a, 0x15, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65,
+ 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x18, 0x06,
+ 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x51, 0x75, 0x65,
+ 0x72, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x6d,
+ 0x6f, 0x76, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x72, 0x65, 0x6d, 0x6f, 0x76,
+ 0x65, 0x22, 0x46, 0x0a, 0x1d, 0x53, 0x65, 0x74, 0x53, 0x68, 0x61, 0x72, 0x64, 0x54, 0x61, 0x62,
+ 0x6c, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
+ 0x73, 0x65, 0x12, 0x25, 0x0a, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
+ 0x0b, 0x32, 0x0f, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x53, 0x68, 0x61,
+ 0x72, 0x64, 0x52, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x22, 0x6a, 0x0a, 0x12, 0x53, 0x65, 0x74,
+ 0x57, 0x72, 0x69, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
+ 0x38, 0x0a, 0x0c, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x18,
+ 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61,
+ 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x0b, 0x74, 0x61,
+ 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x77, 0x72, 0x69,
+ 0x74, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x77, 0x72, 0x69,
+ 0x74, 0x61, 0x62, 0x6c, 0x65, 0x22, 0x15, 0x0a, 0x13, 0x53, 0x65, 0x74, 0x57, 0x72, 0x69, 0x74,
+ 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x88, 0x01, 0x0a,
+ 0x1a, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f,
+ 0x6e, 0x41, 0x64, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6b,
0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b,
- 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x66,
- 0x6c, 0x6f, 0x77, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x66,
- 0x6c, 0x6f, 0x77, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x65, 0x6c, 0x6c, 0x73, 0x18, 0x03, 0x20, 0x03,
- 0x28, 0x09, 0x52, 0x05, 0x63, 0x65, 0x6c, 0x6c, 0x73, 0x12, 0x29, 0x0a, 0x06, 0x76, 0x69, 0x6e,
- 0x64, 0x65, 0x78, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x76, 0x73, 0x63, 0x68,
- 0x65, 0x6d, 0x61, 0x2e, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x06, 0x76, 0x69,
- 0x6e, 0x64, 0x65, 0x78, 0x12, 0x42, 0x0a, 0x1e, 0x63, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x65,
- 0x5f, 0x61, 0x66, 0x74, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x70, 0x79, 0x5f, 0x77, 0x69, 0x74, 0x68,
- 0x5f, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x1a, 0x63, 0x6f,
- 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x65, 0x41, 0x66, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x70, 0x79, 0x57,
- 0x69, 0x74, 0x68, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x12, 0x37, 0x0a, 0x0c, 0x74, 0x61, 0x62, 0x6c,
- 0x65, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x14,
- 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74,
- 0x54, 0x79, 0x70, 0x65, 0x52, 0x0b, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65,
- 0x73, 0x12, 0x6c, 0x0a, 0x1b, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f, 0x73, 0x65, 0x6c, 0x65,
- 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65,
- 0x18, 0x07, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2c, 0x2e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x6d,
- 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65,
- 0x74, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x65, 0x66, 0x65, 0x72,
- 0x65, 0x6e, 0x63, 0x65, 0x52, 0x19, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x53, 0x65, 0x6c, 0x65,
- 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x22,
- 0x1c, 0x0a, 0x1a, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x56, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x43,
- 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x77, 0x0a,
- 0x1e, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x56, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x45, 0x78, 0x74,
- 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
- 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28,
- 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e,
- 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12,
- 0x25, 0x0a, 0x0e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63,
- 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x4b, 0x65,
- 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x22, 0x4c, 0x0a, 0x1f, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70,
- 0x56, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x69, 0x7a,
- 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x29, 0x0a, 0x10, 0x77, 0x6f, 0x72,
- 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x18, 0x01, 0x20,
- 0x01, 0x28, 0x08, 0x52, 0x0f, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x44, 0x65, 0x6c,
- 0x65, 0x74, 0x65, 0x64, 0x22, 0x56, 0x0a, 0x18, 0x4d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c,
- 0x69, 0x7a, 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
- 0x12, 0x3a, 0x0a, 0x08, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x01, 0x20, 0x01,
- 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x4d,
- 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e,
- 0x67, 0x73, 0x52, 0x08, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x22, 0x1b, 0x0a, 0x19,
- 0x4d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x43, 0x72, 0x65, 0x61, 0x74,
- 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xdd, 0x05, 0x0a, 0x14, 0x4d, 0x69,
- 0x67, 0x72, 0x61, 0x74, 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65,
- 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x18, 0x01,
- 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x12, 0x27,
- 0x0a, 0x0f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63,
- 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4b,
- 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x74, 0x61, 0x72, 0x67, 0x65,
- 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09,
- 0x52, 0x0e, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65,
- 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04,
- 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12,
- 0x14, 0x0a, 0x05, 0x63, 0x65, 0x6c, 0x6c, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05,
- 0x63, 0x65, 0x6c, 0x6c, 0x73, 0x12, 0x37, 0x0a, 0x0c, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f,
- 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x74, 0x6f,
- 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x54, 0x79, 0x70,
- 0x65, 0x52, 0x0b, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x6c,
- 0x0a, 0x1b, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69,
- 0x6f, 0x6e, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x07, 0x20,
- 0x01, 0x28, 0x0e, 0x32, 0x2c, 0x2e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x6d, 0x61, 0x6e, 0x61,
- 0x67, 0x65, 0x72, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x53, 0x65,
- 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63,
- 0x65, 0x52, 0x19, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69,
- 0x6f, 0x6e, 0x50, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x1d, 0x0a, 0x0a,
- 0x61, 0x6c, 0x6c, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08,
- 0x52, 0x09, 0x61, 0x6c, 0x6c, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x69,
- 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x09, 0x20,
- 0x03, 0x28, 0x09, 0x52, 0x0d, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x54, 0x61, 0x62, 0x6c,
- 0x65, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x74, 0x61,
- 0x62, 0x6c, 0x65, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x65, 0x78, 0x63, 0x6c,
- 0x75, 0x64, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x28, 0x0a, 0x10, 0x73, 0x6f, 0x75,
- 0x72, 0x63, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0x0b, 0x20,
- 0x01, 0x28, 0x09, 0x52, 0x0e, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x5a,
- 0x6f, 0x6e, 0x65, 0x12, 0x15, 0x0a, 0x06, 0x6f, 0x6e, 0x5f, 0x64, 0x64, 0x6c, 0x18, 0x0c, 0x20,
- 0x01, 0x28, 0x09, 0x52, 0x05, 0x6f, 0x6e, 0x44, 0x64, 0x6c, 0x12, 0x26, 0x0a, 0x0f, 0x73, 0x74,
- 0x6f, 0x70, 0x5f, 0x61, 0x66, 0x74, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x70, 0x79, 0x18, 0x0d, 0x20,
- 0x01, 0x28, 0x08, 0x52, 0x0d, 0x73, 0x74, 0x6f, 0x70, 0x41, 0x66, 0x74, 0x65, 0x72, 0x43, 0x6f,
- 0x70, 0x79, 0x12, 0x2a, 0x0a, 0x11, 0x64, 0x72, 0x6f, 0x70, 0x5f, 0x66, 0x6f, 0x72, 0x65, 0x69,
- 0x67, 0x6e, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x64,
- 0x72, 0x6f, 0x70, 0x46, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x4b, 0x65, 0x79, 0x73, 0x12, 0x30,
- 0x0a, 0x14, 0x64, 0x65, 0x66, 0x65, 0x72, 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x61, 0x72,
- 0x79, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x64, 0x65,
- 0x66, 0x65, 0x72, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x4b, 0x65, 0x79, 0x73,
- 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x75, 0x74, 0x6f, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x10,
- 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x61, 0x75, 0x74, 0x6f, 0x53, 0x74, 0x61, 0x72, 0x74, 0x12,
- 0x28, 0x0a, 0x10, 0x6e, 0x6f, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x75,
- 0x6c, 0x65, 0x73, 0x18, 0x11, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x6e, 0x6f, 0x52, 0x6f, 0x75,
- 0x74, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x22, 0xe6, 0x01, 0x0a, 0x16, 0x4d, 0x69,
- 0x67, 0x72, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x71,
- 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77,
- 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77,
- 0x12, 0x27, 0x0a, 0x0f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x70,
- 0x61, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x74, 0x61, 0x72, 0x67, 0x65,
- 0x74, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x6b, 0x65, 0x65,
- 0x70, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x6b, 0x65,
- 0x65, 0x70, 0x44, 0x61, 0x74, 0x61, 0x12, 0x2c, 0x0a, 0x12, 0x6b, 0x65, 0x65, 0x70, 0x5f, 0x72,
- 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x05, 0x20, 0x01,
- 0x28, 0x08, 0x52, 0x10, 0x6b, 0x65, 0x65, 0x70, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x52,
- 0x75, 0x6c, 0x65, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x74,
- 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x72, 0x65, 0x6e,
- 0x61, 0x6d, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x17, 0x0a, 0x07, 0x64, 0x72, 0x79,
- 0x5f, 0x72, 0x75, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x64, 0x72, 0x79, 0x52,
- 0x75, 0x6e, 0x22, 0x5b, 0x0a, 0x17, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6d,
- 0x70, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a,
- 0x07, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07,
- 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x12, 0x26, 0x0a, 0x0f, 0x64, 0x72, 0x79, 0x5f, 0x72,
- 0x75, 0x6e, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09,
- 0x52, 0x0d, 0x64, 0x72, 0x79, 0x52, 0x75, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x22,
- 0x85, 0x01, 0x0a, 0x14, 0x4d, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65,
- 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x6f, 0x70, 0x6f,
- 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, 0x6f, 0x70,
- 0x6f, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x6f, 0x70, 0x6f, 0x5f, 0x73, 0x65,
- 0x72, 0x76, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x74, 0x6f, 0x70, 0x6f,
- 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x6f, 0x70, 0x6f, 0x5f, 0x72,
- 0x6f, 0x6f, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, 0x6f, 0x70, 0x6f, 0x52,
- 0x6f, 0x6f, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28,
- 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x17, 0x0a, 0x15, 0x4d, 0x6f, 0x75, 0x6e, 0x74,
- 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
- 0x22, 0x2c, 0x0a, 0x16, 0x4d, 0x6f, 0x75, 0x6e, 0x74, 0x55, 0x6e, 0x72, 0x65, 0x67, 0x69, 0x73,
- 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61,
- 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x19,
- 0x0a, 0x17, 0x4d, 0x6f, 0x75, 0x6e, 0x74, 0x55, 0x6e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65,
- 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x26, 0x0a, 0x10, 0x4d, 0x6f, 0x75,
- 0x6e, 0x74, 0x53, 0x68, 0x6f, 0x77, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a,
- 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d,
- 0x65, 0x22, 0x82, 0x01, 0x0a, 0x11, 0x4d, 0x6f, 0x75, 0x6e, 0x74, 0x53, 0x68, 0x6f, 0x77, 0x52,
- 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x6f, 0x70, 0x6f, 0x5f,
- 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, 0x6f, 0x70, 0x6f,
- 0x54, 0x79, 0x70, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x6f, 0x70, 0x6f, 0x5f, 0x73, 0x65, 0x72,
- 0x76, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x74, 0x6f, 0x70, 0x6f, 0x53,
- 0x65, 0x72, 0x76, 0x65, 0x72, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x6f, 0x70, 0x6f, 0x5f, 0x72, 0x6f,
- 0x6f, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, 0x6f, 0x70, 0x6f, 0x52, 0x6f,
- 0x6f, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09,
- 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x12, 0x0a, 0x10, 0x4d, 0x6f, 0x75, 0x6e, 0x74, 0x4c,
- 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x29, 0x0a, 0x11, 0x4d, 0x6f,
- 0x75, 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12,
- 0x14, 0x0a, 0x05, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05,
- 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x22, 0x82, 0x07, 0x0a, 0x17, 0x4d, 0x6f, 0x76, 0x65, 0x54, 0x61,
- 0x62, 0x6c, 0x65, 0x73, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
- 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x18, 0x01, 0x20,
- 0x01, 0x28, 0x09, 0x52, 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x12, 0x27, 0x0a,
- 0x0f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65,
- 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4b, 0x65,
- 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74,
- 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52,
- 0x0e, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12,
- 0x14, 0x0a, 0x05, 0x63, 0x65, 0x6c, 0x6c, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05,
- 0x63, 0x65, 0x6c, 0x6c, 0x73, 0x12, 0x37, 0x0a, 0x0c, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f,
- 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x74, 0x6f,
- 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x54, 0x79, 0x70,
- 0x65, 0x52, 0x0b, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x6c,
- 0x0a, 0x1b, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69,
- 0x6f, 0x6e, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x06, 0x20,
- 0x01, 0x28, 0x0e, 0x32, 0x2c, 0x2e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x6d, 0x61, 0x6e, 0x61,
- 0x67, 0x65, 0x72, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x53, 0x65,
- 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63,
- 0x65, 0x52, 0x19, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69,
- 0x6f, 0x6e, 0x50, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x23, 0x0a, 0x0d,
- 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x73, 0x68, 0x61, 0x72, 0x64, 0x73, 0x18, 0x07, 0x20,
- 0x03, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x68, 0x61, 0x72, 0x64,
- 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x6c, 0x6c, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18,
- 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x61, 0x6c, 0x6c, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73,
- 0x12, 0x25, 0x0a, 0x0e, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x74, 0x61, 0x62, 0x6c,
- 0x65, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64,
- 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x65, 0x78, 0x63, 0x6c, 0x75,
- 0x64, 0x65, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x09, 0x52,
- 0x0d, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x32,
- 0x0a, 0x15, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74,
- 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x65,
- 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4e, 0x61,
- 0x6d, 0x65, 0x12, 0x28, 0x0a, 0x10, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x74, 0x69, 0x6d,
- 0x65, 0x5f, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x73, 0x6f,
- 0x75, 0x72, 0x63, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x5a, 0x6f, 0x6e, 0x65, 0x12, 0x15, 0x0a, 0x06,
- 0x6f, 0x6e, 0x5f, 0x64, 0x64, 0x6c, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6f, 0x6e,
- 0x44, 0x64, 0x6c, 0x12, 0x26, 0x0a, 0x0f, 0x73, 0x74, 0x6f, 0x70, 0x5f, 0x61, 0x66, 0x74, 0x65,
- 0x72, 0x5f, 0x63, 0x6f, 0x70, 0x79, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x73, 0x74,
- 0x6f, 0x70, 0x41, 0x66, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x70, 0x79, 0x12, 0x2a, 0x0a, 0x11, 0x64,
- 0x72, 0x6f, 0x70, 0x5f, 0x66, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x5f, 0x6b, 0x65, 0x79, 0x73,
- 0x18, 0x0f, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x64, 0x72, 0x6f, 0x70, 0x46, 0x6f, 0x72, 0x65,
- 0x69, 0x67, 0x6e, 0x4b, 0x65, 0x79, 0x73, 0x12, 0x30, 0x0a, 0x14, 0x64, 0x65, 0x66, 0x65, 0x72,
- 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x18,
- 0x10, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x64, 0x65, 0x66, 0x65, 0x72, 0x53, 0x65, 0x63, 0x6f,
- 0x6e, 0x64, 0x61, 0x72, 0x79, 0x4b, 0x65, 0x79, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x75, 0x74,
- 0x6f, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x11, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x61,
- 0x75, 0x74, 0x6f, 0x53, 0x74, 0x61, 0x72, 0x74, 0x12, 0x28, 0x0a, 0x10, 0x6e, 0x6f, 0x5f, 0x72,
- 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x12, 0x20, 0x01,
- 0x28, 0x08, 0x52, 0x0e, 0x6e, 0x6f, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c,
- 0x65, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x74, 0x6f, 0x6d, 0x69, 0x63, 0x5f, 0x63, 0x6f, 0x70,
- 0x79, 0x18, 0x13, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x61, 0x74, 0x6f, 0x6d, 0x69, 0x63, 0x43,
- 0x6f, 0x70, 0x79, 0x12, 0x45, 0x0a, 0x10, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x5f,
- 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e,
- 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c,
- 0x6f, 0x77, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x0f, 0x77, 0x6f, 0x72, 0x6b, 0x66,
- 0x6c, 0x6f, 0x77, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0xd5, 0x01, 0x0a, 0x18, 0x4d,
- 0x6f, 0x76, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52,
- 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x6d, 0x6d, 0x61,
- 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72,
- 0x79, 0x12, 0x48, 0x0a, 0x07, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x02, 0x20, 0x03,
- 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x4d,
- 0x6f, 0x76, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52,
- 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x49, 0x6e,
- 0x66, 0x6f, 0x52, 0x07, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x1a, 0x55, 0x0a, 0x0a, 0x54,
- 0x61, 0x62, 0x6c, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x2d, 0x0a, 0x06, 0x74, 0x61, 0x62,
- 0x6c, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x74, 0x6f, 0x70, 0x6f,
- 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73,
- 0x52, 0x06, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61,
- 0x74, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74,
- 0x65, 0x64, 0x22, 0x81, 0x02, 0x0a, 0x19, 0x4d, 0x6f, 0x76, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65,
- 0x73, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
- 0x12, 0x1a, 0x0a, 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x18, 0x01, 0x20, 0x01,
- 0x28, 0x09, 0x52, 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x12, 0x27, 0x0a, 0x0f,
- 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18,
- 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x4b, 0x65, 0x79,
- 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x6b, 0x65, 0x65, 0x70, 0x5f, 0x64, 0x61,
- 0x74, 0x61, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x6b, 0x65, 0x65, 0x70, 0x44, 0x61,
- 0x74, 0x61, 0x12, 0x2c, 0x0a, 0x12, 0x6b, 0x65, 0x65, 0x70, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x69,
- 0x6e, 0x67, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10,
- 0x6b, 0x65, 0x65, 0x70, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x73,
- 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65,
- 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x72, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x54,
- 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x17, 0x0a, 0x07, 0x64, 0x72, 0x79, 0x5f, 0x72, 0x75, 0x6e,
- 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x64, 0x72, 0x79, 0x52, 0x75, 0x6e, 0x12, 0x16,
- 0x0a, 0x06, 0x73, 0x68, 0x61, 0x72, 0x64, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06,
- 0x73, 0x68, 0x61, 0x72, 0x64, 0x73, 0x22, 0x5e, 0x0a, 0x1a, 0x4d, 0x6f, 0x76, 0x65, 0x54, 0x61,
- 0x62, 0x6c, 0x65, 0x73, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70,
- 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x18,
- 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x12, 0x26,
- 0x0a, 0x0f, 0x64, 0x72, 0x79, 0x5f, 0x72, 0x75, 0x6e, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74,
- 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x64, 0x72, 0x79, 0x52, 0x75, 0x6e, 0x52,
- 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x22, 0x4d, 0x0a, 0x11, 0x50, 0x69, 0x6e, 0x67, 0x54, 0x61,
- 0x62, 0x6c, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x0c, 0x74,
+ 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64,
+ 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x12, 0x38, 0x0a,
+ 0x0c, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x18, 0x03, 0x20,
+ 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54,
+ 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x0b, 0x74, 0x61, 0x62, 0x6c,
+ 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x22, 0x1d, 0x0a, 0x1b, 0x53, 0x68, 0x61, 0x72, 0x64,
+ 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x64, 0x64, 0x52, 0x65,
+ 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x62, 0x0a, 0x1a, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52,
+ 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x69, 0x78, 0x52, 0x65, 0x71,
+ 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65,
+ 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65,
+ 0x12, 0x14, 0x0a, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
+ 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x65, 0x6c, 0x6c, 0x18, 0x03,
+ 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x65, 0x6c, 0x6c, 0x22, 0x54, 0x0a, 0x1b, 0x53, 0x68,
+ 0x61, 0x72, 0x64, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x69,
+ 0x78, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x35, 0x0a, 0x05, 0x65, 0x72, 0x72,
+ 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64,
+ 0x61, 0x74, 0x61, 0x2e, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61,
+ 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72,
+ 0x22, 0x54, 0x0a, 0x20, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61,
+ 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71,
+ 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65,
+ 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65,
+ 0x12, 0x14, 0x0a, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
+ 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x22, 0xaa, 0x03, 0x0a, 0x21, 0x53, 0x68, 0x61, 0x72, 0x64,
+ 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x73, 0x69, 0x74,
+ 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x78, 0x0a, 0x14,
+ 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x74, 0x61, 0x74,
+ 0x75, 0x73, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x45, 0x2e, 0x76, 0x74, 0x63,
+ 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x70, 0x6c,
+ 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73,
+ 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61,
+ 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72,
+ 0x79, 0x52, 0x13, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74,
+ 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x12, 0x5a, 0x0a, 0x0a, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74,
+ 0x5f, 0x6d, 0x61, 0x70, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x76, 0x74, 0x63,
+ 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x70, 0x6c,
+ 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73,
+ 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x4d,
+ 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x09, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x4d,
+ 0x61, 0x70, 0x1a, 0x5f, 0x0a, 0x18, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f,
+ 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10,
+ 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79,
+ 0x12, 0x2d, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32,
+ 0x17, 0x2e, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x64, 0x61, 0x74,
+ 0x61, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a,
+ 0x02, 0x38, 0x01, 0x1a, 0x4e, 0x0a, 0x0e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x4d, 0x61, 0x70,
+ 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01,
+ 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x26, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65,
+ 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74,
+ 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a,
+ 0x02, 0x38, 0x01, 0x22, 0x8b, 0x01, 0x0a, 0x1d, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x70,
+ 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x65,
+ 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63,
+ 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63,
+ 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
+ 0x52, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x12, 0x38, 0x0a, 0x0c, 0x74, 0x61, 0x62, 0x6c, 0x65,
+ 0x74, 0x5f, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e,
+ 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41,
+ 0x6c, 0x69, 0x61, 0x73, 0x52, 0x0b, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61,
+ 0x73, 0x22, 0x20, 0x0a, 0x1e, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63,
+ 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f,
+ 0x6e, 0x73, 0x65, 0x22, 0x7c, 0x0a, 0x12, 0x53, 0x6c, 0x65, 0x65, 0x70, 0x54, 0x61, 0x62, 0x6c,
+ 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x0c, 0x74, 0x61, 0x62,
+ 0x6c, 0x65, 0x74, 0x5f, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32,
+ 0x15, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65,
+ 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x0b, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c,
+ 0x69, 0x61, 0x73, 0x12, 0x2c, 0x0a, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18,
+ 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x76, 0x74, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x44,
+ 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f,
+ 0x6e, 0x22, 0x15, 0x0a, 0x13, 0x53, 0x6c, 0x65, 0x65, 0x70, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74,
+ 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xf0, 0x01, 0x0a, 0x15, 0x53, 0x6f, 0x75,
+ 0x72, 0x63, 0x65, 0x53, 0x68, 0x61, 0x72, 0x64, 0x41, 0x64, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65,
+ 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01,
+ 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x14,
+ 0x0a, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73,
+ 0x68, 0x61, 0x72, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28,
+ 0x05, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65,
+ 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52,
+ 0x0e, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12,
+ 0x21, 0x0a, 0x0c, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x73, 0x68, 0x61, 0x72, 0x64, 0x18,
+ 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x68, 0x61,
+ 0x72, 0x64, 0x12, 0x2f, 0x0a, 0x09, 0x6b, 0x65, 0x79, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x18,
+ 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61,
+ 0x2e, 0x4b, 0x65, 0x79, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x52, 0x61,
+ 0x6e, 0x67, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x07, 0x20,
+ 0x03, 0x28, 0x09, 0x52, 0x06, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x22, 0x3f, 0x0a, 0x16, 0x53,
+ 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x68, 0x61, 0x72, 0x64, 0x41, 0x64, 0x64, 0x52, 0x65, 0x73,
+ 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x25, 0x0a, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x18, 0x01,
+ 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e,
+ 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x22, 0x5e, 0x0a, 0x18,
+ 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x68, 0x61, 0x72, 0x64, 0x44, 0x65, 0x6c, 0x65, 0x74,
+ 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73,
+ 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73,
+ 0x70, 0x61, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x18, 0x02, 0x20,
+ 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69,
+ 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x75, 0x69, 0x64, 0x22, 0x42, 0x0a, 0x19,
+ 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x68, 0x61, 0x72, 0x64, 0x44, 0x65, 0x6c, 0x65, 0x74,
+ 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x25, 0x0a, 0x05, 0x73, 0x68, 0x61,
+ 0x72, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64,
+ 0x61, 0x74, 0x61, 0x2e, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64,
+ 0x22, 0x53, 0x0a, 0x17, 0x53, 0x74, 0x61, 0x72, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61,
+ 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x0c, 0x74,
0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28,
0x0b, 0x32, 0x15, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62,
0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x0b, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74,
- 0x41, 0x6c, 0x69, 0x61, 0x73, 0x22, 0x14, 0x0a, 0x12, 0x50, 0x69, 0x6e, 0x67, 0x54, 0x61, 0x62,
- 0x6c, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xd7, 0x02, 0x0a, 0x1b,
- 0x50, 0x6c, 0x61, 0x6e, 0x6e, 0x65, 0x64, 0x52, 0x65, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x53,
- 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6b,
+ 0x41, 0x6c, 0x69, 0x61, 0x73, 0x22, 0x1a, 0x0a, 0x18, 0x53, 0x74, 0x61, 0x72, 0x74, 0x52, 0x65,
+ 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
+ 0x65, 0x22, 0x52, 0x0a, 0x16, 0x53, 0x74, 0x6f, 0x70, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61,
+ 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x0c, 0x74,
+ 0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28,
+ 0x0b, 0x32, 0x15, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62,
+ 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x0b, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74,
+ 0x41, 0x6c, 0x69, 0x61, 0x73, 0x22, 0x19, 0x0a, 0x17, 0x53, 0x74, 0x6f, 0x70, 0x52, 0x65, 0x70,
+ 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
+ 0x22, 0x52, 0x0a, 0x21, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e,
+ 0x61, 0x6c, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x65, 0x64, 0x52, 0x65,
+ 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2d, 0x0a, 0x06, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x18,
+ 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61,
+ 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x06, 0x74, 0x61,
+ 0x62, 0x6c, 0x65, 0x74, 0x22, 0xc6, 0x01, 0x0a, 0x22, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x45,
+ 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x61, 0x72, 0x65, 0x6e,
+ 0x74, 0x65, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6b,
0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b,
0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64,
0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x12, 0x36, 0x0a,
0x0b, 0x6e, 0x65, 0x77, 0x5f, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x18, 0x03, 0x20, 0x01,
0x28, 0x0b, 0x32, 0x15, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61,
0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x0a, 0x6e, 0x65, 0x77, 0x50, 0x72,
- 0x69, 0x6d, 0x61, 0x72, 0x79, 0x12, 0x3a, 0x0a, 0x0d, 0x61, 0x76, 0x6f, 0x69, 0x64, 0x5f, 0x70,
- 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x74,
- 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c,
- 0x69, 0x61, 0x73, 0x52, 0x0c, 0x61, 0x76, 0x6f, 0x69, 0x64, 0x50, 0x72, 0x69, 0x6d, 0x61, 0x72,
- 0x79, 0x12, 0x44, 0x0a, 0x15, 0x77, 0x61, 0x69, 0x74, 0x5f, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63,
- 0x61, 0x73, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b,
- 0x32, 0x10, 0x2e, 0x76, 0x74, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69,
- 0x6f, 0x6e, 0x52, 0x13, 0x77, 0x61, 0x69, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x73,
- 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x4c, 0x0a, 0x19, 0x74, 0x6f, 0x6c, 0x65, 0x72,
- 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
- 0x5f, 0x6c, 0x61, 0x67, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x76, 0x74, 0x74,
- 0x69, 0x6d, 0x65, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x17, 0x74, 0x6f,
- 0x6c, 0x65, 0x72, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69,
- 0x6f, 0x6e, 0x4c, 0x61, 0x67, 0x22, 0xba, 0x01, 0x0a, 0x1c, 0x50, 0x6c, 0x61, 0x6e, 0x6e, 0x65,
- 0x64, 0x52, 0x65, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x65,
- 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61,
+ 0x69, 0x6d, 0x61, 0x72, 0x79, 0x12, 0x36, 0x0a, 0x0b, 0x6f, 0x6c, 0x64, 0x5f, 0x70, 0x72, 0x69,
+ 0x6d, 0x61, 0x72, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x74, 0x6f, 0x70,
+ 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61,
+ 0x73, 0x52, 0x0a, 0x6f, 0x6c, 0x64, 0x50, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x22, 0x5c, 0x0a,
+ 0x15, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x65, 0x6c, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52,
+ 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01,
+ 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x2f, 0x0a, 0x09, 0x63, 0x65,
+ 0x6c, 0x6c, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e,
+ 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x43, 0x65, 0x6c, 0x6c, 0x49, 0x6e, 0x66,
+ 0x6f, 0x52, 0x08, 0x63, 0x65, 0x6c, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x5d, 0x0a, 0x16, 0x55,
+ 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x65, 0x6c, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73,
+ 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20,
+ 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x2f, 0x0a, 0x09, 0x63, 0x65, 0x6c,
+ 0x6c, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x74,
+ 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x43, 0x65, 0x6c, 0x6c, 0x49, 0x6e, 0x66, 0x6f,
+ 0x52, 0x08, 0x63, 0x65, 0x6c, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x64, 0x0a, 0x17, 0x55, 0x70,
+ 0x64, 0x61, 0x74, 0x65, 0x43, 0x65, 0x6c, 0x6c, 0x73, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x65,
+ 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20,
+ 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x35, 0x0a, 0x0b, 0x63, 0x65, 0x6c,
+ 0x6c, 0x73, 0x5f, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14,
+ 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x43, 0x65, 0x6c, 0x6c, 0x73, 0x41,
+ 0x6c, 0x69, 0x61, 0x73, 0x52, 0x0a, 0x63, 0x65, 0x6c, 0x6c, 0x73, 0x41, 0x6c, 0x69, 0x61, 0x73,
+ 0x22, 0x65, 0x0a, 0x18, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x65, 0x6c, 0x6c, 0x73, 0x41,
+ 0x6c, 0x69, 0x61, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04,
+ 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65,
+ 0x12, 0x35, 0x0a, 0x0b, 0x63, 0x65, 0x6c, 0x6c, 0x73, 0x5f, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x18,
+ 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61,
+ 0x2e, 0x43, 0x65, 0x6c, 0x6c, 0x73, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x0a, 0x63, 0x65, 0x6c,
+ 0x6c, 0x73, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x22, 0x34, 0x0a, 0x0f, 0x56, 0x61, 0x6c, 0x69, 0x64,
+ 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x69,
+ 0x6e, 0x67, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08,
+ 0x52, 0x0b, 0x70, 0x69, 0x6e, 0x67, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x73, 0x22, 0xfb, 0x01,
+ 0x0a, 0x10, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
+ 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x01, 0x20,
+ 0x03, 0x28, 0x09, 0x52, 0x07, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x12, 0x62, 0x0a, 0x13,
+ 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x5f, 0x62, 0x79, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x70,
+ 0x61, 0x63, 0x65, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x76, 0x74, 0x63, 0x74,
+ 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65,
+ 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x42, 0x79,
+ 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x11, 0x72,
+ 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x42, 0x79, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65,
+ 0x1a, 0x69, 0x0a, 0x16, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x42, 0x79, 0x4b, 0x65, 0x79,
+ 0x73, 0x70, 0x61, 0x63, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65,
+ 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x39, 0x0a, 0x05,
+ 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x76, 0x74,
+ 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65,
+ 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
+ 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x58, 0x0a, 0x17, 0x56,
+ 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52,
+ 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61,
0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61,
- 0x63, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28,
- 0x09, 0x52, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x12, 0x40, 0x0a, 0x10, 0x70, 0x72, 0x6f, 0x6d,
- 0x6f, 0x74, 0x65, 0x64, 0x5f, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x18, 0x03, 0x20, 0x01,
- 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61,
- 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x0f, 0x70, 0x72, 0x6f, 0x6d, 0x6f,
- 0x74, 0x65, 0x64, 0x50, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x12, 0x26, 0x0a, 0x06, 0x65, 0x76,
- 0x65, 0x6e, 0x74, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x6c, 0x6f, 0x67,
- 0x75, 0x74, 0x69, 0x6c, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x06, 0x65, 0x76, 0x65, 0x6e,
- 0x74, 0x73, 0x22, 0x74, 0x0a, 0x1b, 0x52, 0x65, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x4b, 0x65, 0x79,
- 0x73, 0x70, 0x61, 0x63, 0x65, 0x47, 0x72, 0x61, 0x70, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
- 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20,
- 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x14, 0x0a,
- 0x05, 0x63, 0x65, 0x6c, 0x6c, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x63, 0x65,
- 0x6c, 0x6c, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x70, 0x61, 0x72,
- 0x74, 0x69, 0x61, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x61, 0x6c, 0x6c, 0x6f,
- 0x77, 0x50, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x22, 0x1e, 0x0a, 0x1c, 0x52, 0x65, 0x62, 0x75,
- 0x69, 0x6c, 0x64, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x47, 0x72, 0x61, 0x70, 0x68,
- 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x32, 0x0a, 0x1a, 0x52, 0x65, 0x62, 0x75,
- 0x69, 0x6c, 0x64, 0x56, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x47, 0x72, 0x61, 0x70, 0x68, 0x52,
- 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x65, 0x6c, 0x6c, 0x73, 0x18,
- 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x63, 0x65, 0x6c, 0x6c, 0x73, 0x22, 0x1d, 0x0a, 0x1b,
- 0x52, 0x65, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x56, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x47, 0x72,
- 0x61, 0x70, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4f, 0x0a, 0x13, 0x52,
- 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65,
- 0x73, 0x74, 0x12, 0x38, 0x0a, 0x0c, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f, 0x61, 0x6c, 0x69,
- 0x61, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64,
- 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52,
- 0x0b, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x22, 0x16, 0x0a, 0x14,
- 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70,
- 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x64, 0x0a, 0x1a, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x53,
- 0x74, 0x61, 0x74, 0x65, 0x42, 0x79, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65,
- 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01,
- 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x14,
- 0x0a, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73,
- 0x68, 0x61, 0x72, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x65, 0x6c, 0x6c, 0x73, 0x18, 0x03, 0x20,
- 0x03, 0x28, 0x09, 0x52, 0x05, 0x63, 0x65, 0x6c, 0x6c, 0x73, 0x22, 0x83, 0x01, 0x0a, 0x1b, 0x52,
- 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x53, 0x74, 0x61, 0x74, 0x65, 0x42, 0x79, 0x53, 0x68, 0x61,
- 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2c, 0x0a, 0x12, 0x69, 0x73,
- 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68,
- 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x69, 0x73, 0x50, 0x61, 0x72, 0x74, 0x69, 0x61,
- 0x6c, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x12, 0x36, 0x0a, 0x17, 0x70, 0x61, 0x72, 0x74,
- 0x69, 0x61, 0x6c, 0x5f, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x5f, 0x64, 0x65, 0x74, 0x61,
- 0x69, 0x6c, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x15, 0x70, 0x61, 0x72, 0x74, 0x69,
- 0x61, 0x6c, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73,
- 0x22, 0x4f, 0x0a, 0x13, 0x52, 0x65, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61,
- 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x0c, 0x74, 0x61, 0x62, 0x6c, 0x65,
- 0x74, 0x5f, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e,
- 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41,
- 0x6c, 0x69, 0x61, 0x73, 0x52, 0x0b, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61,
- 0x73, 0x22, 0x16, 0x0a, 0x14, 0x52, 0x65, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x63, 0x68, 0x65, 0x6d,
- 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xa9, 0x01, 0x0a, 0x1b, 0x52, 0x65,
- 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61,
- 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79,
- 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79,
- 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x77, 0x61, 0x69, 0x74, 0x5f, 0x70, 0x6f,
- 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x77, 0x61,
- 0x69, 0x74, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x27, 0x0a, 0x0f, 0x69, 0x6e,
- 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x18, 0x03, 0x20,
- 0x01, 0x28, 0x08, 0x52, 0x0e, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x50, 0x72, 0x69, 0x6d,
- 0x61, 0x72, 0x79, 0x12, 0x20, 0x0a, 0x0b, 0x63, 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e,
- 0x63, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x63, 0x6f, 0x6e, 0x63, 0x75, 0x72,
- 0x72, 0x65, 0x6e, 0x63, 0x79, 0x22, 0x46, 0x0a, 0x1c, 0x52, 0x65, 0x6c, 0x6f, 0x61, 0x64, 0x53,
- 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x73,
- 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x26, 0x0a, 0x06, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x18,
- 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x6c, 0x6f, 0x67, 0x75, 0x74, 0x69, 0x6c, 0x2e,
- 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x06, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x22, 0xbc, 0x01,
- 0x0a, 0x18, 0x52, 0x65, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x53, 0x68,
- 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65,
- 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65,
- 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x18,
- 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x12, 0x23, 0x0a, 0x0d,
- 0x77, 0x61, 0x69, 0x74, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20,
- 0x01, 0x28, 0x09, 0x52, 0x0c, 0x77, 0x61, 0x69, 0x74, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f,
- 0x6e, 0x12, 0x27, 0x0a, 0x0f, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x70, 0x72, 0x69,
- 0x6d, 0x61, 0x72, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x69, 0x6e, 0x63, 0x6c,
- 0x75, 0x64, 0x65, 0x50, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x12, 0x20, 0x0a, 0x0b, 0x63, 0x6f,
- 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52,
- 0x0b, 0x63, 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x22, 0x43, 0x0a, 0x19,
- 0x52, 0x65, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x53, 0x68, 0x61, 0x72,
- 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x26, 0x0a, 0x06, 0x65, 0x76, 0x65,
- 0x6e, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x6c, 0x6f, 0x67, 0x75,
- 0x74, 0x69, 0x6c, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x06, 0x65, 0x76, 0x65, 0x6e, 0x74,
- 0x73, 0x22, 0x5b, 0x0a, 0x13, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x42, 0x61, 0x63, 0x6b, 0x75,
- 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73,
- 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73,
- 0x70, 0x61, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x18, 0x02, 0x20,
- 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61,
- 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x16,
- 0x0a, 0x14, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x52, 0x65,
- 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x7f, 0x0a, 0x19, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65,
- 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x43, 0x65, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75,
- 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18,
- 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12,
- 0x12, 0x0a, 0x04, 0x63, 0x65, 0x6c, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63,
- 0x65, 0x6c, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01,
- 0x28, 0x08, 0x52, 0x05, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x72, 0x65, 0x63,
- 0x75, 0x72, 0x73, 0x69, 0x76, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x72, 0x65,
- 0x63, 0x75, 0x72, 0x73, 0x69, 0x76, 0x65, 0x22, 0x1c, 0x0a, 0x1a, 0x52, 0x65, 0x6d, 0x6f, 0x76,
- 0x65, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x43, 0x65, 0x6c, 0x6c, 0x52, 0x65, 0x73,
- 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x9b, 0x01, 0x0a, 0x16, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65,
- 0x53, 0x68, 0x61, 0x72, 0x64, 0x43, 0x65, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
- 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01,
- 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x1d, 0x0a, 0x0a,
- 0x73, 0x68, 0x61, 0x72, 0x64, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
- 0x52, 0x09, 0x73, 0x68, 0x61, 0x72, 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x63,
- 0x65, 0x6c, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x65, 0x6c, 0x6c, 0x12,
- 0x14, 0x0a, 0x05, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05,
- 0x66, 0x6f, 0x72, 0x63, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x72, 0x65, 0x63, 0x75, 0x72, 0x73, 0x69,
- 0x76, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x72, 0x65, 0x63, 0x75, 0x72, 0x73,
- 0x69, 0x76, 0x65, 0x22, 0x19, 0x0a, 0x17, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x53, 0x68, 0x61,
- 0x72, 0x64, 0x43, 0x65, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x46,
- 0x0a, 0x15, 0x52, 0x65, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74,
- 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2d, 0x0a, 0x06, 0x74, 0x61, 0x62, 0x6c, 0x65,
- 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61,
- 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x06,
- 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x22, 0x7b, 0x0a, 0x16, 0x52, 0x65, 0x70, 0x61, 0x72, 0x65,
- 0x6e, 0x74, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
- 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01,
- 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x05,
- 0x73, 0x68, 0x61, 0x72, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x68, 0x61,
- 0x72, 0x64, 0x12, 0x2f, 0x0a, 0x07, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x18, 0x03, 0x20,
- 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54,
- 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x07, 0x70, 0x72, 0x69, 0x6d,
- 0x61, 0x72, 0x79, 0x22, 0x8f, 0x04, 0x0a, 0x14, 0x52, 0x65, 0x73, 0x68, 0x61, 0x72, 0x64, 0x43,
- 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08,
- 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08,
- 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73,
- 0x70, 0x61, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73,
- 0x70, 0x61, 0x63, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x73,
- 0x68, 0x61, 0x72, 0x64, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x6f, 0x75,
- 0x72, 0x63, 0x65, 0x53, 0x68, 0x61, 0x72, 0x64, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x74, 0x61, 0x72,
- 0x67, 0x65, 0x74, 0x5f, 0x73, 0x68, 0x61, 0x72, 0x64, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09,
- 0x52, 0x0c, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x53, 0x68, 0x61, 0x72, 0x64, 0x73, 0x12, 0x14,
- 0x0a, 0x05, 0x63, 0x65, 0x6c, 0x6c, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x63,
- 0x65, 0x6c, 0x6c, 0x73, 0x12, 0x37, 0x0a, 0x0c, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f, 0x74,
- 0x79, 0x70, 0x65, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x74, 0x6f, 0x70,
- 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65,
- 0x52, 0x0b, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x6c, 0x0a,
- 0x1b, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f,
- 0x6e, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x07, 0x20, 0x01,
- 0x28, 0x0e, 0x32, 0x2c, 0x2e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67,
- 0x65, 0x72, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x53, 0x65, 0x6c,
- 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65,
- 0x52, 0x19, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f,
- 0x6e, 0x50, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x28, 0x0a, 0x10, 0x73,
- 0x6b, 0x69, 0x70, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x5f, 0x63, 0x6f, 0x70, 0x79, 0x18,
- 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x73, 0x6b, 0x69, 0x70, 0x53, 0x63, 0x68, 0x65, 0x6d,
- 0x61, 0x43, 0x6f, 0x70, 0x79, 0x12, 0x15, 0x0a, 0x06, 0x6f, 0x6e, 0x5f, 0x64, 0x64, 0x6c, 0x18,
- 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6f, 0x6e, 0x44, 0x64, 0x6c, 0x12, 0x26, 0x0a, 0x0f,
- 0x73, 0x74, 0x6f, 0x70, 0x5f, 0x61, 0x66, 0x74, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x70, 0x79, 0x18,
- 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x73, 0x74, 0x6f, 0x70, 0x41, 0x66, 0x74, 0x65, 0x72,
- 0x43, 0x6f, 0x70, 0x79, 0x12, 0x30, 0x0a, 0x14, 0x64, 0x65, 0x66, 0x65, 0x72, 0x5f, 0x73, 0x65,
- 0x63, 0x6f, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x0b, 0x20, 0x01,
- 0x28, 0x08, 0x52, 0x12, 0x64, 0x65, 0x66, 0x65, 0x72, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x61,
- 0x72, 0x79, 0x4b, 0x65, 0x79, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x75, 0x74, 0x6f, 0x5f, 0x73,
- 0x74, 0x61, 0x72, 0x74, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x61, 0x75, 0x74, 0x6f,
- 0x53, 0x74, 0x61, 0x72, 0x74, 0x22, 0x82, 0x02, 0x0a, 0x18, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72,
- 0x65, 0x46, 0x72, 0x6f, 0x6d, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65,
- 0x73, 0x74, 0x12, 0x38, 0x0a, 0x0c, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f, 0x61, 0x6c, 0x69,
- 0x61, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64,
- 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52,
- 0x0b, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x12, 0x2d, 0x0a, 0x0b,
- 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
- 0x0b, 0x32, 0x0c, 0x2e, 0x76, 0x74, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x52,
- 0x0a, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x0e, 0x72,
- 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x5f, 0x74, 0x6f, 0x5f, 0x70, 0x6f, 0x73, 0x18, 0x03, 0x20,
- 0x01, 0x28, 0x09, 0x52, 0x0c, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x54, 0x6f, 0x50, 0x6f,
- 0x73, 0x12, 0x17, 0x0a, 0x07, 0x64, 0x72, 0x79, 0x5f, 0x72, 0x75, 0x6e, 0x18, 0x04, 0x20, 0x01,
- 0x28, 0x08, 0x52, 0x06, 0x64, 0x72, 0x79, 0x52, 0x75, 0x6e, 0x12, 0x3e, 0x0a, 0x14, 0x72, 0x65,
- 0x73, 0x74, 0x6f, 0x72, 0x65, 0x5f, 0x74, 0x6f, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61,
- 0x6d, 0x70, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x76, 0x74, 0x74, 0x69, 0x6d,
- 0x65, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x52, 0x12, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x54,
- 0x6f, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0xad, 0x01, 0x0a, 0x19, 0x52,
- 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x46, 0x72, 0x6f, 0x6d, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70,
- 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x38, 0x0a, 0x0c, 0x74, 0x61, 0x62, 0x6c,
- 0x65, 0x74, 0x5f, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15,
- 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74,
- 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x0b, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69,
- 0x61, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x02,
- 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x14,
- 0x0a, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73,
- 0x68, 0x61, 0x72, 0x64, 0x12, 0x24, 0x0a, 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x18, 0x04, 0x20,
- 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x6c, 0x6f, 0x67, 0x75, 0x74, 0x69, 0x6c, 0x2e, 0x45, 0x76,
- 0x65, 0x6e, 0x74, 0x52, 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x22, 0x4d, 0x0a, 0x1b, 0x52, 0x65,
- 0x74, 0x72, 0x79, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x69,
- 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79,
- 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79,
- 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x02, 0x20,
- 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x22, 0xdd, 0x01, 0x0a, 0x1c, 0x52, 0x65,
- 0x74, 0x72, 0x79, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x69,
- 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x75, 0x0a, 0x16, 0x72, 0x6f,
- 0x77, 0x73, 0x5f, 0x61, 0x66, 0x66, 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x5f, 0x73,
- 0x68, 0x61, 0x72, 0x64, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x40, 0x2e, 0x76, 0x74, 0x63,
- 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x52, 0x65, 0x74, 0x72, 0x79, 0x53, 0x63, 0x68, 0x65,
- 0x6d, 0x61, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f,
- 0x6e, 0x73, 0x65, 0x2e, 0x52, 0x6f, 0x77, 0x73, 0x41, 0x66, 0x66, 0x65, 0x63, 0x74, 0x65, 0x64,
- 0x42, 0x79, 0x53, 0x68, 0x61, 0x72, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x13, 0x72, 0x6f,
- 0x77, 0x73, 0x41, 0x66, 0x66, 0x65, 0x63, 0x74, 0x65, 0x64, 0x42, 0x79, 0x53, 0x68, 0x61, 0x72,
- 0x64, 0x1a, 0x46, 0x0a, 0x18, 0x52, 0x6f, 0x77, 0x73, 0x41, 0x66, 0x66, 0x65, 0x63, 0x74, 0x65,
- 0x64, 0x42, 0x79, 0x53, 0x68, 0x61, 0x72, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a,
- 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12,
- 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05,
- 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x51, 0x0a, 0x15, 0x52, 0x75, 0x6e,
- 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65,
- 0x73, 0x74, 0x12, 0x38, 0x0a, 0x0c, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f, 0x61, 0x6c, 0x69,
- 0x61, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64,
- 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52,
- 0x0b, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x22, 0x18, 0x0a, 0x16,
- 0x52, 0x75, 0x6e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65,
- 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x6d, 0x0a, 0x22, 0x53, 0x65, 0x74, 0x4b, 0x65, 0x79,
- 0x73, 0x70, 0x61, 0x63, 0x65, 0x44, 0x75, 0x72, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x50,
- 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08,
- 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08,
- 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x2b, 0x0a, 0x11, 0x64, 0x75, 0x72, 0x61,
- 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x02, 0x20,
- 0x01, 0x28, 0x09, 0x52, 0x10, 0x64, 0x75, 0x72, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x50,
- 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x22, 0x55, 0x0a, 0x23, 0x53, 0x65, 0x74, 0x4b, 0x65, 0x79, 0x73,
- 0x70, 0x61, 0x63, 0x65, 0x44, 0x75, 0x72, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x50, 0x6f,
- 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2e, 0x0a, 0x08,
- 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12,
- 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61,
- 0x63, 0x65, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x22, 0x5e, 0x0a, 0x1e,
- 0x53, 0x65, 0x74, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x53, 0x68, 0x61, 0x72, 0x64,
- 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a,
- 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
- 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x6f,
- 0x72, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x66, 0x6f, 0x72, 0x63, 0x65,
- 0x4a, 0x04, 0x08, 0x02, 0x10, 0x03, 0x4a, 0x04, 0x08, 0x03, 0x10, 0x04, 0x22, 0x51, 0x0a, 0x1f,
- 0x53, 0x65, 0x74, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x53, 0x68, 0x61, 0x72, 0x64,
- 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12,
- 0x2e, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28,
- 0x0b, 0x32, 0x12, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x4b, 0x65, 0x79,
- 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x22,
- 0x72, 0x0a, 0x1f, 0x53, 0x65, 0x74, 0x53, 0x68, 0x61, 0x72, 0x64, 0x49, 0x73, 0x50, 0x72, 0x69,
- 0x6d, 0x61, 0x72, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65,
- 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01,
- 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x14,
- 0x0a, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73,
- 0x68, 0x61, 0x72, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x73, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69,
- 0x6e, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x69, 0x73, 0x53, 0x65, 0x72, 0x76,
- 0x69, 0x6e, 0x67, 0x22, 0x49, 0x0a, 0x20, 0x53, 0x65, 0x74, 0x53, 0x68, 0x61, 0x72, 0x64, 0x49,
- 0x73, 0x50, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x6e, 0x67, 0x52,
- 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x25, 0x0a, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64,
- 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74,
- 0x61, 0x2e, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x22, 0x8e,
- 0x02, 0x0a, 0x1c, 0x53, 0x65, 0x74, 0x53, 0x68, 0x61, 0x72, 0x64, 0x54, 0x61, 0x62, 0x6c, 0x65,
- 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
- 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28,
- 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73,
- 0x68, 0x61, 0x72, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x68, 0x61, 0x72,
- 0x64, 0x12, 0x35, 0x0a, 0x0b, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65,
- 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74,
- 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0a, 0x74, 0x61,
- 0x62, 0x6c, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x65, 0x6c, 0x6c,
- 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x63, 0x65, 0x6c, 0x6c, 0x73, 0x12, 0x23,
- 0x0a, 0x0d, 0x64, 0x65, 0x6e, 0x69, 0x65, 0x64, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18,
- 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x64, 0x65, 0x6e, 0x69, 0x65, 0x64, 0x54, 0x61, 0x62,
- 0x6c, 0x65, 0x73, 0x12, 0x32, 0x0a, 0x15, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x71,
- 0x75, 0x65, 0x72, 0x79, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x18, 0x06, 0x20, 0x01,
- 0x28, 0x08, 0x52, 0x13, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x51, 0x75, 0x65, 0x72, 0x79,
- 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x6d, 0x6f, 0x76,
- 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x22,
- 0x46, 0x0a, 0x1d, 0x53, 0x65, 0x74, 0x53, 0x68, 0x61, 0x72, 0x64, 0x54, 0x61, 0x62, 0x6c, 0x65,
- 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
- 0x12, 0x25, 0x0a, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32,
- 0x0f, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x53, 0x68, 0x61, 0x72, 0x64,
- 0x52, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x22, 0x6a, 0x0a, 0x12, 0x53, 0x65, 0x74, 0x57, 0x72,
- 0x69, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a,
- 0x0c, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x18, 0x01, 0x20,
- 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54,
- 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x0b, 0x74, 0x61, 0x62, 0x6c,
- 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x77, 0x72, 0x69, 0x74, 0x61,
- 0x62, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x77, 0x72, 0x69, 0x74, 0x61,
- 0x62, 0x6c, 0x65, 0x22, 0x15, 0x0a, 0x13, 0x53, 0x65, 0x74, 0x57, 0x72, 0x69, 0x74, 0x61, 0x62,
- 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x88, 0x01, 0x0a, 0x1a, 0x53,
- 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x41,
- 0x64, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79,
- 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79,
- 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x18, 0x02,
- 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x12, 0x38, 0x0a, 0x0c, 0x74,
- 0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28,
- 0x0b, 0x32, 0x15, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62,
- 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x0b, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74,
- 0x41, 0x6c, 0x69, 0x61, 0x73, 0x22, 0x1d, 0x0a, 0x1b, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x65,
- 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x64, 0x64, 0x52, 0x65, 0x73, 0x70,
- 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x62, 0x0a, 0x1a, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x70,
- 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x69, 0x78, 0x52, 0x65, 0x71, 0x75, 0x65,
- 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01,
- 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x14,
- 0x0a, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73,
- 0x68, 0x61, 0x72, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x65, 0x6c, 0x6c, 0x18, 0x03, 0x20, 0x01,
- 0x28, 0x09, 0x52, 0x04, 0x63, 0x65, 0x6c, 0x6c, 0x22, 0x54, 0x0a, 0x1b, 0x53, 0x68, 0x61, 0x72,
- 0x64, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x69, 0x78, 0x52,
- 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x35, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72,
- 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74,
- 0x61, 0x2e, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69,
- 0x6f, 0x6e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0x54,
- 0x0a, 0x20, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69,
- 0x6f, 0x6e, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65,
+ 0x63, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x69, 0x6e, 0x67, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65,
+ 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x70, 0x69, 0x6e, 0x67, 0x54, 0x61,
+ 0x62, 0x6c, 0x65, 0x74, 0x73, 0x22, 0xfc, 0x01, 0x0a, 0x18, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61,
+ 0x74, 0x65, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
+ 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x01, 0x20,
+ 0x03, 0x28, 0x09, 0x52, 0x07, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x12, 0x61, 0x0a, 0x10,
+ 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x5f, 0x62, 0x79, 0x5f, 0x73, 0x68, 0x61, 0x72, 0x64,
+ 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61,
+ 0x74, 0x61, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x73, 0x70,
+ 0x61, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x52, 0x65, 0x73, 0x75,
+ 0x6c, 0x74, 0x73, 0x42, 0x79, 0x53, 0x68, 0x61, 0x72, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52,
+ 0x0e, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x42, 0x79, 0x53, 0x68, 0x61, 0x72, 0x64, 0x1a,
+ 0x63, 0x0a, 0x13, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x42, 0x79, 0x53, 0x68, 0x61, 0x72,
+ 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20,
+ 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x36, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75,
+ 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64,
+ 0x61, 0x74, 0x61, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x53, 0x68, 0x61, 0x72,
+ 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65,
+ 0x3a, 0x02, 0x38, 0x01, 0x22, 0xd8, 0x01, 0x0a, 0x1d, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74,
+ 0x65, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52,
+ 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61,
+ 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61,
+ 0x63, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x74, 0x61,
+ 0x62, 0x6c, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x65, 0x78, 0x63, 0x6c,
+ 0x75, 0x64, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x69, 0x6e, 0x63,
+ 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x76, 0x69, 0x65, 0x77, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08,
+ 0x52, 0x0c, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x56, 0x69, 0x65, 0x77, 0x73, 0x12, 0x26,
+ 0x0a, 0x0f, 0x73, 0x6b, 0x69, 0x70, 0x5f, 0x6e, 0x6f, 0x5f, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72,
+ 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x73, 0x6b, 0x69, 0x70, 0x4e, 0x6f, 0x50,
+ 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x12, 0x27, 0x0a, 0x0f, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64,
+ 0x65, 0x5f, 0x76, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52,
+ 0x0e, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x56, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x22,
+ 0x88, 0x02, 0x0a, 0x1e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x53, 0x63, 0x68, 0x65,
+ 0x6d, 0x61, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
+ 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x01, 0x20,
+ 0x03, 0x28, 0x09, 0x52, 0x07, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x12, 0x67, 0x0a, 0x10,
+ 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x5f, 0x62, 0x79, 0x5f, 0x73, 0x68, 0x61, 0x72, 0x64,
+ 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61,
+ 0x74, 0x61, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x53, 0x63, 0x68, 0x65, 0x6d,
+ 0x61, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
+ 0x65, 0x2e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x42, 0x79, 0x53, 0x68, 0x61, 0x72, 0x64,
+ 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0e, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x42, 0x79,
+ 0x53, 0x68, 0x61, 0x72, 0x64, 0x1a, 0x63, 0x0a, 0x13, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73,
+ 0x42, 0x79, 0x53, 0x68, 0x61, 0x72, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03,
+ 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x36,
+ 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e,
+ 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61,
+ 0x74, 0x65, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52,
+ 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x6b, 0x0a, 0x14, 0x56, 0x61,
+ 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65,
0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01,
0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x14,
0x0a, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73,
- 0x68, 0x61, 0x72, 0x64, 0x22, 0xaa, 0x03, 0x0a, 0x21, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x65,
- 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f,
- 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x78, 0x0a, 0x14, 0x72, 0x65,
- 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73,
- 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x45, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c,
- 0x64, 0x61, 0x74, 0x61, 0x2e, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63,
- 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65,
- 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69,
- 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52,
- 0x13, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74,
- 0x75, 0x73, 0x65, 0x73, 0x12, 0x5a, 0x0a, 0x0a, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f, 0x6d,
- 0x61, 0x70, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c,
- 0x64, 0x61, 0x74, 0x61, 0x2e, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63,
- 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65,
- 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x4d, 0x61, 0x70,
- 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x09, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x4d, 0x61, 0x70,
- 0x1a, 0x5f, 0x0a, 0x18, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53,
- 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03,
- 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x2d,
- 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e,
- 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x64, 0x61, 0x74, 0x61, 0x2e,
- 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38,
- 0x01, 0x1a, 0x4e, 0x0a, 0x0e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x4d, 0x61, 0x70, 0x45, 0x6e,
- 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
- 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x26, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02,
- 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e,
- 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38,
- 0x01, 0x22, 0x8b, 0x01, 0x0a, 0x1d, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x70, 0x6c, 0x69,
- 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x65, 0x71, 0x75,
- 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18,
- 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12,
- 0x14, 0x0a, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05,
- 0x73, 0x68, 0x61, 0x72, 0x64, 0x12, 0x38, 0x0a, 0x0c, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f,
- 0x61, 0x6c, 0x69, 0x61, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x74, 0x6f,
- 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69,
- 0x61, 0x73, 0x52, 0x0b, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x22,
- 0x20, 0x0a, 0x1e, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74,
- 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
- 0x65, 0x22, 0x7c, 0x0a, 0x12, 0x53, 0x6c, 0x65, 0x65, 0x70, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74,
- 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x0c, 0x74, 0x61, 0x62, 0x6c, 0x65,
- 0x74, 0x5f, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e,
- 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41,
- 0x6c, 0x69, 0x61, 0x73, 0x52, 0x0b, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61,
- 0x73, 0x12, 0x2c, 0x0a, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20,
- 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x76, 0x74, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x44, 0x75, 0x72,
- 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22,
- 0x15, 0x0a, 0x13, 0x53, 0x6c, 0x65, 0x65, 0x70, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x52, 0x65,
- 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xf0, 0x01, 0x0a, 0x15, 0x53, 0x6f, 0x75, 0x72, 0x63,
- 0x65, 0x53, 0x68, 0x61, 0x72, 0x64, 0x41, 0x64, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
- 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01,
- 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x05,
- 0x73, 0x68, 0x61, 0x72, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x68, 0x61,
- 0x72, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52,
- 0x03, 0x75, 0x69, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6b,
- 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x73,
- 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x21, 0x0a,
- 0x0c, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x73, 0x68, 0x61, 0x72, 0x64, 0x18, 0x05, 0x20,
- 0x01, 0x28, 0x09, 0x52, 0x0b, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x68, 0x61, 0x72, 0x64,
- 0x12, 0x2f, 0x0a, 0x09, 0x6b, 0x65, 0x79, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x06, 0x20,
- 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x4b,
- 0x65, 0x79, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x52, 0x61, 0x6e, 0x67,
- 0x65, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28,
- 0x09, 0x52, 0x06, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x22, 0x3f, 0x0a, 0x16, 0x53, 0x6f, 0x75,
- 0x72, 0x63, 0x65, 0x53, 0x68, 0x61, 0x72, 0x64, 0x41, 0x64, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f,
- 0x6e, 0x73, 0x65, 0x12, 0x25, 0x0a, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x18, 0x01, 0x20, 0x01,
- 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x53, 0x68,
- 0x61, 0x72, 0x64, 0x52, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x22, 0x5e, 0x0a, 0x18, 0x53, 0x6f,
- 0x75, 0x72, 0x63, 0x65, 0x53, 0x68, 0x61, 0x72, 0x64, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52,
- 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61,
- 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61,
- 0x63, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28,
- 0x09, 0x52, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18,
- 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x75, 0x69, 0x64, 0x22, 0x42, 0x0a, 0x19, 0x53, 0x6f,
- 0x75, 0x72, 0x63, 0x65, 0x53, 0x68, 0x61, 0x72, 0x64, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52,
- 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x25, 0x0a, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64,
- 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74,
- 0x61, 0x2e, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x22, 0x53,
- 0x0a, 0x17, 0x53, 0x74, 0x61, 0x72, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69,
- 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x0c, 0x74, 0x61, 0x62,
- 0x6c, 0x65, 0x74, 0x5f, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32,
- 0x15, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65,
- 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x0b, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c,
- 0x69, 0x61, 0x73, 0x22, 0x1a, 0x0a, 0x18, 0x53, 0x74, 0x61, 0x72, 0x74, 0x52, 0x65, 0x70, 0x6c,
- 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22,
- 0x52, 0x0a, 0x16, 0x53, 0x74, 0x6f, 0x70, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69,
- 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x0c, 0x74, 0x61, 0x62,
- 0x6c, 0x65, 0x74, 0x5f, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32,
- 0x15, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65,
- 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x0b, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c,
- 0x69, 0x61, 0x73, 0x22, 0x19, 0x0a, 0x17, 0x53, 0x74, 0x6f, 0x70, 0x52, 0x65, 0x70, 0x6c, 0x69,
- 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x52,
- 0x0a, 0x21, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c,
- 0x6c, 0x79, 0x52, 0x65, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75,
- 0x65, 0x73, 0x74, 0x12, 0x2d, 0x0a, 0x06, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x18, 0x01, 0x20,
- 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54,
- 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x06, 0x74, 0x61, 0x62, 0x6c,
- 0x65, 0x74, 0x22, 0xc6, 0x01, 0x0a, 0x22, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x45, 0x78, 0x74,
- 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x65,
- 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79,
- 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79,
- 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x18, 0x02,
- 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x12, 0x36, 0x0a, 0x0b, 0x6e,
- 0x65, 0x77, 0x5f, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b,
- 0x32, 0x15, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c,
- 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x0a, 0x6e, 0x65, 0x77, 0x50, 0x72, 0x69, 0x6d,
- 0x61, 0x72, 0x79, 0x12, 0x36, 0x0a, 0x0b, 0x6f, 0x6c, 0x64, 0x5f, 0x70, 0x72, 0x69, 0x6d, 0x61,
- 0x72, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64,
- 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52,
- 0x0a, 0x6f, 0x6c, 0x64, 0x50, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x22, 0x5c, 0x0a, 0x15, 0x55,
- 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x65, 0x6c, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71,
- 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01,
- 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x2f, 0x0a, 0x09, 0x63, 0x65, 0x6c, 0x6c,
- 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x74, 0x6f,
- 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x43, 0x65, 0x6c, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52,
- 0x08, 0x63, 0x65, 0x6c, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x5d, 0x0a, 0x16, 0x55, 0x70, 0x64,
- 0x61, 0x74, 0x65, 0x43, 0x65, 0x6c, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f,
- 0x6e, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28,
- 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x2f, 0x0a, 0x09, 0x63, 0x65, 0x6c, 0x6c, 0x5f,
- 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x74, 0x6f, 0x70,
- 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x43, 0x65, 0x6c, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x08,
- 0x63, 0x65, 0x6c, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x64, 0x0a, 0x17, 0x55, 0x70, 0x64, 0x61,
- 0x74, 0x65, 0x43, 0x65, 0x6c, 0x6c, 0x73, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x65, 0x71, 0x75,
- 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28,
- 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x35, 0x0a, 0x0b, 0x63, 0x65, 0x6c, 0x6c, 0x73,
- 0x5f, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x74,
- 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x43, 0x65, 0x6c, 0x6c, 0x73, 0x41, 0x6c, 0x69,
- 0x61, 0x73, 0x52, 0x0a, 0x63, 0x65, 0x6c, 0x6c, 0x73, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x22, 0x65,
- 0x0a, 0x18, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x65, 0x6c, 0x6c, 0x73, 0x41, 0x6c, 0x69,
- 0x61, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61,
- 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x35,
- 0x0a, 0x0b, 0x63, 0x65, 0x6c, 0x6c, 0x73, 0x5f, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x18, 0x02, 0x20,
- 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x43,
- 0x65, 0x6c, 0x6c, 0x73, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x0a, 0x63, 0x65, 0x6c, 0x6c, 0x73,
- 0x41, 0x6c, 0x69, 0x61, 0x73, 0x22, 0x34, 0x0a, 0x0f, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74,
- 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x69, 0x6e, 0x67,
- 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b,
- 0x70, 0x69, 0x6e, 0x67, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x73, 0x22, 0xfb, 0x01, 0x0a, 0x10,
- 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
- 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28,
- 0x09, 0x52, 0x07, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x12, 0x62, 0x0a, 0x13, 0x72, 0x65,
- 0x73, 0x75, 0x6c, 0x74, 0x73, 0x5f, 0x62, 0x79, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63,
- 0x65, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64,
- 0x61, 0x74, 0x61, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70,
- 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x42, 0x79, 0x4b, 0x65,
- 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x11, 0x72, 0x65, 0x73,
- 0x75, 0x6c, 0x74, 0x73, 0x42, 0x79, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x1a, 0x69,
- 0x0a, 0x16, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x42, 0x79, 0x4b, 0x65, 0x79, 0x73, 0x70,
- 0x61, 0x63, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18,
- 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x39, 0x0a, 0x05, 0x76, 0x61,
- 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x76, 0x74, 0x63, 0x74,
- 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x4b, 0x65,
- 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x05,
- 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x58, 0x0a, 0x17, 0x56, 0x61, 0x6c,
- 0x69, 0x64, 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x71,
- 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65,
- 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65,
- 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x69, 0x6e, 0x67, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x73,
- 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x70, 0x69, 0x6e, 0x67, 0x54, 0x61, 0x62, 0x6c,
- 0x65, 0x74, 0x73, 0x22, 0xfc, 0x01, 0x0a, 0x18, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65,
- 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
+ 0x68, 0x61, 0x72, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x69, 0x6e, 0x67, 0x5f, 0x74, 0x61, 0x62,
+ 0x6c, 0x65, 0x74, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x70, 0x69, 0x6e, 0x67,
+ 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x73, 0x22, 0x31, 0x0a, 0x15, 0x56, 0x61, 0x6c, 0x69, 0x64,
+ 0x61, 0x74, 0x65, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28,
- 0x09, 0x52, 0x07, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x12, 0x61, 0x0a, 0x10, 0x72, 0x65,
- 0x73, 0x75, 0x6c, 0x74, 0x73, 0x5f, 0x62, 0x79, 0x5f, 0x73, 0x68, 0x61, 0x72, 0x64, 0x18, 0x02,
- 0x20, 0x03, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61,
- 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63,
- 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74,
- 0x73, 0x42, 0x79, 0x53, 0x68, 0x61, 0x72, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0e, 0x72,
- 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x42, 0x79, 0x53, 0x68, 0x61, 0x72, 0x64, 0x1a, 0x63, 0x0a,
- 0x13, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x42, 0x79, 0x53, 0x68, 0x61, 0x72, 0x64, 0x45,
- 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28,
- 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x36, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18,
- 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74,
- 0x61, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52,
- 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02,
- 0x38, 0x01, 0x22, 0xd8, 0x01, 0x0a, 0x1d, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x53,
- 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x71,
+ 0x09, 0x52, 0x07, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x22, 0x3c, 0x0a, 0x1e, 0x56, 0x61,
+ 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79,
+ 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08,
+ 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08,
+ 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x22, 0x8a, 0x02, 0x0a, 0x1f, 0x56, 0x61, 0x6c,
+ 0x69, 0x64, 0x61, 0x74, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x73,
+ 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07,
+ 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x72,
+ 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x12, 0x68, 0x0a, 0x10, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74,
+ 0x73, 0x5f, 0x62, 0x79, 0x5f, 0x73, 0x68, 0x61, 0x72, 0x64, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b,
+ 0x32, 0x3e, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x56, 0x61, 0x6c,
+ 0x69, 0x64, 0x61, 0x74, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x73,
+ 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x52, 0x65, 0x73,
+ 0x75, 0x6c, 0x74, 0x73, 0x42, 0x79, 0x53, 0x68, 0x61, 0x72, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79,
+ 0x52, 0x0e, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x42, 0x79, 0x53, 0x68, 0x61, 0x72, 0x64,
+ 0x1a, 0x63, 0x0a, 0x13, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x42, 0x79, 0x53, 0x68, 0x61,
+ 0x72, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01,
+ 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x36, 0x0a, 0x05, 0x76, 0x61, 0x6c,
+ 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c,
+ 0x64, 0x61, 0x74, 0x61, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x53, 0x68, 0x61,
+ 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75,
+ 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x4f, 0x0a, 0x1b, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74,
+ 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71,
0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65,
0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65,
- 0x12, 0x25, 0x0a, 0x0e, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x74, 0x61, 0x62, 0x6c,
- 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64,
- 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x69, 0x6e, 0x63, 0x6c, 0x75,
- 0x64, 0x65, 0x5f, 0x76, 0x69, 0x65, 0x77, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c,
- 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x56, 0x69, 0x65, 0x77, 0x73, 0x12, 0x26, 0x0a, 0x0f,
- 0x73, 0x6b, 0x69, 0x70, 0x5f, 0x6e, 0x6f, 0x5f, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x18,
- 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x73, 0x6b, 0x69, 0x70, 0x4e, 0x6f, 0x50, 0x72, 0x69,
- 0x6d, 0x61, 0x72, 0x79, 0x12, 0x27, 0x0a, 0x0f, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f,
- 0x76, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x69,
- 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x56, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x22, 0x88, 0x02,
- 0x0a, 0x1e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61,
- 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
- 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28,
- 0x09, 0x52, 0x07, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x12, 0x67, 0x0a, 0x10, 0x72, 0x65,
- 0x73, 0x75, 0x6c, 0x74, 0x73, 0x5f, 0x62, 0x79, 0x5f, 0x73, 0x68, 0x61, 0x72, 0x64, 0x18, 0x02,
- 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61,
- 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4b,
- 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e,
+ 0x12, 0x14, 0x0a, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
+ 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x22, 0x38, 0x0a, 0x1c, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61,
+ 0x74, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x65,
+ 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74,
+ 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73,
+ 0x22, 0x98, 0x01, 0x0a, 0x16, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x56, 0x53, 0x63,
+ 0x68, 0x65, 0x6d, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6b,
+ 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b,
+ 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x68, 0x61, 0x72, 0x64,
+ 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x73, 0x68, 0x61, 0x72, 0x64, 0x73, 0x12,
+ 0x25, 0x0a, 0x0e, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65,
+ 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65,
+ 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64,
+ 0x65, 0x5f, 0x76, 0x69, 0x65, 0x77, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x69,
+ 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x56, 0x69, 0x65, 0x77, 0x73, 0x22, 0xfa, 0x01, 0x0a, 0x17,
+ 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x56, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52,
+ 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x73, 0x75, 0x6c,
+ 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74,
+ 0x73, 0x12, 0x60, 0x0a, 0x10, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x5f, 0x62, 0x79, 0x5f,
+ 0x73, 0x68, 0x61, 0x72, 0x64, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x76, 0x74,
+ 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65,
+ 0x56, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e,
0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x42, 0x79, 0x53, 0x68, 0x61, 0x72, 0x64, 0x45, 0x6e,
0x74, 0x72, 0x79, 0x52, 0x0e, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x42, 0x79, 0x53, 0x68,
0x61, 0x72, 0x64, 0x1a, 0x63, 0x0a, 0x13, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x42, 0x79,
@@ -18112,346 +18191,281 @@ var file_vtctldata_proto_rawDesc = []byte{
0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x76, 0x74,
0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65,
0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x05, 0x76,
- 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x6b, 0x0a, 0x14, 0x56, 0x61, 0x6c, 0x69,
- 0x64, 0x61, 0x74, 0x65, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
- 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01,
- 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x05,
- 0x73, 0x68, 0x61, 0x72, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x68, 0x61,
- 0x72, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x69, 0x6e, 0x67, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65,
- 0x74, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x70, 0x69, 0x6e, 0x67, 0x54, 0x61,
- 0x62, 0x6c, 0x65, 0x74, 0x73, 0x22, 0x31, 0x0a, 0x15, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74,
- 0x65, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18,
- 0x0a, 0x07, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52,
- 0x07, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x22, 0x3c, 0x0a, 0x1e, 0x56, 0x61, 0x6c, 0x69,
- 0x64, 0x61, 0x74, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x73, 0x70,
- 0x61, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65,
- 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65,
- 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x22, 0x8a, 0x02, 0x0a, 0x1f, 0x56, 0x61, 0x6c, 0x69, 0x64,
- 0x61, 0x74, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61,
- 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65,
- 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x72, 0x65, 0x73,
- 0x75, 0x6c, 0x74, 0x73, 0x12, 0x68, 0x0a, 0x10, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x5f,
- 0x62, 0x79, 0x5f, 0x73, 0x68, 0x61, 0x72, 0x64, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3e,
- 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64,
- 0x61, 0x74, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61,
- 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x52, 0x65, 0x73, 0x75, 0x6c,
- 0x74, 0x73, 0x42, 0x79, 0x53, 0x68, 0x61, 0x72, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0e,
- 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x42, 0x79, 0x53, 0x68, 0x61, 0x72, 0x64, 0x1a, 0x63,
- 0x0a, 0x13, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x42, 0x79, 0x53, 0x68, 0x61, 0x72, 0x64,
- 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01,
- 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x36, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65,
- 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61,
- 0x74, 0x61, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x53, 0x68, 0x61, 0x72, 0x64,
- 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a,
- 0x02, 0x38, 0x01, 0x22, 0x4f, 0x0a, 0x1b, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x56,
- 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65,
- 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01,
- 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x14,
- 0x0a, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73,
- 0x68, 0x61, 0x72, 0x64, 0x22, 0x38, 0x0a, 0x1c, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65,
- 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70,
- 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18,
- 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x22, 0x98,
- 0x01, 0x0a, 0x16, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x56, 0x53, 0x63, 0x68, 0x65,
- 0x6d, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79,
- 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79,
- 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x68, 0x61, 0x72, 0x64, 0x73, 0x18,
- 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x73, 0x68, 0x61, 0x72, 0x64, 0x73, 0x12, 0x25, 0x0a,
- 0x0e, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18,
- 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x54, 0x61,
- 0x62, 0x6c, 0x65, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f,
- 0x76, 0x69, 0x65, 0x77, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x69, 0x6e, 0x63,
- 0x6c, 0x75, 0x64, 0x65, 0x56, 0x69, 0x65, 0x77, 0x73, 0x22, 0xfa, 0x01, 0x0a, 0x17, 0x56, 0x61,
- 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x56, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x65, 0x73,
- 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73,
- 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x12,
- 0x60, 0x0a, 0x10, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x5f, 0x62, 0x79, 0x5f, 0x73, 0x68,
- 0x61, 0x72, 0x64, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x76, 0x74, 0x63, 0x74,
- 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x56, 0x53,
- 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x52, 0x65,
- 0x73, 0x75, 0x6c, 0x74, 0x73, 0x42, 0x79, 0x53, 0x68, 0x61, 0x72, 0x64, 0x45, 0x6e, 0x74, 0x72,
- 0x79, 0x52, 0x0e, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x42, 0x79, 0x53, 0x68, 0x61, 0x72,
- 0x64, 0x1a, 0x63, 0x0a, 0x13, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x42, 0x79, 0x53, 0x68,
- 0x61, 0x72, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18,
- 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x36, 0x0a, 0x05, 0x76, 0x61,
- 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x76, 0x74, 0x63, 0x74,
- 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x53, 0x68,
- 0x61, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c,
- 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x88, 0x07, 0x0a, 0x12, 0x56, 0x44, 0x69, 0x66, 0x66,
- 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a,
- 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
- 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x12, 0x27, 0x0a, 0x0f, 0x74, 0x61, 0x72,
- 0x67, 0x65, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01,
- 0x28, 0x09, 0x52, 0x0e, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61,
- 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09,
- 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65,
- 0x5f, 0x63, 0x65, 0x6c, 0x6c, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0b, 0x73, 0x6f,
- 0x75, 0x72, 0x63, 0x65, 0x43, 0x65, 0x6c, 0x6c, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x74, 0x61, 0x72,
- 0x67, 0x65, 0x74, 0x5f, 0x63, 0x65, 0x6c, 0x6c, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52,
- 0x0b, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x43, 0x65, 0x6c, 0x6c, 0x73, 0x12, 0x37, 0x0a, 0x0c,
- 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x06, 0x20, 0x03,
- 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61,
- 0x62, 0x6c, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0b, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74,
- 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x6c, 0x0a, 0x1b, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f,
- 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x65, 0x72,
- 0x65, 0x6e, 0x63, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2c, 0x2e, 0x74, 0x61, 0x62,
- 0x6c, 0x65, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54,
- 0x61, 0x62, 0x6c, 0x65, 0x74, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72,
- 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x19, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74,
- 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65,
- 0x6e, 0x63, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x08, 0x20,
- 0x03, 0x28, 0x09, 0x52, 0x06, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x6c,
- 0x69, 0x6d, 0x69, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69,
- 0x74, 0x12, 0x55, 0x0a, 0x1e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x65, 0x64, 0x5f, 0x72, 0x65,
- 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x77, 0x61, 0x69, 0x74, 0x5f, 0x74,
- 0x69, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x76, 0x74, 0x74, 0x69,
- 0x6d, 0x65, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x1b, 0x66, 0x69, 0x6c,
- 0x74, 0x65, 0x72, 0x65, 0x64, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
- 0x57, 0x61, 0x69, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x64, 0x65, 0x62, 0x75,
- 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x64,
- 0x65, 0x62, 0x75, 0x67, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x1a, 0x0a, 0x09, 0x6f, 0x6e, 0x6c,
- 0x79, 0x5f, 0x70, 0x5f, 0x6b, 0x73, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x6f, 0x6e,
- 0x6c, 0x79, 0x50, 0x4b, 0x73, 0x12, 0x2c, 0x0a, 0x12, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f,
- 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x18, 0x0d, 0x20, 0x01, 0x28,
- 0x08, 0x52, 0x10, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x74,
- 0x61, 0x74, 0x73, 0x12, 0x38, 0x0a, 0x19, 0x6d, 0x61, 0x78, 0x5f, 0x65, 0x78, 0x74, 0x72, 0x61,
- 0x5f, 0x72, 0x6f, 0x77, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x72, 0x65,
- 0x18, 0x0e, 0x20, 0x01, 0x28, 0x03, 0x52, 0x15, 0x6d, 0x61, 0x78, 0x45, 0x78, 0x74, 0x72, 0x61,
- 0x52, 0x6f, 0x77, 0x73, 0x54, 0x6f, 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x72, 0x65, 0x12, 0x12, 0x0a,
- 0x04, 0x77, 0x61, 0x69, 0x74, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x77, 0x61, 0x69,
- 0x74, 0x12, 0x42, 0x0a, 0x14, 0x77, 0x61, 0x69, 0x74, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65,
- 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b, 0x32,
- 0x10, 0x2e, 0x76, 0x74, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f,
- 0x6e, 0x52, 0x12, 0x77, 0x61, 0x69, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x74,
- 0x65, 0x72, 0x76, 0x61, 0x6c, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x75, 0x74, 0x6f, 0x5f, 0x72, 0x65,
- 0x74, 0x72, 0x79, 0x18, 0x11, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x61, 0x75, 0x74, 0x6f, 0x52,
- 0x65, 0x74, 0x72, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x62, 0x6f, 0x73, 0x65, 0x18,
- 0x12, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x76, 0x65, 0x72, 0x62, 0x6f, 0x73, 0x65, 0x12, 0x33,
- 0x0a, 0x16, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x61, 0x6d,
- 0x70, 0x6c, 0x65, 0x5f, 0x72, 0x6f, 0x77, 0x73, 0x18, 0x13, 0x20, 0x01, 0x28, 0x03, 0x52, 0x13,
- 0x6d, 0x61, 0x78, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x52,
- 0x6f, 0x77, 0x73, 0x12, 0x3c, 0x0a, 0x11, 0x6d, 0x61, 0x78, 0x5f, 0x64, 0x69, 0x66, 0x66, 0x5f,
- 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10,
- 0x2e, 0x76, 0x74, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e,
- 0x52, 0x0f, 0x6d, 0x61, 0x78, 0x44, 0x69, 0x66, 0x66, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f,
- 0x6e, 0x22, 0x29, 0x0a, 0x13, 0x56, 0x44, 0x69, 0x66, 0x66, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65,
- 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x55, 0x55, 0x49, 0x44,
- 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x55, 0x55, 0x49, 0x44, 0x22, 0x6b, 0x0a, 0x12,
- 0x56, 0x44, 0x69, 0x66, 0x66, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65,
- 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x18, 0x01,
- 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x12, 0x27,
- 0x0a, 0x0f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63,
- 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x4b,
- 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x61, 0x72, 0x67, 0x18, 0x03,
- 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x61, 0x72, 0x67, 0x22, 0x15, 0x0a, 0x13, 0x56, 0x44, 0x69,
- 0x66, 0x66, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
- 0x22, 0x6d, 0x0a, 0x12, 0x56, 0x44, 0x69, 0x66, 0x66, 0x52, 0x65, 0x73, 0x75, 0x6d, 0x65, 0x52,
- 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c,
- 0x6f, 0x77, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c,
- 0x6f, 0x77, 0x12, 0x27, 0x0a, 0x0f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x6b, 0x65, 0x79,
- 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x74, 0x61, 0x72,
- 0x67, 0x65, 0x74, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x75,
- 0x75, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x22,
- 0x15, 0x0a, 0x13, 0x56, 0x44, 0x69, 0x66, 0x66, 0x52, 0x65, 0x73, 0x75, 0x6d, 0x65, 0x52, 0x65,
- 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x69, 0x0a, 0x10, 0x56, 0x44, 0x69, 0x66, 0x66, 0x53,
- 0x68, 0x6f, 0x77, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x77, 0x6f,
- 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x77, 0x6f,
- 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x12, 0x27, 0x0a, 0x0f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74,
- 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
- 0x0e, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12,
- 0x10, 0x0a, 0x03, 0x61, 0x72, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x61, 0x72,
- 0x67, 0x22, 0xd7, 0x01, 0x0a, 0x11, 0x56, 0x44, 0x69, 0x66, 0x66, 0x53, 0x68, 0x6f, 0x77, 0x52,
- 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5c, 0x0a, 0x10, 0x74, 0x61, 0x62, 0x6c, 0x65,
- 0x74, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28,
- 0x0b, 0x32, 0x31, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x56, 0x44,
- 0x69, 0x66, 0x66, 0x53, 0x68, 0x6f, 0x77, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e,
- 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x73, 0x45,
- 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70,
- 0x6f, 0x6e, 0x73, 0x65, 0x73, 0x1a, 0x64, 0x0a, 0x14, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x52,
- 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a,
- 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12,
- 0x36, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20,
- 0x2e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x64, 0x61,
- 0x74, 0x61, 0x2e, 0x56, 0x44, 0x69, 0x66, 0x66, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
- 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x6b, 0x0a, 0x10, 0x56,
- 0x44, 0x69, 0x66, 0x66, 0x53, 0x74, 0x6f, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
+ 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x88, 0x07, 0x0a, 0x12, 0x56, 0x44, 0x69,
+ 0x66, 0x66, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
0x1a, 0x0a, 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x18, 0x01, 0x20, 0x01, 0x28,
0x09, 0x52, 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x12, 0x27, 0x0a, 0x0f, 0x74,
0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x02,
0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x4b, 0x65, 0x79, 0x73,
0x70, 0x61, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01,
- 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x22, 0x13, 0x0a, 0x11, 0x56, 0x44, 0x69, 0x66,
- 0x66, 0x53, 0x74, 0x6f, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xb2, 0x01,
- 0x0a, 0x15, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65,
- 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70,
- 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70,
- 0x61, 0x63, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x18,
- 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x12,
- 0x1b, 0x0a, 0x09, 0x6b, 0x65, 0x65, 0x70, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01,
- 0x28, 0x08, 0x52, 0x08, 0x6b, 0x65, 0x65, 0x70, 0x44, 0x61, 0x74, 0x61, 0x12, 0x2c, 0x0a, 0x12,
- 0x6b, 0x65, 0x65, 0x70, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x75, 0x6c,
- 0x65, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x6b, 0x65, 0x65, 0x70, 0x52, 0x6f,
- 0x75, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x68,
- 0x61, 0x72, 0x64, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x73, 0x68, 0x61, 0x72,
- 0x64, 0x73, 0x22, 0xd1, 0x01, 0x0a, 0x16, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x44,
- 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a,
- 0x07, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07,
- 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x12, 0x46, 0x0a, 0x07, 0x64, 0x65, 0x74, 0x61, 0x69,
- 0x6c, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c,
- 0x64, 0x61, 0x74, 0x61, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x44, 0x65, 0x6c,
- 0x65, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x54, 0x61, 0x62, 0x6c,
- 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x07, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x1a,
- 0x55, 0x0a, 0x0a, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x2d, 0x0a,
- 0x06, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e,
- 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41,
- 0x6c, 0x69, 0x61, 0x73, 0x52, 0x06, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x12, 0x18, 0x0a, 0x07,
- 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x64,
- 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x22, 0x67, 0x0a, 0x15, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c,
- 0x6f, 0x77, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
- 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28,
- 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x77,
- 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x77,
- 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x68, 0x61, 0x72, 0x64,
- 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x73, 0x68, 0x61, 0x72, 0x64, 0x73, 0x22,
- 0xe6, 0x07, 0x0a, 0x16, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x53, 0x74, 0x61, 0x74,
- 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5f, 0x0a, 0x10, 0x74, 0x61,
- 0x62, 0x6c, 0x65, 0x5f, 0x63, 0x6f, 0x70, 0x79, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x01,
- 0x20, 0x03, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61,
- 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52,
- 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x6f, 0x70,
- 0x79, 0x53, 0x74, 0x61, 0x74, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0e, 0x74, 0x61, 0x62,
- 0x6c, 0x65, 0x43, 0x6f, 0x70, 0x79, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x58, 0x0a, 0x0d, 0x73,
- 0x68, 0x61, 0x72, 0x64, 0x5f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x03,
- 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x57,
- 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73,
- 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x53, 0x68, 0x61, 0x72, 0x64, 0x53, 0x74, 0x72, 0x65, 0x61,
- 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0c, 0x73, 0x68, 0x61, 0x72, 0x64, 0x53, 0x74,
- 0x72, 0x65, 0x61, 0x6d, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x74, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63,
- 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x74, 0x72,
- 0x61, 0x66, 0x66, 0x69, 0x63, 0x53, 0x74, 0x61, 0x74, 0x65, 0x1a, 0xe8, 0x01, 0x0a, 0x0e, 0x54,
- 0x61, 0x62, 0x6c, 0x65, 0x43, 0x6f, 0x70, 0x79, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1f, 0x0a,
- 0x0b, 0x72, 0x6f, 0x77, 0x73, 0x5f, 0x63, 0x6f, 0x70, 0x69, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01,
- 0x28, 0x03, 0x52, 0x0a, 0x72, 0x6f, 0x77, 0x73, 0x43, 0x6f, 0x70, 0x69, 0x65, 0x64, 0x12, 0x1d,
- 0x0a, 0x0a, 0x72, 0x6f, 0x77, 0x73, 0x5f, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01,
- 0x28, 0x03, 0x52, 0x09, 0x72, 0x6f, 0x77, 0x73, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x27, 0x0a,
- 0x0f, 0x72, 0x6f, 0x77, 0x73, 0x5f, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x61, 0x67, 0x65,
- 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0e, 0x72, 0x6f, 0x77, 0x73, 0x50, 0x65, 0x72, 0x63,
- 0x65, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x62, 0x79, 0x74, 0x65, 0x73, 0x5f,
- 0x63, 0x6f, 0x70, 0x69, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x62, 0x79,
- 0x74, 0x65, 0x73, 0x43, 0x6f, 0x70, 0x69, 0x65, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x62, 0x79, 0x74,
- 0x65, 0x73, 0x5f, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a,
- 0x62, 0x79, 0x74, 0x65, 0x73, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x29, 0x0a, 0x10, 0x62, 0x79,
- 0x74, 0x65, 0x73, 0x5f, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x18, 0x06,
- 0x20, 0x01, 0x28, 0x02, 0x52, 0x0f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x50, 0x65, 0x72, 0x63, 0x65,
- 0x6e, 0x74, 0x61, 0x67, 0x65, 0x1a, 0xbc, 0x01, 0x0a, 0x10, 0x53, 0x68, 0x61, 0x72, 0x64, 0x53,
- 0x74, 0x72, 0x65, 0x61, 0x6d, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64,
- 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x69, 0x64, 0x12, 0x2d, 0x0a, 0x06, 0x74, 0x61,
- 0x62, 0x6c, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x74, 0x6f, 0x70,
- 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61,
- 0x73, 0x52, 0x06, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x6f, 0x75,
- 0x72, 0x63, 0x65, 0x5f, 0x73, 0x68, 0x61, 0x72, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52,
- 0x0b, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x68, 0x61, 0x72, 0x64, 0x12, 0x1a, 0x0a, 0x08,
- 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08,
- 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74,
- 0x75, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73,
- 0x12, 0x12, 0x0a, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04,
- 0x69, 0x6e, 0x66, 0x6f, 0x1a, 0x5c, 0x0a, 0x0c, 0x53, 0x68, 0x61, 0x72, 0x64, 0x53, 0x74, 0x72,
- 0x65, 0x61, 0x6d, 0x73, 0x12, 0x4c, 0x0a, 0x07, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x18,
- 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74,
- 0x61, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73,
- 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x53, 0x68, 0x61, 0x72, 0x64, 0x53, 0x74,
- 0x72, 0x65, 0x61, 0x6d, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x07, 0x73, 0x74, 0x72, 0x65, 0x61,
- 0x6d, 0x73, 0x1a, 0x73, 0x0a, 0x13, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x6f, 0x70, 0x79, 0x53,
- 0x74, 0x61, 0x74, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79,
- 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x46, 0x0a, 0x05, 0x76,
- 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x76, 0x74, 0x63,
- 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x53,
- 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x54, 0x61,
- 0x62, 0x6c, 0x65, 0x43, 0x6f, 0x70, 0x79, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x76, 0x61,
- 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x6f, 0x0a, 0x11, 0x53, 0x68, 0x61, 0x72, 0x64,
- 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03,
- 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x44,
- 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e,
- 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c,
- 0x6f, 0x77, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
- 0x2e, 0x53, 0x68, 0x61, 0x72, 0x64, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x52, 0x05, 0x76,
- 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xef, 0x03, 0x0a, 0x1c, 0x57, 0x6f, 0x72,
- 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x54, 0x72, 0x61, 0x66, 0x66,
- 0x69, 0x63, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79,
+ 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x6f, 0x75, 0x72,
+ 0x63, 0x65, 0x5f, 0x63, 0x65, 0x6c, 0x6c, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0b,
+ 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x43, 0x65, 0x6c, 0x6c, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x74,
+ 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x63, 0x65, 0x6c, 0x6c, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28,
+ 0x09, 0x52, 0x0b, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x43, 0x65, 0x6c, 0x6c, 0x73, 0x12, 0x37,
+ 0x0a, 0x0c, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x06,
+ 0x20, 0x03, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e,
+ 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0b, 0x74, 0x61, 0x62, 0x6c,
+ 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x6c, 0x0a, 0x1b, 0x74, 0x61, 0x62, 0x6c, 0x65,
+ 0x74, 0x5f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x72, 0x65, 0x66,
+ 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2c, 0x2e, 0x74,
+ 0x61, 0x62, 0x6c, 0x65, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x64, 0x61, 0x74, 0x61,
+ 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e,
+ 0x50, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x19, 0x74, 0x61, 0x62, 0x6c,
+ 0x65, 0x74, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x65, 0x66, 0x65,
+ 0x72, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18,
+ 0x08, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x14, 0x0a,
+ 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x6c, 0x69,
+ 0x6d, 0x69, 0x74, 0x12, 0x55, 0x0a, 0x1e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x65, 0x64, 0x5f,
+ 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x77, 0x61, 0x69, 0x74,
+ 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x76, 0x74,
+ 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x1b, 0x66,
+ 0x69, 0x6c, 0x74, 0x65, 0x72, 0x65, 0x64, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69,
+ 0x6f, 0x6e, 0x57, 0x61, 0x69, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x64, 0x65,
+ 0x62, 0x75, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x52,
+ 0x0a, 0x64, 0x65, 0x62, 0x75, 0x67, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x1a, 0x0a, 0x09, 0x6f,
+ 0x6e, 0x6c, 0x79, 0x5f, 0x70, 0x5f, 0x6b, 0x73, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07,
+ 0x6f, 0x6e, 0x6c, 0x79, 0x50, 0x4b, 0x73, 0x12, 0x2c, 0x0a, 0x12, 0x75, 0x70, 0x64, 0x61, 0x74,
+ 0x65, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x18, 0x0d, 0x20,
+ 0x01, 0x28, 0x08, 0x52, 0x10, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65,
+ 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x38, 0x0a, 0x19, 0x6d, 0x61, 0x78, 0x5f, 0x65, 0x78, 0x74,
+ 0x72, 0x61, 0x5f, 0x72, 0x6f, 0x77, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x61,
+ 0x72, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x03, 0x52, 0x15, 0x6d, 0x61, 0x78, 0x45, 0x78, 0x74,
+ 0x72, 0x61, 0x52, 0x6f, 0x77, 0x73, 0x54, 0x6f, 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x72, 0x65, 0x12,
+ 0x12, 0x0a, 0x04, 0x77, 0x61, 0x69, 0x74, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x77,
+ 0x61, 0x69, 0x74, 0x12, 0x42, 0x0a, 0x14, 0x77, 0x61, 0x69, 0x74, 0x5f, 0x75, 0x70, 0x64, 0x61,
+ 0x74, 0x65, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x18, 0x10, 0x20, 0x01, 0x28,
+ 0x0b, 0x32, 0x10, 0x2e, 0x76, 0x74, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74,
+ 0x69, 0x6f, 0x6e, 0x52, 0x12, 0x77, 0x61, 0x69, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x49,
+ 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x75, 0x74, 0x6f, 0x5f,
+ 0x72, 0x65, 0x74, 0x72, 0x79, 0x18, 0x11, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x61, 0x75, 0x74,
+ 0x6f, 0x52, 0x65, 0x74, 0x72, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x62, 0x6f, 0x73,
+ 0x65, 0x18, 0x12, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x76, 0x65, 0x72, 0x62, 0x6f, 0x73, 0x65,
+ 0x12, 0x33, 0x0a, 0x16, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73,
+ 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x5f, 0x72, 0x6f, 0x77, 0x73, 0x18, 0x13, 0x20, 0x01, 0x28, 0x03,
+ 0x52, 0x13, 0x6d, 0x61, 0x78, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x53, 0x61, 0x6d, 0x70, 0x6c,
+ 0x65, 0x52, 0x6f, 0x77, 0x73, 0x12, 0x3c, 0x0a, 0x11, 0x6d, 0x61, 0x78, 0x5f, 0x64, 0x69, 0x66,
+ 0x66, 0x5f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0b,
+ 0x32, 0x10, 0x2e, 0x76, 0x74, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69,
+ 0x6f, 0x6e, 0x52, 0x0f, 0x6d, 0x61, 0x78, 0x44, 0x69, 0x66, 0x66, 0x44, 0x75, 0x72, 0x61, 0x74,
+ 0x69, 0x6f, 0x6e, 0x22, 0x29, 0x0a, 0x13, 0x56, 0x44, 0x69, 0x66, 0x66, 0x43, 0x72, 0x65, 0x61,
+ 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x55, 0x55,
+ 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x55, 0x55, 0x49, 0x44, 0x22, 0x6b,
+ 0x0a, 0x12, 0x56, 0x44, 0x69, 0x66, 0x66, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x71,
+ 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77,
+ 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77,
+ 0x12, 0x27, 0x0a, 0x0f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x70,
+ 0x61, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x74, 0x61, 0x72, 0x67, 0x65,
+ 0x74, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x61, 0x72, 0x67,
+ 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x61, 0x72, 0x67, 0x22, 0x15, 0x0a, 0x13, 0x56,
+ 0x44, 0x69, 0x66, 0x66, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
+ 0x73, 0x65, 0x22, 0x6d, 0x0a, 0x12, 0x56, 0x44, 0x69, 0x66, 0x66, 0x52, 0x65, 0x73, 0x75, 0x6d,
+ 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x77, 0x6f, 0x72, 0x6b,
+ 0x66, 0x6c, 0x6f, 0x77, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x77, 0x6f, 0x72, 0x6b,
+ 0x66, 0x6c, 0x6f, 0x77, 0x12, 0x27, 0x0a, 0x0f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x6b,
+ 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x74,
+ 0x61, 0x72, 0x67, 0x65, 0x74, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x12, 0x0a,
+ 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69,
+ 0x64, 0x22, 0x15, 0x0a, 0x13, 0x56, 0x44, 0x69, 0x66, 0x66, 0x52, 0x65, 0x73, 0x75, 0x6d, 0x65,
+ 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x69, 0x0a, 0x10, 0x56, 0x44, 0x69, 0x66,
+ 0x66, 0x53, 0x68, 0x6f, 0x77, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08,
+ 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08,
+ 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x12, 0x27, 0x0a, 0x0f, 0x74, 0x61, 0x72, 0x67,
+ 0x65, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
+ 0x09, 0x52, 0x0e, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63,
+ 0x65, 0x12, 0x10, 0x0a, 0x03, 0x61, 0x72, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03,
+ 0x61, 0x72, 0x67, 0x22, 0xd7, 0x01, 0x0a, 0x11, 0x56, 0x44, 0x69, 0x66, 0x66, 0x53, 0x68, 0x6f,
+ 0x77, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5c, 0x0a, 0x10, 0x74, 0x61, 0x62,
+ 0x6c, 0x65, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x73, 0x18, 0x01, 0x20,
+ 0x03, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e,
+ 0x56, 0x44, 0x69, 0x66, 0x66, 0x53, 0x68, 0x6f, 0x77, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
+ 0x65, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
+ 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x52, 0x65,
+ 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x73, 0x1a, 0x64, 0x0a, 0x14, 0x54, 0x61, 0x62, 0x6c, 0x65,
+ 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12,
+ 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65,
+ 0x79, 0x12, 0x36, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b,
+ 0x32, 0x20, 0x2e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72,
+ 0x64, 0x61, 0x74, 0x61, 0x2e, 0x56, 0x44, 0x69, 0x66, 0x66, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
+ 0x73, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x6b, 0x0a,
+ 0x10, 0x56, 0x44, 0x69, 0x66, 0x66, 0x53, 0x74, 0x6f, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
+ 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x18, 0x01, 0x20,
+ 0x01, 0x28, 0x09, 0x52, 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x12, 0x27, 0x0a,
+ 0x0f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65,
+ 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x4b, 0x65,
+ 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x03,
+ 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x22, 0x13, 0x0a, 0x11, 0x56, 0x44,
+ 0x69, 0x66, 0x66, 0x53, 0x74, 0x6f, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22,
+ 0xb2, 0x01, 0x0a, 0x15, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x44, 0x65, 0x6c, 0x65,
+ 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79,
0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79,
0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f,
0x77, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f,
- 0x77, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x65, 0x6c, 0x6c, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09,
- 0x52, 0x05, 0x63, 0x65, 0x6c, 0x6c, 0x73, 0x12, 0x37, 0x0a, 0x0c, 0x74, 0x61, 0x62, 0x6c, 0x65,
- 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x14, 0x2e,
- 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x54,
- 0x79, 0x70, 0x65, 0x52, 0x0b, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x73,
- 0x12, 0x4f, 0x0a, 0x1b, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74,
- 0x69, 0x6f, 0x6e, 0x5f, 0x6c, 0x61, 0x67, 0x5f, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x18,
- 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x76, 0x74, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x44,
- 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x18, 0x6d, 0x61, 0x78, 0x52, 0x65, 0x70, 0x6c,
- 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x61, 0x67, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65,
- 0x64, 0x12, 0x3c, 0x0a, 0x1a, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x72, 0x65, 0x76, 0x65,
- 0x72, 0x73, 0x65, 0x5f, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18,
- 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x18, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x76,
- 0x65, 0x72, 0x73, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12,
- 0x1c, 0x0a, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01,
- 0x28, 0x05, 0x52, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2a, 0x0a,
- 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10,
- 0x2e, 0x76, 0x74, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e,
- 0x52, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x17, 0x0a, 0x07, 0x64, 0x72, 0x79,
- 0x5f, 0x72, 0x75, 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x64, 0x72, 0x79, 0x52,
- 0x75, 0x6e, 0x12, 0x3e, 0x0a, 0x1b, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65,
- 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65,
- 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x19, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c,
- 0x69, 0x7a, 0x65, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63,
- 0x65, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x68, 0x61, 0x72, 0x64, 0x73, 0x18, 0x0b, 0x20, 0x03,
- 0x28, 0x09, 0x52, 0x06, 0x73, 0x68, 0x61, 0x72, 0x64, 0x73, 0x22, 0xa7, 0x01, 0x0a, 0x1d, 0x57,
+ 0x77, 0x12, 0x1b, 0x0a, 0x09, 0x6b, 0x65, 0x65, 0x70, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03,
+ 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x6b, 0x65, 0x65, 0x70, 0x44, 0x61, 0x74, 0x61, 0x12, 0x2c,
+ 0x0a, 0x12, 0x6b, 0x65, 0x65, 0x70, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x72,
+ 0x75, 0x6c, 0x65, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x6b, 0x65, 0x65, 0x70,
+ 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x16, 0x0a, 0x06,
+ 0x73, 0x68, 0x61, 0x72, 0x64, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x73, 0x68,
+ 0x61, 0x72, 0x64, 0x73, 0x22, 0xd1, 0x01, 0x0a, 0x16, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f,
+ 0x77, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12,
+ 0x18, 0x0a, 0x07, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
+ 0x52, 0x07, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x12, 0x46, 0x0a, 0x07, 0x64, 0x65, 0x74,
+ 0x61, 0x69, 0x6c, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x76, 0x74, 0x63,
+ 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x44,
+ 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x54, 0x61,
+ 0x62, 0x6c, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x07, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c,
+ 0x73, 0x1a, 0x55, 0x0a, 0x0a, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12,
+ 0x2d, 0x0a, 0x06, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32,
+ 0x15, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65,
+ 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x06, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x12, 0x18,
+ 0x0a, 0x07, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52,
+ 0x07, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x22, 0x67, 0x0a, 0x15, 0x57, 0x6f, 0x72, 0x6b,
+ 0x66, 0x6c, 0x6f, 0x77, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
+ 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20,
+ 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x1a, 0x0a,
+ 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
+ 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x68, 0x61,
+ 0x72, 0x64, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x73, 0x68, 0x61, 0x72, 0x64,
+ 0x73, 0x22, 0xe6, 0x07, 0x0a, 0x16, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x53, 0x74,
+ 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5f, 0x0a, 0x10,
+ 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x63, 0x6f, 0x70, 0x79, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65,
+ 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61,
+ 0x74, 0x61, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x53, 0x74, 0x61, 0x74, 0x75,
+ 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x43,
+ 0x6f, 0x70, 0x79, 0x53, 0x74, 0x61, 0x74, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0e, 0x74,
+ 0x61, 0x62, 0x6c, 0x65, 0x43, 0x6f, 0x70, 0x79, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x58, 0x0a,
+ 0x0d, 0x73, 0x68, 0x61, 0x72, 0x64, 0x5f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x18, 0x02,
+ 0x20, 0x03, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61,
+ 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52,
+ 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x53, 0x68, 0x61, 0x72, 0x64, 0x53, 0x74, 0x72,
+ 0x65, 0x61, 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0c, 0x73, 0x68, 0x61, 0x72, 0x64,
+ 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x74, 0x72, 0x61, 0x66, 0x66,
+ 0x69, 0x63, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c,
+ 0x74, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x53, 0x74, 0x61, 0x74, 0x65, 0x1a, 0xe8, 0x01, 0x0a,
+ 0x0e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x6f, 0x70, 0x79, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12,
+ 0x1f, 0x0a, 0x0b, 0x72, 0x6f, 0x77, 0x73, 0x5f, 0x63, 0x6f, 0x70, 0x69, 0x65, 0x64, 0x18, 0x01,
+ 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x72, 0x6f, 0x77, 0x73, 0x43, 0x6f, 0x70, 0x69, 0x65, 0x64,
+ 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x6f, 0x77, 0x73, 0x5f, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x02,
+ 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x72, 0x6f, 0x77, 0x73, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x12,
+ 0x27, 0x0a, 0x0f, 0x72, 0x6f, 0x77, 0x73, 0x5f, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x61,
+ 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0e, 0x72, 0x6f, 0x77, 0x73, 0x50, 0x65,
+ 0x72, 0x63, 0x65, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x62, 0x79, 0x74, 0x65,
+ 0x73, 0x5f, 0x63, 0x6f, 0x70, 0x69, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b,
+ 0x62, 0x79, 0x74, 0x65, 0x73, 0x43, 0x6f, 0x70, 0x69, 0x65, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x62,
+ 0x79, 0x74, 0x65, 0x73, 0x5f, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03,
+ 0x52, 0x0a, 0x62, 0x79, 0x74, 0x65, 0x73, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x29, 0x0a, 0x10,
+ 0x62, 0x79, 0x74, 0x65, 0x73, 0x5f, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x61, 0x67, 0x65,
+ 0x18, 0x06, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x50, 0x65, 0x72,
+ 0x63, 0x65, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x1a, 0xbc, 0x01, 0x0a, 0x10, 0x53, 0x68, 0x61, 0x72,
+ 0x64, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x0e, 0x0a, 0x02,
+ 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x69, 0x64, 0x12, 0x2d, 0x0a, 0x06,
+ 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x74,
+ 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c,
+ 0x69, 0x61, 0x73, 0x52, 0x06, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x73,
+ 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x73, 0x68, 0x61, 0x72, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28,
+ 0x09, 0x52, 0x0b, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x68, 0x61, 0x72, 0x64, 0x12, 0x1a,
+ 0x0a, 0x08, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09,
+ 0x52, 0x08, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74,
+ 0x61, 0x74, 0x75, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74,
+ 0x75, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09,
+ 0x52, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x1a, 0x5c, 0x0a, 0x0c, 0x53, 0x68, 0x61, 0x72, 0x64, 0x53,
+ 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x12, 0x4c, 0x0a, 0x07, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d,
+ 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64,
+ 0x61, 0x74, 0x61, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x53, 0x74, 0x61, 0x74,
+ 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x53, 0x68, 0x61, 0x72, 0x64,
+ 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x07, 0x73, 0x74, 0x72,
+ 0x65, 0x61, 0x6d, 0x73, 0x1a, 0x73, 0x0a, 0x13, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x6f, 0x70,
+ 0x79, 0x53, 0x74, 0x61, 0x74, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b,
+ 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x46, 0x0a,
+ 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x76,
+ 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f,
+ 0x77, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e,
+ 0x54, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x6f, 0x70, 0x79, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05,
+ 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x6f, 0x0a, 0x11, 0x53, 0x68, 0x61,
+ 0x72, 0x64, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10,
+ 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79,
+ 0x12, 0x44, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32,
+ 0x2e, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x57, 0x6f, 0x72, 0x6b,
+ 0x66, 0x6c, 0x6f, 0x77, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
+ 0x73, 0x65, 0x2e, 0x53, 0x68, 0x61, 0x72, 0x64, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x52,
+ 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xef, 0x03, 0x0a, 0x1c, 0x57,
0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x54, 0x72, 0x61,
- 0x66, 0x66, 0x69, 0x63, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07,
- 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73,
- 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f,
- 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x74, 0x61,
- 0x72, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x75, 0x72, 0x72, 0x65,
- 0x6e, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c,
- 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x26, 0x0a, 0x0f,
- 0x64, 0x72, 0x79, 0x5f, 0x72, 0x75, 0x6e, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18,
- 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x64, 0x72, 0x79, 0x52, 0x75, 0x6e, 0x52, 0x65, 0x73,
- 0x75, 0x6c, 0x74, 0x73, 0x22, 0x90, 0x01, 0x0a, 0x15, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f,
- 0x77, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a,
- 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
- 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x5b, 0x0a, 0x0e, 0x74, 0x61,
- 0x62, 0x6c, 0x65, 0x74, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x02, 0x20, 0x01,
- 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67,
- 0x65, 0x72, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x56, 0x52, 0x65,
- 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f,
- 0x77, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x0d, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74,
- 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0xd1, 0x01, 0x0a, 0x16, 0x57, 0x6f, 0x72, 0x6b,
+ 0x66, 0x66, 0x69, 0x63, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6b,
+ 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b,
+ 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x66,
+ 0x6c, 0x6f, 0x77, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x66,
+ 0x6c, 0x6f, 0x77, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x65, 0x6c, 0x6c, 0x73, 0x18, 0x03, 0x20, 0x03,
+ 0x28, 0x09, 0x52, 0x05, 0x63, 0x65, 0x6c, 0x6c, 0x73, 0x12, 0x37, 0x0a, 0x0c, 0x74, 0x61, 0x62,
+ 0x6c, 0x65, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0e, 0x32,
+ 0x14, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65,
+ 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0b, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x54, 0x79, 0x70,
+ 0x65, 0x73, 0x12, 0x4f, 0x0a, 0x1b, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63,
+ 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6c, 0x61, 0x67, 0x5f, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65,
+ 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x76, 0x74, 0x74, 0x69, 0x6d, 0x65,
+ 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x18, 0x6d, 0x61, 0x78, 0x52, 0x65,
+ 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x61, 0x67, 0x41, 0x6c, 0x6c, 0x6f,
+ 0x77, 0x65, 0x64, 0x12, 0x3c, 0x0a, 0x1a, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x72, 0x65,
+ 0x76, 0x65, 0x72, 0x73, 0x65, 0x5f, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f,
+ 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x18, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x52,
+ 0x65, 0x76, 0x65, 0x72, 0x73, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f,
+ 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x07,
+ 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12,
+ 0x2a, 0x0a, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b,
+ 0x32, 0x10, 0x2e, 0x76, 0x74, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69,
+ 0x6f, 0x6e, 0x52, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x17, 0x0a, 0x07, 0x64,
+ 0x72, 0x79, 0x5f, 0x72, 0x75, 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x64, 0x72,
+ 0x79, 0x52, 0x75, 0x6e, 0x12, 0x3e, 0x0a, 0x1b, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x69,
+ 0x7a, 0x65, 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e,
+ 0x63, 0x65, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x19, 0x69, 0x6e, 0x69, 0x74, 0x69,
+ 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x53, 0x65, 0x71, 0x75, 0x65,
+ 0x6e, 0x63, 0x65, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x68, 0x61, 0x72, 0x64, 0x73, 0x18, 0x0b,
+ 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x73, 0x68, 0x61, 0x72, 0x64, 0x73, 0x22, 0xa7, 0x01, 0x0a,
+ 0x1d, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x54,
+ 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18,
+ 0x0a, 0x07, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
+ 0x07, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x74, 0x61, 0x72,
+ 0x74, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73,
+ 0x74, 0x61, 0x72, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x75, 0x72,
+ 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09,
+ 0x52, 0x0c, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x26,
+ 0x0a, 0x0f, 0x64, 0x72, 0x79, 0x5f, 0x72, 0x75, 0x6e, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74,
+ 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x64, 0x72, 0x79, 0x52, 0x75, 0x6e, 0x52,
+ 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x22, 0x90, 0x01, 0x0a, 0x15, 0x57, 0x6f, 0x72, 0x6b, 0x66,
+ 0x6c, 0x6f, 0x77, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
+ 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01,
+ 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x5b, 0x0a, 0x0e,
+ 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x02,
+ 0x20, 0x01, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x6d, 0x61, 0x6e,
+ 0x61, 0x67, 0x65, 0x72, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x56,
+ 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x57, 0x6f, 0x72, 0x6b, 0x66,
+ 0x6c, 0x6f, 0x77, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x0d, 0x74, 0x61, 0x62, 0x6c,
+ 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0xd1, 0x01, 0x0a, 0x16, 0x57, 0x6f,
+ 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70,
+ 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x18,
+ 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x12, 0x46,
+ 0x0a, 0x07, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32,
+ 0x2c, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x57, 0x6f, 0x72, 0x6b,
0x66, 0x6c, 0x6f, 0x77, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
- 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x18, 0x01, 0x20,
- 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x12, 0x46, 0x0a, 0x07,
- 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e,
- 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c,
- 0x6f, 0x77, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
- 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x07, 0x64, 0x65, 0x74,
- 0x61, 0x69, 0x6c, 0x73, 0x1a, 0x55, 0x0a, 0x0a, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x49, 0x6e,
- 0x66, 0x6f, 0x12, 0x2d, 0x0a, 0x06, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01,
- 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61,
- 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x06, 0x74, 0x61, 0x62, 0x6c, 0x65,
- 0x74, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01,
- 0x28, 0x08, 0x52, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x2a, 0x4a, 0x0a, 0x15, 0x4d,
- 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e,
- 0x74, 0x65, 0x6e, 0x74, 0x12, 0x0a, 0x0a, 0x06, 0x43, 0x55, 0x53, 0x54, 0x4f, 0x4d, 0x10, 0x00,
- 0x12, 0x0e, 0x0a, 0x0a, 0x4d, 0x4f, 0x56, 0x45, 0x54, 0x41, 0x42, 0x4c, 0x45, 0x53, 0x10, 0x01,
- 0x12, 0x15, 0x0a, 0x11, 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, 0x4c, 0x4f, 0x4f, 0x4b, 0x55, 0x50,
- 0x49, 0x4e, 0x44, 0x45, 0x58, 0x10, 0x02, 0x2a, 0x38, 0x0a, 0x0d, 0x51, 0x75, 0x65, 0x72, 0x79,
- 0x4f, 0x72, 0x64, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x08, 0x0a, 0x04, 0x4e, 0x4f, 0x4e, 0x45,
- 0x10, 0x00, 0x12, 0x0d, 0x0a, 0x09, 0x41, 0x53, 0x43, 0x45, 0x4e, 0x44, 0x49, 0x4e, 0x47, 0x10,
- 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x44, 0x45, 0x53, 0x43, 0x45, 0x4e, 0x44, 0x49, 0x4e, 0x47, 0x10,
- 0x02, 0x42, 0x28, 0x5a, 0x26, 0x76, 0x69, 0x74, 0x65, 0x73, 0x73, 0x2e, 0x69, 0x6f, 0x2f, 0x76,
- 0x69, 0x74, 0x65, 0x73, 0x73, 0x2f, 0x67, 0x6f, 0x2f, 0x76, 0x74, 0x2f, 0x70, 0x72, 0x6f, 0x74,
- 0x6f, 0x2f, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x62, 0x06, 0x70, 0x72, 0x6f,
- 0x74, 0x6f, 0x33,
+ 0x73, 0x65, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x07, 0x64,
+ 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x1a, 0x55, 0x0a, 0x0a, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74,
+ 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x2d, 0x0a, 0x06, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x18, 0x01,
+ 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e,
+ 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x06, 0x74, 0x61, 0x62,
+ 0x6c, 0x65, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x18, 0x02,
+ 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x2a, 0x4a, 0x0a,
+ 0x15, 0x4d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e,
+ 0x49, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x0a, 0x0a, 0x06, 0x43, 0x55, 0x53, 0x54, 0x4f, 0x4d,
+ 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x4d, 0x4f, 0x56, 0x45, 0x54, 0x41, 0x42, 0x4c, 0x45, 0x53,
+ 0x10, 0x01, 0x12, 0x15, 0x0a, 0x11, 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, 0x4c, 0x4f, 0x4f, 0x4b,
+ 0x55, 0x50, 0x49, 0x4e, 0x44, 0x45, 0x58, 0x10, 0x02, 0x2a, 0x38, 0x0a, 0x0d, 0x51, 0x75, 0x65,
+ 0x72, 0x79, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x08, 0x0a, 0x04, 0x4e, 0x4f,
+ 0x4e, 0x45, 0x10, 0x00, 0x12, 0x0d, 0x0a, 0x09, 0x41, 0x53, 0x43, 0x45, 0x4e, 0x44, 0x49, 0x4e,
+ 0x47, 0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x44, 0x45, 0x53, 0x43, 0x45, 0x4e, 0x44, 0x49, 0x4e,
+ 0x47, 0x10, 0x02, 0x42, 0x28, 0x5a, 0x26, 0x76, 0x69, 0x74, 0x65, 0x73, 0x73, 0x2e, 0x69, 0x6f,
+ 0x2f, 0x76, 0x69, 0x74, 0x65, 0x73, 0x73, 0x2f, 0x67, 0x6f, 0x2f, 0x76, 0x74, 0x2f, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x2f, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x62, 0x06, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (
diff --git a/go/vt/proto/vtctldata/vtctldata_vtproto.pb.go b/go/vt/proto/vtctldata/vtctldata_vtproto.pb.go
index 8be873b5026..4af411d7d43 100644
--- a/go/vt/proto/vtctldata/vtctldata_vtproto.pb.go
+++ b/go/vt/proto/vtctldata/vtctldata_vtproto.pb.go
@@ -251,8 +251,9 @@ func (m *WorkflowOptions) CloneVT() *WorkflowOptions {
return (*WorkflowOptions)(nil)
}
r := &WorkflowOptions{
- TenantId: m.TenantId,
- SourceKeyspaceAlias: m.SourceKeyspaceAlias,
+ TenantId: m.TenantId,
+ SourceKeyspaceAlias: m.SourceKeyspaceAlias,
+ StripShardedAutoIncrement: m.StripShardedAutoIncrement,
}
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
@@ -6532,6 +6533,16 @@ func (m *WorkflowOptions) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
i -= len(m.unknownFields)
copy(dAtA[i:], m.unknownFields)
}
+ if m.StripShardedAutoIncrement {
+ i--
+ if m.StripShardedAutoIncrement {
+ dAtA[i] = 1
+ } else {
+ dAtA[i] = 0
+ }
+ i--
+ dAtA[i] = 0x18
+ }
if len(m.SourceKeyspaceAlias) > 0 {
i -= len(m.SourceKeyspaceAlias)
copy(dAtA[i:], m.SourceKeyspaceAlias)
@@ -20630,6 +20641,9 @@ func (m *WorkflowOptions) SizeVT() (n int) {
if l > 0 {
n += 1 + l + sov(uint64(l))
}
+ if m.StripShardedAutoIncrement {
+ n += 2
+ }
n += len(m.unknownFields)
return n
}
@@ -28568,6 +28582,26 @@ func (m *WorkflowOptions) UnmarshalVT(dAtA []byte) error {
}
m.SourceKeyspaceAlias = string(dAtA[iNdEx:postIndex])
iNdEx = postIndex
+ case 3:
+ if wireType != 0 {
+ return fmt.Errorf("proto: wrong wireType = %d for field StripShardedAutoIncrement", wireType)
+ }
+ var v int
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflow
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ v |= int(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ m.StripShardedAutoIncrement = bool(v != 0)
default:
iNdEx = preIndex
skippy, err := skip(dAtA[iNdEx:])
diff --git a/go/vt/sqlparser/keywords.go b/go/vt/sqlparser/keywords.go
index c425858542e..d2019c13688 100644
--- a/go/vt/sqlparser/keywords.go
+++ b/go/vt/sqlparser/keywords.go
@@ -721,6 +721,7 @@ var keywords = []keyword{
{"unicode", UNICODE},
{"union", UNION},
{"unique", UNIQUE},
+ {"unknown", UNKNOWN},
{"unlock", UNLOCK},
{"unsigned", UNSIGNED},
{"unthrottle", UNTHROTTLE},
diff --git a/go/vt/sqlparser/parse_test.go b/go/vt/sqlparser/parse_test.go
index 0636071d2f2..1159db80584 100644
--- a/go/vt/sqlparser/parse_test.go
+++ b/go/vt/sqlparser/parse_test.go
@@ -3790,6 +3790,9 @@ var (
}, {
input: `kill 18446744073709551615`,
output: `kill connection 18446744073709551615`,
+ }, {
+ input: `select * from tbl where foo is unknown or bar is not unknown`,
+ output: `select * from tbl where foo is null or bar is not null`,
}}
)
diff --git a/go/vt/sqlparser/sql.go b/go/vt/sqlparser/sql.go
index 2d90aa78460..c65f66bcd3a 100644
--- a/go/vt/sqlparser/sql.go
+++ b/go/vt/sqlparser/sql.go
@@ -149,606 +149,607 @@ const JSON_SEARCH = 57456
const JSON_VALUE = 57457
const EXTRACT = 57458
const NULL = 57459
-const TRUE = 57460
-const FALSE = 57461
-const OFF = 57462
-const DISCARD = 57463
-const IMPORT = 57464
-const ENABLE = 57465
-const DISABLE = 57466
-const TABLESPACE = 57467
-const VIRTUAL = 57468
-const STORED = 57469
-const BOTH = 57470
-const LEADING = 57471
-const TRAILING = 57472
-const KILL = 57473
-const EMPTY_FROM_CLAUSE = 57474
-const LOWER_THAN_CHARSET = 57475
-const CHARSET = 57476
-const UNIQUE = 57477
-const KEY = 57478
-const EXPRESSION_PREC_SETTER = 57479
-const OR = 57480
-const XOR = 57481
-const AND = 57482
-const NOT = 57483
-const BETWEEN = 57484
-const CASE = 57485
-const WHEN = 57486
-const THEN = 57487
-const ELSE = 57488
-const END = 57489
-const LE = 57490
-const GE = 57491
-const NE = 57492
-const NULL_SAFE_EQUAL = 57493
-const IS = 57494
-const LIKE = 57495
-const REGEXP = 57496
-const RLIKE = 57497
-const IN = 57498
-const ASSIGNMENT_OPT = 57499
-const SHIFT_LEFT = 57500
-const SHIFT_RIGHT = 57501
-const DIV = 57502
-const MOD = 57503
-const UNARY = 57504
-const COLLATE = 57505
-const BINARY = 57506
-const UNDERSCORE_ARMSCII8 = 57507
-const UNDERSCORE_ASCII = 57508
-const UNDERSCORE_BIG5 = 57509
-const UNDERSCORE_BINARY = 57510
-const UNDERSCORE_CP1250 = 57511
-const UNDERSCORE_CP1251 = 57512
-const UNDERSCORE_CP1256 = 57513
-const UNDERSCORE_CP1257 = 57514
-const UNDERSCORE_CP850 = 57515
-const UNDERSCORE_CP852 = 57516
-const UNDERSCORE_CP866 = 57517
-const UNDERSCORE_CP932 = 57518
-const UNDERSCORE_DEC8 = 57519
-const UNDERSCORE_EUCJPMS = 57520
-const UNDERSCORE_EUCKR = 57521
-const UNDERSCORE_GB18030 = 57522
-const UNDERSCORE_GB2312 = 57523
-const UNDERSCORE_GBK = 57524
-const UNDERSCORE_GEOSTD8 = 57525
-const UNDERSCORE_GREEK = 57526
-const UNDERSCORE_HEBREW = 57527
-const UNDERSCORE_HP8 = 57528
-const UNDERSCORE_KEYBCS2 = 57529
-const UNDERSCORE_KOI8R = 57530
-const UNDERSCORE_KOI8U = 57531
-const UNDERSCORE_LATIN1 = 57532
-const UNDERSCORE_LATIN2 = 57533
-const UNDERSCORE_LATIN5 = 57534
-const UNDERSCORE_LATIN7 = 57535
-const UNDERSCORE_MACCE = 57536
-const UNDERSCORE_MACROMAN = 57537
-const UNDERSCORE_SJIS = 57538
-const UNDERSCORE_SWE7 = 57539
-const UNDERSCORE_TIS620 = 57540
-const UNDERSCORE_UCS2 = 57541
-const UNDERSCORE_UJIS = 57542
-const UNDERSCORE_UTF16 = 57543
-const UNDERSCORE_UTF16LE = 57544
-const UNDERSCORE_UTF32 = 57545
-const UNDERSCORE_UTF8 = 57546
-const UNDERSCORE_UTF8MB4 = 57547
-const UNDERSCORE_UTF8MB3 = 57548
-const INTERVAL = 57549
-const WINDOW_EXPR = 57550
-const JSON_EXTRACT_OP = 57551
-const JSON_UNQUOTE_EXTRACT_OP = 57552
-const CREATE = 57553
-const ALTER = 57554
-const DROP = 57555
-const RENAME = 57556
-const ANALYZE = 57557
-const ADD = 57558
-const FLUSH = 57559
-const CHANGE = 57560
-const MODIFY = 57561
-const DEALLOCATE = 57562
-const REVERT = 57563
-const QUERIES = 57564
-const SCHEMA = 57565
-const TABLE = 57566
-const INDEX = 57567
-const VIEW = 57568
-const TO = 57569
-const IGNORE = 57570
-const IF = 57571
-const PRIMARY = 57572
-const COLUMN = 57573
-const SPATIAL = 57574
-const FULLTEXT = 57575
-const KEY_BLOCK_SIZE = 57576
-const CHECK = 57577
-const INDEXES = 57578
-const ACTION = 57579
-const CASCADE = 57580
-const CONSTRAINT = 57581
-const FOREIGN = 57582
-const NO = 57583
-const REFERENCES = 57584
-const RESTRICT = 57585
-const SHOW = 57586
-const DESCRIBE = 57587
-const EXPLAIN = 57588
-const DATE = 57589
-const ESCAPE = 57590
-const REPAIR = 57591
-const OPTIMIZE = 57592
-const TRUNCATE = 57593
-const COALESCE = 57594
-const EXCHANGE = 57595
-const REBUILD = 57596
-const PARTITIONING = 57597
-const REMOVE = 57598
-const PREPARE = 57599
-const EXECUTE = 57600
-const MAXVALUE = 57601
-const PARTITION = 57602
-const REORGANIZE = 57603
-const LESS = 57604
-const THAN = 57605
-const PROCEDURE = 57606
-const TRIGGER = 57607
-const VINDEX = 57608
-const VINDEXES = 57609
-const DIRECTORY = 57610
-const NAME = 57611
-const UPGRADE = 57612
-const STATUS = 57613
-const VARIABLES = 57614
-const WARNINGS = 57615
-const CASCADED = 57616
-const DEFINER = 57617
-const OPTION = 57618
-const SQL = 57619
-const UNDEFINED = 57620
-const SEQUENCE = 57621
-const MERGE = 57622
-const TEMPORARY = 57623
-const TEMPTABLE = 57624
-const INVOKER = 57625
-const SECURITY = 57626
-const FIRST = 57627
-const AFTER = 57628
-const LAST = 57629
-const VITESS_MIGRATION = 57630
-const CANCEL = 57631
-const RETRY = 57632
-const LAUNCH = 57633
-const COMPLETE = 57634
-const CLEANUP = 57635
-const THROTTLE = 57636
-const UNTHROTTLE = 57637
-const FORCE_CUTOVER = 57638
-const EXPIRE = 57639
-const RATIO = 57640
-const VITESS_THROTTLER = 57641
-const BEGIN = 57642
-const START = 57643
-const TRANSACTION = 57644
-const COMMIT = 57645
-const ROLLBACK = 57646
-const SAVEPOINT = 57647
-const RELEASE = 57648
-const WORK = 57649
-const CONSISTENT = 57650
-const SNAPSHOT = 57651
-const BIT = 57652
-const TINYINT = 57653
-const SMALLINT = 57654
-const MEDIUMINT = 57655
-const INT = 57656
-const INTEGER = 57657
-const BIGINT = 57658
-const INTNUM = 57659
-const REAL = 57660
-const DOUBLE = 57661
-const FLOAT_TYPE = 57662
-const FLOAT4_TYPE = 57663
-const FLOAT8_TYPE = 57664
-const DECIMAL_TYPE = 57665
-const NUMERIC = 57666
-const TIME = 57667
-const TIMESTAMP = 57668
-const DATETIME = 57669
-const YEAR = 57670
-const CHAR = 57671
-const VARCHAR = 57672
-const BOOL = 57673
-const CHARACTER = 57674
-const VARBINARY = 57675
-const NCHAR = 57676
-const TEXT = 57677
-const TINYTEXT = 57678
-const MEDIUMTEXT = 57679
-const LONGTEXT = 57680
-const BLOB = 57681
-const TINYBLOB = 57682
-const MEDIUMBLOB = 57683
-const LONGBLOB = 57684
-const JSON = 57685
-const JSON_SCHEMA_VALID = 57686
-const JSON_SCHEMA_VALIDATION_REPORT = 57687
-const ENUM = 57688
-const GEOMETRY = 57689
-const POINT = 57690
-const LINESTRING = 57691
-const POLYGON = 57692
-const GEOMCOLLECTION = 57693
-const GEOMETRYCOLLECTION = 57694
-const MULTIPOINT = 57695
-const MULTILINESTRING = 57696
-const MULTIPOLYGON = 57697
-const ASCII = 57698
-const UNICODE = 57699
-const NULLX = 57700
-const AUTO_INCREMENT = 57701
-const APPROXNUM = 57702
-const SIGNED = 57703
-const UNSIGNED = 57704
-const ZEROFILL = 57705
-const PURGE = 57706
-const BEFORE = 57707
-const CODE = 57708
-const COLLATION = 57709
-const COLUMNS = 57710
-const DATABASES = 57711
-const ENGINES = 57712
-const EVENT = 57713
-const EXTENDED = 57714
-const FIELDS = 57715
-const FULL = 57716
-const FUNCTION = 57717
-const GTID_EXECUTED = 57718
-const KEYSPACES = 57719
-const OPEN = 57720
-const PLUGINS = 57721
-const PRIVILEGES = 57722
-const PROCESSLIST = 57723
-const SCHEMAS = 57724
-const TABLES = 57725
-const TRIGGERS = 57726
-const USER = 57727
-const VGTID_EXECUTED = 57728
-const VITESS_KEYSPACES = 57729
-const VITESS_METADATA = 57730
-const VITESS_MIGRATIONS = 57731
-const VITESS_REPLICATION_STATUS = 57732
-const VITESS_SHARDS = 57733
-const VITESS_TABLETS = 57734
-const VITESS_TARGET = 57735
-const VSCHEMA = 57736
-const VITESS_THROTTLED_APPS = 57737
-const NAMES = 57738
-const GLOBAL = 57739
-const SESSION = 57740
-const ISOLATION = 57741
-const LEVEL = 57742
-const READ = 57743
-const WRITE = 57744
-const ONLY = 57745
-const REPEATABLE = 57746
-const COMMITTED = 57747
-const UNCOMMITTED = 57748
-const SERIALIZABLE = 57749
-const ADDDATE = 57750
-const CURRENT_TIMESTAMP = 57751
-const DATABASE = 57752
-const CURRENT_DATE = 57753
-const CURDATE = 57754
-const DATE_ADD = 57755
-const DATE_SUB = 57756
-const NOW = 57757
-const SUBDATE = 57758
-const CURTIME = 57759
-const CURRENT_TIME = 57760
-const LOCALTIME = 57761
-const LOCALTIMESTAMP = 57762
-const CURRENT_USER = 57763
-const UTC_DATE = 57764
-const UTC_TIME = 57765
-const UTC_TIMESTAMP = 57766
-const SYSDATE = 57767
-const DAY = 57768
-const DAY_HOUR = 57769
-const DAY_MICROSECOND = 57770
-const DAY_MINUTE = 57771
-const DAY_SECOND = 57772
-const HOUR = 57773
-const HOUR_MICROSECOND = 57774
-const HOUR_MINUTE = 57775
-const HOUR_SECOND = 57776
-const MICROSECOND = 57777
-const MINUTE = 57778
-const MINUTE_MICROSECOND = 57779
-const MINUTE_SECOND = 57780
-const MONTH = 57781
-const QUARTER = 57782
-const SECOND = 57783
-const SECOND_MICROSECOND = 57784
-const YEAR_MONTH = 57785
-const WEEK = 57786
-const SQL_TSI_DAY = 57787
-const SQL_TSI_WEEK = 57788
-const SQL_TSI_HOUR = 57789
-const SQL_TSI_MINUTE = 57790
-const SQL_TSI_MONTH = 57791
-const SQL_TSI_QUARTER = 57792
-const SQL_TSI_SECOND = 57793
-const SQL_TSI_MICROSECOND = 57794
-const SQL_TSI_YEAR = 57795
-const REPLACE = 57796
-const CONVERT = 57797
-const CAST = 57798
-const SUBSTR = 57799
-const SUBSTRING = 57800
-const MID = 57801
-const SEPARATOR = 57802
-const TIMESTAMPADD = 57803
-const TIMESTAMPDIFF = 57804
-const WEIGHT_STRING = 57805
-const LTRIM = 57806
-const RTRIM = 57807
-const TRIM = 57808
-const JSON_ARRAY = 57809
-const JSON_OBJECT = 57810
-const JSON_QUOTE = 57811
-const JSON_DEPTH = 57812
-const JSON_TYPE = 57813
-const JSON_LENGTH = 57814
-const JSON_VALID = 57815
-const JSON_ARRAY_APPEND = 57816
-const JSON_ARRAY_INSERT = 57817
-const JSON_INSERT = 57818
-const JSON_MERGE = 57819
-const JSON_MERGE_PATCH = 57820
-const JSON_MERGE_PRESERVE = 57821
-const JSON_REMOVE = 57822
-const JSON_REPLACE = 57823
-const JSON_SET = 57824
-const JSON_UNQUOTE = 57825
-const COUNT = 57826
-const AVG = 57827
-const MAX = 57828
-const MIN = 57829
-const SUM = 57830
-const GROUP_CONCAT = 57831
-const BIT_AND = 57832
-const BIT_OR = 57833
-const BIT_XOR = 57834
-const STD = 57835
-const STDDEV = 57836
-const STDDEV_POP = 57837
-const STDDEV_SAMP = 57838
-const VAR_POP = 57839
-const VAR_SAMP = 57840
-const VARIANCE = 57841
-const ANY_VALUE = 57842
-const REGEXP_INSTR = 57843
-const REGEXP_LIKE = 57844
-const REGEXP_REPLACE = 57845
-const REGEXP_SUBSTR = 57846
-const ExtractValue = 57847
-const UpdateXML = 57848
-const GET_LOCK = 57849
-const RELEASE_LOCK = 57850
-const RELEASE_ALL_LOCKS = 57851
-const IS_FREE_LOCK = 57852
-const IS_USED_LOCK = 57853
-const LOCATE = 57854
-const POSITION = 57855
-const ST_GeometryCollectionFromText = 57856
-const ST_GeometryFromText = 57857
-const ST_LineStringFromText = 57858
-const ST_MultiLineStringFromText = 57859
-const ST_MultiPointFromText = 57860
-const ST_MultiPolygonFromText = 57861
-const ST_PointFromText = 57862
-const ST_PolygonFromText = 57863
-const ST_GeometryCollectionFromWKB = 57864
-const ST_GeometryFromWKB = 57865
-const ST_LineStringFromWKB = 57866
-const ST_MultiLineStringFromWKB = 57867
-const ST_MultiPointFromWKB = 57868
-const ST_MultiPolygonFromWKB = 57869
-const ST_PointFromWKB = 57870
-const ST_PolygonFromWKB = 57871
-const ST_AsBinary = 57872
-const ST_AsText = 57873
-const ST_Dimension = 57874
-const ST_Envelope = 57875
-const ST_IsSimple = 57876
-const ST_IsEmpty = 57877
-const ST_GeometryType = 57878
-const ST_X = 57879
-const ST_Y = 57880
-const ST_Latitude = 57881
-const ST_Longitude = 57882
-const ST_EndPoint = 57883
-const ST_IsClosed = 57884
-const ST_Length = 57885
-const ST_NumPoints = 57886
-const ST_StartPoint = 57887
-const ST_PointN = 57888
-const ST_Area = 57889
-const ST_Centroid = 57890
-const ST_ExteriorRing = 57891
-const ST_InteriorRingN = 57892
-const ST_NumInteriorRings = 57893
-const ST_NumGeometries = 57894
-const ST_GeometryN = 57895
-const ST_LongFromGeoHash = 57896
-const ST_PointFromGeoHash = 57897
-const ST_LatFromGeoHash = 57898
-const ST_GeoHash = 57899
-const ST_AsGeoJSON = 57900
-const ST_GeomFromGeoJSON = 57901
-const MATCH = 57902
-const AGAINST = 57903
-const BOOLEAN = 57904
-const LANGUAGE = 57905
-const WITH = 57906
-const QUERY = 57907
-const EXPANSION = 57908
-const WITHOUT = 57909
-const VALIDATION = 57910
-const UNUSED = 57911
-const ARRAY = 57912
-const BYTE = 57913
-const CUME_DIST = 57914
-const DESCRIPTION = 57915
-const DENSE_RANK = 57916
-const EMPTY = 57917
-const EXCEPT = 57918
-const FIRST_VALUE = 57919
-const GROUPING = 57920
-const GROUPS = 57921
-const JSON_TABLE = 57922
-const LAG = 57923
-const LAST_VALUE = 57924
-const LATERAL = 57925
-const LEAD = 57926
-const NTH_VALUE = 57927
-const NTILE = 57928
-const OF = 57929
-const OVER = 57930
-const PERCENT_RANK = 57931
-const RANK = 57932
-const RECURSIVE = 57933
-const ROW_NUMBER = 57934
-const SYSTEM = 57935
-const WINDOW = 57936
-const ACTIVE = 57937
-const ADMIN = 57938
-const AUTOEXTEND_SIZE = 57939
-const BUCKETS = 57940
-const CLONE = 57941
-const COLUMN_FORMAT = 57942
-const COMPONENT = 57943
-const DEFINITION = 57944
-const ENFORCED = 57945
-const ENGINE_ATTRIBUTE = 57946
-const EXCLUDE = 57947
-const FOLLOWING = 57948
-const GET_MASTER_PUBLIC_KEY = 57949
-const HISTOGRAM = 57950
-const HISTORY = 57951
-const INACTIVE = 57952
-const INVISIBLE = 57953
-const LOCKED = 57954
-const MASTER_COMPRESSION_ALGORITHMS = 57955
-const MASTER_PUBLIC_KEY_PATH = 57956
-const MASTER_TLS_CIPHERSUITES = 57957
-const MASTER_ZSTD_COMPRESSION_LEVEL = 57958
-const NESTED = 57959
-const NETWORK_NAMESPACE = 57960
-const NOWAIT = 57961
-const NULLS = 57962
-const OJ = 57963
-const OLD = 57964
-const OPTIONAL = 57965
-const ORDINALITY = 57966
-const ORGANIZATION = 57967
-const OTHERS = 57968
-const PARTIAL = 57969
-const PATH = 57970
-const PERSIST = 57971
-const PERSIST_ONLY = 57972
-const PRECEDING = 57973
-const PRIVILEGE_CHECKS_USER = 57974
-const PROCESS = 57975
-const RANDOM = 57976
-const REFERENCE = 57977
-const REQUIRE_ROW_FORMAT = 57978
-const RESOURCE = 57979
-const RESPECT = 57980
-const RESTART = 57981
-const RETAIN = 57982
-const REUSE = 57983
-const ROLE = 57984
-const SECONDARY = 57985
-const SECONDARY_ENGINE = 57986
-const SECONDARY_ENGINE_ATTRIBUTE = 57987
-const SECONDARY_LOAD = 57988
-const SECONDARY_UNLOAD = 57989
-const SIMPLE = 57990
-const SKIP = 57991
-const SRID = 57992
-const THREAD_PRIORITY = 57993
-const TIES = 57994
-const UNBOUNDED = 57995
-const VCPU = 57996
-const VISIBLE = 57997
-const RETURNING = 57998
-const FORMAT_BYTES = 57999
-const FORMAT_PICO_TIME = 58000
-const PS_CURRENT_THREAD_ID = 58001
-const PS_THREAD_ID = 58002
-const GTID_SUBSET = 58003
-const GTID_SUBTRACT = 58004
-const WAIT_FOR_EXECUTED_GTID_SET = 58005
-const WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS = 58006
-const FORMAT = 58007
-const TREE = 58008
-const VITESS = 58009
-const TRADITIONAL = 58010
-const VTEXPLAIN = 58011
-const VEXPLAIN = 58012
-const PLAN = 58013
-const LOCAL = 58014
-const LOW_PRIORITY = 58015
-const NO_WRITE_TO_BINLOG = 58016
-const LOGS = 58017
-const ERROR = 58018
-const GENERAL = 58019
-const HOSTS = 58020
-const OPTIMIZER_COSTS = 58021
-const USER_RESOURCES = 58022
-const SLOW = 58023
-const CHANNEL = 58024
-const RELAY = 58025
-const EXPORT = 58026
-const CURRENT = 58027
-const ROW = 58028
-const ROWS = 58029
-const AVG_ROW_LENGTH = 58030
-const CONNECTION = 58031
-const CHECKSUM = 58032
-const DELAY_KEY_WRITE = 58033
-const ENCRYPTION = 58034
-const ENGINE = 58035
-const INSERT_METHOD = 58036
-const MAX_ROWS = 58037
-const MIN_ROWS = 58038
-const PACK_KEYS = 58039
-const PASSWORD = 58040
-const FIXED = 58041
-const DYNAMIC = 58042
-const COMPRESSED = 58043
-const REDUNDANT = 58044
-const COMPACT = 58045
-const ROW_FORMAT = 58046
-const STATS_AUTO_RECALC = 58047
-const STATS_PERSISTENT = 58048
-const STATS_SAMPLE_PAGES = 58049
-const STORAGE = 58050
-const MEMORY = 58051
-const DISK = 58052
-const PARTITIONS = 58053
-const LINEAR = 58054
-const RANGE = 58055
-const LIST = 58056
-const SUBPARTITION = 58057
-const SUBPARTITIONS = 58058
-const HASH = 58059
+const UNKNOWN = 57460
+const TRUE = 57461
+const FALSE = 57462
+const OFF = 57463
+const DISCARD = 57464
+const IMPORT = 57465
+const ENABLE = 57466
+const DISABLE = 57467
+const TABLESPACE = 57468
+const VIRTUAL = 57469
+const STORED = 57470
+const BOTH = 57471
+const LEADING = 57472
+const TRAILING = 57473
+const KILL = 57474
+const EMPTY_FROM_CLAUSE = 57475
+const LOWER_THAN_CHARSET = 57476
+const CHARSET = 57477
+const UNIQUE = 57478
+const KEY = 57479
+const EXPRESSION_PREC_SETTER = 57480
+const OR = 57481
+const XOR = 57482
+const AND = 57483
+const NOT = 57484
+const BETWEEN = 57485
+const CASE = 57486
+const WHEN = 57487
+const THEN = 57488
+const ELSE = 57489
+const END = 57490
+const LE = 57491
+const GE = 57492
+const NE = 57493
+const NULL_SAFE_EQUAL = 57494
+const IS = 57495
+const LIKE = 57496
+const REGEXP = 57497
+const RLIKE = 57498
+const IN = 57499
+const ASSIGNMENT_OPT = 57500
+const SHIFT_LEFT = 57501
+const SHIFT_RIGHT = 57502
+const DIV = 57503
+const MOD = 57504
+const UNARY = 57505
+const COLLATE = 57506
+const BINARY = 57507
+const UNDERSCORE_ARMSCII8 = 57508
+const UNDERSCORE_ASCII = 57509
+const UNDERSCORE_BIG5 = 57510
+const UNDERSCORE_BINARY = 57511
+const UNDERSCORE_CP1250 = 57512
+const UNDERSCORE_CP1251 = 57513
+const UNDERSCORE_CP1256 = 57514
+const UNDERSCORE_CP1257 = 57515
+const UNDERSCORE_CP850 = 57516
+const UNDERSCORE_CP852 = 57517
+const UNDERSCORE_CP866 = 57518
+const UNDERSCORE_CP932 = 57519
+const UNDERSCORE_DEC8 = 57520
+const UNDERSCORE_EUCJPMS = 57521
+const UNDERSCORE_EUCKR = 57522
+const UNDERSCORE_GB18030 = 57523
+const UNDERSCORE_GB2312 = 57524
+const UNDERSCORE_GBK = 57525
+const UNDERSCORE_GEOSTD8 = 57526
+const UNDERSCORE_GREEK = 57527
+const UNDERSCORE_HEBREW = 57528
+const UNDERSCORE_HP8 = 57529
+const UNDERSCORE_KEYBCS2 = 57530
+const UNDERSCORE_KOI8R = 57531
+const UNDERSCORE_KOI8U = 57532
+const UNDERSCORE_LATIN1 = 57533
+const UNDERSCORE_LATIN2 = 57534
+const UNDERSCORE_LATIN5 = 57535
+const UNDERSCORE_LATIN7 = 57536
+const UNDERSCORE_MACCE = 57537
+const UNDERSCORE_MACROMAN = 57538
+const UNDERSCORE_SJIS = 57539
+const UNDERSCORE_SWE7 = 57540
+const UNDERSCORE_TIS620 = 57541
+const UNDERSCORE_UCS2 = 57542
+const UNDERSCORE_UJIS = 57543
+const UNDERSCORE_UTF16 = 57544
+const UNDERSCORE_UTF16LE = 57545
+const UNDERSCORE_UTF32 = 57546
+const UNDERSCORE_UTF8 = 57547
+const UNDERSCORE_UTF8MB4 = 57548
+const UNDERSCORE_UTF8MB3 = 57549
+const INTERVAL = 57550
+const WINDOW_EXPR = 57551
+const JSON_EXTRACT_OP = 57552
+const JSON_UNQUOTE_EXTRACT_OP = 57553
+const CREATE = 57554
+const ALTER = 57555
+const DROP = 57556
+const RENAME = 57557
+const ANALYZE = 57558
+const ADD = 57559
+const FLUSH = 57560
+const CHANGE = 57561
+const MODIFY = 57562
+const DEALLOCATE = 57563
+const REVERT = 57564
+const QUERIES = 57565
+const SCHEMA = 57566
+const TABLE = 57567
+const INDEX = 57568
+const VIEW = 57569
+const TO = 57570
+const IGNORE = 57571
+const IF = 57572
+const PRIMARY = 57573
+const COLUMN = 57574
+const SPATIAL = 57575
+const FULLTEXT = 57576
+const KEY_BLOCK_SIZE = 57577
+const CHECK = 57578
+const INDEXES = 57579
+const ACTION = 57580
+const CASCADE = 57581
+const CONSTRAINT = 57582
+const FOREIGN = 57583
+const NO = 57584
+const REFERENCES = 57585
+const RESTRICT = 57586
+const SHOW = 57587
+const DESCRIBE = 57588
+const EXPLAIN = 57589
+const DATE = 57590
+const ESCAPE = 57591
+const REPAIR = 57592
+const OPTIMIZE = 57593
+const TRUNCATE = 57594
+const COALESCE = 57595
+const EXCHANGE = 57596
+const REBUILD = 57597
+const PARTITIONING = 57598
+const REMOVE = 57599
+const PREPARE = 57600
+const EXECUTE = 57601
+const MAXVALUE = 57602
+const PARTITION = 57603
+const REORGANIZE = 57604
+const LESS = 57605
+const THAN = 57606
+const PROCEDURE = 57607
+const TRIGGER = 57608
+const VINDEX = 57609
+const VINDEXES = 57610
+const DIRECTORY = 57611
+const NAME = 57612
+const UPGRADE = 57613
+const STATUS = 57614
+const VARIABLES = 57615
+const WARNINGS = 57616
+const CASCADED = 57617
+const DEFINER = 57618
+const OPTION = 57619
+const SQL = 57620
+const UNDEFINED = 57621
+const SEQUENCE = 57622
+const MERGE = 57623
+const TEMPORARY = 57624
+const TEMPTABLE = 57625
+const INVOKER = 57626
+const SECURITY = 57627
+const FIRST = 57628
+const AFTER = 57629
+const LAST = 57630
+const VITESS_MIGRATION = 57631
+const CANCEL = 57632
+const RETRY = 57633
+const LAUNCH = 57634
+const COMPLETE = 57635
+const CLEANUP = 57636
+const THROTTLE = 57637
+const UNTHROTTLE = 57638
+const FORCE_CUTOVER = 57639
+const EXPIRE = 57640
+const RATIO = 57641
+const VITESS_THROTTLER = 57642
+const BEGIN = 57643
+const START = 57644
+const TRANSACTION = 57645
+const COMMIT = 57646
+const ROLLBACK = 57647
+const SAVEPOINT = 57648
+const RELEASE = 57649
+const WORK = 57650
+const CONSISTENT = 57651
+const SNAPSHOT = 57652
+const BIT = 57653
+const TINYINT = 57654
+const SMALLINT = 57655
+const MEDIUMINT = 57656
+const INT = 57657
+const INTEGER = 57658
+const BIGINT = 57659
+const INTNUM = 57660
+const REAL = 57661
+const DOUBLE = 57662
+const FLOAT_TYPE = 57663
+const FLOAT4_TYPE = 57664
+const FLOAT8_TYPE = 57665
+const DECIMAL_TYPE = 57666
+const NUMERIC = 57667
+const TIME = 57668
+const TIMESTAMP = 57669
+const DATETIME = 57670
+const YEAR = 57671
+const CHAR = 57672
+const VARCHAR = 57673
+const BOOL = 57674
+const CHARACTER = 57675
+const VARBINARY = 57676
+const NCHAR = 57677
+const TEXT = 57678
+const TINYTEXT = 57679
+const MEDIUMTEXT = 57680
+const LONGTEXT = 57681
+const BLOB = 57682
+const TINYBLOB = 57683
+const MEDIUMBLOB = 57684
+const LONGBLOB = 57685
+const JSON = 57686
+const JSON_SCHEMA_VALID = 57687
+const JSON_SCHEMA_VALIDATION_REPORT = 57688
+const ENUM = 57689
+const GEOMETRY = 57690
+const POINT = 57691
+const LINESTRING = 57692
+const POLYGON = 57693
+const GEOMCOLLECTION = 57694
+const GEOMETRYCOLLECTION = 57695
+const MULTIPOINT = 57696
+const MULTILINESTRING = 57697
+const MULTIPOLYGON = 57698
+const ASCII = 57699
+const UNICODE = 57700
+const NULLX = 57701
+const AUTO_INCREMENT = 57702
+const APPROXNUM = 57703
+const SIGNED = 57704
+const UNSIGNED = 57705
+const ZEROFILL = 57706
+const PURGE = 57707
+const BEFORE = 57708
+const CODE = 57709
+const COLLATION = 57710
+const COLUMNS = 57711
+const DATABASES = 57712
+const ENGINES = 57713
+const EVENT = 57714
+const EXTENDED = 57715
+const FIELDS = 57716
+const FULL = 57717
+const FUNCTION = 57718
+const GTID_EXECUTED = 57719
+const KEYSPACES = 57720
+const OPEN = 57721
+const PLUGINS = 57722
+const PRIVILEGES = 57723
+const PROCESSLIST = 57724
+const SCHEMAS = 57725
+const TABLES = 57726
+const TRIGGERS = 57727
+const USER = 57728
+const VGTID_EXECUTED = 57729
+const VITESS_KEYSPACES = 57730
+const VITESS_METADATA = 57731
+const VITESS_MIGRATIONS = 57732
+const VITESS_REPLICATION_STATUS = 57733
+const VITESS_SHARDS = 57734
+const VITESS_TABLETS = 57735
+const VITESS_TARGET = 57736
+const VSCHEMA = 57737
+const VITESS_THROTTLED_APPS = 57738
+const NAMES = 57739
+const GLOBAL = 57740
+const SESSION = 57741
+const ISOLATION = 57742
+const LEVEL = 57743
+const READ = 57744
+const WRITE = 57745
+const ONLY = 57746
+const REPEATABLE = 57747
+const COMMITTED = 57748
+const UNCOMMITTED = 57749
+const SERIALIZABLE = 57750
+const ADDDATE = 57751
+const CURRENT_TIMESTAMP = 57752
+const DATABASE = 57753
+const CURRENT_DATE = 57754
+const CURDATE = 57755
+const DATE_ADD = 57756
+const DATE_SUB = 57757
+const NOW = 57758
+const SUBDATE = 57759
+const CURTIME = 57760
+const CURRENT_TIME = 57761
+const LOCALTIME = 57762
+const LOCALTIMESTAMP = 57763
+const CURRENT_USER = 57764
+const UTC_DATE = 57765
+const UTC_TIME = 57766
+const UTC_TIMESTAMP = 57767
+const SYSDATE = 57768
+const DAY = 57769
+const DAY_HOUR = 57770
+const DAY_MICROSECOND = 57771
+const DAY_MINUTE = 57772
+const DAY_SECOND = 57773
+const HOUR = 57774
+const HOUR_MICROSECOND = 57775
+const HOUR_MINUTE = 57776
+const HOUR_SECOND = 57777
+const MICROSECOND = 57778
+const MINUTE = 57779
+const MINUTE_MICROSECOND = 57780
+const MINUTE_SECOND = 57781
+const MONTH = 57782
+const QUARTER = 57783
+const SECOND = 57784
+const SECOND_MICROSECOND = 57785
+const YEAR_MONTH = 57786
+const WEEK = 57787
+const SQL_TSI_DAY = 57788
+const SQL_TSI_WEEK = 57789
+const SQL_TSI_HOUR = 57790
+const SQL_TSI_MINUTE = 57791
+const SQL_TSI_MONTH = 57792
+const SQL_TSI_QUARTER = 57793
+const SQL_TSI_SECOND = 57794
+const SQL_TSI_MICROSECOND = 57795
+const SQL_TSI_YEAR = 57796
+const REPLACE = 57797
+const CONVERT = 57798
+const CAST = 57799
+const SUBSTR = 57800
+const SUBSTRING = 57801
+const MID = 57802
+const SEPARATOR = 57803
+const TIMESTAMPADD = 57804
+const TIMESTAMPDIFF = 57805
+const WEIGHT_STRING = 57806
+const LTRIM = 57807
+const RTRIM = 57808
+const TRIM = 57809
+const JSON_ARRAY = 57810
+const JSON_OBJECT = 57811
+const JSON_QUOTE = 57812
+const JSON_DEPTH = 57813
+const JSON_TYPE = 57814
+const JSON_LENGTH = 57815
+const JSON_VALID = 57816
+const JSON_ARRAY_APPEND = 57817
+const JSON_ARRAY_INSERT = 57818
+const JSON_INSERT = 57819
+const JSON_MERGE = 57820
+const JSON_MERGE_PATCH = 57821
+const JSON_MERGE_PRESERVE = 57822
+const JSON_REMOVE = 57823
+const JSON_REPLACE = 57824
+const JSON_SET = 57825
+const JSON_UNQUOTE = 57826
+const COUNT = 57827
+const AVG = 57828
+const MAX = 57829
+const MIN = 57830
+const SUM = 57831
+const GROUP_CONCAT = 57832
+const BIT_AND = 57833
+const BIT_OR = 57834
+const BIT_XOR = 57835
+const STD = 57836
+const STDDEV = 57837
+const STDDEV_POP = 57838
+const STDDEV_SAMP = 57839
+const VAR_POP = 57840
+const VAR_SAMP = 57841
+const VARIANCE = 57842
+const ANY_VALUE = 57843
+const REGEXP_INSTR = 57844
+const REGEXP_LIKE = 57845
+const REGEXP_REPLACE = 57846
+const REGEXP_SUBSTR = 57847
+const ExtractValue = 57848
+const UpdateXML = 57849
+const GET_LOCK = 57850
+const RELEASE_LOCK = 57851
+const RELEASE_ALL_LOCKS = 57852
+const IS_FREE_LOCK = 57853
+const IS_USED_LOCK = 57854
+const LOCATE = 57855
+const POSITION = 57856
+const ST_GeometryCollectionFromText = 57857
+const ST_GeometryFromText = 57858
+const ST_LineStringFromText = 57859
+const ST_MultiLineStringFromText = 57860
+const ST_MultiPointFromText = 57861
+const ST_MultiPolygonFromText = 57862
+const ST_PointFromText = 57863
+const ST_PolygonFromText = 57864
+const ST_GeometryCollectionFromWKB = 57865
+const ST_GeometryFromWKB = 57866
+const ST_LineStringFromWKB = 57867
+const ST_MultiLineStringFromWKB = 57868
+const ST_MultiPointFromWKB = 57869
+const ST_MultiPolygonFromWKB = 57870
+const ST_PointFromWKB = 57871
+const ST_PolygonFromWKB = 57872
+const ST_AsBinary = 57873
+const ST_AsText = 57874
+const ST_Dimension = 57875
+const ST_Envelope = 57876
+const ST_IsSimple = 57877
+const ST_IsEmpty = 57878
+const ST_GeometryType = 57879
+const ST_X = 57880
+const ST_Y = 57881
+const ST_Latitude = 57882
+const ST_Longitude = 57883
+const ST_EndPoint = 57884
+const ST_IsClosed = 57885
+const ST_Length = 57886
+const ST_NumPoints = 57887
+const ST_StartPoint = 57888
+const ST_PointN = 57889
+const ST_Area = 57890
+const ST_Centroid = 57891
+const ST_ExteriorRing = 57892
+const ST_InteriorRingN = 57893
+const ST_NumInteriorRings = 57894
+const ST_NumGeometries = 57895
+const ST_GeometryN = 57896
+const ST_LongFromGeoHash = 57897
+const ST_PointFromGeoHash = 57898
+const ST_LatFromGeoHash = 57899
+const ST_GeoHash = 57900
+const ST_AsGeoJSON = 57901
+const ST_GeomFromGeoJSON = 57902
+const MATCH = 57903
+const AGAINST = 57904
+const BOOLEAN = 57905
+const LANGUAGE = 57906
+const WITH = 57907
+const QUERY = 57908
+const EXPANSION = 57909
+const WITHOUT = 57910
+const VALIDATION = 57911
+const UNUSED = 57912
+const ARRAY = 57913
+const BYTE = 57914
+const CUME_DIST = 57915
+const DESCRIPTION = 57916
+const DENSE_RANK = 57917
+const EMPTY = 57918
+const EXCEPT = 57919
+const FIRST_VALUE = 57920
+const GROUPING = 57921
+const GROUPS = 57922
+const JSON_TABLE = 57923
+const LAG = 57924
+const LAST_VALUE = 57925
+const LATERAL = 57926
+const LEAD = 57927
+const NTH_VALUE = 57928
+const NTILE = 57929
+const OF = 57930
+const OVER = 57931
+const PERCENT_RANK = 57932
+const RANK = 57933
+const RECURSIVE = 57934
+const ROW_NUMBER = 57935
+const SYSTEM = 57936
+const WINDOW = 57937
+const ACTIVE = 57938
+const ADMIN = 57939
+const AUTOEXTEND_SIZE = 57940
+const BUCKETS = 57941
+const CLONE = 57942
+const COLUMN_FORMAT = 57943
+const COMPONENT = 57944
+const DEFINITION = 57945
+const ENFORCED = 57946
+const ENGINE_ATTRIBUTE = 57947
+const EXCLUDE = 57948
+const FOLLOWING = 57949
+const GET_MASTER_PUBLIC_KEY = 57950
+const HISTOGRAM = 57951
+const HISTORY = 57952
+const INACTIVE = 57953
+const INVISIBLE = 57954
+const LOCKED = 57955
+const MASTER_COMPRESSION_ALGORITHMS = 57956
+const MASTER_PUBLIC_KEY_PATH = 57957
+const MASTER_TLS_CIPHERSUITES = 57958
+const MASTER_ZSTD_COMPRESSION_LEVEL = 57959
+const NESTED = 57960
+const NETWORK_NAMESPACE = 57961
+const NOWAIT = 57962
+const NULLS = 57963
+const OJ = 57964
+const OLD = 57965
+const OPTIONAL = 57966
+const ORDINALITY = 57967
+const ORGANIZATION = 57968
+const OTHERS = 57969
+const PARTIAL = 57970
+const PATH = 57971
+const PERSIST = 57972
+const PERSIST_ONLY = 57973
+const PRECEDING = 57974
+const PRIVILEGE_CHECKS_USER = 57975
+const PROCESS = 57976
+const RANDOM = 57977
+const REFERENCE = 57978
+const REQUIRE_ROW_FORMAT = 57979
+const RESOURCE = 57980
+const RESPECT = 57981
+const RESTART = 57982
+const RETAIN = 57983
+const REUSE = 57984
+const ROLE = 57985
+const SECONDARY = 57986
+const SECONDARY_ENGINE = 57987
+const SECONDARY_ENGINE_ATTRIBUTE = 57988
+const SECONDARY_LOAD = 57989
+const SECONDARY_UNLOAD = 57990
+const SIMPLE = 57991
+const SKIP = 57992
+const SRID = 57993
+const THREAD_PRIORITY = 57994
+const TIES = 57995
+const UNBOUNDED = 57996
+const VCPU = 57997
+const VISIBLE = 57998
+const RETURNING = 57999
+const FORMAT_BYTES = 58000
+const FORMAT_PICO_TIME = 58001
+const PS_CURRENT_THREAD_ID = 58002
+const PS_THREAD_ID = 58003
+const GTID_SUBSET = 58004
+const GTID_SUBTRACT = 58005
+const WAIT_FOR_EXECUTED_GTID_SET = 58006
+const WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS = 58007
+const FORMAT = 58008
+const TREE = 58009
+const VITESS = 58010
+const TRADITIONAL = 58011
+const VTEXPLAIN = 58012
+const VEXPLAIN = 58013
+const PLAN = 58014
+const LOCAL = 58015
+const LOW_PRIORITY = 58016
+const NO_WRITE_TO_BINLOG = 58017
+const LOGS = 58018
+const ERROR = 58019
+const GENERAL = 58020
+const HOSTS = 58021
+const OPTIMIZER_COSTS = 58022
+const USER_RESOURCES = 58023
+const SLOW = 58024
+const CHANNEL = 58025
+const RELAY = 58026
+const EXPORT = 58027
+const CURRENT = 58028
+const ROW = 58029
+const ROWS = 58030
+const AVG_ROW_LENGTH = 58031
+const CONNECTION = 58032
+const CHECKSUM = 58033
+const DELAY_KEY_WRITE = 58034
+const ENCRYPTION = 58035
+const ENGINE = 58036
+const INSERT_METHOD = 58037
+const MAX_ROWS = 58038
+const MIN_ROWS = 58039
+const PACK_KEYS = 58040
+const PASSWORD = 58041
+const FIXED = 58042
+const DYNAMIC = 58043
+const COMPRESSED = 58044
+const REDUNDANT = 58045
+const COMPACT = 58046
+const ROW_FORMAT = 58047
+const STATS_AUTO_RECALC = 58048
+const STATS_PERSISTENT = 58049
+const STATS_SAMPLE_PAGES = 58050
+const STORAGE = 58051
+const MEMORY = 58052
+const DISK = 58053
+const PARTITIONS = 58054
+const LINEAR = 58055
+const RANGE = 58056
+const LIST = 58057
+const SUBPARTITION = 58058
+const SUBPARTITIONS = 58059
+const HASH = 58060
var yyToknames = [...]string{
"$end",
@@ -871,6 +872,7 @@ var yyToknames = [...]string{
"JSON_VALUE",
"EXTRACT",
"NULL",
+ "UNKNOWN",
"TRUE",
"FALSE",
"OFF",
@@ -1505,117 +1507,116 @@ var yyExca = [...]int{
-2, 40,
-1, 52,
1, 157,
- 735, 157,
+ 736, 157,
-2, 165,
-1, 53,
- 137, 165,
- 179, 165,
- 349, 165,
+ 138, 165,
+ 180, 165,
+ 350, 165,
-2, 523,
-1, 61,
37, 777,
- 242, 777,
- 253, 777,
- 288, 791,
+ 243, 777,
+ 254, 777,
289, 791,
+ 290, 791,
-2, 779,
-1, 66,
- 244, 815,
+ 245, 815,
-2, 813,
-1, 122,
- 241, 1598,
+ 242, 1600,
-2, 131,
-1, 124,
1, 158,
- 735, 158,
+ 736, 158,
-2, 165,
-1, 135,
- 138, 408,
- 247, 408,
+ 139, 408,
+ 248, 408,
-2, 512,
-1, 154,
- 137, 165,
- 179, 165,
- 349, 165,
+ 138, 165,
+ 180, 165,
+ 350, 165,
-2, 532,
- -1, 735,
- 165, 41,
+ -1, 736,
+ 166, 41,
-2, 43,
- -1, 942,
- 88, 1615,
- -2, 1461,
-1, 943,
- 88, 1616,
- 224, 1620,
- -2, 1462,
+ 88, 1617,
+ -2, 1463,
-1, 944,
- 224, 1619,
+ 88, 1618,
+ 225, 1622,
+ -2, 1464,
+ -1, 945,
+ 225, 1621,
-2, 42,
- -1, 1028,
+ -1, 1029,
61, 887,
-2, 900,
- -1, 1116,
- 252, 1091,
- 257, 1091,
+ -1, 1117,
+ 253, 1093,
+ 258, 1093,
-2, 419,
- -1, 1201,
+ -1, 1202,
1, 580,
- 735, 580,
+ 736, 580,
-2, 165,
- -1, 1504,
- 224, 1620,
- -2, 1462,
- -1, 1715,
+ -1, 1505,
+ 225, 1622,
+ -2, 1464,
+ -1, 1716,
61, 888,
-2, 904,
- -1, 1716,
+ -1, 1717,
61, 889,
-2, 905,
- -1, 1772,
- 137, 165,
- 179, 165,
- 349, 165,
+ -1, 1773,
+ 138, 165,
+ 180, 165,
+ 350, 165,
-2, 458,
- -1, 1853,
- 138, 408,
- 247, 408,
+ -1, 1854,
+ 139, 408,
+ 248, 408,
-2, 512,
- -1, 1862,
- 252, 1092,
- 257, 1092,
+ -1, 1863,
+ 253, 1094,
+ 258, 1094,
-2, 420,
- -1, 2300,
- 224, 1624,
+ -1, 2303,
+ 225, 1626,
+ -2, 1620,
+ -1, 2304,
+ 225, 1622,
-2, 1618,
- -1, 2301,
- 224, 1620,
- -2, 1616,
- -1, 2404,
- 137, 165,
- 179, 165,
- 349, 165,
+ -1, 2407,
+ 138, 165,
+ 180, 165,
+ 350, 165,
-2, 459,
- -1, 2411,
+ -1, 2414,
27, 186,
-2, 188,
- -1, 2865,
+ -1, 2868,
79, 96,
89, 96,
-2, 963,
- -1, 2934,
- 710, 700,
+ -1, 2937,
+ 711, 700,
-2, 674,
- -1, 3156,
- 51, 1563,
- -2, 1557,
- -1, 3990,
- 710, 700,
+ -1, 3159,
+ 51, 1565,
+ -2, 1559,
+ -1, 3993,
+ 711, 700,
-2, 688,
- -1, 4079,
+ -1, 4082,
91, 632,
96, 632,
106, 632,
- 181, 632,
182, 632,
183, 632,
184, 632,
@@ -1657,92 +1658,93 @@ var yyExca = [...]int{
220, 632,
221, 632,
222, 632,
- -2, 1989,
+ 223, 632,
+ -2, 1991,
}
const yyPrivate = 57344
-const yyLast = 56070
+const yyLast = 55708
var yyAct = [...]int{
- 958, 3643, 3644, 87, 3642, 4167, 4077, 4154, 3971, 4059,
- 3308, 4047, 2107, 4121, 1269, 953, 946, 945, 4122, 2095,
- 3208, 3215, 2401, 3443, 3876, 3266, 2329, 3271, 3953, 3951,
- 3268, 3169, 3267, 3265, 3270, 3269, 1267, 1775, 3024, 3580,
- 3107, 1982, 3593, 2331, 3286, 4022, 2475, 3257, 3285, 2038,
- 3223, 739, 5, 3173, 3170, 3489, 3483, 3685, 2998, 3023,
- 3167, 907, 3157, 767, 733, 3473, 734, 2356, 2825, 2438,
- 906, 3288, 2899, 3315, 2980, 2931, 2463, 2443, 2900, 1078,
- 2901, 2377, 2389, 1731, 2506, 163, 1026, 2375, 87, 1046,
- 2372, 911, 1831, 2850, 42, 1023, 2376, 2831, 2817, 3511,
- 1878, 1148, 1053, 43, 2801, 41, 1124, 1026, 2129, 2285,
- 2252, 2253, 2091, 2972, 2046, 2484, 1860, 149, 2462, 2364,
- 2523, 2445, 1088, 1106, 2892, 1111, 2867, 1764, 1744, 2379,
- 1696, 1517, 104, 2135, 2066, 100, 1443, 1428, 105, 1978,
- 1867, 1085, 1082, 1959, 3172, 1086, 749, 1117, 2460, 1112,
- 2434, 1113, 1763, 1063, 1749, 1065, 2838, 1114, 744, 1035,
- 99, 1718, 1500, 2162, 737, 2143, 3680, 1476, 2799, 2037,
- 1032, 1045, 2435, 85, 1257, 1990, 3672, 1025, 107, 1029,
- 2357, 3500, 127, 167, 3444, 125, 126, 1852, 132, 133,
- 1197, 1031, 1021, 1030, 1058, 93, 1033, 743, 1048, 1521,
- 736, 98, 908, 1265, 4155, 1243, 3581, 3254, 106, 84,
- 2477, 4006, 1526, 2922, 2521, 1057, 2477, 2478, 2479, 2954,
- 2953, 3573, 4104, 726, 2988, 2989, 1444, 4001, 1020, 4002,
- 2326, 2327, 2053, 2052, 2051, 1038, 128, 4007, 2050, 2049,
- 1153, 134, 671, 1128, 3536, 1079, 2048, 2021, 1214, 1213,
- 668, 2797, 669, 1150, 4098, 2571, 3153, 4125, 4177, 4120,
- 3111, 1039, 2510, 4145, 3447, 1161, 1167, 1168, 1169, 3446,
- 1172, 1173, 1174, 1175, 2, 1072, 1178, 1179, 1180, 1181,
- 1182, 1183, 1184, 1185, 1186, 1187, 1188, 1189, 1190, 1191,
- 1192, 1193, 1194, 1022, 1127, 1024, 727, 1073, 1460, 3647,
- 1735, 3980, 1047, 2827, 2924, 3647, 2509, 1102, 128, 1103,
- 1101, 1100, 1439, 1154, 1157, 1158, 3276, 1733, 4160, 111,
- 112, 113, 1944, 116, 1095, 3276, 122, 2353, 4002, 191,
- 1736, 2352, 663, 2350, 1454, 95, 95, 705, 3273, 1090,
- 190, 95, 2947, 4159, 724, 725, 711, 1734, 1170, 961,
- 962, 963, 1019, 912, 1014, 1015, 1016, 1017, 4108, 4106,
- 2069, 1028, 1725, 711, 129, 3954, 2762, 95, 2058, 190,
- 3334, 3872, 3274, 961, 962, 963, 128, 172, 2944, 1104,
- 3871, 3274, 3586, 4107, 4105, 3587, 3646, 1152, 1151, 1060,
- 1061, 705, 3646, 129, 4135, 1430, 3882, 4102, 3280, 4060,
- 1071, 1075, 910, 3605, 2578, 3594, 172, 3280, 4048, 4056,
- 2503, 3881, 2100, 4082, 3360, 1841, 2961, 2962, 86, 86,
- 2881, 1099, 2798, 1206, 1207, 86, 2508, 1071, 1075, 910,
- 3205, 3206, 3204, 169, 702, 1457, 170, 1458, 1459, 2396,
- 2397, 2987, 2841, 1450, 2171, 705, 1442, 2575, 2876, 3604,
- 4087, 2875, 2030, 2031, 2877, 1209, 1765, 2971, 1766, 189,
- 2395, 1262, 169, 1233, 1012, 170, 1011, 2842, 4085, 2576,
- 1238, 1239, 705, 3972, 3699, 4064, 1221, 4091, 4092, 1097,
- 1221, 1222, 687, 2888, 1234, 1222, 3225, 3226, 189, 1220,
- 1986, 1219, 1227, 4086, 705, 685, 95, 95, 3342, 4064,
- 2414, 2413, 2328, 95, 705, 3312, 3310, 2834, 2835, 2454,
- 4126, 3340, 3277, 705, 3045, 2569, 1196, 2029, 719, 86,
- 2033, 3277, 88, 3985, 723, 717, 1440, 3316, 2973, 1700,
- 2999, 4127, 2448, 2932, 3924, 682, 3925, 2360, 2485, 2957,
- 1934, 2975, 2163, 2524, 697, 1254, 1171, 2165, 1250, 706,
- 1252, 2170, 2166, 4157, 2528, 2167, 2168, 2169, 1429, 692,
- 2164, 2172, 2173, 2174, 2175, 2176, 2177, 2178, 2179, 2180,
- 695, 1261, 2547, 173, 2548, 1240, 2549, 1260, 2572, 1235,
- 2573, 1259, 179, 1960, 1935, 1241, 1936, 1228, 1249, 1251,
- 1242, 1477, 3303, 1236, 1237, 3224, 2527, 95, 3313, 3311,
- 3304, 1202, 173, 706, 3575, 3574, 2550, 3227, 1098, 2529,
- 2526, 179, 2530, 3331, 3001, 1478, 1479, 1480, 1481, 1482,
- 1483, 1484, 1486, 1485, 1487, 1488, 1177, 1064, 1987, 2537,
- 2533, 2535, 2536, 2534, 2538, 2539, 2540, 1176, 672, 3856,
- 674, 688, 2488, 708, 1845, 707, 678, 3651, 676, 680,
- 689, 681, 4099, 675, 2373, 686, 1108, 706, 677, 690,
- 691, 694, 698, 699, 700, 696, 693, 2531, 684, 709,
- 3110, 1107, 3486, 2925, 1146, 1108, 1145, 1144, 1143, 1142,
- 3046, 2447, 1141, 1140, 706, 3011, 3010, 3009, 1139, 1134,
- 3003, 1703, 3007, 1147, 3002, 1247, 3000, 3227, 1083, 1248,
- 4132, 3005, 1266, 1120, 1266, 1266, 706, 164, 1083, 1253,
- 3004, 4178, 1081, 1083, 1156, 1119, 706, 1979, 2976, 2461,
- 1119, 1074, 1068, 1066, 1155, 706, 1059, 2514, 3006, 3008,
- 2358, 2359, 2513, 1975, 1246, 1761, 164, 1431, 1449, 1446,
- 1447, 1448, 1453, 1455, 1452, 1164, 1451, 3247, 1074, 1068,
- 1066, 2956, 1026, 1501, 1506, 1507, 1445, 1510, 1512, 1513,
- 1514, 1515, 1516, 2959, 1519, 1520, 1522, 1522, 1839, 1522,
- 1522, 1527, 1527, 1527, 1530, 1531, 1532, 1533, 1534, 1535,
+ 959, 3646, 3647, 87, 3645, 4170, 4080, 4157, 3974, 4062,
+ 3311, 4050, 2110, 4124, 1270, 954, 947, 946, 4125, 2098,
+ 3211, 3218, 2404, 3446, 2133, 3879, 2332, 3260, 3956, 3172,
+ 3269, 1268, 3274, 3954, 3027, 3271, 3270, 1776, 3268, 3273,
+ 3272, 1983, 3596, 3583, 2334, 4025, 3289, 3226, 2478, 740,
+ 2039, 3110, 3288, 5, 3176, 3173, 3492, 3001, 3688, 3486,
+ 3170, 908, 3160, 3514, 734, 3476, 3026, 2441, 2359, 2828,
+ 768, 907, 735, 2902, 2934, 2983, 3318, 2466, 2903, 3291,
+ 2446, 1149, 2904, 1732, 2392, 1047, 1027, 2509, 87, 1079,
+ 1024, 912, 2853, 2378, 42, 2834, 1054, 2804, 1879, 730,
+ 2375, 41, 1832, 43, 2820, 2380, 2288, 1027, 2132, 2255,
+ 2256, 2047, 2379, 2975, 2094, 1861, 2487, 149, 163, 2465,
+ 2367, 2526, 1089, 2448, 1112, 2895, 1107, 2870, 104, 1765,
+ 1745, 2382, 100, 105, 1697, 2069, 1518, 2138, 2061, 1444,
+ 1429, 1979, 1868, 1086, 3175, 1115, 750, 2463, 1083, 1118,
+ 1087, 1960, 2437, 1113, 1114, 1764, 1064, 2841, 2360, 745,
+ 1066, 1750, 1125, 1719, 1036, 2146, 3683, 737, 2802, 2438,
+ 2165, 1046, 1501, 2038, 1258, 107, 3675, 1026, 99, 1030,
+ 1991, 3503, 1033, 1477, 167, 85, 127, 125, 126, 1031,
+ 3447, 1032, 1022, 132, 133, 1853, 1034, 738, 1049, 1198,
+ 1059, 93, 909, 1266, 106, 1244, 84, 727, 1522, 1058,
+ 744, 98, 4158, 3584, 3257, 1527, 2480, 2481, 2482, 4009,
+ 672, 2480, 2957, 2956, 2524, 2925, 1945, 1445, 3576, 4107,
+ 1021, 2991, 1039, 1151, 2992, 4005, 2054, 128, 3539, 2329,
+ 2330, 4004, 2053, 2052, 1080, 4010, 1168, 1169, 1170, 134,
+ 1173, 1174, 1175, 1176, 2051, 2050, 1179, 1180, 1181, 1182,
+ 1183, 1184, 1185, 1186, 1187, 1188, 1189, 1190, 1191, 1192,
+ 1193, 1194, 1195, 1154, 2049, 1074, 1073, 2022, 2, 1040,
+ 728, 1214, 1128, 669, 4101, 670, 2800, 1104, 1440, 1023,
+ 2574, 3279, 1025, 3156, 2513, 4128, 712, 3279, 1736, 1129,
+ 1461, 1155, 1158, 1159, 3114, 3983, 2830, 2927, 1048, 128,
+ 3276, 1103, 1102, 1101, 3650, 1734, 4180, 1096, 1091, 4163,
+ 4123, 1162, 4148, 111, 112, 113, 1171, 116, 1737, 712,
+ 122, 3450, 1215, 191, 95, 1455, 664, 2353, 2512, 95,
+ 3650, 95, 4005, 4111, 4162, 1735, 3449, 3277, 725, 726,
+ 95, 913, 2356, 3277, 1020, 2355, 706, 2950, 1015, 1016,
+ 1017, 1018, 3957, 2765, 4109, 1029, 2059, 190, 4110, 2072,
+ 1072, 1076, 911, 2947, 3283, 706, 3337, 128, 3875, 3874,
+ 3283, 962, 963, 964, 1153, 1152, 962, 963, 964, 4108,
+ 86, 129, 3589, 1061, 1062, 3590, 4138, 1726, 1105, 3885,
+ 86, 3649, 86, 1431, 172, 1072, 1076, 911, 4105, 2581,
+ 3608, 3597, 4051, 4059, 2844, 2506, 706, 3884, 703, 2103,
+ 3607, 4085, 3363, 1842, 3208, 3209, 2801, 3649, 2399, 2400,
+ 3207, 1100, 4063, 1207, 1208, 2031, 2032, 2990, 1458, 2845,
+ 1459, 1460, 2879, 2578, 1451, 2878, 2511, 2884, 2880, 3702,
+ 1766, 706, 1767, 2398, 2974, 1251, 1222, 1253, 1234, 1095,
+ 169, 1223, 1097, 170, 1013, 1210, 688, 86, 95, 1221,
+ 88, 1220, 1012, 706, 2579, 3975, 1263, 1235, 95, 686,
+ 95, 1222, 1445, 1987, 1239, 1240, 1223, 189, 3280, 1098,
+ 2891, 2417, 2416, 3048, 3280, 1250, 1252, 3345, 1228, 2837,
+ 2838, 706, 3343, 1441, 2457, 706, 2572, 3315, 4067, 1197,
+ 2030, 2331, 3313, 4067, 720, 2034, 2363, 724, 4090, 683,
+ 718, 1762, 706, 3988, 3002, 1701, 3319, 2451, 698, 2976,
+ 3927, 2527, 3928, 2935, 2488, 2960, 4088, 4160, 2550, 1255,
+ 2551, 3306, 2552, 693, 2363, 95, 4094, 4095, 4129, 3307,
+ 1935, 1478, 1961, 1260, 696, 3228, 3229, 2533, 1237, 1238,
+ 1243, 1100, 4089, 1092, 1172, 2531, 1430, 1203, 707, 4130,
+ 1094, 1093, 1236, 3334, 2978, 1479, 1480, 1481, 1482, 1483,
+ 1484, 1485, 1487, 1486, 1488, 1489, 1262, 707, 3578, 1241,
+ 1455, 3577, 1261, 1229, 1936, 2553, 1937, 1178, 1065, 1242,
+ 3316, 173, 1248, 2964, 2965, 3314, 1249, 2530, 3004, 3859,
+ 179, 1177, 2534, 2575, 2529, 2576, 1254, 3574, 1099, 1098,
+ 2532, 1988, 673, 1846, 675, 689, 2491, 709, 707, 708,
+ 679, 3654, 677, 681, 690, 682, 1108, 676, 2376, 687,
+ 1109, 1247, 678, 691, 692, 695, 699, 700, 701, 697,
+ 694, 1109, 685, 710, 1147, 2928, 1146, 1145, 3230, 3049,
+ 1144, 1143, 1148, 707, 3227, 1142, 2540, 2536, 2538, 2539,
+ 2537, 2541, 2542, 2543, 1141, 1140, 3230, 2450, 1135, 3014,
+ 3013, 3012, 4102, 1492, 3006, 707, 3010, 1704, 3005, 4181,
+ 3003, 3489, 1075, 1069, 1067, 3008, 1084, 4135, 1084, 1451,
+ 1120, 1121, 1443, 1267, 3007, 1267, 1267, 1084, 1980, 2361,
+ 2362, 1082, 2464, 707, 3113, 1157, 1060, 707, 2979, 2517,
+ 2516, 1120, 3009, 3011, 1976, 1156, 1432, 1075, 1069, 1067,
+ 1165, 3250, 3573, 2959, 707, 164, 1840, 2361, 2362, 1450,
+ 1447, 1448, 1449, 1454, 1456, 1453, 2945, 1452, 1099, 1763,
+ 1839, 1838, 1977, 1027, 1502, 1507, 1508, 1446, 1511, 1513,
+ 1514, 1515, 1516, 1517, 1836, 1520, 1521, 1523, 1523, 2995,
+ 1523, 1523, 1528, 1528, 1528, 1531, 1532, 1533, 1534, 1535,
1536, 1537, 1538, 1539, 1540, 1541, 1542, 1543, 1544, 1545,
1546, 1547, 1548, 1549, 1550, 1551, 1552, 1553, 1554, 1555,
1556, 1557, 1558, 1559, 1560, 1561, 1562, 1563, 1564, 1565,
@@ -1754,3433 +1756,2668 @@ var yyAct = [...]int{
1616, 1617, 1618, 1619, 1620, 1621, 1622, 1623, 1624, 1625,
1626, 1627, 1628, 1629, 1630, 1631, 1632, 1633, 1634, 1635,
1636, 1637, 1638, 1639, 1640, 1641, 1642, 1643, 1644, 1645,
- 1646, 1647, 1648, 1649, 1650, 1651, 3979, 1255, 1498, 2923,
- 1652, 2507, 1654, 1655, 1656, 1657, 1658, 1422, 1423, 1105,
- 1494, 1495, 1496, 1497, 1527, 1527, 1527, 1527, 1527, 1527,
- 1508, 1217, 4062, 1223, 1224, 1225, 1226, 3534, 3535, 1665,
- 1666, 1667, 1668, 1669, 1670, 1671, 1672, 1673, 1674, 1675,
- 1676, 1677, 1678, 710, 705, 165, 4062, 1263, 1264, 1444,
- 959, 959, 177, 3603, 4061, 1502, 959, 1965, 1511, 3645,
- 1693, 2577, 1762, 1421, 703, 3645, 1523, 3431, 1524, 1525,
- 2926, 3487, 3571, 2946, 165, 1438, 4090, 1218, 4061, 704,
- 89, 177, 3278, 3279, 1528, 1529, 1137, 2360, 1208, 94,
- 94, 3278, 3279, 185, 1126, 3282, 94, 1067, 1135, 1094,
- 1491, 1126, 1096, 1205, 3282, 1946, 1945, 1947, 1948, 1949,
- 1491, 2451, 1838, 1866, 1699, 1837, 2576, 2945, 2942, 2979,
- 4089, 1976, 185, 1026, 1067, 1835, 1212, 1026, 662, 1724,
- 3332, 1200, 3119, 1026, 2802, 2804, 166, 171, 168, 174,
- 175, 176, 178, 180, 181, 182, 183, 1126, 4100, 1964,
- 1690, 2452, 184, 186, 187, 188, 2970, 1454, 2450, 2969,
- 3118, 2505, 1492, 1493, 1691, 166, 171, 168, 174, 175,
- 176, 178, 180, 181, 182, 183, 3967, 1231, 3525, 4171,
- 3507, 184, 186, 187, 188, 2832, 2992, 3570, 2872, 2837,
- 94, 124, 2453, 2774, 670, 2103, 2590, 1125, 1753, 2402,
- 1653, 1099, 2449, 1091, 1125, 1211, 2144, 1491, 1488, 3203,
- 1093, 1092, 2601, 1725, 1707, 1709, 1471, 1244, 1711, 104,
- 2145, 1710, 1865, 1042, 1025, 105, 1659, 1660, 1661, 1662,
- 1663, 1664, 1691, 1258, 3993, 1138, 119, 1163, 3138, 1991,
- 1149, 1697, 3566, 3499, 2525, 3136, 1216, 1136, 2042, 1972,
- 1125, 1684, 1767, 3019, 2136, 2136, 706, 2610, 2915, 1097,
- 1458, 1459, 4136, 3211, 1459, 107, 1450, 3694, 1126, 3541,
- 3540, 2492, 1968, 1875, 1966, 1967, 1874, 1969, 1970, 1971,
- 2358, 2359, 2982, 1864, 2497, 2982, 2497, 2981, 1099, 1195,
- 2981, 1727, 2601, 1705, 1858, 2060, 2062, 2063, 2502, 1961,
- 2500, 1962, 1137, 2803, 1963, 1842, 1843, 1844, 3212, 120,
- 1460, 1135, 2127, 4024, 4128, 3959, 3526, 1708, 1706, 1037,
- 2061, 4179, 4173, 2501, 1929, 2499, 1984, 1954, 1851, 1868,
- 1868, 1730, 3214, 1022, 1694, 1880, 3864, 1881, 1911, 1883,
- 1885, 1870, 1024, 1889, 1891, 1893, 1895, 1897, 3863, 1126,
- 3209, 2142, 3854, 1199, 1266, 1758, 1759, 2504, 4025, 2130,
- 3960, 2290, 3617, 1126, 1869, 1245, 1826, 1725, 3225, 3226,
- 3616, 1125, 1919, 1920, 2141, 3210, 1129, 1119, 1925, 1926,
- 1834, 1131, 1230, 3548, 1201, 1132, 1130, 1992, 1098, 1126,
- 1215, 1953, 3547, 1232, 1460, 3537, 3255, 1848, 1849, 1847,
- 4169, 1861, 1712, 4170, 1952, 4168, 1133, 1941, 4180, 3216,
- 2119, 2108, 2109, 2110, 2111, 2121, 2112, 2113, 2114, 2126,
- 2122, 2115, 2116, 2123, 2124, 2125, 2117, 2118, 2120, 3243,
- 1872, 2582, 2583, 2584, 729, 1483, 1484, 1486, 1485, 1487,
- 1488, 1126, 961, 962, 963, 1915, 2897, 1457, 1980, 1458,
- 1459, 2290, 1125, 2896, 1162, 2287, 3021, 1907, 1159, 1198,
- 1910, 3600, 1912, 3601, 2289, 2895, 1125, 2457, 1951, 2599,
- 1840, 1940, 1119, 1122, 1123, 1098, 1083, 3224, 957, 2598,
- 1116, 1120, 1460, 1955, 1102, 128, 1477, 1101, 1100, 3227,
- 1939, 1938, 1125, 1937, 2645, 2890, 1927, 1921, 1119, 1122,
- 1123, 1115, 1083, 1918, 1917, 1997, 1116, 1120, 2649, 1916,
- 1478, 1479, 1480, 1481, 1482, 1483, 1484, 1486, 1485, 1487,
- 1488, 1266, 1266, 1887, 1460, 1993, 1994, 1704, 1460, 2019,
- 3307, 1457, 1425, 1458, 1459, 87, 3531, 711, 87, 1998,
- 2879, 711, 2473, 2472, 1125, 711, 2005, 2006, 2007, 1129,
- 1119, 2471, 2470, 1761, 1131, 4129, 2071, 2018, 1132, 1130,
- 3988, 1449, 1446, 1447, 1448, 1453, 1455, 1452, 1725, 1451,
- 2072, 1489, 1490, 2070, 2469, 2468, 1995, 3987, 110, 1445,
- 3963, 1738, 3962, 1999, 3961, 2001, 2002, 2003, 2004, 109,
- 3859, 108, 2008, 1478, 1479, 1480, 1481, 1482, 1483, 1484,
- 1486, 1485, 1487, 1488, 2020, 3843, 3213, 1725, 2098, 2098,
- 2096, 2096, 1477, 2099, 1725, 1473, 3842, 1474, 3981, 1457,
- 3693, 1458, 1459, 1477, 3691, 2991, 42, 1739, 3613, 42,
- 2064, 1475, 1489, 1490, 1472, 1689, 1478, 1479, 1480, 1481,
- 1482, 1483, 1484, 1486, 1485, 1487, 1488, 1478, 1479, 1480,
- 1481, 1482, 1483, 1484, 1486, 1485, 1487, 1488, 1477, 1725,
- 2589, 1457, 2182, 1458, 1459, 1457, 1460, 1458, 1459, 1477,
- 1479, 1480, 1481, 1482, 1483, 1484, 1486, 1485, 1487, 1488,
- 1460, 1688, 1478, 1479, 1480, 1481, 1482, 1483, 1484, 1486,
- 1485, 1487, 1488, 1478, 1479, 1480, 1481, 1482, 1483, 1484,
- 1486, 1485, 1487, 1488, 1690, 85, 1460, 2043, 85, 1481,
- 1482, 1483, 1484, 1486, 1485, 1487, 1488, 1460, 1691, 2068,
- 2823, 4156, 3891, 2131, 2026, 2027, 1464, 1465, 1466, 1467,
- 1468, 1469, 1470, 1462, 1460, 101, 1742, 1687, 1460, 3545,
- 2075, 2073, 1460, 4116, 1725, 110, 102, 3530, 1460, 3317,
- 101, 4141, 1725, 3890, 1460, 3314, 109, 103, 108, 2365,
- 2366, 102, 2823, 1725, 2102, 4139, 1725, 103, 2300, 1456,
- 1725, 2823, 4055, 1460, 3246, 2074, 2204, 2076, 2077, 2078,
- 2079, 2080, 2081, 2083, 2085, 2086, 2087, 2088, 2089, 2090,
- 2298, 4070, 1725, 2823, 4034, 2299, 2637, 2146, 2147, 2148,
- 2149, 1725, 1741, 1457, 1502, 1458, 1459, 2286, 2823, 4030,
- 2288, 2160, 2181, 3944, 1725, 3847, 1725, 1457, 3245, 1458,
- 1459, 2647, 2137, 4068, 1725, 3846, 1725, 4066, 1725, 1460,
- 2906, 1456, 1725, 3937, 1725, 3584, 3978, 3867, 1725, 3935,
- 1725, 2823, 3855, 1457, 1460, 1458, 1459, 3217, 1460, 3584,
- 1725, 3221, 2823, 3582, 1457, 2893, 1458, 1459, 3220, 2381,
- 2196, 2297, 1686, 1460, 2303, 2304, 2497, 1725, 2300, 3505,
- 1725, 1457, 1679, 1458, 1459, 1457, 2560, 1458, 1459, 1457,
- 104, 1458, 1459, 2729, 1725, 1457, 105, 1458, 1459, 2559,
- 2298, 1457, 3222, 1458, 1459, 2370, 2519, 3218, 2411, 3236,
- 3235, 104, 3219, 3233, 3234, 3231, 3232, 105, 2333, 2518,
- 1457, 2355, 1458, 1459, 3932, 1725, 3592, 2345, 3231, 3230,
- 2847, 1725, 1460, 2576, 2955, 2933, 2067, 1460, 2334, 3914,
- 1725, 1088, 2022, 3472, 1725, 1830, 2936, 2929, 2930, 2823,
- 2822, 2101, 1725, 1460, 1988, 2820, 1950, 2868, 3465, 1725,
- 2383, 1942, 2321, 2406, 2420, 2421, 2422, 2423, 2405, 1460,
- 103, 2868, 1932, 1038, 1088, 1928, 1457, 103, 1458, 1459,
- 1924, 1460, 1923, 2415, 2387, 2416, 2417, 2418, 2419, 2346,
- 2339, 1457, 2340, 1458, 1459, 1457, 1460, 1458, 1459, 2348,
- 1922, 2426, 2427, 2428, 2429, 2440, 1830, 1829, 3502, 2409,
- 1457, 1740, 1458, 1459, 2486, 2368, 2446, 3462, 1725, 1460,
- 2869, 1256, 3460, 1725, 2392, 2393, 2391, 1460, 2818, 1072,
- 2871, 1773, 1772, 2408, 2869, 2407, 1725, 1460, 3423, 1725,
- 3198, 1460, 109, 2911, 2576, 3498, 1460, 2483, 2410, 3168,
- 2576, 1073, 2846, 2839, 3421, 1725, 2839, 1456, 2498, 1460,
- 3498, 2456, 4020, 1460, 3992, 2823, 3417, 1725, 1460, 1457,
- 3501, 1458, 1459, 1128, 1457, 1460, 1458, 1459, 2847, 2441,
- 3451, 3414, 1725, 1868, 2437, 3233, 2455, 3141, 2459, 2394,
- 1457, 2491, 1458, 1459, 2494, 2729, 2495, 2634, 2633, 2467,
- 2511, 2497, 2430, 2432, 2433, 4130, 1457, 2847, 1458, 1459,
- 2480, 1456, 3412, 1725, 2441, 2490, 2497, 2493, 1457, 2489,
- 1458, 1459, 3410, 1725, 1127, 2847, 3408, 1725, 3498, 2363,
- 1729, 3406, 1725, 1457, 2324, 1458, 1459, 2512, 2515, 2101,
- 2044, 2028, 2516, 2517, 3404, 1725, 1460, 1974, 3402, 1725,
- 1760, 1110, 1109, 3400, 1725, 95, 1457, 1027, 1458, 1459,
- 3398, 1725, 1460, 4095, 1457, 4037, 1458, 1459, 3878, 2581,
- 1726, 1728, 1460, 1732, 1457, 3844, 1458, 1459, 1457, 3706,
- 1458, 1459, 2522, 1457, 3565, 1458, 1459, 3562, 3543, 3365,
- 3364, 1832, 1460, 1512, 2439, 1512, 1457, 3305, 1458, 1459,
- 1457, 3260, 1458, 1459, 1460, 1457, 3256, 1458, 1459, 1460,
- 2937, 2593, 1457, 2436, 1458, 1459, 86, 44, 45, 88,
- 2431, 1460, 2425, 2424, 1957, 1863, 2553, 1859, 2300, 3349,
- 3309, 3396, 1725, 1460, 1828, 95, 92, 1460, 121, 1477,
- 48, 76, 77, 3258, 74, 78, 2903, 3394, 1725, 1460,
- 2596, 3879, 3549, 75, 1200, 2299, 2454, 3392, 1725, 2337,
- 2902, 3512, 3513, 1478, 1479, 1480, 1481, 1482, 1483, 1484,
- 1486, 1485, 1487, 1488, 2024, 4151, 2568, 3390, 1725, 1460,
- 4149, 4123, 62, 1457, 3518, 1458, 1459, 4000, 3919, 3388,
- 1725, 2574, 3515, 3252, 95, 1725, 3251, 667, 3250, 1457,
- 3168, 1458, 1459, 3550, 3551, 3552, 3386, 1725, 2903, 1457,
- 2916, 1458, 1459, 1460, 2554, 2585, 1903, 1460, 3384, 1725,
- 3190, 3188, 3370, 1725, 3517, 3191, 3189, 2068, 1692, 1457,
- 3187, 1458, 1459, 3186, 3347, 1725, 2025, 3671, 1460, 3670,
- 83, 1457, 3996, 1458, 1459, 3880, 1457, 2587, 1458, 1459,
- 2354, 1040, 2562, 2563, 1460, 1737, 2343, 2565, 1457, 3553,
- 1458, 1459, 1460, 1899, 2794, 1725, 2566, 1904, 1905, 1906,
- 1457, 728, 1458, 1459, 1457, 3506, 1458, 1459, 2609, 3146,
- 3145, 3958, 2586, 3684, 2588, 3686, 1457, 3669, 1458, 1459,
- 3494, 3155, 1973, 2591, 1010, 2592, 3158, 3160, 2792, 1725,
- 1041, 2886, 2767, 1725, 3229, 3161, 3554, 3555, 3556, 2773,
- 1900, 1901, 1902, 3491, 2594, 2907, 1457, 1166, 1458, 1459,
- 1165, 3490, 1460, 2744, 1725, 3192, 3325, 2856, 2857, 1460,
- 2902, 2643, 2761, 1460, 51, 54, 57, 56, 59, 3886,
- 73, 2805, 2127, 82, 79, 1460, 2985, 2736, 1725, 1424,
- 1457, 1043, 1458, 1459, 1457, 101, 1458, 1459, 3496, 1044,
- 1026, 2098, 2144, 2096, 103, 2808, 102, 61, 91, 90,
- 2943, 129, 71, 72, 58, 1457, 2145, 1458, 1459, 4165,
- 80, 81, 3248, 2844, 2845, 2557, 2806, 2365, 2366, 4073,
- 1460, 1457, 2381, 1458, 1459, 1026, 2864, 3977, 101, 1457,
- 3874, 1458, 1459, 3228, 2860, 103, 1460, 2727, 1725, 102,
- 2809, 2349, 2811, 1460, 2725, 1725, 2546, 1460, 2712, 1725,
- 1051, 1052, 2545, 63, 64, 2544, 65, 66, 67, 68,
- 2710, 1725, 2843, 2824, 2067, 1460, 2543, 2542, 108, 2541,
- 2119, 2108, 2109, 2110, 2111, 2121, 2112, 2113, 2114, 2126,
- 2122, 2115, 2116, 2123, 2124, 2125, 2117, 2118, 2120, 1457,
- 3474, 1458, 1459, 3144, 1697, 2796, 1457, 2833, 1458, 1459,
- 1457, 3143, 1458, 1459, 42, 2708, 1725, 2580, 3943, 2862,
- 3942, 3922, 1457, 2861, 1458, 1459, 2863, 60, 3692, 3690,
- 2816, 2706, 1725, 1460, 2889, 2891, 3689, 1691, 2704, 1725,
- 2882, 1460, 2836, 3976, 110, 110, 2821, 3682, 3563, 2941,
- 1460, 2866, 3495, 3493, 1460, 109, 109, 108, 108, 1460,
- 2702, 1725, 3261, 2481, 1460, 2870, 103, 1457, 1846, 1458,
- 1459, 2446, 2873, 2597, 1050, 3681, 1460, 2880, 109, 3484,
- 1460, 2839, 2883, 1457, 110, 1458, 1459, 3655, 2952, 1460,
- 1457, 4153, 1458, 1459, 1457, 109, 1458, 1459, 2820, 2905,
- 2894, 4152, 2139, 3047, 2908, 2909, 2635, 2140, 4153, 4152,
- 3964, 2335, 1457, 1754, 1458, 1459, 2904, 89, 2700, 1725,
- 1460, 1746, 114, 115, 1460, 3529, 2698, 1725, 2912, 3,
- 2913, 97, 2606, 2917, 2918, 2919, 1460, 1, 2949, 2696,
- 1725, 1018, 1427, 2200, 2694, 1725, 1426, 3533, 1851, 2692,
- 1725, 4084, 683, 2325, 2995, 2996, 1460, 1695, 4124, 2938,
- 2939, 2690, 1725, 1460, 2041, 2688, 1725, 10, 2039, 1460,
- 1457, 9, 1458, 1459, 2686, 1725, 4080, 2948, 1457, 1460,
- 1458, 1459, 2040, 4081, 1460, 8, 1943, 1457, 1460, 1458,
- 1459, 1457, 1460, 1458, 1459, 1933, 1457, 1460, 1458, 1459,
- 3595, 1457, 1460, 1458, 1459, 2605, 2993, 3012, 2974, 2684,
- 1725, 1460, 2251, 1457, 3875, 1458, 1459, 1457, 2977, 1458,
- 1459, 2682, 1725, 2283, 3264, 2487, 1457, 94, 1458, 1459,
- 3561, 3030, 3031, 3032, 3033, 3034, 3035, 3036, 3037, 3038,
- 3039, 2680, 1725, 2444, 1118, 154, 2403, 2404, 2678, 1725,
- 1460, 4050, 118, 2315, 2673, 1725, 1076, 1457, 117, 1458,
- 1459, 1457, 3013, 1458, 1459, 3851, 2950, 1121, 1229, 2669,
- 1725, 1726, 2322, 1457, 3567, 1458, 1459, 2667, 1725, 2482,
- 3585, 2887, 2660, 1725, 2412, 1779, 1777, 2658, 1725, 1778,
- 1776, 1781, 1780, 1457, 3333, 1458, 1459, 2898, 2636, 1460,
- 1457, 3430, 1458, 1459, 2032, 2994, 1457, 2347, 1458, 1459,
- 3049, 718, 2859, 3105, 712, 192, 1457, 2983, 1458, 1459,
- 2984, 1457, 1692, 1458, 1459, 1457, 1768, 1458, 1459, 1457,
- 1747, 1458, 1459, 70, 1457, 3520, 1458, 1459, 1160, 1457,
- 673, 1458, 1459, 3237, 2997, 2520, 679, 1509, 1457, 2023,
- 1458, 1459, 3014, 3112, 3142, 2874, 1070, 3114, 1062, 2336,
- 2810, 3123, 1069, 3852, 3176, 2928, 3488, 2194, 3154, 3156,
- 2826, 2381, 3159, 3152, 3040, 3957, 3683, 2286, 4035, 2286,
- 2288, 1460, 2288, 2884, 3467, 1743, 3450, 1457, 1460, 1458,
- 1459, 3085, 2608, 3175, 2134, 87, 1499, 1460, 2381, 2381,
- 2381, 2381, 2381, 1460, 2380, 3650, 3095, 3096, 3097, 3098,
- 3099, 2059, 741, 2458, 740, 738, 2812, 2840, 2381, 1463,
- 947, 2381, 2800, 1755, 3123, 3113, 2851, 3115, 3180, 1460,
- 2849, 2848, 3122, 2555, 2388, 3514, 1457, 1984, 1458, 1459,
- 3510, 1460, 3197, 4076, 2382, 2378, 2819, 2277, 2278, 2279,
- 2280, 2281, 898, 1460, 897, 3134, 3140, 750, 3150, 3135,
- 3137, 3139, 2383, 742, 2302, 3147, 3463, 2305, 2306, 732,
- 960, 3149, 1460, 3429, 896, 895, 3162, 3163, 3291, 3292,
- 3182, 3183, 3425, 3185, 2958, 3281, 1029, 1460, 3362, 2383,
- 2383, 2383, 2383, 2383, 3181, 3289, 3179, 3184, 1031, 3306,
- 1030, 104, 3193, 2323, 3201, 3199, 2960, 105, 3200, 2383,
- 2885, 3302, 2383, 1441, 3361, 1714, 1717, 3207, 1457, 1460,
- 1458, 1459, 2344, 1089, 3148, 1457, 3353, 1458, 1459, 1460,
- 3240, 3239, 3330, 3238, 1457, 1460, 1458, 1459, 3351, 3983,
- 1457, 2579, 1458, 1459, 1460, 2852, 2855, 2856, 2857, 2853,
- 3359, 2854, 2858, 1713, 3241, 3242, 3293, 2790, 3290, 3262,
- 3165, 1460, 3990, 2446, 3283, 3294, 1457, 3272, 1458, 1459,
- 3579, 3253, 2789, 2934, 3300, 1460, 2474, 69, 1457, 1460,
- 1458, 1459, 46, 3952, 4021, 890, 887, 3652, 1460, 3653,
- 1457, 3654, 1458, 1459, 3171, 3108, 3109, 4003, 3318, 3171,
- 4004, 3321, 3320, 1460, 2785, 886, 4005, 2189, 3328, 1457,
- 1437, 1458, 1459, 1434, 2784, 4097, 2034, 96, 36, 35,
- 2783, 1460, 34, 3338, 1457, 33, 1458, 1459, 32, 2782,
- 26, 25, 24, 23, 22, 3354, 3355, 3356, 3357, 3358,
- 29, 19, 3335, 3336, 21, 3337, 2781, 20, 3339, 18,
- 3341, 3275, 3343, 4119, 4164, 123, 1457, 55, 1458, 1459,
- 2780, 52, 50, 131, 2771, 130, 1457, 1512, 1458, 1459,
- 53, 1512, 1457, 2770, 1458, 1459, 49, 1203, 47, 31,
- 30, 1457, 2595, 1458, 1459, 3263, 2600, 3475, 2769, 3477,
- 17, 16, 15, 14, 13, 12, 3445, 11, 1457, 7,
- 1458, 1459, 6, 3449, 39, 38, 2768, 3329, 37, 2603,
- 28, 2604, 1457, 27, 1458, 1459, 1457, 2612, 1458, 1459,
- 40, 2614, 2615, 4, 2921, 1457, 2476, 1458, 1459, 0,
- 2621, 2622, 2623, 2624, 2625, 2626, 2627, 2628, 2629, 2630,
- 1457, 2632, 1458, 1459, 0, 0, 3174, 0, 0, 2381,
- 0, 0, 0, 3476, 0, 3478, 3480, 0, 1457, 0,
- 1458, 1459, 3527, 0, 2638, 2639, 2640, 2641, 2642, 3492,
- 2644, 3485, 0, 0, 2646, 0, 0, 0, 2651, 2652,
- 3497, 2653, 3323, 3324, 2656, 2657, 2659, 2661, 2662, 2663,
- 2664, 2665, 2666, 2668, 2670, 2671, 2672, 2674, 0, 2676,
- 2677, 2679, 2681, 2683, 2685, 2687, 2689, 2691, 2693, 2695,
- 2697, 2699, 2701, 2703, 2705, 2707, 2709, 2711, 2713, 2714,
- 2715, 3284, 2717, 3293, 2719, 3290, 2721, 2722, 3519, 2724,
- 2726, 2728, 3294, 3528, 3516, 2731, 3522, 730, 3521, 2735,
- 2383, 0, 1460, 2740, 2741, 2742, 2743, 0, 3544, 1460,
- 3546, 0, 0, 1460, 3482, 0, 2754, 2755, 2756, 2757,
- 2758, 2759, 3589, 3590, 2763, 2764, 1460, 3452, 0, 3454,
- 3455, 3456, 2766, 3538, 3539, 1723, 1719, 2772, 0, 0,
- 0, 0, 2775, 2776, 2777, 2778, 2779, 3509, 0, 0,
- 1720, 1460, 0, 2786, 2787, 1460, 2788, 0, 0, 2791,
- 2793, 2347, 1460, 2795, 0, 0, 3523, 3524, 0, 1460,
- 0, 0, 0, 2807, 1460, 2341, 2342, 1722, 0, 1721,
- 0, 0, 1460, 0, 0, 0, 3572, 2765, 1460, 0,
- 3576, 3577, 3578, 0, 2760, 3591, 1460, 0, 2753, 0,
- 1460, 0, 0, 0, 0, 0, 1049, 0, 0, 1055,
- 1055, 2752, 0, 2616, 3607, 0, 0, 0, 0, 0,
- 1460, 2852, 2855, 2856, 2857, 2853, 0, 2854, 2858, 0,
- 2631, 3512, 3513, 1460, 0, 0, 2751, 0, 1460, 1457,
- 2750, 1458, 1459, 0, 1460, 0, 1457, 2749, 1458, 1459,
- 1457, 0, 1458, 1459, 2748, 0, 0, 1460, 0, 2747,
- 0, 0, 1460, 1457, 0, 1458, 1459, 2746, 0, 0,
- 0, 0, 0, 2745, 0, 3658, 1460, 3659, 3660, 3661,
- 0, 2739, 0, 0, 3668, 2738, 1460, 3675, 1457, 3677,
- 1458, 1459, 1457, 0, 1458, 1459, 0, 0, 0, 1457,
- 3648, 1458, 1459, 0, 0, 2737, 1457, 1460, 1458, 1459,
- 0, 1457, 3175, 1458, 1459, 87, 3678, 3175, 2734, 1457,
- 0, 1458, 1459, 2733, 0, 1457, 1460, 1458, 1459, 2732,
- 0, 0, 1460, 1457, 0, 1458, 1459, 1457, 0, 1458,
- 1459, 3612, 2730, 1460, 0, 0, 2098, 2723, 2096, 3679,
- 3708, 0, 0, 1460, 3688, 3687, 3698, 1457, 0, 1458,
- 1459, 2720, 0, 3695, 3700, 3697, 0, 0, 0, 0,
- 1457, 2718, 1458, 1459, 0, 1457, 0, 1458, 1459, 0,
- 0, 1457, 3858, 1458, 1459, 0, 0, 0, 0, 0,
- 0, 3712, 2716, 0, 1457, 0, 1458, 1459, 0, 1457,
- 0, 1458, 1459, 0, 3568, 3569, 42, 0, 0, 0,
- 0, 2675, 0, 1457, 0, 1458, 1459, 2655, 0, 0,
- 3850, 3849, 0, 1457, 0, 1458, 1459, 0, 2654, 0,
- 0, 0, 3865, 0, 0, 0, 0, 0, 2650, 3870,
- 0, 3877, 0, 3869, 1457, 0, 1458, 1459, 0, 0,
- 0, 3848, 0, 0, 3916, 3917, 3025, 3026, 3027, 3028,
- 3029, 3702, 0, 1457, 3676, 1458, 1459, 0, 0, 1457,
- 0, 1458, 1459, 2098, 0, 2096, 3044, 3920, 0, 0,
- 1457, 0, 1458, 1459, 0, 3860, 3861, 3862, 3709, 3710,
- 1457, 0, 1458, 1459, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3923, 0, 0, 0, 3926, 0, 3965,
- 3175, 3171, 3704, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 1530, 1531, 1532, 1533, 1534, 1535,
- 1536, 1537, 1538, 1539, 1540, 1541, 1542, 1543, 1544, 1545,
- 1546, 1547, 1548, 1550, 1551, 1552, 1553, 1554, 1555, 1556,
- 1557, 1558, 1559, 1560, 1561, 1562, 1563, 1564, 1565, 1566,
- 1567, 1568, 1569, 1570, 1571, 1572, 1573, 1574, 1575, 1576,
- 1577, 1578, 1579, 1580, 1581, 1582, 1583, 1584, 1585, 1586,
- 1587, 1588, 1589, 1590, 1591, 1592, 1593, 1594, 1595, 1596,
- 1597, 1598, 1599, 1600, 1601, 1602, 1603, 1604, 1605, 1606,
- 1607, 1608, 1609, 1610, 1611, 1612, 1613, 1614, 1615, 1616,
- 1617, 1618, 1619, 1620, 1621, 1622, 1623, 1624, 1625, 1627,
- 1628, 1629, 1630, 1631, 1632, 1633, 1634, 1635, 1636, 1637,
- 1638, 1639, 1640, 1641, 1642, 1648, 1649, 1650, 1651, 1665,
+ 1646, 1647, 1648, 1649, 1650, 1651, 1652, 1422, 1256, 1499,
+ 3982, 1653, 2926, 1655, 1656, 1657, 1658, 1659, 1423, 1424,
+ 1947, 1946, 1948, 1949, 1950, 1528, 1528, 1528, 1528, 1528,
+ 1528, 2510, 3537, 3538, 2893, 3606, 1512, 711, 1106, 89,
1666, 1667, 1668, 1669, 1670, 1671, 1672, 1673, 1674, 1675,
- 1676, 1677, 1678, 3921, 3966, 3940, 3950, 3949, 1460, 1723,
- 1719, 0, 3946, 0, 3948, 3174, 0, 3984, 1460, 0,
- 3174, 0, 3015, 1460, 1720, 0, 0, 1460, 0, 0,
- 0, 0, 0, 0, 3177, 87, 3969, 0, 0, 0,
- 0, 0, 0, 0, 3968, 0, 0, 0, 0, 1715,
- 1716, 1722, 3195, 1721, 0, 0, 0, 0, 0, 3853,
- 0, 0, 3973, 0, 3986, 0, 0, 3989, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 3991, 3857, 0, 0, 0, 0,
- 0, 0, 0, 2648, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 2613, 0, 0, 0, 0, 2607, 0,
- 0, 0, 2602, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 4009, 0, 0, 4010, 42, 0, 0, 0,
- 0, 0, 0, 4032, 0, 0, 0, 0, 87, 0,
- 4019, 0, 0, 0, 0, 1457, 0, 1458, 1459, 0,
- 0, 0, 3087, 0, 3089, 1457, 4026, 1458, 1459, 0,
- 1457, 0, 1458, 1459, 1457, 0, 1458, 1459, 0, 0,
- 3100, 3101, 3102, 3103, 0, 0, 4041, 4049, 4046, 1461,
- 3327, 4043, 4063, 4042, 4040, 4045, 4044, 4036, 4038, 3877,
- 4052, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 3970, 0, 3344, 3345, 0, 3346, 3348, 3350, 4093, 4071,
- 1518, 0, 0, 3174, 0, 0, 4083, 4088, 4075, 0,
- 0, 0, 0, 0, 0, 0, 4101, 0, 0, 42,
- 4103, 0, 0, 3363, 4114, 0, 0, 4063, 3367, 3368,
- 3369, 3371, 3372, 3373, 3374, 3375, 3376, 3377, 3378, 3379,
- 3380, 3381, 3382, 3383, 3385, 3387, 3389, 3391, 3393, 3395,
- 3397, 3399, 3401, 3403, 3405, 3407, 3409, 3411, 3413, 3415,
- 3416, 3418, 3419, 3420, 3422, 1984, 4118, 3424, 4113, 3426,
- 3427, 3428, 4137, 4144, 3432, 3433, 3434, 3435, 3436, 3437,
- 3438, 3439, 3440, 3441, 3442, 2098, 4150, 2096, 4143, 4147,
- 4148, 4146, 4133, 3448, 4134, 4033, 4158, 3453, 4028, 0,
- 0, 3457, 3458, 4063, 3459, 3461, 4166, 3464, 3466, 4172,
- 3468, 3469, 3470, 3471, 4174, 0, 0, 3171, 0, 0,
- 3479, 0, 0, 0, 0, 0, 0, 0, 3975, 0,
- 0, 0, 0, 4183, 4184, 3917, 4182, 0, 0, 0,
- 0, 0, 0, 2098, 0, 2096, 0, 4181, 0, 0,
- 0, 0, 0, 0, 0, 3503, 3504, 0, 0, 3508,
- 3982, 0, 3994, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 4117, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 1796, 0, 0, 4109, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 4027,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 3583, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 1745, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 3602, 0, 0, 3606, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 1833, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 3618, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 1784, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 4131,
- 0, 0, 943, 0, 0, 1692, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 3641, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3649, 0, 0, 0, 0, 0, 0,
- 3656, 0, 0, 0, 0, 0, 0, 0, 195, 0,
- 0, 195, 1797, 0, 0, 716, 0, 0, 0, 0,
- 722, 0, 0, 0, 1989, 0, 0, 0, 0, 0,
- 0, 195, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 195, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 722, 195, 722, 1810, 1813, 1814, 1815, 1816,
- 1817, 1818, 0, 1819, 1820, 1822, 1823, 1821, 1824, 1825,
- 1798, 1799, 1800, 1801, 1782, 1783, 1811, 0, 1785, 0,
- 1786, 1787, 1788, 1789, 1790, 1791, 1792, 1793, 1794, 0,
- 0, 1795, 1802, 1803, 1804, 1805, 0, 1806, 1807, 1808,
- 1809, 0, 0, 0, 0, 0, 0, 0, 0, 3866,
- 0, 0, 0, 0, 0, 0, 0, 0, 3873, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 3883, 3884,
- 3885, 0, 3887, 0, 3888, 3889, 0, 0, 0, 3892,
- 3893, 3894, 3895, 3896, 3897, 3898, 3899, 3900, 3901, 3902,
+ 1676, 1677, 1678, 1679, 1495, 1496, 1497, 1498, 704, 1201,
+ 960, 2962, 1439, 2929, 1509, 4065, 1503, 960, 3281, 3282,
+ 4065, 1694, 94, 705, 3281, 3282, 960, 2580, 1068, 2949,
+ 3434, 3285, 94, 165, 94, 3648, 1524, 3285, 1525, 1526,
+ 177, 1219, 1209, 1206, 1693, 1966, 1867, 4064, 1529, 1530,
+ 3335, 3490, 4064, 1127, 1450, 1447, 1448, 1449, 1454, 1456,
+ 1453, 3648, 1452, 1068, 1492, 1232, 1218, 2454, 1224, 1225,
+ 1226, 1227, 1446, 2948, 1213, 1700, 663, 1127, 1138, 1136,
+ 1127, 185, 4103, 2579, 1027, 2982, 1965, 2508, 1027, 1725,
+ 2805, 2807, 1264, 1265, 1027, 2973, 1127, 3970, 2972, 94,
+ 1493, 1494, 3528, 3510, 4174, 4093, 2875, 2455, 2840, 2835,
+ 2777, 1691, 2106, 1754, 2453, 1654, 1212, 3122, 1164, 3121,
+ 671, 1692, 2405, 124, 166, 171, 168, 174, 175, 176,
+ 178, 180, 181, 182, 183, 1492, 1489, 3206, 2604, 1245,
+ 184, 186, 187, 188, 1726, 1472, 1043, 1259, 2456, 4092,
+ 2593, 3996, 1217, 1150, 3569, 1866, 1126, 3502, 2452, 1482,
+ 1483, 1484, 1485, 1487, 1486, 1488, 1489, 1100, 1196, 1992,
+ 119, 2528, 1710, 2043, 1973, 1708, 104, 1711, 1768, 1712,
+ 1126, 105, 2147, 1126, 3022, 1026, 2074, 2139, 2918, 1692,
+ 1660, 1661, 1662, 1663, 1664, 1665, 2148, 3141, 2505, 1126,
+ 2075, 1490, 1491, 2073, 1698, 1120, 1123, 1124, 2139, 1084,
+ 2613, 1459, 1460, 1117, 1121, 1484, 1485, 1487, 1486, 1488,
+ 1489, 3139, 4139, 107, 2604, 1685, 1460, 1139, 1137, 3697,
+ 3544, 1127, 1200, 3543, 1116, 2495, 1876, 1962, 3214, 1963,
+ 1127, 1461, 1964, 1875, 120, 1865, 1843, 1844, 1845, 2503,
+ 2985, 1138, 2985, 2500, 1706, 2984, 1136, 2984, 4131, 1461,
+ 2806, 1969, 4027, 1967, 1968, 1859, 1970, 1971, 1972, 1461,
+ 1728, 1231, 2500, 4182, 3529, 3962, 1461, 1127, 1709, 1695,
+ 1038, 2648, 1233, 3215, 2507, 1707, 1930, 1985, 1246, 1852,
+ 1023, 1461, 1731, 2504, 1881, 1127, 1882, 1216, 1884, 1886,
+ 1025, 1871, 1890, 1892, 1894, 1896, 1898, 3217, 4028, 1912,
+ 4176, 3352, 2502, 1920, 1921, 1267, 1202, 1461, 1993, 1926,
+ 1927, 3963, 1759, 1760, 3867, 3212, 4172, 1870, 2145, 4173,
+ 3603, 4171, 3604, 1827, 1126, 1726, 1163, 2293, 1199, 3866,
+ 1160, 1955, 2144, 1126, 3228, 3229, 1869, 1869, 1130, 1120,
+ 1835, 3213, 3310, 1132, 1099, 1726, 2174, 1133, 1131, 3857,
+ 4183, 4144, 1726, 1953, 1850, 1848, 1849, 1713, 1862, 1465,
+ 1466, 1467, 1468, 1469, 1470, 1471, 1463, 1726, 1134, 1458,
+ 1126, 1459, 1460, 3620, 1916, 3219, 1120, 1123, 1124, 3619,
+ 1084, 1873, 2602, 3551, 1117, 1121, 3550, 1458, 1126, 1459,
+ 1460, 190, 2601, 1130, 1120, 1954, 3024, 1458, 1132, 1459,
+ 1460, 1981, 1133, 1131, 1458, 3540, 1459, 1460, 1908, 3258,
+ 1942, 1911, 3246, 1913, 2130, 129, 1461, 1952, 2900, 1458,
+ 2899, 1459, 1460, 2898, 2460, 1841, 1956, 1461, 172, 1940,
+ 2065, 2066, 2063, 2064, 962, 963, 964, 128, 1939, 1103,
+ 1102, 1101, 1938, 3227, 2166, 1458, 1928, 1459, 1460, 2168,
+ 2640, 1922, 1919, 2173, 2169, 3230, 2062, 2170, 2171, 2172,
+ 1918, 1998, 2167, 2175, 2176, 2177, 2178, 2179, 2180, 2181,
+ 2182, 2183, 1267, 1267, 1941, 1917, 1994, 1995, 1888, 1426,
+ 2020, 1705, 3534, 712, 169, 712, 87, 170, 1762, 87,
+ 1999, 1461, 2065, 2066, 2586, 2587, 4132, 2006, 2007, 2008,
+ 3991, 4142, 1726, 2609, 2882, 712, 3990, 1478, 2019, 2994,
+ 3966, 189, 2122, 2111, 2112, 2113, 2114, 2124, 2115, 2116,
+ 2117, 2129, 2125, 2118, 2119, 2126, 2127, 2128, 2120, 2121,
+ 2123, 1479, 1480, 1481, 1482, 1483, 1484, 1485, 1487, 1486,
+ 1488, 1489, 1479, 1480, 1481, 1482, 1483, 1484, 1485, 1487,
+ 1486, 1488, 1489, 3965, 1458, 3964, 1459, 1460, 3862, 2101,
+ 2101, 2099, 2099, 1739, 2102, 1458, 3846, 1459, 1460, 3845,
+ 1478, 110, 3216, 1474, 3696, 1475, 2608, 42, 2826, 4159,
+ 42, 3694, 109, 3616, 108, 2476, 2475, 2067, 1693, 1476,
+ 1490, 1491, 1473, 103, 1479, 1480, 1481, 1482, 1483, 1484,
+ 1485, 1487, 1486, 1488, 1489, 2474, 2473, 2472, 2471, 1740,
+ 1690, 1996, 1689, 2185, 4119, 1726, 1478, 1688, 2000, 3548,
+ 2002, 2003, 2004, 2005, 2293, 173, 3533, 2009, 2290, 1458,
+ 3320, 1459, 1460, 2197, 179, 3317, 1461, 2292, 2652, 2021,
+ 1479, 1480, 1481, 1482, 1483, 1484, 1485, 1487, 1486, 1488,
+ 1489, 958, 1726, 2650, 1478, 1691, 2592, 1461, 2826, 1726,
+ 1726, 1461, 2044, 1457, 1726, 1692, 101, 1461, 85, 3249,
+ 2071, 85, 3248, 103, 2134, 2027, 2028, 102, 1479, 1480,
+ 1481, 1482, 1483, 1484, 1485, 1487, 1486, 1488, 1489, 1457,
+ 1726, 2826, 4058, 2077, 2909, 2079, 2080, 2081, 2082, 2083,
+ 2084, 2086, 2088, 2089, 2090, 2091, 2092, 2093, 2076, 101,
+ 2826, 4037, 3984, 2280, 2281, 2282, 2283, 2284, 2896, 2303,
+ 102, 4073, 1726, 2871, 2078, 2105, 1687, 2207, 110, 1680,
+ 2305, 2563, 1726, 2308, 2309, 2562, 2301, 2826, 4033, 109,
+ 1461, 108, 4071, 1726, 3894, 1461, 2302, 1726, 2149, 2150,
+ 2151, 2152, 4069, 1726, 3893, 1503, 3947, 1726, 2289, 164,
+ 2522, 2291, 2163, 86, 44, 45, 88, 3587, 3981, 2326,
+ 2184, 2521, 1461, 2140, 1458, 1726, 1459, 1460, 2199, 3870,
+ 1726, 2826, 3858, 92, 2358, 1461, 2872, 48, 76, 77,
+ 2337, 74, 78, 3587, 1726, 1458, 2874, 1459, 1460, 1458,
+ 75, 1459, 1460, 2826, 3585, 1458, 2871, 1459, 1460, 1726,
+ 2384, 2023, 2300, 3220, 1989, 2306, 2307, 3224, 1951, 2303,
+ 2500, 1726, 3508, 1726, 3223, 3940, 1726, 104, 103, 62,
+ 3938, 1726, 105, 2732, 1726, 1461, 2301, 3239, 3238, 3236,
+ 3237, 95, 1943, 3234, 3235, 2823, 2373, 1933, 104, 2414,
+ 3234, 3233, 3850, 105, 1743, 1461, 1929, 3889, 3225, 2336,
+ 103, 1461, 2348, 3221, 1925, 1478, 2850, 1726, 3222, 2872,
+ 3935, 1726, 2579, 2958, 3849, 2070, 1831, 2939, 1458, 2579,
+ 1459, 1460, 1089, 1458, 1924, 1459, 1460, 1726, 83, 1479,
+ 1480, 1481, 1482, 1483, 1484, 1485, 1487, 1486, 1488, 1489,
+ 1923, 2386, 2932, 2933, 2826, 2825, 2423, 2424, 2425, 2426,
+ 1458, 1039, 1459, 1460, 2409, 1089, 2104, 1726, 2821, 1741,
+ 1742, 2324, 2390, 1458, 1257, 1459, 1460, 1831, 1830, 1774,
+ 1773, 2342, 2349, 2343, 2418, 3595, 2419, 2420, 2421, 2422,
+ 3917, 1726, 2408, 2936, 2443, 2351, 3475, 1726, 3171, 2412,
+ 3201, 2914, 2429, 2430, 2431, 2432, 3505, 2489, 2449, 3501,
+ 2579, 1461, 2413, 2371, 109, 3501, 2842, 2501, 2395, 2396,
+ 1074, 1073, 2394, 1458, 1457, 1459, 1460, 1461, 2411, 2410,
+ 2842, 1461, 51, 54, 57, 56, 59, 4023, 73, 2849,
+ 3995, 82, 79, 1458, 2826, 1459, 1460, 165, 2486, 1458,
+ 2850, 1459, 1460, 2459, 177, 1480, 1481, 1482, 1483, 1484,
+ 1485, 1487, 1486, 1488, 1489, 61, 91, 90, 3504, 3454,
+ 71, 72, 58, 1461, 3236, 2500, 2444, 2440, 80, 81,
+ 3144, 2494, 2458, 1457, 2497, 2397, 2498, 2462, 2850, 2470,
+ 2433, 2435, 2436, 1461, 2850, 185, 3468, 1726, 2732, 1461,
+ 2637, 2514, 3501, 1128, 1461, 2636, 2500, 2483, 2493, 1461,
+ 2496, 2444, 2492, 4133, 2366, 1730, 3465, 1726, 2327, 2104,
+ 1129, 63, 64, 3552, 65, 66, 67, 68, 2045, 2515,
+ 1869, 2518, 2029, 1975, 1761, 2519, 2520, 1028, 166, 171,
+ 168, 174, 175, 176, 178, 180, 181, 182, 183, 1458,
+ 1904, 1459, 1460, 1111, 184, 186, 187, 188, 3463, 1726,
+ 2584, 1727, 1729, 1110, 95, 1458, 4098, 1459, 1460, 1458,
+ 2525, 1459, 1460, 4040, 3553, 3554, 3555, 1461, 3426, 1726,
+ 3881, 1461, 1733, 3521, 3523, 60, 1513, 1461, 1513, 3424,
+ 1726, 1461, 3847, 3312, 3420, 1726, 1461, 3709, 3568, 3565,
+ 1461, 1905, 1906, 1907, 2596, 1461, 3546, 3368, 3367, 1461,
+ 1833, 1458, 2442, 1459, 1460, 95, 3308, 3263, 1461, 2556,
+ 3259, 2303, 1461, 2940, 2439, 2434, 1461, 1478, 2428, 2427,
+ 1958, 1458, 1864, 1459, 1460, 1860, 1829, 1458, 2599, 1459,
+ 1460, 121, 1458, 3261, 1459, 1460, 2906, 1458, 2302, 1459,
+ 1460, 1479, 1480, 1481, 1482, 1483, 1484, 1485, 1487, 1486,
+ 1488, 1489, 3417, 1726, 1201, 1461, 3415, 1726, 2905, 3882,
+ 2571, 2619, 3413, 1726, 2457, 89, 3411, 1726, 2340, 1461,
+ 4154, 3409, 1726, 668, 1461, 2577, 3979, 4152, 2634, 4126,
+ 3407, 1726, 2025, 4003, 3405, 1726, 3520, 1461, 3515, 3516,
+ 3190, 2585, 1461, 3403, 1726, 3922, 1461, 3401, 1726, 2588,
+ 1461, 3399, 1726, 3518, 3255, 1458, 2906, 1459, 1460, 1458,
+ 2071, 1459, 1460, 1461, 3254, 1458, 3253, 1459, 1460, 1458,
+ 1461, 1459, 1460, 3171, 1458, 2919, 1459, 1460, 1458, 3189,
+ 1459, 1460, 2589, 1458, 2591, 1459, 1460, 1458, 2557, 1459,
+ 1460, 3854, 1461, 2594, 2026, 2595, 1458, 729, 1459, 1460,
+ 1458, 3999, 1459, 1460, 1458, 3570, 1459, 1460, 3883, 3397,
+ 1726, 3193, 2357, 2590, 1461, 2612, 3194, 2368, 2369, 3191,
+ 1461, 1738, 3395, 1726, 3192, 94, 2346, 3393, 1726, 3161,
+ 3163, 3391, 1726, 3509, 3149, 3389, 1726, 3195, 3164, 2859,
+ 2860, 3148, 2776, 1458, 3494, 1459, 1460, 2597, 3387, 1726,
+ 1461, 3687, 3493, 1041, 1461, 3373, 1726, 1458, 3961, 1459,
+ 1460, 2764, 1458, 1461, 1459, 1460, 3689, 2565, 2566, 2646,
+ 2130, 1461, 2568, 3497, 2808, 1458, 3158, 1459, 1460, 1974,
+ 1458, 2569, 1459, 1460, 1458, 3232, 1459, 1460, 1458, 1044,
+ 1459, 1460, 2910, 1027, 2101, 1011, 2099, 1045, 2811, 3350,
+ 1726, 1458, 1042, 1459, 1460, 2797, 1726, 2889, 1458, 1167,
+ 1459, 1460, 3674, 2147, 3673, 1461, 2847, 2848, 1166, 3328,
+ 2809, 2905, 1425, 1461, 2988, 2384, 101, 2148, 1027, 2867,
+ 1458, 70, 1459, 1460, 2946, 2795, 1726, 102, 129, 2770,
+ 1726, 3499, 4168, 2812, 103, 2814, 1461, 4076, 2747, 1726,
+ 1461, 3251, 1458, 2560, 1459, 1460, 2739, 1726, 1458, 1461,
+ 1459, 1460, 3672, 1461, 3980, 2070, 2846, 2827, 2122, 2111,
+ 2112, 2113, 2114, 2124, 2115, 2116, 2117, 2129, 2125, 2118,
+ 2119, 2126, 2127, 2128, 2120, 2121, 2123, 3877, 1458, 3231,
+ 1459, 1460, 1458, 2863, 1459, 1460, 2352, 1461, 2836, 1698,
+ 3470, 1458, 2799, 1459, 1460, 2549, 101, 42, 3466, 1458,
+ 3477, 1459, 1460, 103, 2368, 2369, 2864, 102, 2865, 2866,
+ 2819, 1461, 1052, 1053, 2548, 3147, 1692, 1461, 2892, 2894,
+ 2547, 2730, 1726, 3146, 1461, 2728, 1726, 2839, 2546, 2824,
+ 1461, 2869, 2944, 2545, 2715, 1726, 1461, 2544, 2713, 1726,
+ 2583, 108, 3946, 1458, 1461, 1459, 1460, 3684, 3945, 2873,
+ 3925, 1458, 3695, 1459, 1460, 2449, 2885, 2876, 3556, 1461,
+ 3693, 109, 2908, 2883, 2886, 1461, 3692, 2911, 2912, 3685,
+ 3566, 2955, 2711, 1726, 1458, 1461, 1459, 1460, 1458, 3498,
+ 1459, 1460, 2842, 2142, 2897, 3496, 1900, 1458, 2143, 1459,
+ 1460, 1458, 3487, 1459, 1460, 1461, 2709, 1726, 2600, 3264,
+ 1461, 2907, 2707, 1726, 2484, 3557, 3558, 3559, 1847, 2705,
+ 1726, 1051, 2915, 3658, 2916, 2703, 1726, 2920, 2921, 2922,
+ 2952, 2701, 1726, 1461, 2203, 1458, 2823, 1459, 1460, 2699,
+ 1726, 1852, 1461, 1901, 1902, 1903, 110, 2998, 2999, 4156,
+ 4155, 2941, 2942, 4156, 2697, 1726, 1461, 109, 3050, 1458,
+ 3432, 1459, 1460, 2638, 2338, 1458, 110, 1459, 1460, 1755,
+ 3018, 2951, 1458, 4155, 1459, 1460, 1461, 109, 1458, 108,
+ 1459, 1460, 1747, 3967, 1458, 1461, 1459, 1460, 103, 3532,
+ 2695, 1726, 1458, 3, 1459, 1460, 2901, 114, 115, 3015,
+ 1461, 2977, 97, 1, 1019, 2996, 1461, 1458, 2980, 1459,
+ 1460, 1428, 1427, 1458, 2286, 1459, 1460, 2042, 2693, 1726,
+ 10, 2040, 3536, 1458, 9, 1459, 1460, 2691, 1726, 4087,
+ 684, 3033, 3034, 3035, 3036, 3037, 3038, 3039, 3040, 3041,
+ 3042, 2689, 1726, 1458, 2318, 1459, 1460, 110, 1458, 1461,
+ 1459, 1460, 2041, 2328, 1696, 8, 4127, 3016, 109, 2953,
+ 108, 3428, 1727, 2325, 4083, 1461, 4084, 1944, 1934, 1461,
+ 3365, 1458, 3598, 1459, 1460, 2254, 3878, 3267, 2490, 3564,
+ 1458, 2447, 1459, 1460, 1119, 2687, 1726, 154, 1724, 1720,
+ 2406, 2685, 1726, 1461, 1458, 2407, 1459, 1460, 2350, 1461,
+ 3090, 4053, 3092, 1721, 3000, 3052, 3108, 118, 1077, 117,
+ 2986, 1461, 3017, 2987, 1458, 1122, 1459, 1460, 3103, 3104,
+ 3105, 3106, 1230, 1458, 2485, 1459, 1460, 3588, 2344, 2345,
+ 1723, 2997, 1722, 2890, 2683, 1726, 1461, 2415, 1458, 1780,
+ 1459, 1460, 3115, 1778, 1458, 1779, 1459, 1460, 1777, 3126,
+ 2681, 1726, 1782, 1781, 2676, 1726, 3336, 2639, 3433, 2033,
+ 719, 3117, 2931, 2862, 2384, 713, 192, 3043, 1769, 1748,
+ 2289, 1161, 2289, 2291, 1461, 2291, 674, 3240, 2672, 1726,
+ 2523, 1461, 680, 3088, 2670, 1726, 3178, 1458, 87, 1459,
+ 1460, 2384, 2384, 2384, 2384, 2384, 2663, 1726, 3098, 3099,
+ 3100, 3101, 3102, 1458, 2461, 1459, 1460, 1458, 1510, 1459,
+ 1460, 2384, 3126, 2024, 2384, 3116, 3145, 3118, 2877, 3183,
+ 1071, 2661, 1726, 1063, 2339, 3125, 2813, 1070, 3855, 3179,
+ 1985, 1458, 1461, 1459, 1460, 3200, 3491, 1458, 3157, 1459,
+ 1460, 3137, 3159, 2829, 3162, 1461, 3155, 3143, 3960, 1458,
+ 1461, 1459, 1460, 3686, 4038, 2386, 2887, 3153, 3152, 3364,
+ 1461, 1744, 3453, 2611, 3150, 1461, 3356, 3165, 3166, 2137,
+ 1461, 1500, 2383, 3653, 1458, 2060, 1459, 1460, 3284, 1030,
+ 1461, 742, 2386, 2386, 2386, 2386, 2386, 3182, 3292, 1031,
+ 104, 1032, 1461, 741, 3196, 105, 739, 3185, 3186, 3204,
+ 3188, 2815, 2386, 3184, 3202, 2386, 3187, 3203, 3138, 3140,
+ 3142, 2843, 1458, 1464, 1459, 1460, 948, 3354, 3151, 1458,
+ 2803, 1459, 1460, 3243, 1756, 2854, 3242, 3244, 3245, 3241,
+ 2793, 1461, 2852, 2851, 2558, 2792, 2391, 3517, 3513, 4079,
+ 2385, 2381, 2822, 3210, 899, 2788, 1461, 898, 751, 3296,
+ 2787, 743, 733, 3168, 961, 2786, 1461, 2449, 3293, 3297,
+ 3286, 897, 3265, 896, 3294, 2785, 3303, 1461, 3295, 2961,
+ 1458, 1461, 1459, 1460, 3309, 2963, 2888, 2784, 1461, 3305,
+ 1442, 1715, 1718, 1458, 2347, 1459, 1460, 3174, 1458, 1090,
+ 1459, 1460, 3174, 3333, 3321, 3324, 3323, 3986, 1458, 2582,
+ 1459, 1460, 3362, 1458, 1714, 1459, 1460, 3331, 1458, 3993,
+ 1459, 1460, 3275, 1461, 3341, 3582, 2783, 3256, 1458, 2937,
+ 1459, 1460, 2477, 69, 46, 3955, 4024, 891, 1461, 888,
+ 1458, 2774, 1459, 1460, 3655, 3357, 3358, 3359, 3360, 3361,
+ 3656, 2773, 3657, 3111, 3112, 3338, 3339, 4006, 3340, 4007,
+ 887, 3342, 2772, 3344, 4008, 3346, 2771, 2192, 1438, 1435,
+ 1513, 4100, 2035, 2768, 1513, 96, 36, 35, 34, 1458,
+ 33, 1459, 1460, 32, 26, 2598, 25, 24, 3266, 2603,
+ 3478, 23, 3480, 22, 1458, 3448, 1459, 1460, 29, 19,
+ 21, 20, 3452, 18, 1458, 3278, 1459, 1460, 2763, 4122,
+ 4167, 123, 2606, 55, 2607, 1458, 52, 1459, 1460, 1458,
+ 2615, 1459, 1460, 2756, 2617, 2618, 1458, 50, 1459, 1460,
+ 131, 130, 53, 2624, 2625, 2626, 2627, 2628, 2629, 2630,
+ 2631, 2632, 2633, 3332, 2635, 49, 1204, 3177, 47, 31,
+ 30, 17, 2384, 1693, 16, 15, 3479, 14, 3481, 3483,
+ 13, 1458, 12, 1459, 1460, 3530, 11, 2641, 2642, 2643,
+ 2644, 2645, 3495, 2647, 7, 3488, 1458, 2649, 1459, 1460,
+ 6, 2654, 2655, 3500, 2656, 39, 1461, 2659, 2660, 2662,
+ 2664, 2665, 2666, 2667, 2668, 2669, 2671, 2673, 2674, 2675,
+ 2677, 3519, 2679, 2680, 2682, 2684, 2686, 2688, 2690, 2692,
+ 2694, 2696, 2698, 2700, 2702, 2704, 2706, 2708, 2710, 2712,
+ 2714, 2716, 2717, 2718, 731, 2720, 3296, 2722, 3287, 2724,
+ 2725, 3522, 2727, 2729, 2731, 3293, 3297, 3455, 2734, 3457,
+ 3458, 3459, 2738, 2386, 3531, 3525, 2743, 2744, 2745, 2746,
+ 1461, 3524, 3547, 38, 3549, 1461, 3541, 3542, 3485, 2757,
+ 2758, 2759, 2760, 2761, 2762, 3592, 3593, 2766, 2767, 3326,
+ 3327, 2755, 1461, 37, 28, 2769, 1461, 1724, 1720, 27,
+ 2775, 40, 4, 2924, 2479, 2778, 2779, 2780, 2781, 2782,
+ 0, 3512, 1721, 1461, 0, 0, 2789, 2790, 1461, 2791,
+ 0, 0, 2794, 2796, 2350, 0, 2798, 1461, 0, 3575,
+ 3526, 3527, 1461, 3579, 3580, 3581, 2810, 1716, 1717, 1723,
+ 0, 1722, 0, 1461, 1458, 0, 1459, 1460, 0, 0,
+ 1461, 0, 0, 1050, 1461, 2754, 1056, 1056, 3594, 1461,
+ 2753, 2855, 2858, 2859, 2860, 2856, 0, 2857, 2861, 0,
+ 0, 3515, 3516, 0, 0, 0, 1461, 2752, 3610, 0,
+ 0, 2751, 0, 0, 1461, 0, 0, 2855, 2858, 2859,
+ 2860, 2856, 1461, 2857, 2861, 0, 0, 1461, 2750, 0,
+ 0, 1461, 0, 2749, 0, 0, 0, 0, 1458, 0,
+ 1459, 1460, 2748, 1458, 0, 1459, 1460, 2742, 1461, 0,
+ 0, 0, 1461, 3642, 0, 0, 0, 1461, 2741, 0,
+ 1458, 0, 1459, 1460, 1458, 2740, 1459, 1460, 3661, 2737,
+ 3662, 3663, 3664, 0, 2736, 0, 1461, 3671, 0, 0,
+ 3678, 1458, 3680, 1459, 1460, 0, 1458, 0, 1459, 1460,
+ 0, 2735, 3651, 0, 0, 1458, 0, 1459, 1460, 2733,
+ 1458, 0, 1459, 1460, 0, 3178, 0, 2726, 87, 3681,
+ 3178, 1458, 2723, 1459, 1460, 0, 2721, 0, 1458, 0,
+ 1459, 1460, 1458, 1461, 1459, 1460, 0, 1458, 0, 1459,
+ 1460, 0, 0, 2719, 3615, 1461, 0, 2678, 0, 2101,
+ 1461, 2099, 2658, 3711, 1458, 3682, 1459, 1460, 3691, 3690,
+ 3701, 1461, 1458, 0, 1459, 1460, 1461, 3698, 3703, 3700,
+ 1458, 2657, 1459, 1460, 0, 1458, 0, 1459, 1460, 1458,
+ 0, 1459, 1460, 0, 0, 3861, 0, 0, 0, 0,
+ 0, 0, 3715, 0, 0, 0, 1458, 0, 1459, 1460,
+ 1458, 0, 1459, 1460, 0, 1458, 0, 1459, 1460, 42,
+ 0, 3571, 3572, 0, 0, 0, 0, 0, 2653, 0,
+ 0, 0, 0, 0, 1458, 3853, 1459, 1460, 3852, 0,
+ 2651, 0, 0, 0, 0, 2616, 3868, 0, 0, 3880,
+ 0, 0, 0, 3872, 3873, 0, 2610, 0, 0, 0,
+ 0, 2605, 0, 0, 3851, 0, 0, 3919, 3920, 3028,
+ 3029, 3030, 3031, 3032, 3705, 0, 0, 3679, 3863, 3864,
+ 3865, 1458, 0, 1459, 1460, 0, 2101, 0, 2099, 3047,
+ 3923, 0, 0, 1458, 0, 1459, 1460, 0, 1458, 0,
+ 1459, 1460, 3712, 3713, 0, 0, 0, 0, 0, 1458,
+ 0, 1459, 1460, 0, 1458, 0, 1459, 1460, 0, 0,
+ 0, 0, 3968, 3178, 3174, 3707, 0, 3926, 0, 0,
+ 3959, 3929, 0, 0, 0, 0, 0, 1531, 1532, 1533,
+ 1534, 1535, 1536, 1537, 1538, 1539, 1540, 1541, 1542, 1543,
+ 1544, 1545, 1546, 1547, 1548, 1549, 1551, 1552, 1553, 1554,
+ 1555, 1556, 1557, 1558, 1559, 1560, 1561, 1562, 1563, 1564,
+ 1565, 1566, 1567, 1568, 1569, 1570, 1571, 1572, 1573, 1574,
+ 1575, 1576, 1577, 1578, 1579, 1580, 1581, 1582, 1583, 1584,
+ 1585, 1586, 1587, 1588, 1589, 1590, 1591, 1592, 1593, 1594,
+ 1595, 1596, 1597, 1598, 1599, 1600, 1601, 1602, 1603, 1604,
+ 1605, 1606, 1607, 1608, 1609, 1610, 1611, 1612, 1613, 1614,
+ 1615, 1616, 1617, 1618, 1619, 1620, 1621, 1622, 1623, 1624,
+ 1625, 1626, 1628, 1629, 1630, 1631, 1632, 1633, 1634, 1635,
+ 1636, 1637, 1638, 1639, 1640, 1641, 1642, 1643, 1649, 1650,
+ 1651, 1652, 1666, 1667, 1668, 1669, 1670, 1671, 1672, 1673,
+ 1674, 1675, 1676, 1677, 1678, 1679, 3924, 3969, 3943, 3953,
+ 3952, 0, 0, 0, 0, 3949, 3177, 3951, 0, 0,
+ 3987, 3177, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3180, 87, 3972,
+ 0, 0, 0, 0, 0, 0, 1693, 3971, 0, 0,
+ 0, 0, 0, 0, 0, 3198, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 3976, 3856, 0, 3989, 0,
+ 0, 0, 0, 0, 3992, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 3860, 0, 3994, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 4001, 0, 0, 0, 0, 0, 0, 0,
+ 4011, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 4012, 0, 0, 4013, 0, 0, 0, 0, 42,
+ 0, 0, 0, 0, 0, 0, 4035, 0, 0, 0,
+ 0, 87, 0, 0, 0, 0, 0, 4022, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 4029, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 1462, 0, 0,
+ 0, 4041, 1693, 0, 0, 0, 0, 0, 0, 0,
+ 0, 4052, 0, 3330, 4044, 4066, 4049, 3880, 4055, 4046,
+ 4045, 4039, 4043, 4048, 4047, 0, 0, 0, 1519, 0,
+ 0, 0, 0, 0, 0, 3347, 3348, 3973, 3349, 3351,
+ 3353, 4096, 4074, 0, 3177, 0, 0, 0, 0, 4086,
+ 4091, 4078, 0, 0, 0, 0, 0, 0, 0, 4104,
+ 0, 0, 42, 4106, 0, 0, 3366, 4117, 0, 0,
+ 4066, 3370, 3371, 3372, 3374, 3375, 3376, 3377, 3378, 3379,
+ 3380, 3381, 3382, 3383, 3384, 3385, 3386, 3388, 3390, 3392,
+ 3394, 3396, 3398, 3400, 3402, 3404, 3406, 3408, 3410, 3412,
+ 3414, 3416, 3418, 3419, 3421, 3422, 3423, 3425, 1985, 4121,
+ 3427, 4116, 3429, 3430, 3431, 4140, 4147, 3435, 3436, 3437,
+ 3438, 3439, 3440, 3441, 3442, 3443, 3444, 3445, 2101, 4153,
+ 2099, 4146, 4150, 4151, 4149, 4136, 3451, 4137, 4036, 4161,
+ 3456, 4031, 0, 0, 3460, 3461, 4066, 3462, 3464, 4169,
+ 3467, 3469, 4175, 3471, 3472, 3473, 3474, 4177, 0, 1009,
+ 3174, 2293, 0, 3482, 1010, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 2100, 3978, 4186, 4187, 3920, 4185,
+ 0, 0, 0, 0, 4120, 0, 2101, 0, 2099, 0,
+ 4184, 0, 0, 0, 1797, 0, 0, 0, 3506, 3507,
+ 0, 3985, 3511, 0, 0, 0, 0, 0, 0, 3997,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 4112, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 1797, 0, 0, 0, 0, 0, 0, 0, 0,
+ 967, 968, 969, 970, 971, 972, 973, 974, 975, 976,
+ 977, 978, 979, 980, 981, 982, 983, 984, 985, 986,
+ 987, 988, 989, 990, 991, 992, 993, 994, 995, 996,
+ 997, 998, 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006,
+ 1007, 1008, 0, 0, 0, 0, 4030, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 3586, 0,
+ 0, 0, 0, 0, 0, 0, 1746, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 1785, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3605, 1834, 0, 3609, 0, 0, 0,
+ 0, 0, 0, 0, 0, 944, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 1785, 3621,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 195, 0, 0, 195, 1798, 4134, 0, 717, 0,
+ 0, 0, 0, 723, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 195, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3644, 0, 0, 0, 0, 0, 0,
+ 195, 0, 0, 0, 0, 0, 3652, 0, 0, 0,
+ 0, 0, 1798, 3659, 0, 0, 0, 0, 0, 0,
+ 0, 0, 1990, 0, 0, 723, 195, 723, 1811, 1814,
+ 1815, 1816, 1817, 1818, 1819, 0, 1820, 1821, 1823, 1824,
+ 1822, 1825, 1826, 1799, 1800, 1801, 1802, 1783, 1784, 1812,
+ 0, 1786, 0, 1787, 1788, 1789, 1790, 1791, 1792, 1793,
+ 1794, 1795, 0, 0, 1796, 1803, 1804, 1805, 1806, 0,
+ 1807, 1808, 1809, 1810, 0, 1811, 1814, 1815, 1816, 1817,
+ 1818, 1819, 0, 1820, 1821, 1823, 1824, 1822, 1825, 1826,
+ 1799, 1800, 1801, 1802, 1783, 1784, 1812, 0, 1786, 0,
+ 1787, 1788, 1789, 1790, 1791, 1792, 1793, 1794, 1795, 0,
+ 0, 1796, 1803, 1804, 1805, 1806, 0, 1807, 1808, 1809,
+ 1810, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 3869, 0, 0, 0, 0, 0, 0, 0,
+ 0, 3876, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 3886, 3887, 3888, 0, 3890, 0, 3891, 3892, 0,
+ 0, 0, 3895, 3896, 3897, 3898, 3899, 3900, 3901, 3902,
3903, 3904, 3905, 3906, 3907, 3908, 3909, 3910, 3911, 3912,
- 3913, 0, 3915, 3918, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 3639, 0, 0, 3927, 3928,
- 3929, 3930, 3931, 3933, 3934, 3936, 3938, 3939, 3941, 0,
- 0, 0, 3945, 0, 0, 0, 3947, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 3974, 0, 0, 2054, 2055, 2056, 2057, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 2065,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 2104, 2105, 0, 0, 0, 0,
- 2128, 0, 0, 2132, 2133, 0, 0, 1812, 2138, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 2150, 2151, 2152, 2153, 2154, 2155, 2156,
- 2157, 2158, 2159, 0, 2161, 0, 0, 0, 2183, 2184,
- 2185, 2186, 2187, 2188, 2190, 0, 2195, 0, 2197, 2198,
- 2199, 0, 2201, 2202, 2203, 0, 2205, 2206, 2207, 2208,
- 2209, 2210, 2211, 2212, 2213, 2214, 2215, 2216, 2217, 2218,
- 2219, 2220, 2221, 2222, 2223, 2224, 2225, 2226, 2227, 2228,
- 2229, 2230, 2231, 2232, 2233, 2234, 2235, 2236, 2237, 2238,
- 2239, 2240, 2241, 2242, 2243, 2244, 2245, 2246, 2247, 2248,
- 2249, 2250, 2254, 2255, 2256, 2257, 2258, 2259, 2260, 2261,
- 2262, 2263, 2264, 2265, 2266, 2267, 2268, 2269, 2270, 2271,
- 2272, 2273, 2274, 2275, 2276, 0, 0, 0, 0, 0,
- 2282, 0, 2284, 0, 2291, 2292, 2293, 2294, 2295, 2296,
- 0, 0, 3956, 0, 0, 0, 3999, 0, 0, 0,
- 0, 0, 0, 2307, 2308, 2309, 2310, 2311, 2312, 2313,
- 2314, 0, 2316, 2317, 2318, 2319, 2320, 0, 0, 0,
- 4014, 0, 0, 0, 0, 0, 4017, 0, 4018, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 4031, 1055, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 1796, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 4057, 4058, 2361,
- 2362, 0, 0, 0, 0, 190, 0, 0, 0, 0,
- 0, 4065, 4067, 4069, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 2400, 0, 4074, 0, 129,
- 0, 151, 0, 0, 0, 0, 0, 0, 0, 4096,
- 0, 0, 172, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 195, 0, 195, 0, 0,
- 0, 0, 0, 162, 0, 1008, 4115, 2290, 0, 150,
- 1009, 0, 0, 0, 0, 0, 2442, 0, 1692, 0,
- 2097, 0, 0, 0, 0, 0, 0, 0, 169, 0,
- 0, 170, 0, 0, 722, 0, 722, 722, 0, 0,
- 4138, 4140, 4142, 0, 0, 0, 0, 0, 0, 0,
- 138, 139, 161, 160, 189, 0, 722, 195, 0, 1784,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 4163, 3998, 0, 0, 0, 0, 0,
- 0, 0, 4008, 0, 0, 1504, 0, 0, 0, 0,
- 0, 4175, 4176, 0, 0, 966, 967, 968, 969, 970,
- 971, 972, 973, 974, 975, 976, 977, 978, 979, 980,
- 981, 982, 983, 984, 985, 986, 987, 988, 989, 990,
- 991, 992, 993, 994, 995, 996, 997, 998, 999, 1000,
- 1001, 1002, 1003, 1004, 1005, 1006, 1007, 0, 0, 0,
- 0, 0, 0, 1797, 1692, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 155, 136, 158, 143, 135,
- 0, 156, 157, 0, 0, 0, 0, 0, 173, 0,
- 0, 0, 0, 0, 0, 0, 0, 179, 144, 0,
+ 3913, 3914, 3915, 3916, 0, 3918, 3921, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 3930, 3931, 3932, 3933, 3934, 3936, 3937, 3939, 3941,
+ 3942, 3944, 0, 0, 0, 3948, 0, 0, 0, 3950,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 2055, 2056, 2057, 2058, 0, 0, 0, 0,
+ 0, 0, 0, 0, 3977, 0, 0, 2068, 0, 0,
+ 1813, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 2107, 2108, 0, 0, 0, 0, 2131, 0,
+ 0, 2135, 2136, 0, 0, 0, 2141, 1813, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 2153, 2154, 2155, 2156, 2157, 2158, 2159, 2160, 2161,
+ 2162, 0, 2164, 0, 0, 0, 2186, 2187, 2188, 2189,
+ 2190, 2191, 2193, 0, 2198, 0, 2200, 2201, 2202, 0,
+ 2204, 2205, 2206, 0, 2208, 2209, 2210, 2211, 2212, 2213,
+ 2214, 2215, 2216, 2217, 2218, 2219, 2220, 2221, 2222, 2223,
+ 2224, 2225, 2226, 2227, 2228, 2229, 2230, 2231, 2232, 2233,
+ 2234, 2235, 2236, 2237, 2238, 2239, 2240, 2241, 2242, 2243,
+ 2244, 2245, 2246, 2247, 2248, 2249, 2250, 2251, 2252, 2253,
+ 2257, 2258, 2259, 2260, 2261, 2262, 2263, 2264, 2265, 2266,
+ 2267, 2268, 2269, 2270, 2271, 2272, 2273, 2274, 2275, 2276,
+ 2277, 2278, 2279, 0, 0, 0, 0, 0, 2285, 0,
+ 2287, 0, 2294, 2295, 2296, 2297, 2298, 2299, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 2310, 2311, 2312, 2313, 2314, 2315, 2316, 2317, 4002,
+ 2319, 2320, 2321, 2322, 2323, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 4017, 0, 0, 0, 0, 0, 4020,
+ 0, 4021, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1056, 0, 0, 0, 0, 190, 0, 0, 0, 0,
+ 0, 0, 0, 0, 4034, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 2364, 2365, 129,
+ 0, 151, 0, 0, 0, 0, 0, 0, 0, 0,
+ 4060, 4061, 172, 0, 0, 0, 0, 0, 0, 195,
+ 0, 195, 0, 2403, 4068, 4070, 4072, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 4077, 0, 0, 162, 0, 0, 190, 0, 0, 150,
+ 0, 0, 4099, 0, 0, 0, 0, 2930, 723, 0,
+ 723, 723, 0, 0, 0, 0, 0, 0, 169, 0,
+ 129, 170, 151, 0, 0, 0, 0, 0, 0, 0,
+ 723, 195, 0, 172, 2445, 0, 0, 0, 0, 4118,
+ 0, 138, 139, 161, 160, 189, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 1505,
+ 0, 190, 0, 0, 162, 0, 0, 0, 0, 0,
+ 150, 0, 1851, 4141, 4143, 4145, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 129, 0, 151, 0, 169,
+ 0, 0, 170, 0, 0, 0, 0, 0, 172, 0,
+ 0, 0, 0, 0, 0, 0, 4166, 0, 0, 0,
+ 0, 0, 1855, 1856, 161, 160, 189, 0, 0, 0,
+ 0, 0, 0, 0, 4178, 4179, 0, 0, 0, 162,
+ 0, 0, 0, 0, 0, 150, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 155, 136, 158, 143,
+ 135, 0, 156, 157, 169, 0, 0, 170, 0, 173,
+ 0, 0, 0, 0, 0, 0, 0, 0, 179, 144,
+ 0, 0, 0, 0, 0, 0, 0, 1855, 1856, 161,
+ 160, 189, 0, 147, 145, 140, 141, 142, 146, 0,
+ 0, 0, 0, 0, 0, 137, 0, 0, 0, 0,
+ 0, 0, 0, 0, 148, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 155, 1857, 158,
+ 0, 1854, 0, 156, 157, 0, 0, 0, 0, 0,
+ 173, 0, 0, 0, 0, 0, 0, 0, 0, 179,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1505, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 155, 1857, 158, 0, 1854, 0, 156, 157,
+ 0, 0, 0, 164, 0, 173, 0, 0, 0, 0,
+ 0, 0, 0, 0, 179, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 195, 0,
+ 0, 0, 723, 723, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 195, 0, 0, 2614, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 2620, 2621, 2622, 2623, 0, 0,
+ 0, 0, 723, 0, 164, 195, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 723, 0, 0,
+ 0, 0, 0, 0, 195, 0, 0, 0, 723, 159,
+ 0, 0, 0, 0, 0, 0, 0, 1519, 723, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 723, 0, 723, 0, 0, 0, 0, 0, 164,
+ 0, 723, 0, 0, 1505, 723, 0, 0, 723, 723,
+ 723, 723, 0, 723, 0, 723, 723, 0, 723, 723,
+ 723, 723, 723, 723, 0, 0, 0, 0, 0, 0,
+ 159, 1505, 723, 723, 1505, 723, 1505, 195, 723, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 147, 145, 140, 141, 142, 146, 0, 0,
- 0, 0, 0, 0, 137, 0, 1810, 1813, 1814, 1815,
- 1816, 1817, 1818, 148, 1819, 1820, 1822, 1823, 1821, 1824,
- 1825, 1798, 1799, 1800, 1801, 1782, 1783, 1811, 0, 1785,
- 0, 1786, 1787, 1788, 1789, 1790, 1791, 1792, 1793, 1794,
- 0, 0, 1795, 1802, 1803, 1804, 1805, 0, 1806, 1807,
- 1808, 1809, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 195, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 152, 0,
+ 723, 153, 195, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 723, 0, 0, 723, 0, 195, 195,
+ 0, 0, 0, 0, 0, 159, 0, 0, 0, 0,
+ 0, 165, 0, 0, 0, 195, 0, 0, 177, 0,
+ 0, 0, 195, 0, 0, 0, 0, 0, 0, 0,
+ 0, 195, 195, 195, 195, 195, 195, 195, 195, 195,
+ 723, 0, 0, 0, 0, 0, 0, 0, 0, 152,
+ 0, 1746, 153, 0, 0, 0, 0, 0, 0, 185,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 165, 0, 0, 0, 0, 0, 0, 177,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 166, 171, 168, 174, 175, 176, 178, 180,
+ 181, 182, 183, 0, 152, 0, 0, 153, 184, 186,
+ 187, 188, 0, 0, 0, 0, 0, 0, 0, 0,
+ 185, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 165, 0, 0,
+ 0, 0, 0, 0, 177, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 166, 171, 168, 174, 175, 176, 178,
+ 180, 181, 182, 183, 0, 0, 0, 0, 0, 184,
+ 186, 187, 188, 0, 0, 185, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 723, 723, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 723, 0, 0, 0, 0, 0, 0, 0, 0, 195,
+ 0, 0, 0, 0, 0, 0, 0, 0, 166, 171,
+ 168, 174, 175, 176, 178, 180, 181, 182, 183, 0,
+ 0, 0, 0, 0, 184, 186, 187, 188, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 2993,
+ 0, 0, 0, 0, 0, 0, 0, 0, 723, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 1505, 0,
+ 0, 0, 0, 3019, 3020, 3021, 0, 0, 3023, 0,
+ 0, 3025, 0, 0, 0, 0, 1505, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 3044, 3045, 3046, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3051, 0, 0, 3053, 3054, 3055, 0,
+ 0, 943, 3056, 3057, 0, 0, 3058, 0, 3059, 0,
+ 0, 0, 0, 0, 0, 3060, 0, 3061, 0, 0,
+ 0, 3062, 0, 3063, 0, 0, 3064, 0, 3065, 0,
+ 3066, 0, 3067, 0, 3068, 0, 3069, 0, 3070, 0,
+ 3071, 0, 3072, 0, 3073, 0, 3074, 0, 3075, 0,
+ 3076, 0, 3077, 0, 3078, 0, 3079, 0, 3080, 0,
+ 3081, 0, 0, 702, 3082, 0, 3083, 0, 3084, 722,
+ 0, 3085, 0, 3086, 0, 3087, 0, 2257, 3089, 0,
+ 0, 3091, 0, 0, 3093, 3094, 3095, 3096, 0, 0,
+ 0, 0, 3097, 2257, 2257, 2257, 2257, 2257, 0, 0,
+ 2304, 0, 0, 0, 0, 0, 0, 0, 3107, 0,
+ 0, 0, 0, 0, 0, 0, 3120, 0, 0, 3124,
+ 0, 722, 0, 722, 0, 0, 0, 0, 3127, 3128,
+ 3129, 3130, 3131, 3132, 1009, 0, 0, 3133, 3134, 1010,
+ 3135, 0, 3136, 0, 0, 195, 0, 0, 0, 2100,
+ 723, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 1056, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 195, 0, 0, 723,
+ 0, 0, 0, 0, 0, 0, 0, 3169, 0, 0,
+ 0, 0, 0, 195, 0, 0, 0, 723, 0, 0,
+ 2304, 195, 0, 195, 0, 195, 195, 0, 0, 0,
+ 0, 0, 3199, 0, 0, 0, 0, 0, 0, 0,
+ 723, 0, 0, 0, 0, 967, 968, 969, 970, 971,
+ 972, 973, 974, 975, 976, 977, 978, 979, 980, 981,
+ 982, 983, 984, 985, 986, 987, 988, 989, 990, 991,
+ 992, 993, 994, 995, 996, 997, 998, 999, 1000, 1001,
+ 1002, 1003, 1004, 1005, 1006, 1007, 1008, 0, 0, 0,
+ 0, 0, 0, 3262, 0, 0, 0, 723, 0, 0,
+ 0, 0, 0, 0, 723, 723, 723, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 723, 0, 0, 0, 0, 0,
+ 723, 723, 0, 0, 723, 0, 723, 0, 0, 0,
+ 0, 0, 723, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 1504, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 164, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 723, 0, 0,
+ 0, 0, 723, 0, 0, 0, 723, 723, 0, 3355,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 2611, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 2617, 2618, 2619, 2620, 0, 0,
- 0, 0, 0, 0, 195, 0, 0, 0, 722, 722,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 3369, 0, 0, 0, 0,
+ 0, 0, 0, 0, 195, 0, 0, 0, 0, 0,
+ 0, 195, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 195, 195, 0, 0, 195, 0, 195, 0, 0,
0, 0, 0, 0, 0, 0, 0, 195, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 1518, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 722, 0,
- 0, 195, 0, 0, 0, 0, 0, 0, 159, 0,
- 0, 0, 0, 722, 0, 0, 0, 0, 0, 0,
- 195, 0, 0, 0, 722, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 722, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 722, 0, 722,
- 0, 0, 0, 0, 0, 0, 0, 722, 1812, 0,
- 1504, 722, 0, 0, 722, 722, 722, 722, 0, 722,
- 0, 722, 722, 0, 722, 722, 722, 722, 722, 722,
- 0, 0, 0, 0, 0, 0, 0, 1504, 722, 722,
- 1504, 722, 1504, 195, 722, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 152, 0, 0,
- 153, 0, 0, 195, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 722, 0, 195, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 722,
- 165, 0, 722, 0, 195, 195, 0, 177, 0, 0,
- 0, 1745, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 195, 0, 0, 0, 0, 0, 0, 195, 0,
- 0, 0, 0, 0, 0, 0, 0, 195, 195, 195,
- 195, 195, 195, 195, 195, 195, 722, 0, 185, 0,
- 0, 0, 1008, 0, 0, 0, 0, 1009, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 2097, 0, 0,
- 0, 0, 0, 942, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 166, 171, 168, 174, 175, 176, 178, 180, 181,
- 182, 183, 0, 0, 0, 0, 0, 184, 186, 187,
- 188, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 701, 0, 0, 0, 0,
- 0, 721, 966, 967, 968, 969, 970, 971, 972, 973,
- 974, 975, 976, 977, 978, 979, 980, 981, 982, 983,
- 984, 985, 986, 987, 988, 989, 990, 991, 992, 993,
- 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1003,
- 1004, 1005, 1006, 1007, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 721, 0, 721, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 722, 722, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 722, 0, 0, 2990,
- 0, 0, 0, 0, 0, 195, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3016, 3017, 3018, 0, 0, 3020, 0,
- 0, 3022, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 3041, 3042, 3043, 722, 0, 0, 0, 0, 0,
- 0, 0, 0, 3048, 1504, 0, 3050, 3051, 3052, 0,
- 0, 0, 3053, 3054, 0, 0, 3055, 0, 3056, 0,
- 0, 0, 1504, 0, 0, 3057, 0, 3058, 0, 0,
- 0, 3059, 0, 3060, 0, 0, 3061, 0, 3062, 0,
- 3063, 0, 3064, 0, 3065, 0, 3066, 0, 3067, 0,
- 3068, 0, 3069, 0, 3070, 0, 3071, 0, 3072, 0,
- 3073, 0, 3074, 0, 3075, 0, 3076, 0, 3077, 0,
- 3078, 0, 0, 0, 3079, 0, 3080, 0, 3081, 0,
- 0, 3082, 0, 3083, 0, 3084, 0, 2254, 3086, 0,
- 0, 3088, 0, 0, 3090, 3091, 3092, 3093, 0, 0,
- 0, 0, 3094, 2254, 2254, 2254, 2254, 2254, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 3104, 0,
- 0, 0, 0, 0, 0, 0, 3117, 0, 0, 3121,
- 0, 0, 0, 0, 0, 0, 0, 0, 3124, 3125,
- 3126, 3127, 3128, 3129, 0, 0, 0, 3130, 3131, 0,
- 3132, 0, 3133, 0, 0, 0, 2301, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 1055, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3166, 0, 0,
- 0, 195, 0, 0, 0, 0, 722, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 3196, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 195, 0, 0, 722, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 195,
- 0, 0, 0, 722, 0, 0, 2301, 195, 0, 195,
- 0, 195, 195, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 722, 0, 0, 0,
- 0, 0, 0, 3259, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 195, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 195, 0, 0, 0, 0, 0, 0, 0, 0, 723,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1699, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 722, 0, 0, 0, 0, 0, 0,
- 722, 722, 722, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 722, 0, 0, 0, 0, 0, 722, 722, 0, 0,
- 722, 0, 722, 0, 0, 0, 0, 0, 722, 3352,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 3366, 0, 0, 0, 0,
- 0, 0, 0, 722, 0, 0, 0, 0, 722, 0,
- 0, 0, 722, 722, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 666,
+ 1505, 0, 2304, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 1014,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 899, 0, 0, 0,
- 195, 0, 0, 0, 0, 0, 0, 195, 0, 0,
- 0, 190, 0, 0, 0, 0, 0, 195, 195, 0,
- 0, 195, 2927, 195, 0, 721, 1420, 721, 721, 0,
- 0, 0, 0, 195, 0, 129, 0, 151, 0, 0,
- 195, 0, 0, 0, 0, 0, 0, 721, 172, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 720, 0, 195, 0, 0, 0,
- 0, 0, 0, 0, 0, 722, 1503, 0, 0, 162,
- 0, 0, 0, 0, 0, 150, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 169, 0, 0, 170, 0, 0,
- 0, 0, 0, 0, 0, 0, 1080, 0, 1087, 0,
- 0, 0, 0, 0, 0, 0, 1854, 1855, 161, 160,
- 189, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 1504, 0, 2301, 0, 0, 0,
- 0, 0, 0, 0, 3564, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 3567, 0, 0, 0, 0, 0,
+ 0, 1085, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3591, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3588, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 155, 1856, 158, 0, 1853, 0, 156, 157, 0,
- 0, 0, 0, 0, 173, 3608, 0, 3609, 0, 3610,
- 0, 3611, 0, 179, 0, 0, 0, 0, 0, 3614,
- 3615, 0, 0, 0, 0, 0, 0, 0, 3619, 0,
- 0, 0, 0, 0, 0, 0, 0, 1503, 0, 0,
- 0, 0, 3620, 0, 3621, 0, 3622, 0, 3623, 0,
- 3624, 0, 3625, 0, 3626, 0, 3627, 0, 3628, 0,
- 3629, 0, 3630, 0, 3631, 0, 3632, 0, 3633, 0,
- 3634, 0, 3635, 0, 0, 3636, 0, 0, 0, 3637,
- 0, 3638, 0, 0, 0, 0, 0, 3640, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 721,
- 721, 0, 0, 0, 0, 0, 0, 0, 0, 3657,
- 0, 0, 0, 0, 0, 0, 0, 0, 3662, 0,
- 3663, 3664, 0, 3665, 0, 3666, 0, 195, 0, 0,
- 3667, 0, 0, 0, 0, 195, 0, 0, 164, 721,
+ 0, 0, 0, 0, 0, 3611, 0, 3612, 0, 3613,
+ 0, 3614, 0, 0, 722, 1421, 722, 722, 0, 3617,
+ 3618, 0, 0, 0, 0, 0, 0, 0, 3622, 0,
0, 0, 0, 0, 0, 0, 722, 0, 0, 0,
- 0, 0, 0, 0, 721, 0, 0, 3696, 0, 0,
- 722, 0, 0, 0, 0, 721, 0, 0, 0, 0,
- 3705, 0, 0, 3707, 0, 721, 0, 0, 0, 0,
- 0, 0, 0, 0, 195, 3711, 0, 0, 0, 195,
- 0, 0, 0, 0, 0, 0, 0, 0, 721, 0,
- 721, 3845, 0, 0, 0, 0, 0, 0, 721, 0,
- 0, 1503, 721, 0, 0, 721, 721, 721, 721, 0,
- 721, 0, 721, 721, 0, 721, 721, 721, 721, 721,
- 721, 0, 0, 0, 159, 0, 0, 0, 1503, 721,
- 721, 1503, 721, 1503, 0, 721, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 722, 0, 0,
- 0, 0, 0, 195, 0, 0, 0, 0, 0, 0,
- 195, 0, 0, 0, 0, 0, 0, 721, 0, 0,
- 0, 0, 0, 0, 722, 0, 0, 0, 0, 0,
- 721, 722, 0, 721, 0, 722, 722, 0, 0, 0,
- 722, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 1504, 722, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 195,
- 195, 195, 195, 195, 195, 0, 0, 721, 0, 3955,
- 0, 0, 0, 152, 0, 0, 153, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 195, 195, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 165, 0, 0, 195,
- 0, 0, 0, 177, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 722, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 185, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 722, 0, 0, 0, 0, 0, 0, 0, 1268, 0,
- 1268, 1268, 0, 0, 0, 0, 0, 166, 171, 168,
- 174, 175, 176, 178, 180, 181, 182, 183, 0, 0,
- 1432, 0, 0, 184, 186, 187, 188, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 721, 721, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 721, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 3997, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 722, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 721, 0, 722, 0, 0,
- 0, 0, 0, 0, 0, 1503, 0, 0, 0, 0,
- 4011, 0, 0, 4012, 2106, 4013, 0, 0, 0, 0,
- 0, 0, 0, 1503, 0, 0, 0, 0, 722, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 195, 0, 0, 722, 0, 0, 0,
- 0, 0, 1698, 0, 0, 0, 0, 0, 0, 0,
- 722, 0, 0, 0, 1504, 0, 0, 722, 722, 1504,
- 195, 195, 195, 195, 195, 0, 0, 0, 0, 0,
- 0, 0, 195, 0, 0, 0, 0, 0, 195, 0,
- 195, 0, 0, 195, 195, 195, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 665, 0, 0, 0, 4094, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 1013, 0, 0, 0, 0, 0, 0, 0, 195,
- 0, 0, 0, 0, 4110, 0, 4111, 0, 4112, 0,
- 0, 0, 722, 0, 0, 1504, 0, 721, 0, 0,
- 722, 0, 0, 0, 0, 195, 0, 0, 0, 0,
- 0, 190, 0, 1084, 0, 0, 0, 0, 0, 195,
- 0, 0, 1850, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 1701, 1702, 0, 129, 0, 151, 0, 195,
- 0, 0, 195, 0, 0, 0, 0, 721, 172, 0,
- 0, 0, 0, 0, 0, 0, 0, 4161, 0, 4162,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 1751, 0, 0, 0, 721, 0, 0, 162,
- 0, 0, 0, 0, 0, 150, 0, 1769, 0, 0,
- 0, 0, 0, 0, 721, 0, 0, 721, 1827, 0,
- 0, 0, 0, 0, 169, 0, 0, 170, 1836, 0,
- 0, 0, 0, 0, 0, 0, 0, 721, 0, 0,
- 0, 0, 0, 0, 0, 0, 1854, 1855, 161, 160,
- 189, 1080, 0, 1862, 0, 0, 0, 0, 0, 0,
- 0, 1871, 0, 0, 0, 1873, 0, 0, 1876, 1877,
- 1879, 1879, 0, 1879, 0, 1879, 1879, 0, 1888, 1879,
- 1879, 1879, 1879, 1879, 0, 0, 0, 0, 722, 0,
- 0, 0, 1908, 1909, 721, 1080, 0, 0, 1914, 0,
- 0, 721, 721, 721, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 721, 0, 0, 0, 195, 0, 721, 721, 0,
- 1956, 721, 0, 721, 0, 0, 0, 0, 0, 721,
- 0, 0, 0, 1977, 0, 0, 1981, 0, 0, 0,
- 0, 155, 1856, 158, 0, 1853, 0, 156, 157, 0,
- 0, 0, 0, 0, 173, 0, 0, 0, 0, 0,
- 0, 0, 0, 179, 721, 0, 0, 0, 0, 721,
- 0, 195, 0, 721, 721, 0, 0, 0, 0, 0,
- 1268, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 3623, 0, 3624, 0, 3625, 0, 3626, 0,
+ 3627, 0, 3628, 0, 3629, 0, 3630, 0, 3631, 0,
+ 3632, 0, 3633, 0, 3634, 1504, 3635, 0, 3636, 0,
+ 3637, 0, 3638, 0, 0, 3639, 0, 0, 0, 3640,
+ 0, 3641, 0, 195, 0, 0, 0, 3643, 0, 0,
+ 0, 195, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 723, 0, 0, 0, 0, 0, 0, 3660,
+ 0, 0, 0, 0, 0, 0, 723, 0, 3665, 0,
+ 3666, 3667, 0, 3668, 0, 3669, 0, 0, 0, 0,
+ 3670, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 195, 0, 0, 0, 0, 195, 0, 900, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3699, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 3708, 0, 0, 3710, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 3714, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 3848, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 723, 0, 721, 0, 0, 0, 195,
+ 0, 0, 0, 0, 0, 0, 195, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 723, 0, 0, 0, 0, 0, 0, 723, 0, 0,
+ 0, 723, 723, 0, 0, 0, 723, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 1504, 1081, 0, 1088,
+ 0, 0, 1505, 723, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 195, 195, 195, 195, 195,
195, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 195, 0, 0, 195, 195, 195, 0, 0, 0, 0,
- 0, 0, 0, 722, 722, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 722, 722, 722, 722, 721, 0, 164, 0,
- 0, 0, 0, 900, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 1268, 1268, 193,
- 0, 0, 666, 0, 0, 1503, 0, 721, 0, 0,
- 2035, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 666, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 159, 0, 0, 0, 1036, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 1056, 1056, 0, 0, 0,
- 0, 0, 0, 0, 666, 0, 0, 0, 2092, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 195, 195, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 722, 722,
+ 0, 0, 0, 0, 0, 195, 0, 0, 0, 3958,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 723, 0,
0, 0, 0, 0, 0, 0, 0, 0, 722, 0,
- 722, 0, 195, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 1204, 0, 1210, 0, 0,
- 0, 1504, 0, 0, 0, 195, 0, 0, 722, 0,
- 722, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 152, 0, 0, 153, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 165, 1433, 0, 0,
- 0, 0, 0, 177, 0, 0, 0, 0, 722, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 195, 0, 0, 722, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 722, 0, 0,
- 0, 0, 0, 0, 185, 0, 0, 0, 0, 0,
- 1268, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 721, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 721, 0, 0, 0, 0, 0, 166, 171, 168,
- 174, 175, 176, 178, 180, 181, 182, 183, 0, 0,
- 2338, 0, 0, 184, 186, 187, 188, 0, 0, 0,
- 0, 722, 0, 0, 0, 0, 0, 0, 722, 0,
- 722, 0, 0, 0, 0, 0, 2878, 0, 0, 2351,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 1751, 0, 722,
- 1268, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1080, 0, 0, 0, 0, 0, 0, 0, 721, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 721, 0, 0, 0, 0,
- 0, 0, 721, 0, 0, 0, 721, 721, 0, 0,
- 0, 721, 0, 0, 0, 0, 0, 1087, 0, 0,
- 0, 0, 0, 0, 2464, 2465, 2466, 1503, 721, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 1080, 0, 0, 0, 0, 0,
- 1087, 1871, 0, 0, 1871, 0, 1871, 0, 0, 0,
- 0, 0, 2496, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 722, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 195, 0, 0, 0, 1080, 0, 0,
- 0, 0, 2092, 0, 0, 0, 2092, 2092, 0, 0,
- 0, 722, 195, 721, 0, 0, 0, 0, 0, 0,
- 0, 1757, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1774, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 721, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 722, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 722, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 1504, 722, 0,
- 722, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 666, 0, 666, 2570,
- 0, 0, 0, 1913, 0, 722, 2301, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 722, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 722, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 722, 0, 723, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 1958, 0,
- 0, 0, 0, 0, 195, 722, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 1985, 721, 0, 666, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 721, 0,
- 1268, 1996, 0, 0, 0, 0, 0, 0, 2000, 0,
- 0, 0, 0, 0, 0, 722, 1505, 0, 0, 2011,
- 2012, 2013, 2014, 2015, 2016, 2017, 0, 0, 0, 721,
- 0, 0, 0, 0, 0, 0, 0, 0, 722, 0,
- 0, 0, 0, 195, 0, 0, 0, 721, 0, 0,
0, 0, 0, 0, 0, 0, 0, 722, 0, 722,
- 0, 721, 0, 0, 0, 1503, 0, 0, 721, 721,
- 1503, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 3244, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 721, 0, 0, 1503, 0, 0, 0,
- 0, 721, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 722, 0, 0,
+ 1504, 722, 0, 0, 722, 722, 722, 722, 0, 722,
+ 0, 722, 722, 0, 722, 722, 722, 722, 722, 722,
+ 0, 0, 0, 0, 1205, 0, 1211, 1504, 722, 722,
+ 1504, 722, 1504, 0, 722, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3326, 0, 2047, 0, 1505, 0, 0,
+ 0, 0, 0, 0, 0, 0, 722, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 722,
+ 0, 723, 722, 0, 0, 0, 1434, 0, 0, 0,
+ 0, 0, 0, 723, 0, 0, 0, 0, 0, 95,
+ 0, 0, 1009, 0, 4000, 0, 949, 1010, 962, 963,
+ 964, 950, 0, 0, 951, 952, 0, 953, 0, 0,
+ 0, 0, 0, 0, 723, 0, 722, 0, 0, 0,
+ 0, 958, 0, 965, 966, 0, 0, 0, 0, 195,
+ 0, 0, 723, 0, 0, 0, 0, 0, 0, 0,
+ 4014, 0, 0, 4015, 0, 4016, 723, 0, 0, 0,
+ 1505, 0, 0, 723, 723, 1505, 195, 195, 195, 195,
+ 195, 0, 0, 0, 0, 0, 0, 0, 195, 0,
+ 0, 3298, 3299, 0, 195, 0, 195, 0, 0, 195,
+ 195, 195, 0, 967, 968, 969, 970, 971, 972, 973,
+ 974, 975, 976, 977, 978, 979, 980, 981, 982, 983,
+ 984, 985, 986, 987, 988, 989, 990, 991, 992, 993,
+ 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1003,
+ 1004, 1005, 1006, 1007, 1008, 195, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 723, 0,
+ 0, 1505, 0, 0, 0, 4097, 723, 0, 0, 0,
+ 0, 195, 0, 0, 0, 0, 0, 901, 0, 0,
+ 0, 0, 0, 0, 0, 195, 3300, 0, 0, 0,
+ 0, 0, 0, 0, 4113, 0, 4114, 0, 4115, 0,
+ 0, 0, 0, 722, 722, 195, 0, 0, 195, 0,
+ 0, 0, 0, 0, 0, 0, 722, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 193, 0, 0, 667, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 2813, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 2828, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 667, 0, 0, 0,
+ 0, 0, 0, 0, 3301, 3302, 0, 4164, 0, 4165,
+ 0, 0, 1037, 0, 722, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 1504, 0, 0, 0, 0, 1057,
+ 1057, 0, 0, 2109, 0, 0, 0, 0, 667, 0,
+ 0, 0, 1504, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 666, 0, 0, 0, 0,
+ 1269, 0, 1269, 1269, 0, 0, 0, 0, 0, 0,
+ 1758, 0, 0, 0, 723, 0, 0, 0, 0, 0,
+ 0, 0, 1433, 0, 0, 0, 0, 0, 914, 1775,
+ 0, 0, 0, 0, 918, 0, 0, 0, 915, 916,
+ 0, 0, 0, 917, 919, 0, 0, 0, 0, 0,
+ 0, 195, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 1036, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 666, 0, 0, 0, 0, 0, 0, 721,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 666, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 2910, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 195, 0, 0,
+ 0, 0, 1914, 0, 0, 0, 722, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 195, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 1959, 0, 0,
+ 0, 0, 0, 0, 0, 0, 195, 0, 0, 195,
+ 195, 195, 0, 0, 1986, 0, 722, 0, 0, 723,
+ 723, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1997, 0, 0, 0, 0, 0, 0, 2001, 0, 0,
+ 0, 0, 0, 0, 0, 722, 0, 0, 2012, 2013,
+ 2014, 2015, 2016, 2017, 2018, 0, 0, 0, 0, 0,
+ 0, 0, 0, 722, 0, 0, 722, 0, 723, 723,
+ 723, 723, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 722, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 2351, 0,
- 0, 0, 0, 0, 0, 2935, 0, 0, 0, 1871,
- 1871, 1505, 0, 0, 2940, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 2951, 0, 0, 0, 0, 0, 0, 1505, 0,
- 0, 1505, 0, 1505, 666, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 3532, 0, 0, 0, 1930, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 666,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 95, 0, 0, 1008, 1983, 666, 0, 948, 1009,
- 961, 962, 963, 949, 721, 721, 950, 951, 0, 952,
- 0, 0, 666, 0, 0, 0, 2092, 0, 0, 666,
- 0, 0, 0, 957, 964, 965, 0, 0, 2009, 2010,
- 666, 666, 666, 666, 666, 666, 666, 0, 0, 2367,
- 0, 0, 0, 0, 0, 0, 0, 2371, 0, 2374,
- 0, 0, 2047, 721, 721, 721, 721, 0, 0, 0,
- 0, 0, 0, 0, 2092, 0, 0, 0, 0, 0,
- 0, 0, 3295, 3296, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 966, 967, 968, 969, 970, 971,
- 972, 973, 974, 975, 976, 977, 978, 979, 980, 981,
- 982, 983, 984, 985, 986, 987, 988, 989, 990, 991,
- 992, 993, 994, 995, 996, 997, 998, 999, 1000, 1001,
- 1002, 1003, 1004, 1005, 1006, 1007, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 722, 0, 0, 0, 0, 0, 0,
+ 722, 722, 722, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 1702, 1703, 0, 0, 0, 0,
+ 722, 0, 0, 0, 0, 0, 722, 722, 0, 0,
+ 722, 0, 722, 0, 0, 0, 0, 0, 722, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 1752, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 1770,
+ 0, 0, 0, 722, 0, 0, 0, 0, 722, 0,
+ 1828, 0, 722, 722, 723, 0, 723, 0, 195, 0,
+ 1837, 0, 0, 0, 2048, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 1505, 0, 0,
+ 0, 195, 0, 1081, 723, 1863, 723, 0, 0, 0,
+ 0, 0, 0, 1872, 0, 0, 0, 1874, 0, 0,
+ 1877, 1878, 1880, 1880, 0, 1880, 0, 1880, 1880, 0,
+ 1889, 1880, 1880, 1880, 1880, 1880, 0, 0, 0, 0,
+ 0, 0, 0, 0, 1909, 1910, 0, 1081, 0, 0,
+ 1915, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 723, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 195, 0, 0,
+ 723, 0, 1957, 0, 0, 722, 0, 0, 0, 0,
+ 0, 0, 0, 723, 0, 1978, 0, 0, 1982, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3297, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 3106,
+ 0, 667, 0, 667, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 1268, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 721,
- 0, 721, 1879, 0, 0, 0, 666, 0, 0, 0,
+ 0, 0, 1269, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 1504, 0, 722, 0,
+ 0, 0, 0, 0, 0, 0, 0, 723, 0, 0,
+ 0, 0, 0, 667, 723, 0, 723, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 3151, 0, 1503, 0, 0, 3298, 3299, 0, 0, 721,
- 2047, 721, 0, 0, 1268, 0, 0, 2532, 0, 0,
- 0, 3178, 1879, 0, 0, 0, 0, 2551, 2552, 0,
- 0, 2556, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 2561, 0, 1505, 0, 0, 0, 0,
- 2564, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 1505, 0, 0, 0, 0, 0, 721,
- 0, 0, 0, 0, 0, 0, 2567, 0, 0, 0,
- 0, 0, 0, 0, 0, 721, 0, 0, 0, 913,
- 0, 0, 0, 0, 0, 917, 0, 0, 721, 914,
- 915, 0, 0, 0, 916, 918, 1080, 0, 0, 0,
- 0, 0, 0, 0, 2351, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 1506, 0, 0, 0, 723, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 721, 0, 0, 0, 0, 0, 0, 721,
- 0, 721, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 1983, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 721, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 1930, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 1056, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 2370, 0,
+ 0, 0, 0, 0, 0, 0, 2374, 0, 2377, 0,
+ 0, 2048, 0, 0, 0, 0, 0, 0, 0, 1269,
+ 1269, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 2036, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 1036, 0, 0, 0, 0, 0, 0,
- 0, 0, 1827, 0, 0, 0, 0, 0, 0, 0,
- 666, 0, 0, 0, 0, 0, 0, 1983, 666, 0,
- 666, 0, 666, 2390, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 723, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 195,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 723, 195, 0,
+ 2095, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 722, 0,
+ 0, 0, 1506, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 722, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 721, 0,
+ 0, 0, 0, 723, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 723, 0, 0, 0, 2881, 0, 0,
+ 667, 0, 0, 1505, 723, 0, 723, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 1037, 0, 0, 0, 0, 0, 0,
+ 0, 723, 2304, 0, 0, 0, 0, 0, 0, 2048,
+ 0, 0, 0, 0, 0, 0, 2535, 667, 0, 722,
+ 0, 0, 0, 0, 0, 0, 2554, 2555, 0, 0,
+ 2559, 0, 0, 0, 0, 0, 667, 0, 0, 0,
+ 195, 723, 2564, 0, 0, 0, 722, 0, 0, 2567,
+ 0, 0, 1269, 722, 0, 0, 0, 722, 722, 0,
+ 0, 0, 722, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 2570, 0, 0, 1504, 722,
+ 0, 723, 0, 0, 0, 0, 1506, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 2341, 0, 723, 0, 0, 0, 0, 195,
+ 0, 0, 0, 1506, 0, 0, 1506, 0, 1506, 667,
+ 0, 0, 0, 723, 0, 723, 0, 0, 0, 0,
+ 0, 2354, 0, 0, 0, 0, 0, 0, 0, 1931,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 1752,
+ 0, 0, 1269, 0, 667, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 722, 0, 0, 0, 0, 0,
+ 1984, 667, 1081, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 667, 0, 0,
+ 0, 0, 0, 0, 667, 0, 0, 0, 0, 0,
+ 0, 0, 0, 2010, 2011, 667, 667, 667, 667, 667,
+ 667, 667, 722, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 1088,
+ 0, 0, 0, 0, 0, 0, 2467, 2468, 2469, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 1081, 0, 0, 0,
+ 0, 0, 1088, 1872, 0, 0, 1872, 0, 1872, 0,
+ 0, 0, 0, 0, 2499, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 721, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 1081,
+ 0, 0, 0, 0, 2095, 0, 0, 0, 2095, 2095,
+ 0, 0, 0, 0, 0, 0, 0, 722, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 722,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 2351, 2351, 2865,
- 0, 0, 0, 0, 0, 0, 0, 0, 721, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 721, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 1503, 721,
- 0, 721, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 3596, 3597, 3598, 3599,
- 0, 0, 0, 0, 0, 0, 721, 721, 0, 0,
- 0, 666, 0, 0, 0, 0, 0, 0, 666, 0,
- 0, 0, 0, 2914, 0, 0, 0, 0, 666, 666,
- 0, 0, 666, 0, 2558, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 666, 0, 721, 0, 0, 0,
- 0, 666, 0, 0, 0, 0, 0, 0, 0, 0,
+ 722, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 722, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 666, 0, 0,
- 0, 0, 0, 0, 0, 0, 721, 0, 0, 2963,
- 2964, 2965, 2966, 2967, 2968, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 721,
- 0, 0, 0, 0, 0, 0, 2047, 2978, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 721, 0,
- 721, 0, 0, 0, 0, 0, 0, 0, 0, 2986,
+ 0, 667, 722, 0, 0, 0, 1504, 0, 0, 722,
+ 722, 1504, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 1505, 0, 1983, 0, 0,
- 0, 0, 3673, 0, 3673, 0, 0, 0, 0, 0,
+ 0, 2573, 0, 0, 0, 0, 0, 0, 0, 0,
+ 2868, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1506, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 3247, 0, 0, 0, 0, 0, 1506, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 3701, 0, 3703, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 722, 0, 0, 1504, 0, 0,
+ 0, 0, 722, 0, 1269, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 2917, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 3329, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 2351, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 3868, 0,
+ 2966, 2967, 2968, 2969, 2970, 2971, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 1268, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 2048, 2981, 0,
+ 0, 0, 1984, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 2989, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 1931, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 722, 0, 0, 1057, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 1037, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 667, 0, 0, 0, 0,
+ 0, 0, 1984, 667, 0, 667, 0, 667, 2393, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 3673, 0, 0, 0, 0,
- 0, 0, 3673, 0, 3673, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 666, 0,
- 0, 0, 0, 0, 0, 0, 1930, 0, 0, 0,
- 0, 0, 0, 2351, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 2816, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 2831, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 3535, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 666, 0, 0, 0, 0,
- 666, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 3249,
+ 0, 0, 0, 0, 0, 722, 722, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 3287, 0, 0, 0, 0,
- 0, 0, 0, 0, 666, 0, 0, 0, 0, 3301,
- 0, 2920, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 2351, 0, 0, 0, 0, 0, 0, 0, 3319,
- 0, 0, 3322, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 2913, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 2351, 0, 1505, 0, 0,
+ 0, 0, 0, 0, 722, 722, 722, 722, 0, 0,
+ 0, 0, 2354, 0, 0, 0, 0, 0, 0, 2938,
+ 0, 0, 0, 1872, 1872, 0, 0, 0, 2943, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 666, 666, 666, 666, 666, 666, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 2954, 667, 0, 0, 0,
+ 0, 0, 0, 667, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 667, 667, 0, 0, 667, 0, 2561,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 667,
+ 0, 0, 0, 0, 0, 0, 667, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 666, 666, 0,
+ 3252, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 667, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 3290, 0, 0, 0,
+ 2095, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 3304, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 3322, 0, 0, 3325, 0, 0, 0, 0, 0, 0,
+ 722, 0, 722, 0, 0, 0, 0, 0, 2095, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 666, 4015, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 4023, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 2351, 0, 4029, 0, 0, 0, 0, 0,
+ 0, 0, 1506, 1504, 1984, 0, 0, 0, 0, 0,
+ 722, 0, 722, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 1268,
- 1268, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 3733, 3735, 3734, 3798, 3799, 3800, 3801, 3802,
- 3803, 3804, 792, 0, 0, 3481, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 4078,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 4023,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 722, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 722, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 722,
+ 0, 0, 0, 3109, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 1269, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 2351, 0, 0, 0, 0, 0, 0, 0,
- 3542, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 1827, 0, 4078, 0, 0, 0, 0, 0, 0,
- 3557, 0, 0, 3558, 3559, 3560, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 3484, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 1880, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 3154, 0, 0, 0, 0, 0,
+ 0, 0, 0, 722, 0, 0, 0, 0, 1269, 0,
+ 722, 0, 722, 0, 0, 3181, 1880, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 722, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 3545, 0, 0, 0, 667, 0, 0, 0, 0,
+ 0, 0, 0, 1931, 0, 0, 0, 0, 0, 0,
+ 0, 3560, 0, 0, 3561, 3562, 3563, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 1056, 0, 666, 0, 0, 0, 0, 0,
+ 1081, 0, 0, 0, 0, 0, 0, 0, 2354, 0,
+ 0, 0, 667, 0, 0, 0, 0, 667, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 1505, 0, 0, 0, 0,
- 1505, 666, 666, 666, 666, 666, 0, 0, 0, 0,
- 0, 0, 0, 3194, 0, 0, 0, 0, 0, 1930,
- 0, 666, 0, 0, 666, 3202, 1983, 0, 0, 3739,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 3747, 3748, 0, 0, 3823, 3822,
- 3821, 0, 0, 3819, 3820, 3818, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 666, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 1505, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 666, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 3824, 913,
- 666, 768, 769, 3825, 3826, 917, 3827, 771, 772, 914,
- 915, 0, 766, 770, 916, 918, 0, 0, 0, 0,
- 666, 0, 0, 666, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 3730, 3731, 3732, 3736, 3737, 3738, 3749, 3796, 3797,
- 3805, 3807, 869, 3806, 3808, 3809, 3810, 3813, 3814, 3815,
- 3816, 3811, 3812, 3817, 3713, 3717, 3714, 3715, 3716, 3728,
- 3718, 3719, 3720, 3721, 3722, 3723, 3724, 3725, 3726, 3727,
- 3729, 3828, 3829, 3830, 3831, 3832, 3833, 3742, 3746, 3745,
- 3743, 3744, 3740, 3741, 3768, 3767, 3769, 3770, 3771, 3772,
- 3773, 3774, 3776, 3775, 3777, 3778, 3779, 3780, 3781, 3782,
- 3750, 3751, 3754, 3755, 3753, 3752, 3756, 3765, 3766, 3757,
- 3758, 3759, 3760, 3761, 3762, 3764, 3763, 3783, 3784, 3785,
- 3786, 3787, 3789, 3788, 3792, 3793, 3791, 3790, 3795, 3794,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 722,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 919, 0, 920, 0, 0, 924, 0, 0,
- 0, 926, 925, 0, 927, 889, 888, 0, 0, 921,
- 922, 0, 923, 0, 0, 0, 666, 0, 0, 0,
+ 0, 667, 0, 0, 0, 0, 0, 0, 2923, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 722, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 1506, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 667, 667, 667,
+ 667, 667, 667, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 1828, 0, 0, 722,
+ 0, 0, 0, 0, 667, 667, 0, 0, 0, 722,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 1504,
+ 722, 0, 722, 0, 0, 0, 0, 667, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 722, 722, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 666, 0, 0, 0, 0, 3834, 3835, 3836,
- 3837, 3838, 3839, 3840, 3841, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 666, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 666, 0, 0, 666, 666, 666, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 722, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 722, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 722, 2354, 2354, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 722,
+ 0, 722, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 3599, 3600, 3601, 3602, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 1057,
+ 0, 667, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 3995, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 1506, 0, 0, 0, 0, 1506, 667, 667,
+ 667, 667, 667, 0, 0, 0, 0, 0, 0, 0,
+ 3197, 0, 0, 0, 0, 0, 1931, 0, 667, 0,
+ 0, 667, 3205, 1984, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 3676, 667, 3676, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 1506, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 667, 0, 0, 3704, 0, 3706, 0,
+ 0, 0, 0, 0, 0, 0, 0, 667, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3998, 0, 0, 0, 667, 0, 0,
+ 667, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 2354, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 3871, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 1269, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 1930, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 1505, 0, 0, 0, 1930, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 3676,
+ 0, 0, 0, 0, 0, 0, 3676, 0, 3676, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 667, 0, 0, 0, 2354, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 1930, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 667,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 667, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 667, 0,
+ 0, 667, 667, 667, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3736, 3738, 3737, 3801, 3802, 3803, 3804,
+ 3805, 3806, 3807, 793, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 2354, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 2354,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 4018, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 4026, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 2354, 0, 4032, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 1269, 1269, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 4081, 0, 0, 0, 0, 0, 0,
+ 1931, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 1506,
+ 0, 3742, 0, 1931, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 4026, 0, 0, 3750, 3751, 0, 0,
+ 3826, 3825, 3824, 0, 0, 3822, 3823, 3821, 0, 0,
+ 0, 0, 0, 0, 0, 0, 2354, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 1828, 0, 4081, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 1931,
+ 3827, 914, 0, 769, 770, 3828, 3829, 918, 3830, 772,
+ 773, 915, 916, 0, 767, 771, 917, 919, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3733, 3734, 3735, 3739, 3740, 3741, 3752,
+ 3799, 3800, 3808, 3810, 870, 3809, 3811, 3812, 3813, 3816,
+ 3817, 3818, 3819, 3814, 3815, 3820, 3716, 3720, 3717, 3718,
+ 3719, 3731, 3721, 3722, 3723, 3724, 3725, 3726, 3727, 3728,
+ 3729, 3730, 3732, 3831, 3832, 3833, 3834, 3835, 3836, 3745,
+ 3749, 3748, 3746, 3747, 3743, 3744, 3771, 3770, 3772, 3773,
+ 3774, 3775, 3776, 3777, 3779, 3778, 3780, 3781, 3782, 3783,
+ 3784, 3785, 3753, 3754, 3757, 3758, 3756, 3755, 3759, 3768,
+ 3769, 3760, 3761, 3762, 3763, 3764, 3765, 3767, 3766, 3786,
+ 3787, 3788, 3789, 3790, 3792, 3791, 3795, 3796, 3794, 3793,
+ 3798, 3797, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 920, 0, 921, 0, 0, 925,
+ 0, 0, 0, 927, 926, 0, 928, 890, 889, 0,
+ 0, 922, 923, 0, 924, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 1930, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 666, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 3837,
+ 3838, 3839, 3840, 3841, 3842, 3843, 3844, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 1931, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 667, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 1505, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 4051, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 1506, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 1930, 0, 0, 0, 0,
- 0, 393, 0, 0, 0, 0, 1403, 1389, 522, 0,
- 1331, 1406, 1300, 1319, 1416, 1322, 1325, 1368, 1278, 1346,
- 413, 1316, 1271, 1304, 1273, 1311, 1274, 1302, 1333, 269,
- 1299, 1391, 1350, 1405, 363, 266, 1280, 1305, 427, 1321,
- 203, 1370, 483, 251, 374, 371, 577, 281, 272, 268,
- 249, 316, 382, 425, 512, 419, 1412, 367, 1356, 0,
- 493, 398, 0, 0, 1983, 1335, 1395, 1344, 1382, 1330,
- 1369, 1288, 1355, 1407, 1317, 1365, 1408, 322, 247, 324,
- 202, 410, 494, 285, 0, 0, 0, 0, 4053, 944,
- 0, 0, 0, 0, 4054, 0, 0, 0, 0, 237,
- 0, 0, 244, 0, 0, 0, 348, 357, 356, 337,
- 338, 340, 342, 347, 354, 360, 1313, 1362, 1402, 1314,
- 1364, 264, 320, 271, 263, 574, 1413, 1394, 1277, 1343,
- 1401, 1338, 0, 0, 228, 1404, 1337, 0, 1367, 0,
- 1419, 1272, 1358, 0, 1275, 1279, 1415, 1399, 1308, 274,
- 0, 0, 0, 0, 0, 0, 0, 1334, 1345, 1379,
- 1383, 1328, 0, 0, 0, 0, 0, 0, 0, 0,
- 1306, 0, 1354, 0, 0, 0, 1284, 1276, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 4054, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1332, 0, 0, 0, 0, 1287, 0, 1307, 1380, 0,
- 1270, 296, 1281, 399, 256, 0, 450, 1387, 1398, 1329,
- 618, 1400, 1327, 1326, 1374, 1285, 1393, 1320, 362, 1283,
- 329, 197, 224, 0, 1318, 409, 458, 470, 1392, 1303,
- 1312, 252, 1310, 468, 423, 596, 232, 283, 455, 429,
- 466, 437, 286, 1353, 1372, 467, 369, 579, 447, 593,
- 619, 620, 262, 403, 605, 516, 613, 637, 225, 259,
+ 0, 0, 1931, 0, 0, 0, 0, 0, 393, 0,
+ 0, 0, 0, 1404, 1390, 522, 0, 1332, 1407, 1301,
+ 1320, 1417, 1323, 1326, 1369, 1279, 1347, 413, 1317, 1272,
+ 1305, 1274, 1312, 1275, 1303, 1334, 269, 1300, 1392, 1351,
+ 1406, 363, 266, 1281, 1306, 427, 1322, 203, 1371, 483,
+ 251, 374, 371, 577, 281, 272, 268, 249, 316, 382,
+ 425, 512, 419, 1413, 367, 1357, 0, 493, 398, 0,
+ 0, 1984, 1336, 1396, 1345, 1383, 1331, 1370, 1289, 1356,
+ 1408, 1318, 1366, 1409, 322, 247, 324, 202, 410, 494,
+ 285, 0, 0, 0, 0, 4056, 945, 0, 0, 0,
+ 0, 4057, 0, 0, 0, 0, 237, 0, 0, 244,
+ 0, 0, 0, 348, 357, 356, 337, 338, 340, 342,
+ 347, 354, 360, 1314, 1363, 601, 1403, 1315, 1365, 264,
+ 320, 271, 263, 574, 1414, 1395, 1278, 1344, 1402, 1339,
+ 0, 0, 228, 1405, 1338, 0, 1368, 0, 1420, 1273,
+ 1359, 0, 1276, 1280, 1416, 1400, 1309, 274, 0, 0,
+ 0, 0, 0, 0, 0, 1335, 1346, 1380, 1384, 1329,
+ 0, 0, 0, 0, 0, 0, 0, 0, 1307, 0,
+ 1355, 0, 0, 0, 1285, 1277, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 1333, 0,
+ 0, 0, 0, 1288, 0, 1308, 1381, 0, 1271, 296,
+ 1282, 399, 256, 0, 450, 1388, 1399, 1330, 619, 1401,
+ 1328, 1327, 1375, 1286, 1394, 1321, 362, 1284, 329, 197,
+ 224, 0, 1319, 409, 458, 470, 1393, 1304, 1313, 252,
+ 1311, 468, 423, 596, 232, 283, 455, 429, 466, 437,
+ 286, 1354, 1373, 467, 369, 579, 447, 593, 620, 621,
+ 262, 403, 606, 516, 614, 638, 225, 259, 417, 501,
+ 599, 490, 394, 575, 576, 328, 489, 294, 201, 366,
+ 626, 223, 476, 368, 241, 230, 581, 603, 298, 288,
+ 453, 633, 212, 511, 591, 238, 480, 0, 0, 641,
+ 246, 500, 214, 588, 499, 390, 325, 326, 213, 0,
+ 454, 267, 292, 0, 0, 257, 412, 583, 584, 255,
+ 642, 227, 613, 219, 1283, 612, 405, 578, 589, 391,
+ 380, 218, 587, 389, 379, 333, 352, 353, 279, 306,
+ 444, 372, 445, 305, 307, 401, 400, 402, 206, 600,
+ 0, 207, 0, 495, 602, 643, 449, 211, 233, 234,
+ 236, 1299, 278, 282, 290, 293, 302, 303, 312, 364,
+ 416, 443, 439, 448, 1389, 573, 594, 607, 618, 624,
+ 625, 627, 628, 629, 630, 631, 634, 632, 404, 310,
+ 491, 332, 370, 1378, 1419, 422, 469, 239, 598, 492,
+ 199, 1293, 1298, 1291, 0, 253, 254, 1360, 569, 1294,
+ 1292, 1349, 1350, 1295, 1410, 1411, 1412, 1397, 644, 645,
+ 646, 647, 648, 649, 650, 651, 652, 653, 654, 655,
+ 656, 657, 658, 659, 660, 661, 639, 502, 508, 503,
+ 504, 505, 506, 507, 0, 509, 1382, 1287, 0, 1296,
+ 1297, 395, 1391, 585, 586, 662, 381, 482, 595, 334,
+ 346, 349, 339, 358, 0, 359, 335, 336, 341, 343,
+ 344, 345, 350, 351, 355, 361, 248, 209, 387, 396,
+ 572, 311, 215, 216, 217, 518, 519, 520, 521, 610,
+ 611, 615, 204, 459, 460, 461, 462, 291, 605, 308,
+ 465, 464, 330, 331, 376, 446, 534, 536, 547, 551,
+ 553, 555, 561, 564, 535, 537, 548, 552, 554, 556,
+ 562, 565, 524, 526, 528, 530, 543, 542, 539, 567,
+ 568, 545, 550, 529, 541, 546, 559, 566, 563, 523,
+ 527, 531, 540, 558, 557, 538, 549, 560, 544, 532,
+ 525, 533, 1353, 196, 220, 365, 1415, 451, 287, 640,
+ 609, 604, 205, 222, 1290, 261, 1302, 1310, 0, 1316,
+ 1324, 1325, 1337, 1340, 1341, 1342, 1343, 1361, 1362, 1364,
+ 1372, 1374, 1377, 1379, 1386, 1398, 1418, 198, 200, 208,
+ 221, 231, 235, 242, 260, 275, 277, 284, 297, 309,
+ 317, 318, 321, 327, 377, 383, 384, 385, 386, 406,
+ 407, 408, 411, 414, 415, 418, 420, 421, 424, 428,
+ 432, 433, 434, 436, 438, 440, 452, 457, 471, 472,
+ 473, 474, 475, 478, 479, 484, 485, 486, 487, 488,
+ 496, 497, 510, 580, 582, 597, 616, 622, 477, 300,
+ 301, 441, 442, 313, 314, 636, 637, 299, 592, 623,
+ 590, 635, 617, 435, 375, 1352, 1358, 378, 280, 304,
+ 319, 1367, 608, 498, 226, 463, 289, 250, 1385, 1387,
+ 210, 245, 229, 258, 273, 276, 323, 388, 397, 426,
+ 431, 295, 270, 243, 456, 240, 481, 513, 514, 515,
+ 517, 392, 265, 430, 1348, 1376, 373, 570, 571, 315,
+ 393, 0, 0, 0, 0, 1404, 1390, 522, 0, 1332,
+ 1407, 1301, 1320, 1417, 1323, 1326, 1369, 1279, 1347, 413,
+ 1317, 1272, 1305, 1274, 1312, 1275, 1303, 1334, 269, 1300,
+ 1392, 1351, 1406, 363, 266, 1281, 1306, 427, 1322, 203,
+ 1371, 483, 251, 374, 371, 577, 281, 272, 268, 249,
+ 316, 382, 425, 512, 419, 1413, 367, 1357, 0, 493,
+ 398, 0, 0, 0, 1336, 1396, 1345, 1383, 1331, 1370,
+ 1289, 1356, 1408, 1318, 1366, 1409, 322, 247, 324, 202,
+ 410, 494, 285, 0, 0, 0, 0, 0, 194, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 237, 0,
+ 0, 244, 0, 0, 0, 348, 357, 356, 337, 338,
+ 340, 342, 347, 354, 360, 1314, 1363, 601, 1403, 1315,
+ 1365, 264, 320, 271, 263, 574, 1414, 1395, 1278, 1344,
+ 1402, 1339, 0, 0, 228, 1405, 1338, 0, 1368, 0,
+ 1420, 1273, 1359, 0, 1276, 1280, 1416, 1400, 1309, 274,
+ 0, 0, 0, 0, 0, 0, 0, 1335, 1346, 1380,
+ 1384, 1329, 0, 0, 0, 0, 0, 0, 3206, 0,
+ 1307, 0, 1355, 0, 0, 0, 1285, 1277, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1333, 0, 0, 0, 0, 1288, 0, 1308, 1381, 0,
+ 1271, 296, 1282, 399, 256, 0, 450, 1388, 1399, 1330,
+ 619, 1401, 1328, 1327, 1375, 1286, 1394, 1321, 362, 1284,
+ 329, 197, 224, 0, 1319, 409, 458, 470, 1393, 1304,
+ 1313, 252, 1311, 468, 423, 596, 232, 283, 455, 429,
+ 466, 437, 286, 1354, 1373, 467, 369, 579, 447, 593,
+ 620, 621, 262, 403, 606, 516, 614, 638, 225, 259,
417, 501, 599, 490, 394, 575, 576, 328, 489, 294,
- 201, 366, 625, 223, 476, 368, 241, 230, 581, 602,
- 298, 288, 453, 632, 212, 511, 591, 238, 480, 0,
- 0, 640, 246, 500, 214, 588, 499, 390, 325, 326,
+ 201, 366, 626, 223, 476, 368, 241, 230, 581, 603,
+ 298, 288, 453, 633, 212, 511, 591, 238, 480, 0,
+ 0, 641, 246, 500, 214, 588, 499, 390, 325, 326,
213, 0, 454, 267, 292, 0, 0, 257, 412, 583,
- 584, 255, 641, 227, 612, 219, 1282, 611, 405, 578,
+ 584, 255, 642, 227, 613, 219, 1283, 612, 405, 578,
589, 391, 380, 218, 587, 389, 379, 333, 352, 353,
279, 306, 444, 372, 445, 305, 307, 401, 400, 402,
- 206, 600, 0, 207, 0, 495, 601, 642, 449, 211,
- 233, 234, 236, 1298, 278, 282, 290, 293, 302, 303,
- 312, 364, 416, 443, 439, 448, 1388, 573, 594, 606,
- 617, 623, 624, 626, 627, 628, 629, 630, 633, 631,
- 404, 310, 491, 332, 370, 1377, 1418, 422, 469, 239,
- 598, 492, 199, 1292, 1297, 1290, 0, 253, 254, 1359,
- 569, 1293, 1291, 1348, 1349, 1294, 1409, 1410, 1411, 1396,
- 643, 644, 645, 646, 647, 648, 649, 650, 651, 652,
- 653, 654, 655, 656, 657, 658, 659, 660, 638, 502,
- 508, 503, 504, 505, 506, 507, 0, 509, 1381, 1286,
- 0, 1295, 1296, 395, 1390, 585, 586, 661, 381, 482,
+ 206, 600, 0, 207, 0, 495, 602, 643, 449, 211,
+ 233, 234, 236, 1299, 278, 282, 290, 293, 302, 303,
+ 312, 364, 416, 443, 439, 448, 1389, 573, 594, 607,
+ 618, 624, 625, 627, 628, 629, 630, 631, 634, 632,
+ 404, 310, 491, 332, 370, 1378, 1419, 422, 469, 239,
+ 598, 492, 199, 1293, 1298, 1291, 0, 253, 254, 1360,
+ 569, 1294, 1292, 1349, 1350, 1295, 1410, 1411, 1412, 1397,
+ 644, 645, 646, 647, 648, 649, 650, 651, 652, 653,
+ 654, 655, 656, 657, 658, 659, 660, 661, 639, 502,
+ 508, 503, 504, 505, 506, 507, 0, 509, 1382, 1287,
+ 0, 1296, 1297, 395, 1391, 585, 586, 662, 381, 482,
595, 334, 346, 349, 339, 358, 0, 359, 335, 336,
341, 343, 344, 345, 350, 351, 355, 361, 248, 209,
387, 396, 572, 311, 215, 216, 217, 518, 519, 520,
- 521, 609, 610, 614, 204, 459, 460, 461, 462, 291,
- 604, 308, 465, 464, 330, 331, 376, 446, 534, 536,
+ 521, 610, 611, 615, 204, 459, 460, 461, 462, 291,
+ 605, 308, 465, 464, 330, 331, 376, 446, 534, 536,
547, 551, 553, 555, 561, 564, 535, 537, 548, 552,
554, 556, 562, 565, 524, 526, 528, 530, 543, 542,
539, 567, 568, 545, 550, 529, 541, 546, 559, 566,
563, 523, 527, 531, 540, 558, 557, 538, 549, 560,
- 544, 532, 525, 533, 1352, 196, 220, 365, 1414, 451,
- 287, 639, 608, 603, 205, 222, 1289, 261, 1301, 1309,
- 0, 1315, 1323, 1324, 1336, 1339, 1340, 1341, 1342, 1360,
- 1361, 1363, 1371, 1373, 1376, 1378, 1385, 1397, 1417, 198,
+ 544, 532, 525, 533, 1353, 196, 220, 365, 1415, 451,
+ 287, 640, 609, 604, 205, 222, 1290, 261, 1302, 1310,
+ 0, 1316, 1324, 1325, 1337, 1340, 1341, 1342, 1343, 1361,
+ 1362, 1364, 1372, 1374, 1377, 1379, 1386, 1398, 1418, 198,
200, 208, 221, 231, 235, 242, 260, 275, 277, 284,
297, 309, 317, 318, 321, 327, 377, 383, 384, 385,
386, 406, 407, 408, 411, 414, 415, 418, 420, 421,
424, 428, 432, 433, 434, 436, 438, 440, 452, 457,
471, 472, 473, 474, 475, 478, 479, 484, 485, 486,
- 487, 488, 496, 497, 510, 580, 582, 597, 615, 621,
- 477, 300, 301, 441, 442, 313, 314, 635, 636, 299,
- 592, 622, 590, 634, 616, 435, 375, 1351, 1357, 378,
- 280, 304, 319, 1366, 607, 498, 226, 463, 289, 250,
- 1384, 1386, 210, 245, 229, 258, 273, 276, 323, 388,
+ 487, 488, 496, 497, 510, 580, 582, 597, 616, 622,
+ 477, 300, 301, 441, 442, 313, 314, 636, 637, 299,
+ 592, 623, 590, 635, 617, 435, 375, 1352, 1358, 378,
+ 280, 304, 319, 1367, 608, 498, 226, 463, 289, 250,
+ 1385, 1387, 210, 245, 229, 258, 273, 276, 323, 388,
397, 426, 431, 295, 270, 243, 456, 240, 481, 513,
- 514, 515, 517, 392, 265, 430, 1347, 1375, 373, 570,
- 571, 315, 393, 0, 0, 0, 0, 1403, 1389, 522,
- 0, 1331, 1406, 1300, 1319, 1416, 1322, 1325, 1368, 1278,
- 1346, 413, 1316, 1271, 1304, 1273, 1311, 1274, 1302, 1333,
- 269, 1299, 1391, 1350, 1405, 363, 266, 1280, 1305, 427,
- 1321, 203, 1370, 483, 251, 374, 371, 577, 281, 272,
- 268, 249, 316, 382, 425, 512, 419, 1412, 367, 1356,
- 0, 493, 398, 0, 0, 0, 1335, 1395, 1344, 1382,
- 1330, 1369, 1288, 1355, 1407, 1317, 1365, 1408, 322, 247,
+ 514, 515, 517, 392, 265, 430, 1348, 1376, 373, 570,
+ 571, 315, 393, 0, 0, 0, 0, 1404, 1390, 522,
+ 0, 1332, 1407, 1301, 1320, 1417, 1323, 1326, 1369, 1279,
+ 1347, 413, 1317, 1272, 1305, 1274, 1312, 1275, 1303, 1334,
+ 269, 1300, 1392, 1351, 1406, 363, 266, 1281, 1306, 427,
+ 1322, 203, 1371, 483, 251, 374, 371, 577, 281, 272,
+ 268, 249, 316, 382, 425, 512, 419, 1413, 367, 1357,
+ 0, 493, 398, 0, 0, 0, 1336, 1396, 1345, 1383,
+ 1331, 1370, 1289, 1356, 1408, 1318, 1366, 1409, 322, 247,
324, 202, 410, 494, 285, 0, 0, 0, 0, 0,
- 194, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 712, 0, 0, 0, 0, 0, 0, 0, 0, 0,
237, 0, 0, 244, 0, 0, 0, 348, 357, 356,
- 337, 338, 340, 342, 347, 354, 360, 1313, 1362, 1402,
- 1314, 1364, 264, 320, 271, 263, 574, 1413, 1394, 1277,
- 1343, 1401, 1338, 0, 0, 228, 1404, 1337, 0, 1367,
- 0, 1419, 1272, 1358, 0, 1275, 1279, 1415, 1399, 1308,
- 274, 0, 0, 0, 0, 0, 0, 0, 1334, 1345,
- 1379, 1383, 1328, 0, 0, 0, 0, 0, 0, 3203,
- 0, 1306, 0, 1354, 0, 0, 0, 1284, 1276, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 1332, 0, 0, 0, 0, 1287, 0, 1307, 1380,
- 0, 1270, 296, 1281, 399, 256, 0, 450, 1387, 1398,
- 1329, 618, 1400, 1327, 1326, 1374, 1285, 1393, 1320, 362,
- 1283, 329, 197, 224, 0, 1318, 409, 458, 470, 1392,
- 1303, 1312, 252, 1310, 468, 423, 596, 232, 283, 455,
- 429, 466, 437, 286, 1353, 1372, 467, 369, 579, 447,
- 593, 619, 620, 262, 403, 605, 516, 613, 637, 225,
- 259, 417, 501, 599, 490, 394, 575, 576, 328, 489,
- 294, 201, 366, 625, 223, 476, 368, 241, 230, 581,
- 602, 298, 288, 453, 632, 212, 511, 591, 238, 480,
- 0, 0, 640, 246, 500, 214, 588, 499, 390, 325,
- 326, 213, 0, 454, 267, 292, 0, 0, 257, 412,
- 583, 584, 255, 641, 227, 612, 219, 1282, 611, 405,
- 578, 589, 391, 380, 218, 587, 389, 379, 333, 352,
- 353, 279, 306, 444, 372, 445, 305, 307, 401, 400,
- 402, 206, 600, 0, 207, 0, 495, 601, 642, 449,
- 211, 233, 234, 236, 1298, 278, 282, 290, 293, 302,
- 303, 312, 364, 416, 443, 439, 448, 1388, 573, 594,
- 606, 617, 623, 624, 626, 627, 628, 629, 630, 633,
- 631, 404, 310, 491, 332, 370, 1377, 1418, 422, 469,
- 239, 598, 492, 199, 1292, 1297, 1290, 0, 253, 254,
- 1359, 569, 1293, 1291, 1348, 1349, 1294, 1409, 1410, 1411,
- 1396, 643, 644, 645, 646, 647, 648, 649, 650, 651,
- 652, 653, 654, 655, 656, 657, 658, 659, 660, 638,
- 502, 508, 503, 504, 505, 506, 507, 0, 509, 1381,
- 1286, 0, 1295, 1296, 395, 1390, 585, 586, 661, 381,
- 482, 595, 334, 346, 349, 339, 358, 0, 359, 335,
- 336, 341, 343, 344, 345, 350, 351, 355, 361, 248,
- 209, 387, 396, 572, 311, 215, 216, 217, 518, 519,
- 520, 521, 609, 610, 614, 204, 459, 460, 461, 462,
- 291, 604, 308, 465, 464, 330, 331, 376, 446, 534,
- 536, 547, 551, 553, 555, 561, 564, 535, 537, 548,
- 552, 554, 556, 562, 565, 524, 526, 528, 530, 543,
- 542, 539, 567, 568, 545, 550, 529, 541, 546, 559,
- 566, 563, 523, 527, 531, 540, 558, 557, 538, 549,
- 560, 544, 532, 525, 533, 1352, 196, 220, 365, 1414,
- 451, 287, 639, 608, 603, 205, 222, 1289, 261, 1301,
- 1309, 0, 1315, 1323, 1324, 1336, 1339, 1340, 1341, 1342,
- 1360, 1361, 1363, 1371, 1373, 1376, 1378, 1385, 1397, 1417,
- 198, 200, 208, 221, 231, 235, 242, 260, 275, 277,
- 284, 297, 309, 317, 318, 321, 327, 377, 383, 384,
- 385, 386, 406, 407, 408, 411, 414, 415, 418, 420,
- 421, 424, 428, 432, 433, 434, 436, 438, 440, 452,
- 457, 471, 472, 473, 474, 475, 478, 479, 484, 485,
- 486, 487, 488, 496, 497, 510, 580, 582, 597, 615,
- 621, 477, 300, 301, 441, 442, 313, 314, 635, 636,
- 299, 592, 622, 590, 634, 616, 435, 375, 1351, 1357,
- 378, 280, 304, 319, 1366, 607, 498, 226, 463, 289,
- 250, 1384, 1386, 210, 245, 229, 258, 273, 276, 323,
- 388, 397, 426, 431, 295, 270, 243, 456, 240, 481,
- 513, 514, 515, 517, 392, 265, 430, 1347, 1375, 373,
- 570, 571, 315, 393, 0, 0, 0, 0, 1403, 1389,
- 522, 0, 1331, 1406, 1300, 1319, 1416, 1322, 1325, 1368,
- 1278, 1346, 413, 1316, 1271, 1304, 1273, 1311, 1274, 1302,
- 1333, 269, 1299, 1391, 1350, 1405, 363, 266, 1280, 1305,
- 427, 1321, 203, 1370, 483, 251, 374, 371, 577, 281,
- 272, 268, 249, 316, 382, 425, 512, 419, 1412, 367,
- 1356, 0, 493, 398, 0, 0, 0, 1335, 1395, 1344,
- 1382, 1330, 1369, 1288, 1355, 1407, 1317, 1365, 1408, 322,
- 247, 324, 202, 410, 494, 285, 0, 0, 0, 0,
- 0, 711, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 237, 0, 0, 244, 0, 0, 0, 348, 357,
- 356, 337, 338, 340, 342, 347, 354, 360, 1313, 1362,
- 1402, 1314, 1364, 264, 320, 271, 263, 574, 1413, 1394,
- 1277, 1343, 1401, 1338, 0, 0, 228, 1404, 1337, 0,
- 1367, 0, 1419, 1272, 1358, 0, 1275, 1279, 1415, 1399,
- 1308, 274, 0, 0, 0, 0, 0, 0, 0, 1334,
- 1345, 1379, 1383, 1328, 0, 0, 0, 0, 0, 0,
- 3164, 0, 1306, 0, 1354, 0, 0, 0, 1284, 1276,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 1332, 0, 0, 0, 0, 1287, 0, 1307,
- 1380, 0, 1270, 296, 1281, 399, 256, 0, 450, 1387,
- 1398, 1329, 618, 1400, 1327, 1326, 1374, 1285, 1393, 1320,
- 362, 1283, 329, 197, 224, 0, 1318, 409, 458, 470,
- 1392, 1303, 1312, 252, 1310, 468, 423, 596, 232, 283,
- 455, 429, 466, 437, 286, 1353, 1372, 467, 369, 579,
- 447, 593, 619, 620, 262, 403, 605, 516, 613, 637,
+ 337, 338, 340, 342, 347, 354, 360, 1314, 1363, 601,
+ 1403, 1315, 1365, 264, 320, 271, 263, 574, 1414, 1395,
+ 1278, 1344, 1402, 1339, 0, 0, 228, 1405, 1338, 0,
+ 1368, 0, 1420, 1273, 1359, 0, 1276, 1280, 1416, 1400,
+ 1309, 274, 0, 0, 0, 0, 0, 0, 0, 1335,
+ 1346, 1380, 1384, 1329, 0, 0, 0, 0, 0, 0,
+ 3167, 0, 1307, 0, 1355, 0, 0, 0, 1285, 1277,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 1333, 0, 0, 0, 0, 1288, 0, 1308,
+ 1381, 0, 1271, 296, 1282, 399, 256, 0, 450, 1388,
+ 1399, 1330, 619, 1401, 1328, 1327, 1375, 1286, 1394, 1321,
+ 362, 1284, 329, 197, 224, 0, 1319, 409, 458, 470,
+ 1393, 1304, 1313, 252, 1311, 468, 423, 596, 232, 283,
+ 455, 429, 466, 437, 286, 1354, 1373, 467, 369, 579,
+ 447, 593, 620, 621, 262, 403, 606, 516, 614, 638,
225, 259, 417, 501, 599, 490, 394, 575, 576, 328,
- 489, 294, 201, 366, 625, 223, 476, 368, 241, 230,
- 581, 602, 298, 288, 453, 632, 212, 511, 591, 238,
- 480, 0, 0, 640, 246, 500, 214, 588, 499, 390,
+ 489, 294, 201, 366, 626, 223, 476, 368, 241, 230,
+ 581, 603, 298, 288, 453, 633, 212, 511, 591, 238,
+ 480, 0, 0, 641, 246, 500, 214, 588, 499, 390,
325, 326, 213, 0, 454, 267, 292, 0, 0, 257,
- 412, 583, 584, 255, 641, 227, 612, 219, 1282, 611,
+ 412, 583, 584, 255, 642, 227, 613, 219, 1283, 612,
405, 578, 589, 391, 380, 218, 587, 389, 379, 333,
352, 353, 279, 306, 444, 372, 445, 305, 307, 401,
- 400, 402, 206, 600, 0, 207, 0, 495, 601, 642,
- 449, 211, 233, 234, 236, 1298, 278, 282, 290, 293,
- 302, 303, 312, 364, 416, 443, 439, 448, 1388, 573,
- 594, 606, 617, 623, 624, 626, 627, 628, 629, 630,
- 633, 631, 404, 310, 491, 332, 370, 1377, 1418, 422,
- 469, 239, 598, 492, 199, 1292, 1297, 1290, 0, 253,
- 254, 1359, 569, 1293, 1291, 1348, 1349, 1294, 1409, 1410,
- 1411, 1396, 643, 644, 645, 646, 647, 648, 649, 650,
- 651, 652, 653, 654, 655, 656, 657, 658, 659, 660,
- 638, 502, 508, 503, 504, 505, 506, 507, 0, 509,
- 1381, 1286, 0, 1295, 1296, 395, 1390, 585, 586, 661,
+ 400, 402, 206, 600, 0, 207, 0, 495, 602, 643,
+ 449, 211, 233, 234, 236, 1299, 278, 282, 290, 293,
+ 302, 303, 312, 364, 416, 443, 439, 448, 1389, 573,
+ 594, 607, 618, 624, 625, 627, 628, 629, 630, 631,
+ 634, 632, 404, 310, 491, 332, 370, 1378, 1419, 422,
+ 469, 239, 598, 492, 199, 1293, 1298, 1291, 0, 253,
+ 254, 1360, 569, 1294, 1292, 1349, 1350, 1295, 1410, 1411,
+ 1412, 1397, 644, 645, 646, 647, 648, 649, 650, 651,
+ 652, 653, 654, 655, 656, 657, 658, 659, 660, 661,
+ 639, 502, 508, 503, 504, 505, 506, 507, 0, 509,
+ 1382, 1287, 0, 1296, 1297, 395, 1391, 585, 586, 662,
381, 482, 595, 334, 346, 349, 339, 358, 0, 359,
335, 336, 341, 343, 344, 345, 350, 351, 355, 361,
248, 209, 387, 396, 572, 311, 215, 216, 217, 518,
- 519, 520, 521, 609, 610, 614, 204, 459, 460, 461,
- 462, 291, 604, 308, 465, 464, 330, 331, 376, 446,
+ 519, 520, 521, 610, 611, 615, 204, 459, 460, 461,
+ 462, 291, 605, 308, 465, 464, 330, 331, 376, 446,
534, 536, 547, 551, 553, 555, 561, 564, 535, 537,
548, 552, 554, 556, 562, 565, 524, 526, 528, 530,
543, 542, 539, 567, 568, 545, 550, 529, 541, 546,
559, 566, 563, 523, 527, 531, 540, 558, 557, 538,
- 549, 560, 544, 532, 525, 533, 1352, 196, 220, 365,
- 1414, 451, 287, 639, 608, 603, 205, 222, 1289, 261,
- 1301, 1309, 0, 1315, 1323, 1324, 1336, 1339, 1340, 1341,
- 1342, 1360, 1361, 1363, 1371, 1373, 1376, 1378, 1385, 1397,
- 1417, 198, 200, 208, 221, 231, 235, 242, 260, 275,
+ 549, 560, 544, 532, 525, 533, 1353, 196, 220, 365,
+ 1415, 451, 287, 640, 609, 604, 205, 222, 1290, 261,
+ 1302, 1310, 0, 1316, 1324, 1325, 1337, 1340, 1341, 1342,
+ 1343, 1361, 1362, 1364, 1372, 1374, 1377, 1379, 1386, 1398,
+ 1418, 198, 200, 208, 221, 231, 235, 242, 260, 275,
277, 284, 297, 309, 317, 318, 321, 327, 377, 383,
384, 385, 386, 406, 407, 408, 411, 414, 415, 418,
420, 421, 424, 428, 432, 433, 434, 436, 438, 440,
452, 457, 471, 472, 473, 474, 475, 478, 479, 484,
485, 486, 487, 488, 496, 497, 510, 580, 582, 597,
- 615, 621, 477, 300, 301, 441, 442, 313, 314, 635,
- 636, 299, 592, 622, 590, 634, 616, 435, 375, 1351,
- 1357, 378, 280, 304, 319, 1366, 607, 498, 226, 463,
- 289, 250, 1384, 1386, 210, 245, 229, 258, 273, 276,
+ 616, 622, 477, 300, 301, 441, 442, 313, 314, 636,
+ 637, 299, 592, 623, 590, 635, 617, 435, 375, 1352,
+ 1358, 378, 280, 304, 319, 1367, 608, 498, 226, 463,
+ 289, 250, 1385, 1387, 210, 245, 229, 258, 273, 276,
323, 388, 397, 426, 431, 295, 270, 243, 456, 240,
- 481, 513, 514, 515, 517, 392, 265, 430, 1347, 1375,
- 373, 570, 571, 315, 393, 0, 0, 0, 0, 1403,
- 1389, 522, 0, 1331, 1406, 1300, 1319, 1416, 1322, 1325,
- 1368, 1278, 1346, 413, 1316, 1271, 1304, 1273, 1311, 1274,
- 1302, 1333, 269, 1299, 1391, 1350, 1405, 363, 266, 1280,
- 1305, 427, 1321, 203, 1370, 483, 251, 374, 371, 577,
- 281, 272, 268, 249, 316, 382, 425, 512, 419, 1412,
- 367, 1356, 0, 493, 398, 0, 0, 0, 1335, 1395,
- 1344, 1382, 1330, 1369, 1288, 1355, 1407, 1317, 1365, 1408,
+ 481, 513, 514, 515, 517, 392, 265, 430, 1348, 1376,
+ 373, 570, 571, 315, 393, 0, 0, 0, 0, 1404,
+ 1390, 522, 0, 1332, 1407, 1301, 1320, 1417, 1323, 1326,
+ 1369, 1279, 1347, 413, 1317, 1272, 1305, 1274, 1312, 1275,
+ 1303, 1334, 269, 1300, 1392, 1351, 1406, 363, 266, 1281,
+ 1306, 427, 1322, 203, 1371, 483, 251, 374, 371, 577,
+ 281, 272, 268, 249, 316, 382, 425, 512, 419, 1413,
+ 367, 1357, 0, 493, 398, 0, 0, 0, 1336, 1396,
+ 1345, 1383, 1331, 1370, 1289, 1356, 1408, 1318, 1366, 1409,
322, 247, 324, 202, 410, 494, 285, 0, 0, 0,
- 0, 0, 944, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 945, 0, 0, 0, 0, 0, 0, 0,
0, 0, 237, 0, 0, 244, 0, 0, 0, 348,
- 357, 356, 337, 338, 340, 342, 347, 354, 360, 1313,
- 1362, 1402, 1314, 1364, 264, 320, 271, 263, 574, 1413,
- 1394, 1277, 1343, 1401, 1338, 0, 0, 228, 1404, 1337,
- 0, 1367, 0, 1419, 1272, 1358, 0, 1275, 1279, 1415,
- 1399, 1308, 274, 0, 0, 0, 0, 0, 0, 0,
- 1334, 1345, 1379, 1383, 1328, 0, 0, 0, 0, 0,
- 0, 2369, 0, 1306, 0, 1354, 0, 0, 0, 1284,
- 1276, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 1332, 0, 0, 0, 0, 1287, 0,
- 1307, 1380, 0, 1270, 296, 1281, 399, 256, 0, 450,
- 1387, 1398, 1329, 618, 1400, 1327, 1326, 1374, 1285, 1393,
- 1320, 362, 1283, 329, 197, 224, 0, 1318, 409, 458,
- 470, 1392, 1303, 1312, 252, 1310, 468, 423, 596, 232,
- 283, 455, 429, 466, 437, 286, 1353, 1372, 467, 369,
- 579, 447, 593, 619, 620, 262, 403, 605, 516, 613,
- 637, 225, 259, 417, 501, 599, 490, 394, 575, 576,
- 328, 489, 294, 201, 366, 625, 223, 476, 368, 241,
- 230, 581, 602, 298, 288, 453, 632, 212, 511, 591,
- 238, 480, 0, 0, 640, 246, 500, 214, 588, 499,
- 390, 325, 326, 213, 0, 454, 267, 292, 0, 0,
- 257, 412, 583, 584, 255, 641, 227, 612, 219, 1282,
- 611, 405, 578, 589, 391, 380, 218, 587, 389, 379,
- 333, 352, 353, 279, 306, 444, 372, 445, 305, 307,
- 401, 400, 402, 206, 600, 0, 207, 0, 495, 601,
- 642, 449, 211, 233, 234, 236, 1298, 278, 282, 290,
- 293, 302, 303, 312, 364, 416, 443, 439, 448, 1388,
- 573, 594, 606, 617, 623, 624, 626, 627, 628, 629,
- 630, 633, 631, 404, 310, 491, 332, 370, 1377, 1418,
- 422, 469, 239, 598, 492, 199, 1292, 1297, 1290, 0,
- 253, 254, 1359, 569, 1293, 1291, 1348, 1349, 1294, 1409,
- 1410, 1411, 1396, 643, 644, 645, 646, 647, 648, 649,
- 650, 651, 652, 653, 654, 655, 656, 657, 658, 659,
- 660, 638, 502, 508, 503, 504, 505, 506, 507, 0,
- 509, 1381, 1286, 0, 1295, 1296, 395, 1390, 585, 586,
- 661, 381, 482, 595, 334, 346, 349, 339, 358, 0,
- 359, 335, 336, 341, 343, 344, 345, 350, 351, 355,
- 361, 248, 209, 387, 396, 572, 311, 215, 216, 217,
- 518, 519, 520, 521, 609, 610, 614, 204, 459, 460,
- 461, 462, 291, 604, 308, 465, 464, 330, 331, 376,
- 446, 534, 536, 547, 551, 553, 555, 561, 564, 535,
- 537, 548, 552, 554, 556, 562, 565, 524, 526, 528,
- 530, 543, 542, 539, 567, 568, 545, 550, 529, 541,
- 546, 559, 566, 563, 523, 527, 531, 540, 558, 557,
- 538, 549, 560, 544, 532, 525, 533, 1352, 196, 220,
- 365, 1414, 451, 287, 639, 608, 603, 205, 222, 1289,
- 261, 1301, 1309, 0, 1315, 1323, 1324, 1336, 1339, 1340,
- 1341, 1342, 1360, 1361, 1363, 1371, 1373, 1376, 1378, 1385,
- 1397, 1417, 198, 200, 208, 221, 231, 235, 242, 260,
- 275, 277, 284, 297, 309, 317, 318, 321, 327, 377,
- 383, 384, 385, 386, 406, 407, 408, 411, 414, 415,
- 418, 420, 421, 424, 428, 432, 433, 434, 436, 438,
- 440, 452, 457, 471, 472, 473, 474, 475, 478, 479,
- 484, 485, 486, 487, 488, 496, 497, 510, 580, 582,
- 597, 615, 621, 477, 300, 301, 441, 442, 313, 314,
- 635, 636, 299, 592, 622, 590, 634, 616, 435, 375,
- 1351, 1357, 378, 280, 304, 319, 1366, 607, 498, 226,
- 463, 289, 250, 1384, 1386, 210, 245, 229, 258, 273,
- 276, 323, 388, 397, 426, 431, 295, 270, 243, 456,
- 240, 481, 513, 514, 515, 517, 392, 265, 430, 1347,
- 1375, 373, 570, 571, 315, 393, 0, 0, 0, 0,
- 1403, 1389, 522, 0, 1331, 1406, 1300, 1319, 1416, 1322,
- 1325, 1368, 1278, 1346, 413, 1316, 1271, 1304, 1273, 1311,
- 1274, 1302, 1333, 269, 1299, 1391, 1350, 1405, 363, 266,
- 1280, 1305, 427, 1321, 203, 1370, 483, 251, 374, 371,
- 577, 281, 272, 268, 249, 316, 382, 425, 512, 419,
- 1412, 367, 1356, 0, 493, 398, 0, 0, 0, 1335,
- 1395, 1344, 1382, 1330, 1369, 1288, 1355, 1407, 1317, 1365,
- 1408, 322, 247, 324, 202, 410, 494, 285, 0, 95,
- 0, 0, 0, 711, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 237, 0, 0, 244, 0, 0, 0,
- 348, 357, 356, 337, 338, 340, 342, 347, 354, 360,
- 1313, 1362, 1402, 1314, 1364, 264, 320, 271, 263, 574,
- 1413, 1394, 1277, 1343, 1401, 1338, 0, 0, 228, 1404,
- 1337, 0, 1367, 0, 1419, 1272, 1358, 0, 1275, 1279,
- 1415, 1399, 1308, 274, 0, 0, 0, 0, 0, 0,
- 0, 1334, 1345, 1379, 1383, 1328, 0, 0, 0, 0,
- 0, 0, 0, 0, 1306, 0, 1354, 0, 0, 0,
- 1284, 1276, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 1332, 0, 0, 0, 0, 1287,
- 0, 1307, 1380, 0, 1270, 296, 1281, 399, 256, 0,
- 450, 1387, 1398, 1329, 618, 1400, 1327, 1326, 1374, 1285,
- 1393, 1320, 362, 1283, 329, 197, 224, 0, 1318, 409,
- 458, 470, 1392, 1303, 1312, 252, 1310, 468, 423, 596,
- 232, 283, 455, 429, 466, 437, 286, 1353, 1372, 467,
- 369, 579, 447, 593, 619, 620, 262, 403, 605, 516,
- 613, 637, 225, 259, 417, 501, 599, 490, 394, 575,
- 576, 328, 489, 294, 201, 366, 625, 223, 476, 368,
- 241, 230, 581, 602, 298, 288, 453, 632, 212, 511,
- 591, 238, 480, 0, 0, 640, 246, 500, 214, 588,
+ 357, 356, 337, 338, 340, 342, 347, 354, 360, 1314,
+ 1363, 601, 1403, 1315, 1365, 264, 320, 271, 263, 574,
+ 1414, 1395, 1278, 1344, 1402, 1339, 0, 0, 228, 1405,
+ 1338, 0, 1368, 0, 1420, 1273, 1359, 0, 1276, 1280,
+ 1416, 1400, 1309, 274, 0, 0, 0, 0, 0, 0,
+ 0, 1335, 1346, 1380, 1384, 1329, 0, 0, 0, 0,
+ 0, 0, 2372, 0, 1307, 0, 1355, 0, 0, 0,
+ 1285, 1277, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 1333, 0, 0, 0, 0, 1288,
+ 0, 1308, 1381, 0, 1271, 296, 1282, 399, 256, 0,
+ 450, 1388, 1399, 1330, 619, 1401, 1328, 1327, 1375, 1286,
+ 1394, 1321, 362, 1284, 329, 197, 224, 0, 1319, 409,
+ 458, 470, 1393, 1304, 1313, 252, 1311, 468, 423, 596,
+ 232, 283, 455, 429, 466, 437, 286, 1354, 1373, 467,
+ 369, 579, 447, 593, 620, 621, 262, 403, 606, 516,
+ 614, 638, 225, 259, 417, 501, 599, 490, 394, 575,
+ 576, 328, 489, 294, 201, 366, 626, 223, 476, 368,
+ 241, 230, 581, 603, 298, 288, 453, 633, 212, 511,
+ 591, 238, 480, 0, 0, 641, 246, 500, 214, 588,
499, 390, 325, 326, 213, 0, 454, 267, 292, 0,
- 0, 257, 412, 583, 584, 255, 641, 227, 612, 219,
- 1282, 611, 405, 578, 589, 391, 380, 218, 587, 389,
+ 0, 257, 412, 583, 584, 255, 642, 227, 613, 219,
+ 1283, 612, 405, 578, 589, 391, 380, 218, 587, 389,
379, 333, 352, 353, 279, 306, 444, 372, 445, 305,
307, 401, 400, 402, 206, 600, 0, 207, 0, 495,
- 601, 642, 449, 211, 233, 234, 236, 1298, 278, 282,
+ 602, 643, 449, 211, 233, 234, 236, 1299, 278, 282,
290, 293, 302, 303, 312, 364, 416, 443, 439, 448,
- 1388, 573, 594, 606, 617, 623, 624, 626, 627, 628,
- 629, 630, 633, 631, 404, 310, 491, 332, 370, 1377,
- 1418, 422, 469, 239, 598, 492, 199, 1292, 1297, 1290,
- 0, 253, 254, 1359, 569, 1293, 1291, 1348, 1349, 1294,
- 1409, 1410, 1411, 1396, 643, 644, 645, 646, 647, 648,
- 649, 650, 651, 652, 653, 654, 655, 656, 657, 658,
- 659, 660, 638, 502, 508, 503, 504, 505, 506, 507,
- 0, 509, 1381, 1286, 0, 1295, 1296, 395, 1390, 585,
- 586, 661, 381, 482, 595, 334, 346, 349, 339, 358,
+ 1389, 573, 594, 607, 618, 624, 625, 627, 628, 629,
+ 630, 631, 634, 632, 404, 310, 491, 332, 370, 1378,
+ 1419, 422, 469, 239, 598, 492, 199, 1293, 1298, 1291,
+ 0, 253, 254, 1360, 569, 1294, 1292, 1349, 1350, 1295,
+ 1410, 1411, 1412, 1397, 644, 645, 646, 647, 648, 649,
+ 650, 651, 652, 653, 654, 655, 656, 657, 658, 659,
+ 660, 661, 639, 502, 508, 503, 504, 505, 506, 507,
+ 0, 509, 1382, 1287, 0, 1296, 1297, 395, 1391, 585,
+ 586, 662, 381, 482, 595, 334, 346, 349, 339, 358,
0, 359, 335, 336, 341, 343, 344, 345, 350, 351,
355, 361, 248, 209, 387, 396, 572, 311, 215, 216,
- 217, 518, 519, 520, 521, 609, 610, 614, 204, 459,
- 460, 461, 462, 291, 604, 308, 465, 464, 330, 331,
+ 217, 518, 519, 520, 521, 610, 611, 615, 204, 459,
+ 460, 461, 462, 291, 605, 308, 465, 464, 330, 331,
376, 446, 534, 536, 547, 551, 553, 555, 561, 564,
535, 537, 548, 552, 554, 556, 562, 565, 524, 526,
528, 530, 543, 542, 539, 567, 568, 545, 550, 529,
541, 546, 559, 566, 563, 523, 527, 531, 540, 558,
- 557, 538, 549, 560, 544, 532, 525, 533, 1352, 196,
- 220, 365, 1414, 451, 287, 639, 608, 603, 205, 222,
- 1289, 261, 1301, 1309, 0, 1315, 1323, 1324, 1336, 1339,
- 1340, 1341, 1342, 1360, 1361, 1363, 1371, 1373, 1376, 1378,
- 1385, 1397, 1417, 198, 200, 208, 221, 231, 235, 242,
+ 557, 538, 549, 560, 544, 532, 525, 533, 1353, 196,
+ 220, 365, 1415, 451, 287, 640, 609, 604, 205, 222,
+ 1290, 261, 1302, 1310, 0, 1316, 1324, 1325, 1337, 1340,
+ 1341, 1342, 1343, 1361, 1362, 1364, 1372, 1374, 1377, 1379,
+ 1386, 1398, 1418, 198, 200, 208, 221, 231, 235, 242,
260, 275, 277, 284, 297, 309, 317, 318, 321, 327,
377, 383, 384, 385, 386, 406, 407, 408, 411, 414,
415, 418, 420, 421, 424, 428, 432, 433, 434, 436,
438, 440, 452, 457, 471, 472, 473, 474, 475, 478,
479, 484, 485, 486, 487, 488, 496, 497, 510, 580,
- 582, 597, 615, 621, 477, 300, 301, 441, 442, 313,
- 314, 635, 636, 299, 592, 622, 590, 634, 616, 435,
- 375, 1351, 1357, 378, 280, 304, 319, 1366, 607, 498,
- 226, 463, 289, 250, 1384, 1386, 210, 245, 229, 258,
+ 582, 597, 616, 622, 477, 300, 301, 441, 442, 313,
+ 314, 636, 637, 299, 592, 623, 590, 635, 617, 435,
+ 375, 1352, 1358, 378, 280, 304, 319, 1367, 608, 498,
+ 226, 463, 289, 250, 1385, 1387, 210, 245, 229, 258,
273, 276, 323, 388, 397, 426, 431, 295, 270, 243,
456, 240, 481, 513, 514, 515, 517, 392, 265, 430,
- 1347, 1375, 373, 570, 571, 315, 393, 0, 0, 0,
- 0, 1403, 1389, 522, 0, 1331, 1406, 1300, 1319, 1416,
- 1322, 1325, 1368, 1278, 1346, 413, 1316, 1271, 1304, 1273,
- 1311, 1274, 1302, 1333, 269, 1299, 1391, 1350, 1405, 363,
- 266, 1280, 1305, 427, 1321, 203, 1370, 483, 251, 374,
+ 1348, 1376, 373, 570, 571, 315, 393, 0, 0, 0,
+ 0, 1404, 1390, 522, 0, 1332, 1407, 1301, 1320, 1417,
+ 1323, 1326, 1369, 1279, 1347, 413, 1317, 1272, 1305, 1274,
+ 1312, 1275, 1303, 1334, 269, 1300, 1392, 1351, 1406, 363,
+ 266, 1281, 1306, 427, 1322, 203, 1371, 483, 251, 374,
371, 577, 281, 272, 268, 249, 316, 382, 425, 512,
- 419, 1412, 367, 1356, 0, 493, 398, 0, 0, 0,
- 1335, 1395, 1344, 1382, 1330, 1369, 1288, 1355, 1407, 1317,
- 1365, 1408, 322, 247, 324, 202, 410, 494, 285, 0,
- 0, 0, 0, 0, 194, 0, 0, 0, 0, 0,
+ 419, 1413, 367, 1357, 0, 493, 398, 0, 0, 0,
+ 1336, 1396, 1345, 1383, 1331, 1370, 1289, 1356, 1408, 1318,
+ 1366, 1409, 322, 247, 324, 202, 410, 494, 285, 0,
+ 95, 0, 0, 0, 712, 0, 0, 0, 0, 0,
0, 0, 0, 0, 237, 0, 0, 244, 0, 0,
0, 348, 357, 356, 337, 338, 340, 342, 347, 354,
- 360, 1313, 1362, 1402, 1314, 1364, 264, 320, 271, 263,
- 574, 1413, 1394, 1277, 1343, 1401, 1338, 0, 0, 228,
- 1404, 1337, 0, 1367, 0, 1419, 1272, 1358, 0, 1275,
- 1279, 1415, 1399, 1308, 274, 0, 0, 0, 0, 0,
- 0, 0, 1334, 1345, 1379, 1383, 1328, 0, 0, 0,
- 0, 0, 0, 0, 0, 1306, 0, 1354, 0, 0,
- 0, 1284, 1276, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 1332, 0, 0, 0, 0,
- 1287, 0, 1307, 1380, 0, 1270, 296, 1281, 399, 256,
- 0, 450, 1387, 1398, 1329, 618, 1400, 1327, 1326, 1374,
- 1285, 1393, 1320, 362, 1283, 329, 197, 224, 0, 1318,
- 409, 458, 470, 1392, 1303, 1312, 252, 1310, 468, 423,
- 596, 232, 283, 455, 429, 466, 437, 286, 1353, 1372,
- 467, 369, 579, 447, 593, 619, 620, 262, 403, 605,
- 516, 613, 637, 225, 259, 417, 501, 599, 490, 394,
- 575, 576, 328, 489, 294, 201, 366, 625, 223, 476,
- 368, 241, 230, 581, 602, 298, 288, 453, 632, 212,
- 511, 591, 238, 480, 0, 0, 640, 246, 500, 214,
- 588, 499, 390, 325, 326, 213, 0, 454, 267, 292,
- 0, 0, 257, 412, 583, 584, 255, 641, 227, 612,
- 219, 1282, 611, 405, 578, 589, 391, 380, 218, 587,
- 389, 379, 333, 352, 353, 279, 306, 444, 372, 445,
- 305, 307, 401, 400, 402, 206, 600, 0, 207, 0,
- 495, 601, 642, 449, 211, 233, 234, 236, 1298, 278,
- 282, 290, 293, 302, 303, 312, 364, 416, 443, 439,
- 448, 1388, 573, 594, 606, 617, 623, 624, 626, 627,
- 628, 629, 630, 633, 631, 404, 310, 491, 332, 370,
- 1377, 1418, 422, 469, 239, 598, 492, 199, 1292, 1297,
- 1290, 0, 253, 254, 1359, 569, 1293, 1291, 1348, 1349,
- 1294, 1409, 1410, 1411, 1396, 643, 644, 645, 646, 647,
- 648, 649, 650, 651, 652, 653, 654, 655, 656, 657,
- 658, 659, 660, 638, 502, 508, 503, 504, 505, 506,
- 507, 0, 509, 1381, 1286, 0, 1295, 1296, 395, 1390,
- 585, 586, 661, 381, 482, 595, 334, 346, 349, 339,
- 358, 0, 359, 335, 336, 341, 343, 344, 345, 350,
- 351, 355, 361, 248, 209, 387, 396, 572, 311, 215,
- 216, 217, 518, 519, 520, 521, 609, 610, 614, 204,
- 459, 460, 461, 462, 291, 604, 308, 465, 464, 330,
- 331, 376, 446, 534, 536, 547, 551, 553, 555, 561,
- 564, 535, 537, 548, 552, 554, 556, 562, 565, 524,
- 526, 528, 530, 543, 542, 539, 567, 568, 545, 550,
- 529, 541, 546, 559, 566, 563, 523, 527, 531, 540,
- 558, 557, 538, 549, 560, 544, 532, 525, 533, 1352,
- 196, 220, 365, 1414, 451, 287, 639, 608, 603, 205,
- 222, 1289, 261, 1301, 1309, 0, 1315, 1323, 1324, 1336,
- 1339, 1340, 1341, 1342, 1360, 1361, 1363, 1371, 1373, 1376,
- 1378, 1385, 1397, 1417, 198, 200, 208, 221, 231, 235,
- 242, 260, 275, 277, 284, 297, 309, 317, 318, 321,
- 327, 377, 383, 384, 385, 386, 406, 407, 408, 411,
- 414, 415, 418, 420, 421, 424, 428, 432, 433, 434,
- 436, 438, 440, 452, 457, 471, 472, 473, 474, 475,
- 478, 479, 484, 485, 486, 487, 488, 496, 497, 510,
- 580, 582, 597, 615, 621, 477, 300, 301, 441, 442,
- 313, 314, 635, 636, 299, 592, 622, 590, 634, 616,
- 435, 375, 1351, 1357, 378, 280, 304, 319, 1366, 607,
- 498, 226, 463, 289, 250, 1384, 1386, 210, 245, 229,
- 258, 273, 276, 323, 388, 397, 426, 431, 295, 270,
- 243, 456, 240, 481, 513, 514, 515, 517, 392, 265,
- 430, 1347, 1375, 373, 570, 571, 315, 393, 0, 0,
- 0, 0, 1403, 1389, 522, 0, 1331, 1406, 1300, 1319,
- 1416, 1322, 1325, 1368, 1278, 1346, 413, 1316, 1271, 1304,
- 1273, 1311, 1274, 1302, 1333, 269, 1299, 1391, 1350, 1405,
- 363, 266, 1280, 1305, 427, 1321, 203, 1370, 483, 251,
- 374, 371, 577, 281, 272, 268, 249, 316, 382, 425,
- 512, 419, 1412, 367, 1356, 0, 493, 398, 0, 0,
- 0, 1335, 1395, 1344, 1382, 1330, 1369, 1288, 1355, 1407,
- 1317, 1365, 1408, 322, 247, 324, 202, 410, 494, 285,
- 0, 0, 0, 0, 0, 711, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 237, 0, 0, 244, 0,
- 0, 0, 348, 357, 356, 337, 338, 340, 342, 347,
- 354, 360, 1313, 1362, 1402, 1314, 1364, 264, 320, 271,
- 263, 574, 1413, 1394, 1277, 1343, 1401, 1338, 0, 0,
- 228, 1404, 1337, 0, 1367, 0, 1419, 1272, 1358, 0,
- 1275, 1279, 1415, 1399, 1308, 274, 0, 0, 0, 0,
- 0, 0, 0, 1334, 1345, 1379, 1383, 1328, 0, 0,
- 0, 0, 0, 0, 0, 0, 1306, 0, 1354, 0,
- 0, 0, 1284, 1276, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 1332, 0, 0, 0,
- 0, 1287, 0, 1307, 1380, 0, 1270, 296, 1281, 399,
- 256, 0, 450, 1387, 1398, 1329, 618, 1400, 1327, 1326,
- 1374, 1285, 1393, 1320, 362, 1283, 329, 197, 224, 0,
- 1318, 409, 458, 470, 1392, 1303, 1312, 252, 1310, 468,
- 423, 596, 232, 283, 455, 429, 466, 437, 286, 1353,
- 1372, 467, 369, 579, 447, 593, 619, 620, 262, 403,
- 605, 516, 613, 637, 225, 259, 417, 501, 599, 490,
- 394, 575, 576, 328, 489, 294, 201, 366, 625, 223,
- 476, 368, 241, 230, 581, 602, 298, 288, 453, 632,
- 212, 511, 591, 238, 480, 0, 0, 640, 246, 500,
+ 360, 1314, 1363, 601, 1403, 1315, 1365, 264, 320, 271,
+ 263, 574, 1414, 1395, 1278, 1344, 1402, 1339, 0, 0,
+ 228, 1405, 1338, 0, 1368, 0, 1420, 1273, 1359, 0,
+ 1276, 1280, 1416, 1400, 1309, 274, 0, 0, 0, 0,
+ 0, 0, 0, 1335, 1346, 1380, 1384, 1329, 0, 0,
+ 0, 0, 0, 0, 0, 0, 1307, 0, 1355, 0,
+ 0, 0, 1285, 1277, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 1333, 0, 0, 0,
+ 0, 1288, 0, 1308, 1381, 0, 1271, 296, 1282, 399,
+ 256, 0, 450, 1388, 1399, 1330, 619, 1401, 1328, 1327,
+ 1375, 1286, 1394, 1321, 362, 1284, 329, 197, 224, 0,
+ 1319, 409, 458, 470, 1393, 1304, 1313, 252, 1311, 468,
+ 423, 596, 232, 283, 455, 429, 466, 437, 286, 1354,
+ 1373, 467, 369, 579, 447, 593, 620, 621, 262, 403,
+ 606, 516, 614, 638, 225, 259, 417, 501, 599, 490,
+ 394, 575, 576, 328, 489, 294, 201, 366, 626, 223,
+ 476, 368, 241, 230, 581, 603, 298, 288, 453, 633,
+ 212, 511, 591, 238, 480, 0, 0, 641, 246, 500,
214, 588, 499, 390, 325, 326, 213, 0, 454, 267,
- 292, 0, 0, 257, 412, 583, 584, 255, 641, 227,
- 612, 219, 1282, 611, 405, 578, 589, 391, 380, 218,
+ 292, 0, 0, 257, 412, 583, 584, 255, 642, 227,
+ 613, 219, 1283, 612, 405, 578, 589, 391, 380, 218,
587, 389, 379, 333, 352, 353, 279, 306, 444, 372,
445, 305, 307, 401, 400, 402, 206, 600, 0, 207,
- 0, 495, 601, 642, 449, 211, 233, 234, 236, 1298,
+ 0, 495, 602, 643, 449, 211, 233, 234, 236, 1299,
278, 282, 290, 293, 302, 303, 312, 364, 416, 443,
- 439, 448, 1388, 573, 594, 606, 617, 623, 624, 626,
- 627, 628, 629, 630, 633, 631, 404, 310, 491, 332,
- 370, 1377, 1418, 422, 469, 239, 598, 492, 199, 1292,
- 1297, 1290, 0, 253, 254, 1359, 569, 1293, 1291, 1348,
- 1349, 1294, 1409, 1410, 1411, 1396, 643, 644, 645, 646,
- 647, 648, 649, 650, 651, 652, 653, 654, 655, 656,
- 657, 658, 659, 660, 638, 502, 508, 503, 504, 505,
- 506, 507, 0, 509, 1381, 1286, 0, 1295, 1296, 395,
- 1390, 585, 586, 661, 381, 482, 595, 334, 346, 349,
+ 439, 448, 1389, 573, 594, 607, 618, 624, 625, 627,
+ 628, 629, 630, 631, 634, 632, 404, 310, 491, 332,
+ 370, 1378, 1419, 422, 469, 239, 598, 492, 199, 1293,
+ 1298, 1291, 0, 253, 254, 1360, 569, 1294, 1292, 1349,
+ 1350, 1295, 1410, 1411, 1412, 1397, 644, 645, 646, 647,
+ 648, 649, 650, 651, 652, 653, 654, 655, 656, 657,
+ 658, 659, 660, 661, 639, 502, 508, 503, 504, 505,
+ 506, 507, 0, 509, 1382, 1287, 0, 1296, 1297, 395,
+ 1391, 585, 586, 662, 381, 482, 595, 334, 346, 349,
339, 358, 0, 359, 335, 336, 341, 343, 344, 345,
350, 351, 355, 361, 248, 209, 387, 396, 572, 311,
- 215, 216, 217, 518, 519, 520, 521, 609, 610, 614,
- 204, 459, 460, 461, 462, 291, 604, 308, 465, 464,
+ 215, 216, 217, 518, 519, 520, 521, 610, 611, 615,
+ 204, 459, 460, 461, 462, 291, 605, 308, 465, 464,
330, 331, 376, 446, 534, 536, 547, 551, 553, 555,
561, 564, 535, 537, 548, 552, 554, 556, 562, 565,
524, 526, 528, 530, 543, 542, 539, 567, 568, 545,
550, 529, 541, 546, 559, 566, 563, 523, 527, 531,
540, 558, 557, 538, 549, 560, 544, 532, 525, 533,
- 1352, 196, 220, 365, 1414, 451, 287, 639, 608, 603,
- 205, 222, 1289, 261, 1301, 1309, 0, 1315, 1323, 1324,
- 1336, 1339, 1340, 1341, 1342, 1360, 1361, 1363, 1371, 1373,
- 1376, 1378, 1385, 1397, 1417, 198, 200, 208, 221, 231,
+ 1353, 196, 220, 365, 1415, 451, 287, 640, 609, 604,
+ 205, 222, 1290, 261, 1302, 1310, 0, 1316, 1324, 1325,
+ 1337, 1340, 1341, 1342, 1343, 1361, 1362, 1364, 1372, 1374,
+ 1377, 1379, 1386, 1398, 1418, 198, 200, 208, 221, 231,
235, 242, 260, 275, 277, 284, 297, 309, 317, 318,
321, 327, 377, 383, 384, 385, 386, 406, 407, 408,
411, 414, 415, 418, 420, 421, 424, 428, 432, 433,
434, 436, 438, 440, 452, 457, 471, 472, 473, 474,
475, 478, 479, 484, 485, 486, 487, 488, 496, 497,
- 510, 580, 582, 597, 615, 621, 477, 300, 301, 441,
- 442, 313, 314, 635, 636, 299, 592, 622, 590, 634,
- 616, 435, 375, 1351, 1357, 378, 280, 304, 319, 1366,
- 607, 498, 226, 463, 289, 250, 1384, 1386, 210, 245,
+ 510, 580, 582, 597, 616, 622, 477, 300, 301, 441,
+ 442, 313, 314, 636, 637, 299, 592, 623, 590, 635,
+ 617, 435, 375, 1352, 1358, 378, 280, 304, 319, 1367,
+ 608, 498, 226, 463, 289, 250, 1385, 1387, 210, 245,
229, 258, 273, 276, 323, 388, 397, 426, 431, 295,
270, 243, 456, 240, 481, 513, 514, 515, 517, 392,
- 265, 430, 1347, 1375, 373, 570, 571, 315, 393, 0,
- 0, 0, 0, 1403, 1389, 522, 0, 1331, 1406, 1300,
- 1319, 1416, 1322, 1325, 1368, 1278, 1346, 413, 1316, 1271,
- 1304, 1273, 1311, 1274, 1302, 1333, 269, 1299, 1391, 1350,
- 1405, 363, 266, 1280, 1305, 427, 1321, 203, 1370, 483,
+ 265, 430, 1348, 1376, 373, 570, 571, 315, 393, 0,
+ 0, 0, 0, 1404, 1390, 522, 0, 1332, 1407, 1301,
+ 1320, 1417, 1323, 1326, 1369, 1279, 1347, 413, 1317, 1272,
+ 1305, 1274, 1312, 1275, 1303, 1334, 269, 1300, 1392, 1351,
+ 1406, 363, 266, 1281, 1306, 427, 1322, 203, 1371, 483,
251, 374, 371, 577, 281, 272, 268, 249, 316, 382,
- 425, 512, 419, 1412, 367, 1356, 0, 493, 398, 0,
- 0, 0, 1335, 1395, 1344, 1382, 1330, 1369, 1288, 1355,
- 1407, 1317, 1365, 1408, 322, 247, 324, 202, 410, 494,
- 285, 0, 0, 0, 0, 0, 944, 0, 0, 0,
+ 425, 512, 419, 1413, 367, 1357, 0, 493, 398, 0,
+ 0, 0, 1336, 1396, 1345, 1383, 1331, 1370, 1289, 1356,
+ 1408, 1318, 1366, 1409, 322, 247, 324, 202, 410, 494,
+ 285, 0, 0, 0, 0, 0, 194, 0, 0, 0,
0, 0, 0, 0, 0, 0, 237, 0, 0, 244,
0, 0, 0, 348, 357, 356, 337, 338, 340, 342,
- 347, 354, 360, 1313, 1362, 1402, 1314, 1364, 264, 320,
- 271, 263, 574, 1413, 1394, 1277, 1343, 1401, 1338, 0,
- 0, 228, 1404, 1337, 0, 1367, 0, 1419, 1272, 1358,
- 0, 1275, 1279, 1415, 1399, 1308, 274, 0, 0, 0,
- 0, 0, 0, 0, 1334, 1345, 1379, 1383, 1328, 0,
- 0, 0, 0, 0, 0, 0, 0, 1306, 0, 1354,
- 0, 0, 0, 1284, 1276, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 1332, 0, 0,
- 0, 0, 1287, 0, 1307, 1380, 0, 1270, 296, 1281,
- 399, 256, 0, 450, 1387, 1398, 1329, 618, 1400, 1327,
- 1326, 1374, 1285, 1393, 1320, 362, 1283, 329, 197, 224,
- 0, 1318, 409, 458, 470, 1392, 1303, 1312, 252, 1310,
- 468, 423, 596, 232, 283, 455, 429, 466, 437, 286,
- 1353, 1372, 467, 369, 579, 447, 593, 619, 620, 262,
- 403, 605, 516, 613, 637, 225, 259, 417, 501, 599,
- 490, 394, 575, 576, 328, 489, 294, 201, 366, 625,
- 223, 476, 368, 241, 230, 581, 602, 298, 288, 453,
- 632, 212, 511, 591, 238, 480, 0, 0, 640, 246,
- 500, 214, 588, 499, 390, 325, 326, 213, 0, 454,
- 267, 292, 0, 0, 257, 412, 583, 584, 255, 641,
- 227, 612, 219, 1282, 611, 405, 578, 589, 391, 380,
- 218, 587, 389, 379, 333, 352, 353, 279, 306, 444,
- 372, 445, 305, 307, 401, 400, 402, 206, 600, 0,
- 207, 0, 495, 601, 642, 449, 211, 233, 234, 236,
- 1298, 278, 282, 290, 293, 302, 303, 312, 364, 416,
- 443, 439, 448, 1388, 573, 594, 606, 617, 623, 624,
- 626, 627, 628, 629, 630, 633, 631, 404, 310, 491,
- 332, 370, 1377, 1418, 422, 469, 239, 598, 492, 199,
- 1292, 1297, 1290, 0, 253, 254, 1359, 569, 1293, 1291,
- 1348, 1349, 1294, 1409, 1410, 1411, 1396, 643, 644, 645,
- 646, 647, 648, 649, 650, 651, 652, 653, 654, 655,
- 656, 657, 658, 659, 660, 638, 502, 508, 503, 504,
- 505, 506, 507, 0, 509, 1381, 1286, 0, 1295, 1296,
- 395, 1390, 585, 586, 661, 381, 482, 595, 334, 346,
- 349, 339, 358, 0, 359, 335, 336, 341, 343, 344,
- 345, 350, 351, 355, 361, 248, 209, 387, 396, 572,
- 311, 215, 216, 217, 518, 519, 520, 521, 609, 610,
- 614, 204, 459, 460, 461, 462, 291, 604, 308, 465,
- 464, 330, 331, 376, 446, 534, 536, 547, 551, 553,
- 555, 561, 564, 535, 537, 548, 552, 554, 556, 562,
- 565, 524, 526, 528, 530, 543, 542, 539, 567, 568,
- 545, 550, 529, 541, 546, 559, 566, 563, 523, 527,
- 531, 540, 558, 557, 538, 549, 560, 544, 532, 525,
- 533, 1352, 196, 220, 365, 1414, 451, 287, 639, 608,
- 603, 205, 222, 1289, 261, 1301, 1309, 0, 1315, 1323,
- 1324, 1336, 1339, 1340, 1341, 1342, 1360, 1361, 1363, 1371,
- 1373, 1376, 1378, 1385, 1397, 1417, 198, 200, 208, 221,
- 231, 235, 242, 260, 275, 277, 284, 297, 309, 317,
- 318, 321, 327, 377, 383, 384, 385, 386, 406, 407,
- 408, 411, 414, 415, 418, 420, 421, 424, 428, 432,
- 433, 434, 436, 438, 440, 452, 457, 471, 472, 473,
- 474, 475, 478, 479, 484, 485, 486, 487, 488, 496,
- 497, 510, 580, 582, 597, 615, 621, 477, 300, 301,
- 441, 442, 313, 314, 635, 636, 299, 592, 622, 590,
- 634, 616, 435, 375, 1351, 1357, 378, 280, 304, 319,
- 1366, 607, 498, 226, 463, 289, 250, 1384, 1386, 210,
- 245, 229, 258, 273, 276, 323, 388, 397, 426, 431,
- 295, 270, 243, 456, 240, 481, 513, 514, 515, 517,
- 392, 265, 430, 1347, 1375, 373, 570, 571, 315, 393,
- 0, 0, 0, 0, 0, 0, 522, 0, 764, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 413, 0,
- 0, 0, 0, 751, 0, 0, 0, 269, 756, 0,
- 0, 0, 363, 266, 0, 0, 427, 0, 203, 0,
- 483, 251, 374, 371, 577, 281, 272, 268, 249, 316,
- 382, 425, 512, 419, 763, 367, 0, 0, 493, 398,
- 0, 0, 0, 0, 0, 758, 759, 0, 0, 0,
- 0, 0, 0, 0, 0, 322, 247, 324, 202, 410,
- 494, 285, 0, 95, 0, 0, 1008, 944, 735, 910,
- 948, 1009, 961, 962, 963, 949, 0, 237, 950, 951,
- 244, 952, 0, 909, 794, 796, 795, 859, 860, 861,
- 862, 863, 864, 865, 792, 957, 964, 965, 0, 264,
- 320, 271, 263, 574, 0, 0, 2191, 2192, 2193, 0,
- 0, 0, 228, 0, 0, 0, 0, 0, 0, 0,
- 731, 748, 0, 762, 0, 0, 0, 274, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 745, 746, 0, 0, 0, 0,
- 904, 0, 747, 0, 0, 755, 966, 967, 968, 969,
- 970, 971, 972, 973, 974, 975, 976, 977, 978, 979,
- 980, 981, 982, 983, 984, 985, 986, 987, 988, 989,
- 990, 991, 992, 993, 994, 995, 996, 997, 998, 999,
- 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 757, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 296,
- 0, 399, 256, 0, 450, 903, 0, 0, 618, 0,
- 0, 901, 0, 0, 0, 0, 362, 0, 329, 197,
- 224, 0, 0, 409, 458, 470, 0, 0, 0, 954,
- 0, 468, 423, 596, 232, 283, 455, 429, 466, 437,
- 286, 0, 0, 467, 369, 579, 447, 593, 619, 620,
- 262, 403, 605, 516, 613, 637, 225, 259, 417, 501,
+ 347, 354, 360, 1314, 1363, 601, 1403, 1315, 1365, 264,
+ 320, 271, 263, 574, 1414, 1395, 1278, 1344, 1402, 1339,
+ 0, 0, 228, 1405, 1338, 0, 1368, 0, 1420, 1273,
+ 1359, 0, 1276, 1280, 1416, 1400, 1309, 274, 0, 0,
+ 0, 0, 0, 0, 0, 1335, 1346, 1380, 1384, 1329,
+ 0, 0, 0, 0, 0, 0, 0, 0, 1307, 0,
+ 1355, 0, 0, 0, 1285, 1277, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 1333, 0,
+ 0, 0, 0, 1288, 0, 1308, 1381, 0, 1271, 296,
+ 1282, 399, 256, 0, 450, 1388, 1399, 1330, 619, 1401,
+ 1328, 1327, 1375, 1286, 1394, 1321, 362, 1284, 329, 197,
+ 224, 0, 1319, 409, 458, 470, 1393, 1304, 1313, 252,
+ 1311, 468, 423, 596, 232, 283, 455, 429, 466, 437,
+ 286, 1354, 1373, 467, 369, 579, 447, 593, 620, 621,
+ 262, 403, 606, 516, 614, 638, 225, 259, 417, 501,
599, 490, 394, 575, 576, 328, 489, 294, 201, 366,
- 625, 223, 476, 368, 241, 230, 581, 602, 298, 288,
- 453, 632, 212, 511, 591, 238, 480, 0, 0, 640,
+ 626, 223, 476, 368, 241, 230, 581, 603, 298, 288,
+ 453, 633, 212, 511, 591, 238, 480, 0, 0, 641,
246, 500, 214, 588, 499, 390, 325, 326, 213, 0,
- 454, 267, 292, 0, 0, 257, 412, 955, 956, 255,
- 641, 800, 612, 219, 0, 611, 405, 578, 589, 391,
- 380, 218, 587, 389, 379, 333, 808, 809, 279, 306,
- 885, 884, 883, 305, 307, 881, 882, 880, 206, 600,
- 0, 207, 0, 495, 601, 642, 449, 211, 233, 234,
- 236, 0, 278, 282, 290, 293, 302, 303, 312, 364,
- 416, 443, 439, 448, 0, 573, 594, 606, 617, 623,
- 624, 626, 627, 628, 629, 630, 633, 631, 404, 310,
- 491, 332, 370, 0, 0, 422, 469, 239, 598, 492,
- 891, 913, 902, 768, 769, 892, 893, 917, 894, 771,
- 772, 914, 915, 765, 766, 770, 916, 918, 643, 644,
- 645, 646, 647, 648, 649, 650, 651, 652, 653, 654,
- 655, 656, 657, 658, 659, 660, 638, 502, 508, 503,
- 504, 505, 506, 507, 0, 509, 905, 754, 753, 0,
- 760, 761, 0, 790, 791, 793, 797, 798, 799, 810,
- 857, 858, 866, 868, 869, 867, 870, 871, 872, 875,
- 876, 877, 878, 873, 874, 879, 773, 777, 774, 775,
- 776, 788, 778, 779, 780, 781, 782, 783, 784, 785,
- 786, 787, 789, 928, 929, 930, 931, 932, 933, 803,
- 807, 806, 804, 805, 801, 802, 829, 828, 830, 831,
- 832, 833, 834, 835, 837, 836, 838, 839, 840, 841,
- 842, 843, 811, 812, 815, 816, 814, 813, 817, 826,
- 827, 818, 819, 820, 821, 822, 823, 825, 824, 844,
- 845, 846, 847, 848, 850, 849, 853, 854, 852, 851,
- 856, 855, 752, 196, 220, 365, 0, 451, 287, 639,
- 608, 603, 205, 222, 919, 261, 920, 0, 0, 924,
- 0, 0, 0, 926, 925, 0, 927, 889, 888, 0,
- 0, 921, 922, 0, 923, 0, 0, 198, 200, 208,
+ 454, 267, 292, 0, 0, 257, 412, 583, 584, 255,
+ 642, 227, 613, 219, 1283, 612, 405, 578, 589, 391,
+ 380, 218, 587, 389, 379, 333, 352, 353, 279, 306,
+ 444, 372, 445, 305, 307, 401, 400, 402, 206, 600,
+ 0, 207, 0, 495, 602, 643, 449, 211, 233, 234,
+ 236, 1299, 278, 282, 290, 293, 302, 303, 312, 364,
+ 416, 443, 439, 448, 1389, 573, 594, 607, 618, 624,
+ 625, 627, 628, 629, 630, 631, 634, 632, 404, 310,
+ 491, 332, 370, 1378, 1419, 422, 469, 239, 598, 492,
+ 199, 1293, 1298, 1291, 0, 253, 254, 1360, 569, 1294,
+ 1292, 1349, 1350, 1295, 1410, 1411, 1412, 1397, 644, 645,
+ 646, 647, 648, 649, 650, 651, 652, 653, 654, 655,
+ 656, 657, 658, 659, 660, 661, 639, 502, 508, 503,
+ 504, 505, 506, 507, 0, 509, 1382, 1287, 0, 1296,
+ 1297, 395, 1391, 585, 586, 662, 381, 482, 595, 334,
+ 346, 349, 339, 358, 0, 359, 335, 336, 341, 343,
+ 344, 345, 350, 351, 355, 361, 248, 209, 387, 396,
+ 572, 311, 215, 216, 217, 518, 519, 520, 521, 610,
+ 611, 615, 204, 459, 460, 461, 462, 291, 605, 308,
+ 465, 464, 330, 331, 376, 446, 534, 536, 547, 551,
+ 553, 555, 561, 564, 535, 537, 548, 552, 554, 556,
+ 562, 565, 524, 526, 528, 530, 543, 542, 539, 567,
+ 568, 545, 550, 529, 541, 546, 559, 566, 563, 523,
+ 527, 531, 540, 558, 557, 538, 549, 560, 544, 532,
+ 525, 533, 1353, 196, 220, 365, 1415, 451, 287, 640,
+ 609, 604, 205, 222, 1290, 261, 1302, 1310, 0, 1316,
+ 1324, 1325, 1337, 1340, 1341, 1342, 1343, 1361, 1362, 1364,
+ 1372, 1374, 1377, 1379, 1386, 1398, 1418, 198, 200, 208,
221, 231, 235, 242, 260, 275, 277, 284, 297, 309,
317, 318, 321, 327, 377, 383, 384, 385, 386, 406,
407, 408, 411, 414, 415, 418, 420, 421, 424, 428,
432, 433, 434, 436, 438, 440, 452, 457, 471, 472,
473, 474, 475, 478, 479, 484, 485, 486, 487, 488,
- 496, 497, 510, 580, 582, 597, 615, 621, 477, 934,
- 935, 936, 937, 938, 939, 940, 941, 299, 592, 622,
- 590, 634, 616, 435, 375, 0, 0, 378, 280, 304,
- 319, 0, 607, 498, 226, 463, 289, 250, 959, 0,
+ 496, 497, 510, 580, 582, 597, 616, 622, 477, 300,
+ 301, 441, 442, 313, 314, 636, 637, 299, 592, 623,
+ 590, 635, 617, 435, 375, 1352, 1358, 378, 280, 304,
+ 319, 1367, 608, 498, 226, 463, 289, 250, 1385, 1387,
210, 245, 229, 258, 273, 276, 323, 388, 397, 426,
431, 295, 270, 243, 456, 240, 481, 513, 514, 515,
- 517, 392, 265, 430, 393, 0, 373, 570, 571, 315,
- 0, 522, 0, 764, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 413, 0, 0, 0, 0, 751, 0,
- 0, 0, 269, 756, 0, 0, 0, 363, 266, 0,
+ 517, 392, 265, 430, 1348, 1376, 373, 570, 571, 315,
+ 393, 0, 0, 0, 0, 1404, 1390, 522, 0, 1332,
+ 1407, 1301, 1320, 1417, 1323, 1326, 1369, 1279, 1347, 413,
+ 1317, 1272, 1305, 1274, 1312, 1275, 1303, 1334, 269, 1300,
+ 1392, 1351, 1406, 363, 266, 1281, 1306, 427, 1322, 203,
+ 1371, 483, 251, 374, 371, 577, 281, 272, 268, 249,
+ 316, 382, 425, 512, 419, 1413, 367, 1357, 0, 493,
+ 398, 0, 0, 0, 1336, 1396, 1345, 1383, 1331, 1370,
+ 1289, 1356, 1408, 1318, 1366, 1409, 322, 247, 324, 202,
+ 410, 494, 285, 0, 0, 0, 0, 0, 712, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 237, 0,
+ 0, 244, 0, 0, 0, 348, 357, 356, 337, 338,
+ 340, 342, 347, 354, 360, 1314, 1363, 601, 1403, 1315,
+ 1365, 264, 320, 271, 263, 574, 1414, 1395, 1278, 1344,
+ 1402, 1339, 0, 0, 228, 1405, 1338, 0, 1368, 0,
+ 1420, 1273, 1359, 0, 1276, 1280, 1416, 1400, 1309, 274,
+ 0, 0, 0, 0, 0, 0, 0, 1335, 1346, 1380,
+ 1384, 1329, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1307, 0, 1355, 0, 0, 0, 1285, 1277, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1333, 0, 0, 0, 0, 1288, 0, 1308, 1381, 0,
+ 1271, 296, 1282, 399, 256, 0, 450, 1388, 1399, 1330,
+ 619, 1401, 1328, 1327, 1375, 1286, 1394, 1321, 362, 1284,
+ 329, 197, 224, 0, 1319, 409, 458, 470, 1393, 1304,
+ 1313, 252, 1311, 468, 423, 596, 232, 283, 455, 429,
+ 466, 437, 286, 1354, 1373, 467, 369, 579, 447, 593,
+ 620, 621, 262, 403, 606, 516, 614, 638, 225, 259,
+ 417, 501, 599, 490, 394, 575, 576, 328, 489, 294,
+ 201, 366, 626, 223, 476, 368, 241, 230, 581, 603,
+ 298, 288, 453, 633, 212, 511, 591, 238, 480, 0,
+ 0, 641, 246, 500, 214, 588, 499, 390, 325, 326,
+ 213, 0, 454, 267, 292, 0, 0, 257, 412, 583,
+ 584, 255, 642, 227, 613, 219, 1283, 612, 405, 578,
+ 589, 391, 380, 218, 587, 389, 379, 333, 352, 353,
+ 279, 306, 444, 372, 445, 305, 307, 401, 400, 402,
+ 206, 600, 0, 207, 0, 495, 602, 643, 449, 211,
+ 233, 234, 236, 1299, 278, 282, 290, 293, 302, 303,
+ 312, 364, 416, 443, 439, 448, 1389, 573, 594, 607,
+ 618, 624, 625, 627, 628, 629, 630, 631, 634, 632,
+ 404, 310, 491, 332, 370, 1378, 1419, 422, 469, 239,
+ 598, 492, 199, 1293, 1298, 1291, 0, 253, 254, 1360,
+ 569, 1294, 1292, 1349, 1350, 1295, 1410, 1411, 1412, 1397,
+ 644, 645, 646, 647, 648, 649, 650, 651, 652, 653,
+ 654, 655, 656, 657, 658, 659, 660, 661, 639, 502,
+ 508, 503, 504, 505, 506, 507, 0, 509, 1382, 1287,
+ 0, 1296, 1297, 395, 1391, 585, 586, 662, 381, 482,
+ 595, 334, 346, 349, 339, 358, 0, 359, 335, 336,
+ 341, 343, 344, 345, 350, 351, 355, 361, 248, 209,
+ 387, 396, 572, 311, 215, 216, 217, 518, 519, 520,
+ 521, 610, 611, 615, 204, 459, 460, 461, 462, 291,
+ 605, 308, 465, 464, 330, 331, 376, 446, 534, 536,
+ 547, 551, 553, 555, 561, 564, 535, 537, 548, 552,
+ 554, 556, 562, 565, 524, 526, 528, 530, 543, 542,
+ 539, 567, 568, 545, 550, 529, 541, 546, 559, 566,
+ 563, 523, 527, 531, 540, 558, 557, 538, 549, 560,
+ 544, 532, 525, 533, 1353, 196, 220, 365, 1415, 451,
+ 287, 640, 609, 604, 205, 222, 1290, 261, 1302, 1310,
+ 0, 1316, 1324, 1325, 1337, 1340, 1341, 1342, 1343, 1361,
+ 1362, 1364, 1372, 1374, 1377, 1379, 1386, 1398, 1418, 198,
+ 200, 208, 221, 231, 235, 242, 260, 275, 277, 284,
+ 297, 309, 317, 318, 321, 327, 377, 383, 384, 385,
+ 386, 406, 407, 408, 411, 414, 415, 418, 420, 421,
+ 424, 428, 432, 433, 434, 436, 438, 440, 452, 457,
+ 471, 472, 473, 474, 475, 478, 479, 484, 485, 486,
+ 487, 488, 496, 497, 510, 580, 582, 597, 616, 622,
+ 477, 300, 301, 441, 442, 313, 314, 636, 637, 299,
+ 592, 623, 590, 635, 617, 435, 375, 1352, 1358, 378,
+ 280, 304, 319, 1367, 608, 498, 226, 463, 289, 250,
+ 1385, 1387, 210, 245, 229, 258, 273, 276, 323, 388,
+ 397, 426, 431, 295, 270, 243, 456, 240, 481, 513,
+ 514, 515, 517, 392, 265, 430, 1348, 1376, 373, 570,
+ 571, 315, 393, 0, 0, 0, 0, 1404, 1390, 522,
+ 0, 1332, 1407, 1301, 1320, 1417, 1323, 1326, 1369, 1279,
+ 1347, 413, 1317, 1272, 1305, 1274, 1312, 1275, 1303, 1334,
+ 269, 1300, 1392, 1351, 1406, 363, 266, 1281, 1306, 427,
+ 1322, 203, 1371, 483, 251, 374, 371, 577, 281, 272,
+ 268, 249, 316, 382, 425, 512, 419, 1413, 367, 1357,
+ 0, 493, 398, 0, 0, 0, 1336, 1396, 1345, 1383,
+ 1331, 1370, 1289, 1356, 1408, 1318, 1366, 1409, 322, 247,
+ 324, 202, 410, 494, 285, 0, 0, 0, 0, 0,
+ 945, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 237, 0, 0, 244, 0, 0, 0, 348, 357, 356,
+ 337, 338, 340, 342, 347, 354, 360, 1314, 1363, 601,
+ 1403, 1315, 1365, 264, 320, 271, 263, 574, 1414, 1395,
+ 1278, 1344, 1402, 1339, 0, 0, 228, 1405, 1338, 0,
+ 1368, 0, 1420, 1273, 1359, 0, 1276, 1280, 1416, 1400,
+ 1309, 274, 0, 0, 0, 0, 0, 0, 0, 1335,
+ 1346, 1380, 1384, 1329, 0, 0, 0, 0, 0, 0,
+ 0, 0, 1307, 0, 1355, 0, 0, 0, 1285, 1277,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 1333, 0, 0, 0, 0, 1288, 0, 1308,
+ 1381, 0, 1271, 296, 1282, 399, 256, 0, 450, 1388,
+ 1399, 1330, 619, 1401, 1328, 1327, 1375, 1286, 1394, 1321,
+ 362, 1284, 329, 197, 224, 0, 1319, 409, 458, 470,
+ 1393, 1304, 1313, 252, 1311, 468, 423, 596, 232, 283,
+ 455, 429, 466, 437, 286, 1354, 1373, 467, 369, 579,
+ 447, 593, 620, 621, 262, 403, 606, 516, 614, 638,
+ 225, 259, 417, 501, 599, 490, 394, 575, 576, 328,
+ 489, 294, 201, 366, 626, 223, 476, 368, 241, 230,
+ 581, 603, 298, 288, 453, 633, 212, 511, 591, 238,
+ 480, 0, 0, 641, 246, 500, 214, 588, 499, 390,
+ 325, 326, 213, 0, 454, 267, 292, 0, 0, 257,
+ 412, 583, 584, 255, 642, 227, 613, 219, 1283, 612,
+ 405, 578, 589, 391, 380, 218, 587, 389, 379, 333,
+ 352, 353, 279, 306, 444, 372, 445, 305, 307, 401,
+ 400, 402, 206, 600, 0, 207, 0, 495, 602, 643,
+ 449, 211, 233, 234, 236, 1299, 278, 282, 290, 293,
+ 302, 303, 312, 364, 416, 443, 439, 448, 1389, 573,
+ 594, 607, 618, 624, 625, 627, 628, 629, 630, 631,
+ 634, 632, 404, 310, 491, 332, 370, 1378, 1419, 422,
+ 469, 239, 598, 492, 199, 1293, 1298, 1291, 0, 253,
+ 254, 1360, 569, 1294, 1292, 1349, 1350, 1295, 1410, 1411,
+ 1412, 1397, 644, 645, 646, 647, 648, 649, 650, 651,
+ 652, 653, 654, 655, 656, 657, 658, 659, 660, 661,
+ 639, 502, 508, 503, 504, 505, 506, 507, 0, 509,
+ 1382, 1287, 0, 1296, 1297, 395, 1391, 585, 586, 662,
+ 381, 482, 595, 334, 346, 349, 339, 358, 0, 359,
+ 335, 336, 341, 343, 344, 345, 350, 351, 355, 361,
+ 248, 209, 387, 396, 572, 311, 215, 216, 217, 518,
+ 519, 520, 521, 610, 611, 615, 204, 459, 460, 461,
+ 462, 291, 605, 308, 465, 464, 330, 331, 376, 446,
+ 534, 536, 547, 551, 553, 555, 561, 564, 535, 537,
+ 548, 552, 554, 556, 562, 565, 524, 526, 528, 530,
+ 543, 542, 539, 567, 568, 545, 550, 529, 541, 546,
+ 559, 566, 563, 523, 527, 531, 540, 558, 557, 538,
+ 549, 560, 544, 532, 525, 533, 1353, 196, 220, 365,
+ 1415, 451, 287, 640, 609, 604, 205, 222, 1290, 261,
+ 1302, 1310, 0, 1316, 1324, 1325, 1337, 1340, 1341, 1342,
+ 1343, 1361, 1362, 1364, 1372, 1374, 1377, 1379, 1386, 1398,
+ 1418, 198, 200, 208, 221, 231, 235, 242, 260, 275,
+ 277, 284, 297, 309, 317, 318, 321, 327, 377, 383,
+ 384, 385, 386, 406, 407, 408, 411, 414, 415, 418,
+ 420, 421, 424, 428, 432, 433, 434, 436, 438, 440,
+ 452, 457, 471, 472, 473, 474, 475, 478, 479, 484,
+ 485, 486, 487, 488, 496, 497, 510, 580, 582, 597,
+ 616, 622, 477, 300, 301, 441, 442, 313, 314, 636,
+ 637, 299, 592, 623, 590, 635, 617, 435, 375, 1352,
+ 1358, 378, 280, 304, 319, 1367, 608, 498, 226, 463,
+ 289, 250, 1385, 1387, 210, 245, 229, 258, 273, 276,
+ 323, 388, 397, 426, 431, 295, 270, 243, 456, 240,
+ 481, 513, 514, 515, 517, 392, 265, 430, 1348, 1376,
+ 373, 570, 571, 315, 393, 0, 0, 0, 0, 0,
+ 0, 522, 0, 765, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 413, 0, 0, 0, 0, 752, 0,
+ 0, 0, 269, 757, 0, 0, 0, 363, 266, 0,
0, 427, 0, 203, 0, 483, 251, 374, 371, 577,
- 281, 272, 268, 249, 316, 382, 425, 512, 419, 763,
+ 281, 272, 268, 249, 316, 382, 425, 512, 419, 764,
367, 0, 0, 493, 398, 0, 0, 0, 0, 0,
- 758, 759, 0, 0, 0, 0, 0, 0, 2398, 0,
+ 759, 760, 0, 0, 0, 0, 0, 0, 0, 0,
322, 247, 324, 202, 410, 494, 285, 0, 95, 0,
- 0, 1008, 944, 735, 910, 948, 1009, 961, 962, 963,
- 949, 0, 237, 950, 951, 244, 952, 0, 909, 794,
- 796, 795, 859, 860, 861, 862, 863, 864, 865, 792,
- 957, 964, 965, 2399, 264, 320, 271, 263, 574, 0,
- 0, 0, 0, 0, 0, 0, 0, 228, 0, 0,
- 0, 0, 0, 0, 0, 731, 748, 0, 762, 0,
- 0, 0, 274, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 745,
- 746, 0, 0, 0, 0, 904, 0, 747, 0, 0,
- 755, 966, 967, 968, 969, 970, 971, 972, 973, 974,
+ 0, 1009, 945, 736, 911, 949, 1010, 962, 963, 964,
+ 950, 0, 237, 951, 952, 244, 953, 0, 910, 795,
+ 797, 796, 860, 861, 862, 863, 864, 865, 866, 793,
+ 958, 601, 965, 966, 0, 264, 320, 271, 263, 574,
+ 0, 0, 2194, 2195, 2196, 0, 0, 0, 228, 0,
+ 0, 0, 0, 0, 0, 0, 732, 749, 0, 763,
+ 0, 0, 0, 274, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 746, 747, 0, 0, 0, 0, 905, 0, 748, 0,
+ 0, 756, 967, 968, 969, 970, 971, 972, 973, 974,
975, 976, 977, 978, 979, 980, 981, 982, 983, 984,
985, 986, 987, 988, 989, 990, 991, 992, 993, 994,
995, 996, 997, 998, 999, 1000, 1001, 1002, 1003, 1004,
- 1005, 1006, 1007, 757, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 296, 0, 399, 256, 0, 450,
- 903, 0, 0, 618, 0, 0, 901, 0, 0, 0,
- 0, 362, 0, 329, 197, 224, 0, 0, 409, 458,
- 470, 0, 0, 0, 954, 0, 468, 423, 596, 232,
- 283, 455, 429, 466, 437, 286, 0, 0, 467, 369,
- 579, 447, 593, 619, 620, 262, 403, 605, 516, 613,
- 637, 225, 259, 417, 501, 599, 490, 394, 575, 576,
- 328, 489, 294, 201, 366, 625, 223, 476, 368, 241,
- 230, 581, 602, 298, 288, 453, 632, 212, 511, 591,
- 238, 480, 0, 0, 640, 246, 500, 214, 588, 499,
- 390, 325, 326, 213, 0, 454, 267, 292, 0, 0,
- 257, 412, 955, 956, 255, 641, 800, 612, 219, 0,
- 611, 405, 578, 589, 391, 380, 218, 587, 389, 379,
- 333, 808, 809, 279, 306, 885, 884, 883, 305, 307,
- 881, 882, 880, 206, 600, 0, 207, 0, 495, 601,
- 642, 449, 211, 233, 234, 236, 0, 278, 282, 290,
- 293, 302, 303, 312, 364, 416, 443, 439, 448, 0,
- 573, 594, 606, 617, 623, 624, 626, 627, 628, 629,
- 630, 633, 631, 404, 310, 491, 332, 370, 0, 0,
- 422, 469, 239, 598, 492, 891, 913, 902, 768, 769,
- 892, 893, 917, 894, 771, 772, 914, 915, 765, 766,
- 770, 916, 918, 643, 644, 645, 646, 647, 648, 649,
+ 1005, 1006, 1007, 1008, 758, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 296, 0, 399, 256, 0,
+ 450, 904, 0, 0, 619, 0, 0, 902, 0, 0,
+ 0, 0, 362, 0, 329, 197, 224, 0, 0, 409,
+ 458, 470, 0, 0, 0, 955, 0, 468, 423, 596,
+ 232, 283, 455, 429, 466, 437, 286, 0, 0, 467,
+ 369, 579, 447, 593, 620, 621, 262, 403, 606, 516,
+ 614, 638, 225, 259, 417, 501, 599, 490, 394, 575,
+ 576, 328, 489, 294, 201, 366, 626, 223, 476, 368,
+ 241, 230, 581, 603, 298, 288, 453, 633, 212, 511,
+ 591, 238, 480, 0, 0, 641, 246, 500, 214, 588,
+ 499, 390, 325, 326, 213, 0, 454, 267, 292, 0,
+ 0, 257, 412, 956, 957, 255, 642, 801, 613, 219,
+ 0, 612, 405, 578, 589, 391, 380, 218, 587, 389,
+ 379, 333, 809, 810, 279, 306, 886, 885, 884, 305,
+ 307, 882, 883, 881, 206, 600, 0, 207, 0, 495,
+ 602, 643, 449, 211, 233, 234, 236, 0, 278, 282,
+ 290, 293, 302, 303, 312, 364, 416, 443, 439, 448,
+ 0, 573, 594, 607, 618, 624, 625, 627, 628, 629,
+ 630, 631, 634, 632, 404, 310, 491, 332, 370, 0,
+ 0, 422, 469, 239, 598, 492, 892, 914, 903, 769,
+ 770, 893, 894, 918, 895, 772, 773, 915, 916, 766,
+ 767, 771, 917, 919, 644, 645, 646, 647, 648, 649,
650, 651, 652, 653, 654, 655, 656, 657, 658, 659,
- 660, 638, 502, 508, 503, 504, 505, 506, 507, 0,
- 509, 905, 754, 753, 0, 760, 761, 0, 790, 791,
- 793, 797, 798, 799, 810, 857, 858, 866, 868, 869,
- 867, 870, 871, 872, 875, 876, 877, 878, 873, 874,
- 879, 773, 777, 774, 775, 776, 788, 778, 779, 780,
- 781, 782, 783, 784, 785, 786, 787, 789, 928, 929,
- 930, 931, 932, 933, 803, 807, 806, 804, 805, 801,
- 802, 829, 828, 830, 831, 832, 833, 834, 835, 837,
- 836, 838, 839, 840, 841, 842, 843, 811, 812, 815,
- 816, 814, 813, 817, 826, 827, 818, 819, 820, 821,
- 822, 823, 825, 824, 844, 845, 846, 847, 848, 850,
- 849, 853, 854, 852, 851, 856, 855, 752, 196, 220,
- 365, 0, 451, 287, 639, 608, 603, 205, 222, 919,
- 261, 920, 0, 0, 924, 0, 0, 0, 926, 925,
- 0, 927, 889, 888, 0, 0, 921, 922, 0, 923,
- 0, 0, 198, 200, 208, 221, 231, 235, 242, 260,
- 275, 277, 284, 297, 309, 317, 318, 321, 327, 377,
- 383, 384, 385, 386, 406, 407, 408, 411, 414, 415,
- 418, 420, 421, 424, 428, 432, 433, 434, 436, 438,
- 440, 452, 457, 471, 472, 473, 474, 475, 478, 479,
- 484, 485, 486, 487, 488, 496, 497, 510, 580, 582,
- 597, 615, 621, 477, 934, 935, 936, 937, 938, 939,
- 940, 941, 299, 592, 622, 590, 634, 616, 435, 375,
- 0, 0, 378, 280, 304, 319, 0, 607, 498, 226,
- 463, 289, 250, 959, 0, 210, 245, 229, 258, 273,
- 276, 323, 388, 397, 426, 431, 295, 270, 243, 456,
- 240, 481, 513, 514, 515, 517, 392, 265, 430, 393,
- 0, 373, 570, 571, 315, 86, 522, 0, 764, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 413, 0,
- 0, 0, 0, 751, 0, 0, 0, 269, 756, 0,
- 0, 0, 363, 266, 0, 0, 427, 0, 203, 0,
- 483, 251, 374, 371, 577, 281, 272, 268, 249, 316,
- 382, 425, 512, 419, 763, 367, 0, 0, 493, 398,
- 0, 0, 0, 0, 0, 758, 759, 0, 0, 0,
- 0, 0, 0, 0, 0, 322, 247, 324, 202, 410,
- 494, 285, 0, 95, 0, 0, 1008, 944, 735, 910,
- 948, 1009, 961, 962, 963, 949, 0, 237, 950, 951,
- 244, 952, 0, 909, 794, 796, 795, 859, 860, 861,
- 862, 863, 864, 865, 792, 957, 964, 965, 0, 264,
+ 660, 661, 639, 502, 508, 503, 504, 505, 506, 507,
+ 0, 509, 906, 755, 754, 0, 761, 762, 0, 791,
+ 792, 794, 798, 799, 800, 811, 858, 859, 867, 869,
+ 870, 868, 871, 872, 873, 876, 877, 878, 879, 874,
+ 875, 880, 774, 778, 775, 776, 777, 789, 779, 780,
+ 781, 782, 783, 784, 785, 786, 787, 788, 790, 929,
+ 930, 931, 932, 933, 934, 804, 808, 807, 805, 806,
+ 802, 803, 830, 829, 831, 832, 833, 834, 835, 836,
+ 838, 837, 839, 840, 841, 842, 843, 844, 812, 813,
+ 816, 817, 815, 814, 818, 827, 828, 819, 820, 821,
+ 822, 823, 824, 826, 825, 845, 846, 847, 848, 849,
+ 851, 850, 854, 855, 853, 852, 857, 856, 753, 196,
+ 220, 365, 0, 451, 287, 640, 609, 604, 205, 222,
+ 920, 261, 921, 0, 0, 925, 0, 0, 0, 927,
+ 926, 0, 928, 890, 889, 0, 0, 922, 923, 0,
+ 924, 0, 0, 198, 200, 208, 221, 231, 235, 242,
+ 260, 275, 277, 284, 297, 309, 317, 318, 321, 327,
+ 377, 383, 384, 385, 386, 406, 407, 408, 411, 414,
+ 415, 418, 420, 421, 424, 428, 432, 433, 434, 436,
+ 438, 440, 452, 457, 471, 472, 473, 474, 475, 478,
+ 479, 484, 485, 486, 487, 488, 496, 497, 510, 580,
+ 582, 597, 616, 622, 477, 935, 936, 937, 938, 939,
+ 940, 941, 942, 299, 592, 623, 590, 635, 617, 435,
+ 375, 0, 0, 378, 280, 304, 319, 0, 608, 498,
+ 226, 463, 289, 250, 960, 0, 210, 245, 229, 258,
+ 273, 276, 323, 388, 397, 426, 431, 295, 270, 243,
+ 456, 240, 481, 513, 514, 515, 517, 392, 265, 430,
+ 393, 0, 373, 570, 571, 315, 0, 522, 0, 765,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 413,
+ 0, 0, 0, 0, 752, 0, 0, 0, 269, 757,
+ 0, 0, 0, 363, 266, 0, 0, 427, 0, 203,
+ 0, 483, 251, 374, 371, 577, 281, 272, 268, 249,
+ 316, 382, 425, 512, 419, 764, 367, 0, 0, 493,
+ 398, 0, 0, 0, 0, 0, 759, 760, 0, 0,
+ 0, 0, 0, 0, 2401, 0, 322, 247, 324, 202,
+ 410, 494, 285, 0, 95, 0, 0, 1009, 945, 736,
+ 911, 949, 1010, 962, 963, 964, 950, 0, 237, 951,
+ 952, 244, 953, 0, 910, 795, 797, 796, 860, 861,
+ 862, 863, 864, 865, 866, 793, 958, 601, 965, 966,
+ 2402, 264, 320, 271, 263, 574, 0, 0, 0, 0,
+ 0, 0, 0, 0, 228, 0, 0, 0, 0, 0,
+ 0, 0, 732, 749, 0, 763, 0, 0, 0, 274,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 746, 747, 0, 0,
+ 0, 0, 905, 0, 748, 0, 0, 756, 967, 968,
+ 969, 970, 971, 972, 973, 974, 975, 976, 977, 978,
+ 979, 980, 981, 982, 983, 984, 985, 986, 987, 988,
+ 989, 990, 991, 992, 993, 994, 995, 996, 997, 998,
+ 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008,
+ 758, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 296, 0, 399, 256, 0, 450, 904, 0, 0,
+ 619, 0, 0, 902, 0, 0, 0, 0, 362, 0,
+ 329, 197, 224, 0, 0, 409, 458, 470, 0, 0,
+ 0, 955, 0, 468, 423, 596, 232, 283, 455, 429,
+ 466, 437, 286, 0, 0, 467, 369, 579, 447, 593,
+ 620, 621, 262, 403, 606, 516, 614, 638, 225, 259,
+ 417, 501, 599, 490, 394, 575, 576, 328, 489, 294,
+ 201, 366, 626, 223, 476, 368, 241, 230, 581, 603,
+ 298, 288, 453, 633, 212, 511, 591, 238, 480, 0,
+ 0, 641, 246, 500, 214, 588, 499, 390, 325, 326,
+ 213, 0, 454, 267, 292, 0, 0, 257, 412, 956,
+ 957, 255, 642, 801, 613, 219, 0, 612, 405, 578,
+ 589, 391, 380, 218, 587, 389, 379, 333, 809, 810,
+ 279, 306, 886, 885, 884, 305, 307, 882, 883, 881,
+ 206, 600, 0, 207, 0, 495, 602, 643, 449, 211,
+ 233, 234, 236, 0, 278, 282, 290, 293, 302, 303,
+ 312, 364, 416, 443, 439, 448, 0, 573, 594, 607,
+ 618, 624, 625, 627, 628, 629, 630, 631, 634, 632,
+ 404, 310, 491, 332, 370, 0, 0, 422, 469, 239,
+ 598, 492, 892, 914, 903, 769, 770, 893, 894, 918,
+ 895, 772, 773, 915, 916, 766, 767, 771, 917, 919,
+ 644, 645, 646, 647, 648, 649, 650, 651, 652, 653,
+ 654, 655, 656, 657, 658, 659, 660, 661, 639, 502,
+ 508, 503, 504, 505, 506, 507, 0, 509, 906, 755,
+ 754, 0, 761, 762, 0, 791, 792, 794, 798, 799,
+ 800, 811, 858, 859, 867, 869, 870, 868, 871, 872,
+ 873, 876, 877, 878, 879, 874, 875, 880, 774, 778,
+ 775, 776, 777, 789, 779, 780, 781, 782, 783, 784,
+ 785, 786, 787, 788, 790, 929, 930, 931, 932, 933,
+ 934, 804, 808, 807, 805, 806, 802, 803, 830, 829,
+ 831, 832, 833, 834, 835, 836, 838, 837, 839, 840,
+ 841, 842, 843, 844, 812, 813, 816, 817, 815, 814,
+ 818, 827, 828, 819, 820, 821, 822, 823, 824, 826,
+ 825, 845, 846, 847, 848, 849, 851, 850, 854, 855,
+ 853, 852, 857, 856, 753, 196, 220, 365, 0, 451,
+ 287, 640, 609, 604, 205, 222, 920, 261, 921, 0,
+ 0, 925, 0, 0, 0, 927, 926, 0, 928, 890,
+ 889, 0, 0, 922, 923, 0, 924, 0, 0, 198,
+ 200, 208, 221, 231, 235, 242, 260, 275, 277, 284,
+ 297, 309, 317, 318, 321, 327, 377, 383, 384, 385,
+ 386, 406, 407, 408, 411, 414, 415, 418, 420, 421,
+ 424, 428, 432, 433, 434, 436, 438, 440, 452, 457,
+ 471, 472, 473, 474, 475, 478, 479, 484, 485, 486,
+ 487, 488, 496, 497, 510, 580, 582, 597, 616, 622,
+ 477, 935, 936, 937, 938, 939, 940, 941, 942, 299,
+ 592, 623, 590, 635, 617, 435, 375, 0, 0, 378,
+ 280, 304, 319, 0, 608, 498, 226, 463, 289, 250,
+ 960, 0, 210, 245, 229, 258, 273, 276, 323, 388,
+ 397, 426, 431, 295, 270, 243, 456, 240, 481, 513,
+ 514, 515, 517, 392, 265, 430, 393, 0, 373, 570,
+ 571, 315, 86, 522, 0, 765, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 413, 0, 0, 0, 0,
+ 752, 0, 0, 0, 269, 757, 0, 0, 0, 363,
+ 266, 0, 0, 427, 0, 203, 0, 483, 251, 374,
+ 371, 577, 281, 272, 268, 249, 316, 382, 425, 512,
+ 419, 764, 367, 0, 0, 493, 398, 0, 0, 0,
+ 0, 0, 759, 760, 0, 0, 0, 0, 0, 0,
+ 0, 0, 322, 247, 324, 202, 410, 494, 285, 0,
+ 95, 0, 0, 1009, 945, 736, 911, 949, 1010, 962,
+ 963, 964, 950, 0, 237, 951, 952, 244, 953, 0,
+ 910, 795, 797, 796, 860, 861, 862, 863, 864, 865,
+ 866, 793, 958, 601, 965, 966, 0, 264, 320, 271,
+ 263, 574, 0, 0, 0, 0, 0, 0, 0, 0,
+ 228, 0, 0, 0, 0, 0, 0, 0, 732, 749,
+ 0, 763, 0, 0, 0, 274, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 746, 747, 0, 0, 0, 0, 905, 0,
+ 748, 0, 0, 756, 967, 968, 969, 970, 971, 972,
+ 973, 974, 975, 976, 977, 978, 979, 980, 981, 982,
+ 983, 984, 985, 986, 987, 988, 989, 990, 991, 992,
+ 993, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002,
+ 1003, 1004, 1005, 1006, 1007, 1008, 758, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 296, 0, 399,
+ 256, 0, 450, 904, 0, 0, 619, 0, 0, 902,
+ 0, 0, 0, 0, 362, 0, 329, 197, 224, 0,
+ 0, 409, 458, 470, 0, 0, 0, 955, 0, 468,
+ 423, 596, 232, 283, 455, 429, 466, 437, 286, 0,
+ 0, 467, 369, 579, 447, 593, 620, 621, 262, 403,
+ 606, 516, 614, 638, 225, 259, 417, 501, 599, 490,
+ 394, 575, 576, 328, 489, 294, 201, 366, 626, 223,
+ 476, 368, 241, 230, 581, 603, 298, 288, 453, 633,
+ 212, 511, 591, 238, 480, 0, 0, 641, 246, 500,
+ 214, 588, 499, 390, 325, 326, 213, 0, 454, 267,
+ 292, 0, 0, 257, 412, 956, 957, 255, 642, 801,
+ 613, 219, 0, 612, 405, 578, 589, 391, 380, 218,
+ 587, 389, 379, 333, 809, 810, 279, 306, 886, 885,
+ 884, 305, 307, 882, 883, 881, 206, 600, 0, 207,
+ 0, 495, 602, 643, 449, 211, 233, 234, 236, 0,
+ 278, 282, 290, 293, 302, 303, 312, 364, 416, 443,
+ 439, 448, 0, 573, 594, 607, 618, 624, 625, 627,
+ 628, 629, 630, 631, 634, 632, 404, 310, 491, 332,
+ 370, 0, 0, 422, 469, 239, 598, 492, 892, 914,
+ 903, 769, 770, 893, 894, 918, 895, 772, 773, 915,
+ 916, 766, 767, 771, 917, 919, 644, 645, 646, 647,
+ 648, 649, 650, 651, 652, 653, 654, 655, 656, 657,
+ 658, 659, 660, 661, 639, 502, 508, 503, 504, 505,
+ 506, 507, 0, 509, 906, 755, 754, 0, 761, 762,
+ 0, 791, 792, 794, 798, 799, 800, 811, 858, 859,
+ 867, 869, 870, 868, 871, 872, 873, 876, 877, 878,
+ 879, 874, 875, 880, 774, 778, 775, 776, 777, 789,
+ 779, 780, 781, 782, 783, 784, 785, 786, 787, 788,
+ 790, 929, 930, 931, 932, 933, 934, 804, 808, 807,
+ 805, 806, 802, 803, 830, 829, 831, 832, 833, 834,
+ 835, 836, 838, 837, 839, 840, 841, 842, 843, 844,
+ 812, 813, 816, 817, 815, 814, 818, 827, 828, 819,
+ 820, 821, 822, 823, 824, 826, 825, 845, 846, 847,
+ 848, 849, 851, 850, 854, 855, 853, 852, 857, 856,
+ 753, 196, 220, 365, 94, 451, 287, 640, 609, 604,
+ 205, 222, 920, 261, 921, 0, 0, 925, 0, 0,
+ 0, 927, 926, 0, 928, 890, 889, 0, 0, 922,
+ 923, 0, 924, 0, 0, 198, 200, 208, 221, 231,
+ 235, 242, 260, 275, 277, 284, 297, 309, 317, 318,
+ 321, 327, 377, 383, 384, 385, 386, 406, 407, 408,
+ 411, 414, 415, 418, 420, 421, 424, 428, 432, 433,
+ 434, 436, 438, 440, 452, 457, 471, 472, 473, 474,
+ 475, 478, 479, 484, 485, 486, 487, 488, 496, 497,
+ 510, 580, 582, 597, 616, 622, 477, 935, 936, 937,
+ 938, 939, 940, 941, 942, 299, 592, 623, 590, 635,
+ 617, 435, 375, 0, 0, 378, 280, 304, 319, 0,
+ 608, 498, 226, 463, 289, 250, 960, 0, 210, 245,
+ 229, 258, 273, 276, 323, 388, 397, 426, 431, 295,
+ 270, 243, 456, 240, 481, 513, 514, 515, 517, 392,
+ 265, 430, 393, 0, 373, 570, 571, 315, 0, 522,
+ 0, 765, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 413, 0, 0, 0, 0, 752, 0, 0, 0,
+ 269, 757, 0, 0, 0, 363, 266, 0, 0, 427,
+ 0, 203, 0, 483, 251, 374, 371, 577, 281, 272,
+ 268, 249, 316, 382, 425, 512, 419, 764, 367, 0,
+ 0, 493, 398, 0, 0, 0, 0, 0, 759, 760,
+ 0, 0, 0, 0, 0, 0, 0, 0, 322, 247,
+ 324, 202, 410, 494, 285, 0, 95, 0, 0, 1009,
+ 945, 736, 911, 949, 1010, 962, 963, 964, 950, 0,
+ 237, 951, 952, 244, 953, 0, 910, 795, 797, 796,
+ 860, 861, 862, 863, 864, 865, 866, 793, 958, 601,
+ 965, 966, 0, 264, 320, 271, 263, 574, 0, 0,
+ 0, 0, 0, 0, 0, 0, 228, 0, 0, 0,
+ 0, 0, 0, 0, 732, 749, 0, 763, 0, 0,
+ 0, 274, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 746, 747,
+ 0, 0, 0, 0, 905, 0, 748, 0, 0, 756,
+ 967, 968, 969, 970, 971, 972, 973, 974, 975, 976,
+ 977, 978, 979, 980, 981, 982, 983, 984, 985, 986,
+ 987, 988, 989, 990, 991, 992, 993, 994, 995, 996,
+ 997, 998, 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006,
+ 1007, 1008, 758, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 296, 0, 399, 256, 0, 450, 904,
+ 0, 0, 619, 0, 0, 902, 0, 0, 0, 0,
+ 362, 0, 329, 197, 224, 0, 0, 409, 458, 470,
+ 0, 0, 0, 955, 0, 468, 423, 596, 232, 283,
+ 455, 429, 466, 437, 286, 4042, 0, 467, 369, 579,
+ 447, 593, 620, 621, 262, 403, 606, 516, 614, 638,
+ 225, 259, 417, 501, 599, 490, 394, 575, 576, 328,
+ 489, 294, 201, 366, 626, 223, 476, 368, 241, 230,
+ 581, 603, 298, 288, 453, 633, 212, 511, 591, 238,
+ 480, 0, 0, 641, 246, 500, 214, 588, 499, 390,
+ 325, 326, 213, 0, 454, 267, 292, 0, 0, 257,
+ 412, 956, 957, 255, 642, 801, 613, 219, 0, 612,
+ 405, 578, 589, 391, 380, 218, 587, 389, 379, 333,
+ 809, 810, 279, 306, 886, 885, 884, 305, 307, 882,
+ 883, 881, 206, 600, 0, 207, 0, 495, 602, 643,
+ 449, 211, 233, 234, 236, 0, 278, 282, 290, 293,
+ 302, 303, 312, 364, 416, 443, 439, 448, 0, 573,
+ 594, 607, 618, 624, 625, 627, 628, 629, 630, 631,
+ 634, 632, 404, 310, 491, 332, 370, 0, 0, 422,
+ 469, 239, 598, 492, 892, 914, 903, 769, 770, 893,
+ 894, 918, 895, 772, 773, 915, 916, 766, 767, 771,
+ 917, 919, 644, 645, 646, 647, 648, 649, 650, 651,
+ 652, 653, 654, 655, 656, 657, 658, 659, 660, 661,
+ 639, 502, 508, 503, 504, 505, 506, 507, 0, 509,
+ 906, 755, 754, 0, 761, 762, 0, 791, 792, 794,
+ 798, 799, 800, 811, 858, 859, 867, 869, 870, 868,
+ 871, 872, 873, 876, 877, 878, 879, 874, 875, 880,
+ 774, 778, 775, 776, 777, 789, 779, 780, 781, 782,
+ 783, 784, 785, 786, 787, 788, 790, 929, 930, 931,
+ 932, 933, 934, 804, 808, 807, 805, 806, 802, 803,
+ 830, 829, 831, 832, 833, 834, 835, 836, 838, 837,
+ 839, 840, 841, 842, 843, 844, 812, 813, 816, 817,
+ 815, 814, 818, 827, 828, 819, 820, 821, 822, 823,
+ 824, 826, 825, 845, 846, 847, 848, 849, 851, 850,
+ 854, 855, 853, 852, 857, 856, 753, 196, 220, 365,
+ 0, 451, 287, 640, 609, 604, 205, 222, 920, 261,
+ 921, 0, 0, 925, 0, 0, 0, 927, 926, 0,
+ 928, 890, 889, 0, 0, 922, 923, 0, 924, 0,
+ 0, 198, 200, 208, 221, 231, 235, 242, 260, 275,
+ 277, 284, 297, 309, 317, 318, 321, 327, 377, 383,
+ 384, 385, 386, 406, 407, 408, 411, 414, 415, 418,
+ 420, 421, 424, 428, 432, 433, 434, 436, 438, 440,
+ 452, 457, 471, 472, 473, 474, 475, 478, 479, 484,
+ 485, 486, 487, 488, 496, 497, 510, 580, 582, 597,
+ 616, 622, 477, 935, 936, 937, 938, 939, 940, 941,
+ 942, 299, 592, 623, 590, 635, 617, 435, 375, 0,
+ 0, 378, 280, 304, 319, 0, 608, 498, 226, 463,
+ 289, 250, 960, 0, 210, 245, 229, 258, 273, 276,
+ 323, 388, 397, 426, 431, 295, 270, 243, 456, 240,
+ 481, 513, 514, 515, 517, 392, 265, 430, 393, 0,
+ 373, 570, 571, 315, 0, 522, 0, 765, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 413, 0, 0,
+ 0, 0, 752, 0, 0, 0, 269, 757, 0, 0,
+ 0, 363, 266, 0, 0, 427, 0, 203, 0, 483,
+ 251, 374, 371, 577, 281, 272, 268, 249, 316, 382,
+ 425, 512, 419, 764, 367, 0, 0, 493, 398, 0,
+ 0, 0, 0, 0, 759, 760, 0, 0, 0, 0,
+ 0, 0, 0, 0, 322, 247, 324, 202, 410, 494,
+ 285, 0, 95, 0, 1726, 1009, 945, 736, 911, 949,
+ 1010, 962, 963, 964, 950, 0, 237, 951, 952, 244,
+ 953, 0, 910, 795, 797, 796, 860, 861, 862, 863,
+ 864, 865, 866, 793, 958, 601, 965, 966, 0, 264,
320, 271, 263, 574, 0, 0, 0, 0, 0, 0,
0, 0, 228, 0, 0, 0, 0, 0, 0, 0,
- 731, 748, 0, 762, 0, 0, 0, 274, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 745, 746, 0, 0, 0, 0,
- 904, 0, 747, 0, 0, 755, 966, 967, 968, 969,
- 970, 971, 972, 973, 974, 975, 976, 977, 978, 979,
- 980, 981, 982, 983, 984, 985, 986, 987, 988, 989,
- 990, 991, 992, 993, 994, 995, 996, 997, 998, 999,
- 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 757, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 296,
- 0, 399, 256, 0, 450, 903, 0, 0, 618, 0,
- 0, 901, 0, 0, 0, 0, 362, 0, 329, 197,
- 224, 0, 0, 409, 458, 470, 0, 0, 0, 954,
- 0, 468, 423, 596, 232, 283, 455, 429, 466, 437,
- 286, 0, 0, 467, 369, 579, 447, 593, 619, 620,
- 262, 403, 605, 516, 613, 637, 225, 259, 417, 501,
- 599, 490, 394, 575, 576, 328, 489, 294, 201, 366,
- 625, 223, 476, 368, 241, 230, 581, 602, 298, 288,
- 453, 632, 212, 511, 591, 238, 480, 0, 0, 640,
- 246, 500, 214, 588, 499, 390, 325, 326, 213, 0,
- 454, 267, 292, 0, 0, 257, 412, 955, 956, 255,
- 641, 800, 612, 219, 0, 611, 405, 578, 589, 391,
- 380, 218, 587, 389, 379, 333, 808, 809, 279, 306,
- 885, 884, 883, 305, 307, 881, 882, 880, 206, 600,
- 0, 207, 0, 495, 601, 642, 449, 211, 233, 234,
- 236, 0, 278, 282, 290, 293, 302, 303, 312, 364,
- 416, 443, 439, 448, 0, 573, 594, 606, 617, 623,
- 624, 626, 627, 628, 629, 630, 633, 631, 404, 310,
- 491, 332, 370, 0, 0, 422, 469, 239, 598, 492,
- 891, 913, 902, 768, 769, 892, 893, 917, 894, 771,
- 772, 914, 915, 765, 766, 770, 916, 918, 643, 644,
- 645, 646, 647, 648, 649, 650, 651, 652, 653, 654,
- 655, 656, 657, 658, 659, 660, 638, 502, 508, 503,
- 504, 505, 506, 507, 0, 509, 905, 754, 753, 0,
- 760, 761, 0, 790, 791, 793, 797, 798, 799, 810,
- 857, 858, 866, 868, 869, 867, 870, 871, 872, 875,
- 876, 877, 878, 873, 874, 879, 773, 777, 774, 775,
- 776, 788, 778, 779, 780, 781, 782, 783, 784, 785,
- 786, 787, 789, 928, 929, 930, 931, 932, 933, 803,
- 807, 806, 804, 805, 801, 802, 829, 828, 830, 831,
- 832, 833, 834, 835, 837, 836, 838, 839, 840, 841,
- 842, 843, 811, 812, 815, 816, 814, 813, 817, 826,
- 827, 818, 819, 820, 821, 822, 823, 825, 824, 844,
- 845, 846, 847, 848, 850, 849, 853, 854, 852, 851,
- 856, 855, 752, 196, 220, 365, 94, 451, 287, 639,
- 608, 603, 205, 222, 919, 261, 920, 0, 0, 924,
- 0, 0, 0, 926, 925, 0, 927, 889, 888, 0,
- 0, 921, 922, 0, 923, 0, 0, 198, 200, 208,
- 221, 231, 235, 242, 260, 275, 277, 284, 297, 309,
- 317, 318, 321, 327, 377, 383, 384, 385, 386, 406,
- 407, 408, 411, 414, 415, 418, 420, 421, 424, 428,
- 432, 433, 434, 436, 438, 440, 452, 457, 471, 472,
- 473, 474, 475, 478, 479, 484, 485, 486, 487, 488,
- 496, 497, 510, 580, 582, 597, 615, 621, 477, 934,
- 935, 936, 937, 938, 939, 940, 941, 299, 592, 622,
- 590, 634, 616, 435, 375, 0, 0, 378, 280, 304,
- 319, 0, 607, 498, 226, 463, 289, 250, 959, 0,
- 210, 245, 229, 258, 273, 276, 323, 388, 397, 426,
- 431, 295, 270, 243, 456, 240, 481, 513, 514, 515,
- 517, 392, 265, 430, 393, 0, 373, 570, 571, 315,
- 0, 522, 0, 764, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 413, 0, 0, 0, 0, 751, 0,
- 0, 0, 269, 756, 0, 0, 0, 363, 266, 0,
- 0, 427, 0, 203, 0, 483, 251, 374, 371, 577,
- 281, 272, 268, 249, 316, 382, 425, 512, 419, 763,
- 367, 0, 0, 493, 398, 0, 0, 0, 0, 0,
- 758, 759, 0, 0, 0, 0, 0, 0, 0, 0,
- 322, 247, 324, 202, 410, 494, 285, 0, 95, 0,
- 0, 1008, 944, 735, 910, 948, 1009, 961, 962, 963,
- 949, 0, 237, 950, 951, 244, 952, 0, 909, 794,
- 796, 795, 859, 860, 861, 862, 863, 864, 865, 792,
- 957, 964, 965, 0, 264, 320, 271, 263, 574, 0,
- 0, 0, 0, 0, 0, 0, 0, 228, 0, 0,
- 0, 0, 0, 0, 0, 731, 748, 0, 762, 0,
- 0, 0, 274, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 745,
- 746, 0, 0, 0, 0, 904, 0, 747, 0, 0,
- 755, 966, 967, 968, 969, 970, 971, 972, 973, 974,
- 975, 976, 977, 978, 979, 980, 981, 982, 983, 984,
- 985, 986, 987, 988, 989, 990, 991, 992, 993, 994,
- 995, 996, 997, 998, 999, 1000, 1001, 1002, 1003, 1004,
- 1005, 1006, 1007, 757, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 296, 0, 399, 256, 0, 450,
- 903, 0, 0, 618, 0, 0, 901, 0, 0, 0,
- 0, 362, 0, 329, 197, 224, 0, 0, 409, 458,
- 470, 0, 0, 0, 954, 0, 468, 423, 596, 232,
- 283, 455, 429, 466, 437, 286, 4039, 0, 467, 369,
- 579, 447, 593, 619, 620, 262, 403, 605, 516, 613,
- 637, 225, 259, 417, 501, 599, 490, 394, 575, 576,
- 328, 489, 294, 201, 366, 625, 223, 476, 368, 241,
- 230, 581, 602, 298, 288, 453, 632, 212, 511, 591,
- 238, 480, 0, 0, 640, 246, 500, 214, 588, 499,
- 390, 325, 326, 213, 0, 454, 267, 292, 0, 0,
- 257, 412, 955, 956, 255, 641, 800, 612, 219, 0,
- 611, 405, 578, 589, 391, 380, 218, 587, 389, 379,
- 333, 808, 809, 279, 306, 885, 884, 883, 305, 307,
- 881, 882, 880, 206, 600, 0, 207, 0, 495, 601,
- 642, 449, 211, 233, 234, 236, 0, 278, 282, 290,
- 293, 302, 303, 312, 364, 416, 443, 439, 448, 0,
- 573, 594, 606, 617, 623, 624, 626, 627, 628, 629,
- 630, 633, 631, 404, 310, 491, 332, 370, 0, 0,
- 422, 469, 239, 598, 492, 891, 913, 902, 768, 769,
- 892, 893, 917, 894, 771, 772, 914, 915, 765, 766,
- 770, 916, 918, 643, 644, 645, 646, 647, 648, 649,
- 650, 651, 652, 653, 654, 655, 656, 657, 658, 659,
- 660, 638, 502, 508, 503, 504, 505, 506, 507, 0,
- 509, 905, 754, 753, 0, 760, 761, 0, 790, 791,
- 793, 797, 798, 799, 810, 857, 858, 866, 868, 869,
- 867, 870, 871, 872, 875, 876, 877, 878, 873, 874,
- 879, 773, 777, 774, 775, 776, 788, 778, 779, 780,
- 781, 782, 783, 784, 785, 786, 787, 789, 928, 929,
- 930, 931, 932, 933, 803, 807, 806, 804, 805, 801,
- 802, 829, 828, 830, 831, 832, 833, 834, 835, 837,
- 836, 838, 839, 840, 841, 842, 843, 811, 812, 815,
- 816, 814, 813, 817, 826, 827, 818, 819, 820, 821,
- 822, 823, 825, 824, 844, 845, 846, 847, 848, 850,
- 849, 853, 854, 852, 851, 856, 855, 752, 196, 220,
- 365, 0, 451, 287, 639, 608, 603, 205, 222, 919,
- 261, 920, 0, 0, 924, 0, 0, 0, 926, 925,
- 0, 927, 889, 888, 0, 0, 921, 922, 0, 923,
- 0, 0, 198, 200, 208, 221, 231, 235, 242, 260,
- 275, 277, 284, 297, 309, 317, 318, 321, 327, 377,
- 383, 384, 385, 386, 406, 407, 408, 411, 414, 415,
- 418, 420, 421, 424, 428, 432, 433, 434, 436, 438,
- 440, 452, 457, 471, 472, 473, 474, 475, 478, 479,
- 484, 485, 486, 487, 488, 496, 497, 510, 580, 582,
- 597, 615, 621, 477, 934, 935, 936, 937, 938, 939,
- 940, 941, 299, 592, 622, 590, 634, 616, 435, 375,
- 0, 0, 378, 280, 304, 319, 0, 607, 498, 226,
- 463, 289, 250, 959, 0, 210, 245, 229, 258, 273,
- 276, 323, 388, 397, 426, 431, 295, 270, 243, 456,
- 240, 481, 513, 514, 515, 517, 392, 265, 430, 393,
- 0, 373, 570, 571, 315, 0, 522, 0, 764, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 413, 0,
- 0, 0, 0, 751, 0, 0, 0, 269, 756, 0,
- 0, 0, 363, 266, 0, 0, 427, 0, 203, 0,
- 483, 251, 374, 371, 577, 281, 272, 268, 249, 316,
- 382, 425, 512, 419, 763, 367, 0, 0, 493, 398,
- 0, 0, 0, 0, 0, 758, 759, 0, 0, 0,
- 0, 0, 0, 0, 0, 322, 247, 324, 202, 410,
- 494, 285, 0, 95, 0, 1725, 1008, 944, 735, 910,
- 948, 1009, 961, 962, 963, 949, 0, 237, 950, 951,
- 244, 952, 0, 909, 794, 796, 795, 859, 860, 861,
- 862, 863, 864, 865, 792, 957, 964, 965, 0, 264,
- 320, 271, 263, 574, 0, 0, 0, 0, 0, 0,
- 0, 0, 228, 0, 0, 0, 0, 0, 0, 0,
- 731, 748, 0, 762, 0, 0, 0, 274, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 745, 746, 0, 0, 0, 0,
- 904, 0, 747, 0, 0, 755, 966, 967, 968, 969,
- 970, 971, 972, 973, 974, 975, 976, 977, 978, 979,
- 980, 981, 982, 983, 984, 985, 986, 987, 988, 989,
- 990, 991, 992, 993, 994, 995, 996, 997, 998, 999,
- 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 757, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 296,
- 0, 399, 256, 0, 450, 903, 0, 0, 618, 0,
- 0, 901, 0, 0, 0, 0, 362, 0, 329, 197,
- 224, 0, 0, 409, 458, 470, 0, 0, 0, 954,
- 0, 468, 423, 596, 232, 283, 455, 429, 466, 437,
- 286, 0, 0, 467, 369, 579, 447, 593, 619, 620,
- 262, 403, 605, 516, 613, 637, 225, 259, 417, 501,
- 599, 490, 394, 575, 576, 328, 489, 294, 201, 366,
- 625, 223, 476, 368, 241, 230, 581, 602, 298, 288,
- 453, 632, 212, 511, 591, 238, 480, 0, 0, 640,
- 246, 500, 214, 588, 499, 390, 325, 326, 213, 0,
- 454, 267, 292, 0, 0, 257, 412, 955, 956, 255,
- 641, 800, 612, 219, 0, 611, 405, 578, 589, 391,
- 380, 218, 587, 389, 379, 333, 808, 809, 279, 306,
- 885, 884, 883, 305, 307, 881, 882, 880, 206, 600,
- 0, 207, 0, 495, 601, 642, 449, 211, 233, 234,
- 236, 0, 278, 282, 290, 293, 302, 303, 312, 364,
- 416, 443, 439, 448, 0, 573, 594, 606, 617, 623,
- 624, 626, 627, 628, 629, 630, 633, 631, 404, 310,
- 491, 332, 370, 0, 0, 422, 469, 239, 598, 492,
- 891, 913, 902, 768, 769, 892, 893, 917, 894, 771,
- 772, 914, 915, 765, 766, 770, 916, 918, 643, 644,
- 645, 646, 647, 648, 649, 650, 651, 652, 653, 654,
- 655, 656, 657, 658, 659, 660, 638, 502, 508, 503,
- 504, 505, 506, 507, 0, 509, 905, 754, 753, 0,
- 760, 761, 0, 790, 791, 793, 797, 798, 799, 810,
- 857, 858, 866, 868, 869, 867, 870, 871, 872, 875,
- 876, 877, 878, 873, 874, 879, 773, 777, 774, 775,
- 776, 788, 778, 779, 780, 781, 782, 783, 784, 785,
- 786, 787, 789, 928, 929, 930, 931, 932, 933, 803,
- 807, 806, 804, 805, 801, 802, 829, 828, 830, 831,
- 832, 833, 834, 835, 837, 836, 838, 839, 840, 841,
- 842, 843, 811, 812, 815, 816, 814, 813, 817, 826,
- 827, 818, 819, 820, 821, 822, 823, 825, 824, 844,
- 845, 846, 847, 848, 850, 849, 853, 854, 852, 851,
- 856, 855, 752, 196, 220, 365, 0, 451, 287, 639,
- 608, 603, 205, 222, 919, 261, 920, 0, 0, 924,
- 0, 0, 0, 926, 925, 0, 927, 889, 888, 0,
- 0, 921, 922, 0, 923, 0, 0, 198, 200, 208,
- 221, 231, 235, 242, 260, 275, 277, 284, 297, 309,
- 317, 318, 321, 327, 377, 383, 384, 385, 386, 406,
- 407, 408, 411, 414, 415, 418, 420, 421, 424, 428,
- 432, 433, 434, 436, 438, 440, 452, 457, 471, 472,
- 473, 474, 475, 478, 479, 484, 485, 486, 487, 488,
- 496, 497, 510, 580, 582, 597, 615, 621, 477, 934,
- 935, 936, 937, 938, 939, 940, 941, 299, 592, 622,
- 590, 634, 616, 435, 375, 0, 0, 378, 280, 304,
- 319, 0, 607, 498, 226, 463, 289, 250, 959, 0,
- 210, 245, 229, 258, 273, 276, 323, 388, 397, 426,
- 431, 295, 270, 243, 456, 240, 481, 513, 514, 515,
- 517, 392, 265, 430, 393, 0, 373, 570, 571, 315,
- 0, 522, 0, 764, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 413, 0, 0, 0, 0, 751, 0,
- 0, 0, 269, 756, 0, 0, 0, 363, 266, 0,
- 0, 427, 0, 203, 0, 483, 251, 374, 371, 577,
- 281, 272, 268, 249, 316, 382, 425, 512, 419, 763,
- 367, 0, 0, 493, 398, 0, 0, 0, 0, 0,
- 758, 759, 0, 0, 0, 0, 0, 0, 0, 0,
- 322, 247, 324, 202, 410, 494, 285, 0, 95, 0,
- 0, 1008, 944, 735, 910, 948, 1009, 961, 962, 963,
- 949, 0, 237, 950, 951, 244, 952, 0, 909, 794,
- 796, 795, 859, 860, 861, 862, 863, 864, 865, 792,
- 957, 964, 965, 0, 264, 320, 271, 263, 574, 0,
- 0, 0, 0, 0, 0, 0, 0, 228, 0, 0,
- 0, 0, 0, 0, 0, 731, 748, 0, 762, 0,
- 0, 0, 274, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 745,
- 746, 1054, 0, 0, 0, 904, 0, 747, 0, 0,
- 755, 966, 967, 968, 969, 970, 971, 972, 973, 974,
- 975, 976, 977, 978, 979, 980, 981, 982, 983, 984,
- 985, 986, 987, 988, 989, 990, 991, 992, 993, 994,
- 995, 996, 997, 998, 999, 1000, 1001, 1002, 1003, 1004,
- 1005, 1006, 1007, 757, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 296, 0, 399, 256, 0, 450,
- 903, 0, 0, 618, 0, 0, 901, 0, 0, 0,
- 0, 362, 0, 329, 197, 224, 0, 0, 409, 458,
- 470, 0, 0, 0, 954, 0, 468, 423, 596, 232,
- 283, 455, 429, 466, 437, 286, 0, 0, 467, 369,
- 579, 447, 593, 619, 620, 262, 403, 605, 516, 613,
- 637, 225, 259, 417, 501, 599, 490, 394, 575, 576,
- 328, 489, 294, 201, 366, 625, 223, 476, 368, 241,
- 230, 581, 602, 298, 288, 453, 632, 212, 511, 591,
- 238, 480, 0, 0, 640, 246, 500, 214, 588, 499,
- 390, 325, 326, 213, 0, 454, 267, 292, 0, 0,
- 257, 412, 955, 956, 255, 641, 800, 612, 219, 0,
- 611, 405, 578, 589, 391, 380, 218, 587, 389, 379,
- 333, 808, 809, 279, 306, 885, 884, 883, 305, 307,
- 881, 882, 880, 206, 600, 0, 207, 0, 495, 601,
- 642, 449, 211, 233, 234, 236, 0, 278, 282, 290,
- 293, 302, 303, 312, 364, 416, 443, 439, 448, 0,
- 573, 594, 606, 617, 623, 624, 626, 627, 628, 629,
- 630, 633, 631, 404, 310, 491, 332, 370, 0, 0,
- 422, 469, 239, 598, 492, 891, 913, 902, 768, 769,
- 892, 893, 917, 894, 771, 772, 914, 915, 765, 766,
- 770, 916, 918, 643, 644, 645, 646, 647, 648, 649,
- 650, 651, 652, 653, 654, 655, 656, 657, 658, 659,
- 660, 638, 502, 508, 503, 504, 505, 506, 507, 0,
- 509, 905, 754, 753, 0, 760, 761, 0, 790, 791,
- 793, 797, 798, 799, 810, 857, 858, 866, 868, 869,
- 867, 870, 871, 872, 875, 876, 877, 878, 873, 874,
- 879, 773, 777, 774, 775, 776, 788, 778, 779, 780,
- 781, 782, 783, 784, 785, 786, 787, 789, 928, 929,
- 930, 931, 932, 933, 803, 807, 806, 804, 805, 801,
- 802, 829, 828, 830, 831, 832, 833, 834, 835, 837,
- 836, 838, 839, 840, 841, 842, 843, 811, 812, 815,
- 816, 814, 813, 817, 826, 827, 818, 819, 820, 821,
- 822, 823, 825, 824, 844, 845, 846, 847, 848, 850,
- 849, 853, 854, 852, 851, 856, 855, 752, 196, 220,
- 365, 0, 451, 287, 639, 608, 603, 205, 222, 919,
- 261, 920, 0, 0, 924, 0, 0, 0, 926, 925,
- 0, 927, 889, 888, 0, 0, 921, 922, 0, 923,
- 0, 0, 198, 200, 208, 221, 231, 235, 242, 260,
- 275, 277, 284, 297, 309, 317, 318, 321, 327, 377,
- 383, 384, 385, 386, 406, 407, 408, 411, 414, 415,
- 418, 420, 421, 424, 428, 432, 433, 434, 436, 438,
- 440, 452, 457, 471, 472, 473, 474, 475, 478, 479,
- 484, 485, 486, 487, 488, 496, 497, 510, 580, 582,
- 597, 615, 621, 477, 934, 935, 936, 937, 938, 939,
- 940, 941, 299, 592, 622, 590, 634, 616, 435, 375,
- 0, 0, 378, 280, 304, 319, 0, 607, 498, 226,
- 463, 289, 250, 959, 0, 210, 245, 229, 258, 273,
- 276, 323, 388, 397, 426, 431, 295, 270, 243, 456,
- 240, 481, 513, 514, 515, 517, 392, 265, 430, 393,
- 0, 373, 570, 571, 315, 0, 522, 0, 764, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 413, 0,
- 0, 0, 0, 751, 0, 0, 0, 269, 756, 0,
- 0, 0, 363, 266, 0, 0, 427, 0, 203, 0,
- 483, 251, 374, 371, 577, 281, 272, 268, 249, 316,
- 382, 425, 512, 419, 763, 367, 0, 0, 493, 398,
- 0, 0, 0, 0, 0, 758, 759, 0, 0, 0,
- 0, 0, 0, 0, 0, 322, 247, 324, 202, 410,
- 494, 285, 0, 95, 0, 0, 1008, 944, 735, 910,
- 948, 1009, 961, 962, 963, 949, 0, 237, 950, 951,
- 244, 952, 0, 909, 794, 796, 795, 859, 860, 861,
- 862, 863, 864, 865, 792, 957, 964, 965, 0, 264,
- 320, 271, 263, 574, 0, 0, 0, 0, 0, 0,
- 0, 0, 228, 0, 0, 0, 0, 0, 0, 0,
- 731, 748, 0, 762, 0, 0, 0, 274, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 745, 746, 0, 0, 0, 0,
- 904, 0, 747, 0, 0, 755, 966, 967, 968, 969,
- 970, 971, 972, 973, 974, 975, 976, 977, 978, 979,
- 980, 981, 982, 983, 984, 985, 986, 987, 988, 989,
- 990, 991, 992, 993, 994, 995, 996, 997, 998, 999,
- 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 757, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 296,
- 0, 399, 256, 0, 450, 903, 0, 0, 618, 0,
- 0, 901, 0, 0, 0, 0, 362, 0, 329, 197,
- 224, 0, 0, 409, 458, 470, 0, 0, 0, 954,
- 0, 468, 423, 596, 232, 283, 455, 429, 466, 437,
- 286, 0, 0, 467, 369, 579, 447, 593, 619, 620,
- 262, 403, 605, 516, 613, 637, 225, 259, 417, 501,
- 599, 490, 394, 575, 576, 328, 489, 294, 201, 366,
- 625, 223, 476, 368, 241, 230, 581, 602, 298, 288,
- 453, 632, 212, 511, 591, 238, 480, 0, 0, 640,
- 246, 500, 214, 588, 499, 390, 325, 326, 213, 0,
- 454, 267, 292, 0, 0, 257, 412, 955, 956, 255,
- 641, 800, 612, 219, 0, 611, 405, 578, 589, 391,
- 380, 218, 587, 389, 379, 333, 808, 809, 279, 306,
- 885, 884, 883, 305, 307, 881, 882, 880, 206, 600,
- 0, 207, 0, 495, 601, 642, 449, 211, 233, 234,
- 236, 0, 278, 282, 290, 293, 302, 303, 312, 364,
- 416, 443, 439, 448, 0, 573, 594, 606, 617, 623,
- 624, 626, 627, 628, 629, 630, 633, 631, 404, 310,
- 491, 332, 370, 0, 0, 422, 469, 239, 598, 492,
- 891, 913, 902, 768, 769, 892, 893, 917, 894, 771,
- 772, 914, 915, 765, 766, 770, 916, 918, 643, 644,
- 645, 646, 647, 648, 649, 650, 651, 652, 653, 654,
- 655, 656, 657, 658, 659, 660, 638, 502, 508, 503,
- 504, 505, 506, 507, 0, 509, 905, 754, 753, 0,
- 760, 761, 0, 790, 791, 793, 797, 798, 799, 810,
- 857, 858, 866, 868, 869, 867, 870, 871, 872, 875,
- 876, 877, 878, 873, 874, 879, 773, 777, 774, 775,
- 776, 788, 778, 779, 780, 781, 782, 783, 784, 785,
- 786, 787, 789, 928, 929, 930, 931, 932, 933, 803,
- 807, 806, 804, 805, 801, 802, 829, 828, 830, 831,
- 832, 833, 834, 835, 837, 836, 838, 839, 840, 841,
- 842, 843, 811, 812, 815, 816, 814, 813, 817, 826,
- 827, 818, 819, 820, 821, 822, 823, 825, 824, 844,
- 845, 846, 847, 848, 850, 849, 853, 854, 852, 851,
- 856, 855, 752, 196, 220, 365, 0, 451, 287, 639,
- 608, 603, 205, 222, 919, 261, 920, 0, 0, 924,
- 0, 0, 0, 926, 925, 0, 927, 889, 888, 0,
- 0, 921, 922, 0, 923, 0, 0, 198, 200, 208,
- 221, 231, 235, 242, 260, 275, 277, 284, 297, 309,
- 317, 318, 321, 327, 377, 383, 384, 385, 386, 406,
- 407, 408, 411, 414, 415, 418, 420, 421, 424, 428,
- 432, 433, 434, 436, 438, 440, 452, 457, 471, 472,
- 473, 474, 475, 478, 479, 484, 485, 486, 487, 488,
- 496, 497, 510, 580, 582, 597, 615, 621, 477, 934,
- 935, 936, 937, 938, 939, 940, 941, 299, 592, 622,
- 590, 634, 616, 435, 375, 0, 0, 378, 280, 304,
- 319, 0, 607, 498, 226, 463, 289, 250, 959, 0,
- 210, 245, 229, 258, 273, 276, 323, 388, 397, 426,
- 431, 295, 270, 243, 456, 240, 481, 513, 514, 515,
- 517, 392, 265, 430, 393, 0, 373, 570, 571, 315,
- 0, 522, 0, 764, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 413, 0, 0, 0, 0, 751, 0,
- 0, 0, 269, 756, 0, 0, 0, 363, 266, 0,
- 0, 427, 0, 203, 0, 483, 251, 374, 371, 577,
- 281, 272, 268, 249, 316, 382, 425, 512, 419, 763,
- 367, 0, 0, 493, 398, 0, 0, 0, 0, 0,
- 758, 759, 0, 0, 0, 0, 0, 0, 0, 0,
- 322, 247, 324, 202, 410, 494, 285, 0, 95, 0,
- 0, 1008, 944, 735, 910, 948, 1009, 961, 962, 963,
- 949, 0, 237, 950, 951, 244, 952, 0, 909, 794,
- 796, 795, 859, 860, 861, 862, 863, 864, 865, 792,
- 957, 964, 965, 0, 264, 320, 271, 263, 574, 0,
- 0, 0, 0, 0, 0, 0, 0, 228, 0, 0,
- 0, 0, 0, 0, 0, 731, 748, 0, 762, 0,
- 0, 0, 274, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 745,
- 746, 0, 0, 0, 0, 904, 0, 747, 0, 0,
- 755, 966, 967, 968, 969, 970, 971, 972, 973, 974,
- 975, 976, 977, 978, 979, 980, 981, 982, 983, 984,
- 985, 986, 987, 988, 989, 990, 991, 992, 993, 994,
- 995, 996, 997, 998, 999, 1000, 1001, 1002, 1003, 1004,
- 1005, 1006, 1007, 3120, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 296, 0, 399, 256, 0, 450,
- 903, 0, 0, 618, 0, 0, 901, 0, 0, 0,
- 0, 362, 0, 329, 197, 224, 0, 0, 409, 458,
- 470, 0, 0, 0, 954, 0, 468, 423, 596, 232,
- 283, 455, 429, 466, 437, 286, 0, 0, 467, 369,
- 579, 447, 593, 619, 620, 262, 403, 605, 516, 613,
- 637, 225, 259, 417, 501, 599, 490, 394, 575, 576,
- 328, 489, 294, 201, 366, 625, 223, 476, 368, 241,
- 230, 581, 602, 298, 288, 453, 632, 212, 511, 591,
- 238, 480, 0, 0, 640, 246, 500, 214, 588, 499,
- 390, 325, 326, 213, 0, 454, 267, 292, 0, 0,
- 257, 412, 955, 956, 255, 641, 800, 612, 219, 0,
- 611, 405, 578, 589, 391, 380, 218, 587, 389, 379,
- 333, 808, 809, 279, 306, 885, 884, 883, 305, 307,
- 881, 882, 880, 206, 600, 0, 207, 0, 495, 601,
- 642, 449, 211, 233, 234, 236, 0, 278, 282, 290,
- 293, 302, 303, 312, 364, 416, 443, 439, 448, 0,
- 573, 594, 606, 617, 623, 624, 626, 627, 628, 629,
- 630, 633, 631, 404, 310, 491, 332, 370, 0, 0,
- 422, 469, 239, 598, 492, 891, 913, 902, 768, 769,
- 892, 893, 917, 894, 771, 772, 914, 915, 765, 766,
- 770, 916, 918, 643, 644, 645, 646, 647, 648, 649,
- 650, 651, 652, 653, 654, 655, 656, 657, 658, 659,
- 660, 638, 502, 508, 503, 504, 505, 506, 507, 0,
- 509, 905, 754, 753, 0, 760, 761, 0, 790, 791,
- 793, 797, 798, 799, 810, 857, 858, 866, 868, 869,
- 867, 870, 871, 872, 875, 876, 877, 878, 873, 874,
- 879, 773, 777, 774, 775, 776, 788, 778, 779, 780,
- 781, 782, 783, 784, 785, 786, 787, 789, 928, 929,
- 930, 931, 932, 933, 803, 807, 806, 804, 805, 801,
- 802, 829, 828, 830, 831, 832, 833, 834, 835, 837,
- 836, 838, 839, 840, 841, 842, 843, 811, 812, 815,
- 816, 814, 813, 817, 826, 827, 818, 819, 820, 821,
- 822, 823, 825, 824, 844, 845, 846, 847, 848, 850,
- 849, 853, 854, 852, 851, 856, 855, 752, 196, 220,
- 365, 0, 451, 287, 639, 608, 603, 205, 222, 919,
- 261, 920, 0, 0, 924, 0, 0, 0, 926, 925,
- 0, 927, 889, 888, 0, 0, 921, 922, 0, 923,
- 0, 0, 198, 200, 208, 221, 231, 235, 242, 260,
- 275, 277, 284, 297, 309, 317, 318, 321, 327, 377,
- 383, 384, 385, 386, 406, 407, 408, 411, 414, 415,
- 418, 420, 421, 424, 428, 432, 433, 434, 436, 438,
- 440, 452, 457, 471, 472, 473, 474, 475, 478, 479,
- 484, 485, 486, 487, 488, 496, 497, 510, 580, 582,
- 597, 615, 621, 477, 934, 935, 936, 937, 938, 939,
- 940, 941, 299, 592, 622, 590, 634, 616, 435, 375,
- 0, 0, 378, 280, 304, 319, 0, 607, 498, 226,
- 463, 289, 250, 959, 0, 210, 245, 229, 258, 273,
- 276, 323, 388, 397, 426, 431, 295, 270, 243, 456,
- 240, 481, 513, 514, 515, 517, 392, 265, 430, 393,
- 0, 373, 570, 571, 315, 0, 522, 0, 764, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 413, 0,
- 0, 0, 0, 751, 0, 0, 0, 269, 756, 0,
- 0, 0, 363, 266, 0, 0, 427, 0, 203, 0,
- 483, 251, 374, 371, 577, 281, 272, 268, 249, 316,
- 382, 425, 512, 419, 763, 367, 0, 0, 493, 398,
- 0, 0, 0, 0, 0, 758, 759, 0, 0, 0,
- 0, 0, 0, 0, 0, 322, 247, 324, 202, 410,
- 494, 285, 0, 95, 0, 0, 1008, 944, 735, 910,
- 948, 1009, 961, 962, 963, 949, 0, 237, 950, 951,
- 244, 952, 0, 909, 794, 796, 795, 859, 860, 861,
- 862, 863, 864, 865, 792, 957, 964, 965, 0, 264,
- 320, 271, 263, 574, 0, 0, 0, 0, 0, 0,
- 0, 0, 228, 0, 0, 0, 0, 0, 0, 0,
- 731, 748, 0, 762, 0, 0, 0, 274, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 745, 746, 0, 0, 0, 0,
- 904, 0, 747, 0, 0, 755, 966, 967, 968, 969,
- 970, 971, 972, 973, 974, 975, 976, 977, 978, 979,
- 980, 981, 982, 983, 984, 985, 986, 987, 988, 989,
- 990, 991, 992, 993, 994, 995, 996, 997, 998, 999,
- 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 3116, 0,
+ 732, 749, 0, 763, 0, 0, 0, 274, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 746, 747, 0, 0, 0, 0,
+ 905, 0, 748, 0, 0, 756, 967, 968, 969, 970,
+ 971, 972, 973, 974, 975, 976, 977, 978, 979, 980,
+ 981, 982, 983, 984, 985, 986, 987, 988, 989, 990,
+ 991, 992, 993, 994, 995, 996, 997, 998, 999, 1000,
+ 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 758, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 296,
- 0, 399, 256, 0, 450, 903, 0, 0, 618, 0,
- 0, 901, 0, 0, 0, 0, 362, 0, 329, 197,
- 224, 0, 0, 409, 458, 470, 0, 0, 0, 954,
+ 0, 399, 256, 0, 450, 904, 0, 0, 619, 0,
+ 0, 902, 0, 0, 0, 0, 362, 0, 329, 197,
+ 224, 0, 0, 409, 458, 470, 0, 0, 0, 955,
0, 468, 423, 596, 232, 283, 455, 429, 466, 437,
- 286, 0, 0, 467, 369, 579, 447, 593, 619, 620,
- 262, 403, 605, 516, 613, 637, 225, 259, 417, 501,
+ 286, 0, 0, 467, 369, 579, 447, 593, 620, 621,
+ 262, 403, 606, 516, 614, 638, 225, 259, 417, 501,
599, 490, 394, 575, 576, 328, 489, 294, 201, 366,
- 625, 223, 476, 368, 241, 230, 581, 602, 298, 288,
- 453, 632, 212, 511, 591, 238, 480, 0, 0, 640,
+ 626, 223, 476, 368, 241, 230, 581, 603, 298, 288,
+ 453, 633, 212, 511, 591, 238, 480, 0, 0, 641,
246, 500, 214, 588, 499, 390, 325, 326, 213, 0,
- 454, 267, 292, 0, 0, 257, 412, 955, 956, 255,
- 641, 800, 612, 219, 0, 611, 405, 578, 589, 391,
- 380, 218, 587, 389, 379, 333, 808, 809, 279, 306,
- 885, 884, 883, 305, 307, 881, 882, 880, 206, 600,
- 0, 207, 0, 495, 601, 642, 449, 211, 233, 234,
+ 454, 267, 292, 0, 0, 257, 412, 956, 957, 255,
+ 642, 801, 613, 219, 0, 612, 405, 578, 589, 391,
+ 380, 218, 587, 389, 379, 333, 809, 810, 279, 306,
+ 886, 885, 884, 305, 307, 882, 883, 881, 206, 600,
+ 0, 207, 0, 495, 602, 643, 449, 211, 233, 234,
236, 0, 278, 282, 290, 293, 302, 303, 312, 364,
- 416, 443, 439, 448, 0, 573, 594, 606, 617, 623,
- 624, 626, 627, 628, 629, 630, 633, 631, 404, 310,
+ 416, 443, 439, 448, 0, 573, 594, 607, 618, 624,
+ 625, 627, 628, 629, 630, 631, 634, 632, 404, 310,
491, 332, 370, 0, 0, 422, 469, 239, 598, 492,
- 891, 913, 902, 768, 769, 892, 893, 917, 894, 771,
- 772, 914, 915, 765, 766, 770, 916, 918, 643, 644,
- 645, 646, 647, 648, 649, 650, 651, 652, 653, 654,
- 655, 656, 657, 658, 659, 660, 638, 502, 508, 503,
- 504, 505, 506, 507, 0, 509, 905, 754, 753, 0,
- 760, 761, 0, 790, 791, 793, 797, 798, 799, 810,
- 857, 858, 866, 868, 869, 867, 870, 871, 872, 875,
- 876, 877, 878, 873, 874, 879, 773, 777, 774, 775,
- 776, 788, 778, 779, 780, 781, 782, 783, 784, 785,
- 786, 787, 789, 928, 929, 930, 931, 932, 933, 803,
- 807, 806, 804, 805, 801, 802, 829, 828, 830, 831,
- 832, 833, 834, 835, 837, 836, 838, 839, 840, 841,
- 842, 843, 811, 812, 815, 816, 814, 813, 817, 826,
- 827, 818, 819, 820, 821, 822, 823, 825, 824, 844,
- 845, 846, 847, 848, 850, 849, 853, 854, 852, 851,
- 856, 855, 752, 196, 220, 365, 0, 451, 287, 639,
- 608, 603, 205, 222, 919, 261, 920, 0, 0, 924,
- 0, 0, 0, 926, 925, 0, 927, 889, 888, 0,
- 0, 921, 922, 0, 923, 0, 0, 198, 200, 208,
+ 892, 914, 903, 769, 770, 893, 894, 918, 895, 772,
+ 773, 915, 916, 766, 767, 771, 917, 919, 644, 645,
+ 646, 647, 648, 649, 650, 651, 652, 653, 654, 655,
+ 656, 657, 658, 659, 660, 661, 639, 502, 508, 503,
+ 504, 505, 506, 507, 0, 509, 906, 755, 754, 0,
+ 761, 762, 0, 791, 792, 794, 798, 799, 800, 811,
+ 858, 859, 867, 869, 870, 868, 871, 872, 873, 876,
+ 877, 878, 879, 874, 875, 880, 774, 778, 775, 776,
+ 777, 789, 779, 780, 781, 782, 783, 784, 785, 786,
+ 787, 788, 790, 929, 930, 931, 932, 933, 934, 804,
+ 808, 807, 805, 806, 802, 803, 830, 829, 831, 832,
+ 833, 834, 835, 836, 838, 837, 839, 840, 841, 842,
+ 843, 844, 812, 813, 816, 817, 815, 814, 818, 827,
+ 828, 819, 820, 821, 822, 823, 824, 826, 825, 845,
+ 846, 847, 848, 849, 851, 850, 854, 855, 853, 852,
+ 857, 856, 753, 196, 220, 365, 0, 451, 287, 640,
+ 609, 604, 205, 222, 920, 261, 921, 0, 0, 925,
+ 0, 0, 0, 927, 926, 0, 928, 890, 889, 0,
+ 0, 922, 923, 0, 924, 0, 0, 198, 200, 208,
221, 231, 235, 242, 260, 275, 277, 284, 297, 309,
317, 318, 321, 327, 377, 383, 384, 385, 386, 406,
407, 408, 411, 414, 415, 418, 420, 421, 424, 428,
432, 433, 434, 436, 438, 440, 452, 457, 471, 472,
473, 474, 475, 478, 479, 484, 485, 486, 487, 488,
- 496, 497, 510, 580, 582, 597, 615, 621, 477, 934,
- 935, 936, 937, 938, 939, 940, 941, 299, 592, 622,
- 590, 634, 616, 435, 375, 0, 0, 378, 280, 304,
- 319, 0, 607, 498, 226, 463, 289, 250, 959, 0,
+ 496, 497, 510, 580, 582, 597, 616, 622, 477, 935,
+ 936, 937, 938, 939, 940, 941, 942, 299, 592, 623,
+ 590, 635, 617, 435, 375, 0, 0, 378, 280, 304,
+ 319, 0, 608, 498, 226, 463, 289, 250, 960, 0,
210, 245, 229, 258, 273, 276, 323, 388, 397, 426,
431, 295, 270, 243, 456, 240, 481, 513, 514, 515,
517, 392, 265, 430, 393, 0, 373, 570, 571, 315,
- 0, 522, 0, 764, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 413, 0, 0, 0, 0, 751, 0,
- 0, 0, 269, 756, 0, 0, 0, 363, 266, 0,
+ 0, 522, 0, 765, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 413, 0, 0, 0, 0, 752, 0,
+ 0, 0, 269, 757, 0, 0, 0, 363, 266, 0,
0, 427, 0, 203, 0, 483, 251, 374, 371, 577,
- 281, 272, 268, 249, 316, 382, 425, 512, 419, 763,
+ 281, 272, 268, 249, 316, 382, 425, 512, 419, 764,
367, 0, 0, 493, 398, 0, 0, 0, 0, 0,
- 758, 759, 0, 0, 0, 0, 0, 0, 0, 0,
+ 759, 760, 0, 0, 0, 0, 0, 0, 0, 0,
322, 247, 324, 202, 410, 494, 285, 0, 95, 0,
- 0, 1008, 944, 1075, 910, 948, 1009, 961, 962, 963,
- 949, 0, 237, 950, 951, 244, 952, 0, 909, 794,
- 796, 795, 859, 860, 861, 862, 863, 864, 865, 792,
- 957, 964, 965, 0, 264, 320, 271, 263, 574, 0,
- 0, 0, 0, 0, 0, 0, 0, 228, 0, 0,
- 0, 0, 0, 0, 0, 0, 748, 0, 762, 0,
- 0, 0, 274, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 745,
- 746, 0, 0, 0, 0, 904, 0, 747, 0, 0,
- 755, 966, 967, 968, 969, 970, 971, 972, 973, 974,
+ 0, 1009, 945, 736, 911, 949, 1010, 962, 963, 964,
+ 950, 0, 237, 951, 952, 244, 953, 0, 910, 795,
+ 797, 796, 860, 861, 862, 863, 864, 865, 866, 793,
+ 958, 601, 965, 966, 0, 264, 320, 271, 263, 574,
+ 0, 0, 0, 0, 0, 0, 0, 0, 228, 0,
+ 0, 0, 0, 0, 0, 0, 732, 749, 0, 763,
+ 0, 0, 0, 274, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 746, 747, 1055, 0, 0, 0, 905, 0, 748, 0,
+ 0, 756, 967, 968, 969, 970, 971, 972, 973, 974,
975, 976, 977, 978, 979, 980, 981, 982, 983, 984,
985, 986, 987, 988, 989, 990, 991, 992, 993, 994,
995, 996, 997, 998, 999, 1000, 1001, 1002, 1003, 1004,
- 1005, 1006, 1007, 757, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 296, 0, 399, 256, 0, 450,
- 903, 0, 0, 618, 0, 0, 901, 0, 0, 0,
- 0, 362, 0, 329, 197, 224, 0, 0, 409, 458,
- 470, 0, 0, 0, 954, 0, 468, 423, 596, 232,
- 283, 455, 429, 466, 437, 286, 0, 0, 467, 369,
- 579, 447, 593, 619, 620, 262, 403, 605, 516, 613,
- 637, 225, 259, 417, 501, 599, 490, 394, 575, 576,
- 328, 489, 294, 201, 366, 625, 223, 476, 368, 241,
- 230, 581, 602, 298, 288, 453, 632, 212, 511, 591,
- 238, 480, 0, 0, 640, 246, 500, 214, 588, 499,
- 390, 325, 326, 213, 0, 454, 267, 292, 0, 0,
- 257, 412, 955, 956, 255, 641, 800, 612, 219, 0,
- 611, 405, 578, 589, 391, 380, 218, 587, 389, 379,
- 333, 808, 809, 279, 306, 885, 884, 883, 305, 307,
- 881, 882, 880, 206, 600, 0, 207, 0, 495, 601,
- 642, 449, 211, 233, 234, 236, 0, 278, 282, 290,
- 293, 302, 303, 312, 364, 416, 443, 439, 448, 0,
- 573, 594, 606, 617, 623, 624, 626, 627, 628, 629,
- 630, 633, 631, 404, 310, 491, 332, 370, 0, 0,
- 422, 469, 239, 598, 492, 891, 913, 902, 768, 769,
- 892, 893, 917, 894, 771, 772, 914, 915, 765, 766,
- 770, 916, 918, 643, 644, 645, 646, 647, 648, 649,
+ 1005, 1006, 1007, 1008, 758, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 296, 0, 399, 256, 0,
+ 450, 904, 0, 0, 619, 0, 0, 902, 0, 0,
+ 0, 0, 362, 0, 329, 197, 224, 0, 0, 409,
+ 458, 470, 0, 0, 0, 955, 0, 468, 423, 596,
+ 232, 283, 455, 429, 466, 437, 286, 0, 0, 467,
+ 369, 579, 447, 593, 620, 621, 262, 403, 606, 516,
+ 614, 638, 225, 259, 417, 501, 599, 490, 394, 575,
+ 576, 328, 489, 294, 201, 366, 626, 223, 476, 368,
+ 241, 230, 581, 603, 298, 288, 453, 633, 212, 511,
+ 591, 238, 480, 0, 0, 641, 246, 500, 214, 588,
+ 499, 390, 325, 326, 213, 0, 454, 267, 292, 0,
+ 0, 257, 412, 956, 957, 255, 642, 801, 613, 219,
+ 0, 612, 405, 578, 589, 391, 380, 218, 587, 389,
+ 379, 333, 809, 810, 279, 306, 886, 885, 884, 305,
+ 307, 882, 883, 881, 206, 600, 0, 207, 0, 495,
+ 602, 643, 449, 211, 233, 234, 236, 0, 278, 282,
+ 290, 293, 302, 303, 312, 364, 416, 443, 439, 448,
+ 0, 573, 594, 607, 618, 624, 625, 627, 628, 629,
+ 630, 631, 634, 632, 404, 310, 491, 332, 370, 0,
+ 0, 422, 469, 239, 598, 492, 892, 914, 903, 769,
+ 770, 893, 894, 918, 895, 772, 773, 915, 916, 766,
+ 767, 771, 917, 919, 644, 645, 646, 647, 648, 649,
650, 651, 652, 653, 654, 655, 656, 657, 658, 659,
- 660, 638, 502, 508, 503, 504, 505, 506, 507, 0,
- 509, 905, 754, 753, 0, 760, 761, 0, 790, 791,
- 793, 797, 798, 799, 810, 857, 858, 866, 868, 869,
- 867, 870, 871, 872, 875, 876, 877, 878, 873, 874,
- 879, 773, 777, 774, 775, 776, 788, 778, 779, 780,
- 781, 782, 783, 784, 785, 786, 787, 789, 928, 929,
- 930, 931, 932, 933, 803, 807, 806, 804, 805, 801,
- 802, 829, 828, 830, 831, 832, 833, 834, 835, 837,
- 836, 838, 839, 840, 841, 842, 843, 811, 812, 815,
- 816, 814, 813, 817, 826, 827, 818, 819, 820, 821,
- 822, 823, 825, 824, 844, 845, 846, 847, 848, 850,
- 849, 853, 854, 852, 851, 856, 855, 752, 196, 220,
- 365, 0, 451, 287, 639, 608, 603, 205, 222, 919,
- 261, 920, 0, 0, 924, 0, 0, 0, 926, 925,
- 0, 927, 889, 888, 0, 0, 921, 922, 0, 923,
- 0, 0, 198, 200, 208, 221, 231, 235, 242, 260,
- 275, 277, 284, 297, 309, 317, 318, 321, 327, 377,
- 383, 384, 385, 386, 406, 407, 408, 411, 414, 415,
- 418, 420, 421, 424, 428, 432, 433, 434, 436, 438,
- 440, 452, 457, 471, 472, 473, 474, 475, 478, 479,
- 484, 485, 486, 487, 488, 496, 497, 510, 580, 582,
- 597, 615, 621, 477, 934, 935, 936, 937, 938, 939,
- 940, 941, 299, 592, 622, 590, 634, 616, 435, 375,
- 0, 0, 378, 280, 304, 319, 0, 607, 498, 226,
- 463, 289, 250, 959, 0, 210, 245, 229, 258, 273,
- 276, 323, 388, 397, 426, 431, 295, 270, 243, 456,
- 240, 481, 513, 514, 515, 517, 392, 265, 430, 393,
- 0, 373, 570, 571, 315, 0, 522, 0, 764, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 413, 0,
- 0, 0, 0, 751, 0, 0, 0, 269, 756, 0,
- 0, 0, 363, 266, 0, 0, 427, 0, 203, 0,
- 483, 251, 374, 371, 577, 281, 272, 268, 249, 316,
- 382, 425, 512, 419, 763, 367, 0, 0, 493, 398,
- 0, 0, 0, 0, 0, 758, 759, 0, 0, 0,
- 0, 0, 0, 0, 0, 322, 247, 324, 202, 410,
- 494, 285, 0, 95, 0, 0, 1008, 944, 1075, 910,
- 948, 1009, 961, 962, 963, 949, 0, 237, 950, 951,
- 244, 952, 0, 909, 794, 796, 795, 859, 860, 861,
- 862, 863, 864, 865, 792, 957, 964, 965, 0, 264,
+ 660, 661, 639, 502, 508, 503, 504, 505, 506, 507,
+ 0, 509, 906, 755, 754, 0, 761, 762, 0, 791,
+ 792, 794, 798, 799, 800, 811, 858, 859, 867, 869,
+ 870, 868, 871, 872, 873, 876, 877, 878, 879, 874,
+ 875, 880, 774, 778, 775, 776, 777, 789, 779, 780,
+ 781, 782, 783, 784, 785, 786, 787, 788, 790, 929,
+ 930, 931, 932, 933, 934, 804, 808, 807, 805, 806,
+ 802, 803, 830, 829, 831, 832, 833, 834, 835, 836,
+ 838, 837, 839, 840, 841, 842, 843, 844, 812, 813,
+ 816, 817, 815, 814, 818, 827, 828, 819, 820, 821,
+ 822, 823, 824, 826, 825, 845, 846, 847, 848, 849,
+ 851, 850, 854, 855, 853, 852, 857, 856, 753, 196,
+ 220, 365, 0, 451, 287, 640, 609, 604, 205, 222,
+ 920, 261, 921, 0, 0, 925, 0, 0, 0, 927,
+ 926, 0, 928, 890, 889, 0, 0, 922, 923, 0,
+ 924, 0, 0, 198, 200, 208, 221, 231, 235, 242,
+ 260, 275, 277, 284, 297, 309, 317, 318, 321, 327,
+ 377, 383, 384, 385, 386, 406, 407, 408, 411, 414,
+ 415, 418, 420, 421, 424, 428, 432, 433, 434, 436,
+ 438, 440, 452, 457, 471, 472, 473, 474, 475, 478,
+ 479, 484, 485, 486, 487, 488, 496, 497, 510, 580,
+ 582, 597, 616, 622, 477, 935, 936, 937, 938, 939,
+ 940, 941, 942, 299, 592, 623, 590, 635, 617, 435,
+ 375, 0, 0, 378, 280, 304, 319, 0, 608, 498,
+ 226, 463, 289, 250, 960, 0, 210, 245, 229, 258,
+ 273, 276, 323, 388, 397, 426, 431, 295, 270, 243,
+ 456, 240, 481, 513, 514, 515, 517, 392, 265, 430,
+ 393, 0, 373, 570, 571, 315, 0, 522, 0, 765,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 413,
+ 0, 0, 0, 0, 752, 0, 0, 0, 269, 757,
+ 0, 0, 0, 363, 266, 0, 0, 427, 0, 203,
+ 0, 483, 251, 374, 371, 577, 281, 272, 268, 249,
+ 316, 382, 425, 512, 419, 764, 367, 0, 0, 493,
+ 398, 0, 0, 0, 0, 0, 759, 760, 0, 0,
+ 0, 0, 0, 0, 0, 0, 322, 247, 324, 202,
+ 410, 494, 285, 0, 95, 0, 0, 1009, 945, 736,
+ 911, 949, 1010, 962, 963, 964, 950, 0, 237, 951,
+ 952, 244, 953, 0, 910, 795, 797, 796, 860, 861,
+ 862, 863, 864, 865, 866, 793, 958, 601, 965, 966,
+ 0, 264, 320, 271, 263, 574, 0, 0, 0, 0,
+ 0, 0, 0, 0, 228, 0, 0, 0, 0, 0,
+ 0, 0, 732, 749, 0, 763, 0, 0, 0, 274,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 746, 747, 0, 0,
+ 0, 0, 905, 0, 748, 0, 0, 756, 967, 968,
+ 969, 970, 971, 972, 973, 974, 975, 976, 977, 978,
+ 979, 980, 981, 982, 983, 984, 985, 986, 987, 988,
+ 989, 990, 991, 992, 993, 994, 995, 996, 997, 998,
+ 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008,
+ 758, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 296, 0, 399, 256, 0, 450, 904, 0, 0,
+ 619, 0, 0, 902, 0, 0, 0, 0, 362, 0,
+ 329, 197, 224, 0, 0, 409, 458, 470, 0, 0,
+ 0, 955, 0, 468, 423, 596, 232, 283, 455, 429,
+ 466, 437, 286, 0, 0, 467, 369, 579, 447, 593,
+ 620, 621, 262, 403, 606, 516, 614, 638, 225, 259,
+ 417, 501, 599, 490, 394, 575, 576, 328, 489, 294,
+ 201, 366, 626, 223, 476, 368, 241, 230, 581, 603,
+ 298, 288, 453, 633, 212, 511, 591, 238, 480, 0,
+ 0, 641, 246, 500, 214, 588, 499, 390, 325, 326,
+ 213, 0, 454, 267, 292, 0, 0, 257, 412, 956,
+ 957, 255, 642, 801, 613, 219, 0, 612, 405, 578,
+ 589, 391, 380, 218, 587, 389, 379, 333, 809, 810,
+ 279, 306, 886, 885, 884, 305, 307, 882, 883, 881,
+ 206, 600, 0, 207, 0, 495, 602, 643, 449, 211,
+ 233, 234, 236, 0, 278, 282, 290, 293, 302, 303,
+ 312, 364, 416, 443, 439, 448, 0, 573, 594, 607,
+ 618, 624, 625, 627, 628, 629, 630, 631, 634, 632,
+ 404, 310, 491, 332, 370, 0, 0, 422, 469, 239,
+ 598, 492, 892, 914, 903, 769, 770, 893, 894, 918,
+ 895, 772, 773, 915, 916, 766, 767, 771, 917, 919,
+ 644, 645, 646, 647, 648, 649, 650, 651, 652, 653,
+ 654, 655, 656, 657, 658, 659, 660, 661, 639, 502,
+ 508, 503, 504, 505, 506, 507, 0, 509, 906, 755,
+ 754, 0, 761, 762, 0, 791, 792, 794, 798, 799,
+ 800, 811, 858, 859, 867, 869, 870, 868, 871, 872,
+ 873, 876, 877, 878, 879, 874, 875, 880, 774, 778,
+ 775, 776, 777, 789, 779, 780, 781, 782, 783, 784,
+ 785, 786, 787, 788, 790, 929, 930, 931, 932, 933,
+ 934, 804, 808, 807, 805, 806, 802, 803, 830, 829,
+ 831, 832, 833, 834, 835, 836, 838, 837, 839, 840,
+ 841, 842, 843, 844, 812, 813, 816, 817, 815, 814,
+ 818, 827, 828, 819, 820, 821, 822, 823, 824, 826,
+ 825, 845, 846, 847, 848, 849, 851, 850, 854, 855,
+ 853, 852, 857, 856, 753, 196, 220, 365, 0, 451,
+ 287, 640, 609, 604, 205, 222, 920, 261, 921, 0,
+ 0, 925, 0, 0, 0, 927, 926, 0, 928, 890,
+ 889, 0, 0, 922, 923, 0, 924, 0, 0, 198,
+ 200, 208, 221, 231, 235, 242, 260, 275, 277, 284,
+ 297, 309, 317, 318, 321, 327, 377, 383, 384, 385,
+ 386, 406, 407, 408, 411, 414, 415, 418, 420, 421,
+ 424, 428, 432, 433, 434, 436, 438, 440, 452, 457,
+ 471, 472, 473, 474, 475, 478, 479, 484, 485, 486,
+ 487, 488, 496, 497, 510, 580, 582, 597, 616, 622,
+ 477, 935, 936, 937, 938, 939, 940, 941, 942, 299,
+ 592, 623, 590, 635, 617, 435, 375, 0, 0, 378,
+ 280, 304, 319, 0, 608, 498, 226, 463, 289, 250,
+ 960, 0, 210, 245, 229, 258, 273, 276, 323, 388,
+ 397, 426, 431, 295, 270, 243, 456, 240, 481, 513,
+ 514, 515, 517, 392, 265, 430, 393, 0, 373, 570,
+ 571, 315, 0, 522, 0, 765, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 413, 0, 0, 0, 0,
+ 752, 0, 0, 0, 269, 757, 0, 0, 0, 363,
+ 266, 0, 0, 427, 0, 203, 0, 483, 251, 374,
+ 371, 577, 281, 272, 268, 249, 316, 382, 425, 512,
+ 419, 764, 367, 0, 0, 493, 398, 0, 0, 0,
+ 0, 0, 759, 760, 0, 0, 0, 0, 0, 0,
+ 0, 0, 322, 247, 324, 202, 410, 494, 285, 0,
+ 95, 0, 0, 1009, 945, 736, 911, 949, 1010, 962,
+ 963, 964, 950, 0, 237, 951, 952, 244, 953, 0,
+ 910, 795, 797, 796, 860, 861, 862, 863, 864, 865,
+ 866, 793, 958, 601, 965, 966, 0, 264, 320, 271,
+ 263, 574, 0, 0, 0, 0, 0, 0, 0, 0,
+ 228, 0, 0, 0, 0, 0, 0, 0, 732, 749,
+ 0, 763, 0, 0, 0, 274, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 746, 747, 0, 0, 0, 0, 905, 0,
+ 748, 0, 0, 756, 967, 968, 969, 970, 971, 972,
+ 973, 974, 975, 976, 977, 978, 979, 980, 981, 982,
+ 983, 984, 985, 986, 987, 988, 989, 990, 991, 992,
+ 993, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002,
+ 1003, 1004, 1005, 1006, 1007, 1008, 3123, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 296, 0, 399,
+ 256, 0, 450, 904, 0, 0, 619, 0, 0, 902,
+ 0, 0, 0, 0, 362, 0, 329, 197, 224, 0,
+ 0, 409, 458, 470, 0, 0, 0, 955, 0, 468,
+ 423, 596, 232, 283, 455, 429, 466, 437, 286, 0,
+ 0, 467, 369, 579, 447, 593, 620, 621, 262, 403,
+ 606, 516, 614, 638, 225, 259, 417, 501, 599, 490,
+ 394, 575, 576, 328, 489, 294, 201, 366, 626, 223,
+ 476, 368, 241, 230, 581, 603, 298, 288, 453, 633,
+ 212, 511, 591, 238, 480, 0, 0, 641, 246, 500,
+ 214, 588, 499, 390, 325, 326, 213, 0, 454, 267,
+ 292, 0, 0, 257, 412, 956, 957, 255, 642, 801,
+ 613, 219, 0, 612, 405, 578, 589, 391, 380, 218,
+ 587, 389, 379, 333, 809, 810, 279, 306, 886, 885,
+ 884, 305, 307, 882, 883, 881, 206, 600, 0, 207,
+ 0, 495, 602, 643, 449, 211, 233, 234, 236, 0,
+ 278, 282, 290, 293, 302, 303, 312, 364, 416, 443,
+ 439, 448, 0, 573, 594, 607, 618, 624, 625, 627,
+ 628, 629, 630, 631, 634, 632, 404, 310, 491, 332,
+ 370, 0, 0, 422, 469, 239, 598, 492, 892, 914,
+ 903, 769, 770, 893, 894, 918, 895, 772, 773, 915,
+ 916, 766, 767, 771, 917, 919, 644, 645, 646, 647,
+ 648, 649, 650, 651, 652, 653, 654, 655, 656, 657,
+ 658, 659, 660, 661, 639, 502, 508, 503, 504, 505,
+ 506, 507, 0, 509, 906, 755, 754, 0, 761, 762,
+ 0, 791, 792, 794, 798, 799, 800, 811, 858, 859,
+ 867, 869, 870, 868, 871, 872, 873, 876, 877, 878,
+ 879, 874, 875, 880, 774, 778, 775, 776, 777, 789,
+ 779, 780, 781, 782, 783, 784, 785, 786, 787, 788,
+ 790, 929, 930, 931, 932, 933, 934, 804, 808, 807,
+ 805, 806, 802, 803, 830, 829, 831, 832, 833, 834,
+ 835, 836, 838, 837, 839, 840, 841, 842, 843, 844,
+ 812, 813, 816, 817, 815, 814, 818, 827, 828, 819,
+ 820, 821, 822, 823, 824, 826, 825, 845, 846, 847,
+ 848, 849, 851, 850, 854, 855, 853, 852, 857, 856,
+ 753, 196, 220, 365, 0, 451, 287, 640, 609, 604,
+ 205, 222, 920, 261, 921, 0, 0, 925, 0, 0,
+ 0, 927, 926, 0, 928, 890, 889, 0, 0, 922,
+ 923, 0, 924, 0, 0, 198, 200, 208, 221, 231,
+ 235, 242, 260, 275, 277, 284, 297, 309, 317, 318,
+ 321, 327, 377, 383, 384, 385, 386, 406, 407, 408,
+ 411, 414, 415, 418, 420, 421, 424, 428, 432, 433,
+ 434, 436, 438, 440, 452, 457, 471, 472, 473, 474,
+ 475, 478, 479, 484, 485, 486, 487, 488, 496, 497,
+ 510, 580, 582, 597, 616, 622, 477, 935, 936, 937,
+ 938, 939, 940, 941, 942, 299, 592, 623, 590, 635,
+ 617, 435, 375, 0, 0, 378, 280, 304, 319, 0,
+ 608, 498, 226, 463, 289, 250, 960, 0, 210, 245,
+ 229, 258, 273, 276, 323, 388, 397, 426, 431, 295,
+ 270, 243, 456, 240, 481, 513, 514, 515, 517, 392,
+ 265, 430, 393, 0, 373, 570, 571, 315, 0, 522,
+ 0, 765, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 413, 0, 0, 0, 0, 752, 0, 0, 0,
+ 269, 757, 0, 0, 0, 363, 266, 0, 0, 427,
+ 0, 203, 0, 483, 251, 374, 371, 577, 281, 272,
+ 268, 249, 316, 382, 425, 512, 419, 764, 367, 0,
+ 0, 493, 398, 0, 0, 0, 0, 0, 759, 760,
+ 0, 0, 0, 0, 0, 0, 0, 0, 322, 247,
+ 324, 202, 410, 494, 285, 0, 95, 0, 0, 1009,
+ 945, 736, 911, 949, 1010, 962, 963, 964, 950, 0,
+ 237, 951, 952, 244, 953, 0, 910, 795, 797, 796,
+ 860, 861, 862, 863, 864, 865, 866, 793, 958, 601,
+ 965, 966, 0, 264, 320, 271, 263, 574, 0, 0,
+ 0, 0, 0, 0, 0, 0, 228, 0, 0, 0,
+ 0, 0, 0, 0, 732, 749, 0, 763, 0, 0,
+ 0, 274, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 746, 747,
+ 0, 0, 0, 0, 905, 0, 748, 0, 0, 756,
+ 967, 968, 969, 970, 971, 972, 973, 974, 975, 976,
+ 977, 978, 979, 980, 981, 982, 983, 984, 985, 986,
+ 987, 988, 989, 990, 991, 992, 993, 994, 995, 996,
+ 997, 998, 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006,
+ 1007, 1008, 3119, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 296, 0, 399, 256, 0, 450, 904,
+ 0, 0, 619, 0, 0, 902, 0, 0, 0, 0,
+ 362, 0, 329, 197, 224, 0, 0, 409, 458, 470,
+ 0, 0, 0, 955, 0, 468, 423, 596, 232, 283,
+ 455, 429, 466, 437, 286, 0, 0, 467, 369, 579,
+ 447, 593, 620, 621, 262, 403, 606, 516, 614, 638,
+ 225, 259, 417, 501, 599, 490, 394, 575, 576, 328,
+ 489, 294, 201, 366, 626, 223, 476, 368, 241, 230,
+ 581, 603, 298, 288, 453, 633, 212, 511, 591, 238,
+ 480, 0, 0, 641, 246, 500, 214, 588, 499, 390,
+ 325, 326, 213, 0, 454, 267, 292, 0, 0, 257,
+ 412, 956, 957, 255, 642, 801, 613, 219, 0, 612,
+ 405, 578, 589, 391, 380, 218, 587, 389, 379, 333,
+ 809, 810, 279, 306, 886, 885, 884, 305, 307, 882,
+ 883, 881, 206, 600, 0, 207, 0, 495, 602, 643,
+ 449, 211, 233, 234, 236, 0, 278, 282, 290, 293,
+ 302, 303, 312, 364, 416, 443, 439, 448, 0, 573,
+ 594, 607, 618, 624, 625, 627, 628, 629, 630, 631,
+ 634, 632, 404, 310, 491, 332, 370, 0, 0, 422,
+ 469, 239, 598, 492, 892, 914, 903, 769, 770, 893,
+ 894, 918, 895, 772, 773, 915, 916, 766, 767, 771,
+ 917, 919, 644, 645, 646, 647, 648, 649, 650, 651,
+ 652, 653, 654, 655, 656, 657, 658, 659, 660, 661,
+ 639, 502, 508, 503, 504, 505, 506, 507, 0, 509,
+ 906, 755, 754, 0, 761, 762, 0, 791, 792, 794,
+ 798, 799, 800, 811, 858, 859, 867, 869, 870, 868,
+ 871, 872, 873, 876, 877, 878, 879, 874, 875, 880,
+ 774, 778, 775, 776, 777, 789, 779, 780, 781, 782,
+ 783, 784, 785, 786, 787, 788, 790, 929, 930, 931,
+ 932, 933, 934, 804, 808, 807, 805, 806, 802, 803,
+ 830, 829, 831, 832, 833, 834, 835, 836, 838, 837,
+ 839, 840, 841, 842, 843, 844, 812, 813, 816, 817,
+ 815, 814, 818, 827, 828, 819, 820, 821, 822, 823,
+ 824, 826, 825, 845, 846, 847, 848, 849, 851, 850,
+ 854, 855, 853, 852, 857, 856, 753, 196, 220, 365,
+ 0, 451, 287, 640, 609, 604, 205, 222, 920, 261,
+ 921, 0, 0, 925, 0, 0, 0, 927, 926, 0,
+ 928, 890, 889, 0, 0, 922, 923, 0, 924, 0,
+ 0, 198, 200, 208, 221, 231, 235, 242, 260, 275,
+ 277, 284, 297, 309, 317, 318, 321, 327, 377, 383,
+ 384, 385, 386, 406, 407, 408, 411, 414, 415, 418,
+ 420, 421, 424, 428, 432, 433, 434, 436, 438, 440,
+ 452, 457, 471, 472, 473, 474, 475, 478, 479, 484,
+ 485, 486, 487, 488, 496, 497, 510, 580, 582, 597,
+ 616, 622, 477, 935, 936, 937, 938, 939, 940, 941,
+ 942, 299, 592, 623, 590, 635, 617, 435, 375, 0,
+ 0, 378, 280, 304, 319, 0, 608, 498, 226, 463,
+ 289, 250, 960, 0, 210, 245, 229, 258, 273, 276,
+ 323, 388, 397, 426, 431, 295, 270, 243, 456, 240,
+ 481, 513, 514, 515, 517, 392, 265, 430, 393, 0,
+ 373, 570, 571, 315, 0, 522, 0, 765, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 413, 0, 0,
+ 0, 0, 752, 0, 0, 0, 269, 757, 0, 0,
+ 0, 363, 266, 0, 0, 427, 0, 203, 0, 483,
+ 251, 374, 371, 577, 281, 272, 268, 249, 316, 382,
+ 425, 512, 419, 764, 367, 0, 0, 493, 398, 0,
+ 0, 0, 0, 0, 759, 760, 0, 0, 0, 0,
+ 0, 0, 0, 0, 322, 247, 324, 202, 410, 494,
+ 285, 0, 95, 0, 0, 1009, 945, 1076, 911, 949,
+ 1010, 962, 963, 964, 950, 0, 237, 951, 952, 244,
+ 953, 0, 910, 795, 797, 796, 860, 861, 862, 863,
+ 864, 865, 866, 793, 958, 601, 965, 966, 0, 264,
320, 271, 263, 574, 0, 0, 0, 0, 0, 0,
0, 0, 228, 0, 0, 0, 0, 0, 0, 0,
- 0, 748, 0, 762, 0, 0, 0, 274, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 745, 746, 0, 0, 0, 0,
- 904, 0, 747, 0, 0, 755, 966, 967, 968, 969,
- 970, 971, 972, 973, 974, 975, 976, 977, 978, 979,
- 980, 981, 982, 983, 984, 985, 986, 987, 988, 989,
- 990, 991, 992, 993, 994, 995, 996, 997, 998, 999,
- 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 2084, 0,
+ 0, 749, 0, 763, 0, 0, 0, 274, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 746, 747, 0, 0, 0, 0,
+ 905, 0, 748, 0, 0, 756, 967, 968, 969, 970,
+ 971, 972, 973, 974, 975, 976, 977, 978, 979, 980,
+ 981, 982, 983, 984, 985, 986, 987, 988, 989, 990,
+ 991, 992, 993, 994, 995, 996, 997, 998, 999, 1000,
+ 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 758, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 296,
- 0, 399, 256, 0, 450, 903, 0, 0, 618, 0,
- 0, 901, 0, 0, 0, 0, 362, 0, 329, 197,
- 224, 0, 0, 409, 458, 470, 0, 0, 0, 954,
+ 0, 399, 256, 0, 450, 904, 0, 0, 619, 0,
+ 0, 902, 0, 0, 0, 0, 362, 0, 329, 197,
+ 224, 0, 0, 409, 458, 470, 0, 0, 0, 955,
0, 468, 423, 596, 232, 283, 455, 429, 466, 437,
- 286, 0, 0, 467, 369, 579, 447, 593, 619, 620,
- 262, 403, 605, 516, 613, 637, 225, 259, 417, 501,
+ 286, 0, 0, 467, 369, 579, 447, 593, 620, 621,
+ 262, 403, 606, 516, 614, 638, 225, 259, 417, 501,
599, 490, 394, 575, 576, 328, 489, 294, 201, 366,
- 625, 223, 476, 368, 241, 230, 581, 602, 298, 288,
- 453, 632, 212, 511, 591, 238, 480, 0, 0, 640,
+ 626, 223, 476, 368, 241, 230, 581, 603, 298, 288,
+ 453, 633, 212, 511, 591, 238, 480, 0, 0, 641,
246, 500, 214, 588, 499, 390, 325, 326, 213, 0,
- 454, 267, 292, 0, 0, 257, 412, 955, 956, 255,
- 641, 800, 612, 219, 0, 611, 405, 578, 589, 391,
- 380, 218, 587, 389, 379, 333, 808, 809, 279, 306,
- 885, 884, 883, 305, 307, 881, 882, 880, 206, 600,
- 0, 207, 0, 495, 601, 642, 449, 211, 233, 234,
+ 454, 267, 292, 0, 0, 257, 412, 956, 957, 255,
+ 642, 801, 613, 219, 0, 612, 405, 578, 589, 391,
+ 380, 218, 587, 389, 379, 333, 809, 810, 279, 306,
+ 886, 885, 884, 305, 307, 882, 883, 881, 206, 600,
+ 0, 207, 0, 495, 602, 643, 449, 211, 233, 234,
236, 0, 278, 282, 290, 293, 302, 303, 312, 364,
- 416, 443, 439, 448, 0, 573, 594, 606, 617, 623,
- 624, 626, 627, 628, 629, 630, 633, 631, 404, 310,
+ 416, 443, 439, 448, 0, 573, 594, 607, 618, 624,
+ 625, 627, 628, 629, 630, 631, 634, 632, 404, 310,
491, 332, 370, 0, 0, 422, 469, 239, 598, 492,
- 891, 913, 902, 768, 769, 892, 893, 917, 894, 771,
- 772, 914, 915, 765, 766, 770, 916, 918, 643, 644,
- 645, 646, 647, 648, 649, 650, 651, 652, 653, 654,
- 655, 656, 657, 658, 659, 660, 638, 502, 508, 503,
- 504, 505, 506, 507, 0, 509, 905, 754, 753, 0,
- 760, 761, 0, 790, 791, 793, 797, 798, 799, 810,
- 857, 858, 866, 868, 869, 867, 870, 871, 872, 875,
- 876, 877, 878, 873, 874, 879, 773, 777, 774, 775,
- 776, 788, 778, 779, 780, 781, 782, 783, 784, 785,
- 786, 787, 789, 928, 929, 930, 931, 932, 933, 803,
- 807, 806, 804, 805, 801, 802, 829, 828, 830, 831,
- 832, 833, 834, 835, 837, 836, 838, 839, 840, 841,
- 842, 843, 811, 812, 815, 816, 814, 813, 817, 826,
- 827, 818, 819, 820, 821, 822, 823, 825, 824, 844,
- 845, 846, 847, 848, 850, 849, 853, 854, 852, 851,
- 856, 855, 752, 196, 220, 365, 0, 451, 287, 639,
- 608, 603, 205, 222, 919, 261, 920, 0, 0, 924,
- 0, 0, 0, 926, 925, 0, 927, 889, 888, 0,
- 0, 921, 922, 0, 923, 0, 0, 198, 200, 208,
+ 892, 914, 903, 769, 770, 893, 894, 918, 895, 772,
+ 773, 915, 916, 766, 767, 771, 917, 919, 644, 645,
+ 646, 647, 648, 649, 650, 651, 652, 653, 654, 655,
+ 656, 657, 658, 659, 660, 661, 639, 502, 508, 503,
+ 504, 505, 506, 507, 0, 509, 906, 755, 754, 0,
+ 761, 762, 0, 791, 792, 794, 798, 799, 800, 811,
+ 858, 859, 867, 869, 870, 868, 871, 872, 873, 876,
+ 877, 878, 879, 874, 875, 880, 774, 778, 775, 776,
+ 777, 789, 779, 780, 781, 782, 783, 784, 785, 786,
+ 787, 788, 790, 929, 930, 931, 932, 933, 934, 804,
+ 808, 807, 805, 806, 802, 803, 830, 829, 831, 832,
+ 833, 834, 835, 836, 838, 837, 839, 840, 841, 842,
+ 843, 844, 812, 813, 816, 817, 815, 814, 818, 827,
+ 828, 819, 820, 821, 822, 823, 824, 826, 825, 845,
+ 846, 847, 848, 849, 851, 850, 854, 855, 853, 852,
+ 857, 856, 753, 196, 220, 365, 0, 451, 287, 640,
+ 609, 604, 205, 222, 920, 261, 921, 0, 0, 925,
+ 0, 0, 0, 927, 926, 0, 928, 890, 889, 0,
+ 0, 922, 923, 0, 924, 0, 0, 198, 200, 208,
221, 231, 235, 242, 260, 275, 277, 284, 297, 309,
317, 318, 321, 327, 377, 383, 384, 385, 386, 406,
407, 408, 411, 414, 415, 418, 420, 421, 424, 428,
432, 433, 434, 436, 438, 440, 452, 457, 471, 472,
473, 474, 475, 478, 479, 484, 485, 486, 487, 488,
- 496, 497, 510, 580, 582, 597, 615, 621, 477, 934,
- 935, 936, 937, 938, 939, 940, 941, 299, 592, 622,
- 590, 634, 616, 435, 375, 0, 0, 378, 280, 304,
- 319, 0, 607, 498, 226, 463, 289, 250, 959, 0,
+ 496, 497, 510, 580, 582, 597, 616, 622, 477, 935,
+ 936, 937, 938, 939, 940, 941, 942, 299, 592, 623,
+ 590, 635, 617, 435, 375, 0, 0, 378, 280, 304,
+ 319, 0, 608, 498, 226, 463, 289, 250, 960, 0,
210, 245, 229, 258, 273, 276, 323, 388, 397, 426,
431, 295, 270, 243, 456, 240, 481, 513, 514, 515,
517, 392, 265, 430, 393, 0, 373, 570, 571, 315,
- 0, 522, 0, 764, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 413, 0, 0, 0, 0, 751, 0,
- 0, 0, 269, 756, 0, 0, 0, 363, 266, 0,
+ 0, 522, 0, 765, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 413, 0, 0, 0, 0, 752, 0,
+ 0, 0, 269, 757, 0, 0, 0, 363, 266, 0,
0, 427, 0, 203, 0, 483, 251, 374, 371, 577,
- 281, 272, 268, 249, 316, 382, 425, 512, 419, 763,
+ 281, 272, 268, 249, 316, 382, 425, 512, 419, 764,
367, 0, 0, 493, 398, 0, 0, 0, 0, 0,
- 758, 759, 0, 0, 0, 0, 0, 0, 0, 0,
+ 759, 760, 0, 0, 0, 0, 0, 0, 0, 0,
322, 247, 324, 202, 410, 494, 285, 0, 95, 0,
- 0, 1008, 944, 1075, 910, 948, 1009, 961, 962, 963,
- 949, 0, 237, 950, 951, 244, 952, 0, 909, 794,
- 796, 795, 859, 860, 861, 862, 863, 864, 865, 792,
- 957, 964, 965, 0, 264, 320, 271, 263, 574, 0,
- 0, 0, 0, 0, 0, 0, 0, 228, 0, 0,
- 0, 0, 0, 0, 0, 0, 748, 0, 762, 0,
- 0, 0, 274, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 745,
- 746, 0, 0, 0, 0, 904, 0, 747, 0, 0,
- 755, 966, 967, 968, 969, 970, 971, 972, 973, 974,
+ 0, 1009, 945, 1076, 911, 949, 1010, 962, 963, 964,
+ 950, 0, 237, 951, 952, 244, 953, 0, 910, 795,
+ 797, 796, 860, 861, 862, 863, 864, 865, 866, 793,
+ 958, 601, 965, 966, 0, 264, 320, 271, 263, 574,
+ 0, 0, 0, 0, 0, 0, 0, 0, 228, 0,
+ 0, 0, 0, 0, 0, 0, 0, 749, 0, 763,
+ 0, 0, 0, 274, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 746, 747, 0, 0, 0, 0, 905, 0, 748, 0,
+ 0, 756, 967, 968, 969, 970, 971, 972, 973, 974,
975, 976, 977, 978, 979, 980, 981, 982, 983, 984,
985, 986, 987, 988, 989, 990, 991, 992, 993, 994,
995, 996, 997, 998, 999, 1000, 1001, 1002, 1003, 1004,
- 1005, 1006, 1007, 2082, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 296, 0, 399, 256, 0, 450,
- 903, 0, 0, 618, 0, 0, 901, 0, 0, 0,
- 0, 362, 0, 329, 197, 224, 0, 0, 409, 458,
- 470, 0, 0, 0, 954, 0, 468, 423, 596, 232,
- 283, 455, 429, 466, 437, 286, 0, 0, 467, 369,
- 579, 447, 593, 619, 620, 262, 403, 605, 516, 613,
- 637, 225, 259, 417, 501, 599, 490, 394, 575, 576,
- 328, 489, 294, 201, 366, 625, 223, 476, 368, 241,
- 230, 581, 602, 298, 288, 453, 632, 212, 511, 591,
- 238, 480, 0, 0, 640, 246, 500, 214, 588, 499,
- 390, 325, 326, 213, 0, 454, 267, 292, 0, 0,
- 257, 412, 955, 956, 255, 641, 800, 612, 219, 0,
- 611, 405, 578, 589, 391, 380, 218, 587, 389, 379,
- 333, 808, 809, 279, 306, 885, 884, 883, 305, 307,
- 881, 882, 880, 206, 600, 0, 207, 0, 495, 601,
- 642, 449, 211, 233, 234, 236, 0, 278, 282, 290,
- 293, 302, 303, 312, 364, 416, 443, 439, 448, 0,
- 573, 594, 606, 617, 623, 624, 626, 627, 628, 629,
- 630, 633, 631, 404, 310, 491, 332, 370, 0, 0,
- 422, 469, 239, 598, 492, 891, 913, 902, 768, 769,
- 892, 893, 917, 894, 771, 772, 914, 915, 765, 766,
- 770, 916, 918, 643, 644, 645, 646, 647, 648, 649,
- 650, 651, 652, 653, 654, 655, 656, 657, 658, 659,
- 660, 638, 502, 508, 503, 504, 505, 506, 507, 0,
- 509, 905, 754, 753, 0, 760, 761, 0, 790, 791,
- 793, 797, 798, 799, 810, 857, 858, 866, 868, 869,
- 867, 870, 871, 872, 875, 876, 877, 878, 873, 874,
- 879, 773, 777, 774, 775, 776, 788, 778, 779, 780,
- 781, 782, 783, 784, 785, 786, 787, 789, 928, 929,
- 930, 931, 932, 933, 803, 807, 806, 804, 805, 801,
- 802, 829, 828, 830, 831, 832, 833, 834, 835, 837,
- 836, 838, 839, 840, 841, 842, 843, 811, 812, 815,
- 816, 814, 813, 817, 826, 827, 818, 819, 820, 821,
- 822, 823, 825, 824, 844, 845, 846, 847, 848, 850,
- 849, 853, 854, 852, 851, 856, 855, 752, 196, 220,
- 365, 0, 451, 287, 639, 608, 603, 205, 222, 919,
- 261, 920, 0, 0, 924, 0, 0, 0, 926, 925,
- 0, 927, 889, 888, 0, 0, 921, 922, 0, 923,
- 0, 0, 198, 200, 208, 221, 231, 235, 242, 260,
- 275, 277, 284, 297, 309, 317, 318, 321, 327, 377,
- 383, 384, 385, 386, 406, 407, 408, 411, 414, 415,
- 418, 420, 421, 424, 428, 432, 433, 434, 436, 438,
- 440, 452, 457, 471, 472, 473, 474, 475, 478, 479,
- 484, 485, 486, 487, 488, 496, 497, 510, 580, 582,
- 597, 615, 621, 477, 934, 935, 936, 937, 938, 939,
- 940, 941, 299, 592, 622, 590, 634, 616, 435, 375,
- 0, 0, 378, 280, 304, 319, 0, 607, 498, 226,
- 463, 289, 250, 959, 0, 210, 245, 229, 258, 273,
- 276, 323, 388, 397, 426, 431, 295, 270, 243, 456,
- 240, 481, 513, 514, 515, 517, 392, 265, 430, 393,
- 0, 373, 570, 571, 315, 0, 522, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 413, 0,
- 0, 0, 0, 0, 0, 0, 0, 269, 0, 0,
- 0, 0, 363, 266, 0, 0, 427, 0, 203, 0,
- 483, 251, 374, 371, 577, 281, 272, 268, 249, 316,
- 382, 425, 512, 419, 0, 367, 0, 0, 493, 398,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 322, 247, 324, 202, 410,
- 494, 285, 0, 0, 0, 0, 0, 711, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 237, 0, 0,
- 244, 0, 0, 0, 348, 357, 356, 337, 338, 340,
- 342, 347, 354, 360, 0, 0, 0, 0, 0, 264,
- 320, 271, 263, 574, 0, 0, 0, 0, 0, 0,
- 0, 0, 228, 0, 1126, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 274, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 296,
- 0, 399, 256, 0, 450, 0, 0, 1125, 618, 0,
- 0, 0, 0, 0, 1122, 1123, 362, 1083, 329, 197,
- 224, 1116, 1120, 409, 458, 470, 0, 0, 0, 252,
- 0, 468, 423, 596, 232, 283, 455, 429, 466, 437,
- 286, 0, 0, 467, 369, 579, 447, 593, 619, 620,
- 262, 403, 605, 516, 613, 637, 225, 259, 417, 501,
- 599, 490, 394, 575, 576, 328, 489, 294, 201, 366,
- 625, 223, 476, 368, 241, 230, 581, 602, 298, 288,
- 453, 632, 212, 511, 591, 238, 480, 0, 0, 640,
- 246, 500, 214, 588, 499, 390, 325, 326, 213, 0,
- 454, 267, 292, 0, 0, 257, 412, 583, 584, 255,
- 641, 227, 612, 219, 0, 611, 405, 578, 589, 391,
- 380, 218, 587, 389, 379, 333, 352, 353, 279, 306,
- 444, 372, 445, 305, 307, 401, 400, 402, 206, 600,
- 0, 207, 0, 495, 601, 642, 449, 211, 233, 234,
- 236, 0, 278, 282, 290, 293, 302, 303, 312, 364,
- 416, 443, 439, 448, 0, 573, 594, 606, 617, 623,
- 624, 626, 627, 628, 629, 630, 633, 631, 404, 310,
- 491, 332, 370, 0, 0, 422, 469, 239, 598, 492,
- 199, 0, 0, 0, 0, 253, 254, 0, 569, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 643, 644,
- 645, 646, 647, 648, 649, 650, 651, 652, 653, 654,
- 655, 656, 657, 658, 659, 660, 638, 502, 508, 503,
- 504, 505, 506, 507, 0, 509, 0, 0, 0, 0,
- 0, 395, 0, 585, 586, 661, 381, 482, 595, 334,
- 346, 349, 339, 358, 0, 359, 335, 336, 341, 343,
- 344, 345, 350, 351, 355, 361, 248, 209, 387, 396,
- 572, 311, 215, 216, 217, 518, 519, 520, 521, 609,
- 610, 614, 204, 459, 460, 461, 462, 291, 604, 308,
- 465, 464, 330, 331, 376, 446, 534, 536, 547, 551,
- 553, 555, 561, 564, 535, 537, 548, 552, 554, 556,
- 562, 565, 524, 526, 528, 530, 543, 542, 539, 567,
- 568, 545, 550, 529, 541, 546, 559, 566, 563, 523,
- 527, 531, 540, 558, 557, 538, 549, 560, 544, 532,
- 525, 533, 0, 196, 220, 365, 0, 451, 287, 639,
- 608, 603, 205, 222, 0, 261, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 198, 200, 208,
- 221, 231, 235, 242, 260, 275, 277, 284, 297, 309,
- 317, 318, 321, 327, 377, 383, 384, 385, 386, 406,
- 407, 408, 411, 414, 415, 418, 420, 421, 424, 428,
- 432, 433, 434, 436, 438, 440, 452, 457, 471, 472,
- 473, 474, 475, 478, 479, 484, 485, 486, 487, 488,
- 496, 497, 510, 580, 582, 597, 615, 621, 477, 300,
- 301, 441, 442, 313, 314, 635, 636, 299, 592, 622,
- 590, 634, 616, 435, 375, 0, 0, 378, 280, 304,
- 319, 0, 607, 498, 226, 463, 289, 250, 0, 0,
- 210, 245, 229, 258, 273, 276, 323, 388, 397, 426,
- 431, 295, 270, 243, 456, 240, 481, 513, 514, 515,
- 517, 392, 265, 430, 393, 0, 373, 570, 571, 315,
- 0, 522, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 413, 0, 0, 0, 0, 0, 0,
- 0, 0, 269, 0, 0, 0, 0, 363, 266, 0,
- 0, 427, 0, 203, 0, 483, 251, 374, 371, 577,
- 281, 272, 268, 249, 316, 382, 425, 512, 419, 0,
- 367, 0, 0, 493, 398, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 322, 247, 324, 202, 410, 494, 285, 0, 0, 0,
- 0, 1686, 944, 0, 0, 1683, 0, 0, 0, 0,
- 1681, 0, 237, 1682, 1680, 244, 1685, 0, 909, 348,
- 357, 356, 337, 338, 340, 342, 347, 354, 360, 0,
- 0, 0, 0, 0, 264, 320, 271, 263, 574, 0,
- 0, 0, 0, 0, 0, 0, 0, 228, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 274, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 296, 0, 399, 256, 0, 450,
- 0, 0, 0, 618, 0, 0, 0, 0, 0, 0,
- 0, 362, 0, 329, 197, 224, 0, 0, 409, 458,
- 470, 0, 0, 0, 252, 0, 468, 423, 596, 232,
- 283, 455, 429, 466, 437, 286, 0, 0, 467, 369,
- 579, 447, 593, 619, 620, 262, 403, 605, 516, 613,
- 637, 225, 259, 417, 501, 599, 490, 394, 575, 576,
- 328, 489, 294, 201, 366, 625, 223, 476, 368, 241,
- 230, 581, 602, 298, 288, 453, 632, 212, 511, 591,
- 238, 480, 0, 0, 640, 246, 500, 214, 588, 499,
- 390, 325, 326, 213, 0, 454, 267, 292, 0, 0,
- 257, 412, 583, 584, 255, 641, 227, 612, 219, 0,
- 611, 405, 578, 589, 391, 380, 218, 587, 389, 379,
- 333, 352, 353, 279, 306, 444, 372, 445, 305, 307,
- 401, 400, 402, 206, 600, 0, 207, 0, 495, 601,
- 642, 449, 211, 233, 234, 236, 0, 278, 282, 290,
- 293, 302, 303, 312, 364, 416, 443, 439, 448, 0,
- 573, 594, 606, 617, 623, 624, 626, 627, 628, 629,
- 630, 633, 631, 404, 310, 491, 332, 370, 0, 0,
- 422, 469, 239, 598, 492, 199, 0, 0, 0, 0,
- 253, 254, 0, 569, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 643, 644, 645, 646, 647, 648, 649,
- 650, 651, 652, 653, 654, 655, 656, 657, 658, 659,
- 660, 638, 502, 508, 503, 504, 505, 506, 507, 0,
- 509, 0, 0, 0, 0, 0, 395, 0, 585, 586,
- 661, 381, 482, 595, 334, 346, 349, 339, 358, 0,
- 359, 335, 336, 341, 343, 344, 345, 350, 351, 355,
- 361, 248, 209, 387, 396, 572, 311, 215, 216, 217,
- 518, 519, 520, 521, 609, 610, 614, 204, 459, 460,
- 461, 462, 291, 604, 308, 465, 464, 330, 331, 376,
- 446, 534, 536, 547, 551, 553, 555, 561, 564, 535,
- 537, 548, 552, 554, 556, 562, 565, 524, 526, 528,
- 530, 543, 542, 539, 567, 568, 545, 550, 529, 541,
- 546, 559, 566, 563, 523, 527, 531, 540, 558, 557,
- 538, 549, 560, 544, 532, 525, 533, 0, 196, 220,
- 365, 0, 451, 287, 639, 608, 603, 205, 222, 0,
- 261, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 198, 200, 208, 221, 231, 235, 242, 260,
- 275, 277, 284, 297, 309, 317, 318, 321, 327, 377,
- 383, 384, 385, 386, 406, 407, 408, 411, 414, 415,
- 418, 420, 421, 424, 428, 432, 433, 434, 436, 438,
- 440, 452, 457, 471, 472, 473, 474, 475, 478, 479,
- 484, 485, 486, 487, 488, 496, 497, 510, 580, 582,
- 597, 615, 621, 477, 300, 301, 441, 442, 313, 314,
- 635, 636, 299, 592, 622, 590, 634, 616, 435, 375,
- 0, 0, 378, 280, 304, 319, 0, 607, 498, 226,
- 463, 289, 250, 0, 0, 210, 245, 229, 258, 273,
- 276, 323, 388, 397, 426, 431, 295, 270, 243, 456,
- 240, 481, 513, 514, 515, 517, 392, 265, 430, 393,
- 0, 373, 570, 571, 315, 86, 522, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 413, 0,
- 0, 0, 0, 0, 0, 0, 0, 269, 0, 0,
- 0, 0, 363, 266, 0, 0, 427, 0, 203, 0,
- 483, 251, 374, 371, 577, 281, 272, 268, 249, 316,
- 382, 425, 512, 419, 0, 367, 0, 0, 493, 398,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 322, 247, 324, 202, 410,
- 494, 285, 0, 95, 0, 0, 0, 194, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 237, 0, 0,
- 244, 0, 0, 0, 348, 357, 356, 337, 338, 340,
- 342, 347, 354, 360, 0, 0, 0, 0, 0, 264,
- 320, 271, 263, 574, 0, 0, 0, 0, 0, 0,
- 0, 0, 228, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 274, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 296,
- 0, 399, 256, 0, 450, 0, 0, 0, 618, 0,
- 0, 0, 0, 0, 0, 0, 362, 0, 329, 197,
- 224, 0, 0, 409, 458, 470, 0, 0, 0, 252,
- 0, 468, 423, 596, 232, 283, 455, 429, 466, 437,
- 286, 0, 0, 467, 369, 579, 447, 593, 619, 620,
- 262, 403, 605, 516, 613, 637, 225, 259, 417, 501,
- 599, 490, 394, 575, 576, 328, 489, 294, 201, 366,
- 625, 223, 476, 368, 241, 230, 581, 602, 298, 288,
- 453, 632, 212, 511, 591, 238, 480, 0, 0, 640,
- 246, 500, 214, 588, 499, 390, 325, 326, 213, 0,
- 454, 267, 292, 0, 0, 257, 412, 583, 584, 255,
- 641, 227, 612, 219, 0, 611, 405, 578, 589, 391,
- 380, 218, 587, 389, 379, 333, 352, 353, 279, 306,
- 444, 372, 445, 305, 307, 401, 400, 402, 206, 600,
- 0, 207, 0, 495, 601, 642, 449, 211, 233, 234,
- 236, 0, 278, 282, 290, 293, 302, 303, 312, 364,
- 416, 443, 439, 448, 0, 573, 594, 606, 617, 623,
- 624, 626, 627, 628, 629, 630, 633, 631, 404, 310,
- 491, 332, 370, 0, 0, 422, 469, 239, 598, 492,
- 199, 0, 0, 0, 0, 253, 254, 0, 569, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 643, 644,
- 645, 646, 647, 648, 649, 650, 651, 652, 653, 654,
- 655, 656, 657, 658, 659, 660, 638, 502, 508, 503,
- 504, 505, 506, 507, 0, 509, 0, 0, 0, 0,
- 0, 395, 0, 585, 586, 661, 381, 482, 595, 334,
- 346, 349, 339, 358, 0, 359, 335, 336, 341, 343,
- 344, 345, 350, 351, 355, 361, 248, 209, 387, 396,
- 572, 311, 215, 216, 217, 518, 519, 520, 521, 609,
- 610, 614, 204, 459, 460, 461, 462, 291, 604, 308,
- 465, 464, 330, 331, 376, 446, 534, 536, 547, 551,
- 553, 555, 561, 564, 535, 537, 548, 552, 554, 556,
- 562, 565, 524, 526, 528, 530, 543, 542, 539, 567,
- 568, 545, 550, 529, 541, 546, 559, 566, 563, 523,
- 527, 531, 540, 558, 557, 538, 549, 560, 544, 532,
- 525, 533, 0, 196, 220, 365, 94, 451, 287, 639,
- 608, 603, 205, 222, 0, 261, 0, 0, 0, 0,
- 0, 0, 2385, 0, 0, 2384, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 198, 200, 208,
- 221, 231, 235, 242, 260, 275, 277, 284, 297, 309,
- 317, 318, 321, 327, 377, 383, 384, 385, 386, 406,
- 407, 408, 411, 414, 415, 418, 420, 421, 424, 428,
- 432, 433, 434, 436, 438, 440, 452, 457, 471, 472,
- 473, 474, 475, 478, 479, 484, 485, 486, 487, 488,
- 496, 497, 510, 580, 582, 597, 615, 621, 477, 300,
- 301, 441, 442, 313, 314, 635, 636, 299, 592, 622,
- 590, 634, 616, 435, 375, 0, 0, 378, 280, 304,
- 319, 0, 607, 498, 226, 463, 289, 250, 0, 0,
- 210, 245, 229, 258, 273, 276, 323, 388, 397, 426,
- 431, 295, 270, 243, 456, 240, 481, 513, 514, 515,
- 517, 392, 265, 430, 1748, 0, 373, 570, 571, 315,
- 0, 522, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 413, 0, 0, 0, 1750, 0, 0,
- 0, 0, 269, 0, 0, 0, 0, 363, 266, 0,
- 0, 427, 0, 203, 0, 483, 251, 374, 371, 577,
- 281, 272, 268, 249, 316, 382, 425, 512, 419, 0,
- 367, 0, 0, 493, 398, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 322, 247, 324, 202, 410, 494, 285, 0, 0, 0,
- 0, 1752, 711, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 237, 0, 0, 244, 0, 0, 0, 348,
- 357, 356, 337, 338, 340, 342, 347, 354, 360, 0,
- 0, 0, 0, 0, 264, 320, 271, 263, 574, 0,
- 0, 0, 0, 0, 0, 0, 0, 228, 0, 0,
- 0, 1457, 0, 1458, 1459, 0, 0, 0, 0, 0,
- 0, 0, 274, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 296, 0, 399, 256, 0, 450,
- 0, 0, 0, 618, 0, 0, 0, 0, 0, 0,
- 0, 362, 0, 329, 197, 224, 0, 0, 409, 458,
- 470, 0, 0, 0, 252, 0, 468, 423, 596, 232,
- 283, 455, 429, 466, 437, 286, 0, 0, 467, 369,
- 579, 447, 593, 619, 620, 262, 403, 605, 516, 613,
- 637, 225, 259, 417, 501, 599, 490, 394, 575, 576,
- 328, 489, 294, 201, 366, 625, 223, 476, 368, 241,
- 230, 581, 602, 298, 288, 453, 632, 212, 511, 591,
- 238, 480, 0, 0, 640, 246, 500, 214, 588, 499,
- 390, 325, 326, 213, 0, 454, 267, 292, 0, 0,
- 257, 412, 583, 584, 255, 641, 227, 612, 219, 0,
- 611, 405, 578, 589, 391, 380, 218, 587, 389, 379,
- 333, 352, 353, 279, 306, 444, 372, 445, 305, 307,
- 401, 400, 402, 206, 600, 0, 207, 0, 495, 601,
- 642, 449, 211, 233, 234, 236, 0, 278, 282, 290,
- 293, 302, 303, 312, 364, 416, 443, 439, 448, 0,
- 573, 594, 606, 617, 623, 624, 626, 627, 628, 629,
- 630, 633, 631, 404, 310, 491, 332, 370, 0, 0,
- 422, 469, 239, 598, 492, 199, 0, 0, 0, 0,
- 253, 254, 0, 569, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 643, 644, 645, 646, 647, 648, 649,
- 650, 651, 652, 653, 654, 655, 656, 657, 658, 659,
- 660, 638, 502, 508, 503, 504, 505, 506, 507, 0,
- 509, 0, 0, 0, 0, 0, 395, 0, 585, 586,
- 661, 381, 482, 595, 334, 346, 349, 339, 358, 0,
- 359, 335, 336, 341, 343, 344, 345, 350, 351, 355,
- 361, 248, 209, 387, 396, 572, 311, 215, 216, 217,
- 518, 519, 520, 521, 609, 610, 614, 204, 459, 460,
- 461, 462, 291, 604, 308, 465, 464, 330, 331, 376,
- 446, 534, 536, 547, 551, 553, 555, 561, 564, 535,
- 537, 548, 552, 554, 556, 562, 565, 524, 526, 528,
- 530, 543, 542, 539, 567, 568, 545, 550, 529, 541,
- 546, 559, 566, 563, 523, 527, 531, 540, 558, 557,
- 538, 549, 560, 544, 532, 525, 533, 0, 196, 220,
- 365, 0, 451, 287, 639, 608, 603, 205, 222, 0,
- 261, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 198, 200, 208, 221, 231, 235, 242, 260,
- 275, 277, 284, 297, 309, 317, 318, 321, 327, 377,
- 383, 384, 385, 386, 406, 407, 408, 411, 414, 415,
- 418, 420, 421, 424, 428, 432, 433, 434, 436, 438,
- 440, 452, 457, 471, 472, 473, 474, 475, 478, 479,
- 484, 485, 486, 487, 488, 496, 497, 510, 580, 582,
- 597, 615, 621, 477, 300, 301, 441, 442, 313, 314,
- 635, 636, 299, 592, 622, 590, 634, 616, 435, 375,
- 0, 0, 378, 280, 304, 319, 0, 607, 498, 226,
- 463, 289, 250, 0, 0, 210, 245, 229, 258, 273,
- 276, 323, 388, 397, 426, 431, 295, 270, 243, 456,
- 240, 481, 513, 514, 515, 517, 392, 265, 430, 393,
- 0, 373, 570, 571, 315, 86, 522, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 413, 0,
- 0, 0, 0, 0, 0, 0, 0, 269, 0, 0,
- 0, 0, 363, 266, 0, 0, 427, 0, 203, 0,
- 483, 251, 374, 371, 577, 281, 272, 268, 249, 316,
- 382, 425, 512, 419, 0, 367, 0, 0, 493, 398,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 322, 247, 324, 202, 410,
- 494, 285, 0, 95, 0, 1725, 0, 711, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 237, 0, 0,
- 244, 0, 0, 0, 348, 357, 356, 337, 338, 340,
- 342, 347, 354, 360, 0, 0, 0, 0, 0, 264,
- 320, 271, 263, 574, 0, 0, 0, 0, 0, 0,
- 0, 0, 228, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 274, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 296,
- 0, 399, 256, 0, 450, 0, 0, 0, 618, 0,
- 0, 0, 0, 0, 0, 0, 362, 0, 329, 197,
- 224, 0, 0, 409, 458, 470, 0, 0, 0, 252,
- 0, 468, 423, 596, 232, 283, 455, 429, 466, 437,
- 286, 0, 0, 467, 369, 579, 447, 593, 619, 620,
- 262, 403, 605, 516, 613, 637, 225, 259, 417, 501,
- 599, 490, 394, 575, 576, 328, 489, 294, 201, 366,
- 625, 223, 476, 368, 241, 230, 581, 602, 298, 288,
- 453, 632, 212, 511, 591, 238, 480, 0, 0, 640,
- 246, 500, 214, 588, 499, 390, 325, 326, 213, 0,
- 454, 267, 292, 0, 0, 257, 412, 583, 584, 255,
- 641, 227, 612, 219, 0, 611, 405, 578, 589, 391,
- 380, 218, 587, 389, 379, 333, 352, 353, 279, 306,
- 444, 372, 445, 305, 307, 401, 400, 402, 206, 600,
- 0, 207, 0, 495, 601, 642, 449, 211, 233, 234,
- 236, 0, 278, 282, 290, 293, 302, 303, 312, 364,
- 416, 443, 439, 448, 0, 573, 594, 606, 617, 623,
- 624, 626, 627, 628, 629, 630, 633, 631, 404, 310,
- 491, 332, 370, 0, 0, 422, 469, 239, 598, 492,
- 199, 0, 0, 0, 0, 253, 254, 0, 569, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 643, 644,
- 645, 646, 647, 648, 649, 650, 651, 652, 653, 654,
- 655, 656, 657, 658, 659, 660, 638, 502, 508, 503,
- 504, 505, 506, 507, 0, 509, 0, 0, 0, 0,
- 0, 395, 0, 585, 586, 661, 381, 482, 595, 334,
- 346, 349, 339, 358, 0, 359, 335, 336, 341, 343,
- 344, 345, 350, 351, 355, 361, 248, 209, 387, 396,
- 572, 311, 215, 216, 217, 518, 519, 520, 521, 609,
- 610, 614, 204, 459, 460, 461, 462, 291, 604, 308,
- 465, 464, 330, 331, 376, 446, 534, 536, 547, 551,
- 553, 555, 561, 564, 535, 537, 548, 552, 554, 556,
- 562, 565, 524, 526, 528, 530, 543, 542, 539, 567,
- 568, 545, 550, 529, 541, 546, 559, 566, 563, 523,
- 527, 531, 540, 558, 557, 538, 549, 560, 544, 532,
- 525, 533, 0, 196, 220, 365, 94, 451, 287, 639,
- 608, 603, 205, 222, 0, 261, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 198, 200, 208,
- 221, 231, 235, 242, 260, 275, 277, 284, 297, 309,
- 317, 318, 321, 327, 377, 383, 384, 385, 386, 406,
- 407, 408, 411, 414, 415, 418, 420, 421, 424, 428,
- 432, 433, 434, 436, 438, 440, 452, 457, 471, 472,
- 473, 474, 475, 478, 479, 484, 485, 486, 487, 488,
- 496, 497, 510, 580, 582, 597, 615, 621, 477, 300,
- 301, 441, 442, 313, 314, 635, 636, 299, 592, 622,
- 590, 634, 616, 435, 375, 0, 0, 378, 280, 304,
- 319, 0, 607, 498, 226, 463, 289, 250, 0, 0,
- 210, 245, 229, 258, 273, 276, 323, 388, 397, 426,
- 431, 295, 270, 243, 456, 240, 481, 513, 514, 515,
- 517, 392, 265, 430, 393, 0, 373, 570, 571, 315,
- 0, 522, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 413, 0, 0, 0, 0, 0, 0,
- 0, 0, 269, 0, 0, 0, 0, 363, 266, 0,
- 0, 427, 0, 203, 0, 483, 251, 374, 371, 577,
- 281, 272, 268, 249, 316, 382, 425, 512, 419, 0,
- 367, 0, 0, 493, 398, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 322, 247, 324, 202, 410, 494, 285, 0, 95, 0,
- 0, 0, 194, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 237, 0, 0, 244, 0, 0, 0, 348,
- 357, 356, 337, 338, 340, 342, 347, 354, 360, 0,
- 0, 0, 0, 0, 264, 320, 271, 263, 574, 0,
- 0, 0, 0, 0, 0, 0, 0, 228, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 274, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 296, 0, 399, 256, 0, 450,
- 0, 0, 0, 618, 0, 0, 0, 0, 0, 0,
- 0, 362, 0, 329, 197, 224, 0, 0, 409, 458,
- 470, 0, 0, 0, 252, 0, 468, 423, 596, 232,
- 283, 455, 429, 466, 437, 286, 0, 0, 467, 369,
- 579, 447, 593, 619, 620, 262, 403, 605, 516, 613,
- 637, 225, 259, 417, 501, 599, 490, 394, 575, 576,
- 328, 489, 294, 201, 366, 625, 223, 476, 368, 241,
- 230, 581, 602, 298, 288, 453, 632, 212, 511, 591,
- 238, 480, 0, 0, 640, 246, 500, 214, 588, 499,
- 390, 325, 326, 213, 0, 454, 267, 292, 0, 0,
- 257, 412, 583, 584, 255, 641, 227, 612, 219, 0,
- 611, 405, 578, 589, 391, 380, 218, 587, 389, 379,
- 333, 352, 353, 279, 306, 444, 372, 445, 305, 307,
- 401, 400, 402, 206, 600, 0, 207, 0, 495, 601,
- 642, 449, 211, 233, 234, 236, 0, 278, 282, 290,
- 293, 302, 303, 312, 364, 416, 443, 439, 448, 0,
- 573, 594, 606, 617, 623, 624, 626, 627, 628, 629,
- 630, 633, 631, 404, 310, 491, 332, 370, 0, 0,
- 422, 469, 239, 598, 492, 199, 0, 0, 0, 0,
- 253, 254, 0, 569, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 643, 644, 645, 646, 647, 648, 649,
- 650, 651, 652, 653, 654, 655, 656, 657, 658, 659,
- 660, 638, 502, 508, 503, 504, 505, 506, 507, 0,
- 509, 0, 0, 0, 0, 0, 395, 0, 585, 586,
- 661, 381, 482, 595, 334, 346, 349, 339, 358, 0,
- 359, 335, 336, 341, 343, 344, 345, 350, 351, 355,
- 361, 248, 209, 387, 396, 572, 311, 215, 216, 217,
- 518, 519, 520, 521, 609, 610, 614, 204, 459, 460,
- 461, 462, 291, 604, 308, 465, 464, 330, 331, 376,
- 446, 534, 536, 547, 551, 553, 555, 561, 564, 535,
- 537, 548, 552, 554, 556, 562, 565, 524, 526, 528,
- 530, 543, 542, 539, 567, 568, 545, 550, 529, 541,
- 546, 559, 566, 563, 523, 527, 531, 540, 558, 557,
- 538, 549, 560, 544, 532, 525, 533, 0, 196, 220,
- 365, 0, 451, 287, 639, 608, 603, 205, 222, 0,
- 261, 0, 0, 0, 0, 0, 0, 2385, 0, 0,
- 2384, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 198, 200, 208, 221, 231, 235, 242, 260,
- 275, 277, 284, 297, 309, 317, 318, 321, 327, 377,
- 383, 384, 385, 386, 406, 407, 408, 411, 414, 415,
- 418, 420, 421, 424, 428, 432, 433, 434, 436, 438,
- 440, 452, 457, 471, 472, 473, 474, 475, 478, 479,
- 484, 485, 486, 487, 488, 496, 497, 510, 580, 582,
- 597, 615, 621, 477, 300, 301, 441, 442, 313, 314,
- 635, 636, 299, 592, 622, 590, 634, 616, 435, 375,
- 0, 0, 378, 280, 304, 319, 0, 607, 498, 226,
- 463, 289, 250, 0, 0, 210, 245, 229, 258, 273,
- 276, 323, 388, 397, 426, 431, 295, 270, 243, 456,
- 240, 481, 513, 514, 515, 517, 392, 265, 430, 393,
- 0, 373, 570, 571, 315, 0, 522, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 413, 0,
- 0, 0, 2332, 0, 0, 0, 0, 269, 0, 0,
- 0, 0, 363, 266, 0, 0, 427, 0, 203, 0,
- 483, 251, 374, 371, 577, 281, 272, 268, 249, 316,
- 382, 425, 512, 419, 0, 367, 0, 0, 493, 398,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 322, 247, 324, 202, 410,
- 494, 285, 0, 0, 0, 0, 1931, 194, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 237, 0, 0,
- 244, 0, 0, 0, 348, 357, 356, 337, 338, 340,
- 342, 347, 354, 360, 0, 0, 0, 0, 0, 264,
- 320, 271, 263, 574, 0, 0, 0, 0, 0, 0,
- 0, 0, 228, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 274, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 296,
- 0, 399, 256, 0, 450, 0, 0, 0, 618, 0,
- 0, 0, 0, 0, 0, 0, 362, 0, 329, 197,
- 224, 0, 0, 409, 458, 470, 0, 0, 0, 252,
- 0, 468, 423, 596, 232, 283, 455, 429, 466, 437,
- 286, 0, 2330, 467, 369, 579, 447, 593, 619, 620,
- 262, 403, 605, 516, 613, 637, 225, 259, 417, 501,
- 599, 490, 394, 575, 576, 328, 489, 294, 201, 366,
- 625, 223, 476, 368, 241, 230, 581, 602, 298, 288,
- 453, 632, 212, 511, 591, 238, 480, 0, 0, 640,
- 246, 500, 214, 588, 499, 390, 325, 326, 213, 0,
- 454, 267, 292, 0, 0, 257, 412, 583, 584, 255,
- 641, 227, 612, 219, 0, 611, 405, 578, 589, 391,
- 380, 218, 587, 389, 379, 333, 352, 353, 279, 306,
- 444, 372, 445, 305, 307, 401, 400, 402, 206, 600,
- 0, 207, 0, 495, 601, 642, 449, 211, 233, 234,
- 236, 0, 278, 282, 290, 293, 302, 303, 312, 364,
- 416, 443, 439, 448, 0, 573, 594, 606, 617, 623,
- 624, 626, 627, 628, 629, 630, 633, 631, 404, 310,
- 491, 332, 370, 0, 0, 422, 469, 239, 598, 492,
- 199, 0, 0, 0, 0, 253, 254, 0, 569, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 643, 644,
- 645, 646, 647, 648, 649, 650, 651, 652, 653, 654,
- 655, 656, 657, 658, 659, 660, 638, 502, 508, 503,
- 504, 505, 506, 507, 0, 509, 0, 0, 0, 0,
- 0, 395, 0, 585, 586, 661, 381, 482, 595, 334,
- 346, 349, 339, 358, 0, 359, 335, 336, 341, 343,
- 344, 345, 350, 351, 355, 361, 248, 209, 387, 396,
- 572, 311, 215, 216, 217, 518, 519, 520, 521, 609,
- 610, 614, 204, 459, 460, 461, 462, 291, 604, 308,
- 465, 464, 330, 331, 376, 446, 534, 536, 547, 551,
- 553, 555, 561, 564, 535, 537, 548, 552, 554, 556,
- 562, 565, 524, 526, 528, 530, 543, 542, 539, 567,
- 568, 545, 550, 529, 541, 546, 559, 566, 563, 523,
- 527, 531, 540, 558, 557, 538, 549, 560, 544, 532,
- 525, 533, 0, 196, 220, 365, 0, 451, 287, 639,
- 608, 603, 205, 222, 0, 261, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 198, 200, 208,
- 221, 231, 235, 242, 260, 275, 277, 284, 297, 309,
- 317, 318, 321, 327, 377, 383, 384, 385, 386, 406,
- 407, 408, 411, 414, 415, 418, 420, 421, 424, 428,
- 432, 433, 434, 436, 438, 440, 452, 457, 471, 472,
- 473, 474, 475, 478, 479, 484, 485, 486, 487, 488,
- 496, 497, 510, 580, 582, 597, 615, 621, 477, 300,
- 301, 441, 442, 313, 314, 635, 636, 299, 592, 622,
- 590, 634, 616, 435, 375, 0, 0, 378, 280, 304,
- 319, 0, 607, 498, 226, 463, 289, 250, 0, 0,
- 210, 245, 229, 258, 273, 276, 323, 388, 397, 426,
- 431, 295, 270, 243, 456, 240, 481, 513, 514, 515,
- 517, 392, 265, 430, 393, 0, 373, 570, 571, 315,
- 0, 522, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 413, 0, 0, 0, 0, 0, 0,
- 0, 0, 269, 0, 0, 0, 0, 363, 266, 0,
- 0, 427, 0, 203, 0, 483, 251, 374, 371, 577,
- 281, 272, 268, 249, 316, 382, 425, 512, 419, 0,
- 367, 0, 0, 493, 398, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 322, 247, 324, 202, 410, 494, 285, 0, 0, 0,
- 0, 0, 711, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 237, 0, 0, 244, 0, 0, 0, 348,
- 357, 356, 337, 338, 340, 342, 347, 354, 360, 0,
- 0, 0, 0, 0, 264, 320, 271, 263, 574, 0,
- 0, 0, 0, 0, 0, 0, 0, 228, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 274, 0, 0, 0, 0, 0, 0, 0,
- 0, 1077, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 296, 0, 399, 256, 0, 450,
- 0, 0, 0, 618, 0, 0, 0, 0, 0, 0,
- 0, 362, 1083, 329, 197, 224, 1081, 0, 409, 458,
- 470, 0, 0, 0, 252, 0, 468, 423, 596, 232,
- 283, 455, 429, 466, 437, 286, 0, 0, 467, 369,
- 579, 447, 593, 619, 620, 262, 403, 605, 516, 613,
- 637, 225, 259, 417, 501, 599, 490, 394, 575, 576,
- 328, 489, 294, 201, 366, 625, 223, 476, 368, 241,
- 230, 581, 602, 298, 288, 453, 632, 212, 511, 591,
- 238, 480, 0, 0, 640, 246, 500, 214, 588, 499,
- 390, 325, 326, 213, 0, 454, 267, 292, 0, 0,
- 257, 412, 583, 584, 255, 641, 227, 612, 219, 0,
- 611, 405, 578, 589, 391, 380, 218, 587, 389, 379,
- 333, 352, 353, 279, 306, 444, 372, 445, 305, 307,
- 401, 400, 402, 206, 600, 0, 207, 0, 495, 601,
- 642, 449, 211, 233, 234, 236, 0, 278, 282, 290,
- 293, 302, 303, 312, 364, 416, 443, 439, 448, 0,
- 573, 594, 606, 617, 623, 624, 626, 627, 628, 629,
- 630, 633, 631, 404, 310, 491, 332, 370, 0, 0,
- 422, 469, 239, 598, 492, 199, 0, 0, 0, 0,
- 253, 254, 0, 569, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 643, 644, 645, 646, 647, 648, 649,
+ 1005, 1006, 1007, 1008, 2087, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 296, 0, 399, 256, 0,
+ 450, 904, 0, 0, 619, 0, 0, 902, 0, 0,
+ 0, 0, 362, 0, 329, 197, 224, 0, 0, 409,
+ 458, 470, 0, 0, 0, 955, 0, 468, 423, 596,
+ 232, 283, 455, 429, 466, 437, 286, 0, 0, 467,
+ 369, 579, 447, 593, 620, 621, 262, 403, 606, 516,
+ 614, 638, 225, 259, 417, 501, 599, 490, 394, 575,
+ 576, 328, 489, 294, 201, 366, 626, 223, 476, 368,
+ 241, 230, 581, 603, 298, 288, 453, 633, 212, 511,
+ 591, 238, 480, 0, 0, 641, 246, 500, 214, 588,
+ 499, 390, 325, 326, 213, 0, 454, 267, 292, 0,
+ 0, 257, 412, 956, 957, 255, 642, 801, 613, 219,
+ 0, 612, 405, 578, 589, 391, 380, 218, 587, 389,
+ 379, 333, 809, 810, 279, 306, 886, 885, 884, 305,
+ 307, 882, 883, 881, 206, 600, 0, 207, 0, 495,
+ 602, 643, 449, 211, 233, 234, 236, 0, 278, 282,
+ 290, 293, 302, 303, 312, 364, 416, 443, 439, 448,
+ 0, 573, 594, 607, 618, 624, 625, 627, 628, 629,
+ 630, 631, 634, 632, 404, 310, 491, 332, 370, 0,
+ 0, 422, 469, 239, 598, 492, 892, 914, 903, 769,
+ 770, 893, 894, 918, 895, 772, 773, 915, 916, 766,
+ 767, 771, 917, 919, 644, 645, 646, 647, 648, 649,
650, 651, 652, 653, 654, 655, 656, 657, 658, 659,
- 660, 638, 502, 508, 503, 504, 505, 506, 507, 0,
- 509, 0, 0, 0, 0, 0, 395, 0, 585, 586,
- 661, 381, 482, 595, 334, 346, 349, 339, 358, 0,
- 359, 335, 336, 341, 343, 344, 345, 350, 351, 355,
- 361, 248, 209, 387, 396, 572, 311, 215, 216, 217,
- 518, 519, 520, 521, 609, 610, 614, 204, 459, 460,
- 461, 462, 291, 604, 308, 465, 464, 330, 331, 376,
- 446, 534, 536, 547, 551, 553, 555, 561, 564, 535,
- 537, 548, 552, 554, 556, 562, 565, 524, 526, 528,
- 530, 543, 542, 539, 567, 568, 545, 550, 529, 541,
- 546, 559, 566, 563, 523, 527, 531, 540, 558, 557,
- 538, 549, 560, 544, 532, 525, 533, 0, 196, 220,
- 365, 0, 451, 287, 639, 608, 603, 205, 222, 0,
- 261, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 198, 200, 208, 221, 231, 235, 242, 260,
- 275, 277, 284, 297, 309, 317, 318, 321, 327, 377,
- 383, 384, 385, 386, 406, 407, 408, 411, 414, 415,
- 418, 420, 421, 424, 428, 432, 433, 434, 436, 438,
- 440, 452, 457, 471, 472, 473, 474, 475, 478, 479,
- 484, 485, 486, 487, 488, 496, 497, 510, 580, 582,
- 597, 615, 621, 477, 300, 301, 441, 442, 313, 314,
- 635, 636, 299, 592, 622, 590, 634, 616, 435, 375,
- 0, 0, 378, 280, 304, 319, 0, 607, 498, 226,
- 463, 289, 250, 0, 0, 210, 245, 229, 258, 273,
- 276, 323, 388, 397, 426, 431, 295, 270, 243, 456,
- 240, 481, 513, 514, 515, 517, 392, 265, 430, 393,
- 0, 373, 570, 571, 315, 0, 522, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 413, 0,
- 0, 0, 2332, 0, 0, 0, 0, 269, 0, 0,
- 0, 0, 363, 266, 0, 0, 427, 0, 203, 0,
- 483, 251, 374, 371, 577, 281, 272, 268, 249, 316,
- 382, 425, 512, 419, 0, 367, 0, 0, 493, 398,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 322, 247, 324, 202, 410,
- 494, 285, 0, 0, 0, 0, 1931, 194, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 237, 0, 0,
- 244, 0, 0, 0, 348, 357, 356, 337, 338, 340,
- 342, 347, 354, 360, 0, 0, 0, 0, 0, 264,
- 320, 271, 263, 574, 0, 0, 0, 0, 0, 0,
- 0, 0, 228, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 274, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 660, 661, 639, 502, 508, 503, 504, 505, 506, 507,
+ 0, 509, 906, 755, 754, 0, 761, 762, 0, 791,
+ 792, 794, 798, 799, 800, 811, 858, 859, 867, 869,
+ 870, 868, 871, 872, 873, 876, 877, 878, 879, 874,
+ 875, 880, 774, 778, 775, 776, 777, 789, 779, 780,
+ 781, 782, 783, 784, 785, 786, 787, 788, 790, 929,
+ 930, 931, 932, 933, 934, 804, 808, 807, 805, 806,
+ 802, 803, 830, 829, 831, 832, 833, 834, 835, 836,
+ 838, 837, 839, 840, 841, 842, 843, 844, 812, 813,
+ 816, 817, 815, 814, 818, 827, 828, 819, 820, 821,
+ 822, 823, 824, 826, 825, 845, 846, 847, 848, 849,
+ 851, 850, 854, 855, 853, 852, 857, 856, 753, 196,
+ 220, 365, 0, 451, 287, 640, 609, 604, 205, 222,
+ 920, 261, 921, 0, 0, 925, 0, 0, 0, 927,
+ 926, 0, 928, 890, 889, 0, 0, 922, 923, 0,
+ 924, 0, 0, 198, 200, 208, 221, 231, 235, 242,
+ 260, 275, 277, 284, 297, 309, 317, 318, 321, 327,
+ 377, 383, 384, 385, 386, 406, 407, 408, 411, 414,
+ 415, 418, 420, 421, 424, 428, 432, 433, 434, 436,
+ 438, 440, 452, 457, 471, 472, 473, 474, 475, 478,
+ 479, 484, 485, 486, 487, 488, 496, 497, 510, 580,
+ 582, 597, 616, 622, 477, 935, 936, 937, 938, 939,
+ 940, 941, 942, 299, 592, 623, 590, 635, 617, 435,
+ 375, 0, 0, 378, 280, 304, 319, 0, 608, 498,
+ 226, 463, 289, 250, 960, 0, 210, 245, 229, 258,
+ 273, 276, 323, 388, 397, 426, 431, 295, 270, 243,
+ 456, 240, 481, 513, 514, 515, 517, 392, 265, 430,
+ 393, 0, 373, 570, 571, 315, 0, 522, 0, 765,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 413,
+ 0, 0, 0, 0, 752, 0, 0, 0, 269, 757,
+ 0, 0, 0, 363, 266, 0, 0, 427, 0, 203,
+ 0, 483, 251, 374, 371, 577, 281, 272, 268, 249,
+ 316, 382, 425, 512, 419, 764, 367, 0, 0, 493,
+ 398, 0, 0, 0, 0, 0, 759, 760, 0, 0,
+ 0, 0, 0, 0, 0, 0, 322, 247, 324, 202,
+ 410, 494, 285, 0, 95, 0, 0, 1009, 945, 1076,
+ 911, 949, 1010, 962, 963, 964, 950, 0, 237, 951,
+ 952, 244, 953, 0, 910, 795, 797, 796, 860, 861,
+ 862, 863, 864, 865, 866, 793, 958, 601, 965, 966,
+ 0, 264, 320, 271, 263, 574, 0, 0, 0, 0,
+ 0, 0, 0, 0, 228, 0, 0, 0, 0, 0,
+ 0, 0, 0, 749, 0, 763, 0, 0, 0, 274,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 746, 747, 0, 0,
+ 0, 0, 905, 0, 748, 0, 0, 756, 967, 968,
+ 969, 970, 971, 972, 973, 974, 975, 976, 977, 978,
+ 979, 980, 981, 982, 983, 984, 985, 986, 987, 988,
+ 989, 990, 991, 992, 993, 994, 995, 996, 997, 998,
+ 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008,
+ 2085, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 296, 0, 399, 256, 0, 450, 904, 0, 0,
+ 619, 0, 0, 902, 0, 0, 0, 0, 362, 0,
+ 329, 197, 224, 0, 0, 409, 458, 470, 0, 0,
+ 0, 955, 0, 468, 423, 596, 232, 283, 455, 429,
+ 466, 437, 286, 0, 0, 467, 369, 579, 447, 593,
+ 620, 621, 262, 403, 606, 516, 614, 638, 225, 259,
+ 417, 501, 599, 490, 394, 575, 576, 328, 489, 294,
+ 201, 366, 626, 223, 476, 368, 241, 230, 581, 603,
+ 298, 288, 453, 633, 212, 511, 591, 238, 480, 0,
+ 0, 641, 246, 500, 214, 588, 499, 390, 325, 326,
+ 213, 0, 454, 267, 292, 0, 0, 257, 412, 956,
+ 957, 255, 642, 801, 613, 219, 0, 612, 405, 578,
+ 589, 391, 380, 218, 587, 389, 379, 333, 809, 810,
+ 279, 306, 886, 885, 884, 305, 307, 882, 883, 881,
+ 206, 600, 0, 207, 0, 495, 602, 643, 449, 211,
+ 233, 234, 236, 0, 278, 282, 290, 293, 302, 303,
+ 312, 364, 416, 443, 439, 448, 0, 573, 594, 607,
+ 618, 624, 625, 627, 628, 629, 630, 631, 634, 632,
+ 404, 310, 491, 332, 370, 0, 0, 422, 469, 239,
+ 598, 492, 892, 914, 903, 769, 770, 893, 894, 918,
+ 895, 772, 773, 915, 916, 766, 767, 771, 917, 919,
+ 644, 645, 646, 647, 648, 649, 650, 651, 652, 653,
+ 654, 655, 656, 657, 658, 659, 660, 661, 639, 502,
+ 508, 503, 504, 505, 506, 507, 0, 509, 906, 755,
+ 754, 0, 761, 762, 0, 791, 792, 794, 798, 799,
+ 800, 811, 858, 859, 867, 869, 870, 868, 871, 872,
+ 873, 876, 877, 878, 879, 874, 875, 880, 774, 778,
+ 775, 776, 777, 789, 779, 780, 781, 782, 783, 784,
+ 785, 786, 787, 788, 790, 929, 930, 931, 932, 933,
+ 934, 804, 808, 807, 805, 806, 802, 803, 830, 829,
+ 831, 832, 833, 834, 835, 836, 838, 837, 839, 840,
+ 841, 842, 843, 844, 812, 813, 816, 817, 815, 814,
+ 818, 827, 828, 819, 820, 821, 822, 823, 824, 826,
+ 825, 845, 846, 847, 848, 849, 851, 850, 854, 855,
+ 853, 852, 857, 856, 753, 196, 220, 365, 0, 451,
+ 287, 640, 609, 604, 205, 222, 920, 261, 921, 0,
+ 0, 925, 0, 0, 0, 927, 926, 0, 928, 890,
+ 889, 0, 0, 922, 923, 0, 924, 0, 0, 198,
+ 200, 208, 221, 231, 235, 242, 260, 275, 277, 284,
+ 297, 309, 317, 318, 321, 327, 377, 383, 384, 385,
+ 386, 406, 407, 408, 411, 414, 415, 418, 420, 421,
+ 424, 428, 432, 433, 434, 436, 438, 440, 452, 457,
+ 471, 472, 473, 474, 475, 478, 479, 484, 485, 486,
+ 487, 488, 496, 497, 510, 580, 582, 597, 616, 622,
+ 477, 935, 936, 937, 938, 939, 940, 941, 942, 299,
+ 592, 623, 590, 635, 617, 435, 375, 0, 0, 378,
+ 280, 304, 319, 0, 608, 498, 226, 463, 289, 250,
+ 960, 0, 210, 245, 229, 258, 273, 276, 323, 388,
+ 397, 426, 431, 295, 270, 243, 456, 240, 481, 513,
+ 514, 515, 517, 392, 265, 430, 393, 0, 373, 570,
+ 571, 315, 0, 522, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 413, 0, 0, 0, 0,
+ 0, 0, 0, 0, 269, 0, 0, 0, 0, 363,
+ 266, 0, 0, 427, 0, 203, 0, 483, 251, 374,
+ 371, 577, 281, 272, 268, 249, 316, 382, 425, 512,
+ 419, 0, 367, 0, 0, 493, 398, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 322, 247, 324, 202, 410, 494, 285, 0,
+ 0, 0, 0, 0, 712, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 237, 0, 0, 244, 0, 0,
+ 0, 348, 357, 356, 337, 338, 340, 342, 347, 354,
+ 360, 0, 0, 601, 0, 0, 0, 264, 320, 271,
+ 263, 574, 0, 0, 0, 0, 0, 0, 0, 0,
+ 228, 0, 1127, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 274, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 296,
- 0, 399, 256, 0, 450, 0, 0, 0, 618, 0,
- 0, 0, 0, 0, 0, 0, 362, 0, 329, 197,
- 224, 0, 0, 409, 458, 470, 0, 0, 0, 252,
- 0, 468, 423, 596, 232, 283, 455, 429, 466, 437,
- 286, 0, 0, 467, 369, 579, 447, 593, 619, 620,
- 262, 403, 605, 516, 613, 637, 225, 259, 417, 501,
- 599, 490, 394, 575, 576, 328, 489, 294, 201, 366,
- 625, 223, 476, 368, 241, 230, 581, 602, 298, 288,
- 453, 632, 212, 511, 591, 238, 480, 0, 0, 640,
- 246, 500, 214, 588, 499, 390, 325, 326, 213, 0,
- 454, 267, 292, 0, 0, 257, 412, 583, 584, 255,
- 641, 227, 612, 219, 0, 611, 405, 578, 589, 391,
- 380, 218, 587, 389, 379, 333, 352, 353, 279, 306,
- 444, 372, 445, 305, 307, 401, 400, 402, 206, 600,
- 0, 207, 0, 495, 601, 642, 449, 211, 233, 234,
- 236, 0, 278, 282, 290, 293, 302, 303, 312, 364,
- 416, 443, 439, 448, 0, 573, 594, 606, 617, 623,
- 624, 626, 627, 628, 629, 630, 633, 631, 404, 310,
- 491, 332, 370, 0, 0, 422, 469, 239, 598, 492,
- 199, 0, 0, 0, 0, 253, 254, 0, 569, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 643, 644,
- 645, 646, 647, 648, 649, 650, 651, 652, 653, 654,
- 655, 656, 657, 658, 659, 660, 638, 502, 508, 503,
- 504, 505, 506, 507, 0, 509, 0, 0, 0, 0,
- 0, 395, 0, 585, 586, 661, 381, 482, 595, 334,
- 346, 349, 339, 358, 0, 359, 335, 336, 341, 343,
- 344, 345, 350, 351, 355, 361, 248, 209, 387, 396,
- 572, 311, 215, 216, 217, 518, 519, 520, 521, 609,
- 610, 614, 204, 459, 460, 461, 462, 291, 604, 308,
- 465, 464, 330, 331, 376, 446, 534, 536, 547, 551,
- 553, 555, 561, 564, 535, 537, 548, 552, 554, 556,
- 562, 565, 524, 526, 528, 530, 543, 542, 539, 567,
- 568, 545, 550, 529, 541, 546, 559, 566, 563, 523,
- 527, 531, 540, 558, 557, 538, 549, 560, 544, 532,
- 525, 533, 0, 196, 220, 365, 0, 451, 287, 639,
- 608, 603, 205, 222, 0, 261, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 198, 200, 208,
- 221, 231, 235, 242, 260, 275, 277, 284, 297, 309,
- 317, 318, 321, 327, 377, 383, 384, 385, 386, 406,
- 407, 408, 411, 414, 415, 418, 420, 421, 424, 428,
- 432, 433, 434, 436, 438, 440, 452, 457, 471, 472,
- 473, 474, 475, 478, 479, 484, 485, 486, 487, 488,
- 496, 497, 510, 580, 582, 597, 615, 621, 477, 300,
- 301, 441, 442, 313, 314, 635, 636, 299, 592, 622,
- 590, 634, 616, 435, 375, 0, 0, 378, 280, 304,
- 319, 0, 607, 498, 226, 463, 289, 250, 0, 0,
- 210, 245, 229, 258, 273, 276, 323, 388, 397, 426,
- 431, 295, 270, 243, 456, 240, 481, 513, 514, 515,
- 517, 392, 265, 430, 393, 0, 373, 570, 571, 315,
- 0, 522, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 413, 0, 0, 0, 0, 0, 0,
- 0, 0, 269, 0, 0, 0, 0, 363, 266, 0,
- 0, 427, 0, 203, 0, 483, 251, 374, 371, 577,
- 281, 272, 268, 249, 316, 382, 425, 512, 419, 0,
- 367, 0, 0, 493, 398, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 322, 247, 324, 202, 410, 494, 285, 0, 0, 0,
- 1725, 0, 711, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 237, 0, 0, 244, 0, 0, 0, 348,
- 357, 356, 337, 338, 340, 342, 347, 354, 360, 0,
- 0, 0, 0, 0, 264, 320, 271, 263, 574, 0,
- 0, 0, 0, 0, 0, 0, 0, 228, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 274, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 296, 0, 399,
+ 256, 0, 450, 0, 0, 1126, 619, 0, 0, 0,
+ 0, 0, 1123, 1124, 362, 1084, 329, 197, 224, 1117,
+ 1121, 409, 458, 470, 0, 0, 0, 252, 0, 468,
+ 423, 596, 232, 283, 455, 429, 466, 437, 286, 0,
+ 0, 467, 369, 579, 447, 593, 620, 621, 262, 403,
+ 606, 516, 614, 638, 225, 259, 417, 501, 599, 490,
+ 394, 575, 576, 328, 489, 294, 201, 366, 626, 223,
+ 476, 368, 241, 230, 581, 603, 298, 288, 453, 633,
+ 212, 511, 591, 238, 480, 0, 0, 641, 246, 500,
+ 214, 588, 499, 390, 325, 326, 213, 0, 454, 267,
+ 292, 0, 0, 257, 412, 583, 584, 255, 642, 227,
+ 613, 219, 0, 612, 405, 578, 589, 391, 380, 218,
+ 587, 389, 379, 333, 352, 353, 279, 306, 444, 372,
+ 445, 305, 307, 401, 400, 402, 206, 600, 0, 207,
+ 0, 495, 602, 643, 449, 211, 233, 234, 236, 0,
+ 278, 282, 290, 293, 302, 303, 312, 364, 416, 443,
+ 439, 448, 0, 573, 594, 607, 618, 624, 625, 627,
+ 628, 629, 630, 631, 634, 632, 404, 310, 491, 332,
+ 370, 0, 0, 422, 469, 239, 598, 492, 199, 0,
+ 0, 0, 0, 253, 254, 0, 569, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 644, 645, 646, 647,
+ 648, 649, 650, 651, 652, 653, 654, 655, 656, 657,
+ 658, 659, 660, 661, 639, 502, 508, 503, 504, 505,
+ 506, 507, 0, 509, 0, 0, 0, 0, 0, 395,
+ 0, 585, 586, 662, 381, 482, 595, 334, 346, 349,
+ 339, 358, 0, 359, 335, 336, 341, 343, 344, 345,
+ 350, 351, 355, 361, 248, 209, 387, 396, 572, 311,
+ 215, 216, 217, 518, 519, 520, 521, 610, 611, 615,
+ 204, 459, 460, 461, 462, 291, 605, 308, 465, 464,
+ 330, 331, 376, 446, 534, 536, 547, 551, 553, 555,
+ 561, 564, 535, 537, 548, 552, 554, 556, 562, 565,
+ 524, 526, 528, 530, 543, 542, 539, 567, 568, 545,
+ 550, 529, 541, 546, 559, 566, 563, 523, 527, 531,
+ 540, 558, 557, 538, 549, 560, 544, 532, 525, 533,
+ 0, 196, 220, 365, 0, 451, 287, 640, 609, 604,
+ 205, 222, 0, 261, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 198, 200, 208, 221, 231,
+ 235, 242, 260, 275, 277, 284, 297, 309, 317, 318,
+ 321, 327, 377, 383, 384, 385, 386, 406, 407, 408,
+ 411, 414, 415, 418, 420, 421, 424, 428, 432, 433,
+ 434, 436, 438, 440, 452, 457, 471, 472, 473, 474,
+ 475, 478, 479, 484, 485, 486, 487, 488, 496, 497,
+ 510, 580, 582, 597, 616, 622, 477, 300, 301, 441,
+ 442, 313, 314, 636, 637, 299, 592, 623, 590, 635,
+ 617, 435, 375, 0, 0, 378, 280, 304, 319, 0,
+ 608, 498, 226, 463, 289, 250, 0, 0, 210, 245,
+ 229, 258, 273, 276, 323, 388, 397, 426, 431, 295,
+ 270, 243, 456, 240, 481, 513, 514, 515, 517, 392,
+ 265, 430, 393, 0, 373, 570, 571, 315, 0, 522,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 413, 0, 0, 0, 0, 0, 0, 0, 0,
+ 269, 0, 0, 0, 0, 363, 266, 0, 0, 427,
+ 0, 203, 0, 483, 251, 374, 371, 577, 281, 272,
+ 268, 249, 316, 382, 425, 512, 419, 0, 367, 0,
+ 0, 493, 398, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 322, 247,
+ 324, 202, 410, 494, 285, 0, 0, 0, 0, 1687,
+ 945, 0, 0, 1684, 0, 0, 0, 0, 1682, 0,
+ 237, 1683, 1681, 244, 1686, 0, 910, 348, 357, 356,
+ 337, 338, 340, 342, 347, 354, 360, 0, 0, 601,
+ 0, 0, 0, 264, 320, 271, 263, 574, 0, 0,
+ 0, 0, 0, 0, 0, 0, 228, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 274, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 296, 0, 399, 256, 0, 450,
- 0, 0, 0, 618, 0, 0, 0, 3674, 0, 0,
- 0, 362, 0, 329, 197, 224, 0, 0, 409, 458,
- 470, 0, 0, 0, 252, 0, 468, 423, 596, 232,
- 283, 455, 429, 466, 437, 286, 0, 0, 467, 369,
- 579, 447, 593, 619, 620, 262, 403, 605, 516, 613,
- 637, 225, 259, 417, 501, 599, 490, 394, 575, 576,
- 328, 489, 294, 201, 366, 625, 223, 476, 368, 241,
- 230, 581, 602, 298, 288, 453, 632, 212, 511, 591,
- 238, 480, 0, 0, 640, 246, 500, 214, 588, 499,
- 390, 325, 326, 213, 0, 454, 267, 292, 0, 0,
- 257, 412, 583, 584, 255, 641, 227, 612, 219, 0,
- 611, 405, 578, 589, 391, 380, 218, 587, 389, 379,
- 333, 352, 353, 279, 306, 444, 372, 445, 305, 307,
- 401, 400, 402, 206, 600, 0, 207, 0, 495, 601,
- 642, 449, 211, 233, 234, 236, 0, 278, 282, 290,
- 293, 302, 303, 312, 364, 416, 443, 439, 448, 0,
- 573, 594, 606, 617, 623, 624, 626, 627, 628, 629,
- 630, 633, 631, 404, 310, 491, 332, 370, 0, 0,
- 422, 469, 239, 598, 492, 199, 0, 0, 0, 0,
- 253, 254, 0, 569, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 643, 644, 645, 646, 647, 648, 649,
- 650, 651, 652, 653, 654, 655, 656, 657, 658, 659,
- 660, 638, 502, 508, 503, 504, 505, 506, 507, 0,
- 509, 0, 0, 0, 0, 0, 395, 0, 585, 586,
- 661, 381, 482, 595, 334, 346, 349, 339, 358, 0,
- 359, 335, 336, 341, 343, 344, 345, 350, 351, 355,
- 361, 248, 209, 387, 396, 572, 311, 215, 216, 217,
- 518, 519, 520, 521, 609, 610, 614, 204, 459, 460,
- 461, 462, 291, 604, 308, 465, 464, 330, 331, 376,
- 446, 534, 536, 547, 551, 553, 555, 561, 564, 535,
- 537, 548, 552, 554, 556, 562, 565, 524, 526, 528,
- 530, 543, 542, 539, 567, 568, 545, 550, 529, 541,
- 546, 559, 566, 563, 523, 527, 531, 540, 558, 557,
- 538, 549, 560, 544, 532, 525, 533, 0, 196, 220,
- 365, 0, 451, 287, 639, 608, 603, 205, 222, 0,
- 261, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 198, 200, 208, 221, 231, 235, 242, 260,
- 275, 277, 284, 297, 309, 317, 318, 321, 327, 377,
- 383, 384, 385, 386, 406, 407, 408, 411, 414, 415,
- 418, 420, 421, 424, 428, 432, 433, 434, 436, 438,
- 440, 452, 457, 471, 472, 473, 474, 475, 478, 479,
- 484, 485, 486, 487, 488, 496, 497, 510, 580, 582,
- 597, 615, 621, 477, 300, 301, 441, 442, 313, 314,
- 635, 636, 299, 592, 622, 590, 634, 616, 435, 375,
- 0, 0, 378, 280, 304, 319, 0, 607, 498, 226,
- 463, 289, 250, 0, 0, 210, 245, 229, 258, 273,
- 276, 323, 388, 397, 426, 431, 295, 270, 243, 456,
- 240, 481, 513, 514, 515, 517, 392, 265, 430, 393,
- 0, 373, 570, 571, 315, 0, 522, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 413, 0,
- 0, 0, 0, 0, 0, 0, 0, 269, 0, 0,
- 0, 0, 363, 266, 0, 0, 427, 0, 203, 0,
- 483, 251, 374, 371, 577, 281, 272, 268, 249, 316,
- 382, 425, 512, 419, 0, 367, 0, 0, 493, 398,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 322, 247, 324, 202, 410,
- 494, 285, 0, 0, 0, 0, 2093, 711, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 237, 0, 0,
- 244, 0, 0, 0, 348, 357, 356, 337, 338, 340,
- 342, 347, 354, 360, 0, 0, 0, 0, 0, 264,
- 320, 271, 263, 574, 0, 0, 0, 0, 0, 0,
- 0, 0, 228, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 274, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 2094, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 296, 0, 399, 256, 0, 450, 0,
+ 0, 0, 619, 0, 0, 0, 0, 0, 0, 0,
+ 362, 0, 329, 197, 224, 0, 0, 409, 458, 470,
+ 0, 0, 0, 252, 0, 468, 423, 596, 232, 283,
+ 455, 429, 466, 437, 286, 0, 0, 467, 369, 579,
+ 447, 593, 620, 621, 262, 403, 606, 516, 614, 638,
+ 225, 259, 417, 501, 599, 490, 394, 575, 576, 328,
+ 489, 294, 201, 366, 626, 223, 476, 368, 241, 230,
+ 581, 603, 298, 288, 453, 633, 212, 511, 591, 238,
+ 480, 0, 0, 641, 246, 500, 214, 588, 499, 390,
+ 325, 326, 213, 0, 454, 267, 292, 0, 0, 257,
+ 412, 583, 584, 255, 642, 227, 613, 219, 0, 612,
+ 405, 578, 589, 391, 380, 218, 587, 389, 379, 333,
+ 352, 353, 279, 306, 444, 372, 445, 305, 307, 401,
+ 400, 402, 206, 600, 0, 207, 0, 495, 602, 643,
+ 449, 211, 233, 234, 236, 0, 278, 282, 290, 293,
+ 302, 303, 312, 364, 416, 443, 439, 448, 0, 573,
+ 594, 607, 618, 624, 625, 627, 628, 629, 630, 631,
+ 634, 632, 404, 310, 491, 332, 370, 0, 0, 422,
+ 469, 239, 598, 492, 199, 0, 0, 0, 0, 253,
+ 254, 0, 569, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 644, 645, 646, 647, 648, 649, 650, 651,
+ 652, 653, 654, 655, 656, 657, 658, 659, 660, 661,
+ 639, 502, 508, 503, 504, 505, 506, 507, 0, 509,
+ 0, 0, 0, 0, 0, 395, 0, 585, 586, 662,
+ 381, 482, 595, 334, 346, 349, 339, 358, 0, 359,
+ 335, 336, 341, 343, 344, 345, 350, 351, 355, 361,
+ 248, 209, 387, 396, 572, 311, 215, 216, 217, 518,
+ 519, 520, 521, 610, 611, 615, 204, 459, 460, 461,
+ 462, 291, 605, 308, 465, 464, 330, 331, 376, 446,
+ 534, 536, 547, 551, 553, 555, 561, 564, 535, 537,
+ 548, 552, 554, 556, 562, 565, 524, 526, 528, 530,
+ 543, 542, 539, 567, 568, 545, 550, 529, 541, 546,
+ 559, 566, 563, 523, 527, 531, 540, 558, 557, 538,
+ 549, 560, 544, 532, 525, 533, 0, 196, 220, 365,
+ 0, 451, 287, 640, 609, 604, 205, 222, 0, 261,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 296,
- 0, 399, 256, 0, 450, 0, 0, 0, 618, 0,
- 0, 0, 0, 0, 0, 0, 362, 0, 329, 197,
- 224, 0, 0, 409, 458, 470, 0, 0, 0, 252,
- 0, 468, 423, 596, 232, 283, 455, 429, 466, 437,
- 286, 0, 0, 467, 369, 579, 447, 593, 619, 620,
- 262, 403, 605, 516, 613, 637, 225, 259, 417, 501,
- 599, 490, 394, 575, 576, 328, 489, 294, 201, 366,
- 625, 223, 476, 368, 241, 230, 581, 602, 298, 288,
- 453, 632, 212, 511, 591, 238, 480, 0, 0, 640,
- 246, 500, 214, 588, 499, 390, 325, 326, 213, 0,
- 454, 267, 292, 0, 0, 257, 412, 583, 584, 255,
- 641, 227, 612, 219, 0, 611, 405, 578, 589, 391,
- 380, 218, 587, 389, 379, 333, 352, 353, 279, 306,
- 444, 372, 445, 305, 307, 401, 400, 402, 206, 600,
- 0, 207, 0, 495, 601, 642, 449, 211, 233, 234,
- 236, 0, 278, 282, 290, 293, 302, 303, 312, 364,
- 416, 443, 439, 448, 0, 573, 594, 606, 617, 623,
- 624, 626, 627, 628, 629, 630, 633, 631, 404, 310,
- 491, 332, 370, 0, 0, 422, 469, 239, 598, 492,
- 199, 0, 0, 0, 0, 253, 254, 0, 569, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 643, 644,
- 645, 646, 647, 648, 649, 650, 651, 652, 653, 654,
- 655, 656, 657, 658, 659, 660, 638, 502, 508, 503,
- 504, 505, 506, 507, 0, 509, 0, 0, 0, 0,
- 0, 395, 0, 585, 586, 661, 381, 482, 595, 334,
- 346, 349, 339, 358, 0, 359, 335, 336, 341, 343,
- 344, 345, 350, 351, 355, 361, 248, 209, 387, 396,
- 572, 311, 215, 216, 217, 518, 519, 520, 521, 609,
- 610, 614, 204, 459, 460, 461, 462, 291, 604, 308,
- 465, 464, 330, 331, 376, 446, 534, 536, 547, 551,
- 553, 555, 561, 564, 535, 537, 548, 552, 554, 556,
- 562, 565, 524, 526, 528, 530, 543, 542, 539, 567,
- 568, 545, 550, 529, 541, 546, 559, 566, 563, 523,
- 527, 531, 540, 558, 557, 538, 549, 560, 544, 532,
- 525, 533, 0, 196, 220, 365, 0, 451, 287, 639,
- 608, 603, 205, 222, 0, 261, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 198, 200, 208,
- 221, 231, 235, 242, 260, 275, 277, 284, 297, 309,
- 317, 318, 321, 327, 377, 383, 384, 385, 386, 406,
- 407, 408, 411, 414, 415, 418, 420, 421, 424, 428,
- 432, 433, 434, 436, 438, 440, 452, 457, 471, 472,
- 473, 474, 475, 478, 479, 484, 485, 486, 487, 488,
- 496, 497, 510, 580, 582, 597, 615, 621, 477, 300,
- 301, 441, 442, 313, 314, 635, 636, 299, 592, 622,
- 590, 634, 616, 435, 375, 0, 0, 378, 280, 304,
- 319, 0, 607, 498, 226, 463, 289, 250, 0, 0,
- 210, 245, 229, 258, 273, 276, 323, 388, 397, 426,
- 431, 295, 270, 243, 456, 240, 481, 513, 514, 515,
- 517, 392, 265, 430, 393, 0, 373, 570, 571, 315,
- 0, 522, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 413, 0, 0, 0, 0, 0, 0,
- 0, 0, 269, 0, 0, 0, 0, 363, 266, 0,
- 0, 427, 0, 203, 0, 483, 251, 374, 371, 577,
- 281, 272, 268, 249, 316, 382, 425, 512, 419, 0,
- 367, 0, 0, 493, 398, 0, 0, 0, 0, 0,
+ 0, 198, 200, 208, 221, 231, 235, 242, 260, 275,
+ 277, 284, 297, 309, 317, 318, 321, 327, 377, 383,
+ 384, 385, 386, 406, 407, 408, 411, 414, 415, 418,
+ 420, 421, 424, 428, 432, 433, 434, 436, 438, 440,
+ 452, 457, 471, 472, 473, 474, 475, 478, 479, 484,
+ 485, 486, 487, 488, 496, 497, 510, 580, 582, 597,
+ 616, 622, 477, 300, 301, 441, 442, 313, 314, 636,
+ 637, 299, 592, 623, 590, 635, 617, 435, 375, 0,
+ 0, 378, 280, 304, 319, 0, 608, 498, 226, 463,
+ 289, 250, 0, 0, 210, 245, 229, 258, 273, 276,
+ 323, 388, 397, 426, 431, 295, 270, 243, 456, 240,
+ 481, 513, 514, 515, 517, 392, 265, 430, 393, 0,
+ 373, 570, 571, 315, 86, 522, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 413, 0, 0,
+ 0, 0, 0, 0, 0, 0, 269, 0, 0, 0,
+ 0, 363, 266, 0, 0, 427, 0, 203, 0, 483,
+ 251, 374, 371, 577, 281, 272, 268, 249, 316, 382,
+ 425, 512, 419, 0, 367, 0, 0, 493, 398, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 322, 247, 324, 202, 410, 494, 285, 0, 0, 0,
- 0, 2829, 711, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 237, 0, 0, 244, 0, 0, 0, 348,
- 357, 356, 337, 338, 340, 342, 347, 354, 360, 0,
- 0, 0, 0, 0, 264, 320, 271, 263, 574, 0,
- 0, 0, 0, 0, 0, 0, 0, 228, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 274, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 2830, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 296, 0, 399, 256, 0, 450,
- 0, 0, 0, 618, 0, 0, 0, 0, 0, 0,
- 0, 362, 0, 329, 197, 224, 0, 0, 409, 458,
- 470, 0, 0, 0, 252, 0, 468, 423, 596, 232,
- 283, 455, 429, 466, 437, 286, 0, 0, 467, 369,
- 579, 447, 593, 619, 620, 262, 403, 605, 516, 613,
- 637, 225, 259, 417, 501, 599, 490, 394, 575, 576,
- 328, 489, 294, 201, 366, 625, 223, 476, 368, 241,
- 230, 581, 602, 298, 288, 453, 632, 212, 511, 591,
- 238, 480, 0, 0, 640, 246, 500, 214, 588, 499,
- 390, 325, 326, 213, 0, 454, 267, 292, 0, 0,
- 257, 412, 583, 584, 255, 641, 227, 612, 219, 0,
- 611, 405, 578, 589, 391, 380, 218, 587, 389, 379,
- 333, 352, 353, 279, 306, 444, 372, 445, 305, 307,
- 401, 400, 402, 206, 600, 0, 207, 0, 495, 601,
- 642, 449, 211, 233, 234, 236, 0, 278, 282, 290,
- 293, 302, 303, 312, 364, 416, 443, 439, 448, 0,
- 573, 594, 606, 617, 623, 624, 626, 627, 628, 629,
- 630, 633, 631, 404, 310, 491, 332, 370, 0, 0,
- 422, 469, 239, 598, 492, 199, 0, 0, 0, 0,
- 253, 254, 0, 569, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 643, 644, 645, 646, 647, 648, 649,
- 650, 651, 652, 653, 654, 655, 656, 657, 658, 659,
- 660, 638, 502, 508, 503, 504, 505, 506, 507, 0,
- 509, 0, 0, 0, 0, 0, 395, 0, 585, 586,
- 661, 381, 482, 595, 334, 346, 349, 339, 358, 0,
- 359, 335, 336, 341, 343, 344, 345, 350, 351, 355,
- 361, 248, 209, 387, 396, 572, 311, 215, 216, 217,
- 518, 519, 520, 521, 609, 610, 614, 204, 459, 460,
- 461, 462, 291, 604, 308, 465, 464, 330, 331, 376,
- 446, 534, 536, 547, 551, 553, 555, 561, 564, 535,
- 537, 548, 552, 554, 556, 562, 565, 524, 526, 528,
- 530, 543, 542, 539, 567, 568, 545, 550, 529, 541,
- 546, 559, 566, 563, 523, 527, 531, 540, 558, 557,
- 538, 549, 560, 544, 532, 525, 533, 0, 196, 220,
- 365, 0, 451, 287, 639, 608, 603, 205, 222, 0,
- 261, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 198, 200, 208, 221, 231, 235, 242, 260,
- 275, 277, 284, 297, 309, 317, 318, 321, 327, 377,
- 383, 384, 385, 386, 406, 407, 408, 411, 414, 415,
- 418, 420, 421, 424, 428, 432, 433, 434, 436, 438,
- 440, 452, 457, 471, 472, 473, 474, 475, 478, 479,
- 484, 485, 486, 487, 488, 496, 497, 510, 580, 582,
- 597, 615, 621, 477, 300, 301, 441, 442, 313, 314,
- 635, 636, 299, 592, 622, 590, 634, 616, 435, 375,
- 0, 0, 378, 280, 304, 319, 0, 607, 498, 226,
- 463, 289, 250, 0, 0, 210, 245, 229, 258, 273,
- 276, 323, 388, 397, 426, 431, 295, 270, 243, 456,
- 240, 481, 513, 514, 515, 517, 392, 265, 430, 393,
- 0, 373, 570, 571, 315, 0, 522, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 413, 0,
- 0, 0, 0, 0, 0, 0, 0, 269, 0, 0,
- 0, 0, 363, 266, 0, 0, 427, 0, 203, 0,
- 483, 251, 374, 371, 577, 281, 272, 268, 249, 316,
- 382, 425, 512, 419, 0, 367, 0, 0, 493, 398,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 322, 247, 324, 202, 410,
- 494, 285, 0, 0, 0, 0, 0, 711, 0, 0,
- 0, 0, 2814, 0, 0, 0, 0, 237, 0, 0,
- 244, 2815, 0, 0, 348, 357, 356, 337, 338, 340,
- 342, 347, 354, 360, 0, 0, 0, 0, 0, 264,
+ 0, 0, 0, 0, 322, 247, 324, 202, 410, 494,
+ 285, 0, 95, 0, 0, 0, 194, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 237, 0, 0, 244,
+ 0, 0, 0, 348, 357, 356, 337, 338, 340, 342,
+ 347, 354, 360, 0, 0, 601, 0, 0, 0, 264,
320, 271, 263, 574, 0, 0, 0, 0, 0, 0,
0, 0, 228, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 274, 0, 0,
@@ -5192,216 +4429,216 @@ var yyAct = [...]int{
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 296,
- 0, 399, 256, 0, 450, 0, 0, 0, 618, 0,
+ 0, 399, 256, 0, 450, 0, 0, 0, 619, 0,
0, 0, 0, 0, 0, 0, 362, 0, 329, 197,
224, 0, 0, 409, 458, 470, 0, 0, 0, 252,
0, 468, 423, 596, 232, 283, 455, 429, 466, 437,
- 286, 0, 0, 467, 369, 579, 447, 593, 619, 620,
- 262, 403, 605, 516, 613, 637, 225, 259, 417, 501,
+ 286, 0, 0, 467, 369, 579, 447, 593, 620, 621,
+ 262, 403, 606, 516, 614, 638, 225, 259, 417, 501,
599, 490, 394, 575, 576, 328, 489, 294, 201, 366,
- 625, 223, 476, 368, 241, 230, 581, 602, 298, 288,
- 453, 632, 212, 511, 591, 238, 480, 0, 0, 640,
+ 626, 223, 476, 368, 241, 230, 581, 603, 298, 288,
+ 453, 633, 212, 511, 591, 238, 480, 0, 0, 641,
246, 500, 214, 588, 499, 390, 325, 326, 213, 0,
454, 267, 292, 0, 0, 257, 412, 583, 584, 255,
- 641, 227, 612, 219, 0, 611, 405, 578, 589, 391,
+ 642, 227, 613, 219, 0, 612, 405, 578, 589, 391,
380, 218, 587, 389, 379, 333, 352, 353, 279, 306,
444, 372, 445, 305, 307, 401, 400, 402, 206, 600,
- 0, 207, 0, 495, 601, 642, 449, 211, 233, 234,
+ 0, 207, 0, 495, 602, 643, 449, 211, 233, 234,
236, 0, 278, 282, 290, 293, 302, 303, 312, 364,
- 416, 443, 439, 448, 0, 573, 594, 606, 617, 623,
- 624, 626, 627, 628, 629, 630, 633, 631, 404, 310,
+ 416, 443, 439, 448, 0, 573, 594, 607, 618, 624,
+ 625, 627, 628, 629, 630, 631, 634, 632, 404, 310,
491, 332, 370, 0, 0, 422, 469, 239, 598, 492,
199, 0, 0, 0, 0, 253, 254, 0, 569, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 643, 644,
- 645, 646, 647, 648, 649, 650, 651, 652, 653, 654,
- 655, 656, 657, 658, 659, 660, 638, 502, 508, 503,
+ 0, 0, 0, 0, 0, 0, 0, 0, 644, 645,
+ 646, 647, 648, 649, 650, 651, 652, 653, 654, 655,
+ 656, 657, 658, 659, 660, 661, 639, 502, 508, 503,
504, 505, 506, 507, 0, 509, 0, 0, 0, 0,
- 0, 395, 0, 585, 586, 661, 381, 482, 595, 334,
+ 0, 395, 0, 585, 586, 662, 381, 482, 595, 334,
346, 349, 339, 358, 0, 359, 335, 336, 341, 343,
344, 345, 350, 351, 355, 361, 248, 209, 387, 396,
- 572, 311, 215, 216, 217, 518, 519, 520, 521, 609,
- 610, 614, 204, 459, 460, 461, 462, 291, 604, 308,
+ 572, 311, 215, 216, 217, 518, 519, 520, 521, 610,
+ 611, 615, 204, 459, 460, 461, 462, 291, 605, 308,
465, 464, 330, 331, 376, 446, 534, 536, 547, 551,
553, 555, 561, 564, 535, 537, 548, 552, 554, 556,
562, 565, 524, 526, 528, 530, 543, 542, 539, 567,
568, 545, 550, 529, 541, 546, 559, 566, 563, 523,
527, 531, 540, 558, 557, 538, 549, 560, 544, 532,
- 525, 533, 0, 196, 220, 365, 0, 451, 287, 639,
- 608, 603, 205, 222, 0, 261, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 525, 533, 0, 196, 220, 365, 94, 451, 287, 640,
+ 609, 604, 205, 222, 0, 261, 0, 0, 0, 0,
+ 0, 0, 2388, 0, 0, 2387, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 198, 200, 208,
221, 231, 235, 242, 260, 275, 277, 284, 297, 309,
317, 318, 321, 327, 377, 383, 384, 385, 386, 406,
407, 408, 411, 414, 415, 418, 420, 421, 424, 428,
432, 433, 434, 436, 438, 440, 452, 457, 471, 472,
473, 474, 475, 478, 479, 484, 485, 486, 487, 488,
- 496, 497, 510, 580, 582, 597, 615, 621, 477, 300,
- 301, 441, 442, 313, 314, 635, 636, 299, 592, 622,
- 590, 634, 616, 435, 375, 0, 0, 378, 280, 304,
- 319, 0, 607, 498, 226, 463, 289, 250, 0, 0,
+ 496, 497, 510, 580, 582, 597, 616, 622, 477, 300,
+ 301, 441, 442, 313, 314, 636, 637, 299, 592, 623,
+ 590, 635, 617, 435, 375, 0, 0, 378, 280, 304,
+ 319, 0, 608, 498, 226, 463, 289, 250, 0, 0,
210, 245, 229, 258, 273, 276, 323, 388, 397, 426,
431, 295, 270, 243, 456, 240, 481, 513, 514, 515,
- 517, 392, 265, 430, 393, 0, 373, 570, 571, 315,
+ 517, 392, 265, 430, 1749, 0, 373, 570, 571, 315,
0, 522, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 413, 0, 0, 0, 0, 0, 0,
- 0, 0, 269, 1771, 0, 0, 0, 363, 266, 0,
+ 0, 0, 0, 413, 0, 0, 0, 1751, 0, 0,
+ 0, 0, 269, 0, 0, 0, 0, 363, 266, 0,
0, 427, 0, 203, 0, 483, 251, 374, 371, 577,
281, 272, 268, 249, 316, 382, 425, 512, 419, 0,
367, 0, 0, 493, 398, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
322, 247, 324, 202, 410, 494, 285, 0, 0, 0,
- 0, 1770, 711, 0, 0, 0, 0, 0, 0, 0,
+ 0, 1753, 712, 0, 0, 0, 0, 0, 0, 0,
0, 0, 237, 0, 0, 244, 0, 0, 0, 348,
357, 356, 337, 338, 340, 342, 347, 354, 360, 0,
- 0, 0, 0, 0, 264, 320, 271, 263, 574, 0,
- 0, 0, 0, 0, 0, 0, 0, 228, 0, 0,
+ 0, 601, 0, 0, 0, 264, 320, 271, 263, 574,
+ 0, 0, 0, 0, 0, 0, 0, 0, 228, 0,
+ 0, 0, 1458, 0, 1459, 1460, 0, 0, 0, 0,
+ 0, 0, 0, 274, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 274, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 296, 0, 399, 256, 0, 450,
- 0, 0, 0, 618, 0, 0, 0, 0, 0, 0,
- 0, 362, 0, 329, 197, 224, 0, 0, 409, 458,
- 470, 0, 0, 0, 252, 0, 468, 423, 596, 232,
- 283, 455, 429, 466, 437, 286, 0, 0, 467, 369,
- 579, 447, 593, 619, 620, 262, 403, 605, 516, 613,
- 637, 225, 259, 417, 501, 599, 490, 394, 575, 576,
- 328, 489, 294, 201, 366, 625, 223, 476, 368, 241,
- 230, 581, 602, 298, 288, 453, 632, 212, 511, 591,
- 238, 480, 0, 0, 640, 246, 500, 214, 588, 499,
- 390, 325, 326, 213, 0, 454, 267, 292, 0, 0,
- 257, 412, 583, 584, 255, 641, 227, 612, 219, 0,
- 611, 405, 578, 589, 391, 380, 218, 587, 389, 379,
- 333, 352, 353, 279, 306, 444, 372, 445, 305, 307,
- 401, 400, 402, 206, 600, 0, 207, 0, 495, 601,
- 642, 449, 211, 233, 234, 236, 0, 278, 282, 290,
- 293, 302, 303, 312, 364, 416, 443, 439, 448, 0,
- 573, 594, 606, 617, 623, 624, 626, 627, 628, 629,
- 630, 633, 631, 404, 310, 491, 332, 370, 0, 0,
- 422, 469, 239, 598, 492, 199, 0, 0, 0, 0,
- 253, 254, 0, 569, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 643, 644, 645, 646, 647, 648, 649,
+ 0, 0, 0, 0, 0, 296, 0, 399, 256, 0,
+ 450, 0, 0, 0, 619, 0, 0, 0, 0, 0,
+ 0, 0, 362, 0, 329, 197, 224, 0, 0, 409,
+ 458, 470, 0, 0, 0, 252, 0, 468, 423, 596,
+ 232, 283, 455, 429, 466, 437, 286, 0, 0, 467,
+ 369, 579, 447, 593, 620, 621, 262, 403, 606, 516,
+ 614, 638, 225, 259, 417, 501, 599, 490, 394, 575,
+ 576, 328, 489, 294, 201, 366, 626, 223, 476, 368,
+ 241, 230, 581, 603, 298, 288, 453, 633, 212, 511,
+ 591, 238, 480, 0, 0, 641, 246, 500, 214, 588,
+ 499, 390, 325, 326, 213, 0, 454, 267, 292, 0,
+ 0, 257, 412, 583, 584, 255, 642, 227, 613, 219,
+ 0, 612, 405, 578, 589, 391, 380, 218, 587, 389,
+ 379, 333, 352, 353, 279, 306, 444, 372, 445, 305,
+ 307, 401, 400, 402, 206, 600, 0, 207, 0, 495,
+ 602, 643, 449, 211, 233, 234, 236, 0, 278, 282,
+ 290, 293, 302, 303, 312, 364, 416, 443, 439, 448,
+ 0, 573, 594, 607, 618, 624, 625, 627, 628, 629,
+ 630, 631, 634, 632, 404, 310, 491, 332, 370, 0,
+ 0, 422, 469, 239, 598, 492, 199, 0, 0, 0,
+ 0, 253, 254, 0, 569, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 644, 645, 646, 647, 648, 649,
650, 651, 652, 653, 654, 655, 656, 657, 658, 659,
- 660, 638, 502, 508, 503, 504, 505, 506, 507, 0,
- 509, 0, 0, 0, 0, 0, 395, 0, 585, 586,
- 661, 381, 482, 595, 334, 346, 349, 339, 358, 0,
- 359, 335, 336, 341, 343, 344, 345, 350, 351, 355,
- 361, 248, 209, 387, 396, 572, 311, 215, 216, 217,
- 518, 519, 520, 521, 609, 610, 614, 204, 459, 460,
- 461, 462, 291, 604, 308, 465, 464, 330, 331, 376,
- 446, 534, 536, 547, 551, 553, 555, 561, 564, 535,
- 537, 548, 552, 554, 556, 562, 565, 524, 526, 528,
- 530, 543, 542, 539, 567, 568, 545, 550, 529, 541,
- 546, 559, 566, 563, 523, 527, 531, 540, 558, 557,
- 538, 549, 560, 544, 532, 525, 533, 0, 196, 220,
- 365, 0, 451, 287, 639, 608, 603, 205, 222, 0,
- 261, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 198, 200, 208, 221, 231, 235, 242, 260,
- 275, 277, 284, 297, 309, 317, 318, 321, 327, 377,
- 383, 384, 385, 386, 406, 407, 408, 411, 414, 415,
- 418, 420, 421, 424, 428, 432, 433, 434, 436, 438,
- 440, 452, 457, 471, 472, 473, 474, 475, 478, 479,
- 484, 485, 486, 487, 488, 496, 497, 510, 580, 582,
- 597, 615, 621, 477, 300, 301, 441, 442, 313, 314,
- 635, 636, 299, 592, 622, 590, 634, 616, 435, 375,
- 0, 0, 378, 280, 304, 319, 0, 607, 498, 226,
- 463, 289, 250, 0, 0, 210, 245, 229, 258, 273,
- 276, 323, 388, 397, 426, 431, 295, 270, 243, 456,
- 240, 481, 513, 514, 515, 517, 392, 265, 430, 393,
- 0, 373, 570, 571, 315, 0, 522, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 413, 0,
- 0, 0, 0, 0, 0, 0, 0, 269, 0, 0,
- 0, 0, 363, 266, 0, 0, 427, 0, 203, 0,
- 483, 251, 374, 371, 577, 281, 272, 268, 249, 316,
- 382, 425, 512, 419, 0, 367, 0, 0, 493, 398,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 322, 247, 324, 202, 410,
- 494, 285, 0, 0, 0, 0, 0, 713, 714, 715,
- 0, 0, 0, 0, 0, 0, 0, 237, 0, 0,
- 244, 0, 0, 0, 348, 357, 356, 337, 338, 340,
- 342, 347, 354, 360, 0, 0, 0, 0, 0, 264,
- 320, 271, 263, 574, 0, 0, 0, 0, 0, 0,
- 0, 0, 228, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 274, 0, 0,
+ 660, 661, 639, 502, 508, 503, 504, 505, 506, 507,
+ 0, 509, 0, 0, 0, 0, 0, 395, 0, 585,
+ 586, 662, 381, 482, 595, 334, 346, 349, 339, 358,
+ 0, 359, 335, 336, 341, 343, 344, 345, 350, 351,
+ 355, 361, 248, 209, 387, 396, 572, 311, 215, 216,
+ 217, 518, 519, 520, 521, 610, 611, 615, 204, 459,
+ 460, 461, 462, 291, 605, 308, 465, 464, 330, 331,
+ 376, 446, 534, 536, 547, 551, 553, 555, 561, 564,
+ 535, 537, 548, 552, 554, 556, 562, 565, 524, 526,
+ 528, 530, 543, 542, 539, 567, 568, 545, 550, 529,
+ 541, 546, 559, 566, 563, 523, 527, 531, 540, 558,
+ 557, 538, 549, 560, 544, 532, 525, 533, 0, 196,
+ 220, 365, 0, 451, 287, 640, 609, 604, 205, 222,
+ 0, 261, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 198, 200, 208, 221, 231, 235, 242,
+ 260, 275, 277, 284, 297, 309, 317, 318, 321, 327,
+ 377, 383, 384, 385, 386, 406, 407, 408, 411, 414,
+ 415, 418, 420, 421, 424, 428, 432, 433, 434, 436,
+ 438, 440, 452, 457, 471, 472, 473, 474, 475, 478,
+ 479, 484, 485, 486, 487, 488, 496, 497, 510, 580,
+ 582, 597, 616, 622, 477, 300, 301, 441, 442, 313,
+ 314, 636, 637, 299, 592, 623, 590, 635, 617, 435,
+ 375, 0, 0, 378, 280, 304, 319, 0, 608, 498,
+ 226, 463, 289, 250, 0, 0, 210, 245, 229, 258,
+ 273, 276, 323, 388, 397, 426, 431, 295, 270, 243,
+ 456, 240, 481, 513, 514, 515, 517, 392, 265, 430,
+ 393, 0, 373, 570, 571, 315, 86, 522, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 413,
+ 0, 0, 0, 0, 0, 0, 0, 0, 269, 0,
+ 0, 0, 0, 363, 266, 0, 0, 427, 0, 203,
+ 0, 483, 251, 374, 371, 577, 281, 272, 268, 249,
+ 316, 382, 425, 512, 419, 0, 367, 0, 0, 493,
+ 398, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 322, 247, 324, 202,
+ 410, 494, 285, 0, 95, 0, 1726, 0, 712, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 237, 0,
+ 0, 244, 0, 0, 0, 348, 357, 356, 337, 338,
+ 340, 342, 347, 354, 360, 0, 0, 601, 0, 0,
+ 0, 264, 320, 271, 263, 574, 0, 0, 0, 0,
+ 0, 0, 0, 0, 228, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 274,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 296,
- 0, 399, 256, 0, 450, 0, 0, 0, 618, 0,
- 0, 0, 0, 0, 0, 0, 362, 0, 329, 197,
- 224, 0, 0, 409, 458, 470, 0, 0, 0, 252,
- 0, 468, 423, 596, 232, 283, 455, 429, 466, 437,
- 286, 0, 0, 467, 369, 579, 447, 593, 619, 620,
- 262, 403, 605, 516, 613, 637, 225, 259, 417, 501,
- 599, 490, 394, 575, 576, 328, 489, 294, 201, 366,
- 625, 223, 476, 368, 241, 230, 581, 602, 298, 288,
- 453, 632, 212, 511, 591, 238, 480, 0, 0, 640,
- 246, 500, 214, 588, 499, 390, 325, 326, 213, 0,
- 454, 267, 292, 0, 0, 257, 412, 583, 584, 255,
- 641, 227, 612, 219, 0, 611, 405, 578, 589, 391,
- 380, 218, 587, 389, 379, 333, 352, 353, 279, 306,
- 444, 372, 445, 305, 307, 401, 400, 402, 206, 600,
- 0, 207, 0, 495, 601, 642, 449, 211, 233, 234,
- 236, 0, 278, 282, 290, 293, 302, 303, 312, 364,
- 416, 443, 439, 448, 0, 573, 594, 606, 617, 623,
- 624, 626, 627, 628, 629, 630, 633, 631, 404, 310,
- 491, 332, 370, 0, 0, 422, 469, 239, 598, 492,
- 199, 0, 0, 0, 0, 253, 254, 0, 569, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 643, 644,
- 645, 646, 647, 648, 649, 650, 651, 652, 653, 654,
- 655, 656, 657, 658, 659, 660, 638, 502, 508, 503,
- 504, 505, 506, 507, 0, 509, 0, 0, 0, 0,
- 0, 395, 0, 585, 586, 661, 381, 482, 595, 334,
- 346, 349, 339, 358, 0, 359, 335, 336, 341, 343,
- 344, 345, 350, 351, 355, 361, 248, 209, 387, 396,
- 572, 311, 215, 216, 217, 518, 519, 520, 521, 609,
- 610, 614, 204, 459, 460, 461, 462, 291, 604, 308,
- 465, 464, 330, 331, 376, 446, 534, 536, 547, 551,
- 553, 555, 561, 564, 535, 537, 548, 552, 554, 556,
- 562, 565, 524, 526, 528, 530, 543, 542, 539, 567,
- 568, 545, 550, 529, 541, 546, 559, 566, 563, 523,
- 527, 531, 540, 558, 557, 538, 549, 560, 544, 532,
- 525, 533, 0, 196, 220, 365, 0, 451, 287, 639,
- 608, 603, 205, 222, 0, 261, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 198, 200, 208,
- 221, 231, 235, 242, 260, 275, 277, 284, 297, 309,
- 317, 318, 321, 327, 377, 383, 384, 385, 386, 406,
- 407, 408, 411, 414, 415, 418, 420, 421, 424, 428,
- 432, 433, 434, 436, 438, 440, 452, 457, 471, 472,
- 473, 474, 475, 478, 479, 484, 485, 486, 487, 488,
- 496, 497, 510, 580, 582, 597, 615, 621, 477, 300,
- 301, 441, 442, 313, 314, 635, 636, 299, 592, 622,
- 590, 634, 616, 435, 375, 0, 0, 378, 280, 304,
- 319, 0, 607, 498, 226, 463, 289, 250, 0, 0,
- 210, 245, 229, 258, 273, 276, 323, 388, 397, 426,
- 431, 295, 270, 243, 456, 240, 481, 513, 514, 515,
- 517, 392, 265, 430, 393, 0, 373, 570, 571, 315,
- 0, 522, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 413, 0, 0, 0, 0, 0, 0,
- 0, 0, 269, 0, 0, 0, 0, 363, 266, 0,
- 0, 427, 0, 203, 0, 483, 251, 374, 371, 577,
- 281, 272, 268, 249, 316, 382, 425, 512, 419, 0,
- 367, 0, 0, 493, 398, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 322, 247, 324, 202, 410, 494, 285, 0, 0, 0,
- 0, 0, 711, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 237, 0, 0, 244, 0, 0, 0, 348,
- 357, 356, 337, 338, 340, 342, 347, 354, 360, 0,
- 0, 0, 0, 0, 264, 320, 271, 263, 574, 0,
- 0, 0, 0, 0, 0, 0, 0, 228, 0, 0,
+ 0, 296, 0, 399, 256, 0, 450, 0, 0, 0,
+ 619, 0, 0, 0, 0, 0, 0, 0, 362, 0,
+ 329, 197, 224, 0, 0, 409, 458, 470, 0, 0,
+ 0, 252, 0, 468, 423, 596, 232, 283, 455, 429,
+ 466, 437, 286, 0, 0, 467, 369, 579, 447, 593,
+ 620, 621, 262, 403, 606, 516, 614, 638, 225, 259,
+ 417, 501, 599, 490, 394, 575, 576, 328, 489, 294,
+ 201, 366, 626, 223, 476, 368, 241, 230, 581, 603,
+ 298, 288, 453, 633, 212, 511, 591, 238, 480, 0,
+ 0, 641, 246, 500, 214, 588, 499, 390, 325, 326,
+ 213, 0, 454, 267, 292, 0, 0, 257, 412, 583,
+ 584, 255, 642, 227, 613, 219, 0, 612, 405, 578,
+ 589, 391, 380, 218, 587, 389, 379, 333, 352, 353,
+ 279, 306, 444, 372, 445, 305, 307, 401, 400, 402,
+ 206, 600, 0, 207, 0, 495, 602, 643, 449, 211,
+ 233, 234, 236, 0, 278, 282, 290, 293, 302, 303,
+ 312, 364, 416, 443, 439, 448, 0, 573, 594, 607,
+ 618, 624, 625, 627, 628, 629, 630, 631, 634, 632,
+ 404, 310, 491, 332, 370, 0, 0, 422, 469, 239,
+ 598, 492, 199, 0, 0, 0, 0, 253, 254, 0,
+ 569, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 644, 645, 646, 647, 648, 649, 650, 651, 652, 653,
+ 654, 655, 656, 657, 658, 659, 660, 661, 639, 502,
+ 508, 503, 504, 505, 506, 507, 0, 509, 0, 0,
+ 0, 0, 0, 395, 0, 585, 586, 662, 381, 482,
+ 595, 334, 346, 349, 339, 358, 0, 359, 335, 336,
+ 341, 343, 344, 345, 350, 351, 355, 361, 248, 209,
+ 387, 396, 572, 311, 215, 216, 217, 518, 519, 520,
+ 521, 610, 611, 615, 204, 459, 460, 461, 462, 291,
+ 605, 308, 465, 464, 330, 331, 376, 446, 534, 536,
+ 547, 551, 553, 555, 561, 564, 535, 537, 548, 552,
+ 554, 556, 562, 565, 524, 526, 528, 530, 543, 542,
+ 539, 567, 568, 545, 550, 529, 541, 546, 559, 566,
+ 563, 523, 527, 531, 540, 558, 557, 538, 549, 560,
+ 544, 532, 525, 533, 0, 196, 220, 365, 94, 451,
+ 287, 640, 609, 604, 205, 222, 0, 261, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 198,
+ 200, 208, 221, 231, 235, 242, 260, 275, 277, 284,
+ 297, 309, 317, 318, 321, 327, 377, 383, 384, 385,
+ 386, 406, 407, 408, 411, 414, 415, 418, 420, 421,
+ 424, 428, 432, 433, 434, 436, 438, 440, 452, 457,
+ 471, 472, 473, 474, 475, 478, 479, 484, 485, 486,
+ 487, 488, 496, 497, 510, 580, 582, 597, 616, 622,
+ 477, 300, 301, 441, 442, 313, 314, 636, 637, 299,
+ 592, 623, 590, 635, 617, 435, 375, 0, 0, 378,
+ 280, 304, 319, 0, 608, 498, 226, 463, 289, 250,
+ 0, 0, 210, 245, 229, 258, 273, 276, 323, 388,
+ 397, 426, 431, 295, 270, 243, 456, 240, 481, 513,
+ 514, 515, 517, 392, 265, 430, 393, 0, 373, 570,
+ 571, 315, 0, 522, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 413, 0, 0, 0, 0,
+ 0, 0, 0, 0, 269, 0, 0, 0, 0, 363,
+ 266, 0, 0, 427, 0, 203, 0, 483, 251, 374,
+ 371, 577, 281, 272, 268, 249, 316, 382, 425, 512,
+ 419, 0, 367, 0, 0, 493, 398, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 274, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 322, 247, 324, 202, 410, 494, 285, 0,
+ 95, 0, 0, 0, 194, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 237, 0, 0, 244, 0, 0,
+ 0, 348, 357, 356, 337, 338, 340, 342, 347, 354,
+ 360, 0, 0, 601, 0, 0, 0, 264, 320, 271,
+ 263, 574, 0, 0, 0, 0, 0, 0, 0, 0,
+ 228, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 274, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -5409,72 +4646,145 @@ var yyAct = [...]int{
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 296, 0, 399, 256, 0, 450,
- 0, 0, 0, 618, 0, 0, 0, 4016, 0, 0,
- 0, 362, 0, 329, 197, 224, 0, 0, 409, 458,
- 470, 0, 0, 0, 252, 0, 468, 423, 596, 232,
- 283, 455, 429, 466, 437, 286, 0, 0, 467, 369,
- 579, 447, 593, 619, 620, 262, 403, 605, 516, 613,
- 637, 225, 259, 417, 501, 599, 490, 394, 575, 576,
- 328, 489, 294, 201, 366, 625, 223, 476, 368, 241,
- 230, 581, 602, 298, 288, 453, 632, 212, 511, 591,
- 238, 480, 0, 0, 640, 246, 500, 214, 588, 499,
- 390, 325, 326, 213, 0, 454, 267, 292, 0, 0,
- 257, 412, 583, 584, 255, 641, 227, 612, 219, 0,
- 611, 405, 578, 589, 391, 380, 218, 587, 389, 379,
- 333, 352, 353, 279, 306, 444, 372, 445, 305, 307,
- 401, 400, 402, 206, 600, 0, 207, 0, 495, 601,
- 642, 449, 211, 233, 234, 236, 0, 278, 282, 290,
- 293, 302, 303, 312, 364, 416, 443, 439, 448, 0,
- 573, 594, 606, 617, 623, 624, 626, 627, 628, 629,
- 630, 633, 631, 404, 310, 491, 332, 370, 0, 0,
- 422, 469, 239, 598, 492, 199, 0, 0, 0, 0,
- 253, 254, 0, 569, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 643, 644, 645, 646, 647, 648, 649,
- 650, 651, 652, 653, 654, 655, 656, 657, 658, 659,
- 660, 638, 502, 508, 503, 504, 505, 506, 507, 0,
- 509, 0, 0, 0, 0, 0, 395, 0, 585, 586,
- 661, 381, 482, 595, 334, 346, 349, 339, 358, 0,
- 359, 335, 336, 341, 343, 344, 345, 350, 351, 355,
- 361, 248, 209, 387, 396, 572, 311, 215, 216, 217,
- 518, 519, 520, 521, 609, 610, 614, 204, 459, 460,
- 461, 462, 291, 604, 308, 465, 464, 330, 331, 376,
- 446, 534, 536, 547, 551, 553, 555, 561, 564, 535,
- 537, 548, 552, 554, 556, 562, 565, 524, 526, 528,
- 530, 543, 542, 539, 567, 568, 545, 550, 529, 541,
- 546, 559, 566, 563, 523, 527, 531, 540, 558, 557,
- 538, 549, 560, 544, 532, 525, 533, 0, 196, 220,
- 365, 0, 451, 287, 639, 608, 603, 205, 222, 0,
- 261, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 198, 200, 208, 221, 231, 235, 242, 260,
- 275, 277, 284, 297, 309, 317, 318, 321, 327, 377,
- 383, 384, 385, 386, 406, 407, 408, 411, 414, 415,
- 418, 420, 421, 424, 428, 432, 433, 434, 436, 438,
- 440, 452, 457, 471, 472, 473, 474, 475, 478, 479,
- 484, 485, 486, 487, 488, 496, 497, 510, 580, 582,
- 597, 615, 621, 477, 300, 301, 441, 442, 313, 314,
- 635, 636, 299, 592, 622, 590, 634, 616, 435, 375,
- 0, 0, 378, 280, 304, 319, 0, 607, 498, 226,
- 463, 289, 250, 0, 0, 210, 245, 229, 258, 273,
- 276, 323, 388, 397, 426, 431, 295, 270, 243, 456,
- 240, 481, 513, 514, 515, 517, 392, 265, 430, 393,
- 0, 373, 570, 571, 315, 0, 522, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 413, 0,
- 0, 0, 0, 0, 0, 0, 0, 269, 0, 0,
- 0, 0, 363, 266, 0, 0, 427, 0, 203, 0,
- 483, 251, 374, 371, 577, 281, 272, 268, 249, 316,
- 382, 425, 512, 419, 0, 367, 0, 0, 493, 398,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 322, 247, 324, 202, 410,
- 494, 285, 0, 0, 0, 0, 1931, 194, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 237, 0, 0,
- 244, 0, 0, 0, 348, 357, 356, 337, 338, 340,
- 342, 347, 354, 360, 0, 0, 0, 0, 0, 264,
+ 0, 0, 0, 0, 0, 0, 0, 296, 0, 399,
+ 256, 0, 450, 0, 0, 0, 619, 0, 0, 0,
+ 0, 0, 0, 0, 362, 0, 329, 197, 224, 0,
+ 0, 409, 458, 470, 0, 0, 0, 252, 0, 468,
+ 423, 596, 232, 283, 455, 429, 466, 437, 286, 0,
+ 0, 467, 369, 579, 447, 593, 620, 621, 262, 403,
+ 606, 516, 614, 638, 225, 259, 417, 501, 599, 490,
+ 394, 575, 576, 328, 489, 294, 201, 366, 626, 223,
+ 476, 368, 241, 230, 581, 603, 298, 288, 453, 633,
+ 212, 511, 591, 238, 480, 0, 0, 641, 246, 500,
+ 214, 588, 499, 390, 325, 326, 213, 0, 454, 267,
+ 292, 0, 0, 257, 412, 583, 584, 255, 642, 227,
+ 613, 219, 0, 612, 405, 578, 589, 391, 380, 218,
+ 587, 389, 379, 333, 352, 353, 279, 306, 444, 372,
+ 445, 305, 307, 401, 400, 402, 206, 600, 0, 207,
+ 0, 495, 602, 643, 449, 211, 233, 234, 236, 0,
+ 278, 282, 290, 293, 302, 303, 312, 364, 416, 443,
+ 439, 448, 0, 573, 594, 607, 618, 624, 625, 627,
+ 628, 629, 630, 631, 634, 632, 404, 310, 491, 332,
+ 370, 0, 0, 422, 469, 239, 598, 492, 199, 0,
+ 0, 0, 0, 253, 254, 0, 569, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 644, 645, 646, 647,
+ 648, 649, 650, 651, 652, 653, 654, 655, 656, 657,
+ 658, 659, 660, 661, 639, 502, 508, 503, 504, 505,
+ 506, 507, 0, 509, 0, 0, 0, 0, 0, 395,
+ 0, 585, 586, 662, 381, 482, 595, 334, 346, 349,
+ 339, 358, 0, 359, 335, 336, 341, 343, 344, 345,
+ 350, 351, 355, 361, 248, 209, 387, 396, 572, 311,
+ 215, 216, 217, 518, 519, 520, 521, 610, 611, 615,
+ 204, 459, 460, 461, 462, 291, 605, 308, 465, 464,
+ 330, 331, 376, 446, 534, 536, 547, 551, 553, 555,
+ 561, 564, 535, 537, 548, 552, 554, 556, 562, 565,
+ 524, 526, 528, 530, 543, 542, 539, 567, 568, 545,
+ 550, 529, 541, 546, 559, 566, 563, 523, 527, 531,
+ 540, 558, 557, 538, 549, 560, 544, 532, 525, 533,
+ 0, 196, 220, 365, 0, 451, 287, 640, 609, 604,
+ 205, 222, 0, 261, 0, 0, 0, 0, 0, 0,
+ 2388, 0, 0, 2387, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 198, 200, 208, 221, 231,
+ 235, 242, 260, 275, 277, 284, 297, 309, 317, 318,
+ 321, 327, 377, 383, 384, 385, 386, 406, 407, 408,
+ 411, 414, 415, 418, 420, 421, 424, 428, 432, 433,
+ 434, 436, 438, 440, 452, 457, 471, 472, 473, 474,
+ 475, 478, 479, 484, 485, 486, 487, 488, 496, 497,
+ 510, 580, 582, 597, 616, 622, 477, 300, 301, 441,
+ 442, 313, 314, 636, 637, 299, 592, 623, 590, 635,
+ 617, 435, 375, 0, 0, 378, 280, 304, 319, 0,
+ 608, 498, 226, 463, 289, 250, 0, 0, 210, 245,
+ 229, 258, 273, 276, 323, 388, 397, 426, 431, 295,
+ 270, 243, 456, 240, 481, 513, 514, 515, 517, 392,
+ 265, 430, 393, 0, 373, 570, 571, 315, 0, 522,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 413, 0, 0, 0, 2335, 0, 0, 0, 0,
+ 269, 0, 0, 0, 0, 363, 266, 0, 0, 427,
+ 0, 203, 0, 483, 251, 374, 371, 577, 281, 272,
+ 268, 249, 316, 382, 425, 512, 419, 0, 367, 0,
+ 0, 493, 398, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 322, 247,
+ 324, 202, 410, 494, 285, 0, 0, 0, 0, 1932,
+ 194, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 237, 0, 0, 244, 0, 0, 0, 348, 357, 356,
+ 337, 338, 340, 342, 347, 354, 360, 0, 0, 601,
+ 0, 0, 0, 264, 320, 271, 263, 574, 0, 0,
+ 0, 0, 0, 0, 0, 0, 228, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 274, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 296, 0, 399, 256, 0, 450, 0,
+ 0, 0, 619, 0, 0, 0, 0, 0, 0, 0,
+ 362, 0, 329, 197, 224, 0, 0, 409, 458, 470,
+ 0, 0, 0, 252, 0, 468, 423, 596, 232, 283,
+ 455, 429, 466, 437, 286, 0, 2333, 467, 369, 579,
+ 447, 593, 620, 621, 262, 403, 606, 516, 614, 638,
+ 225, 259, 417, 501, 599, 490, 394, 575, 576, 328,
+ 489, 294, 201, 366, 626, 223, 476, 368, 241, 230,
+ 581, 603, 298, 288, 453, 633, 212, 511, 591, 238,
+ 480, 0, 0, 641, 246, 500, 214, 588, 499, 390,
+ 325, 326, 213, 0, 454, 267, 292, 0, 0, 257,
+ 412, 583, 584, 255, 642, 227, 613, 219, 0, 612,
+ 405, 578, 589, 391, 380, 218, 587, 389, 379, 333,
+ 352, 353, 279, 306, 444, 372, 445, 305, 307, 401,
+ 400, 402, 206, 600, 0, 207, 0, 495, 602, 643,
+ 449, 211, 233, 234, 236, 0, 278, 282, 290, 293,
+ 302, 303, 312, 364, 416, 443, 439, 448, 0, 573,
+ 594, 607, 618, 624, 625, 627, 628, 629, 630, 631,
+ 634, 632, 404, 310, 491, 332, 370, 0, 0, 422,
+ 469, 239, 598, 492, 199, 0, 0, 0, 0, 253,
+ 254, 0, 569, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 644, 645, 646, 647, 648, 649, 650, 651,
+ 652, 653, 654, 655, 656, 657, 658, 659, 660, 661,
+ 639, 502, 508, 503, 504, 505, 506, 507, 0, 509,
+ 0, 0, 0, 0, 0, 395, 0, 585, 586, 662,
+ 381, 482, 595, 334, 346, 349, 339, 358, 0, 359,
+ 335, 336, 341, 343, 344, 345, 350, 351, 355, 361,
+ 248, 209, 387, 396, 572, 311, 215, 216, 217, 518,
+ 519, 520, 521, 610, 611, 615, 204, 459, 460, 461,
+ 462, 291, 605, 308, 465, 464, 330, 331, 376, 446,
+ 534, 536, 547, 551, 553, 555, 561, 564, 535, 537,
+ 548, 552, 554, 556, 562, 565, 524, 526, 528, 530,
+ 543, 542, 539, 567, 568, 545, 550, 529, 541, 546,
+ 559, 566, 563, 523, 527, 531, 540, 558, 557, 538,
+ 549, 560, 544, 532, 525, 533, 0, 196, 220, 365,
+ 0, 451, 287, 640, 609, 604, 205, 222, 0, 261,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 198, 200, 208, 221, 231, 235, 242, 260, 275,
+ 277, 284, 297, 309, 317, 318, 321, 327, 377, 383,
+ 384, 385, 386, 406, 407, 408, 411, 414, 415, 418,
+ 420, 421, 424, 428, 432, 433, 434, 436, 438, 440,
+ 452, 457, 471, 472, 473, 474, 475, 478, 479, 484,
+ 485, 486, 487, 488, 496, 497, 510, 580, 582, 597,
+ 616, 622, 477, 300, 301, 441, 442, 313, 314, 636,
+ 637, 299, 592, 623, 590, 635, 617, 435, 375, 0,
+ 0, 378, 280, 304, 319, 0, 608, 498, 226, 463,
+ 289, 250, 0, 0, 210, 245, 229, 258, 273, 276,
+ 323, 388, 397, 426, 431, 295, 270, 243, 456, 240,
+ 481, 513, 514, 515, 517, 392, 265, 430, 393, 0,
+ 373, 570, 571, 315, 0, 522, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 413, 0, 0,
+ 0, 0, 0, 0, 0, 0, 269, 0, 0, 0,
+ 0, 363, 266, 0, 0, 427, 0, 203, 0, 483,
+ 251, 374, 371, 577, 281, 272, 268, 249, 316, 382,
+ 425, 512, 419, 0, 367, 0, 0, 493, 398, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 322, 247, 324, 202, 410, 494,
+ 285, 0, 0, 0, 0, 0, 712, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 237, 0, 0, 244,
+ 0, 0, 0, 348, 357, 356, 337, 338, 340, 342,
+ 347, 354, 360, 0, 0, 601, 0, 0, 0, 264,
320, 271, 263, 574, 0, 0, 0, 0, 0, 0,
0, 0, 228, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 274, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 1078, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -5482,42 +4792,42 @@ var yyAct = [...]int{
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 296,
- 0, 399, 256, 0, 450, 0, 0, 0, 618, 0,
- 0, 0, 0, 0, 0, 0, 362, 0, 329, 197,
- 224, 0, 0, 409, 458, 470, 0, 0, 0, 252,
+ 0, 399, 256, 0, 450, 0, 0, 0, 619, 0,
+ 0, 0, 0, 0, 0, 0, 362, 1084, 329, 197,
+ 224, 1082, 0, 409, 458, 470, 0, 0, 0, 252,
0, 468, 423, 596, 232, 283, 455, 429, 466, 437,
- 286, 0, 0, 467, 369, 579, 447, 593, 619, 620,
- 262, 403, 605, 516, 613, 637, 225, 259, 417, 501,
+ 286, 0, 0, 467, 369, 579, 447, 593, 620, 621,
+ 262, 403, 606, 516, 614, 638, 225, 259, 417, 501,
599, 490, 394, 575, 576, 328, 489, 294, 201, 366,
- 625, 223, 476, 368, 241, 230, 581, 602, 298, 288,
- 453, 632, 212, 511, 591, 238, 480, 0, 0, 640,
+ 626, 223, 476, 368, 241, 230, 581, 603, 298, 288,
+ 453, 633, 212, 511, 591, 238, 480, 0, 0, 641,
246, 500, 214, 588, 499, 390, 325, 326, 213, 0,
454, 267, 292, 0, 0, 257, 412, 583, 584, 255,
- 641, 227, 612, 219, 0, 611, 405, 578, 589, 391,
+ 642, 227, 613, 219, 0, 612, 405, 578, 589, 391,
380, 218, 587, 389, 379, 333, 352, 353, 279, 306,
444, 372, 445, 305, 307, 401, 400, 402, 206, 600,
- 0, 207, 0, 495, 601, 642, 449, 211, 233, 234,
+ 0, 207, 0, 495, 602, 643, 449, 211, 233, 234,
236, 0, 278, 282, 290, 293, 302, 303, 312, 364,
- 416, 443, 439, 448, 0, 573, 594, 606, 617, 623,
- 624, 626, 627, 628, 629, 630, 633, 631, 404, 310,
+ 416, 443, 439, 448, 0, 573, 594, 607, 618, 624,
+ 625, 627, 628, 629, 630, 631, 634, 632, 404, 310,
491, 332, 370, 0, 0, 422, 469, 239, 598, 492,
199, 0, 0, 0, 0, 253, 254, 0, 569, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 643, 644,
- 645, 646, 647, 648, 649, 650, 651, 652, 653, 654,
- 655, 656, 657, 658, 659, 660, 638, 502, 508, 503,
+ 0, 0, 0, 0, 0, 0, 0, 0, 644, 645,
+ 646, 647, 648, 649, 650, 651, 652, 653, 654, 655,
+ 656, 657, 658, 659, 660, 661, 639, 502, 508, 503,
504, 505, 506, 507, 0, 509, 0, 0, 0, 0,
- 0, 395, 0, 585, 586, 661, 381, 482, 595, 334,
+ 0, 395, 0, 585, 586, 662, 381, 482, 595, 334,
346, 349, 339, 358, 0, 359, 335, 336, 341, 343,
344, 345, 350, 351, 355, 361, 248, 209, 387, 396,
- 572, 311, 215, 216, 217, 518, 519, 520, 521, 609,
- 610, 614, 204, 459, 460, 461, 462, 291, 604, 308,
+ 572, 311, 215, 216, 217, 518, 519, 520, 521, 610,
+ 611, 615, 204, 459, 460, 461, 462, 291, 605, 308,
465, 464, 330, 331, 376, 446, 534, 536, 547, 551,
553, 555, 561, 564, 535, 537, 548, 552, 554, 556,
562, 565, 524, 526, 528, 530, 543, 542, 539, 567,
568, 545, 550, 529, 541, 546, 559, 566, 563, 523,
527, 531, 540, 558, 557, 538, 549, 560, 544, 532,
- 525, 533, 0, 196, 220, 365, 0, 451, 287, 639,
- 608, 603, 205, 222, 0, 261, 0, 0, 0, 0,
+ 525, 533, 0, 196, 220, 365, 0, 451, 287, 640,
+ 609, 604, 205, 222, 0, 261, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 198, 200, 208,
221, 231, 235, 242, 260, 275, 277, 284, 297, 309,
@@ -5525,28 +4835,28 @@ var yyAct = [...]int{
407, 408, 411, 414, 415, 418, 420, 421, 424, 428,
432, 433, 434, 436, 438, 440, 452, 457, 471, 472,
473, 474, 475, 478, 479, 484, 485, 486, 487, 488,
- 496, 497, 510, 580, 582, 597, 615, 621, 477, 300,
- 301, 441, 442, 313, 314, 635, 636, 299, 592, 622,
- 590, 634, 616, 435, 375, 0, 0, 378, 280, 304,
- 319, 0, 607, 498, 226, 463, 289, 250, 0, 0,
+ 496, 497, 510, 580, 582, 597, 616, 622, 477, 300,
+ 301, 441, 442, 313, 314, 636, 637, 299, 592, 623,
+ 590, 635, 617, 435, 375, 0, 0, 378, 280, 304,
+ 319, 0, 608, 498, 226, 463, 289, 250, 0, 0,
210, 245, 229, 258, 273, 276, 323, 388, 397, 426,
431, 295, 270, 243, 456, 240, 481, 513, 514, 515,
517, 392, 265, 430, 393, 0, 373, 570, 571, 315,
0, 522, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 413, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 413, 0, 0, 0, 2335, 0, 0,
0, 0, 269, 0, 0, 0, 0, 363, 266, 0,
0, 427, 0, 203, 0, 483, 251, 374, 371, 577,
281, 272, 268, 249, 316, 382, 425, 512, 419, 0,
367, 0, 0, 493, 398, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
322, 247, 324, 202, 410, 494, 285, 0, 0, 0,
- 0, 0, 711, 0, 0, 0, 0, 0, 0, 0,
+ 0, 1932, 194, 0, 0, 0, 0, 0, 0, 0,
0, 0, 237, 0, 0, 244, 0, 0, 0, 348,
357, 356, 337, 338, 340, 342, 347, 354, 360, 0,
- 0, 0, 0, 0, 264, 320, 271, 263, 574, 0,
- 0, 0, 0, 0, 0, 0, 0, 228, 0, 0,
+ 0, 601, 0, 0, 0, 264, 320, 271, 263, 574,
+ 0, 0, 0, 0, 0, 0, 0, 0, 228, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 274, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 274, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -5554,213 +4864,286 @@ var yyAct = [...]int{
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 296, 0, 399, 256, 0, 450,
- 0, 0, 0, 618, 0, 0, 0, 3674, 0, 0,
- 0, 362, 0, 329, 197, 224, 0, 0, 409, 458,
- 470, 0, 0, 0, 252, 0, 468, 423, 596, 232,
- 283, 455, 429, 466, 437, 286, 0, 0, 467, 369,
- 579, 447, 593, 619, 620, 262, 403, 605, 516, 613,
- 637, 225, 259, 417, 501, 599, 490, 394, 575, 576,
- 328, 489, 294, 201, 366, 625, 223, 476, 368, 241,
- 230, 581, 602, 298, 288, 453, 632, 212, 511, 591,
- 238, 480, 0, 0, 640, 246, 500, 214, 588, 499,
- 390, 325, 326, 213, 0, 454, 267, 292, 0, 0,
- 257, 412, 583, 584, 255, 641, 227, 612, 219, 0,
- 611, 405, 578, 589, 391, 380, 218, 587, 389, 379,
- 333, 352, 353, 279, 306, 444, 372, 445, 305, 307,
- 401, 400, 402, 206, 600, 0, 207, 0, 495, 601,
- 642, 449, 211, 233, 234, 236, 0, 278, 282, 290,
- 293, 302, 303, 312, 364, 416, 443, 439, 448, 0,
- 573, 594, 606, 617, 623, 624, 626, 627, 628, 629,
- 630, 633, 631, 404, 310, 491, 332, 370, 0, 0,
- 422, 469, 239, 598, 492, 199, 0, 0, 0, 0,
- 253, 254, 0, 569, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 643, 644, 645, 646, 647, 648, 649,
+ 0, 0, 0, 0, 0, 296, 0, 399, 256, 0,
+ 450, 0, 0, 0, 619, 0, 0, 0, 0, 0,
+ 0, 0, 362, 0, 329, 197, 224, 0, 0, 409,
+ 458, 470, 0, 0, 0, 252, 0, 468, 423, 596,
+ 232, 283, 455, 429, 466, 437, 286, 0, 0, 467,
+ 369, 579, 447, 593, 620, 621, 262, 403, 606, 516,
+ 614, 638, 225, 259, 417, 501, 599, 490, 394, 575,
+ 576, 328, 489, 294, 201, 366, 626, 223, 476, 368,
+ 241, 230, 581, 603, 298, 288, 453, 633, 212, 511,
+ 591, 238, 480, 0, 0, 641, 246, 500, 214, 588,
+ 499, 390, 325, 326, 213, 0, 454, 267, 292, 0,
+ 0, 257, 412, 583, 584, 255, 642, 227, 613, 219,
+ 0, 612, 405, 578, 589, 391, 380, 218, 587, 389,
+ 379, 333, 352, 353, 279, 306, 444, 372, 445, 305,
+ 307, 401, 400, 402, 206, 600, 0, 207, 0, 495,
+ 602, 643, 449, 211, 233, 234, 236, 0, 278, 282,
+ 290, 293, 302, 303, 312, 364, 416, 443, 439, 448,
+ 0, 573, 594, 607, 618, 624, 625, 627, 628, 629,
+ 630, 631, 634, 632, 404, 310, 491, 332, 370, 0,
+ 0, 422, 469, 239, 598, 492, 199, 0, 0, 0,
+ 0, 253, 254, 0, 569, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 644, 645, 646, 647, 648, 649,
650, 651, 652, 653, 654, 655, 656, 657, 658, 659,
- 660, 638, 502, 508, 503, 504, 505, 506, 507, 0,
- 509, 0, 0, 0, 0, 0, 395, 0, 585, 586,
- 661, 381, 482, 595, 334, 346, 349, 339, 358, 0,
- 359, 335, 336, 341, 343, 344, 345, 350, 351, 355,
- 361, 248, 209, 387, 396, 572, 311, 215, 216, 217,
- 518, 519, 520, 521, 609, 610, 614, 204, 459, 460,
- 461, 462, 291, 604, 308, 465, 464, 330, 331, 376,
- 446, 534, 536, 547, 551, 553, 555, 561, 564, 535,
- 537, 548, 552, 554, 556, 562, 565, 524, 526, 528,
- 530, 543, 542, 539, 567, 568, 545, 550, 529, 541,
- 546, 559, 566, 563, 523, 527, 531, 540, 558, 557,
- 538, 549, 560, 544, 532, 525, 533, 0, 196, 220,
- 365, 0, 451, 287, 639, 608, 603, 205, 222, 0,
- 261, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 198, 200, 208, 221, 231, 235, 242, 260,
- 275, 277, 284, 297, 309, 317, 318, 321, 327, 377,
- 383, 384, 385, 386, 406, 407, 408, 411, 414, 415,
- 418, 420, 421, 424, 428, 432, 433, 434, 436, 438,
- 440, 452, 457, 471, 472, 473, 474, 475, 478, 479,
- 484, 485, 486, 487, 488, 496, 497, 510, 580, 582,
- 597, 615, 621, 477, 300, 301, 441, 442, 313, 314,
- 635, 636, 299, 592, 622, 590, 634, 616, 435, 375,
- 0, 0, 378, 280, 304, 319, 0, 607, 498, 226,
- 463, 289, 250, 0, 0, 210, 245, 229, 258, 273,
- 276, 323, 388, 397, 426, 431, 295, 270, 243, 456,
- 240, 481, 513, 514, 515, 517, 392, 265, 430, 393,
- 0, 373, 570, 571, 315, 0, 522, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 413, 0,
- 0, 0, 0, 0, 0, 0, 0, 269, 0, 0,
- 0, 0, 363, 266, 0, 0, 427, 0, 203, 0,
- 483, 251, 374, 371, 577, 281, 272, 268, 249, 316,
- 382, 425, 512, 419, 0, 367, 0, 0, 493, 398,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 322, 247, 324, 202, 410,
- 494, 285, 0, 95, 0, 0, 0, 711, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 237, 0, 0,
- 244, 0, 0, 0, 348, 357, 356, 337, 338, 340,
- 342, 347, 354, 360, 0, 0, 0, 0, 0, 264,
- 320, 271, 263, 574, 0, 0, 0, 0, 0, 0,
- 0, 0, 228, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 274, 0, 0,
+ 660, 661, 639, 502, 508, 503, 504, 505, 506, 507,
+ 0, 509, 0, 0, 0, 0, 0, 395, 0, 585,
+ 586, 662, 381, 482, 595, 334, 346, 349, 339, 358,
+ 0, 359, 335, 336, 341, 343, 344, 345, 350, 351,
+ 355, 361, 248, 209, 387, 396, 572, 311, 215, 216,
+ 217, 518, 519, 520, 521, 610, 611, 615, 204, 459,
+ 460, 461, 462, 291, 605, 308, 465, 464, 330, 331,
+ 376, 446, 534, 536, 547, 551, 553, 555, 561, 564,
+ 535, 537, 548, 552, 554, 556, 562, 565, 524, 526,
+ 528, 530, 543, 542, 539, 567, 568, 545, 550, 529,
+ 541, 546, 559, 566, 563, 523, 527, 531, 540, 558,
+ 557, 538, 549, 560, 544, 532, 525, 533, 0, 196,
+ 220, 365, 0, 451, 287, 640, 609, 604, 205, 222,
+ 0, 261, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 198, 200, 208, 221, 231, 235, 242,
+ 260, 275, 277, 284, 297, 309, 317, 318, 321, 327,
+ 377, 383, 384, 385, 386, 406, 407, 408, 411, 414,
+ 415, 418, 420, 421, 424, 428, 432, 433, 434, 436,
+ 438, 440, 452, 457, 471, 472, 473, 474, 475, 478,
+ 479, 484, 485, 486, 487, 488, 496, 497, 510, 580,
+ 582, 597, 616, 622, 477, 300, 301, 441, 442, 313,
+ 314, 636, 637, 299, 592, 623, 590, 635, 617, 435,
+ 375, 0, 0, 378, 280, 304, 319, 0, 608, 498,
+ 226, 463, 289, 250, 0, 0, 210, 245, 229, 258,
+ 273, 276, 323, 388, 397, 426, 431, 295, 270, 243,
+ 456, 240, 481, 513, 514, 515, 517, 392, 265, 430,
+ 393, 0, 373, 570, 571, 315, 0, 522, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 413,
+ 0, 0, 0, 0, 0, 0, 0, 0, 269, 0,
+ 0, 0, 0, 363, 266, 0, 0, 427, 0, 203,
+ 0, 483, 251, 374, 371, 577, 281, 272, 268, 249,
+ 316, 382, 425, 512, 419, 0, 367, 0, 0, 493,
+ 398, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 322, 247, 324, 202,
+ 410, 494, 285, 0, 0, 0, 1726, 0, 712, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 237, 0,
+ 0, 244, 0, 0, 0, 348, 357, 356, 337, 338,
+ 340, 342, 347, 354, 360, 0, 0, 601, 0, 0,
+ 0, 264, 320, 271, 263, 574, 0, 0, 0, 0,
+ 0, 0, 0, 0, 228, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 274,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 296,
- 0, 399, 256, 0, 450, 0, 0, 0, 618, 0,
- 0, 0, 0, 0, 0, 0, 362, 0, 329, 197,
- 224, 0, 0, 409, 458, 470, 0, 0, 0, 252,
- 0, 468, 423, 596, 232, 283, 455, 429, 466, 437,
- 286, 0, 0, 467, 369, 579, 447, 593, 619, 620,
- 262, 403, 605, 516, 613, 637, 225, 259, 417, 501,
- 599, 490, 394, 575, 576, 328, 489, 294, 201, 366,
- 625, 223, 476, 368, 241, 230, 581, 602, 298, 288,
- 453, 632, 212, 511, 591, 238, 480, 0, 0, 640,
- 246, 500, 214, 588, 499, 390, 325, 326, 213, 0,
- 454, 267, 292, 0, 0, 257, 412, 583, 584, 255,
- 641, 227, 612, 219, 0, 611, 405, 578, 589, 391,
- 380, 218, 587, 389, 379, 333, 352, 353, 279, 306,
- 444, 372, 445, 305, 307, 401, 400, 402, 206, 600,
- 0, 207, 0, 495, 601, 642, 449, 211, 233, 234,
- 236, 0, 278, 282, 290, 293, 302, 303, 312, 364,
- 416, 443, 439, 448, 0, 573, 594, 606, 617, 623,
- 624, 626, 627, 628, 629, 630, 633, 631, 404, 310,
- 491, 332, 370, 0, 0, 422, 469, 239, 598, 492,
- 199, 0, 0, 0, 0, 253, 254, 0, 569, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 643, 644,
- 645, 646, 647, 648, 649, 650, 651, 652, 653, 654,
- 655, 656, 657, 658, 659, 660, 638, 502, 508, 503,
- 504, 505, 506, 507, 0, 509, 0, 0, 0, 0,
- 0, 395, 0, 585, 586, 661, 381, 482, 595, 334,
- 346, 349, 339, 358, 0, 359, 335, 336, 341, 343,
- 344, 345, 350, 351, 355, 361, 248, 209, 387, 396,
- 572, 311, 215, 216, 217, 518, 519, 520, 521, 609,
- 610, 614, 204, 459, 460, 461, 462, 291, 604, 308,
- 465, 464, 330, 331, 376, 446, 534, 536, 547, 551,
- 553, 555, 561, 564, 535, 537, 548, 552, 554, 556,
- 562, 565, 524, 526, 528, 530, 543, 542, 539, 567,
- 568, 545, 550, 529, 541, 546, 559, 566, 563, 523,
- 527, 531, 540, 558, 557, 538, 549, 560, 544, 532,
- 525, 533, 0, 196, 220, 365, 0, 451, 287, 639,
- 608, 603, 205, 222, 0, 261, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 198, 200, 208,
- 221, 231, 235, 242, 260, 275, 277, 284, 297, 309,
- 317, 318, 321, 327, 377, 383, 384, 385, 386, 406,
- 407, 408, 411, 414, 415, 418, 420, 421, 424, 428,
- 432, 433, 434, 436, 438, 440, 452, 457, 471, 472,
- 473, 474, 475, 478, 479, 484, 485, 486, 487, 488,
- 496, 497, 510, 580, 582, 597, 615, 621, 477, 300,
- 301, 441, 442, 313, 314, 635, 636, 299, 592, 622,
- 590, 634, 616, 435, 375, 0, 0, 378, 280, 304,
- 319, 0, 607, 498, 226, 463, 289, 250, 0, 0,
- 210, 245, 229, 258, 273, 276, 323, 388, 397, 426,
- 431, 295, 270, 243, 456, 240, 481, 513, 514, 515,
- 517, 392, 265, 430, 393, 0, 373, 570, 571, 315,
- 0, 522, 0, 0, 0, 0, 2386, 0, 0, 0,
- 0, 0, 0, 413, 0, 0, 0, 0, 0, 0,
- 0, 0, 269, 0, 0, 0, 0, 363, 266, 0,
- 0, 427, 0, 203, 0, 483, 251, 374, 371, 577,
- 281, 272, 268, 249, 316, 382, 425, 512, 419, 0,
- 367, 0, 0, 493, 398, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 322, 247, 324, 202, 410, 494, 285, 0, 0, 0,
- 0, 0, 194, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 237, 0, 0, 244, 0, 0, 0, 348,
- 357, 356, 337, 338, 340, 342, 347, 354, 360, 0,
- 0, 0, 0, 0, 264, 320, 271, 263, 574, 0,
- 0, 0, 0, 0, 0, 0, 0, 228, 0, 0,
+ 0, 296, 0, 399, 256, 0, 450, 0, 0, 0,
+ 619, 0, 0, 0, 3677, 0, 0, 0, 362, 0,
+ 329, 197, 224, 0, 0, 409, 458, 470, 0, 0,
+ 0, 252, 0, 468, 423, 596, 232, 283, 455, 429,
+ 466, 437, 286, 0, 0, 467, 369, 579, 447, 593,
+ 620, 621, 262, 403, 606, 516, 614, 638, 225, 259,
+ 417, 501, 599, 490, 394, 575, 576, 328, 489, 294,
+ 201, 366, 626, 223, 476, 368, 241, 230, 581, 603,
+ 298, 288, 453, 633, 212, 511, 591, 238, 480, 0,
+ 0, 641, 246, 500, 214, 588, 499, 390, 325, 326,
+ 213, 0, 454, 267, 292, 0, 0, 257, 412, 583,
+ 584, 255, 642, 227, 613, 219, 0, 612, 405, 578,
+ 589, 391, 380, 218, 587, 389, 379, 333, 352, 353,
+ 279, 306, 444, 372, 445, 305, 307, 401, 400, 402,
+ 206, 600, 0, 207, 0, 495, 602, 643, 449, 211,
+ 233, 234, 236, 0, 278, 282, 290, 293, 302, 303,
+ 312, 364, 416, 443, 439, 448, 0, 573, 594, 607,
+ 618, 624, 625, 627, 628, 629, 630, 631, 634, 632,
+ 404, 310, 491, 332, 370, 0, 0, 422, 469, 239,
+ 598, 492, 199, 0, 0, 0, 0, 253, 254, 0,
+ 569, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 644, 645, 646, 647, 648, 649, 650, 651, 652, 653,
+ 654, 655, 656, 657, 658, 659, 660, 661, 639, 502,
+ 508, 503, 504, 505, 506, 507, 0, 509, 0, 0,
+ 0, 0, 0, 395, 0, 585, 586, 662, 381, 482,
+ 595, 334, 346, 349, 339, 358, 0, 359, 335, 336,
+ 341, 343, 344, 345, 350, 351, 355, 361, 248, 209,
+ 387, 396, 572, 311, 215, 216, 217, 518, 519, 520,
+ 521, 610, 611, 615, 204, 459, 460, 461, 462, 291,
+ 605, 308, 465, 464, 330, 331, 376, 446, 534, 536,
+ 547, 551, 553, 555, 561, 564, 535, 537, 548, 552,
+ 554, 556, 562, 565, 524, 526, 528, 530, 543, 542,
+ 539, 567, 568, 545, 550, 529, 541, 546, 559, 566,
+ 563, 523, 527, 531, 540, 558, 557, 538, 549, 560,
+ 544, 532, 525, 533, 0, 196, 220, 365, 0, 451,
+ 287, 640, 609, 604, 205, 222, 0, 261, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 198,
+ 200, 208, 221, 231, 235, 242, 260, 275, 277, 284,
+ 297, 309, 317, 318, 321, 327, 377, 383, 384, 385,
+ 386, 406, 407, 408, 411, 414, 415, 418, 420, 421,
+ 424, 428, 432, 433, 434, 436, 438, 440, 452, 457,
+ 471, 472, 473, 474, 475, 478, 479, 484, 485, 486,
+ 487, 488, 496, 497, 510, 580, 582, 597, 616, 622,
+ 477, 300, 301, 441, 442, 313, 314, 636, 637, 299,
+ 592, 623, 590, 635, 617, 435, 375, 0, 0, 378,
+ 280, 304, 319, 0, 608, 498, 226, 463, 289, 250,
+ 0, 0, 210, 245, 229, 258, 273, 276, 323, 388,
+ 397, 426, 431, 295, 270, 243, 456, 240, 481, 513,
+ 514, 515, 517, 392, 265, 430, 393, 0, 373, 570,
+ 571, 315, 0, 522, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 413, 0, 0, 0, 0,
+ 0, 0, 0, 0, 269, 0, 0, 0, 0, 363,
+ 266, 0, 0, 427, 0, 203, 0, 483, 251, 374,
+ 371, 577, 281, 272, 268, 249, 316, 382, 425, 512,
+ 419, 0, 367, 0, 0, 493, 398, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 322, 247, 324, 202, 410, 494, 285, 0,
+ 0, 0, 0, 2096, 712, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 237, 0, 0, 244, 0, 0,
+ 0, 348, 357, 356, 337, 338, 340, 342, 347, 354,
+ 360, 0, 0, 601, 0, 0, 0, 264, 320, 271,
+ 263, 574, 0, 0, 0, 0, 0, 0, 0, 0,
+ 228, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 274, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 274, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 2097, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 296, 0, 399,
+ 256, 0, 450, 0, 0, 0, 619, 0, 0, 0,
+ 0, 0, 0, 0, 362, 0, 329, 197, 224, 0,
+ 0, 409, 458, 470, 0, 0, 0, 252, 0, 468,
+ 423, 596, 232, 283, 455, 429, 466, 437, 286, 0,
+ 0, 467, 369, 579, 447, 593, 620, 621, 262, 403,
+ 606, 516, 614, 638, 225, 259, 417, 501, 599, 490,
+ 394, 575, 576, 328, 489, 294, 201, 366, 626, 223,
+ 476, 368, 241, 230, 581, 603, 298, 288, 453, 633,
+ 212, 511, 591, 238, 480, 0, 0, 641, 246, 500,
+ 214, 588, 499, 390, 325, 326, 213, 0, 454, 267,
+ 292, 0, 0, 257, 412, 583, 584, 255, 642, 227,
+ 613, 219, 0, 612, 405, 578, 589, 391, 380, 218,
+ 587, 389, 379, 333, 352, 353, 279, 306, 444, 372,
+ 445, 305, 307, 401, 400, 402, 206, 600, 0, 207,
+ 0, 495, 602, 643, 449, 211, 233, 234, 236, 0,
+ 278, 282, 290, 293, 302, 303, 312, 364, 416, 443,
+ 439, 448, 0, 573, 594, 607, 618, 624, 625, 627,
+ 628, 629, 630, 631, 634, 632, 404, 310, 491, 332,
+ 370, 0, 0, 422, 469, 239, 598, 492, 199, 0,
+ 0, 0, 0, 253, 254, 0, 569, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 644, 645, 646, 647,
+ 648, 649, 650, 651, 652, 653, 654, 655, 656, 657,
+ 658, 659, 660, 661, 639, 502, 508, 503, 504, 505,
+ 506, 507, 0, 509, 0, 0, 0, 0, 0, 395,
+ 0, 585, 586, 662, 381, 482, 595, 334, 346, 349,
+ 339, 358, 0, 359, 335, 336, 341, 343, 344, 345,
+ 350, 351, 355, 361, 248, 209, 387, 396, 572, 311,
+ 215, 216, 217, 518, 519, 520, 521, 610, 611, 615,
+ 204, 459, 460, 461, 462, 291, 605, 308, 465, 464,
+ 330, 331, 376, 446, 534, 536, 547, 551, 553, 555,
+ 561, 564, 535, 537, 548, 552, 554, 556, 562, 565,
+ 524, 526, 528, 530, 543, 542, 539, 567, 568, 545,
+ 550, 529, 541, 546, 559, 566, 563, 523, 527, 531,
+ 540, 558, 557, 538, 549, 560, 544, 532, 525, 533,
+ 0, 196, 220, 365, 0, 451, 287, 640, 609, 604,
+ 205, 222, 0, 261, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 198, 200, 208, 221, 231,
+ 235, 242, 260, 275, 277, 284, 297, 309, 317, 318,
+ 321, 327, 377, 383, 384, 385, 386, 406, 407, 408,
+ 411, 414, 415, 418, 420, 421, 424, 428, 432, 433,
+ 434, 436, 438, 440, 452, 457, 471, 472, 473, 474,
+ 475, 478, 479, 484, 485, 486, 487, 488, 496, 497,
+ 510, 580, 582, 597, 616, 622, 477, 300, 301, 441,
+ 442, 313, 314, 636, 637, 299, 592, 623, 590, 635,
+ 617, 435, 375, 0, 0, 378, 280, 304, 319, 0,
+ 608, 498, 226, 463, 289, 250, 0, 0, 210, 245,
+ 229, 258, 273, 276, 323, 388, 397, 426, 431, 295,
+ 270, 243, 456, 240, 481, 513, 514, 515, 517, 392,
+ 265, 430, 393, 0, 373, 570, 571, 315, 0, 522,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 413, 0, 0, 0, 0, 0, 0, 0, 0,
+ 269, 0, 0, 0, 0, 363, 266, 0, 0, 427,
+ 0, 203, 0, 483, 251, 374, 371, 577, 281, 272,
+ 268, 249, 316, 382, 425, 512, 419, 0, 367, 0,
+ 0, 493, 398, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 322, 247,
+ 324, 202, 410, 494, 285, 0, 0, 0, 0, 2832,
+ 712, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 237, 0, 0, 244, 0, 0, 0, 348, 357, 356,
+ 337, 338, 340, 342, 347, 354, 360, 0, 0, 601,
+ 0, 0, 0, 264, 320, 271, 263, 574, 0, 0,
+ 0, 0, 0, 0, 0, 0, 228, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 274, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 2833,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 296, 0, 399, 256, 0, 450, 0,
+ 0, 0, 619, 0, 0, 0, 0, 0, 0, 0,
+ 362, 0, 329, 197, 224, 0, 0, 409, 458, 470,
+ 0, 0, 0, 252, 0, 468, 423, 596, 232, 283,
+ 455, 429, 466, 437, 286, 0, 0, 467, 369, 579,
+ 447, 593, 620, 621, 262, 403, 606, 516, 614, 638,
+ 225, 259, 417, 501, 599, 490, 394, 575, 576, 328,
+ 489, 294, 201, 366, 626, 223, 476, 368, 241, 230,
+ 581, 603, 298, 288, 453, 633, 212, 511, 591, 238,
+ 480, 0, 0, 641, 246, 500, 214, 588, 499, 390,
+ 325, 326, 213, 0, 454, 267, 292, 0, 0, 257,
+ 412, 583, 584, 255, 642, 227, 613, 219, 0, 612,
+ 405, 578, 589, 391, 380, 218, 587, 389, 379, 333,
+ 352, 353, 279, 306, 444, 372, 445, 305, 307, 401,
+ 400, 402, 206, 600, 0, 207, 0, 495, 602, 643,
+ 449, 211, 233, 234, 236, 0, 278, 282, 290, 293,
+ 302, 303, 312, 364, 416, 443, 439, 448, 0, 573,
+ 594, 607, 618, 624, 625, 627, 628, 629, 630, 631,
+ 634, 632, 404, 310, 491, 332, 370, 0, 0, 422,
+ 469, 239, 598, 492, 199, 0, 0, 0, 0, 253,
+ 254, 0, 569, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 644, 645, 646, 647, 648, 649, 650, 651,
+ 652, 653, 654, 655, 656, 657, 658, 659, 660, 661,
+ 639, 502, 508, 503, 504, 505, 506, 507, 0, 509,
+ 0, 0, 0, 0, 0, 395, 0, 585, 586, 662,
+ 381, 482, 595, 334, 346, 349, 339, 358, 0, 359,
+ 335, 336, 341, 343, 344, 345, 350, 351, 355, 361,
+ 248, 209, 387, 396, 572, 311, 215, 216, 217, 518,
+ 519, 520, 521, 610, 611, 615, 204, 459, 460, 461,
+ 462, 291, 605, 308, 465, 464, 330, 331, 376, 446,
+ 534, 536, 547, 551, 553, 555, 561, 564, 535, 537,
+ 548, 552, 554, 556, 562, 565, 524, 526, 528, 530,
+ 543, 542, 539, 567, 568, 545, 550, 529, 541, 546,
+ 559, 566, 563, 523, 527, 531, 540, 558, 557, 538,
+ 549, 560, 544, 532, 525, 533, 0, 196, 220, 365,
+ 0, 451, 287, 640, 609, 604, 205, 222, 0, 261,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 198, 200, 208, 221, 231, 235, 242, 260, 275,
+ 277, 284, 297, 309, 317, 318, 321, 327, 377, 383,
+ 384, 385, 386, 406, 407, 408, 411, 414, 415, 418,
+ 420, 421, 424, 428, 432, 433, 434, 436, 438, 440,
+ 452, 457, 471, 472, 473, 474, 475, 478, 479, 484,
+ 485, 486, 487, 488, 496, 497, 510, 580, 582, 597,
+ 616, 622, 477, 300, 301, 441, 442, 313, 314, 636,
+ 637, 299, 592, 623, 590, 635, 617, 435, 375, 0,
+ 0, 378, 280, 304, 319, 0, 608, 498, 226, 463,
+ 289, 250, 0, 0, 210, 245, 229, 258, 273, 276,
+ 323, 388, 397, 426, 431, 295, 270, 243, 456, 240,
+ 481, 513, 514, 515, 517, 392, 265, 430, 393, 0,
+ 373, 570, 571, 315, 0, 522, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 413, 0, 0,
+ 0, 0, 0, 0, 0, 0, 269, 0, 0, 0,
+ 0, 363, 266, 0, 0, 427, 0, 203, 0, 483,
+ 251, 374, 371, 577, 281, 272, 268, 249, 316, 382,
+ 425, 512, 419, 0, 367, 0, 0, 493, 398, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 296, 0, 399, 256, 0, 450,
- 0, 0, 0, 618, 0, 0, 0, 0, 0, 0,
- 0, 362, 0, 329, 197, 224, 0, 0, 409, 458,
- 470, 0, 0, 0, 252, 0, 468, 423, 596, 232,
- 283, 455, 429, 466, 437, 286, 0, 0, 467, 369,
- 579, 447, 593, 619, 620, 262, 403, 605, 516, 613,
- 637, 225, 259, 417, 501, 599, 490, 394, 575, 576,
- 328, 489, 294, 201, 366, 625, 223, 476, 368, 241,
- 230, 581, 602, 298, 288, 453, 632, 212, 511, 591,
- 238, 480, 0, 0, 640, 246, 500, 214, 588, 499,
- 390, 325, 326, 213, 0, 454, 267, 292, 0, 0,
- 257, 412, 583, 584, 255, 641, 227, 612, 219, 0,
- 611, 405, 578, 589, 391, 380, 218, 587, 389, 379,
- 333, 352, 353, 279, 306, 444, 372, 445, 305, 307,
- 401, 400, 402, 206, 600, 0, 207, 0, 495, 601,
- 642, 449, 211, 233, 234, 236, 0, 278, 282, 290,
- 293, 302, 303, 312, 364, 416, 443, 439, 448, 0,
- 573, 594, 606, 617, 623, 624, 626, 627, 628, 629,
- 630, 633, 631, 404, 310, 491, 332, 370, 0, 0,
- 422, 469, 239, 598, 492, 199, 0, 0, 0, 0,
- 253, 254, 0, 569, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 643, 644, 645, 646, 647, 648, 649,
- 650, 651, 652, 653, 654, 655, 656, 657, 658, 659,
- 660, 638, 502, 508, 503, 504, 505, 506, 507, 0,
- 509, 0, 0, 0, 0, 0, 395, 0, 585, 586,
- 661, 381, 482, 595, 334, 346, 349, 339, 358, 0,
- 359, 335, 336, 341, 343, 344, 345, 350, 351, 355,
- 361, 248, 209, 387, 396, 572, 311, 215, 216, 217,
- 518, 519, 520, 521, 609, 610, 614, 204, 459, 460,
- 461, 462, 291, 604, 308, 465, 464, 330, 331, 376,
- 446, 534, 536, 547, 551, 553, 555, 561, 564, 535,
- 537, 548, 552, 554, 556, 562, 565, 524, 526, 528,
- 530, 543, 542, 539, 567, 568, 545, 550, 529, 541,
- 546, 559, 566, 563, 523, 527, 531, 540, 558, 557,
- 538, 549, 560, 544, 532, 525, 533, 0, 196, 220,
- 365, 0, 451, 287, 639, 608, 603, 205, 222, 0,
- 261, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 198, 200, 208, 221, 231, 235, 242, 260,
- 275, 277, 284, 297, 309, 317, 318, 321, 327, 377,
- 383, 384, 385, 386, 406, 407, 408, 411, 414, 415,
- 418, 420, 421, 424, 428, 432, 433, 434, 436, 438,
- 440, 452, 457, 471, 472, 473, 474, 475, 478, 479,
- 484, 485, 486, 487, 488, 496, 497, 510, 580, 582,
- 597, 615, 621, 477, 300, 301, 441, 442, 313, 314,
- 635, 636, 299, 592, 622, 590, 634, 616, 435, 375,
- 0, 0, 378, 280, 304, 319, 0, 607, 498, 226,
- 463, 289, 250, 0, 0, 210, 245, 229, 258, 273,
- 276, 323, 388, 397, 426, 431, 295, 270, 243, 456,
- 240, 481, 513, 514, 515, 517, 392, 265, 430, 393,
- 0, 373, 570, 571, 315, 0, 522, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 413, 0,
- 0, 0, 0, 0, 0, 0, 0, 269, 0, 0,
- 0, 0, 363, 266, 0, 0, 427, 0, 203, 0,
- 483, 251, 374, 371, 577, 281, 272, 268, 249, 316,
- 382, 425, 512, 419, 0, 367, 0, 0, 493, 398,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 322, 247, 324, 202, 410,
- 494, 285, 0, 0, 0, 0, 1752, 711, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 237, 0, 0,
- 244, 0, 0, 0, 348, 357, 356, 337, 338, 340,
- 342, 347, 354, 360, 0, 0, 0, 0, 0, 264,
+ 0, 0, 0, 0, 322, 247, 324, 202, 410, 494,
+ 285, 0, 0, 0, 0, 0, 712, 0, 0, 0,
+ 0, 2817, 0, 0, 0, 0, 237, 0, 0, 244,
+ 2818, 0, 0, 348, 357, 356, 337, 338, 340, 342,
+ 347, 354, 360, 0, 0, 601, 0, 0, 0, 264,
320, 271, 263, 574, 0, 0, 0, 0, 0, 0,
0, 0, 228, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 274, 0, 0,
@@ -5772,42 +5155,42 @@ var yyAct = [...]int{
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 296,
- 0, 399, 256, 0, 450, 0, 0, 0, 618, 0,
+ 0, 399, 256, 0, 450, 0, 0, 0, 619, 0,
0, 0, 0, 0, 0, 0, 362, 0, 329, 197,
224, 0, 0, 409, 458, 470, 0, 0, 0, 252,
0, 468, 423, 596, 232, 283, 455, 429, 466, 437,
- 286, 0, 0, 467, 369, 579, 447, 593, 619, 620,
- 262, 403, 605, 516, 613, 637, 225, 259, 417, 501,
+ 286, 0, 0, 467, 369, 579, 447, 593, 620, 621,
+ 262, 403, 606, 516, 614, 638, 225, 259, 417, 501,
599, 490, 394, 575, 576, 328, 489, 294, 201, 366,
- 625, 223, 476, 368, 241, 230, 581, 602, 298, 288,
- 453, 632, 212, 511, 591, 238, 480, 0, 0, 640,
+ 626, 223, 476, 368, 241, 230, 581, 603, 298, 288,
+ 453, 633, 212, 511, 591, 238, 480, 0, 0, 641,
246, 500, 214, 588, 499, 390, 325, 326, 213, 0,
454, 267, 292, 0, 0, 257, 412, 583, 584, 255,
- 641, 227, 612, 219, 0, 611, 405, 578, 589, 391,
+ 642, 227, 613, 219, 0, 612, 405, 578, 589, 391,
380, 218, 587, 389, 379, 333, 352, 353, 279, 306,
444, 372, 445, 305, 307, 401, 400, 402, 206, 600,
- 0, 207, 0, 495, 601, 642, 449, 211, 233, 234,
+ 0, 207, 0, 495, 602, 643, 449, 211, 233, 234,
236, 0, 278, 282, 290, 293, 302, 303, 312, 364,
- 416, 443, 439, 448, 0, 573, 594, 606, 617, 623,
- 624, 626, 627, 628, 629, 630, 633, 631, 404, 310,
+ 416, 443, 439, 448, 0, 573, 594, 607, 618, 624,
+ 625, 627, 628, 629, 630, 631, 634, 632, 404, 310,
491, 332, 370, 0, 0, 422, 469, 239, 598, 492,
199, 0, 0, 0, 0, 253, 254, 0, 569, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 643, 644,
- 645, 646, 647, 648, 649, 650, 651, 652, 653, 654,
- 655, 656, 657, 658, 659, 660, 638, 502, 508, 503,
+ 0, 0, 0, 0, 0, 0, 0, 0, 644, 645,
+ 646, 647, 648, 649, 650, 651, 652, 653, 654, 655,
+ 656, 657, 658, 659, 660, 661, 639, 502, 508, 503,
504, 505, 506, 507, 0, 509, 0, 0, 0, 0,
- 0, 395, 0, 585, 586, 661, 381, 482, 595, 334,
+ 0, 395, 0, 585, 586, 662, 381, 482, 595, 334,
346, 349, 339, 358, 0, 359, 335, 336, 341, 343,
344, 345, 350, 351, 355, 361, 248, 209, 387, 396,
- 572, 311, 215, 216, 217, 518, 519, 520, 521, 609,
- 610, 614, 204, 459, 460, 461, 462, 291, 604, 308,
+ 572, 311, 215, 216, 217, 518, 519, 520, 521, 610,
+ 611, 615, 204, 459, 460, 461, 462, 291, 605, 308,
465, 464, 330, 331, 376, 446, 534, 536, 547, 551,
553, 555, 561, 564, 535, 537, 548, 552, 554, 556,
562, 565, 524, 526, 528, 530, 543, 542, 539, 567,
568, 545, 550, 529, 541, 546, 559, 566, 563, 523,
527, 531, 540, 558, 557, 538, 549, 560, 544, 532,
- 525, 533, 0, 196, 220, 365, 0, 451, 287, 639,
- 608, 603, 205, 222, 0, 261, 0, 0, 0, 0,
+ 525, 533, 0, 196, 220, 365, 0, 451, 287, 640,
+ 609, 604, 205, 222, 0, 261, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 198, 200, 208,
221, 231, 235, 242, 260, 275, 277, 284, 297, 309,
@@ -5815,28 +5198,28 @@ var yyAct = [...]int{
407, 408, 411, 414, 415, 418, 420, 421, 424, 428,
432, 433, 434, 436, 438, 440, 452, 457, 471, 472,
473, 474, 475, 478, 479, 484, 485, 486, 487, 488,
- 496, 497, 510, 580, 582, 597, 615, 621, 477, 300,
- 301, 441, 442, 313, 314, 635, 636, 299, 592, 622,
- 590, 634, 616, 435, 375, 0, 0, 378, 280, 304,
- 319, 0, 607, 498, 226, 463, 289, 250, 0, 0,
+ 496, 497, 510, 580, 582, 597, 616, 622, 477, 300,
+ 301, 441, 442, 313, 314, 636, 637, 299, 592, 623,
+ 590, 635, 617, 435, 375, 0, 0, 378, 280, 304,
+ 319, 0, 608, 498, 226, 463, 289, 250, 0, 0,
210, 245, 229, 258, 273, 276, 323, 388, 397, 426,
431, 295, 270, 243, 456, 240, 481, 513, 514, 515,
517, 392, 265, 430, 393, 0, 373, 570, 571, 315,
0, 522, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 413, 0, 0, 0, 0, 0, 0,
- 0, 0, 269, 0, 0, 0, 0, 363, 266, 0,
+ 0, 0, 269, 1772, 0, 0, 0, 363, 266, 0,
0, 427, 0, 203, 0, 483, 251, 374, 371, 577,
281, 272, 268, 249, 316, 382, 425, 512, 419, 0,
367, 0, 0, 493, 398, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
322, 247, 324, 202, 410, 494, 285, 0, 0, 0,
- 0, 0, 194, 0, 0, 0, 0, 0, 0, 0,
+ 0, 1771, 712, 0, 0, 0, 0, 0, 0, 0,
0, 0, 237, 0, 0, 244, 0, 0, 0, 348,
357, 356, 337, 338, 340, 342, 347, 354, 360, 0,
- 0, 0, 0, 0, 264, 320, 271, 263, 574, 0,
- 0, 0, 0, 0, 0, 0, 0, 228, 0, 0,
+ 0, 601, 0, 0, 0, 264, 320, 271, 263, 574,
+ 0, 0, 0, 0, 0, 0, 0, 0, 228, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 274, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 274, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -5844,68 +5227,286 @@ var yyAct = [...]int{
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 296, 0, 399, 256, 0, 450,
- 0, 0, 0, 618, 0, 0, 0, 0, 0, 0,
- 0, 362, 0, 329, 197, 224, 0, 0, 409, 458,
- 470, 0, 0, 0, 252, 0, 468, 423, 596, 232,
- 283, 455, 429, 466, 437, 286, 0, 0, 467, 369,
- 579, 447, 593, 619, 620, 262, 403, 605, 516, 613,
- 637, 225, 259, 417, 501, 599, 490, 394, 575, 576,
- 328, 489, 294, 201, 366, 625, 223, 476, 368, 241,
- 230, 581, 602, 298, 288, 453, 632, 212, 511, 591,
- 238, 480, 0, 0, 640, 246, 500, 214, 588, 499,
- 390, 325, 326, 213, 0, 454, 267, 292, 0, 0,
- 257, 412, 583, 584, 255, 641, 227, 612, 219, 0,
- 611, 405, 578, 589, 391, 380, 218, 587, 389, 379,
- 333, 352, 353, 279, 306, 444, 372, 445, 305, 307,
- 401, 400, 402, 206, 600, 0, 207, 0, 495, 601,
- 642, 449, 211, 233, 234, 236, 0, 278, 282, 290,
- 293, 302, 303, 312, 364, 416, 443, 439, 448, 0,
- 573, 594, 606, 617, 623, 624, 626, 627, 628, 629,
- 630, 633, 631, 404, 310, 491, 332, 370, 0, 0,
- 422, 469, 239, 598, 492, 199, 0, 0, 0, 0,
- 253, 254, 0, 569, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 643, 644, 645, 646, 647, 648, 649,
+ 0, 0, 0, 0, 0, 296, 0, 399, 256, 0,
+ 450, 0, 0, 0, 619, 0, 0, 0, 0, 0,
+ 0, 0, 362, 0, 329, 197, 224, 0, 0, 409,
+ 458, 470, 0, 0, 0, 252, 0, 468, 423, 596,
+ 232, 283, 455, 429, 466, 437, 286, 0, 0, 467,
+ 369, 579, 447, 593, 620, 621, 262, 403, 606, 516,
+ 614, 638, 225, 259, 417, 501, 599, 490, 394, 575,
+ 576, 328, 489, 294, 201, 366, 626, 223, 476, 368,
+ 241, 230, 581, 603, 298, 288, 453, 633, 212, 511,
+ 591, 238, 480, 0, 0, 641, 246, 500, 214, 588,
+ 499, 390, 325, 326, 213, 0, 454, 267, 292, 0,
+ 0, 257, 412, 583, 584, 255, 642, 227, 613, 219,
+ 0, 612, 405, 578, 589, 391, 380, 218, 587, 389,
+ 379, 333, 352, 353, 279, 306, 444, 372, 445, 305,
+ 307, 401, 400, 402, 206, 600, 0, 207, 0, 495,
+ 602, 643, 449, 211, 233, 234, 236, 0, 278, 282,
+ 290, 293, 302, 303, 312, 364, 416, 443, 439, 448,
+ 0, 573, 594, 607, 618, 624, 625, 627, 628, 629,
+ 630, 631, 634, 632, 404, 310, 491, 332, 370, 0,
+ 0, 422, 469, 239, 598, 492, 199, 0, 0, 0,
+ 0, 253, 254, 0, 569, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 644, 645, 646, 647, 648, 649,
650, 651, 652, 653, 654, 655, 656, 657, 658, 659,
- 660, 638, 502, 508, 503, 504, 505, 506, 507, 0,
- 509, 0, 0, 0, 0, 0, 395, 0, 585, 586,
- 661, 381, 482, 595, 334, 346, 349, 339, 358, 0,
- 359, 335, 336, 341, 343, 344, 345, 350, 351, 355,
- 361, 248, 209, 387, 396, 572, 311, 215, 216, 217,
- 518, 519, 520, 521, 609, 610, 614, 204, 459, 460,
- 461, 462, 291, 604, 308, 465, 464, 330, 331, 376,
- 446, 534, 536, 547, 551, 553, 555, 561, 564, 535,
- 537, 548, 552, 554, 556, 562, 565, 524, 526, 528,
- 530, 543, 542, 539, 567, 568, 545, 550, 529, 541,
- 546, 559, 566, 563, 523, 527, 531, 540, 558, 557,
- 538, 549, 560, 544, 532, 525, 533, 0, 196, 220,
- 365, 2045, 451, 287, 639, 608, 603, 205, 222, 0,
- 261, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 198, 200, 208, 221, 231, 235, 242, 260,
- 275, 277, 284, 297, 309, 317, 318, 321, 327, 377,
- 383, 384, 385, 386, 406, 407, 408, 411, 414, 415,
- 418, 420, 421, 424, 428, 432, 433, 434, 436, 438,
- 440, 452, 457, 471, 472, 473, 474, 475, 478, 479,
- 484, 485, 486, 487, 488, 496, 497, 510, 580, 582,
- 597, 615, 621, 477, 300, 301, 441, 442, 313, 314,
- 635, 636, 299, 592, 622, 590, 634, 616, 435, 375,
- 0, 0, 378, 280, 304, 319, 0, 607, 498, 226,
- 463, 289, 250, 0, 0, 210, 245, 229, 258, 273,
- 276, 323, 388, 397, 426, 431, 295, 270, 243, 456,
- 240, 481, 513, 514, 515, 517, 392, 265, 430, 393,
- 0, 373, 570, 571, 315, 0, 522, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 413, 0,
- 0, 0, 0, 0, 0, 0, 0, 269, 0, 0,
- 0, 0, 363, 266, 0, 0, 427, 0, 203, 0,
- 483, 251, 374, 371, 577, 281, 272, 268, 249, 316,
- 382, 425, 512, 419, 0, 367, 0, 0, 493, 398,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 322, 247, 324, 202, 410,
- 494, 285, 0, 0, 0, 0, 2036, 711, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 237, 0, 0,
- 244, 0, 0, 0, 348, 357, 356, 337, 338, 340,
- 342, 347, 354, 360, 0, 0, 0, 0, 0, 264,
+ 660, 661, 639, 502, 508, 503, 504, 505, 506, 507,
+ 0, 509, 0, 0, 0, 0, 0, 395, 0, 585,
+ 586, 662, 381, 482, 595, 334, 346, 349, 339, 358,
+ 0, 359, 335, 336, 341, 343, 344, 345, 350, 351,
+ 355, 361, 248, 209, 387, 396, 572, 311, 215, 216,
+ 217, 518, 519, 520, 521, 610, 611, 615, 204, 459,
+ 460, 461, 462, 291, 605, 308, 465, 464, 330, 331,
+ 376, 446, 534, 536, 547, 551, 553, 555, 561, 564,
+ 535, 537, 548, 552, 554, 556, 562, 565, 524, 526,
+ 528, 530, 543, 542, 539, 567, 568, 545, 550, 529,
+ 541, 546, 559, 566, 563, 523, 527, 531, 540, 558,
+ 557, 538, 549, 560, 544, 532, 525, 533, 0, 196,
+ 220, 365, 0, 451, 287, 640, 609, 604, 205, 222,
+ 0, 261, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 198, 200, 208, 221, 231, 235, 242,
+ 260, 275, 277, 284, 297, 309, 317, 318, 321, 327,
+ 377, 383, 384, 385, 386, 406, 407, 408, 411, 414,
+ 415, 418, 420, 421, 424, 428, 432, 433, 434, 436,
+ 438, 440, 452, 457, 471, 472, 473, 474, 475, 478,
+ 479, 484, 485, 486, 487, 488, 496, 497, 510, 580,
+ 582, 597, 616, 622, 477, 300, 301, 441, 442, 313,
+ 314, 636, 637, 299, 592, 623, 590, 635, 617, 435,
+ 375, 0, 0, 378, 280, 304, 319, 0, 608, 498,
+ 226, 463, 289, 250, 0, 0, 210, 245, 229, 258,
+ 273, 276, 323, 388, 397, 426, 431, 295, 270, 243,
+ 456, 240, 481, 513, 514, 515, 517, 392, 265, 430,
+ 393, 0, 373, 570, 571, 315, 0, 522, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 413,
+ 0, 0, 0, 0, 0, 0, 0, 0, 269, 0,
+ 0, 0, 0, 363, 266, 0, 0, 427, 0, 203,
+ 0, 483, 251, 374, 371, 577, 281, 272, 268, 249,
+ 316, 382, 425, 512, 419, 0, 367, 0, 0, 493,
+ 398, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 322, 247, 324, 202,
+ 410, 494, 285, 0, 0, 0, 0, 0, 714, 715,
+ 716, 0, 0, 0, 0, 0, 0, 0, 237, 0,
+ 0, 244, 0, 0, 0, 348, 357, 356, 337, 338,
+ 340, 342, 347, 354, 360, 0, 0, 601, 0, 0,
+ 0, 264, 320, 271, 263, 574, 0, 0, 0, 0,
+ 0, 0, 0, 0, 228, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 274,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 296, 0, 399, 256, 0, 450, 0, 0, 0,
+ 619, 0, 0, 0, 0, 0, 0, 0, 362, 0,
+ 329, 197, 224, 0, 0, 409, 458, 470, 0, 0,
+ 0, 252, 0, 468, 423, 596, 232, 283, 455, 429,
+ 466, 437, 286, 0, 0, 467, 369, 579, 447, 593,
+ 620, 621, 262, 403, 606, 516, 614, 638, 225, 259,
+ 417, 501, 599, 490, 394, 575, 576, 328, 489, 294,
+ 201, 366, 626, 223, 476, 368, 241, 230, 581, 603,
+ 298, 288, 453, 633, 212, 511, 591, 238, 480, 0,
+ 0, 641, 246, 500, 214, 588, 499, 390, 325, 326,
+ 213, 0, 454, 267, 292, 0, 0, 257, 412, 583,
+ 584, 255, 642, 227, 613, 219, 0, 612, 405, 578,
+ 589, 391, 380, 218, 587, 389, 379, 333, 352, 353,
+ 279, 306, 444, 372, 445, 305, 307, 401, 400, 402,
+ 206, 600, 0, 207, 0, 495, 602, 643, 449, 211,
+ 233, 234, 236, 0, 278, 282, 290, 293, 302, 303,
+ 312, 364, 416, 443, 439, 448, 0, 573, 594, 607,
+ 618, 624, 625, 627, 628, 629, 630, 631, 634, 632,
+ 404, 310, 491, 332, 370, 0, 0, 422, 469, 239,
+ 598, 492, 199, 0, 0, 0, 0, 253, 254, 0,
+ 569, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 644, 645, 646, 647, 648, 649, 650, 651, 652, 653,
+ 654, 655, 656, 657, 658, 659, 660, 661, 639, 502,
+ 508, 503, 504, 505, 506, 507, 0, 509, 0, 0,
+ 0, 0, 0, 395, 0, 585, 586, 662, 381, 482,
+ 595, 334, 346, 349, 339, 358, 0, 359, 335, 336,
+ 341, 343, 344, 345, 350, 351, 355, 361, 248, 209,
+ 387, 396, 572, 311, 215, 216, 217, 518, 519, 520,
+ 521, 610, 611, 615, 204, 459, 460, 461, 462, 291,
+ 605, 308, 465, 464, 330, 331, 376, 446, 534, 536,
+ 547, 551, 553, 555, 561, 564, 535, 537, 548, 552,
+ 554, 556, 562, 565, 524, 526, 528, 530, 543, 542,
+ 539, 567, 568, 545, 550, 529, 541, 546, 559, 566,
+ 563, 523, 527, 531, 540, 558, 557, 538, 549, 560,
+ 544, 532, 525, 533, 0, 196, 220, 365, 0, 451,
+ 287, 640, 609, 604, 205, 222, 0, 261, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 198,
+ 200, 208, 221, 231, 235, 242, 260, 275, 277, 284,
+ 297, 309, 317, 318, 321, 327, 377, 383, 384, 385,
+ 386, 406, 407, 408, 411, 414, 415, 418, 420, 421,
+ 424, 428, 432, 433, 434, 436, 438, 440, 452, 457,
+ 471, 472, 473, 474, 475, 478, 479, 484, 485, 486,
+ 487, 488, 496, 497, 510, 580, 582, 597, 616, 622,
+ 477, 300, 301, 441, 442, 313, 314, 636, 637, 299,
+ 592, 623, 590, 635, 617, 435, 375, 0, 0, 378,
+ 280, 304, 319, 0, 608, 498, 226, 463, 289, 250,
+ 0, 0, 210, 245, 229, 258, 273, 276, 323, 388,
+ 397, 426, 431, 295, 270, 243, 456, 240, 481, 513,
+ 514, 515, 517, 392, 265, 430, 393, 0, 373, 570,
+ 571, 315, 0, 522, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 413, 0, 0, 0, 0,
+ 0, 0, 0, 0, 269, 0, 0, 0, 0, 363,
+ 266, 0, 0, 427, 0, 203, 0, 483, 251, 374,
+ 371, 577, 281, 272, 268, 249, 316, 382, 425, 512,
+ 419, 0, 367, 0, 0, 493, 398, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 322, 247, 324, 202, 410, 494, 285, 0,
+ 0, 0, 0, 0, 712, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 237, 0, 0, 244, 0, 0,
+ 0, 348, 357, 356, 337, 338, 340, 342, 347, 354,
+ 360, 0, 0, 601, 0, 0, 0, 264, 320, 271,
+ 263, 574, 0, 0, 0, 0, 0, 0, 0, 0,
+ 228, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 274, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 296, 0, 399,
+ 256, 0, 450, 0, 0, 0, 619, 0, 0, 0,
+ 4019, 0, 0, 0, 362, 0, 329, 197, 224, 0,
+ 0, 409, 458, 470, 0, 0, 0, 252, 0, 468,
+ 423, 596, 232, 283, 455, 429, 466, 437, 286, 0,
+ 0, 467, 369, 579, 447, 593, 620, 621, 262, 403,
+ 606, 516, 614, 638, 225, 259, 417, 501, 599, 490,
+ 394, 575, 576, 328, 489, 294, 201, 366, 626, 223,
+ 476, 368, 241, 230, 581, 603, 298, 288, 453, 633,
+ 212, 511, 591, 238, 480, 0, 0, 641, 246, 500,
+ 214, 588, 499, 390, 325, 326, 213, 0, 454, 267,
+ 292, 0, 0, 257, 412, 583, 584, 255, 642, 227,
+ 613, 219, 0, 612, 405, 578, 589, 391, 380, 218,
+ 587, 389, 379, 333, 352, 353, 279, 306, 444, 372,
+ 445, 305, 307, 401, 400, 402, 206, 600, 0, 207,
+ 0, 495, 602, 643, 449, 211, 233, 234, 236, 0,
+ 278, 282, 290, 293, 302, 303, 312, 364, 416, 443,
+ 439, 448, 0, 573, 594, 607, 618, 624, 625, 627,
+ 628, 629, 630, 631, 634, 632, 404, 310, 491, 332,
+ 370, 0, 0, 422, 469, 239, 598, 492, 199, 0,
+ 0, 0, 0, 253, 254, 0, 569, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 644, 645, 646, 647,
+ 648, 649, 650, 651, 652, 653, 654, 655, 656, 657,
+ 658, 659, 660, 661, 639, 502, 508, 503, 504, 505,
+ 506, 507, 0, 509, 0, 0, 0, 0, 0, 395,
+ 0, 585, 586, 662, 381, 482, 595, 334, 346, 349,
+ 339, 358, 0, 359, 335, 336, 341, 343, 344, 345,
+ 350, 351, 355, 361, 248, 209, 387, 396, 572, 311,
+ 215, 216, 217, 518, 519, 520, 521, 610, 611, 615,
+ 204, 459, 460, 461, 462, 291, 605, 308, 465, 464,
+ 330, 331, 376, 446, 534, 536, 547, 551, 553, 555,
+ 561, 564, 535, 537, 548, 552, 554, 556, 562, 565,
+ 524, 526, 528, 530, 543, 542, 539, 567, 568, 545,
+ 550, 529, 541, 546, 559, 566, 563, 523, 527, 531,
+ 540, 558, 557, 538, 549, 560, 544, 532, 525, 533,
+ 0, 196, 220, 365, 0, 451, 287, 640, 609, 604,
+ 205, 222, 0, 261, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 198, 200, 208, 221, 231,
+ 235, 242, 260, 275, 277, 284, 297, 309, 317, 318,
+ 321, 327, 377, 383, 384, 385, 386, 406, 407, 408,
+ 411, 414, 415, 418, 420, 421, 424, 428, 432, 433,
+ 434, 436, 438, 440, 452, 457, 471, 472, 473, 474,
+ 475, 478, 479, 484, 485, 486, 487, 488, 496, 497,
+ 510, 580, 582, 597, 616, 622, 477, 300, 301, 441,
+ 442, 313, 314, 636, 637, 299, 592, 623, 590, 635,
+ 617, 435, 375, 0, 0, 378, 280, 304, 319, 0,
+ 608, 498, 226, 463, 289, 250, 0, 0, 210, 245,
+ 229, 258, 273, 276, 323, 388, 397, 426, 431, 295,
+ 270, 243, 456, 240, 481, 513, 514, 515, 517, 392,
+ 265, 430, 393, 0, 373, 570, 571, 315, 0, 522,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 413, 0, 0, 0, 0, 0, 0, 0, 0,
+ 269, 0, 0, 0, 0, 363, 266, 0, 0, 427,
+ 0, 203, 0, 483, 251, 374, 371, 577, 281, 272,
+ 268, 249, 316, 382, 425, 512, 419, 0, 367, 0,
+ 0, 493, 398, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 322, 247,
+ 324, 202, 410, 494, 285, 0, 0, 0, 0, 1932,
+ 194, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 237, 0, 0, 244, 0, 0, 0, 348, 357, 356,
+ 337, 338, 340, 342, 347, 354, 360, 0, 0, 601,
+ 0, 0, 0, 264, 320, 271, 263, 574, 0, 0,
+ 0, 0, 0, 0, 0, 0, 228, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 274, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 296, 0, 399, 256, 0, 450, 0,
+ 0, 0, 619, 0, 0, 0, 0, 0, 0, 0,
+ 362, 0, 329, 197, 224, 0, 0, 409, 458, 470,
+ 0, 0, 0, 252, 0, 468, 423, 596, 232, 283,
+ 455, 429, 466, 437, 286, 0, 0, 467, 369, 579,
+ 447, 593, 620, 621, 262, 403, 606, 516, 614, 638,
+ 225, 259, 417, 501, 599, 490, 394, 575, 576, 328,
+ 489, 294, 201, 366, 626, 223, 476, 368, 241, 230,
+ 581, 603, 298, 288, 453, 633, 212, 511, 591, 238,
+ 480, 0, 0, 641, 246, 500, 214, 588, 499, 390,
+ 325, 326, 213, 0, 454, 267, 292, 0, 0, 257,
+ 412, 583, 584, 255, 642, 227, 613, 219, 0, 612,
+ 405, 578, 589, 391, 380, 218, 587, 389, 379, 333,
+ 352, 353, 279, 306, 444, 372, 445, 305, 307, 401,
+ 400, 402, 206, 600, 0, 207, 0, 495, 602, 643,
+ 449, 211, 233, 234, 236, 0, 278, 282, 290, 293,
+ 302, 303, 312, 364, 416, 443, 439, 448, 0, 573,
+ 594, 607, 618, 624, 625, 627, 628, 629, 630, 631,
+ 634, 632, 404, 310, 491, 332, 370, 0, 0, 422,
+ 469, 239, 598, 492, 199, 0, 0, 0, 0, 253,
+ 254, 0, 569, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 644, 645, 646, 647, 648, 649, 650, 651,
+ 652, 653, 654, 655, 656, 657, 658, 659, 660, 661,
+ 639, 502, 508, 503, 504, 505, 506, 507, 0, 509,
+ 0, 0, 0, 0, 0, 395, 0, 585, 586, 662,
+ 381, 482, 595, 334, 346, 349, 339, 358, 0, 359,
+ 335, 336, 341, 343, 344, 345, 350, 351, 355, 361,
+ 248, 209, 387, 396, 572, 311, 215, 216, 217, 518,
+ 519, 520, 521, 610, 611, 615, 204, 459, 460, 461,
+ 462, 291, 605, 308, 465, 464, 330, 331, 376, 446,
+ 534, 536, 547, 551, 553, 555, 561, 564, 535, 537,
+ 548, 552, 554, 556, 562, 565, 524, 526, 528, 530,
+ 543, 542, 539, 567, 568, 545, 550, 529, 541, 546,
+ 559, 566, 563, 523, 527, 531, 540, 558, 557, 538,
+ 549, 560, 544, 532, 525, 533, 0, 196, 220, 365,
+ 0, 451, 287, 640, 609, 604, 205, 222, 0, 261,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 198, 200, 208, 221, 231, 235, 242, 260, 275,
+ 277, 284, 297, 309, 317, 318, 321, 327, 377, 383,
+ 384, 385, 386, 406, 407, 408, 411, 414, 415, 418,
+ 420, 421, 424, 428, 432, 433, 434, 436, 438, 440,
+ 452, 457, 471, 472, 473, 474, 475, 478, 479, 484,
+ 485, 486, 487, 488, 496, 497, 510, 580, 582, 597,
+ 616, 622, 477, 300, 301, 441, 442, 313, 314, 636,
+ 637, 299, 592, 623, 590, 635, 617, 435, 375, 0,
+ 0, 378, 280, 304, 319, 0, 608, 498, 226, 463,
+ 289, 250, 0, 0, 210, 245, 229, 258, 273, 276,
+ 323, 388, 397, 426, 431, 295, 270, 243, 456, 240,
+ 481, 513, 514, 515, 517, 392, 265, 430, 393, 0,
+ 373, 570, 571, 315, 0, 522, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 413, 0, 0,
+ 0, 0, 0, 0, 0, 0, 269, 0, 0, 0,
+ 0, 363, 266, 0, 0, 427, 0, 203, 0, 483,
+ 251, 374, 371, 577, 281, 272, 268, 249, 316, 382,
+ 425, 512, 419, 0, 367, 0, 0, 493, 398, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 322, 247, 324, 202, 410, 494,
+ 285, 0, 0, 0, 0, 0, 712, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 237, 0, 0, 244,
+ 0, 0, 0, 348, 357, 356, 337, 338, 340, 342,
+ 347, 354, 360, 0, 0, 601, 0, 0, 0, 264,
320, 271, 263, 574, 0, 0, 0, 0, 0, 0,
0, 0, 228, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 274, 0, 0,
@@ -5917,42 +5518,42 @@ var yyAct = [...]int{
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 296,
- 0, 399, 256, 0, 450, 0, 0, 0, 618, 0,
- 0, 0, 0, 0, 0, 0, 362, 0, 329, 197,
+ 0, 399, 256, 0, 450, 0, 0, 0, 619, 0,
+ 0, 0, 3677, 0, 0, 0, 362, 0, 329, 197,
224, 0, 0, 409, 458, 470, 0, 0, 0, 252,
0, 468, 423, 596, 232, 283, 455, 429, 466, 437,
- 286, 0, 0, 467, 369, 579, 447, 593, 619, 620,
- 262, 403, 605, 516, 613, 637, 225, 259, 417, 501,
+ 286, 0, 0, 467, 369, 579, 447, 593, 620, 621,
+ 262, 403, 606, 516, 614, 638, 225, 259, 417, 501,
599, 490, 394, 575, 576, 328, 489, 294, 201, 366,
- 625, 223, 476, 368, 241, 230, 581, 602, 298, 288,
- 453, 632, 212, 511, 591, 238, 480, 0, 0, 640,
+ 626, 223, 476, 368, 241, 230, 581, 603, 298, 288,
+ 453, 633, 212, 511, 591, 238, 480, 0, 0, 641,
246, 500, 214, 588, 499, 390, 325, 326, 213, 0,
454, 267, 292, 0, 0, 257, 412, 583, 584, 255,
- 641, 227, 612, 219, 0, 611, 405, 578, 589, 391,
+ 642, 227, 613, 219, 0, 612, 405, 578, 589, 391,
380, 218, 587, 389, 379, 333, 352, 353, 279, 306,
444, 372, 445, 305, 307, 401, 400, 402, 206, 600,
- 0, 207, 0, 495, 601, 642, 449, 211, 233, 234,
+ 0, 207, 0, 495, 602, 643, 449, 211, 233, 234,
236, 0, 278, 282, 290, 293, 302, 303, 312, 364,
- 416, 443, 439, 448, 0, 573, 594, 606, 617, 623,
- 624, 626, 627, 628, 629, 630, 633, 631, 404, 310,
+ 416, 443, 439, 448, 0, 573, 594, 607, 618, 624,
+ 625, 627, 628, 629, 630, 631, 634, 632, 404, 310,
491, 332, 370, 0, 0, 422, 469, 239, 598, 492,
199, 0, 0, 0, 0, 253, 254, 0, 569, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 643, 644,
- 645, 646, 647, 648, 649, 650, 651, 652, 653, 654,
- 655, 656, 657, 658, 659, 660, 638, 502, 508, 503,
+ 0, 0, 0, 0, 0, 0, 0, 0, 644, 645,
+ 646, 647, 648, 649, 650, 651, 652, 653, 654, 655,
+ 656, 657, 658, 659, 660, 661, 639, 502, 508, 503,
504, 505, 506, 507, 0, 509, 0, 0, 0, 0,
- 0, 395, 0, 585, 586, 661, 381, 482, 595, 334,
+ 0, 395, 0, 585, 586, 662, 381, 482, 595, 334,
346, 349, 339, 358, 0, 359, 335, 336, 341, 343,
344, 345, 350, 351, 355, 361, 248, 209, 387, 396,
- 572, 311, 215, 216, 217, 518, 519, 520, 521, 609,
- 610, 614, 204, 459, 460, 461, 462, 291, 604, 308,
+ 572, 311, 215, 216, 217, 518, 519, 520, 521, 610,
+ 611, 615, 204, 459, 460, 461, 462, 291, 605, 308,
465, 464, 330, 331, 376, 446, 534, 536, 547, 551,
553, 555, 561, 564, 535, 537, 548, 552, 554, 556,
562, 565, 524, 526, 528, 530, 543, 542, 539, 567,
568, 545, 550, 529, 541, 546, 559, 566, 563, 523,
527, 531, 540, 558, 557, 538, 549, 560, 544, 532,
- 525, 533, 0, 196, 220, 365, 0, 451, 287, 639,
- 608, 603, 205, 222, 0, 261, 0, 0, 0, 0,
+ 525, 533, 0, 196, 220, 365, 0, 451, 287, 640,
+ 609, 604, 205, 222, 0, 261, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 198, 200, 208,
221, 231, 235, 242, 260, 275, 277, 284, 297, 309,
@@ -5960,28 +5561,28 @@ var yyAct = [...]int{
407, 408, 411, 414, 415, 418, 420, 421, 424, 428,
432, 433, 434, 436, 438, 440, 452, 457, 471, 472,
473, 474, 475, 478, 479, 484, 485, 486, 487, 488,
- 496, 497, 510, 580, 582, 597, 615, 621, 477, 300,
- 301, 441, 442, 313, 314, 635, 636, 299, 592, 622,
- 590, 634, 616, 435, 375, 0, 0, 378, 280, 304,
- 319, 0, 607, 498, 226, 463, 289, 250, 0, 0,
+ 496, 497, 510, 580, 582, 597, 616, 622, 477, 300,
+ 301, 441, 442, 313, 314, 636, 637, 299, 592, 623,
+ 590, 635, 617, 435, 375, 0, 0, 378, 280, 304,
+ 319, 0, 608, 498, 226, 463, 289, 250, 0, 0,
210, 245, 229, 258, 273, 276, 323, 388, 397, 426,
431, 295, 270, 243, 456, 240, 481, 513, 514, 515,
517, 392, 265, 430, 393, 0, 373, 570, 571, 315,
0, 522, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 413, 0, 1898, 0, 0, 0, 0,
+ 0, 0, 0, 413, 0, 0, 0, 0, 0, 0,
0, 0, 269, 0, 0, 0, 0, 363, 266, 0,
0, 427, 0, 203, 0, 483, 251, 374, 371, 577,
281, 272, 268, 249, 316, 382, 425, 512, 419, 0,
367, 0, 0, 493, 398, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 322, 247, 324, 202, 410, 494, 285, 0, 0, 0,
- 0, 0, 711, 0, 0, 0, 0, 0, 0, 0,
+ 322, 247, 324, 202, 410, 494, 285, 0, 95, 0,
+ 0, 0, 712, 0, 0, 0, 0, 0, 0, 0,
0, 0, 237, 0, 0, 244, 0, 0, 0, 348,
357, 356, 337, 338, 340, 342, 347, 354, 360, 0,
- 0, 0, 0, 0, 264, 320, 271, 263, 574, 0,
- 0, 0, 0, 0, 0, 0, 0, 228, 0, 0,
+ 0, 601, 0, 0, 0, 264, 320, 271, 263, 574,
+ 0, 0, 0, 0, 0, 0, 0, 0, 228, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 274, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 274, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -5989,213 +5590,286 @@ var yyAct = [...]int{
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 296, 0, 399, 256, 0, 450,
- 0, 0, 0, 618, 0, 0, 0, 0, 0, 0,
- 0, 362, 0, 329, 197, 224, 0, 0, 409, 458,
- 470, 0, 0, 0, 252, 0, 468, 423, 596, 232,
- 283, 455, 429, 466, 437, 286, 0, 0, 467, 369,
- 579, 447, 593, 619, 620, 262, 403, 605, 516, 613,
- 637, 225, 259, 417, 501, 599, 490, 394, 575, 576,
- 328, 489, 294, 201, 366, 625, 223, 476, 368, 241,
- 230, 581, 602, 298, 288, 453, 632, 212, 511, 591,
- 238, 480, 0, 0, 640, 246, 500, 214, 588, 499,
- 390, 325, 326, 213, 0, 454, 267, 292, 0, 0,
- 257, 412, 583, 584, 255, 641, 227, 612, 219, 0,
- 611, 405, 578, 589, 391, 380, 218, 587, 389, 379,
- 333, 352, 353, 279, 306, 444, 372, 445, 305, 307,
- 401, 400, 402, 206, 600, 0, 207, 0, 495, 601,
- 642, 449, 211, 233, 234, 236, 0, 278, 282, 290,
- 293, 302, 303, 312, 364, 416, 443, 439, 448, 0,
- 573, 594, 606, 617, 623, 624, 626, 627, 628, 629,
- 630, 633, 631, 404, 310, 491, 332, 370, 0, 0,
- 422, 469, 239, 598, 492, 199, 0, 0, 0, 0,
- 253, 254, 0, 569, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 643, 644, 645, 646, 647, 648, 649,
+ 0, 0, 0, 0, 0, 296, 0, 399, 256, 0,
+ 450, 0, 0, 0, 619, 0, 0, 0, 0, 0,
+ 0, 0, 362, 0, 329, 197, 224, 0, 0, 409,
+ 458, 470, 0, 0, 0, 252, 0, 468, 423, 596,
+ 232, 283, 455, 429, 466, 437, 286, 0, 0, 467,
+ 369, 579, 447, 593, 620, 621, 262, 403, 606, 516,
+ 614, 638, 225, 259, 417, 501, 599, 490, 394, 575,
+ 576, 328, 489, 294, 201, 366, 626, 223, 476, 368,
+ 241, 230, 581, 603, 298, 288, 453, 633, 212, 511,
+ 591, 238, 480, 0, 0, 641, 246, 500, 214, 588,
+ 499, 390, 325, 326, 213, 0, 454, 267, 292, 0,
+ 0, 257, 412, 583, 584, 255, 642, 227, 613, 219,
+ 0, 612, 405, 578, 589, 391, 380, 218, 587, 389,
+ 379, 333, 352, 353, 279, 306, 444, 372, 445, 305,
+ 307, 401, 400, 402, 206, 600, 0, 207, 0, 495,
+ 602, 643, 449, 211, 233, 234, 236, 0, 278, 282,
+ 290, 293, 302, 303, 312, 364, 416, 443, 439, 448,
+ 0, 573, 594, 607, 618, 624, 625, 627, 628, 629,
+ 630, 631, 634, 632, 404, 310, 491, 332, 370, 0,
+ 0, 422, 469, 239, 598, 492, 199, 0, 0, 0,
+ 0, 253, 254, 0, 569, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 644, 645, 646, 647, 648, 649,
650, 651, 652, 653, 654, 655, 656, 657, 658, 659,
- 660, 638, 502, 508, 503, 504, 505, 506, 507, 0,
- 509, 0, 0, 0, 0, 0, 395, 0, 585, 586,
- 661, 381, 482, 595, 334, 346, 349, 339, 358, 0,
- 359, 335, 336, 341, 343, 344, 345, 350, 351, 355,
- 361, 248, 209, 387, 396, 572, 311, 215, 216, 217,
- 518, 519, 520, 521, 609, 610, 614, 204, 459, 460,
- 461, 462, 291, 604, 308, 465, 464, 330, 331, 376,
- 446, 534, 536, 547, 551, 553, 555, 561, 564, 535,
- 537, 548, 552, 554, 556, 562, 565, 524, 526, 528,
- 530, 543, 542, 539, 567, 568, 545, 550, 529, 541,
- 546, 559, 566, 563, 523, 527, 531, 540, 558, 557,
- 538, 549, 560, 544, 532, 525, 533, 0, 196, 220,
- 365, 0, 451, 287, 639, 608, 603, 205, 222, 0,
- 261, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 198, 200, 208, 221, 231, 235, 242, 260,
- 275, 277, 284, 297, 309, 317, 318, 321, 327, 377,
- 383, 384, 385, 386, 406, 407, 408, 411, 414, 415,
- 418, 420, 421, 424, 428, 432, 433, 434, 436, 438,
- 440, 452, 457, 471, 472, 473, 474, 475, 478, 479,
- 484, 485, 486, 487, 488, 496, 497, 510, 580, 582,
- 597, 615, 621, 477, 300, 301, 441, 442, 313, 314,
- 635, 636, 299, 592, 622, 590, 634, 616, 435, 375,
- 0, 0, 378, 280, 304, 319, 0, 607, 498, 226,
- 463, 289, 250, 0, 0, 210, 245, 229, 258, 273,
- 276, 323, 388, 397, 426, 431, 295, 270, 243, 456,
- 240, 481, 513, 514, 515, 517, 392, 265, 430, 393,
- 0, 373, 570, 571, 315, 0, 522, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 413, 0,
- 1896, 0, 0, 0, 0, 0, 0, 269, 0, 0,
- 0, 0, 363, 266, 0, 0, 427, 0, 203, 0,
- 483, 251, 374, 371, 577, 281, 272, 268, 249, 316,
- 382, 425, 512, 419, 0, 367, 0, 0, 493, 398,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 322, 247, 324, 202, 410,
- 494, 285, 0, 0, 0, 0, 0, 711, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 237, 0, 0,
- 244, 0, 0, 0, 348, 357, 356, 337, 338, 340,
- 342, 347, 354, 360, 0, 0, 0, 0, 0, 264,
- 320, 271, 263, 574, 0, 0, 0, 0, 0, 0,
- 0, 0, 228, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 274, 0, 0,
+ 660, 661, 639, 502, 508, 503, 504, 505, 506, 507,
+ 0, 509, 0, 0, 0, 0, 0, 395, 0, 585,
+ 586, 662, 381, 482, 595, 334, 346, 349, 339, 358,
+ 0, 359, 335, 336, 341, 343, 344, 345, 350, 351,
+ 355, 361, 248, 209, 387, 396, 572, 311, 215, 216,
+ 217, 518, 519, 520, 521, 610, 611, 615, 204, 459,
+ 460, 461, 462, 291, 605, 308, 465, 464, 330, 331,
+ 376, 446, 534, 536, 547, 551, 553, 555, 561, 564,
+ 535, 537, 548, 552, 554, 556, 562, 565, 524, 526,
+ 528, 530, 543, 542, 539, 567, 568, 545, 550, 529,
+ 541, 546, 559, 566, 563, 523, 527, 531, 540, 558,
+ 557, 538, 549, 560, 544, 532, 525, 533, 0, 196,
+ 220, 365, 0, 451, 287, 640, 609, 604, 205, 222,
+ 0, 261, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 198, 200, 208, 221, 231, 235, 242,
+ 260, 275, 277, 284, 297, 309, 317, 318, 321, 327,
+ 377, 383, 384, 385, 386, 406, 407, 408, 411, 414,
+ 415, 418, 420, 421, 424, 428, 432, 433, 434, 436,
+ 438, 440, 452, 457, 471, 472, 473, 474, 475, 478,
+ 479, 484, 485, 486, 487, 488, 496, 497, 510, 580,
+ 582, 597, 616, 622, 477, 300, 301, 441, 442, 313,
+ 314, 636, 637, 299, 592, 623, 590, 635, 617, 435,
+ 375, 0, 0, 378, 280, 304, 319, 0, 608, 498,
+ 226, 463, 289, 250, 0, 0, 210, 245, 229, 258,
+ 273, 276, 323, 388, 397, 426, 431, 295, 270, 243,
+ 456, 240, 481, 513, 514, 515, 517, 392, 265, 430,
+ 393, 0, 373, 570, 571, 315, 0, 522, 0, 0,
+ 0, 0, 2389, 0, 0, 0, 0, 0, 0, 413,
+ 0, 0, 0, 0, 0, 0, 0, 0, 269, 0,
+ 0, 0, 0, 363, 266, 0, 0, 427, 0, 203,
+ 0, 483, 251, 374, 371, 577, 281, 272, 268, 249,
+ 316, 382, 425, 512, 419, 0, 367, 0, 0, 493,
+ 398, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 322, 247, 324, 202,
+ 410, 494, 285, 0, 0, 0, 0, 0, 194, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 237, 0,
+ 0, 244, 0, 0, 0, 348, 357, 356, 337, 338,
+ 340, 342, 347, 354, 360, 0, 0, 601, 0, 0,
+ 0, 264, 320, 271, 263, 574, 0, 0, 0, 0,
+ 0, 0, 0, 0, 228, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 274,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 296,
- 0, 399, 256, 0, 450, 0, 0, 0, 618, 0,
- 0, 0, 0, 0, 0, 0, 362, 0, 329, 197,
- 224, 0, 0, 409, 458, 470, 0, 0, 0, 252,
- 0, 468, 423, 596, 232, 283, 455, 429, 466, 437,
- 286, 0, 0, 467, 369, 579, 447, 593, 619, 620,
- 262, 403, 605, 516, 613, 637, 225, 259, 417, 501,
- 599, 490, 394, 575, 576, 328, 489, 294, 201, 366,
- 625, 223, 476, 368, 241, 230, 581, 602, 298, 288,
- 453, 632, 212, 511, 591, 238, 480, 0, 0, 640,
- 246, 500, 214, 588, 499, 390, 325, 326, 213, 0,
- 454, 267, 292, 0, 0, 257, 412, 583, 584, 255,
- 641, 227, 612, 219, 0, 611, 405, 578, 589, 391,
- 380, 218, 587, 389, 379, 333, 352, 353, 279, 306,
- 444, 372, 445, 305, 307, 401, 400, 402, 206, 600,
- 0, 207, 0, 495, 601, 642, 449, 211, 233, 234,
- 236, 0, 278, 282, 290, 293, 302, 303, 312, 364,
- 416, 443, 439, 448, 0, 573, 594, 606, 617, 623,
- 624, 626, 627, 628, 629, 630, 633, 631, 404, 310,
- 491, 332, 370, 0, 0, 422, 469, 239, 598, 492,
- 199, 0, 0, 0, 0, 253, 254, 0, 569, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 643, 644,
- 645, 646, 647, 648, 649, 650, 651, 652, 653, 654,
- 655, 656, 657, 658, 659, 660, 638, 502, 508, 503,
- 504, 505, 506, 507, 0, 509, 0, 0, 0, 0,
- 0, 395, 0, 585, 586, 661, 381, 482, 595, 334,
- 346, 349, 339, 358, 0, 359, 335, 336, 341, 343,
- 344, 345, 350, 351, 355, 361, 248, 209, 387, 396,
- 572, 311, 215, 216, 217, 518, 519, 520, 521, 609,
- 610, 614, 204, 459, 460, 461, 462, 291, 604, 308,
- 465, 464, 330, 331, 376, 446, 534, 536, 547, 551,
- 553, 555, 561, 564, 535, 537, 548, 552, 554, 556,
- 562, 565, 524, 526, 528, 530, 543, 542, 539, 567,
- 568, 545, 550, 529, 541, 546, 559, 566, 563, 523,
- 527, 531, 540, 558, 557, 538, 549, 560, 544, 532,
- 525, 533, 0, 196, 220, 365, 0, 451, 287, 639,
- 608, 603, 205, 222, 0, 261, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 198, 200, 208,
- 221, 231, 235, 242, 260, 275, 277, 284, 297, 309,
- 317, 318, 321, 327, 377, 383, 384, 385, 386, 406,
- 407, 408, 411, 414, 415, 418, 420, 421, 424, 428,
- 432, 433, 434, 436, 438, 440, 452, 457, 471, 472,
- 473, 474, 475, 478, 479, 484, 485, 486, 487, 488,
- 496, 497, 510, 580, 582, 597, 615, 621, 477, 300,
- 301, 441, 442, 313, 314, 635, 636, 299, 592, 622,
- 590, 634, 616, 435, 375, 0, 0, 378, 280, 304,
- 319, 0, 607, 498, 226, 463, 289, 250, 0, 0,
- 210, 245, 229, 258, 273, 276, 323, 388, 397, 426,
- 431, 295, 270, 243, 456, 240, 481, 513, 514, 515,
- 517, 392, 265, 430, 393, 0, 373, 570, 571, 315,
- 0, 522, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 413, 0, 1894, 0, 0, 0, 0,
- 0, 0, 269, 0, 0, 0, 0, 363, 266, 0,
- 0, 427, 0, 203, 0, 483, 251, 374, 371, 577,
- 281, 272, 268, 249, 316, 382, 425, 512, 419, 0,
- 367, 0, 0, 493, 398, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 322, 247, 324, 202, 410, 494, 285, 0, 0, 0,
- 0, 0, 711, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 237, 0, 0, 244, 0, 0, 0, 348,
- 357, 356, 337, 338, 340, 342, 347, 354, 360, 0,
- 0, 0, 0, 0, 264, 320, 271, 263, 574, 0,
- 0, 0, 0, 0, 0, 0, 0, 228, 0, 0,
+ 0, 296, 0, 399, 256, 0, 450, 0, 0, 0,
+ 619, 0, 0, 0, 0, 0, 0, 0, 362, 0,
+ 329, 197, 224, 0, 0, 409, 458, 470, 0, 0,
+ 0, 252, 0, 468, 423, 596, 232, 283, 455, 429,
+ 466, 437, 286, 0, 0, 467, 369, 579, 447, 593,
+ 620, 621, 262, 403, 606, 516, 614, 638, 225, 259,
+ 417, 501, 599, 490, 394, 575, 576, 328, 489, 294,
+ 201, 366, 626, 223, 476, 368, 241, 230, 581, 603,
+ 298, 288, 453, 633, 212, 511, 591, 238, 480, 0,
+ 0, 641, 246, 500, 214, 588, 499, 390, 325, 326,
+ 213, 0, 454, 267, 292, 0, 0, 257, 412, 583,
+ 584, 255, 642, 227, 613, 219, 0, 612, 405, 578,
+ 589, 391, 380, 218, 587, 389, 379, 333, 352, 353,
+ 279, 306, 444, 372, 445, 305, 307, 401, 400, 402,
+ 206, 600, 0, 207, 0, 495, 602, 643, 449, 211,
+ 233, 234, 236, 0, 278, 282, 290, 293, 302, 303,
+ 312, 364, 416, 443, 439, 448, 0, 573, 594, 607,
+ 618, 624, 625, 627, 628, 629, 630, 631, 634, 632,
+ 404, 310, 491, 332, 370, 0, 0, 422, 469, 239,
+ 598, 492, 199, 0, 0, 0, 0, 253, 254, 0,
+ 569, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 644, 645, 646, 647, 648, 649, 650, 651, 652, 653,
+ 654, 655, 656, 657, 658, 659, 660, 661, 639, 502,
+ 508, 503, 504, 505, 506, 507, 0, 509, 0, 0,
+ 0, 0, 0, 395, 0, 585, 586, 662, 381, 482,
+ 595, 334, 346, 349, 339, 358, 0, 359, 335, 336,
+ 341, 343, 344, 345, 350, 351, 355, 361, 248, 209,
+ 387, 396, 572, 311, 215, 216, 217, 518, 519, 520,
+ 521, 610, 611, 615, 204, 459, 460, 461, 462, 291,
+ 605, 308, 465, 464, 330, 331, 376, 446, 534, 536,
+ 547, 551, 553, 555, 561, 564, 535, 537, 548, 552,
+ 554, 556, 562, 565, 524, 526, 528, 530, 543, 542,
+ 539, 567, 568, 545, 550, 529, 541, 546, 559, 566,
+ 563, 523, 527, 531, 540, 558, 557, 538, 549, 560,
+ 544, 532, 525, 533, 0, 196, 220, 365, 0, 451,
+ 287, 640, 609, 604, 205, 222, 0, 261, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 198,
+ 200, 208, 221, 231, 235, 242, 260, 275, 277, 284,
+ 297, 309, 317, 318, 321, 327, 377, 383, 384, 385,
+ 386, 406, 407, 408, 411, 414, 415, 418, 420, 421,
+ 424, 428, 432, 433, 434, 436, 438, 440, 452, 457,
+ 471, 472, 473, 474, 475, 478, 479, 484, 485, 486,
+ 487, 488, 496, 497, 510, 580, 582, 597, 616, 622,
+ 477, 300, 301, 441, 442, 313, 314, 636, 637, 299,
+ 592, 623, 590, 635, 617, 435, 375, 0, 0, 378,
+ 280, 304, 319, 0, 608, 498, 226, 463, 289, 250,
+ 0, 0, 210, 245, 229, 258, 273, 276, 323, 388,
+ 397, 426, 431, 295, 270, 243, 456, 240, 481, 513,
+ 514, 515, 517, 392, 265, 430, 393, 0, 373, 570,
+ 571, 315, 0, 522, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 413, 0, 0, 0, 0,
+ 0, 0, 0, 0, 269, 0, 0, 0, 0, 363,
+ 266, 0, 0, 427, 0, 203, 0, 483, 251, 374,
+ 371, 577, 281, 272, 268, 249, 316, 382, 425, 512,
+ 419, 0, 367, 0, 0, 493, 398, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 322, 247, 324, 202, 410, 494, 285, 0,
+ 0, 0, 0, 1753, 712, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 237, 0, 0, 244, 0, 0,
+ 0, 348, 357, 356, 337, 338, 340, 342, 347, 354,
+ 360, 0, 0, 601, 0, 0, 0, 264, 320, 271,
+ 263, 574, 0, 0, 0, 0, 0, 0, 0, 0,
+ 228, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 274, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 296, 0, 399,
+ 256, 0, 450, 0, 0, 0, 619, 0, 0, 0,
+ 0, 0, 0, 0, 362, 0, 329, 197, 224, 0,
+ 0, 409, 458, 470, 0, 0, 0, 252, 0, 468,
+ 423, 596, 232, 283, 455, 429, 466, 437, 286, 0,
+ 0, 467, 369, 579, 447, 593, 620, 621, 262, 403,
+ 606, 516, 614, 638, 225, 259, 417, 501, 599, 490,
+ 394, 575, 576, 328, 489, 294, 201, 366, 626, 223,
+ 476, 368, 241, 230, 581, 603, 298, 288, 453, 633,
+ 212, 511, 591, 238, 480, 0, 0, 641, 246, 500,
+ 214, 588, 499, 390, 325, 326, 213, 0, 454, 267,
+ 292, 0, 0, 257, 412, 583, 584, 255, 642, 227,
+ 613, 219, 0, 612, 405, 578, 589, 391, 380, 218,
+ 587, 389, 379, 333, 352, 353, 279, 306, 444, 372,
+ 445, 305, 307, 401, 400, 402, 206, 600, 0, 207,
+ 0, 495, 602, 643, 449, 211, 233, 234, 236, 0,
+ 278, 282, 290, 293, 302, 303, 312, 364, 416, 443,
+ 439, 448, 0, 573, 594, 607, 618, 624, 625, 627,
+ 628, 629, 630, 631, 634, 632, 404, 310, 491, 332,
+ 370, 0, 0, 422, 469, 239, 598, 492, 199, 0,
+ 0, 0, 0, 253, 254, 0, 569, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 644, 645, 646, 647,
+ 648, 649, 650, 651, 652, 653, 654, 655, 656, 657,
+ 658, 659, 660, 661, 639, 502, 508, 503, 504, 505,
+ 506, 507, 0, 509, 0, 0, 0, 0, 0, 395,
+ 0, 585, 586, 662, 381, 482, 595, 334, 346, 349,
+ 339, 358, 0, 359, 335, 336, 341, 343, 344, 345,
+ 350, 351, 355, 361, 248, 209, 387, 396, 572, 311,
+ 215, 216, 217, 518, 519, 520, 521, 610, 611, 615,
+ 204, 459, 460, 461, 462, 291, 605, 308, 465, 464,
+ 330, 331, 376, 446, 534, 536, 547, 551, 553, 555,
+ 561, 564, 535, 537, 548, 552, 554, 556, 562, 565,
+ 524, 526, 528, 530, 543, 542, 539, 567, 568, 545,
+ 550, 529, 541, 546, 559, 566, 563, 523, 527, 531,
+ 540, 558, 557, 538, 549, 560, 544, 532, 525, 533,
+ 0, 196, 220, 365, 0, 451, 287, 640, 609, 604,
+ 205, 222, 0, 261, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 198, 200, 208, 221, 231,
+ 235, 242, 260, 275, 277, 284, 297, 309, 317, 318,
+ 321, 327, 377, 383, 384, 385, 386, 406, 407, 408,
+ 411, 414, 415, 418, 420, 421, 424, 428, 432, 433,
+ 434, 436, 438, 440, 452, 457, 471, 472, 473, 474,
+ 475, 478, 479, 484, 485, 486, 487, 488, 496, 497,
+ 510, 580, 582, 597, 616, 622, 477, 300, 301, 441,
+ 442, 313, 314, 636, 637, 299, 592, 623, 590, 635,
+ 617, 435, 375, 0, 0, 378, 280, 304, 319, 0,
+ 608, 498, 226, 463, 289, 250, 0, 0, 210, 245,
+ 229, 258, 273, 276, 323, 388, 397, 426, 431, 295,
+ 270, 243, 456, 240, 481, 513, 514, 515, 517, 392,
+ 265, 430, 393, 0, 373, 570, 571, 315, 0, 522,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 413, 0, 0, 0, 0, 0, 0, 0, 0,
+ 269, 0, 0, 0, 0, 363, 266, 0, 0, 427,
+ 0, 203, 0, 483, 251, 374, 371, 577, 281, 272,
+ 268, 249, 316, 382, 425, 512, 419, 0, 367, 0,
+ 0, 493, 398, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 322, 247,
+ 324, 202, 410, 494, 285, 0, 0, 0, 0, 0,
+ 194, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 237, 0, 0, 244, 0, 0, 0, 348, 357, 356,
+ 337, 338, 340, 342, 347, 354, 360, 0, 0, 601,
+ 0, 0, 0, 264, 320, 271, 263, 574, 0, 0,
+ 0, 0, 0, 0, 0, 0, 228, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 274, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 274, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 296, 0, 399, 256, 0, 450, 0,
+ 0, 0, 619, 0, 0, 0, 0, 0, 0, 0,
+ 362, 0, 329, 197, 224, 0, 0, 409, 458, 470,
+ 0, 0, 0, 252, 0, 468, 423, 596, 232, 283,
+ 455, 429, 466, 437, 286, 0, 0, 467, 369, 579,
+ 447, 593, 620, 621, 262, 403, 606, 516, 614, 638,
+ 225, 259, 417, 501, 599, 490, 394, 575, 576, 328,
+ 489, 294, 201, 366, 626, 223, 476, 368, 241, 230,
+ 581, 603, 298, 288, 453, 633, 212, 511, 591, 238,
+ 480, 0, 0, 641, 246, 500, 214, 588, 499, 390,
+ 325, 326, 213, 0, 454, 267, 292, 0, 0, 257,
+ 412, 583, 584, 255, 642, 227, 613, 219, 0, 612,
+ 405, 578, 589, 391, 380, 218, 587, 389, 379, 333,
+ 352, 353, 279, 306, 444, 372, 445, 305, 307, 401,
+ 400, 402, 206, 600, 0, 207, 0, 495, 602, 643,
+ 449, 211, 233, 234, 236, 0, 278, 282, 290, 293,
+ 302, 303, 312, 364, 416, 443, 439, 448, 0, 573,
+ 594, 607, 618, 624, 625, 627, 628, 629, 630, 631,
+ 634, 632, 404, 310, 491, 332, 370, 0, 0, 422,
+ 469, 239, 598, 492, 199, 0, 0, 0, 0, 253,
+ 254, 0, 569, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 644, 645, 646, 647, 648, 649, 650, 651,
+ 652, 653, 654, 655, 656, 657, 658, 659, 660, 661,
+ 639, 502, 508, 503, 504, 505, 506, 507, 0, 509,
+ 0, 0, 0, 0, 0, 395, 0, 585, 586, 662,
+ 381, 482, 595, 334, 346, 349, 339, 358, 0, 359,
+ 335, 336, 341, 343, 344, 345, 350, 351, 355, 361,
+ 248, 209, 387, 396, 572, 311, 215, 216, 217, 518,
+ 519, 520, 521, 610, 611, 615, 204, 459, 460, 461,
+ 462, 291, 605, 308, 465, 464, 330, 331, 376, 446,
+ 534, 536, 547, 551, 553, 555, 561, 564, 535, 537,
+ 548, 552, 554, 556, 562, 565, 524, 526, 528, 530,
+ 543, 542, 539, 567, 568, 545, 550, 529, 541, 546,
+ 559, 566, 563, 523, 527, 531, 540, 558, 557, 538,
+ 549, 560, 544, 532, 525, 533, 0, 196, 220, 365,
+ 2046, 451, 287, 640, 609, 604, 205, 222, 0, 261,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 198, 200, 208, 221, 231, 235, 242, 260, 275,
+ 277, 284, 297, 309, 317, 318, 321, 327, 377, 383,
+ 384, 385, 386, 406, 407, 408, 411, 414, 415, 418,
+ 420, 421, 424, 428, 432, 433, 434, 436, 438, 440,
+ 452, 457, 471, 472, 473, 474, 475, 478, 479, 484,
+ 485, 486, 487, 488, 496, 497, 510, 580, 582, 597,
+ 616, 622, 477, 300, 301, 441, 442, 313, 314, 636,
+ 637, 299, 592, 623, 590, 635, 617, 435, 375, 0,
+ 0, 378, 280, 304, 319, 0, 608, 498, 226, 463,
+ 289, 250, 0, 0, 210, 245, 229, 258, 273, 276,
+ 323, 388, 397, 426, 431, 295, 270, 243, 456, 240,
+ 481, 513, 514, 515, 517, 392, 265, 430, 393, 0,
+ 373, 570, 571, 315, 0, 522, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 413, 0, 0,
+ 0, 0, 0, 0, 0, 0, 269, 0, 0, 0,
+ 0, 363, 266, 0, 0, 427, 0, 203, 0, 483,
+ 251, 374, 371, 577, 281, 272, 268, 249, 316, 382,
+ 425, 512, 419, 0, 367, 0, 0, 493, 398, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 296, 0, 399, 256, 0, 450,
- 0, 0, 0, 618, 0, 0, 0, 0, 0, 0,
- 0, 362, 0, 329, 197, 224, 0, 0, 409, 458,
- 470, 0, 0, 0, 252, 0, 468, 423, 596, 232,
- 283, 455, 429, 466, 437, 286, 0, 0, 467, 369,
- 579, 447, 593, 619, 620, 262, 403, 605, 516, 613,
- 637, 225, 259, 417, 501, 599, 490, 394, 575, 576,
- 328, 489, 294, 201, 366, 625, 223, 476, 368, 241,
- 230, 581, 602, 298, 288, 453, 632, 212, 511, 591,
- 238, 480, 0, 0, 640, 246, 500, 214, 588, 499,
- 390, 325, 326, 213, 0, 454, 267, 292, 0, 0,
- 257, 412, 583, 584, 255, 641, 227, 612, 219, 0,
- 611, 405, 578, 589, 391, 380, 218, 587, 389, 379,
- 333, 352, 353, 279, 306, 444, 372, 445, 305, 307,
- 401, 400, 402, 206, 600, 0, 207, 0, 495, 601,
- 642, 449, 211, 233, 234, 236, 0, 278, 282, 290,
- 293, 302, 303, 312, 364, 416, 443, 439, 448, 0,
- 573, 594, 606, 617, 623, 624, 626, 627, 628, 629,
- 630, 633, 631, 404, 310, 491, 332, 370, 0, 0,
- 422, 469, 239, 598, 492, 199, 0, 0, 0, 0,
- 253, 254, 0, 569, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 643, 644, 645, 646, 647, 648, 649,
- 650, 651, 652, 653, 654, 655, 656, 657, 658, 659,
- 660, 638, 502, 508, 503, 504, 505, 506, 507, 0,
- 509, 0, 0, 0, 0, 0, 395, 0, 585, 586,
- 661, 381, 482, 595, 334, 346, 349, 339, 358, 0,
- 359, 335, 336, 341, 343, 344, 345, 350, 351, 355,
- 361, 248, 209, 387, 396, 572, 311, 215, 216, 217,
- 518, 519, 520, 521, 609, 610, 614, 204, 459, 460,
- 461, 462, 291, 604, 308, 465, 464, 330, 331, 376,
- 446, 534, 536, 547, 551, 553, 555, 561, 564, 535,
- 537, 548, 552, 554, 556, 562, 565, 524, 526, 528,
- 530, 543, 542, 539, 567, 568, 545, 550, 529, 541,
- 546, 559, 566, 563, 523, 527, 531, 540, 558, 557,
- 538, 549, 560, 544, 532, 525, 533, 0, 196, 220,
- 365, 0, 451, 287, 639, 608, 603, 205, 222, 0,
- 261, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 198, 200, 208, 221, 231, 235, 242, 260,
- 275, 277, 284, 297, 309, 317, 318, 321, 327, 377,
- 383, 384, 385, 386, 406, 407, 408, 411, 414, 415,
- 418, 420, 421, 424, 428, 432, 433, 434, 436, 438,
- 440, 452, 457, 471, 472, 473, 474, 475, 478, 479,
- 484, 485, 486, 487, 488, 496, 497, 510, 580, 582,
- 597, 615, 621, 477, 300, 301, 441, 442, 313, 314,
- 635, 636, 299, 592, 622, 590, 634, 616, 435, 375,
- 0, 0, 378, 280, 304, 319, 0, 607, 498, 226,
- 463, 289, 250, 0, 0, 210, 245, 229, 258, 273,
- 276, 323, 388, 397, 426, 431, 295, 270, 243, 456,
- 240, 481, 513, 514, 515, 517, 392, 265, 430, 393,
- 0, 373, 570, 571, 315, 0, 522, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 413, 0,
- 1892, 0, 0, 0, 0, 0, 0, 269, 0, 0,
- 0, 0, 363, 266, 0, 0, 427, 0, 203, 0,
- 483, 251, 374, 371, 577, 281, 272, 268, 249, 316,
- 382, 425, 512, 419, 0, 367, 0, 0, 493, 398,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 322, 247, 324, 202, 410,
- 494, 285, 0, 0, 0, 0, 0, 711, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 237, 0, 0,
- 244, 0, 0, 0, 348, 357, 356, 337, 338, 340,
- 342, 347, 354, 360, 0, 0, 0, 0, 0, 264,
+ 0, 0, 0, 0, 322, 247, 324, 202, 410, 494,
+ 285, 0, 0, 0, 0, 2037, 712, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 237, 0, 0, 244,
+ 0, 0, 0, 348, 357, 356, 337, 338, 340, 342,
+ 347, 354, 360, 0, 0, 601, 0, 0, 0, 264,
320, 271, 263, 574, 0, 0, 0, 0, 0, 0,
0, 0, 228, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 274, 0, 0,
@@ -6207,42 +5881,42 @@ var yyAct = [...]int{
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 296,
- 0, 399, 256, 0, 450, 0, 0, 0, 618, 0,
+ 0, 399, 256, 0, 450, 0, 0, 0, 619, 0,
0, 0, 0, 0, 0, 0, 362, 0, 329, 197,
224, 0, 0, 409, 458, 470, 0, 0, 0, 252,
0, 468, 423, 596, 232, 283, 455, 429, 466, 437,
- 286, 0, 0, 467, 369, 579, 447, 593, 619, 620,
- 262, 403, 605, 516, 613, 637, 225, 259, 417, 501,
+ 286, 0, 0, 467, 369, 579, 447, 593, 620, 621,
+ 262, 403, 606, 516, 614, 638, 225, 259, 417, 501,
599, 490, 394, 575, 576, 328, 489, 294, 201, 366,
- 625, 223, 476, 368, 241, 230, 581, 602, 298, 288,
- 453, 632, 212, 511, 591, 238, 480, 0, 0, 640,
+ 626, 223, 476, 368, 241, 230, 581, 603, 298, 288,
+ 453, 633, 212, 511, 591, 238, 480, 0, 0, 641,
246, 500, 214, 588, 499, 390, 325, 326, 213, 0,
454, 267, 292, 0, 0, 257, 412, 583, 584, 255,
- 641, 227, 612, 219, 0, 611, 405, 578, 589, 391,
+ 642, 227, 613, 219, 0, 612, 405, 578, 589, 391,
380, 218, 587, 389, 379, 333, 352, 353, 279, 306,
444, 372, 445, 305, 307, 401, 400, 402, 206, 600,
- 0, 207, 0, 495, 601, 642, 449, 211, 233, 234,
+ 0, 207, 0, 495, 602, 643, 449, 211, 233, 234,
236, 0, 278, 282, 290, 293, 302, 303, 312, 364,
- 416, 443, 439, 448, 0, 573, 594, 606, 617, 623,
- 624, 626, 627, 628, 629, 630, 633, 631, 404, 310,
+ 416, 443, 439, 448, 0, 573, 594, 607, 618, 624,
+ 625, 627, 628, 629, 630, 631, 634, 632, 404, 310,
491, 332, 370, 0, 0, 422, 469, 239, 598, 492,
199, 0, 0, 0, 0, 253, 254, 0, 569, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 643, 644,
- 645, 646, 647, 648, 649, 650, 651, 652, 653, 654,
- 655, 656, 657, 658, 659, 660, 638, 502, 508, 503,
+ 0, 0, 0, 0, 0, 0, 0, 0, 644, 645,
+ 646, 647, 648, 649, 650, 651, 652, 653, 654, 655,
+ 656, 657, 658, 659, 660, 661, 639, 502, 508, 503,
504, 505, 506, 507, 0, 509, 0, 0, 0, 0,
- 0, 395, 0, 585, 586, 661, 381, 482, 595, 334,
+ 0, 395, 0, 585, 586, 662, 381, 482, 595, 334,
346, 349, 339, 358, 0, 359, 335, 336, 341, 343,
344, 345, 350, 351, 355, 361, 248, 209, 387, 396,
- 572, 311, 215, 216, 217, 518, 519, 520, 521, 609,
- 610, 614, 204, 459, 460, 461, 462, 291, 604, 308,
+ 572, 311, 215, 216, 217, 518, 519, 520, 521, 610,
+ 611, 615, 204, 459, 460, 461, 462, 291, 605, 308,
465, 464, 330, 331, 376, 446, 534, 536, 547, 551,
553, 555, 561, 564, 535, 537, 548, 552, 554, 556,
562, 565, 524, 526, 528, 530, 543, 542, 539, 567,
568, 545, 550, 529, 541, 546, 559, 566, 563, 523,
527, 531, 540, 558, 557, 538, 549, 560, 544, 532,
- 525, 533, 0, 196, 220, 365, 0, 451, 287, 639,
- 608, 603, 205, 222, 0, 261, 0, 0, 0, 0,
+ 525, 533, 0, 196, 220, 365, 0, 451, 287, 640,
+ 609, 604, 205, 222, 0, 261, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 198, 200, 208,
221, 231, 235, 242, 260, 275, 277, 284, 297, 309,
@@ -6250,28 +5924,28 @@ var yyAct = [...]int{
407, 408, 411, 414, 415, 418, 420, 421, 424, 428,
432, 433, 434, 436, 438, 440, 452, 457, 471, 472,
473, 474, 475, 478, 479, 484, 485, 486, 487, 488,
- 496, 497, 510, 580, 582, 597, 615, 621, 477, 300,
- 301, 441, 442, 313, 314, 635, 636, 299, 592, 622,
- 590, 634, 616, 435, 375, 0, 0, 378, 280, 304,
- 319, 0, 607, 498, 226, 463, 289, 250, 0, 0,
+ 496, 497, 510, 580, 582, 597, 616, 622, 477, 300,
+ 301, 441, 442, 313, 314, 636, 637, 299, 592, 623,
+ 590, 635, 617, 435, 375, 0, 0, 378, 280, 304,
+ 319, 0, 608, 498, 226, 463, 289, 250, 0, 0,
210, 245, 229, 258, 273, 276, 323, 388, 397, 426,
431, 295, 270, 243, 456, 240, 481, 513, 514, 515,
517, 392, 265, 430, 393, 0, 373, 570, 571, 315,
0, 522, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 413, 0, 1890, 0, 0, 0, 0,
+ 0, 0, 0, 413, 0, 1899, 0, 0, 0, 0,
0, 0, 269, 0, 0, 0, 0, 363, 266, 0,
0, 427, 0, 203, 0, 483, 251, 374, 371, 577,
281, 272, 268, 249, 316, 382, 425, 512, 419, 0,
367, 0, 0, 493, 398, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
322, 247, 324, 202, 410, 494, 285, 0, 0, 0,
- 0, 0, 711, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 712, 0, 0, 0, 0, 0, 0, 0,
0, 0, 237, 0, 0, 244, 0, 0, 0, 348,
357, 356, 337, 338, 340, 342, 347, 354, 360, 0,
- 0, 0, 0, 0, 264, 320, 271, 263, 574, 0,
- 0, 0, 0, 0, 0, 0, 0, 228, 0, 0,
+ 0, 601, 0, 0, 0, 264, 320, 271, 263, 574,
+ 0, 0, 0, 0, 0, 0, 0, 0, 228, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 274, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 274, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -6279,144 +5953,144 @@ var yyAct = [...]int{
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 296, 0, 399, 256, 0, 450,
- 0, 0, 0, 618, 0, 0, 0, 0, 0, 0,
- 0, 362, 0, 329, 197, 224, 0, 0, 409, 458,
- 470, 0, 0, 0, 252, 0, 468, 423, 596, 232,
- 283, 455, 429, 466, 437, 286, 0, 0, 467, 369,
- 579, 447, 593, 619, 620, 262, 403, 605, 516, 613,
- 637, 225, 259, 417, 501, 599, 490, 394, 575, 576,
- 328, 489, 294, 201, 366, 625, 223, 476, 368, 241,
- 230, 581, 602, 298, 288, 453, 632, 212, 511, 591,
- 238, 480, 0, 0, 640, 246, 500, 214, 588, 499,
- 390, 325, 326, 213, 0, 454, 267, 292, 0, 0,
- 257, 412, 583, 584, 255, 641, 227, 612, 219, 0,
- 611, 405, 578, 589, 391, 380, 218, 587, 389, 379,
- 333, 352, 353, 279, 306, 444, 372, 445, 305, 307,
- 401, 400, 402, 206, 600, 0, 207, 0, 495, 601,
- 642, 449, 211, 233, 234, 236, 0, 278, 282, 290,
- 293, 302, 303, 312, 364, 416, 443, 439, 448, 0,
- 573, 594, 606, 617, 623, 624, 626, 627, 628, 629,
- 630, 633, 631, 404, 310, 491, 332, 370, 0, 0,
- 422, 469, 239, 598, 492, 199, 0, 0, 0, 0,
- 253, 254, 0, 569, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 643, 644, 645, 646, 647, 648, 649,
+ 0, 0, 0, 0, 0, 296, 0, 399, 256, 0,
+ 450, 0, 0, 0, 619, 0, 0, 0, 0, 0,
+ 0, 0, 362, 0, 329, 197, 224, 0, 0, 409,
+ 458, 470, 0, 0, 0, 252, 0, 468, 423, 596,
+ 232, 283, 455, 429, 466, 437, 286, 0, 0, 467,
+ 369, 579, 447, 593, 620, 621, 262, 403, 606, 516,
+ 614, 638, 225, 259, 417, 501, 599, 490, 394, 575,
+ 576, 328, 489, 294, 201, 366, 626, 223, 476, 368,
+ 241, 230, 581, 603, 298, 288, 453, 633, 212, 511,
+ 591, 238, 480, 0, 0, 641, 246, 500, 214, 588,
+ 499, 390, 325, 326, 213, 0, 454, 267, 292, 0,
+ 0, 257, 412, 583, 584, 255, 642, 227, 613, 219,
+ 0, 612, 405, 578, 589, 391, 380, 218, 587, 389,
+ 379, 333, 352, 353, 279, 306, 444, 372, 445, 305,
+ 307, 401, 400, 402, 206, 600, 0, 207, 0, 495,
+ 602, 643, 449, 211, 233, 234, 236, 0, 278, 282,
+ 290, 293, 302, 303, 312, 364, 416, 443, 439, 448,
+ 0, 573, 594, 607, 618, 624, 625, 627, 628, 629,
+ 630, 631, 634, 632, 404, 310, 491, 332, 370, 0,
+ 0, 422, 469, 239, 598, 492, 199, 0, 0, 0,
+ 0, 253, 254, 0, 569, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 644, 645, 646, 647, 648, 649,
650, 651, 652, 653, 654, 655, 656, 657, 658, 659,
- 660, 638, 502, 508, 503, 504, 505, 506, 507, 0,
- 509, 0, 0, 0, 0, 0, 395, 0, 585, 586,
- 661, 381, 482, 595, 334, 346, 349, 339, 358, 0,
- 359, 335, 336, 341, 343, 344, 345, 350, 351, 355,
- 361, 248, 209, 387, 396, 572, 311, 215, 216, 217,
- 518, 519, 520, 521, 609, 610, 614, 204, 459, 460,
- 461, 462, 291, 604, 308, 465, 464, 330, 331, 376,
- 446, 534, 536, 547, 551, 553, 555, 561, 564, 535,
- 537, 548, 552, 554, 556, 562, 565, 524, 526, 528,
- 530, 543, 542, 539, 567, 568, 545, 550, 529, 541,
- 546, 559, 566, 563, 523, 527, 531, 540, 558, 557,
- 538, 549, 560, 544, 532, 525, 533, 0, 196, 220,
- 365, 0, 451, 287, 639, 608, 603, 205, 222, 0,
- 261, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 198, 200, 208, 221, 231, 235, 242, 260,
- 275, 277, 284, 297, 309, 317, 318, 321, 327, 377,
- 383, 384, 385, 386, 406, 407, 408, 411, 414, 415,
- 418, 420, 421, 424, 428, 432, 433, 434, 436, 438,
- 440, 452, 457, 471, 472, 473, 474, 475, 478, 479,
- 484, 485, 486, 487, 488, 496, 497, 510, 580, 582,
- 597, 615, 621, 477, 300, 301, 441, 442, 313, 314,
- 635, 636, 299, 592, 622, 590, 634, 616, 435, 375,
- 0, 0, 378, 280, 304, 319, 0, 607, 498, 226,
- 463, 289, 250, 0, 0, 210, 245, 229, 258, 273,
- 276, 323, 388, 397, 426, 431, 295, 270, 243, 456,
- 240, 481, 513, 514, 515, 517, 392, 265, 430, 393,
- 0, 373, 570, 571, 315, 0, 522, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 413, 0,
- 1886, 0, 0, 0, 0, 0, 0, 269, 0, 0,
- 0, 0, 363, 266, 0, 0, 427, 0, 203, 0,
- 483, 251, 374, 371, 577, 281, 272, 268, 249, 316,
- 382, 425, 512, 419, 0, 367, 0, 0, 493, 398,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 322, 247, 324, 202, 410,
- 494, 285, 0, 0, 0, 0, 0, 711, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 237, 0, 0,
- 244, 0, 0, 0, 348, 357, 356, 337, 338, 340,
- 342, 347, 354, 360, 0, 0, 0, 0, 0, 264,
- 320, 271, 263, 574, 0, 0, 0, 0, 0, 0,
- 0, 0, 228, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 274, 0, 0,
+ 660, 661, 639, 502, 508, 503, 504, 505, 506, 507,
+ 0, 509, 0, 0, 0, 0, 0, 395, 0, 585,
+ 586, 662, 381, 482, 595, 334, 346, 349, 339, 358,
+ 0, 359, 335, 336, 341, 343, 344, 345, 350, 351,
+ 355, 361, 248, 209, 387, 396, 572, 311, 215, 216,
+ 217, 518, 519, 520, 521, 610, 611, 615, 204, 459,
+ 460, 461, 462, 291, 605, 308, 465, 464, 330, 331,
+ 376, 446, 534, 536, 547, 551, 553, 555, 561, 564,
+ 535, 537, 548, 552, 554, 556, 562, 565, 524, 526,
+ 528, 530, 543, 542, 539, 567, 568, 545, 550, 529,
+ 541, 546, 559, 566, 563, 523, 527, 531, 540, 558,
+ 557, 538, 549, 560, 544, 532, 525, 533, 0, 196,
+ 220, 365, 0, 451, 287, 640, 609, 604, 205, 222,
+ 0, 261, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 198, 200, 208, 221, 231, 235, 242,
+ 260, 275, 277, 284, 297, 309, 317, 318, 321, 327,
+ 377, 383, 384, 385, 386, 406, 407, 408, 411, 414,
+ 415, 418, 420, 421, 424, 428, 432, 433, 434, 436,
+ 438, 440, 452, 457, 471, 472, 473, 474, 475, 478,
+ 479, 484, 485, 486, 487, 488, 496, 497, 510, 580,
+ 582, 597, 616, 622, 477, 300, 301, 441, 442, 313,
+ 314, 636, 637, 299, 592, 623, 590, 635, 617, 435,
+ 375, 0, 0, 378, 280, 304, 319, 0, 608, 498,
+ 226, 463, 289, 250, 0, 0, 210, 245, 229, 258,
+ 273, 276, 323, 388, 397, 426, 431, 295, 270, 243,
+ 456, 240, 481, 513, 514, 515, 517, 392, 265, 430,
+ 393, 0, 373, 570, 571, 315, 0, 522, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 413,
+ 0, 1897, 0, 0, 0, 0, 0, 0, 269, 0,
+ 0, 0, 0, 363, 266, 0, 0, 427, 0, 203,
+ 0, 483, 251, 374, 371, 577, 281, 272, 268, 249,
+ 316, 382, 425, 512, 419, 0, 367, 0, 0, 493,
+ 398, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 322, 247, 324, 202,
+ 410, 494, 285, 0, 0, 0, 0, 0, 712, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 237, 0,
+ 0, 244, 0, 0, 0, 348, 357, 356, 337, 338,
+ 340, 342, 347, 354, 360, 0, 0, 601, 0, 0,
+ 0, 264, 320, 271, 263, 574, 0, 0, 0, 0,
+ 0, 0, 0, 0, 228, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 274,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 296,
- 0, 399, 256, 0, 450, 0, 0, 0, 618, 0,
- 0, 0, 0, 0, 0, 0, 362, 0, 329, 197,
- 224, 0, 0, 409, 458, 470, 0, 0, 0, 252,
- 0, 468, 423, 596, 232, 283, 455, 429, 466, 437,
- 286, 0, 0, 467, 369, 579, 447, 593, 619, 620,
- 262, 403, 605, 516, 613, 637, 225, 259, 417, 501,
- 599, 490, 394, 575, 576, 328, 489, 294, 201, 366,
- 625, 223, 476, 368, 241, 230, 581, 602, 298, 288,
- 453, 632, 212, 511, 591, 238, 480, 0, 0, 640,
- 246, 500, 214, 588, 499, 390, 325, 326, 213, 0,
- 454, 267, 292, 0, 0, 257, 412, 583, 584, 255,
- 641, 227, 612, 219, 0, 611, 405, 578, 589, 391,
- 380, 218, 587, 389, 379, 333, 352, 353, 279, 306,
- 444, 372, 445, 305, 307, 401, 400, 402, 206, 600,
- 0, 207, 0, 495, 601, 642, 449, 211, 233, 234,
- 236, 0, 278, 282, 290, 293, 302, 303, 312, 364,
- 416, 443, 439, 448, 0, 573, 594, 606, 617, 623,
- 624, 626, 627, 628, 629, 630, 633, 631, 404, 310,
- 491, 332, 370, 0, 0, 422, 469, 239, 598, 492,
- 199, 0, 0, 0, 0, 253, 254, 0, 569, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 643, 644,
- 645, 646, 647, 648, 649, 650, 651, 652, 653, 654,
- 655, 656, 657, 658, 659, 660, 638, 502, 508, 503,
- 504, 505, 506, 507, 0, 509, 0, 0, 0, 0,
- 0, 395, 0, 585, 586, 661, 381, 482, 595, 334,
- 346, 349, 339, 358, 0, 359, 335, 336, 341, 343,
- 344, 345, 350, 351, 355, 361, 248, 209, 387, 396,
- 572, 311, 215, 216, 217, 518, 519, 520, 521, 609,
- 610, 614, 204, 459, 460, 461, 462, 291, 604, 308,
- 465, 464, 330, 331, 376, 446, 534, 536, 547, 551,
- 553, 555, 561, 564, 535, 537, 548, 552, 554, 556,
- 562, 565, 524, 526, 528, 530, 543, 542, 539, 567,
- 568, 545, 550, 529, 541, 546, 559, 566, 563, 523,
- 527, 531, 540, 558, 557, 538, 549, 560, 544, 532,
- 525, 533, 0, 196, 220, 365, 0, 451, 287, 639,
- 608, 603, 205, 222, 0, 261, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 198, 200, 208,
- 221, 231, 235, 242, 260, 275, 277, 284, 297, 309,
- 317, 318, 321, 327, 377, 383, 384, 385, 386, 406,
- 407, 408, 411, 414, 415, 418, 420, 421, 424, 428,
- 432, 433, 434, 436, 438, 440, 452, 457, 471, 472,
- 473, 474, 475, 478, 479, 484, 485, 486, 487, 488,
- 496, 497, 510, 580, 582, 597, 615, 621, 477, 300,
- 301, 441, 442, 313, 314, 635, 636, 299, 592, 622,
- 590, 634, 616, 435, 375, 0, 0, 378, 280, 304,
- 319, 0, 607, 498, 226, 463, 289, 250, 0, 0,
- 210, 245, 229, 258, 273, 276, 323, 388, 397, 426,
- 431, 295, 270, 243, 456, 240, 481, 513, 514, 515,
- 517, 392, 265, 430, 393, 0, 373, 570, 571, 315,
- 0, 522, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 413, 0, 1884, 0, 0, 0, 0,
- 0, 0, 269, 0, 0, 0, 0, 363, 266, 0,
- 0, 427, 0, 203, 0, 483, 251, 374, 371, 577,
- 281, 272, 268, 249, 316, 382, 425, 512, 419, 0,
- 367, 0, 0, 493, 398, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 322, 247, 324, 202, 410, 494, 285, 0, 0, 0,
- 0, 0, 711, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 237, 0, 0, 244, 0, 0, 0, 348,
- 357, 356, 337, 338, 340, 342, 347, 354, 360, 0,
- 0, 0, 0, 0, 264, 320, 271, 263, 574, 0,
- 0, 0, 0, 0, 0, 0, 0, 228, 0, 0,
+ 0, 296, 0, 399, 256, 0, 450, 0, 0, 0,
+ 619, 0, 0, 0, 0, 0, 0, 0, 362, 0,
+ 329, 197, 224, 0, 0, 409, 458, 470, 0, 0,
+ 0, 252, 0, 468, 423, 596, 232, 283, 455, 429,
+ 466, 437, 286, 0, 0, 467, 369, 579, 447, 593,
+ 620, 621, 262, 403, 606, 516, 614, 638, 225, 259,
+ 417, 501, 599, 490, 394, 575, 576, 328, 489, 294,
+ 201, 366, 626, 223, 476, 368, 241, 230, 581, 603,
+ 298, 288, 453, 633, 212, 511, 591, 238, 480, 0,
+ 0, 641, 246, 500, 214, 588, 499, 390, 325, 326,
+ 213, 0, 454, 267, 292, 0, 0, 257, 412, 583,
+ 584, 255, 642, 227, 613, 219, 0, 612, 405, 578,
+ 589, 391, 380, 218, 587, 389, 379, 333, 352, 353,
+ 279, 306, 444, 372, 445, 305, 307, 401, 400, 402,
+ 206, 600, 0, 207, 0, 495, 602, 643, 449, 211,
+ 233, 234, 236, 0, 278, 282, 290, 293, 302, 303,
+ 312, 364, 416, 443, 439, 448, 0, 573, 594, 607,
+ 618, 624, 625, 627, 628, 629, 630, 631, 634, 632,
+ 404, 310, 491, 332, 370, 0, 0, 422, 469, 239,
+ 598, 492, 199, 0, 0, 0, 0, 253, 254, 0,
+ 569, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 644, 645, 646, 647, 648, 649, 650, 651, 652, 653,
+ 654, 655, 656, 657, 658, 659, 660, 661, 639, 502,
+ 508, 503, 504, 505, 506, 507, 0, 509, 0, 0,
+ 0, 0, 0, 395, 0, 585, 586, 662, 381, 482,
+ 595, 334, 346, 349, 339, 358, 0, 359, 335, 336,
+ 341, 343, 344, 345, 350, 351, 355, 361, 248, 209,
+ 387, 396, 572, 311, 215, 216, 217, 518, 519, 520,
+ 521, 610, 611, 615, 204, 459, 460, 461, 462, 291,
+ 605, 308, 465, 464, 330, 331, 376, 446, 534, 536,
+ 547, 551, 553, 555, 561, 564, 535, 537, 548, 552,
+ 554, 556, 562, 565, 524, 526, 528, 530, 543, 542,
+ 539, 567, 568, 545, 550, 529, 541, 546, 559, 566,
+ 563, 523, 527, 531, 540, 558, 557, 538, 549, 560,
+ 544, 532, 525, 533, 0, 196, 220, 365, 0, 451,
+ 287, 640, 609, 604, 205, 222, 0, 261, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 198,
+ 200, 208, 221, 231, 235, 242, 260, 275, 277, 284,
+ 297, 309, 317, 318, 321, 327, 377, 383, 384, 385,
+ 386, 406, 407, 408, 411, 414, 415, 418, 420, 421,
+ 424, 428, 432, 433, 434, 436, 438, 440, 452, 457,
+ 471, 472, 473, 474, 475, 478, 479, 484, 485, 486,
+ 487, 488, 496, 497, 510, 580, 582, 597, 616, 622,
+ 477, 300, 301, 441, 442, 313, 314, 636, 637, 299,
+ 592, 623, 590, 635, 617, 435, 375, 0, 0, 378,
+ 280, 304, 319, 0, 608, 498, 226, 463, 289, 250,
+ 0, 0, 210, 245, 229, 258, 273, 276, 323, 388,
+ 397, 426, 431, 295, 270, 243, 456, 240, 481, 513,
+ 514, 515, 517, 392, 265, 430, 393, 0, 373, 570,
+ 571, 315, 0, 522, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 413, 0, 1895, 0, 0,
+ 0, 0, 0, 0, 269, 0, 0, 0, 0, 363,
+ 266, 0, 0, 427, 0, 203, 0, 483, 251, 374,
+ 371, 577, 281, 272, 268, 249, 316, 382, 425, 512,
+ 419, 0, 367, 0, 0, 493, 398, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 274, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 322, 247, 324, 202, 410, 494, 285, 0,
+ 0, 0, 0, 0, 712, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 237, 0, 0, 244, 0, 0,
+ 0, 348, 357, 356, 337, 338, 340, 342, 347, 354,
+ 360, 0, 0, 601, 0, 0, 0, 264, 320, 271,
+ 263, 574, 0, 0, 0, 0, 0, 0, 0, 0,
+ 228, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 274, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -6424,68 +6098,141 @@ var yyAct = [...]int{
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 296, 0, 399, 256, 0, 450,
- 0, 0, 0, 618, 0, 0, 0, 0, 0, 0,
- 0, 362, 0, 329, 197, 224, 0, 0, 409, 458,
- 470, 0, 0, 0, 252, 0, 468, 423, 596, 232,
- 283, 455, 429, 466, 437, 286, 0, 0, 467, 369,
- 579, 447, 593, 619, 620, 262, 403, 605, 516, 613,
- 637, 225, 259, 417, 501, 599, 490, 394, 575, 576,
- 328, 489, 294, 201, 366, 625, 223, 476, 368, 241,
- 230, 581, 602, 298, 288, 453, 632, 212, 511, 591,
- 238, 480, 0, 0, 640, 246, 500, 214, 588, 499,
- 390, 325, 326, 213, 0, 454, 267, 292, 0, 0,
- 257, 412, 583, 584, 255, 641, 227, 612, 219, 0,
- 611, 405, 578, 589, 391, 380, 218, 587, 389, 379,
- 333, 352, 353, 279, 306, 444, 372, 445, 305, 307,
- 401, 400, 402, 206, 600, 0, 207, 0, 495, 601,
- 642, 449, 211, 233, 234, 236, 0, 278, 282, 290,
- 293, 302, 303, 312, 364, 416, 443, 439, 448, 0,
- 573, 594, 606, 617, 623, 624, 626, 627, 628, 629,
- 630, 633, 631, 404, 310, 491, 332, 370, 0, 0,
- 422, 469, 239, 598, 492, 199, 0, 0, 0, 0,
- 253, 254, 0, 569, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 643, 644, 645, 646, 647, 648, 649,
- 650, 651, 652, 653, 654, 655, 656, 657, 658, 659,
- 660, 638, 502, 508, 503, 504, 505, 506, 507, 0,
- 509, 0, 0, 0, 0, 0, 395, 0, 585, 586,
- 661, 381, 482, 595, 334, 346, 349, 339, 358, 0,
- 359, 335, 336, 341, 343, 344, 345, 350, 351, 355,
- 361, 248, 209, 387, 396, 572, 311, 215, 216, 217,
- 518, 519, 520, 521, 609, 610, 614, 204, 459, 460,
- 461, 462, 291, 604, 308, 465, 464, 330, 331, 376,
- 446, 534, 536, 547, 551, 553, 555, 561, 564, 535,
- 537, 548, 552, 554, 556, 562, 565, 524, 526, 528,
- 530, 543, 542, 539, 567, 568, 545, 550, 529, 541,
- 546, 559, 566, 563, 523, 527, 531, 540, 558, 557,
- 538, 549, 560, 544, 532, 525, 533, 0, 196, 220,
- 365, 0, 451, 287, 639, 608, 603, 205, 222, 0,
- 261, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 198, 200, 208, 221, 231, 235, 242, 260,
- 275, 277, 284, 297, 309, 317, 318, 321, 327, 377,
- 383, 384, 385, 386, 406, 407, 408, 411, 414, 415,
- 418, 420, 421, 424, 428, 432, 433, 434, 436, 438,
- 440, 452, 457, 471, 472, 473, 474, 475, 478, 479,
- 484, 485, 486, 487, 488, 496, 497, 510, 580, 582,
- 597, 615, 621, 477, 300, 301, 441, 442, 313, 314,
- 635, 636, 299, 592, 622, 590, 634, 616, 435, 375,
- 0, 0, 378, 280, 304, 319, 0, 607, 498, 226,
- 463, 289, 250, 0, 0, 210, 245, 229, 258, 273,
- 276, 323, 388, 397, 426, 431, 295, 270, 243, 456,
- 240, 481, 513, 514, 515, 517, 392, 265, 430, 393,
- 0, 373, 570, 571, 315, 0, 522, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 413, 0,
- 1882, 0, 0, 0, 0, 0, 0, 269, 0, 0,
- 0, 0, 363, 266, 0, 0, 427, 0, 203, 0,
- 483, 251, 374, 371, 577, 281, 272, 268, 249, 316,
- 382, 425, 512, 419, 0, 367, 0, 0, 493, 398,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 322, 247, 324, 202, 410,
- 494, 285, 0, 0, 0, 0, 0, 711, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 237, 0, 0,
- 244, 0, 0, 0, 348, 357, 356, 337, 338, 340,
- 342, 347, 354, 360, 0, 0, 0, 0, 0, 264,
+ 0, 0, 0, 0, 0, 0, 0, 296, 0, 399,
+ 256, 0, 450, 0, 0, 0, 619, 0, 0, 0,
+ 0, 0, 0, 0, 362, 0, 329, 197, 224, 0,
+ 0, 409, 458, 470, 0, 0, 0, 252, 0, 468,
+ 423, 596, 232, 283, 455, 429, 466, 437, 286, 0,
+ 0, 467, 369, 579, 447, 593, 620, 621, 262, 403,
+ 606, 516, 614, 638, 225, 259, 417, 501, 599, 490,
+ 394, 575, 576, 328, 489, 294, 201, 366, 626, 223,
+ 476, 368, 241, 230, 581, 603, 298, 288, 453, 633,
+ 212, 511, 591, 238, 480, 0, 0, 641, 246, 500,
+ 214, 588, 499, 390, 325, 326, 213, 0, 454, 267,
+ 292, 0, 0, 257, 412, 583, 584, 255, 642, 227,
+ 613, 219, 0, 612, 405, 578, 589, 391, 380, 218,
+ 587, 389, 379, 333, 352, 353, 279, 306, 444, 372,
+ 445, 305, 307, 401, 400, 402, 206, 600, 0, 207,
+ 0, 495, 602, 643, 449, 211, 233, 234, 236, 0,
+ 278, 282, 290, 293, 302, 303, 312, 364, 416, 443,
+ 439, 448, 0, 573, 594, 607, 618, 624, 625, 627,
+ 628, 629, 630, 631, 634, 632, 404, 310, 491, 332,
+ 370, 0, 0, 422, 469, 239, 598, 492, 199, 0,
+ 0, 0, 0, 253, 254, 0, 569, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 644, 645, 646, 647,
+ 648, 649, 650, 651, 652, 653, 654, 655, 656, 657,
+ 658, 659, 660, 661, 639, 502, 508, 503, 504, 505,
+ 506, 507, 0, 509, 0, 0, 0, 0, 0, 395,
+ 0, 585, 586, 662, 381, 482, 595, 334, 346, 349,
+ 339, 358, 0, 359, 335, 336, 341, 343, 344, 345,
+ 350, 351, 355, 361, 248, 209, 387, 396, 572, 311,
+ 215, 216, 217, 518, 519, 520, 521, 610, 611, 615,
+ 204, 459, 460, 461, 462, 291, 605, 308, 465, 464,
+ 330, 331, 376, 446, 534, 536, 547, 551, 553, 555,
+ 561, 564, 535, 537, 548, 552, 554, 556, 562, 565,
+ 524, 526, 528, 530, 543, 542, 539, 567, 568, 545,
+ 550, 529, 541, 546, 559, 566, 563, 523, 527, 531,
+ 540, 558, 557, 538, 549, 560, 544, 532, 525, 533,
+ 0, 196, 220, 365, 0, 451, 287, 640, 609, 604,
+ 205, 222, 0, 261, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 198, 200, 208, 221, 231,
+ 235, 242, 260, 275, 277, 284, 297, 309, 317, 318,
+ 321, 327, 377, 383, 384, 385, 386, 406, 407, 408,
+ 411, 414, 415, 418, 420, 421, 424, 428, 432, 433,
+ 434, 436, 438, 440, 452, 457, 471, 472, 473, 474,
+ 475, 478, 479, 484, 485, 486, 487, 488, 496, 497,
+ 510, 580, 582, 597, 616, 622, 477, 300, 301, 441,
+ 442, 313, 314, 636, 637, 299, 592, 623, 590, 635,
+ 617, 435, 375, 0, 0, 378, 280, 304, 319, 0,
+ 608, 498, 226, 463, 289, 250, 0, 0, 210, 245,
+ 229, 258, 273, 276, 323, 388, 397, 426, 431, 295,
+ 270, 243, 456, 240, 481, 513, 514, 515, 517, 392,
+ 265, 430, 393, 0, 373, 570, 571, 315, 0, 522,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 413, 0, 1893, 0, 0, 0, 0, 0, 0,
+ 269, 0, 0, 0, 0, 363, 266, 0, 0, 427,
+ 0, 203, 0, 483, 251, 374, 371, 577, 281, 272,
+ 268, 249, 316, 382, 425, 512, 419, 0, 367, 0,
+ 0, 493, 398, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 322, 247,
+ 324, 202, 410, 494, 285, 0, 0, 0, 0, 0,
+ 712, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 237, 0, 0, 244, 0, 0, 0, 348, 357, 356,
+ 337, 338, 340, 342, 347, 354, 360, 0, 0, 601,
+ 0, 0, 0, 264, 320, 271, 263, 574, 0, 0,
+ 0, 0, 0, 0, 0, 0, 228, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 274, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 296, 0, 399, 256, 0, 450, 0,
+ 0, 0, 619, 0, 0, 0, 0, 0, 0, 0,
+ 362, 0, 329, 197, 224, 0, 0, 409, 458, 470,
+ 0, 0, 0, 252, 0, 468, 423, 596, 232, 283,
+ 455, 429, 466, 437, 286, 0, 0, 467, 369, 579,
+ 447, 593, 620, 621, 262, 403, 606, 516, 614, 638,
+ 225, 259, 417, 501, 599, 490, 394, 575, 576, 328,
+ 489, 294, 201, 366, 626, 223, 476, 368, 241, 230,
+ 581, 603, 298, 288, 453, 633, 212, 511, 591, 238,
+ 480, 0, 0, 641, 246, 500, 214, 588, 499, 390,
+ 325, 326, 213, 0, 454, 267, 292, 0, 0, 257,
+ 412, 583, 584, 255, 642, 227, 613, 219, 0, 612,
+ 405, 578, 589, 391, 380, 218, 587, 389, 379, 333,
+ 352, 353, 279, 306, 444, 372, 445, 305, 307, 401,
+ 400, 402, 206, 600, 0, 207, 0, 495, 602, 643,
+ 449, 211, 233, 234, 236, 0, 278, 282, 290, 293,
+ 302, 303, 312, 364, 416, 443, 439, 448, 0, 573,
+ 594, 607, 618, 624, 625, 627, 628, 629, 630, 631,
+ 634, 632, 404, 310, 491, 332, 370, 0, 0, 422,
+ 469, 239, 598, 492, 199, 0, 0, 0, 0, 253,
+ 254, 0, 569, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 644, 645, 646, 647, 648, 649, 650, 651,
+ 652, 653, 654, 655, 656, 657, 658, 659, 660, 661,
+ 639, 502, 508, 503, 504, 505, 506, 507, 0, 509,
+ 0, 0, 0, 0, 0, 395, 0, 585, 586, 662,
+ 381, 482, 595, 334, 346, 349, 339, 358, 0, 359,
+ 335, 336, 341, 343, 344, 345, 350, 351, 355, 361,
+ 248, 209, 387, 396, 572, 311, 215, 216, 217, 518,
+ 519, 520, 521, 610, 611, 615, 204, 459, 460, 461,
+ 462, 291, 605, 308, 465, 464, 330, 331, 376, 446,
+ 534, 536, 547, 551, 553, 555, 561, 564, 535, 537,
+ 548, 552, 554, 556, 562, 565, 524, 526, 528, 530,
+ 543, 542, 539, 567, 568, 545, 550, 529, 541, 546,
+ 559, 566, 563, 523, 527, 531, 540, 558, 557, 538,
+ 549, 560, 544, 532, 525, 533, 0, 196, 220, 365,
+ 0, 451, 287, 640, 609, 604, 205, 222, 0, 261,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 198, 200, 208, 221, 231, 235, 242, 260, 275,
+ 277, 284, 297, 309, 317, 318, 321, 327, 377, 383,
+ 384, 385, 386, 406, 407, 408, 411, 414, 415, 418,
+ 420, 421, 424, 428, 432, 433, 434, 436, 438, 440,
+ 452, 457, 471, 472, 473, 474, 475, 478, 479, 484,
+ 485, 486, 487, 488, 496, 497, 510, 580, 582, 597,
+ 616, 622, 477, 300, 301, 441, 442, 313, 314, 636,
+ 637, 299, 592, 623, 590, 635, 617, 435, 375, 0,
+ 0, 378, 280, 304, 319, 0, 608, 498, 226, 463,
+ 289, 250, 0, 0, 210, 245, 229, 258, 273, 276,
+ 323, 388, 397, 426, 431, 295, 270, 243, 456, 240,
+ 481, 513, 514, 515, 517, 392, 265, 430, 393, 0,
+ 373, 570, 571, 315, 0, 522, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 413, 0, 1891,
+ 0, 0, 0, 0, 0, 0, 269, 0, 0, 0,
+ 0, 363, 266, 0, 0, 427, 0, 203, 0, 483,
+ 251, 374, 371, 577, 281, 272, 268, 249, 316, 382,
+ 425, 512, 419, 0, 367, 0, 0, 493, 398, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 322, 247, 324, 202, 410, 494,
+ 285, 0, 0, 0, 0, 0, 712, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 237, 0, 0, 244,
+ 0, 0, 0, 348, 357, 356, 337, 338, 340, 342,
+ 347, 354, 360, 0, 0, 601, 0, 0, 0, 264,
320, 271, 263, 574, 0, 0, 0, 0, 0, 0,
0, 0, 228, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 274, 0, 0,
@@ -6497,42 +6244,42 @@ var yyAct = [...]int{
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 296,
- 0, 399, 256, 0, 450, 0, 0, 0, 618, 0,
+ 0, 399, 256, 0, 450, 0, 0, 0, 619, 0,
0, 0, 0, 0, 0, 0, 362, 0, 329, 197,
224, 0, 0, 409, 458, 470, 0, 0, 0, 252,
0, 468, 423, 596, 232, 283, 455, 429, 466, 437,
- 286, 0, 0, 467, 369, 579, 447, 593, 619, 620,
- 262, 403, 605, 516, 613, 637, 225, 259, 417, 501,
+ 286, 0, 0, 467, 369, 579, 447, 593, 620, 621,
+ 262, 403, 606, 516, 614, 638, 225, 259, 417, 501,
599, 490, 394, 575, 576, 328, 489, 294, 201, 366,
- 625, 223, 476, 368, 241, 230, 581, 602, 298, 288,
- 453, 632, 212, 511, 591, 238, 480, 0, 0, 640,
+ 626, 223, 476, 368, 241, 230, 581, 603, 298, 288,
+ 453, 633, 212, 511, 591, 238, 480, 0, 0, 641,
246, 500, 214, 588, 499, 390, 325, 326, 213, 0,
454, 267, 292, 0, 0, 257, 412, 583, 584, 255,
- 641, 227, 612, 219, 0, 611, 405, 578, 589, 391,
+ 642, 227, 613, 219, 0, 612, 405, 578, 589, 391,
380, 218, 587, 389, 379, 333, 352, 353, 279, 306,
444, 372, 445, 305, 307, 401, 400, 402, 206, 600,
- 0, 207, 0, 495, 601, 642, 449, 211, 233, 234,
+ 0, 207, 0, 495, 602, 643, 449, 211, 233, 234,
236, 0, 278, 282, 290, 293, 302, 303, 312, 364,
- 416, 443, 439, 448, 0, 573, 594, 606, 617, 623,
- 624, 626, 627, 628, 629, 630, 633, 631, 404, 310,
+ 416, 443, 439, 448, 0, 573, 594, 607, 618, 624,
+ 625, 627, 628, 629, 630, 631, 634, 632, 404, 310,
491, 332, 370, 0, 0, 422, 469, 239, 598, 492,
199, 0, 0, 0, 0, 253, 254, 0, 569, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 643, 644,
- 645, 646, 647, 648, 649, 650, 651, 652, 653, 654,
- 655, 656, 657, 658, 659, 660, 638, 502, 508, 503,
+ 0, 0, 0, 0, 0, 0, 0, 0, 644, 645,
+ 646, 647, 648, 649, 650, 651, 652, 653, 654, 655,
+ 656, 657, 658, 659, 660, 661, 639, 502, 508, 503,
504, 505, 506, 507, 0, 509, 0, 0, 0, 0,
- 0, 395, 0, 585, 586, 661, 381, 482, 595, 334,
+ 0, 395, 0, 585, 586, 662, 381, 482, 595, 334,
346, 349, 339, 358, 0, 359, 335, 336, 341, 343,
344, 345, 350, 351, 355, 361, 248, 209, 387, 396,
- 572, 311, 215, 216, 217, 518, 519, 520, 521, 609,
- 610, 614, 204, 459, 460, 461, 462, 291, 604, 308,
+ 572, 311, 215, 216, 217, 518, 519, 520, 521, 610,
+ 611, 615, 204, 459, 460, 461, 462, 291, 605, 308,
465, 464, 330, 331, 376, 446, 534, 536, 547, 551,
553, 555, 561, 564, 535, 537, 548, 552, 554, 556,
562, 565, 524, 526, 528, 530, 543, 542, 539, 567,
568, 545, 550, 529, 541, 546, 559, 566, 563, 523,
527, 531, 540, 558, 557, 538, 549, 560, 544, 532,
- 525, 533, 0, 196, 220, 365, 0, 451, 287, 639,
- 608, 603, 205, 222, 0, 261, 0, 0, 0, 0,
+ 525, 533, 0, 196, 220, 365, 0, 451, 287, 640,
+ 609, 604, 205, 222, 0, 261, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 198, 200, 208,
221, 231, 235, 242, 260, 275, 277, 284, 297, 309,
@@ -6540,28 +6287,28 @@ var yyAct = [...]int{
407, 408, 411, 414, 415, 418, 420, 421, 424, 428,
432, 433, 434, 436, 438, 440, 452, 457, 471, 472,
473, 474, 475, 478, 479, 484, 485, 486, 487, 488,
- 496, 497, 510, 580, 582, 597, 615, 621, 477, 300,
- 301, 441, 442, 313, 314, 635, 636, 299, 592, 622,
- 590, 634, 616, 435, 375, 0, 0, 378, 280, 304,
- 319, 0, 607, 498, 226, 463, 289, 250, 0, 0,
+ 496, 497, 510, 580, 582, 597, 616, 622, 477, 300,
+ 301, 441, 442, 313, 314, 636, 637, 299, 592, 623,
+ 590, 635, 617, 435, 375, 0, 0, 378, 280, 304,
+ 319, 0, 608, 498, 226, 463, 289, 250, 0, 0,
210, 245, 229, 258, 273, 276, 323, 388, 397, 426,
431, 295, 270, 243, 456, 240, 481, 513, 514, 515,
517, 392, 265, 430, 393, 0, 373, 570, 571, 315,
0, 522, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 413, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 413, 0, 1887, 0, 0, 0, 0,
0, 0, 269, 0, 0, 0, 0, 363, 266, 0,
0, 427, 0, 203, 0, 483, 251, 374, 371, 577,
281, 272, 268, 249, 316, 382, 425, 512, 419, 0,
367, 0, 0, 493, 398, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 322, 247, 324, 202, 410, 494, 285, 0, 1857, 0,
- 0, 0, 711, 0, 0, 0, 0, 0, 0, 0,
+ 322, 247, 324, 202, 410, 494, 285, 0, 0, 0,
+ 0, 0, 712, 0, 0, 0, 0, 0, 0, 0,
0, 0, 237, 0, 0, 244, 0, 0, 0, 348,
357, 356, 337, 338, 340, 342, 347, 354, 360, 0,
- 0, 0, 0, 0, 264, 320, 271, 263, 574, 0,
- 0, 0, 0, 0, 0, 0, 0, 228, 0, 0,
+ 0, 601, 0, 0, 0, 264, 320, 271, 263, 574,
+ 0, 0, 0, 0, 0, 0, 0, 0, 228, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 274, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 274, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -6569,213 +6316,286 @@ var yyAct = [...]int{
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 296, 0, 399, 256, 0, 450,
- 0, 0, 0, 618, 0, 0, 0, 0, 0, 0,
- 0, 362, 0, 329, 197, 224, 0, 0, 409, 458,
- 470, 0, 0, 0, 252, 0, 468, 423, 596, 232,
- 283, 455, 429, 466, 437, 286, 0, 0, 467, 369,
- 579, 447, 593, 619, 620, 262, 403, 605, 516, 613,
- 637, 225, 259, 417, 501, 599, 490, 394, 575, 576,
- 328, 489, 294, 201, 366, 625, 223, 476, 368, 241,
- 230, 581, 602, 298, 288, 453, 632, 212, 511, 591,
- 238, 480, 0, 0, 640, 246, 500, 214, 588, 499,
- 390, 325, 326, 213, 0, 454, 267, 292, 0, 0,
- 257, 412, 583, 584, 255, 641, 227, 612, 219, 0,
- 611, 405, 578, 589, 391, 380, 218, 587, 389, 379,
- 333, 352, 353, 279, 306, 444, 372, 445, 305, 307,
- 401, 400, 402, 206, 600, 0, 207, 0, 495, 601,
- 642, 449, 211, 233, 234, 236, 0, 278, 282, 290,
- 293, 302, 303, 312, 364, 416, 443, 439, 448, 0,
- 573, 594, 606, 617, 623, 624, 626, 627, 628, 629,
- 630, 633, 631, 404, 310, 491, 332, 370, 0, 0,
- 422, 469, 239, 598, 492, 199, 0, 0, 0, 0,
- 253, 254, 0, 569, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 643, 644, 645, 646, 647, 648, 649,
+ 0, 0, 0, 0, 0, 296, 0, 399, 256, 0,
+ 450, 0, 0, 0, 619, 0, 0, 0, 0, 0,
+ 0, 0, 362, 0, 329, 197, 224, 0, 0, 409,
+ 458, 470, 0, 0, 0, 252, 0, 468, 423, 596,
+ 232, 283, 455, 429, 466, 437, 286, 0, 0, 467,
+ 369, 579, 447, 593, 620, 621, 262, 403, 606, 516,
+ 614, 638, 225, 259, 417, 501, 599, 490, 394, 575,
+ 576, 328, 489, 294, 201, 366, 626, 223, 476, 368,
+ 241, 230, 581, 603, 298, 288, 453, 633, 212, 511,
+ 591, 238, 480, 0, 0, 641, 246, 500, 214, 588,
+ 499, 390, 325, 326, 213, 0, 454, 267, 292, 0,
+ 0, 257, 412, 583, 584, 255, 642, 227, 613, 219,
+ 0, 612, 405, 578, 589, 391, 380, 218, 587, 389,
+ 379, 333, 352, 353, 279, 306, 444, 372, 445, 305,
+ 307, 401, 400, 402, 206, 600, 0, 207, 0, 495,
+ 602, 643, 449, 211, 233, 234, 236, 0, 278, 282,
+ 290, 293, 302, 303, 312, 364, 416, 443, 439, 448,
+ 0, 573, 594, 607, 618, 624, 625, 627, 628, 629,
+ 630, 631, 634, 632, 404, 310, 491, 332, 370, 0,
+ 0, 422, 469, 239, 598, 492, 199, 0, 0, 0,
+ 0, 253, 254, 0, 569, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 644, 645, 646, 647, 648, 649,
650, 651, 652, 653, 654, 655, 656, 657, 658, 659,
- 660, 638, 502, 508, 503, 504, 505, 506, 507, 0,
- 509, 0, 0, 0, 0, 0, 395, 0, 585, 586,
- 661, 381, 482, 595, 334, 346, 349, 339, 358, 0,
- 359, 335, 336, 341, 343, 344, 345, 350, 351, 355,
- 361, 248, 209, 387, 396, 572, 311, 215, 216, 217,
- 518, 519, 520, 521, 609, 610, 614, 204, 459, 460,
- 461, 462, 291, 604, 308, 465, 464, 330, 331, 376,
- 446, 534, 536, 547, 551, 553, 555, 561, 564, 535,
- 537, 548, 552, 554, 556, 562, 565, 524, 526, 528,
- 530, 543, 542, 539, 567, 568, 545, 550, 529, 541,
- 546, 559, 566, 563, 523, 527, 531, 540, 558, 557,
- 538, 549, 560, 544, 532, 525, 533, 0, 196, 220,
- 365, 0, 451, 287, 639, 608, 603, 205, 222, 0,
- 261, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 198, 200, 208, 221, 231, 235, 242, 260,
- 275, 277, 284, 297, 309, 317, 318, 321, 327, 377,
- 383, 384, 385, 386, 406, 407, 408, 411, 414, 415,
- 418, 420, 421, 424, 428, 432, 433, 434, 436, 438,
- 440, 452, 457, 471, 472, 473, 474, 475, 478, 479,
- 484, 485, 486, 487, 488, 496, 497, 510, 580, 582,
- 597, 615, 621, 477, 300, 301, 441, 442, 313, 314,
- 635, 636, 299, 592, 622, 590, 634, 616, 435, 375,
- 0, 0, 378, 280, 304, 319, 0, 607, 498, 226,
- 463, 289, 250, 0, 0, 210, 245, 229, 258, 273,
- 276, 323, 388, 397, 426, 431, 295, 270, 243, 456,
- 240, 481, 513, 514, 515, 517, 392, 265, 430, 393,
- 0, 373, 570, 571, 315, 0, 522, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 413, 0,
- 0, 0, 0, 0, 0, 0, 1756, 269, 0, 0,
- 0, 0, 363, 266, 0, 0, 427, 0, 203, 0,
- 483, 251, 374, 371, 577, 281, 272, 268, 249, 316,
- 382, 425, 512, 419, 0, 367, 0, 0, 493, 398,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 322, 247, 324, 202, 410,
- 494, 285, 0, 0, 0, 0, 0, 194, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 237, 0, 0,
- 244, 0, 0, 0, 348, 357, 356, 337, 338, 340,
- 342, 347, 354, 360, 0, 0, 0, 0, 0, 264,
- 320, 271, 263, 574, 0, 0, 0, 0, 0, 0,
- 0, 0, 228, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 274, 0, 0,
+ 660, 661, 639, 502, 508, 503, 504, 505, 506, 507,
+ 0, 509, 0, 0, 0, 0, 0, 395, 0, 585,
+ 586, 662, 381, 482, 595, 334, 346, 349, 339, 358,
+ 0, 359, 335, 336, 341, 343, 344, 345, 350, 351,
+ 355, 361, 248, 209, 387, 396, 572, 311, 215, 216,
+ 217, 518, 519, 520, 521, 610, 611, 615, 204, 459,
+ 460, 461, 462, 291, 605, 308, 465, 464, 330, 331,
+ 376, 446, 534, 536, 547, 551, 553, 555, 561, 564,
+ 535, 537, 548, 552, 554, 556, 562, 565, 524, 526,
+ 528, 530, 543, 542, 539, 567, 568, 545, 550, 529,
+ 541, 546, 559, 566, 563, 523, 527, 531, 540, 558,
+ 557, 538, 549, 560, 544, 532, 525, 533, 0, 196,
+ 220, 365, 0, 451, 287, 640, 609, 604, 205, 222,
+ 0, 261, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 198, 200, 208, 221, 231, 235, 242,
+ 260, 275, 277, 284, 297, 309, 317, 318, 321, 327,
+ 377, 383, 384, 385, 386, 406, 407, 408, 411, 414,
+ 415, 418, 420, 421, 424, 428, 432, 433, 434, 436,
+ 438, 440, 452, 457, 471, 472, 473, 474, 475, 478,
+ 479, 484, 485, 486, 487, 488, 496, 497, 510, 580,
+ 582, 597, 616, 622, 477, 300, 301, 441, 442, 313,
+ 314, 636, 637, 299, 592, 623, 590, 635, 617, 435,
+ 375, 0, 0, 378, 280, 304, 319, 0, 608, 498,
+ 226, 463, 289, 250, 0, 0, 210, 245, 229, 258,
+ 273, 276, 323, 388, 397, 426, 431, 295, 270, 243,
+ 456, 240, 481, 513, 514, 515, 517, 392, 265, 430,
+ 393, 0, 373, 570, 571, 315, 0, 522, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 413,
+ 0, 1885, 0, 0, 0, 0, 0, 0, 269, 0,
+ 0, 0, 0, 363, 266, 0, 0, 427, 0, 203,
+ 0, 483, 251, 374, 371, 577, 281, 272, 268, 249,
+ 316, 382, 425, 512, 419, 0, 367, 0, 0, 493,
+ 398, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 322, 247, 324, 202,
+ 410, 494, 285, 0, 0, 0, 0, 0, 712, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 237, 0,
+ 0, 244, 0, 0, 0, 348, 357, 356, 337, 338,
+ 340, 342, 347, 354, 360, 0, 0, 601, 0, 0,
+ 0, 264, 320, 271, 263, 574, 0, 0, 0, 0,
+ 0, 0, 0, 0, 228, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 274,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 296,
- 0, 399, 256, 0, 450, 0, 0, 0, 618, 0,
- 0, 0, 0, 0, 0, 0, 362, 0, 329, 197,
- 224, 0, 0, 409, 458, 470, 0, 0, 0, 252,
- 0, 468, 423, 596, 232, 283, 455, 429, 466, 437,
- 286, 0, 0, 467, 369, 579, 447, 593, 619, 620,
- 262, 403, 605, 516, 613, 637, 225, 259, 417, 501,
- 599, 490, 394, 575, 576, 328, 489, 294, 201, 366,
- 625, 223, 476, 368, 241, 230, 581, 602, 298, 288,
- 453, 632, 212, 511, 591, 238, 480, 0, 0, 640,
- 246, 500, 214, 588, 499, 390, 325, 326, 213, 0,
- 454, 267, 292, 0, 0, 257, 412, 583, 584, 255,
- 641, 227, 612, 219, 0, 611, 405, 578, 589, 391,
- 380, 218, 587, 389, 379, 333, 352, 353, 279, 306,
- 444, 372, 445, 305, 307, 401, 400, 402, 206, 600,
- 0, 207, 0, 495, 601, 642, 449, 211, 233, 234,
- 236, 0, 278, 282, 290, 293, 302, 303, 312, 364,
- 416, 443, 439, 448, 0, 573, 594, 606, 617, 623,
- 624, 626, 627, 628, 629, 630, 633, 631, 404, 310,
- 491, 332, 370, 0, 0, 422, 469, 239, 598, 492,
- 199, 0, 0, 0, 0, 253, 254, 0, 569, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 643, 644,
- 645, 646, 647, 648, 649, 650, 651, 652, 653, 654,
- 655, 656, 657, 658, 659, 660, 638, 502, 508, 503,
- 504, 505, 506, 507, 0, 509, 0, 0, 0, 0,
- 0, 395, 0, 585, 586, 661, 381, 482, 595, 334,
- 346, 349, 339, 358, 0, 359, 335, 336, 341, 343,
- 344, 345, 350, 351, 355, 361, 248, 209, 387, 396,
- 572, 311, 215, 216, 217, 518, 519, 520, 521, 609,
- 610, 614, 204, 459, 460, 461, 462, 291, 604, 308,
- 465, 464, 330, 331, 376, 446, 534, 536, 547, 551,
- 553, 555, 561, 564, 535, 537, 548, 552, 554, 556,
- 562, 565, 524, 526, 528, 530, 543, 542, 539, 567,
- 568, 545, 550, 529, 541, 546, 559, 566, 563, 523,
- 527, 531, 540, 558, 557, 538, 549, 560, 544, 532,
- 525, 533, 0, 196, 220, 365, 0, 451, 287, 639,
- 608, 603, 205, 222, 0, 261, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 198, 200, 208,
- 221, 231, 235, 242, 260, 275, 277, 284, 297, 309,
- 317, 318, 321, 327, 377, 383, 384, 385, 386, 406,
- 407, 408, 411, 414, 415, 418, 420, 421, 424, 428,
- 432, 433, 434, 436, 438, 440, 452, 457, 471, 472,
- 473, 474, 475, 478, 479, 484, 485, 486, 487, 488,
- 496, 497, 510, 580, 582, 597, 615, 621, 477, 300,
- 301, 441, 442, 313, 314, 635, 636, 299, 592, 622,
- 590, 634, 616, 435, 375, 0, 0, 378, 280, 304,
- 319, 0, 607, 498, 226, 463, 289, 250, 0, 0,
- 210, 245, 229, 258, 273, 276, 323, 388, 397, 426,
- 431, 295, 270, 243, 456, 240, 481, 513, 514, 515,
- 517, 392, 265, 430, 393, 0, 373, 570, 571, 315,
- 0, 522, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 413, 0, 0, 0, 0, 0, 0,
- 0, 0, 269, 0, 0, 0, 0, 363, 266, 0,
- 0, 427, 0, 203, 0, 483, 251, 374, 371, 577,
- 281, 272, 268, 249, 316, 382, 425, 512, 419, 0,
- 367, 0, 0, 493, 398, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 322, 247, 324, 202, 410, 494, 285, 0, 95, 0,
- 0, 0, 944, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 237, 0, 0, 244, 0, 0, 0, 348,
- 357, 356, 337, 338, 340, 342, 347, 354, 360, 0,
- 0, 0, 0, 0, 264, 320, 271, 263, 574, 0,
- 0, 0, 0, 0, 0, 0, 0, 228, 0, 0,
+ 0, 296, 0, 399, 256, 0, 450, 0, 0, 0,
+ 619, 0, 0, 0, 0, 0, 0, 0, 362, 0,
+ 329, 197, 224, 0, 0, 409, 458, 470, 0, 0,
+ 0, 252, 0, 468, 423, 596, 232, 283, 455, 429,
+ 466, 437, 286, 0, 0, 467, 369, 579, 447, 593,
+ 620, 621, 262, 403, 606, 516, 614, 638, 225, 259,
+ 417, 501, 599, 490, 394, 575, 576, 328, 489, 294,
+ 201, 366, 626, 223, 476, 368, 241, 230, 581, 603,
+ 298, 288, 453, 633, 212, 511, 591, 238, 480, 0,
+ 0, 641, 246, 500, 214, 588, 499, 390, 325, 326,
+ 213, 0, 454, 267, 292, 0, 0, 257, 412, 583,
+ 584, 255, 642, 227, 613, 219, 0, 612, 405, 578,
+ 589, 391, 380, 218, 587, 389, 379, 333, 352, 353,
+ 279, 306, 444, 372, 445, 305, 307, 401, 400, 402,
+ 206, 600, 0, 207, 0, 495, 602, 643, 449, 211,
+ 233, 234, 236, 0, 278, 282, 290, 293, 302, 303,
+ 312, 364, 416, 443, 439, 448, 0, 573, 594, 607,
+ 618, 624, 625, 627, 628, 629, 630, 631, 634, 632,
+ 404, 310, 491, 332, 370, 0, 0, 422, 469, 239,
+ 598, 492, 199, 0, 0, 0, 0, 253, 254, 0,
+ 569, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 644, 645, 646, 647, 648, 649, 650, 651, 652, 653,
+ 654, 655, 656, 657, 658, 659, 660, 661, 639, 502,
+ 508, 503, 504, 505, 506, 507, 0, 509, 0, 0,
+ 0, 0, 0, 395, 0, 585, 586, 662, 381, 482,
+ 595, 334, 346, 349, 339, 358, 0, 359, 335, 336,
+ 341, 343, 344, 345, 350, 351, 355, 361, 248, 209,
+ 387, 396, 572, 311, 215, 216, 217, 518, 519, 520,
+ 521, 610, 611, 615, 204, 459, 460, 461, 462, 291,
+ 605, 308, 465, 464, 330, 331, 376, 446, 534, 536,
+ 547, 551, 553, 555, 561, 564, 535, 537, 548, 552,
+ 554, 556, 562, 565, 524, 526, 528, 530, 543, 542,
+ 539, 567, 568, 545, 550, 529, 541, 546, 559, 566,
+ 563, 523, 527, 531, 540, 558, 557, 538, 549, 560,
+ 544, 532, 525, 533, 0, 196, 220, 365, 0, 451,
+ 287, 640, 609, 604, 205, 222, 0, 261, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 198,
+ 200, 208, 221, 231, 235, 242, 260, 275, 277, 284,
+ 297, 309, 317, 318, 321, 327, 377, 383, 384, 385,
+ 386, 406, 407, 408, 411, 414, 415, 418, 420, 421,
+ 424, 428, 432, 433, 434, 436, 438, 440, 452, 457,
+ 471, 472, 473, 474, 475, 478, 479, 484, 485, 486,
+ 487, 488, 496, 497, 510, 580, 582, 597, 616, 622,
+ 477, 300, 301, 441, 442, 313, 314, 636, 637, 299,
+ 592, 623, 590, 635, 617, 435, 375, 0, 0, 378,
+ 280, 304, 319, 0, 608, 498, 226, 463, 289, 250,
+ 0, 0, 210, 245, 229, 258, 273, 276, 323, 388,
+ 397, 426, 431, 295, 270, 243, 456, 240, 481, 513,
+ 514, 515, 517, 392, 265, 430, 393, 0, 373, 570,
+ 571, 315, 0, 522, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 413, 0, 1883, 0, 0,
+ 0, 0, 0, 0, 269, 0, 0, 0, 0, 363,
+ 266, 0, 0, 427, 0, 203, 0, 483, 251, 374,
+ 371, 577, 281, 272, 268, 249, 316, 382, 425, 512,
+ 419, 0, 367, 0, 0, 493, 398, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 322, 247, 324, 202, 410, 494, 285, 0,
+ 0, 0, 0, 0, 712, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 237, 0, 0, 244, 0, 0,
+ 0, 348, 357, 356, 337, 338, 340, 342, 347, 354,
+ 360, 0, 0, 601, 0, 0, 0, 264, 320, 271,
+ 263, 574, 0, 0, 0, 0, 0, 0, 0, 0,
+ 228, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 274, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 274, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 296, 0, 399,
+ 256, 0, 450, 0, 0, 0, 619, 0, 0, 0,
+ 0, 0, 0, 0, 362, 0, 329, 197, 224, 0,
+ 0, 409, 458, 470, 0, 0, 0, 252, 0, 468,
+ 423, 596, 232, 283, 455, 429, 466, 437, 286, 0,
+ 0, 467, 369, 579, 447, 593, 620, 621, 262, 403,
+ 606, 516, 614, 638, 225, 259, 417, 501, 599, 490,
+ 394, 575, 576, 328, 489, 294, 201, 366, 626, 223,
+ 476, 368, 241, 230, 581, 603, 298, 288, 453, 633,
+ 212, 511, 591, 238, 480, 0, 0, 641, 246, 500,
+ 214, 588, 499, 390, 325, 326, 213, 0, 454, 267,
+ 292, 0, 0, 257, 412, 583, 584, 255, 642, 227,
+ 613, 219, 0, 612, 405, 578, 589, 391, 380, 218,
+ 587, 389, 379, 333, 352, 353, 279, 306, 444, 372,
+ 445, 305, 307, 401, 400, 402, 206, 600, 0, 207,
+ 0, 495, 602, 643, 449, 211, 233, 234, 236, 0,
+ 278, 282, 290, 293, 302, 303, 312, 364, 416, 443,
+ 439, 448, 0, 573, 594, 607, 618, 624, 625, 627,
+ 628, 629, 630, 631, 634, 632, 404, 310, 491, 332,
+ 370, 0, 0, 422, 469, 239, 598, 492, 199, 0,
+ 0, 0, 0, 253, 254, 0, 569, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 644, 645, 646, 647,
+ 648, 649, 650, 651, 652, 653, 654, 655, 656, 657,
+ 658, 659, 660, 661, 639, 502, 508, 503, 504, 505,
+ 506, 507, 0, 509, 0, 0, 0, 0, 0, 395,
+ 0, 585, 586, 662, 381, 482, 595, 334, 346, 349,
+ 339, 358, 0, 359, 335, 336, 341, 343, 344, 345,
+ 350, 351, 355, 361, 248, 209, 387, 396, 572, 311,
+ 215, 216, 217, 518, 519, 520, 521, 610, 611, 615,
+ 204, 459, 460, 461, 462, 291, 605, 308, 465, 464,
+ 330, 331, 376, 446, 534, 536, 547, 551, 553, 555,
+ 561, 564, 535, 537, 548, 552, 554, 556, 562, 565,
+ 524, 526, 528, 530, 543, 542, 539, 567, 568, 545,
+ 550, 529, 541, 546, 559, 566, 563, 523, 527, 531,
+ 540, 558, 557, 538, 549, 560, 544, 532, 525, 533,
+ 0, 196, 220, 365, 0, 451, 287, 640, 609, 604,
+ 205, 222, 0, 261, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 198, 200, 208, 221, 231,
+ 235, 242, 260, 275, 277, 284, 297, 309, 317, 318,
+ 321, 327, 377, 383, 384, 385, 386, 406, 407, 408,
+ 411, 414, 415, 418, 420, 421, 424, 428, 432, 433,
+ 434, 436, 438, 440, 452, 457, 471, 472, 473, 474,
+ 475, 478, 479, 484, 485, 486, 487, 488, 496, 497,
+ 510, 580, 582, 597, 616, 622, 477, 300, 301, 441,
+ 442, 313, 314, 636, 637, 299, 592, 623, 590, 635,
+ 617, 435, 375, 0, 0, 378, 280, 304, 319, 0,
+ 608, 498, 226, 463, 289, 250, 0, 0, 210, 245,
+ 229, 258, 273, 276, 323, 388, 397, 426, 431, 295,
+ 270, 243, 456, 240, 481, 513, 514, 515, 517, 392,
+ 265, 430, 393, 0, 373, 570, 571, 315, 0, 522,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 413, 0, 0, 0, 0, 0, 0, 0, 0,
+ 269, 0, 0, 0, 0, 363, 266, 0, 0, 427,
+ 0, 203, 0, 483, 251, 374, 371, 577, 281, 272,
+ 268, 249, 316, 382, 425, 512, 419, 0, 367, 0,
+ 0, 493, 398, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 322, 247,
+ 324, 202, 410, 494, 285, 0, 1858, 0, 0, 0,
+ 712, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 237, 0, 0, 244, 0, 0, 0, 348, 357, 356,
+ 337, 338, 340, 342, 347, 354, 360, 0, 0, 601,
+ 0, 0, 0, 264, 320, 271, 263, 574, 0, 0,
+ 0, 0, 0, 0, 0, 0, 228, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 274, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 296, 0, 399, 256, 0, 450, 0,
+ 0, 0, 619, 0, 0, 0, 0, 0, 0, 0,
+ 362, 0, 329, 197, 224, 0, 0, 409, 458, 470,
+ 0, 0, 0, 252, 0, 468, 423, 596, 232, 283,
+ 455, 429, 466, 437, 286, 0, 0, 467, 369, 579,
+ 447, 593, 620, 621, 262, 403, 606, 516, 614, 638,
+ 225, 259, 417, 501, 599, 490, 394, 575, 576, 328,
+ 489, 294, 201, 366, 626, 223, 476, 368, 241, 230,
+ 581, 603, 298, 288, 453, 633, 212, 511, 591, 238,
+ 480, 0, 0, 641, 246, 500, 214, 588, 499, 390,
+ 325, 326, 213, 0, 454, 267, 292, 0, 0, 257,
+ 412, 583, 584, 255, 642, 227, 613, 219, 0, 612,
+ 405, 578, 589, 391, 380, 218, 587, 389, 379, 333,
+ 352, 353, 279, 306, 444, 372, 445, 305, 307, 401,
+ 400, 402, 206, 600, 0, 207, 0, 495, 602, 643,
+ 449, 211, 233, 234, 236, 0, 278, 282, 290, 293,
+ 302, 303, 312, 364, 416, 443, 439, 448, 0, 573,
+ 594, 607, 618, 624, 625, 627, 628, 629, 630, 631,
+ 634, 632, 404, 310, 491, 332, 370, 0, 0, 422,
+ 469, 239, 598, 492, 199, 0, 0, 0, 0, 253,
+ 254, 0, 569, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 644, 645, 646, 647, 648, 649, 650, 651,
+ 652, 653, 654, 655, 656, 657, 658, 659, 660, 661,
+ 639, 502, 508, 503, 504, 505, 506, 507, 0, 509,
+ 0, 0, 0, 0, 0, 395, 0, 585, 586, 662,
+ 381, 482, 595, 334, 346, 349, 339, 358, 0, 359,
+ 335, 336, 341, 343, 344, 345, 350, 351, 355, 361,
+ 248, 209, 387, 396, 572, 311, 215, 216, 217, 518,
+ 519, 520, 521, 610, 611, 615, 204, 459, 460, 461,
+ 462, 291, 605, 308, 465, 464, 330, 331, 376, 446,
+ 534, 536, 547, 551, 553, 555, 561, 564, 535, 537,
+ 548, 552, 554, 556, 562, 565, 524, 526, 528, 530,
+ 543, 542, 539, 567, 568, 545, 550, 529, 541, 546,
+ 559, 566, 563, 523, 527, 531, 540, 558, 557, 538,
+ 549, 560, 544, 532, 525, 533, 0, 196, 220, 365,
+ 0, 451, 287, 640, 609, 604, 205, 222, 0, 261,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 198, 200, 208, 221, 231, 235, 242, 260, 275,
+ 277, 284, 297, 309, 317, 318, 321, 327, 377, 383,
+ 384, 385, 386, 406, 407, 408, 411, 414, 415, 418,
+ 420, 421, 424, 428, 432, 433, 434, 436, 438, 440,
+ 452, 457, 471, 472, 473, 474, 475, 478, 479, 484,
+ 485, 486, 487, 488, 496, 497, 510, 580, 582, 597,
+ 616, 622, 477, 300, 301, 441, 442, 313, 314, 636,
+ 637, 299, 592, 623, 590, 635, 617, 435, 375, 0,
+ 0, 378, 280, 304, 319, 0, 608, 498, 226, 463,
+ 289, 250, 0, 0, 210, 245, 229, 258, 273, 276,
+ 323, 388, 397, 426, 431, 295, 270, 243, 456, 240,
+ 481, 513, 514, 515, 517, 392, 265, 430, 393, 0,
+ 373, 570, 571, 315, 0, 522, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 413, 0, 0,
+ 0, 0, 0, 0, 0, 1757, 269, 0, 0, 0,
+ 0, 363, 266, 0, 0, 427, 0, 203, 0, 483,
+ 251, 374, 371, 577, 281, 272, 268, 249, 316, 382,
+ 425, 512, 419, 0, 367, 0, 0, 493, 398, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 296, 0, 399, 256, 0, 450,
- 0, 0, 0, 618, 0, 0, 0, 0, 0, 0,
- 0, 362, 0, 329, 197, 224, 0, 0, 409, 458,
- 470, 0, 0, 0, 252, 0, 468, 423, 596, 232,
- 283, 455, 429, 466, 437, 286, 0, 0, 467, 369,
- 579, 447, 593, 619, 620, 262, 403, 605, 516, 613,
- 637, 225, 259, 417, 501, 599, 490, 394, 575, 576,
- 328, 489, 294, 201, 366, 625, 223, 476, 368, 241,
- 230, 581, 602, 298, 288, 453, 632, 212, 511, 591,
- 238, 480, 0, 0, 640, 246, 500, 214, 588, 499,
- 390, 325, 326, 213, 0, 454, 267, 292, 0, 0,
- 257, 412, 583, 584, 255, 641, 227, 612, 219, 0,
- 611, 405, 578, 589, 391, 380, 218, 587, 389, 379,
- 333, 352, 353, 279, 306, 444, 372, 445, 305, 307,
- 401, 400, 402, 206, 600, 0, 207, 0, 495, 601,
- 642, 449, 211, 233, 234, 236, 0, 278, 282, 290,
- 293, 302, 303, 312, 364, 416, 443, 439, 448, 0,
- 573, 594, 606, 617, 623, 624, 626, 627, 628, 629,
- 630, 633, 631, 404, 310, 491, 332, 370, 0, 0,
- 422, 469, 239, 598, 492, 199, 0, 0, 0, 0,
- 253, 254, 0, 569, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 643, 644, 645, 646, 647, 648, 649,
- 650, 651, 652, 653, 654, 655, 656, 657, 658, 659,
- 660, 638, 502, 508, 503, 504, 505, 506, 507, 0,
- 509, 0, 0, 0, 0, 0, 395, 0, 585, 586,
- 661, 381, 482, 595, 334, 346, 349, 339, 358, 0,
- 359, 335, 336, 341, 343, 344, 345, 350, 351, 355,
- 361, 248, 209, 387, 396, 572, 311, 215, 216, 217,
- 518, 519, 520, 521, 609, 610, 614, 204, 459, 460,
- 461, 462, 291, 604, 308, 465, 464, 330, 331, 376,
- 446, 534, 536, 547, 551, 553, 555, 561, 564, 535,
- 537, 548, 552, 554, 556, 562, 565, 524, 526, 528,
- 530, 543, 542, 539, 567, 568, 545, 550, 529, 541,
- 546, 559, 566, 563, 523, 527, 531, 540, 558, 557,
- 538, 549, 560, 544, 532, 525, 533, 0, 196, 220,
- 365, 0, 451, 287, 639, 608, 603, 205, 222, 0,
- 261, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 198, 200, 208, 221, 231, 235, 242, 260,
- 275, 277, 284, 297, 309, 317, 318, 321, 327, 377,
- 383, 384, 385, 386, 406, 407, 408, 411, 414, 415,
- 418, 420, 421, 424, 428, 432, 433, 434, 436, 438,
- 440, 452, 457, 471, 472, 473, 474, 475, 478, 479,
- 484, 485, 486, 487, 488, 496, 497, 510, 580, 582,
- 597, 615, 621, 477, 300, 301, 441, 442, 313, 314,
- 635, 636, 299, 592, 622, 590, 634, 616, 435, 375,
- 0, 0, 378, 280, 304, 319, 0, 607, 498, 226,
- 463, 289, 250, 0, 0, 210, 245, 229, 258, 273,
- 276, 323, 388, 397, 426, 431, 295, 270, 243, 456,
- 240, 481, 513, 514, 515, 517, 392, 265, 430, 393,
- 0, 373, 570, 571, 315, 0, 522, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 413, 0,
- 0, 0, 0, 0, 0, 0, 0, 269, 0, 0,
- 0, 0, 363, 266, 0, 0, 427, 0, 203, 0,
- 483, 251, 374, 371, 577, 281, 272, 268, 249, 316,
- 382, 425, 512, 419, 0, 367, 0, 0, 493, 398,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 322, 247, 324, 202, 410,
- 494, 285, 0, 0, 0, 0, 0, 194, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 237, 0, 0,
- 244, 0, 0, 0, 348, 357, 356, 337, 338, 340,
- 342, 347, 354, 360, 0, 0, 0, 0, 0, 264,
+ 0, 0, 0, 0, 322, 247, 324, 202, 410, 494,
+ 285, 0, 0, 0, 0, 0, 194, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 237, 0, 0, 244,
+ 0, 0, 0, 348, 357, 356, 337, 338, 340, 342,
+ 347, 354, 360, 0, 0, 601, 0, 0, 0, 264,
320, 271, 263, 574, 0, 0, 0, 0, 0, 0,
0, 0, 228, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 274, 0, 0,
@@ -6786,43 +6606,43 @@ var yyAct = [...]int{
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 1436, 0, 296,
- 0, 399, 256, 0, 450, 0, 0, 0, 618, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 296,
+ 0, 399, 256, 0, 450, 0, 0, 0, 619, 0,
0, 0, 0, 0, 0, 0, 362, 0, 329, 197,
224, 0, 0, 409, 458, 470, 0, 0, 0, 252,
0, 468, 423, 596, 232, 283, 455, 429, 466, 437,
- 286, 0, 0, 467, 369, 579, 447, 593, 619, 620,
- 262, 403, 605, 516, 613, 637, 225, 259, 417, 501,
+ 286, 0, 0, 467, 369, 579, 447, 593, 620, 621,
+ 262, 403, 606, 516, 614, 638, 225, 259, 417, 501,
599, 490, 394, 575, 576, 328, 489, 294, 201, 366,
- 625, 223, 476, 368, 241, 230, 581, 602, 298, 288,
- 453, 632, 212, 511, 591, 238, 480, 0, 0, 640,
+ 626, 223, 476, 368, 241, 230, 581, 603, 298, 288,
+ 453, 633, 212, 511, 591, 238, 480, 0, 0, 641,
246, 500, 214, 588, 499, 390, 325, 326, 213, 0,
454, 267, 292, 0, 0, 257, 412, 583, 584, 255,
- 641, 227, 612, 219, 0, 611, 405, 578, 589, 391,
+ 642, 227, 613, 219, 0, 612, 405, 578, 589, 391,
380, 218, 587, 389, 379, 333, 352, 353, 279, 306,
444, 372, 445, 305, 307, 401, 400, 402, 206, 600,
- 0, 207, 0, 495, 601, 642, 449, 211, 233, 234,
+ 0, 207, 0, 495, 602, 643, 449, 211, 233, 234,
236, 0, 278, 282, 290, 293, 302, 303, 312, 364,
- 416, 443, 439, 448, 0, 573, 594, 606, 617, 623,
- 624, 626, 627, 628, 629, 630, 633, 631, 404, 310,
+ 416, 443, 439, 448, 0, 573, 594, 607, 618, 624,
+ 625, 627, 628, 629, 630, 631, 634, 632, 404, 310,
491, 332, 370, 0, 0, 422, 469, 239, 598, 492,
199, 0, 0, 0, 0, 253, 254, 0, 569, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 643, 644,
- 645, 646, 647, 648, 649, 650, 651, 652, 653, 654,
- 655, 656, 657, 658, 659, 660, 638, 502, 508, 503,
+ 0, 0, 0, 0, 0, 0, 0, 0, 644, 645,
+ 646, 647, 648, 649, 650, 651, 652, 653, 654, 655,
+ 656, 657, 658, 659, 660, 661, 639, 502, 508, 503,
504, 505, 506, 507, 0, 509, 0, 0, 0, 0,
- 0, 395, 0, 585, 586, 661, 381, 482, 595, 334,
+ 0, 395, 0, 585, 586, 662, 381, 482, 595, 334,
346, 349, 339, 358, 0, 359, 335, 336, 341, 343,
344, 345, 350, 351, 355, 361, 248, 209, 387, 396,
- 572, 311, 215, 216, 217, 518, 519, 520, 521, 609,
- 610, 614, 204, 459, 460, 461, 462, 291, 604, 308,
+ 572, 311, 215, 216, 217, 518, 519, 520, 521, 610,
+ 611, 615, 204, 459, 460, 461, 462, 291, 605, 308,
465, 464, 330, 331, 376, 446, 534, 536, 547, 551,
553, 555, 561, 564, 535, 537, 548, 552, 554, 556,
562, 565, 524, 526, 528, 530, 543, 542, 539, 567,
568, 545, 550, 529, 541, 546, 559, 566, 563, 523,
527, 531, 540, 558, 557, 538, 549, 560, 544, 532,
- 525, 533, 0, 196, 220, 365, 0, 451, 287, 639,
- 608, 603, 205, 222, 0, 261, 0, 0, 0, 0,
+ 525, 533, 0, 196, 220, 365, 0, 451, 287, 640,
+ 609, 604, 205, 222, 0, 261, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 198, 200, 208,
221, 231, 235, 242, 260, 275, 277, 284, 297, 309,
@@ -6830,10 +6650,10 @@ var yyAct = [...]int{
407, 408, 411, 414, 415, 418, 420, 421, 424, 428,
432, 433, 434, 436, 438, 440, 452, 457, 471, 472,
473, 474, 475, 478, 479, 484, 485, 486, 487, 488,
- 496, 497, 510, 580, 582, 597, 615, 621, 477, 300,
- 301, 441, 442, 313, 314, 635, 636, 1435, 592, 622,
- 590, 634, 616, 435, 375, 0, 0, 378, 280, 304,
- 319, 0, 607, 498, 226, 463, 289, 250, 0, 0,
+ 496, 497, 510, 580, 582, 597, 616, 622, 477, 300,
+ 301, 441, 442, 313, 314, 636, 637, 299, 592, 623,
+ 590, 635, 617, 435, 375, 0, 0, 378, 280, 304,
+ 319, 0, 608, 498, 226, 463, 289, 250, 0, 0,
210, 245, 229, 258, 273, 276, 323, 388, 397, 426,
431, 295, 270, 243, 456, 240, 481, 513, 514, 515,
517, 392, 265, 430, 393, 0, 373, 570, 571, 315,
@@ -6844,14 +6664,14 @@ var yyAct = [...]int{
281, 272, 268, 249, 316, 382, 425, 512, 419, 0,
367, 0, 0, 493, 398, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 322, 247, 324, 202, 410, 494, 285, 0, 0, 0,
- 0, 0, 194, 0, 0, 0, 0, 0, 0, 0,
+ 322, 247, 324, 202, 410, 494, 285, 0, 95, 0,
+ 0, 0, 945, 0, 0, 0, 0, 0, 0, 0,
0, 0, 237, 0, 0, 244, 0, 0, 0, 348,
357, 356, 337, 338, 340, 342, 347, 354, 360, 0,
- 0, 0, 0, 0, 264, 320, 271, 263, 574, 0,
- 0, 0, 0, 0, 0, 0, 0, 228, 0, 0,
+ 0, 601, 0, 0, 0, 264, 320, 271, 263, 574,
+ 0, 0, 0, 0, 0, 0, 0, 0, 228, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 274, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 274, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -6859,144 +6679,144 @@ var yyAct = [...]int{
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 296, 0, 399, 256, 0, 450,
- 0, 0, 0, 618, 0, 0, 0, 0, 0, 0,
- 0, 362, 0, 329, 197, 224, 0, 0, 409, 458,
- 470, 0, 0, 0, 252, 0, 468, 423, 596, 232,
- 283, 455, 429, 466, 437, 286, 0, 0, 467, 369,
- 579, 447, 593, 619, 620, 262, 403, 605, 516, 613,
- 637, 225, 259, 417, 501, 599, 490, 394, 575, 576,
- 328, 489, 294, 201, 366, 625, 223, 476, 368, 241,
- 230, 581, 602, 298, 288, 453, 632, 212, 511, 591,
- 238, 480, 0, 0, 640, 246, 500, 214, 588, 499,
- 390, 325, 326, 213, 0, 454, 267, 292, 0, 0,
- 257, 412, 583, 584, 255, 641, 227, 612, 219, 0,
- 611, 405, 578, 589, 391, 380, 218, 587, 389, 379,
- 333, 352, 353, 279, 306, 444, 372, 445, 305, 307,
- 401, 400, 402, 206, 600, 0, 207, 0, 495, 601,
- 642, 449, 211, 233, 234, 236, 0, 278, 282, 290,
- 293, 302, 303, 312, 364, 416, 443, 439, 448, 0,
- 573, 594, 606, 617, 623, 624, 626, 627, 628, 629,
- 630, 633, 631, 404, 310, 491, 332, 370, 0, 0,
- 422, 469, 239, 598, 492, 199, 0, 0, 0, 0,
- 253, 254, 0, 569, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 643, 644, 645, 646, 647, 648, 649,
+ 0, 0, 0, 0, 0, 296, 0, 399, 256, 0,
+ 450, 0, 0, 0, 619, 0, 0, 0, 0, 0,
+ 0, 0, 362, 0, 329, 197, 224, 0, 0, 409,
+ 458, 470, 0, 0, 0, 252, 0, 468, 423, 596,
+ 232, 283, 455, 429, 466, 437, 286, 0, 0, 467,
+ 369, 579, 447, 593, 620, 621, 262, 403, 606, 516,
+ 614, 638, 225, 259, 417, 501, 599, 490, 394, 575,
+ 576, 328, 489, 294, 201, 366, 626, 223, 476, 368,
+ 241, 230, 581, 603, 298, 288, 453, 633, 212, 511,
+ 591, 238, 480, 0, 0, 641, 246, 500, 214, 588,
+ 499, 390, 325, 326, 213, 0, 454, 267, 292, 0,
+ 0, 257, 412, 583, 584, 255, 642, 227, 613, 219,
+ 0, 612, 405, 578, 589, 391, 380, 218, 587, 389,
+ 379, 333, 352, 353, 279, 306, 444, 372, 445, 305,
+ 307, 401, 400, 402, 206, 600, 0, 207, 0, 495,
+ 602, 643, 449, 211, 233, 234, 236, 0, 278, 282,
+ 290, 293, 302, 303, 312, 364, 416, 443, 439, 448,
+ 0, 573, 594, 607, 618, 624, 625, 627, 628, 629,
+ 630, 631, 634, 632, 404, 310, 491, 332, 370, 0,
+ 0, 422, 469, 239, 598, 492, 199, 0, 0, 0,
+ 0, 253, 254, 0, 569, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 644, 645, 646, 647, 648, 649,
650, 651, 652, 653, 654, 655, 656, 657, 658, 659,
- 660, 638, 502, 508, 503, 504, 505, 506, 507, 0,
- 509, 0, 0, 0, 0, 0, 395, 0, 585, 586,
- 661, 381, 482, 595, 334, 346, 349, 339, 358, 0,
- 359, 335, 336, 341, 343, 344, 345, 350, 351, 355,
- 361, 248, 209, 387, 396, 572, 311, 215, 216, 217,
- 518, 519, 520, 521, 609, 610, 614, 204, 459, 460,
- 461, 462, 291, 604, 308, 465, 464, 330, 331, 376,
- 446, 534, 536, 547, 551, 553, 555, 561, 564, 535,
- 537, 548, 552, 554, 556, 562, 565, 524, 526, 528,
- 530, 543, 542, 539, 567, 568, 545, 550, 529, 541,
- 546, 559, 566, 563, 523, 527, 531, 540, 558, 557,
- 538, 549, 560, 544, 532, 525, 533, 0, 196, 220,
- 365, 0, 451, 287, 639, 608, 603, 205, 222, 0,
- 261, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 1034, 0,
- 0, 0, 198, 200, 208, 221, 231, 235, 242, 260,
- 275, 277, 284, 297, 309, 317, 318, 321, 327, 377,
- 383, 384, 385, 386, 406, 407, 408, 411, 414, 415,
- 418, 420, 421, 424, 428, 432, 433, 434, 436, 438,
- 440, 452, 457, 471, 472, 473, 474, 475, 478, 479,
- 484, 485, 486, 487, 488, 496, 497, 510, 580, 582,
- 597, 615, 621, 477, 300, 301, 441, 442, 313, 314,
- 635, 636, 299, 592, 622, 590, 634, 616, 435, 375,
- 0, 0, 378, 280, 304, 319, 0, 607, 498, 226,
- 463, 289, 250, 0, 0, 210, 245, 229, 258, 273,
- 276, 323, 388, 397, 426, 431, 295, 270, 243, 456,
- 240, 481, 513, 514, 515, 517, 392, 265, 430, 393,
- 0, 373, 570, 571, 315, 0, 522, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 413, 0,
- 0, 0, 0, 0, 0, 0, 0, 269, 0, 0,
- 0, 0, 363, 266, 0, 0, 427, 0, 203, 0,
- 483, 251, 374, 371, 577, 281, 272, 268, 249, 316,
- 382, 425, 512, 419, 0, 367, 0, 0, 493, 398,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 322, 247, 324, 202, 410,
- 494, 285, 0, 0, 0, 0, 0, 194, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 237, 0, 0,
- 244, 0, 0, 0, 348, 357, 356, 337, 338, 340,
- 342, 347, 354, 360, 0, 0, 0, 0, 0, 264,
- 320, 271, 263, 574, 0, 0, 0, 0, 0, 0,
- 0, 0, 228, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 274, 0, 0,
+ 660, 661, 639, 502, 508, 503, 504, 505, 506, 507,
+ 0, 509, 0, 0, 0, 0, 0, 395, 0, 585,
+ 586, 662, 381, 482, 595, 334, 346, 349, 339, 358,
+ 0, 359, 335, 336, 341, 343, 344, 345, 350, 351,
+ 355, 361, 248, 209, 387, 396, 572, 311, 215, 216,
+ 217, 518, 519, 520, 521, 610, 611, 615, 204, 459,
+ 460, 461, 462, 291, 605, 308, 465, 464, 330, 331,
+ 376, 446, 534, 536, 547, 551, 553, 555, 561, 564,
+ 535, 537, 548, 552, 554, 556, 562, 565, 524, 526,
+ 528, 530, 543, 542, 539, 567, 568, 545, 550, 529,
+ 541, 546, 559, 566, 563, 523, 527, 531, 540, 558,
+ 557, 538, 549, 560, 544, 532, 525, 533, 0, 196,
+ 220, 365, 0, 451, 287, 640, 609, 604, 205, 222,
+ 0, 261, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 198, 200, 208, 221, 231, 235, 242,
+ 260, 275, 277, 284, 297, 309, 317, 318, 321, 327,
+ 377, 383, 384, 385, 386, 406, 407, 408, 411, 414,
+ 415, 418, 420, 421, 424, 428, 432, 433, 434, 436,
+ 438, 440, 452, 457, 471, 472, 473, 474, 475, 478,
+ 479, 484, 485, 486, 487, 488, 496, 497, 510, 580,
+ 582, 597, 616, 622, 477, 300, 301, 441, 442, 313,
+ 314, 636, 637, 299, 592, 623, 590, 635, 617, 435,
+ 375, 0, 0, 378, 280, 304, 319, 0, 608, 498,
+ 226, 463, 289, 250, 0, 0, 210, 245, 229, 258,
+ 273, 276, 323, 388, 397, 426, 431, 295, 270, 243,
+ 456, 240, 481, 513, 514, 515, 517, 392, 265, 430,
+ 393, 0, 373, 570, 571, 315, 0, 522, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 413,
+ 0, 0, 0, 0, 0, 0, 0, 0, 269, 0,
+ 0, 0, 0, 363, 266, 0, 0, 427, 0, 203,
+ 0, 483, 251, 374, 371, 577, 281, 272, 268, 249,
+ 316, 382, 425, 512, 419, 0, 367, 0, 0, 493,
+ 398, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 322, 247, 324, 202,
+ 410, 494, 285, 0, 0, 0, 0, 0, 194, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 237, 0,
+ 0, 244, 0, 0, 0, 348, 357, 356, 337, 338,
+ 340, 342, 347, 354, 360, 0, 0, 601, 0, 0,
+ 0, 264, 320, 271, 263, 574, 0, 0, 0, 0,
+ 0, 0, 0, 0, 228, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 274,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 296,
- 0, 399, 256, 0, 450, 0, 664, 0, 618, 0,
- 0, 0, 0, 0, 0, 0, 362, 0, 329, 197,
- 224, 0, 0, 409, 458, 470, 0, 0, 0, 252,
- 0, 468, 423, 596, 232, 283, 455, 429, 466, 437,
- 286, 0, 0, 467, 369, 579, 447, 593, 619, 620,
- 262, 403, 605, 516, 613, 637, 225, 259, 417, 501,
- 599, 490, 394, 575, 576, 328, 489, 294, 201, 366,
- 625, 223, 476, 368, 241, 230, 581, 602, 298, 288,
- 453, 632, 212, 511, 591, 238, 480, 0, 0, 640,
- 246, 500, 214, 588, 499, 390, 325, 326, 213, 0,
- 454, 267, 292, 0, 0, 257, 412, 583, 584, 255,
- 641, 227, 612, 219, 0, 611, 405, 578, 589, 391,
- 380, 218, 587, 389, 379, 333, 352, 353, 279, 306,
- 444, 372, 445, 305, 307, 401, 400, 402, 206, 600,
- 0, 207, 0, 495, 601, 642, 449, 211, 233, 234,
- 236, 0, 278, 282, 290, 293, 302, 303, 312, 364,
- 416, 443, 439, 448, 0, 573, 594, 606, 617, 623,
- 624, 626, 627, 628, 629, 630, 633, 631, 404, 310,
- 491, 332, 370, 0, 0, 422, 469, 239, 598, 492,
- 199, 0, 0, 0, 0, 253, 254, 0, 569, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 643, 644,
- 645, 646, 647, 648, 649, 650, 651, 652, 653, 654,
- 655, 656, 657, 658, 659, 660, 638, 502, 508, 503,
- 504, 505, 506, 507, 0, 509, 0, 0, 0, 0,
- 0, 395, 0, 585, 586, 661, 381, 482, 595, 334,
- 346, 349, 339, 358, 0, 359, 335, 336, 341, 343,
- 344, 345, 350, 351, 355, 361, 248, 209, 387, 396,
- 572, 311, 215, 216, 217, 518, 519, 520, 521, 609,
- 610, 614, 204, 459, 460, 461, 462, 291, 604, 308,
- 465, 464, 330, 331, 376, 446, 534, 536, 547, 551,
- 553, 555, 561, 564, 535, 537, 548, 552, 554, 556,
- 562, 565, 524, 526, 528, 530, 543, 542, 539, 567,
- 568, 545, 550, 529, 541, 546, 559, 566, 563, 523,
- 527, 531, 540, 558, 557, 538, 549, 560, 544, 532,
- 525, 533, 0, 196, 220, 365, 0, 451, 287, 639,
- 608, 603, 205, 222, 0, 261, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 198, 200, 208,
- 221, 231, 235, 242, 260, 275, 277, 284, 297, 309,
- 317, 318, 321, 327, 377, 383, 384, 385, 386, 406,
- 407, 408, 411, 414, 415, 418, 420, 421, 424, 428,
- 432, 433, 434, 436, 438, 440, 452, 457, 471, 472,
- 473, 474, 475, 478, 479, 484, 485, 486, 487, 488,
- 496, 497, 510, 580, 582, 597, 615, 621, 477, 300,
- 301, 441, 442, 313, 314, 635, 636, 299, 592, 622,
- 590, 634, 616, 435, 375, 0, 0, 378, 280, 304,
- 319, 0, 607, 498, 226, 463, 289, 250, 0, 0,
- 210, 245, 229, 258, 273, 276, 323, 388, 397, 426,
- 431, 295, 270, 243, 456, 240, 481, 513, 514, 515,
- 517, 392, 265, 430, 393, 0, 373, 570, 571, 315,
- 0, 522, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 413, 0, 0, 0, 0, 0, 0,
- 0, 0, 269, 0, 0, 0, 0, 363, 266, 0,
- 0, 427, 0, 203, 0, 483, 251, 374, 371, 577,
- 281, 272, 268, 249, 316, 382, 425, 512, 419, 0,
- 367, 0, 0, 493, 398, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 1437,
+ 0, 296, 0, 399, 256, 0, 450, 0, 0, 0,
+ 619, 0, 0, 0, 0, 0, 0, 0, 362, 0,
+ 329, 197, 224, 0, 0, 409, 458, 470, 0, 0,
+ 0, 252, 0, 468, 423, 596, 232, 283, 455, 429,
+ 466, 437, 286, 0, 0, 467, 369, 579, 447, 593,
+ 620, 621, 262, 403, 606, 516, 614, 638, 225, 259,
+ 417, 501, 599, 490, 394, 575, 576, 328, 489, 294,
+ 201, 366, 626, 223, 476, 368, 241, 230, 581, 603,
+ 298, 288, 453, 633, 212, 511, 591, 238, 480, 0,
+ 0, 641, 246, 500, 214, 588, 499, 390, 325, 326,
+ 213, 0, 454, 267, 292, 0, 0, 257, 412, 583,
+ 584, 255, 642, 227, 613, 219, 0, 612, 405, 578,
+ 589, 391, 380, 218, 587, 389, 379, 333, 352, 353,
+ 279, 306, 444, 372, 445, 305, 307, 401, 400, 402,
+ 206, 600, 0, 207, 0, 495, 602, 643, 449, 211,
+ 233, 234, 236, 0, 278, 282, 290, 293, 302, 303,
+ 312, 364, 416, 443, 439, 448, 0, 573, 594, 607,
+ 618, 624, 625, 627, 628, 629, 630, 631, 634, 632,
+ 404, 310, 491, 332, 370, 0, 0, 422, 469, 239,
+ 598, 492, 199, 0, 0, 0, 0, 253, 254, 0,
+ 569, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 644, 645, 646, 647, 648, 649, 650, 651, 652, 653,
+ 654, 655, 656, 657, 658, 659, 660, 661, 639, 502,
+ 508, 503, 504, 505, 506, 507, 0, 509, 0, 0,
+ 0, 0, 0, 395, 0, 585, 586, 662, 381, 482,
+ 595, 334, 346, 349, 339, 358, 0, 359, 335, 336,
+ 341, 343, 344, 345, 350, 351, 355, 361, 248, 209,
+ 387, 396, 572, 311, 215, 216, 217, 518, 519, 520,
+ 521, 610, 611, 615, 204, 459, 460, 461, 462, 291,
+ 605, 308, 465, 464, 330, 331, 376, 446, 534, 536,
+ 547, 551, 553, 555, 561, 564, 535, 537, 548, 552,
+ 554, 556, 562, 565, 524, 526, 528, 530, 543, 542,
+ 539, 567, 568, 545, 550, 529, 541, 546, 559, 566,
+ 563, 523, 527, 531, 540, 558, 557, 538, 549, 560,
+ 544, 532, 525, 533, 0, 196, 220, 365, 0, 451,
+ 287, 640, 609, 604, 205, 222, 0, 261, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 322, 247, 324, 202, 410, 494, 285, 0, 0, 0,
- 0, 0, 711, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 237, 0, 0, 244, 0, 0, 0, 348,
- 357, 356, 337, 338, 340, 342, 347, 354, 360, 0,
- 0, 0, 0, 0, 264, 320, 271, 263, 574, 0,
- 0, 0, 0, 0, 0, 0, 0, 228, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 198,
+ 200, 208, 221, 231, 235, 242, 260, 275, 277, 284,
+ 297, 309, 317, 318, 321, 327, 377, 383, 384, 385,
+ 386, 406, 407, 408, 411, 414, 415, 418, 420, 421,
+ 424, 428, 432, 433, 434, 436, 438, 440, 452, 457,
+ 471, 472, 473, 474, 475, 478, 479, 484, 485, 486,
+ 487, 488, 496, 497, 510, 580, 582, 597, 616, 622,
+ 477, 300, 301, 441, 442, 313, 314, 636, 637, 1436,
+ 592, 623, 590, 635, 617, 435, 375, 0, 0, 378,
+ 280, 304, 319, 0, 608, 498, 226, 463, 289, 250,
+ 0, 0, 210, 245, 229, 258, 273, 276, 323, 388,
+ 397, 426, 431, 295, 270, 243, 456, 240, 481, 513,
+ 514, 515, 517, 392, 265, 430, 393, 0, 373, 570,
+ 571, 315, 0, 522, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 413, 0, 0, 0, 0,
+ 0, 0, 0, 0, 269, 0, 0, 0, 0, 363,
+ 266, 0, 0, 427, 0, 203, 0, 483, 251, 374,
+ 371, 577, 281, 272, 268, 249, 316, 382, 425, 512,
+ 419, 0, 367, 0, 0, 493, 398, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 274, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 322, 247, 324, 202, 410, 494, 285, 0,
+ 0, 0, 0, 0, 194, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 237, 0, 0, 244, 0, 0,
+ 0, 348, 357, 356, 337, 338, 340, 342, 347, 354,
+ 360, 0, 0, 601, 0, 0, 0, 264, 320, 271,
+ 263, 574, 0, 0, 0, 0, 0, 0, 0, 0,
+ 228, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 274, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -7004,68 +6824,141 @@ var yyAct = [...]int{
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 296, 0, 399, 256, 0, 450,
- 0, 0, 0, 618, 0, 0, 0, 0, 0, 0,
- 0, 362, 0, 329, 197, 224, 0, 0, 409, 458,
- 470, 0, 0, 0, 252, 0, 468, 423, 596, 232,
- 283, 455, 429, 466, 437, 286, 0, 0, 467, 369,
- 579, 447, 593, 619, 620, 262, 403, 605, 516, 613,
- 637, 225, 259, 417, 501, 599, 490, 394, 575, 576,
- 328, 489, 294, 201, 366, 625, 223, 476, 368, 241,
- 230, 581, 602, 298, 288, 453, 632, 212, 511, 591,
- 238, 480, 0, 0, 640, 246, 500, 214, 588, 499,
- 390, 325, 326, 213, 0, 454, 267, 292, 0, 0,
- 257, 412, 583, 584, 255, 641, 227, 612, 219, 0,
- 611, 405, 578, 589, 391, 380, 218, 587, 389, 379,
- 333, 352, 353, 279, 306, 444, 372, 445, 305, 307,
- 401, 400, 402, 206, 600, 0, 207, 0, 495, 601,
- 642, 449, 211, 233, 234, 236, 0, 278, 282, 290,
- 293, 302, 303, 312, 364, 416, 443, 439, 448, 0,
- 573, 594, 606, 617, 623, 624, 626, 627, 628, 629,
- 630, 633, 631, 404, 310, 491, 332, 370, 0, 0,
- 422, 469, 239, 598, 492, 199, 0, 0, 0, 0,
- 253, 254, 0, 569, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 643, 644, 645, 646, 647, 648, 649,
- 650, 651, 652, 653, 654, 655, 656, 657, 658, 659,
- 660, 638, 502, 508, 503, 504, 505, 506, 507, 0,
- 509, 0, 0, 0, 0, 0, 395, 0, 585, 586,
- 661, 381, 482, 595, 334, 346, 349, 339, 358, 0,
- 359, 335, 336, 341, 343, 344, 345, 350, 351, 355,
- 361, 248, 209, 387, 396, 572, 311, 215, 216, 217,
- 518, 519, 520, 521, 609, 610, 614, 204, 459, 460,
- 461, 462, 291, 604, 308, 465, 464, 330, 331, 376,
- 446, 534, 536, 547, 551, 553, 555, 561, 564, 535,
- 537, 548, 552, 554, 556, 562, 565, 524, 526, 528,
- 530, 543, 542, 539, 567, 568, 545, 550, 529, 541,
- 546, 559, 566, 563, 523, 527, 531, 540, 558, 557,
- 538, 549, 560, 544, 532, 525, 533, 0, 196, 220,
- 365, 0, 451, 287, 639, 608, 603, 205, 222, 0,
- 261, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 198, 200, 208, 221, 231, 235, 242, 260,
- 275, 277, 284, 297, 309, 317, 318, 321, 327, 377,
- 383, 384, 385, 386, 4079, 407, 408, 411, 414, 415,
- 418, 420, 421, 424, 428, 432, 433, 434, 436, 438,
- 440, 452, 457, 471, 472, 473, 474, 475, 478, 479,
- 484, 485, 486, 487, 488, 496, 497, 510, 580, 582,
- 597, 615, 621, 477, 300, 301, 441, 442, 313, 314,
- 635, 636, 299, 592, 622, 590, 634, 616, 435, 375,
- 0, 0, 378, 280, 304, 319, 0, 607, 498, 226,
- 463, 289, 250, 0, 0, 210, 245, 229, 258, 273,
- 276, 323, 388, 397, 426, 431, 295, 270, 243, 456,
- 240, 481, 513, 514, 515, 517, 392, 265, 430, 393,
- 0, 373, 570, 571, 315, 0, 522, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 413, 0,
- 0, 0, 0, 0, 0, 0, 0, 269, 0, 0,
- 0, 0, 363, 266, 0, 0, 427, 0, 203, 0,
- 483, 251, 374, 371, 577, 281, 272, 268, 249, 316,
- 382, 425, 512, 419, 0, 367, 0, 0, 493, 398,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 322, 247, 324, 202, 410,
- 494, 285, 0, 0, 0, 0, 0, 711, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 237, 0, 0,
- 244, 0, 0, 0, 348, 357, 356, 337, 338, 340,
- 342, 347, 354, 360, 0, 0, 0, 0, 0, 264,
+ 0, 0, 0, 0, 0, 0, 0, 296, 0, 399,
+ 256, 0, 450, 0, 0, 0, 619, 0, 0, 0,
+ 0, 0, 0, 0, 362, 0, 329, 197, 224, 0,
+ 0, 409, 458, 470, 0, 0, 0, 252, 0, 468,
+ 423, 596, 232, 283, 455, 429, 466, 437, 286, 0,
+ 0, 467, 369, 579, 447, 593, 620, 621, 262, 403,
+ 606, 516, 614, 638, 225, 259, 417, 501, 599, 490,
+ 394, 575, 576, 328, 489, 294, 201, 366, 626, 223,
+ 476, 368, 241, 230, 581, 603, 298, 288, 453, 633,
+ 212, 511, 591, 238, 480, 0, 0, 641, 246, 500,
+ 214, 588, 499, 390, 325, 326, 213, 0, 454, 267,
+ 292, 0, 0, 257, 412, 583, 584, 255, 642, 227,
+ 613, 219, 0, 612, 405, 578, 589, 391, 380, 218,
+ 587, 389, 379, 333, 352, 353, 279, 306, 444, 372,
+ 445, 305, 307, 401, 400, 402, 206, 600, 0, 207,
+ 0, 495, 602, 643, 449, 211, 233, 234, 236, 0,
+ 278, 282, 290, 293, 302, 303, 312, 364, 416, 443,
+ 439, 448, 0, 573, 594, 607, 618, 624, 625, 627,
+ 628, 629, 630, 631, 634, 632, 404, 310, 491, 332,
+ 370, 0, 0, 422, 469, 239, 598, 492, 199, 0,
+ 0, 0, 0, 253, 254, 0, 569, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 644, 645, 646, 647,
+ 648, 649, 650, 651, 652, 653, 654, 655, 656, 657,
+ 658, 659, 660, 661, 639, 502, 508, 503, 504, 505,
+ 506, 507, 0, 509, 0, 0, 0, 0, 0, 395,
+ 0, 585, 586, 662, 381, 482, 595, 334, 346, 349,
+ 339, 358, 0, 359, 335, 336, 341, 343, 344, 345,
+ 350, 351, 355, 361, 248, 209, 387, 396, 572, 311,
+ 215, 216, 217, 518, 519, 520, 521, 610, 611, 615,
+ 204, 459, 460, 461, 462, 291, 605, 308, 465, 464,
+ 330, 331, 376, 446, 534, 536, 547, 551, 553, 555,
+ 561, 564, 535, 537, 548, 552, 554, 556, 562, 565,
+ 524, 526, 528, 530, 543, 542, 539, 567, 568, 545,
+ 550, 529, 541, 546, 559, 566, 563, 523, 527, 531,
+ 540, 558, 557, 538, 549, 560, 544, 532, 525, 533,
+ 0, 196, 220, 365, 0, 451, 287, 640, 609, 604,
+ 205, 222, 0, 261, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 1035, 0, 0, 0, 198, 200, 208, 221, 231,
+ 235, 242, 260, 275, 277, 284, 297, 309, 317, 318,
+ 321, 327, 377, 383, 384, 385, 386, 406, 407, 408,
+ 411, 414, 415, 418, 420, 421, 424, 428, 432, 433,
+ 434, 436, 438, 440, 452, 457, 471, 472, 473, 474,
+ 475, 478, 479, 484, 485, 486, 487, 488, 496, 497,
+ 510, 580, 582, 597, 616, 622, 477, 300, 301, 441,
+ 442, 313, 314, 636, 637, 299, 592, 623, 590, 635,
+ 617, 435, 375, 0, 0, 378, 280, 304, 319, 0,
+ 608, 498, 226, 463, 289, 250, 0, 0, 210, 245,
+ 229, 258, 273, 276, 323, 388, 397, 426, 431, 295,
+ 270, 243, 456, 240, 481, 513, 514, 515, 517, 392,
+ 265, 430, 393, 0, 373, 570, 571, 315, 0, 522,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 413, 0, 0, 0, 0, 0, 0, 0, 0,
+ 269, 0, 0, 0, 0, 363, 266, 0, 0, 427,
+ 0, 203, 0, 483, 251, 374, 371, 577, 281, 272,
+ 268, 249, 316, 382, 425, 512, 419, 0, 367, 0,
+ 0, 493, 398, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 322, 247,
+ 324, 202, 410, 494, 285, 0, 0, 0, 0, 0,
+ 194, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 237, 0, 0, 244, 0, 0, 0, 348, 357, 356,
+ 337, 338, 340, 342, 347, 354, 360, 0, 0, 601,
+ 0, 0, 0, 264, 320, 271, 263, 574, 0, 0,
+ 0, 0, 0, 0, 0, 0, 228, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 274, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 296, 0, 399, 256, 0, 450, 0,
+ 665, 0, 619, 0, 0, 0, 0, 0, 0, 0,
+ 362, 0, 329, 197, 224, 0, 0, 409, 458, 470,
+ 0, 0, 0, 252, 0, 468, 423, 596, 232, 283,
+ 455, 429, 466, 437, 286, 0, 0, 467, 369, 579,
+ 447, 593, 620, 621, 262, 403, 606, 516, 614, 638,
+ 225, 259, 417, 501, 599, 490, 394, 575, 576, 328,
+ 489, 294, 201, 366, 626, 223, 476, 368, 241, 230,
+ 581, 603, 298, 288, 453, 633, 212, 511, 591, 238,
+ 480, 0, 0, 641, 246, 500, 214, 588, 499, 390,
+ 325, 326, 213, 0, 454, 267, 292, 0, 0, 257,
+ 412, 583, 584, 255, 642, 227, 613, 219, 0, 612,
+ 405, 578, 589, 391, 380, 218, 587, 389, 379, 333,
+ 352, 353, 279, 306, 444, 372, 445, 305, 307, 401,
+ 400, 402, 206, 600, 0, 207, 0, 495, 602, 643,
+ 449, 211, 233, 234, 236, 0, 278, 282, 290, 293,
+ 302, 303, 312, 364, 416, 443, 439, 448, 0, 573,
+ 594, 607, 618, 624, 625, 627, 628, 629, 630, 631,
+ 634, 632, 404, 310, 491, 332, 370, 0, 0, 422,
+ 469, 239, 598, 492, 199, 0, 0, 0, 0, 253,
+ 254, 0, 569, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 644, 645, 646, 647, 648, 649, 650, 651,
+ 652, 653, 654, 655, 656, 657, 658, 659, 660, 661,
+ 639, 502, 508, 503, 504, 505, 506, 507, 0, 509,
+ 0, 0, 0, 0, 0, 395, 0, 585, 586, 662,
+ 381, 482, 595, 334, 346, 349, 339, 358, 0, 359,
+ 335, 336, 341, 343, 344, 345, 350, 351, 355, 361,
+ 248, 209, 387, 396, 572, 311, 215, 216, 217, 518,
+ 519, 520, 521, 610, 611, 615, 204, 459, 460, 461,
+ 462, 291, 605, 308, 465, 464, 330, 331, 376, 446,
+ 534, 536, 547, 551, 553, 555, 561, 564, 535, 537,
+ 548, 552, 554, 556, 562, 565, 524, 526, 528, 530,
+ 543, 542, 539, 567, 568, 545, 550, 529, 541, 546,
+ 559, 566, 563, 523, 527, 531, 540, 558, 557, 538,
+ 549, 560, 544, 532, 525, 533, 0, 196, 220, 365,
+ 0, 451, 287, 640, 609, 604, 205, 222, 0, 261,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 198, 200, 208, 221, 231, 235, 242, 260, 275,
+ 277, 284, 297, 309, 317, 318, 321, 327, 377, 383,
+ 384, 385, 386, 406, 407, 408, 411, 414, 415, 418,
+ 420, 421, 424, 428, 432, 433, 434, 436, 438, 440,
+ 452, 457, 471, 472, 473, 474, 475, 478, 479, 484,
+ 485, 486, 487, 488, 496, 497, 510, 580, 582, 597,
+ 616, 622, 477, 300, 301, 441, 442, 313, 314, 636,
+ 637, 299, 592, 623, 590, 635, 617, 435, 375, 0,
+ 0, 378, 280, 304, 319, 0, 608, 498, 226, 463,
+ 289, 250, 0, 0, 210, 245, 229, 258, 273, 276,
+ 323, 388, 397, 426, 431, 295, 270, 243, 456, 240,
+ 481, 513, 514, 515, 517, 392, 265, 430, 393, 0,
+ 373, 570, 571, 315, 0, 522, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 413, 0, 0,
+ 0, 0, 0, 0, 0, 0, 269, 0, 0, 0,
+ 0, 363, 266, 0, 0, 427, 0, 203, 0, 483,
+ 251, 374, 371, 577, 281, 272, 268, 249, 316, 382,
+ 425, 512, 419, 0, 367, 0, 0, 493, 398, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 322, 247, 324, 202, 410, 494,
+ 285, 0, 0, 0, 0, 0, 712, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 237, 0, 0, 244,
+ 0, 0, 0, 348, 357, 356, 337, 338, 340, 342,
+ 347, 354, 360, 0, 0, 601, 0, 0, 0, 264,
320, 271, 263, 574, 0, 0, 0, 0, 0, 0,
0, 0, 228, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 274, 0, 0,
@@ -7077,53 +6970,53 @@ var yyAct = [...]int{
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 296,
- 0, 399, 256, 0, 450, 0, 0, 0, 618, 0,
+ 0, 399, 256, 0, 450, 0, 0, 0, 619, 0,
0, 0, 0, 0, 0, 0, 362, 0, 329, 197,
224, 0, 0, 409, 458, 470, 0, 0, 0, 252,
0, 468, 423, 596, 232, 283, 455, 429, 466, 437,
- 286, 0, 0, 467, 369, 579, 447, 593, 619, 620,
- 262, 403, 605, 516, 613, 637, 225, 259, 417, 501,
+ 286, 0, 0, 467, 369, 579, 447, 593, 620, 621,
+ 262, 403, 606, 516, 614, 638, 225, 259, 417, 501,
599, 490, 394, 575, 576, 328, 489, 294, 201, 366,
- 625, 223, 476, 368, 241, 230, 581, 602, 298, 288,
- 453, 632, 212, 511, 591, 238, 480, 0, 0, 640,
+ 626, 223, 476, 368, 241, 230, 581, 603, 298, 288,
+ 453, 633, 212, 511, 591, 238, 480, 0, 0, 641,
246, 500, 214, 588, 499, 390, 325, 326, 213, 0,
454, 267, 292, 0, 0, 257, 412, 583, 584, 255,
- 641, 227, 612, 219, 0, 611, 405, 578, 589, 391,
+ 642, 227, 613, 219, 0, 612, 405, 578, 589, 391,
380, 218, 587, 389, 379, 333, 352, 353, 279, 306,
444, 372, 445, 305, 307, 401, 400, 402, 206, 600,
- 0, 207, 0, 495, 601, 642, 449, 211, 233, 234,
+ 0, 207, 0, 495, 602, 643, 449, 211, 233, 234,
236, 0, 278, 282, 290, 293, 302, 303, 312, 364,
- 416, 443, 439, 448, 0, 573, 594, 606, 617, 623,
- 624, 626, 627, 628, 629, 630, 633, 631, 404, 310,
+ 416, 443, 439, 448, 0, 573, 594, 607, 618, 624,
+ 625, 627, 628, 629, 630, 631, 634, 632, 404, 310,
491, 332, 370, 0, 0, 422, 469, 239, 598, 492,
199, 0, 0, 0, 0, 253, 254, 0, 569, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 643, 644,
- 645, 646, 647, 648, 649, 650, 651, 652, 653, 654,
- 655, 656, 657, 658, 659, 660, 638, 502, 508, 503,
+ 0, 0, 0, 0, 0, 0, 0, 0, 644, 645,
+ 646, 647, 648, 649, 650, 651, 652, 653, 654, 655,
+ 656, 657, 658, 659, 660, 661, 639, 502, 508, 503,
504, 505, 506, 507, 0, 509, 0, 0, 0, 0,
- 0, 395, 0, 585, 586, 661, 381, 482, 595, 334,
+ 0, 395, 0, 585, 586, 662, 381, 482, 595, 334,
346, 349, 339, 358, 0, 359, 335, 336, 341, 343,
344, 345, 350, 351, 355, 361, 248, 209, 387, 396,
- 572, 311, 215, 216, 217, 518, 519, 520, 521, 609,
- 610, 614, 204, 459, 460, 461, 462, 291, 604, 308,
+ 572, 311, 215, 216, 217, 518, 519, 520, 521, 610,
+ 611, 615, 204, 459, 460, 461, 462, 291, 605, 308,
465, 464, 330, 331, 376, 446, 534, 536, 547, 551,
553, 555, 561, 564, 535, 537, 548, 552, 554, 556,
562, 565, 524, 526, 528, 530, 543, 542, 539, 567,
568, 545, 550, 529, 541, 546, 559, 566, 563, 523,
527, 531, 540, 558, 557, 538, 549, 560, 544, 532,
- 525, 533, 0, 196, 220, 365, 0, 451, 287, 639,
- 608, 603, 205, 222, 0, 261, 0, 0, 0, 0,
+ 525, 533, 0, 196, 220, 365, 0, 451, 287, 640,
+ 609, 604, 205, 222, 0, 261, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 198, 200, 208,
221, 231, 235, 242, 260, 275, 277, 284, 297, 309,
- 317, 318, 321, 327, 377, 383, 384, 385, 386, 406,
+ 317, 318, 321, 327, 377, 383, 384, 385, 386, 4082,
407, 408, 411, 414, 415, 418, 420, 421, 424, 428,
432, 433, 434, 436, 438, 440, 452, 457, 471, 472,
473, 474, 475, 478, 479, 484, 485, 486, 487, 488,
- 496, 497, 510, 580, 582, 597, 615, 621, 477, 300,
- 301, 441, 442, 313, 314, 635, 636, 299, 592, 622,
- 590, 634, 616, 435, 375, 0, 0, 378, 280, 304,
- 319, 0, 607, 498, 226, 463, 289, 250, 0, 0,
+ 496, 497, 510, 580, 582, 597, 616, 622, 477, 300,
+ 301, 441, 442, 313, 314, 636, 637, 299, 592, 623,
+ 590, 635, 617, 435, 375, 0, 0, 378, 280, 304,
+ 319, 0, 608, 498, 226, 463, 289, 250, 0, 0,
210, 245, 229, 258, 273, 276, 323, 388, 397, 426,
431, 295, 270, 243, 456, 240, 481, 513, 514, 515,
517, 392, 265, 430, 393, 0, 373, 570, 571, 315,
@@ -7135,13 +7028,13 @@ var yyAct = [...]int{
367, 0, 0, 493, 398, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
322, 247, 324, 202, 410, 494, 285, 0, 0, 0,
- 0, 0, 944, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 712, 0, 0, 0, 0, 0, 0, 0,
0, 0, 237, 0, 0, 244, 0, 0, 0, 348,
357, 356, 337, 338, 340, 342, 347, 354, 360, 0,
- 0, 0, 0, 0, 264, 320, 271, 263, 574, 0,
- 0, 0, 0, 0, 0, 0, 0, 228, 0, 0,
+ 0, 601, 0, 0, 0, 264, 320, 271, 263, 574,
+ 0, 0, 0, 0, 0, 0, 0, 0, 228, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 274, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 274, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -7149,152 +7042,225 @@ var yyAct = [...]int{
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 296, 0, 399, 256, 0, 450,
- 0, 0, 0, 618, 0, 0, 0, 0, 0, 0,
- 0, 362, 0, 329, 197, 224, 0, 0, 409, 458,
- 470, 0, 0, 0, 252, 0, 468, 423, 596, 232,
- 283, 455, 429, 466, 437, 286, 0, 0, 467, 369,
- 579, 447, 593, 619, 620, 262, 403, 605, 516, 613,
- 637, 225, 259, 417, 501, 599, 490, 394, 575, 576,
- 328, 489, 294, 201, 366, 625, 223, 476, 368, 241,
- 230, 581, 602, 298, 288, 453, 632, 212, 511, 591,
- 238, 480, 0, 0, 640, 246, 500, 214, 588, 499,
- 390, 325, 326, 213, 0, 454, 267, 292, 0, 0,
- 257, 412, 583, 584, 255, 641, 227, 612, 219, 0,
- 611, 405, 578, 589, 391, 380, 218, 587, 389, 379,
- 333, 352, 353, 279, 306, 444, 372, 445, 305, 307,
- 401, 400, 402, 206, 600, 0, 207, 0, 495, 601,
- 642, 449, 211, 233, 234, 236, 0, 278, 282, 290,
- 293, 302, 303, 312, 364, 416, 443, 439, 448, 0,
- 573, 594, 606, 617, 623, 624, 626, 627, 628, 629,
- 630, 633, 631, 404, 310, 491, 332, 370, 0, 0,
- 422, 469, 239, 598, 492, 199, 0, 0, 0, 0,
- 253, 254, 0, 569, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 643, 644, 645, 646, 647, 648, 649,
+ 0, 0, 0, 0, 0, 296, 0, 399, 256, 0,
+ 450, 0, 0, 0, 619, 0, 0, 0, 0, 0,
+ 0, 0, 362, 0, 329, 197, 224, 0, 0, 409,
+ 458, 470, 0, 0, 0, 252, 0, 468, 423, 596,
+ 232, 283, 455, 429, 466, 437, 286, 0, 0, 467,
+ 369, 579, 447, 593, 620, 621, 262, 403, 606, 516,
+ 614, 638, 225, 259, 417, 501, 599, 490, 394, 575,
+ 576, 328, 489, 294, 201, 366, 626, 223, 476, 368,
+ 241, 230, 581, 603, 298, 288, 453, 633, 212, 511,
+ 591, 238, 480, 0, 0, 641, 246, 500, 214, 588,
+ 499, 390, 325, 326, 213, 0, 454, 267, 292, 0,
+ 0, 257, 412, 583, 584, 255, 642, 227, 613, 219,
+ 0, 612, 405, 578, 589, 391, 380, 218, 587, 389,
+ 379, 333, 352, 353, 279, 306, 444, 372, 445, 305,
+ 307, 401, 400, 402, 206, 600, 0, 207, 0, 495,
+ 602, 643, 449, 211, 233, 234, 236, 0, 278, 282,
+ 290, 293, 302, 303, 312, 364, 416, 443, 439, 448,
+ 0, 573, 594, 607, 618, 624, 625, 627, 628, 629,
+ 630, 631, 634, 632, 404, 310, 491, 332, 370, 0,
+ 0, 422, 469, 239, 598, 492, 199, 0, 0, 0,
+ 0, 253, 254, 0, 569, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 644, 645, 646, 647, 648, 649,
650, 651, 652, 653, 654, 655, 656, 657, 658, 659,
- 660, 638, 502, 508, 503, 504, 505, 506, 507, 0,
- 509, 0, 0, 0, 0, 0, 395, 0, 585, 586,
- 661, 381, 482, 595, 334, 346, 349, 339, 358, 0,
- 359, 335, 336, 341, 343, 344, 345, 350, 351, 355,
- 361, 248, 209, 387, 396, 572, 311, 215, 216, 217,
- 518, 519, 520, 521, 609, 610, 614, 204, 459, 460,
- 461, 462, 291, 604, 308, 465, 464, 330, 331, 376,
- 446, 534, 536, 547, 551, 553, 555, 561, 564, 535,
- 537, 548, 552, 554, 556, 562, 565, 524, 526, 528,
- 530, 543, 542, 539, 567, 568, 545, 550, 529, 541,
- 546, 559, 566, 563, 523, 527, 531, 540, 558, 557,
- 538, 549, 560, 544, 532, 525, 533, 0, 196, 220,
- 365, 0, 451, 287, 639, 608, 603, 205, 222, 0,
- 261, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 198, 200, 208, 221, 231, 235, 242, 260,
- 275, 277, 284, 297, 309, 317, 318, 321, 327, 377,
- 383, 384, 385, 386, 406, 407, 408, 411, 414, 415,
- 418, 420, 421, 424, 428, 432, 433, 434, 436, 438,
- 440, 452, 457, 471, 472, 473, 474, 475, 478, 479,
- 484, 485, 486, 487, 488, 496, 497, 510, 580, 582,
- 597, 615, 621, 477, 300, 301, 441, 442, 313, 314,
- 635, 636, 299, 592, 622, 590, 634, 616, 435, 375,
- 0, 0, 378, 280, 304, 319, 0, 607, 498, 226,
- 463, 289, 250, 0, 0, 210, 245, 229, 258, 273,
- 276, 323, 388, 397, 426, 431, 295, 270, 243, 456,
- 240, 481, 513, 514, 515, 517, 392, 265, 430, 393,
- 0, 373, 570, 571, 315, 0, 522, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 413, 0,
- 0, 0, 0, 0, 0, 0, 0, 269, 0, 0,
- 0, 0, 363, 266, 0, 0, 427, 0, 203, 0,
- 483, 251, 374, 371, 577, 281, 272, 268, 249, 316,
- 382, 425, 512, 419, 0, 367, 0, 0, 493, 398,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 322, 247, 324, 202, 410,
- 494, 285, 0, 0, 0, 0, 0, 194, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 237, 0, 0,
- 244, 0, 0, 0, 348, 357, 356, 337, 338, 340,
- 342, 347, 354, 360, 0, 0, 0, 0, 0, 264,
- 320, 271, 263, 574, 0, 0, 0, 0, 0, 0,
- 0, 0, 228, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 274, 0, 0,
+ 660, 661, 639, 502, 508, 503, 504, 505, 506, 507,
+ 0, 509, 0, 0, 0, 0, 0, 395, 0, 585,
+ 586, 662, 381, 482, 595, 334, 346, 349, 339, 358,
+ 0, 359, 335, 336, 341, 343, 344, 345, 350, 351,
+ 355, 361, 248, 209, 387, 396, 572, 311, 215, 216,
+ 217, 518, 519, 520, 521, 610, 611, 615, 204, 459,
+ 460, 461, 462, 291, 605, 308, 465, 464, 330, 331,
+ 376, 446, 534, 536, 547, 551, 553, 555, 561, 564,
+ 535, 537, 548, 552, 554, 556, 562, 565, 524, 526,
+ 528, 530, 543, 542, 539, 567, 568, 545, 550, 529,
+ 541, 546, 559, 566, 563, 523, 527, 531, 540, 558,
+ 557, 538, 549, 560, 544, 532, 525, 533, 0, 196,
+ 220, 365, 0, 451, 287, 640, 609, 604, 205, 222,
+ 0, 261, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 198, 200, 208, 221, 231, 235, 242,
+ 260, 275, 277, 284, 297, 309, 317, 318, 321, 327,
+ 377, 383, 384, 385, 386, 406, 407, 408, 411, 414,
+ 415, 418, 420, 421, 424, 428, 432, 433, 434, 436,
+ 438, 440, 452, 457, 471, 472, 473, 474, 475, 478,
+ 479, 484, 485, 486, 487, 488, 496, 497, 510, 580,
+ 582, 597, 616, 622, 477, 300, 301, 441, 442, 313,
+ 314, 636, 637, 299, 592, 623, 590, 635, 617, 435,
+ 375, 0, 0, 378, 280, 304, 319, 0, 608, 498,
+ 226, 463, 289, 250, 0, 0, 210, 245, 229, 258,
+ 273, 276, 323, 388, 397, 426, 431, 295, 270, 243,
+ 456, 240, 481, 513, 514, 515, 517, 392, 265, 430,
+ 393, 0, 373, 570, 571, 315, 0, 522, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 413,
+ 0, 0, 0, 0, 0, 0, 0, 0, 269, 0,
+ 0, 0, 0, 363, 266, 0, 0, 427, 0, 203,
+ 0, 483, 251, 374, 371, 577, 281, 272, 268, 249,
+ 316, 382, 425, 512, 419, 0, 367, 0, 0, 493,
+ 398, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 322, 247, 324, 202,
+ 410, 494, 285, 0, 0, 0, 0, 0, 945, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 237, 0,
+ 0, 244, 0, 0, 0, 348, 357, 356, 337, 338,
+ 340, 342, 347, 354, 360, 0, 0, 601, 0, 0,
+ 0, 264, 320, 271, 263, 574, 0, 0, 0, 0,
+ 0, 0, 0, 0, 228, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 274,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 296,
- 0, 399, 256, 0, 450, 0, 0, 0, 618, 0,
- 0, 0, 0, 0, 0, 0, 362, 0, 329, 197,
- 224, 0, 0, 409, 458, 470, 0, 0, 0, 252,
- 0, 468, 423, 596, 232, 283, 455, 429, 466, 437,
- 286, 0, 0, 467, 369, 579, 447, 593, 619, 620,
- 262, 403, 605, 516, 613, 637, 225, 259, 417, 501,
- 599, 490, 394, 575, 576, 328, 489, 294, 201, 366,
- 625, 223, 476, 368, 241, 230, 581, 602, 298, 288,
- 453, 632, 212, 511, 591, 238, 480, 0, 0, 640,
- 246, 500, 214, 588, 499, 390, 325, 326, 213, 0,
- 454, 267, 292, 0, 0, 257, 412, 583, 584, 255,
- 641, 227, 612, 219, 0, 611, 405, 578, 589, 391,
- 380, 218, 587, 389, 379, 333, 352, 353, 279, 306,
- 444, 372, 445, 305, 307, 401, 400, 402, 206, 600,
- 0, 207, 0, 495, 601, 642, 449, 211, 233, 234,
- 236, 0, 278, 282, 290, 293, 302, 303, 312, 364,
- 416, 443, 439, 448, 0, 573, 594, 606, 617, 623,
- 624, 626, 627, 628, 629, 630, 633, 631, 404, 310,
- 491, 332, 370, 0, 0, 422, 469, 239, 598, 492,
- 199, 0, 0, 0, 0, 253, 254, 0, 569, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 643, 644,
- 645, 646, 647, 648, 649, 650, 651, 652, 653, 654,
- 655, 656, 657, 658, 659, 660, 638, 502, 508, 503,
- 504, 505, 506, 507, 0, 509, 0, 0, 0, 0,
- 0, 395, 0, 585, 586, 661, 381, 482, 595, 334,
- 346, 349, 339, 358, 0, 359, 335, 336, 341, 343,
- 344, 345, 350, 351, 355, 361, 248, 209, 387, 396,
- 572, 311, 215, 216, 217, 518, 519, 520, 521, 609,
- 610, 614, 204, 459, 460, 461, 462, 291, 604, 308,
- 465, 464, 330, 331, 376, 446, 534, 536, 547, 551,
- 553, 555, 561, 564, 535, 537, 548, 552, 554, 556,
- 562, 565, 524, 526, 528, 530, 543, 542, 539, 567,
- 568, 545, 550, 529, 541, 546, 559, 566, 563, 523,
- 527, 531, 540, 558, 557, 538, 549, 560, 544, 532,
- 525, 533, 0, 196, 220, 365, 0, 451, 287, 639,
- 608, 603, 205, 222, 0, 261, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 198, 200, 208,
- 221, 231, 235, 242, 260, 275, 277, 284, 297, 309,
- 317, 318, 321, 327, 377, 383, 384, 385, 386, 406,
- 407, 408, 411, 414, 415, 418, 420, 421, 424, 428,
- 432, 433, 434, 436, 438, 440, 452, 457, 471, 472,
- 473, 474, 475, 478, 479, 484, 485, 486, 487, 488,
- 496, 497, 510, 580, 582, 597, 615, 621, 477, 300,
- 301, 441, 442, 313, 314, 635, 636, 299, 592, 622,
- 590, 634, 616, 435, 375, 0, 0, 378, 280, 304,
- 319, 0, 607, 498, 226, 463, 289, 250, 0, 0,
- 210, 245, 229, 258, 273, 276, 323, 388, 397, 426,
- 431, 295, 270, 243, 456, 240, 481, 513, 514, 515,
- 517, 392, 265, 430, 0, 0, 373, 570, 571, 315,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 296, 0, 399, 256, 0, 450, 0, 0, 0,
+ 619, 0, 0, 0, 0, 0, 0, 0, 362, 0,
+ 329, 197, 224, 0, 0, 409, 458, 470, 0, 0,
+ 0, 252, 0, 468, 423, 596, 232, 283, 455, 429,
+ 466, 437, 286, 0, 0, 467, 369, 579, 447, 593,
+ 620, 621, 262, 403, 606, 516, 614, 638, 225, 259,
+ 417, 501, 599, 490, 394, 575, 576, 328, 489, 294,
+ 201, 366, 626, 223, 476, 368, 241, 230, 581, 603,
+ 298, 288, 453, 633, 212, 511, 591, 238, 480, 0,
+ 0, 641, 246, 500, 214, 588, 499, 390, 325, 326,
+ 213, 0, 454, 267, 292, 0, 0, 257, 412, 583,
+ 584, 255, 642, 227, 613, 219, 0, 612, 405, 578,
+ 589, 391, 380, 218, 587, 389, 379, 333, 352, 353,
+ 279, 306, 444, 372, 445, 305, 307, 401, 400, 402,
+ 206, 600, 0, 207, 0, 495, 602, 643, 449, 211,
+ 233, 234, 236, 0, 278, 282, 290, 293, 302, 303,
+ 312, 364, 416, 443, 439, 448, 0, 573, 594, 607,
+ 618, 624, 625, 627, 628, 629, 630, 631, 634, 632,
+ 404, 310, 491, 332, 370, 0, 0, 422, 469, 239,
+ 598, 492, 199, 0, 0, 0, 0, 253, 254, 0,
+ 569, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 644, 645, 646, 647, 648, 649, 650, 651, 652, 653,
+ 654, 655, 656, 657, 658, 659, 660, 661, 639, 502,
+ 508, 503, 504, 505, 506, 507, 0, 509, 0, 0,
+ 0, 0, 0, 395, 0, 585, 586, 662, 381, 482,
+ 595, 334, 346, 349, 339, 358, 0, 359, 335, 336,
+ 341, 343, 344, 345, 350, 351, 355, 361, 248, 209,
+ 387, 396, 572, 311, 215, 216, 217, 518, 519, 520,
+ 521, 610, 611, 615, 204, 459, 460, 461, 462, 291,
+ 605, 308, 465, 464, 330, 331, 376, 446, 534, 536,
+ 547, 551, 553, 555, 561, 564, 535, 537, 548, 552,
+ 554, 556, 562, 565, 524, 526, 528, 530, 543, 542,
+ 539, 567, 568, 545, 550, 529, 541, 546, 559, 566,
+ 563, 523, 527, 531, 540, 558, 557, 538, 549, 560,
+ 544, 532, 525, 533, 0, 196, 220, 365, 0, 451,
+ 287, 640, 609, 604, 205, 222, 0, 261, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 198,
+ 200, 208, 221, 231, 235, 242, 260, 275, 277, 284,
+ 297, 309, 317, 318, 321, 327, 377, 383, 384, 385,
+ 386, 406, 407, 408, 411, 414, 415, 418, 420, 421,
+ 424, 428, 432, 433, 434, 436, 438, 440, 452, 457,
+ 471, 472, 473, 474, 475, 478, 479, 484, 485, 486,
+ 487, 488, 496, 497, 510, 580, 582, 597, 616, 622,
+ 477, 300, 301, 441, 442, 313, 314, 636, 637, 299,
+ 592, 623, 590, 635, 617, 435, 375, 0, 0, 378,
+ 280, 304, 319, 0, 608, 498, 226, 463, 289, 250,
+ 0, 0, 210, 245, 229, 258, 273, 276, 323, 388,
+ 397, 426, 431, 295, 270, 243, 456, 240, 481, 513,
+ 514, 515, 517, 392, 265, 430, 393, 0, 373, 570,
+ 571, 315, 0, 522, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 413, 0, 0, 0, 0,
+ 0, 0, 0, 0, 269, 0, 0, 0, 0, 363,
+ 266, 0, 0, 427, 0, 203, 0, 483, 251, 374,
+ 371, 577, 281, 272, 268, 249, 316, 382, 425, 512,
+ 419, 0, 367, 0, 0, 493, 398, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 322, 247, 324, 202, 410, 494, 285, 0,
+ 0, 0, 0, 0, 194, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 237, 0, 0, 244, 0, 0,
+ 0, 348, 357, 356, 337, 338, 340, 342, 347, 354,
+ 360, 0, 0, 601, 0, 0, 0, 264, 320, 271,
+ 263, 574, 0, 0, 0, 0, 0, 0, 0, 0,
+ 228, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 274, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 296, 0, 399,
+ 256, 0, 450, 0, 0, 0, 619, 0, 0, 0,
+ 0, 0, 0, 0, 362, 0, 329, 197, 224, 0,
+ 0, 409, 458, 470, 0, 0, 0, 252, 0, 468,
+ 423, 596, 232, 283, 455, 429, 466, 437, 286, 0,
+ 0, 467, 369, 579, 447, 593, 620, 621, 262, 403,
+ 606, 516, 614, 638, 225, 259, 417, 501, 599, 490,
+ 394, 575, 576, 328, 489, 294, 201, 366, 626, 223,
+ 476, 368, 241, 230, 581, 603, 298, 288, 453, 633,
+ 212, 511, 591, 238, 480, 0, 0, 641, 246, 500,
+ 214, 588, 499, 390, 325, 326, 213, 0, 454, 267,
+ 292, 0, 0, 257, 412, 583, 584, 255, 642, 227,
+ 613, 219, 0, 612, 405, 578, 589, 391, 380, 218,
+ 587, 389, 379, 333, 352, 353, 279, 306, 444, 372,
+ 445, 305, 307, 401, 400, 402, 206, 600, 0, 207,
+ 0, 495, 602, 643, 449, 211, 233, 234, 236, 0,
+ 278, 282, 290, 293, 302, 303, 312, 364, 416, 443,
+ 439, 448, 0, 573, 594, 607, 618, 624, 625, 627,
+ 628, 629, 630, 631, 634, 632, 404, 310, 491, 332,
+ 370, 0, 0, 422, 469, 239, 598, 492, 199, 0,
+ 0, 0, 0, 253, 254, 0, 569, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 644, 645, 646, 647,
+ 648, 649, 650, 651, 652, 653, 654, 655, 656, 657,
+ 658, 659, 660, 661, 639, 502, 508, 503, 504, 505,
+ 506, 507, 0, 509, 0, 0, 0, 0, 0, 395,
+ 0, 585, 586, 662, 381, 482, 595, 334, 346, 349,
+ 339, 358, 0, 359, 335, 336, 341, 343, 344, 345,
+ 350, 351, 355, 361, 248, 209, 387, 396, 572, 311,
+ 215, 216, 217, 518, 519, 520, 521, 610, 611, 615,
+ 204, 459, 460, 461, 462, 291, 605, 308, 465, 464,
+ 330, 331, 376, 446, 534, 536, 547, 551, 553, 555,
+ 561, 564, 535, 537, 548, 552, 554, 556, 562, 565,
+ 524, 526, 528, 530, 543, 542, 539, 567, 568, 545,
+ 550, 529, 541, 546, 559, 566, 563, 523, 527, 531,
+ 540, 558, 557, 538, 549, 560, 544, 532, 525, 533,
+ 0, 196, 220, 365, 0, 451, 287, 640, 609, 604,
+ 205, 222, 0, 261, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 198, 200, 208, 221, 231,
+ 235, 242, 260, 275, 277, 284, 297, 309, 317, 318,
+ 321, 327, 377, 383, 384, 385, 386, 406, 407, 408,
+ 411, 414, 415, 418, 420, 421, 424, 428, 432, 433,
+ 434, 436, 438, 440, 452, 457, 471, 472, 473, 474,
+ 475, 478, 479, 484, 485, 486, 487, 488, 496, 497,
+ 510, 580, 582, 597, 616, 622, 477, 300, 301, 441,
+ 442, 313, 314, 636, 637, 299, 592, 623, 590, 635,
+ 617, 435, 375, 0, 0, 378, 280, 304, 319, 0,
+ 608, 498, 226, 463, 289, 250, 0, 0, 210, 245,
+ 229, 258, 273, 276, 323, 388, 397, 426, 431, 295,
+ 270, 243, 456, 240, 481, 513, 514, 515, 517, 392,
+ 265, 430, 0, 0, 373, 570, 571, 315,
}
var yyPact = [...]int{
- -1000, -1000, 2096, -1000, -534, -1000, -1000, -1000, -1000, -1000,
+ -1000, -1000, 1703, -1000, -525, -1000, -1000, -1000, -1000, -1000,
-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
- -1000, 2364, 2485, -1000, -1000, -1000, -1000, 2558, -1000, 1048,
- 2040, -1000, 2328, 5026, -1000, 55335, 787, -1000, 52435, -439,
- 914, 254, 36485, -1000, 206, -1000, 194, 53885, 202, -1000,
- -1000, -1000, -1000, -439, 21985, 2238, 66, 64, 55335, -1000,
- -1000, -1000, -1000, -354, 2525, 2037, -1000, 409, -1000, -1000,
- -1000, -1000, -1000, -1000, 51710, -1000, 1118, -1000, -1000, 2323,
- 2321, 2227, 959, 2297, -1000, 2406, 2037, -1000, 21985, 2503,
- 2385, 21260, 21260, 481, -1000, -1000, 308, -1000, -1000, 31410,
- 55335, 39385, 861, -1000, 2328, -1000, -1000, -1000, 200, -1000,
- 398, 1953, -1000, 1952, -1000, 1124, 1029, 412, 870, 858,
- 411, 406, 405, 402, 401, 400, 399, 397, 421, -1000,
- 987, 987, -197, -198, 360, 472, 467, 467, 1110, 501,
- 2273, 2270, -1000, -1000, 987, 987, 987, 367, 987, 987,
- 987, 987, 352, 341, 987, 987, 987, 987, 987, 987,
- 987, 987, 987, 987, 987, 987, 987, 987, 987, 987,
- 987, 948, 2328, 314, -1000, -1000, -1000, -1000, -1000, -1000,
+ -1000, 2442, 2617, -1000, -1000, -1000, -1000, 2643, -1000, 1022,
+ 2053, -1000, 2365, 4986, -1000, 54972, 774, -1000, 52068, -407,
+ 879, 237, 36096, -1000, 200, -1000, 189, 53520, 194, -1000,
+ -1000, -1000, -1000, -407, 21576, 2309, 71, 63, 54972, -1000,
+ -1000, -1000, -1000, -353, 2597, 2027, -1000, 392, -1000, -1000,
+ -1000, -1000, -1000, -1000, 51342, -1000, 1119, -1000, -1000, 2373,
+ 2362, 2299, 921, 2305, -1000, 2489, 2027, -1000, 21576, 2560,
+ 2457, 20850, 20850, 470, -1000, -1000, 278, -1000, -1000, 31014,
+ 54972, 39000, 320, -1000, 2365, -1000, -1000, -1000, 218, -1000,
+ 362, 1974, -1000, 1964, -1000, 896, 1040, 400, 890, 889,
+ 397, 396, 387, 383, 382, 379, 378, 376, 389, -1000,
+ 939, 939, -201, -202, 1332, 472, 451, 451, 1031, 485,
+ 2341, 2332, -1000, -1000, 939, 939, 939, 384, 939, 939,
+ 939, 939, 325, 311, 939, 939, 939, 939, 939, 939,
+ 939, 939, 939, 939, 939, 939, 939, 939, 939, 939,
+ 939, 866, 2365, 279, -1000, -1000, -1000, -1000, -1000, -1000,
-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
@@ -7341,67 +7307,68 @@ var yyPact = [...]int{
-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
- -1000, -1000, 55335, 181, 55335, -1000, 881, 785, -1000, -1000,
- -443, 1129, 1129, 91, 1129, 1129, 1129, 1129, 204, 1040,
- 63, -1000, 196, 305, 182, 302, 1101, 307, -1000, -1000,
- 256, 1101, 1820, -1000, 972, 293, 177, -1000, 1129, 1129,
- -1000, 14711, 271, 14711, 14711, -1000, 2305, -1000, -1000, -1000,
- -1000, -1000, 1339, -1000, -1000, -1000, -1000, -23, 493, -1000,
- -1000, -1000, -1000, 53885, 50985, 287, -1000, -1000, 46, 1858,
- 1420, 21985, 1473, 951, -1000, -1000, 1370, 928, -1000, -1000,
- -1000, -1000, -1000, 836, -1000, 24160, 24160, 24160, 24160, -1000,
- -1000, 1957, 50260, 1957, 1957, 24160, 1957, 24160, 1957, 1957,
- 1957, 1957, 21985, 1957, 1957, 1957, 1957, -1000, 1957, 1957,
- 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957,
- 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957,
- 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957,
- 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957,
- 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957,
- 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957,
- 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957,
- 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957,
- 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957,
- 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957,
- 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957,
- 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957,
- 1957, 1957, 1957, 1957, 1957, -1000, -1000, -1000, -1000, 1957,
- 876, 1957, 1957, 1957, 1957, 1957, -1000, -1000, -1000, -1000,
- -1000, -1000, -1000, 1957, 1957, 1957, 1957, 1957, 1957, -1000,
- -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 1957, 1957,
- 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957,
- 1957, 1957, -1000, -1000, -1000, 1681, -1000, -1000, -1000, -1000,
- -1000, -1000, -1000, 27060, 1546, 1490, 1444, -1000, 19085, 1957,
+ -1000, -1000, -1000, 54972, 190, 54972, -1000, 831, 772, -1000,
+ -1000, -412, 1075, 1075, 70, 1075, 1075, 1075, 1075, 209,
+ 968, 57, -1000, 188, 269, 195, 271, 1063, 213, -1000,
+ -1000, 249, 1063, 1783, -1000, 925, 264, 191, -1000, 1075,
+ 1075, -1000, 14292, 204, 14292, 14292, -1000, 2348, -1000, -1000,
+ -1000, -1000, -1000, 1336, -1000, -1000, -1000, -1000, -16, 481,
+ -1000, -1000, -1000, -1000, 53520, 50616, 263, -1000, -1000, 301,
+ 1835, 1177, 21576, 1155, 919, -1000, -1000, 1377, 895, -1000,
+ -1000, -1000, -1000, -1000, 813, -1000, 23754, 23754, 23754, 23754,
+ -1000, -1000, 1976, 49890, 1976, 1976, 23754, 1976, 23754, 1976,
+ 1976, 1976, 1976, 21576, 1976, 1976, 1976, 1976, -1000, 1976,
+ 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976,
+ 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976,
+ 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976,
+ 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976,
+ 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976,
+ 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976,
+ 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976,
+ 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976,
+ 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976,
+ 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976,
+ 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976,
+ 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976,
+ 1976, 1976, 1976, 1976, 1976, 1976, -1000, -1000, -1000, -1000,
+ 1976, 830, 1976, 1976, 1976, 1976, 1976, -1000, -1000, -1000,
+ -1000, -1000, -1000, -1000, 1976, 1976, 1976, 1976, 1976, 1976,
+ -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 1976,
+ 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976,
+ 1976, 1976, 1976, -1000, -1000, -1000, 1588, -1000, -1000, -1000,
+ -1000, -1000, -1000, -1000, 26658, 1476, 1471, 1469, -1000, 18672,
+ 1976, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
+ -1000, -1000, 54972, -1000, 1976, 219, 53520, 53520, 412, 1334,
+ -1000, -1000, 2489, 2027, -1000, 2597, 2698, 392, -1000, 3302,
+ 1512, 1592, 1520, 2027, 1926, 54972, -1000, 1994, -1000, -1000,
+ -1000, -322, -339, 2218, 1468, 1778, -1000, -1000, -1000, -1000,
+ 1781, 21576, -1000, -1000, 2626, -1000, 28110, 828, 2613, 49164,
+ -1000, 470, 470, 1945, 429, 33, -1000, -1000, -1000, -1000,
+ 964, 35370, -1000, -1000, -1000, -1000, -1000, 1790, 54972, -1000,
+ -1000, 4217, 53520, -1000, 2048, -1000, 1788, -1000, 2022, 21576,
+ 2081, 522, 53520, 508, 507, 493, -1000, -49, -1000, -1000,
+ -1000, -1000, -1000, -1000, 939, 939, 939, -1000, 350, 2557,
+ 4986, 5122, -1000, -1000, -1000, 48438, 2047, 53520, -1000, 2044,
+ -1000, 1045, 847, 880, 880, 53520, -1000, -1000, 54246, 53520,
+ 1043, 1036, 53520, 53520, 53520, 53520, -1000, 47712, -1000, 46986,
+ 46260, 1331, 53520, 45534, 44808, 44082, 43356, 42630, -1000, 2523,
+ -1000, 2017, -1000, -1000, -1000, 54246, 53520, 53520, 54246, 53520,
+ 54246, 54972, 53520, -1000, -1000, 367, -1000, -1000, 1328, 1313,
+ 1305, 939, 939, 1304, 1759, 1743, 1723, 939, 939, 1299,
+ 1715, 37548, 1706, 291, 1295, 1291, 1282, 1327, 1701, 193,
+ 1677, 1270, 1248, 1279, 53520, 2042, 54972, -1000, 259, 948,
+ 894, 960, 2365, 2293, 1944, 479, 510, 53520, 461, 461,
+ 53520, -1000, 15024, 54972, 238, -1000, 1673, 21576, -1000, 1093,
+ 1063, 1063, -1000, -1000, -1000, -1000, -1000, -1000, 1075, 54972,
+ 1093, -1000, -1000, -1000, 1063, 1075, 54972, 1075, 1075, 1075,
+ 1075, 1063, 1063, 1063, 1075, 54972, 54972, 54972, 54972, 54972,
+ 54972, 54972, 54972, 54972, 14292, 925, 1075, -416, -1000, 1670,
+ -1000, -1000, -1000, 2176, -1000, -1000, -1000, -1000, -1000, -1000,
-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
- -1000, 55335, -1000, 1957, 224, 53885, 53885, 417, 1330, -1000,
- -1000, 2406, 2037, -1000, 2525, 2486, 409, -1000, 3824, 1636,
- 1626, 1417, 2037, 1931, 55335, -1000, 1975, -1000, -1000, -1000,
- -319, -336, 2182, 1436, 1810, -1000, -1000, -1000, -1000, 1613,
- 21985, -1000, -1000, 2555, -1000, 28510, 874, 2547, 49535, -1000,
- 481, 481, 1951, 643, 40, -1000, -1000, -1000, -1000, 999,
- 35760, -1000, -1000, -1000, -1000, -1000, 1832, 55335, -1000, -1000,
- 4979, 53885, -1000, 2036, -1000, 1807, -1000, 1993, 21985, 2061,
- 784, 53885, 773, 770, 526, -1000, -56, -1000, -1000, -1000,
- -1000, -1000, -1000, 987, 987, 987, -1000, 372, 2497, 5026,
- 7372, -1000, -1000, -1000, 48810, 2029, 53885, -1000, 2027, -1000,
- 1044, 875, 908, 908, 53885, -1000, -1000, 54610, 53885, 1037,
- 1034, 53885, 53885, 53885, 53885, -1000, 48085, -1000, 47360, 46635,
- 1326, 53885, 45910, 45185, 44460, 43735, 43010, -1000, 2220, -1000,
- 2173, -1000, -1000, -1000, 54610, 53885, 53885, 54610, 53885, 54610,
- 55335, 53885, -1000, -1000, 376, -1000, -1000, 1312, 1307, 1306,
- 987, 987, 1300, 1799, 1781, 1779, 987, 987, 1299, 1774,
- 37935, 1771, 282, 1296, 1294, 1293, 1274, 1760, 289, 1755,
- 1271, 1194, 1286, 53885, 2026, 55335, -1000, 291, 971, 866,
- 996, 2328, 2236, 1948, 489, 780, 53885, 471, 471, 53885,
- -1000, 15442, 55335, 246, -1000, 1753, 21985, -1000, 1123, 1101,
- 1101, -1000, -1000, -1000, -1000, -1000, -1000, 1129, 55335, 1123,
- -1000, -1000, -1000, 1101, 1129, 55335, 1129, 1129, 1129, 1129,
- 1101, 1101, 1101, 1129, 55335, 55335, 55335, 55335, 55335, 55335,
- 55335, 55335, 55335, 14711, 972, 1129, -445, -1000, 1741, -1000,
- -1000, -1000, 2148, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
@@ -7416,332 +7383,332 @@ var yyPact = [...]int{
-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
+ -1000, 14292, 14292, -1000, -1000, -1000, -1000, -1000, 1943, -1000,
+ 184, 15, 192, -1000, 41904, 457, 959, -1000, 457, -1000,
+ -1000, -1000, 1939, 41178, -1000, -419, -438, -439, -450, -1000,
+ -1000, -1000, -451, -457, -1000, -1000, -1000, 21576, 21576, 21576,
+ 21576, -239, -1000, 1260, 23754, -1000, -1000, -1000, -1000, -1000,
+ -1000, -1000, 21576, 262, 978, 23754, 23754, 23754, 23754, 23754,
+ 23754, 23754, 25206, 24480, 23754, 23754, 23754, 23754, 23754, 23754,
+ -1000, -1000, 33192, 5973, 5973, 895, 895, 895, 895, -1000,
+ -160, 1930, 54246, -1000, -1000, -1000, 827, 21576, 21576, 895,
+ -1000, 1343, 1984, 18672, 21576, 21576, 21576, 21576, 977, 1177,
+ 54246, 21576, -1000, 1520, -1000, -1000, -1000, -1000, 1185, -1000,
+ -1000, 1096, 2347, 2347, 2347, 2347, 21576, 21576, 21576, 21576,
+ 21576, 21576, 21576, 21576, 21576, 21576, 2347, 21576, 950, 950,
+ 1018, 21576, 21576, 21576, 21576, 21576, 21576, 17220, 21576, 21576,
+ 23754, 21576, 21576, 21576, 1520, 21576, 21576, 21576, 21576, 21576,
+ 21576, 21576, 21576, 21576, 21576, 21576, 21576, 21576, 21576, 21576,
+ 21576, 21576, 21576, 21576, 21576, 21576, 21576, 21576, 21576, 21576,
+ 21576, 21576, 21576, 21576, 21576, 21576, 21576, 21576, 21576, 21576,
+ 21576, 21576, 21576, 21576, 21576, 21576, 21576, 21576, 21576, 21576,
+ 21576, 21576, 21576, 21576, 21576, 21576, 21576, 21576, 21576, 21576,
+ 21576, 21576, 21576, 21576, 21576, 21576, 21576, 21576, 21576, 21576,
+ 21576, 21576, 21576, 21576, 21576, 21576, 21576, 21576, 21576, 21576,
+ 21576, 21576, 21576, 21576, 1520, 21576, 1481, 21576, 21576, 21576,
+ 21576, 21576, 21576, 21576, 16488, 21576, 21576, 21576, 21576, 21576,
+ -1000, -1000, -1000, -1000, -1000, -1000, 21576, 21576, 21576, 21576,
+ 21576, 21576, 21576, 21576, 1520, 21576, 21576, 21576, 21576, 21576,
-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
- 14711, 14711, -1000, -1000, -1000, -1000, -1000, 1942, -1000, 192,
- 33, 198, -1000, 42285, 509, 995, -1000, 509, -1000, -1000,
- -1000, 1941, 41560, -1000, -446, -453, -454, -458, -1000, -1000,
- -1000, -459, -460, -1000, -1000, -1000, 21985, 21985, 21985, 21985,
- -236, -1000, 1075, 24160, -1000, -1000, -1000, -1000, -1000, -1000,
- -1000, 21985, 253, 1309, 24160, 24160, 24160, 24160, 24160, 24160,
- 24160, 25610, 24885, 24160, 24160, 24160, 24160, 24160, 24160, -1000,
- -1000, 33585, 5601, 5601, 928, 928, 928, 928, -1000, -166,
- 1940, 54610, -1000, -1000, -1000, 871, 21985, 21985, 928, -1000,
- 1353, 1987, 19085, 21985, 21985, 21985, 21985, 1005, 1420, 54610,
- 21985, -1000, 1417, -1000, -1000, -1000, -1000, 1177, -1000, -1000,
- 1080, 2326, 2326, 2326, 2326, 21985, 21985, 21985, 21985, 21985,
- 21985, 21985, 21985, 21985, 21985, 2326, 21985, 99, 99, 867,
- 21985, 21985, 21985, 21985, 21985, 21985, 17635, 21985, 21985, 24160,
- 21985, 21985, 21985, 1417, 21985, 21985, 21985, 21985, 21985, 21985,
- 21985, 21985, 21985, 21985, 21985, 21985, 21985, 21985, 21985, 21985,
- 21985, 21985, 21985, 21985, 21985, 21985, 21985, 21985, 21985, 21985,
- 21985, 21985, 21985, 21985, 21985, 21985, 21985, 21985, 21985, 21985,
- 21985, 21985, 21985, 21985, 21985, 21985, 21985, 21985, 21985, 21985,
- 21985, 21985, 21985, 21985, 21985, 21985, 21985, 21985, 21985, 21985,
- 21985, 21985, 21985, 21985, 21985, 21985, 21985, 21985, 21985, 21985,
- 21985, 21985, 21985, 21985, 21985, 21985, 21985, 21985, 21985, 21985,
- 21985, 21985, 21985, 1417, 21985, 1258, 21985, 21985, 21985, 21985,
- 21985, 21985, 21985, 16904, 21985, 21985, 21985, 21985, 21985, -1000,
- -1000, -1000, -1000, -1000, -1000, 21985, 21985, 21985, 21985, 21985,
- 21985, 21985, 21985, 1417, 21985, 21985, 21985, 21985, 21985, -1000,
+ -1000, 1669, 1635, 1550, 21576, -1000, 1929, -1000, -180, 30288,
+ 21576, 1649, 2608, 2099, 53520, -1000, -1000, -1000, -1000, 2489,
+ -1000, 2489, 1669, 2723, 2225, 20850, -1000, -1000, 2723, -1000,
+ -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 1747, -1000,
+ 54972, 1926, 2429, 53520, -1000, -275, -1000, -278, 2208, 1643,
+ 363, -1000, 21576, 21576, 1925, -1000, 2248, 54972, -1000, -239,
+ -1000, 40452, -1000, -1000, 13560, 54972, 360, 54972, -1000, 29562,
+ 39726, 313, -1000, 33, 1896, -1000, 35, 8, 17946, 882,
+ -1000, -1000, -1000, 1332, 25932, 1822, 882, 112, -1000, -1000,
+ -1000, 2022, -1000, 2022, 2022, 2022, 2022, 363, 363, 363,
+ 363, -1000, -1000, -1000, -1000, -1000, 2041, 2040, -1000, 2022,
+ 2022, 2022, 2022, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
- 1469, 1611, 1580, 21985, -1000, 1935, -1000, -188, 30685, 21985,
- 1737, 2545, 2070, 53885, -1000, -1000, -1000, -1000, 2406, -1000,
- 2406, 1469, 3300, 2185, 21260, -1000, -1000, 3300, -1000, -1000,
- -1000, -1000, -1000, -1000, -1000, -1000, -1000, 1836, -1000, 55335,
- 1931, 2374, 53885, -1000, -298, -1000, -302, 2176, 1720, 357,
- -1000, 21985, 21985, 1930, -1000, 1630, 55335, -1000, -236, -1000,
- 40835, -1000, -1000, 13980, 55335, 377, 55335, -1000, 29960, 40110,
- 335, -1000, 40, 1890, -1000, 43, 20, 18360, 920, -1000,
- -1000, -1000, 360, 26335, 1848, 920, 122, -1000, -1000, -1000,
- 1993, -1000, 1993, 1993, 1993, 1993, 357, 357, 357, 357,
- -1000, -1000, -1000, -1000, -1000, 2025, 2024, -1000, 1993, 1993,
- 1993, 1993, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
- -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 2022,
- 2022, 2022, 2015, 2015, 1996, 1996, 461, -1000, 21985, 430,
- 39385, 2348, 1270, 1424, 291, 473, 2067, 53885, 53885, 53885,
- 473, -1000, 1383, 1360, 1351, -1000, -513, 1911, -1000, -1000,
- 2492, -1000, -1000, 1150, 1083, 1074, 1202, 53885, 236, 365,
- -1000, 446, -1000, 39385, 53885, 1032, 908, 53885, -1000, 53885,
- -1000, -1000, -1000, -1000, -1000, 53885, -1000, -1000, 1902, -1000,
- 1917, 1097, 1072, 1095, 1070, 1902, -1000, -1000, -171, 1902,
- -1000, 1902, -1000, 1902, -1000, 1902, -1000, 1902, -1000, -1000,
- -1000, -1000, -1000, -1000, -1000, -1000, -1000, 1027, 281, -366,
- 53885, 236, 488, -1000, 483, 33585, -1000, -1000, -1000, 33585,
- 33585, -1000, -1000, -1000, -1000, 1718, 1705, -1000, -1000, -1000,
+ 2037, 2037, 2037, 2036, 2036, 2024, 2024, 445, -1000, 21576,
+ 425, 39000, 2445, 1277, 1607, 259, 465, 2095, 53520, 53520,
+ 53520, 465, -1000, 1466, 1464, 1444, -1000, -514, 1918, -1000,
+ -1000, 2553, -1000, -1000, 1077, 1067, 1062, 1095, 53520, 231,
+ 348, -1000, 443, -1000, 39000, 53520, 1035, 880, 53520, -1000,
+ 53520, -1000, -1000, -1000, -1000, -1000, 53520, -1000, -1000, 1917,
+ -1000, 1886, 1123, 1060, 1104, 1009, 1917, -1000, -1000, -167,
+ 1917, -1000, 1917, -1000, 1917, -1000, 1917, -1000, 1917, -1000,
+ -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 993, 300,
+ -335, 53520, 231, 475, -1000, 474, 33192, -1000, -1000, -1000,
+ 33192, 33192, -1000, -1000, -1000, -1000, 1630, 1619, -1000, -1000,
-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
- -1000, -1000, -1000, -1000, -1000, -1000, -511, 55335, -1000, 249,
- 991, 327, 313, 371, 55335, 323, 2404, 2402, 2401, 2390,
- 2387, 2381, 277, 321, 55335, 55335, 471, 2126, 55335, 2347,
- 55335, -1000, -1000, -1000, -1000, -1000, 1698, 1685, -1000, 1420,
- 55335, -1000, -1000, 1129, 1129, -1000, -1000, 55335, 1129, -1000,
- -1000, -1000, -1000, -1000, -1000, -1000, -1000, 1129, -1000, -1000,
+ -1000, -1000, -1000, -1000, -1000, -1000, -1000, -502, 54972, -1000,
+ 236, 957, 330, 323, 315, 54972, 359, 2482, 2478, 2473,
+ 2465, 2459, 2440, 242, 309, 54972, 54972, 461, 2170, 54972,
+ 2385, 54972, -1000, -1000, -1000, -1000, -1000, 1594, 1590, -1000,
+ 1177, 54972, -1000, -1000, 1075, 1075, -1000, -1000, 54972, 1075,
+ -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 1075, -1000,
-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
- -1000, -1000, -1000, 55335, -1000, -1000, -1000, -1000, -23, 189,
- -1000, -1000, 53885, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
- -1000, -1000, -105, -1000, 769, 29, 380, -1000, -1000, -1000,
- -1000, -1000, 2443, -1000, 1420, 1017, 1020, -1000, 1957, -1000,
- -1000, 1211, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
- 253, 24160, 24160, 24160, 1416, 831, 1427, 1327, 1403, 1440,
- 1440, 1164, 24160, 1164, 24160, 932, 932, 932, 932, 932,
- -1000, -1000, -1000, -1000, -1000, -1000, 1681, -1000, 1671, -1000,
- 1957, 54610, 1752, 16904, 2496, 1290, 1417, 943, -1000, -1000,
+ -1000, -1000, -1000, -1000, 54972, -1000, -1000, -1000, -1000, -16,
+ 179, -1000, -1000, 53520, -1000, -1000, -1000, -1000, -1000, -1000,
+ -1000, -1000, -1000, -71, -1000, 46, 24, 385, -1000, -1000,
+ -1000, -1000, -1000, 2486, -1000, 1177, 1007, 1021, -1000, 1976,
+ -1000, -1000, 1322, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
+ -1000, -1000, -1000, 262, 23754, 23754, 23754, 1461, 824, 1672,
+ 1325, 1787, 929, 929, 983, 23754, 983, 23754, 899, 899,
+ 899, 899, 899, -1000, -1000, -1000, -1000, -1000, -1000, 1588,
+ -1000, 1585, -1000, 1976, 54246, 1777, 16488, 2541, 1253, 1520,
+ 908, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
- -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 3863, 1417,
- 1858, 1417, 2566, 3859, 1006, -1000, 21985, 1417, 3854, -1000,
- -1000, 1417, 1417, 21985, -1000, -1000, 21985, 21985, 21985, 21985,
- 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424,
- 21985, 1424, 1899, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
+ -1000, 3552, 1520, 1835, 1520, 1437, 3547, 998, -1000, 21576,
+ 1520, 3536, -1000, -1000, 1520, 1520, 21576, -1000, -1000, 21576,
+ 21576, 21576, 21576, 1607, 1607, 1607, 1607, 1607, 1607, 1607,
+ 1607, 1607, 1607, 21576, 1607, 1916, -1000, -1000, -1000, -1000,
-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
- -1000, 1898, 2540, 1669, 1424, 1424, 1424, 1424, 1424, 21985,
- 1378, -1000, -1000, -1000, 1642, 3844, 1244, 3539, 1424, 1424,
- -1000, 1424, 3529, 3518, 1417, 2648, 2643, 1424, 1424, 1424,
- 1424, 1424, 2638, 2630, 1424, 1424, 2615, 1424, 3512, 1424,
- 2609, 2602, 2582, 2570, 2535, 2526, 2522, 2510, 2505, 2500,
- 2487, 2479, 2421, 2399, 2392, 2376, 2331, 2319, 1424, 1424,
- 1424, 3493, 1424, 3472, 1424, 3462, 1424, 1424, 3448, 2315,
- 2308, 1417, 1896, -1000, 3443, 1424, 3430, 3424, 3419, 2248,
- 3406, 3386, 3382, 1424, 1424, 1424, 2224, 3374, 3368, 3360,
- 3355, 3348, 3341, 3337, 3312, 3299, 1424, 1580, 1580, 1580,
- 1580, 1580, 3295, -239, 1424, 1417, -1000, -1000, -1000, -1000,
- -1000, 3288, 2203, 3067, 3049, 3034, 3025, 1417, 1957, 869,
- -1000, -1000, 1580, 1417, 1417, 1580, 1580, 3021, 3007, 2990,
- 2981, 2975, 2965, 1424, 1424, -1000, 1424, 2933, 2918, 2199,
- 2165, 1417, -1000, 1580, 55335, -1000, -438, -1000, 3, 958,
- 1957, -1000, 37935, 1417, -1000, 5014, -1000, 1168, -1000, -1000,
- -1000, -1000, -1000, 35035, 1829, -1000, -1000, -1000, -1000, 1957,
- 1750, -1000, -1000, -1000, -1000, 357, 95, 34310, 905, 905,
- 134, 1420, 1420, 21985, -1000, -1000, -1000, -1000, -1000, -1000,
- 865, 2514, 408, 1957, -1000, 1908, 2927, -1000, -1000, -1000,
- 2367, 27785, -1000, -1000, 1957, 1957, 55335, 1845, 1831, -1000,
- 864, -1000, 1361, 1890, 40, 30, -1000, -1000, -1000, -1000,
- 1420, -1000, 1349, 379, 331, -1000, 456, -1000, -1000, -1000,
- -1000, 2249, 103, -1000, -1000, -1000, 807, 357, -1000, -1000,
- -1000, -1000, -1000, -1000, 1664, 1664, -1000, -1000, -1000, -1000,
- -1000, 1268, -1000, -1000, -1000, -1000, 1256, -1000, -1000, 1249,
- -1000, -1000, 2657, 2115, 430, -1000, -1000, 987, 1639, -1000,
- -1000, 2264, 987, 987, 53885, -1000, -1000, 1843, 2348, 249,
- 55335, 1013, 2122, -1000, 2067, 2067, 2067, 55335, -1000, -1000,
- -1000, -1000, -1000, -1000, -515, 165, 585, -1000, -1000, -1000,
- 6392, 53885, 1748, -1000, 230, -1000, 1735, -1000, 53885, -1000,
- 1746, 2012, 53885, 53885, -1000, -1000, -1000, 53885, 1957, -1000,
- -1000, -1000, -1000, 777, 2327, 345, -1000, -1000, -278, -1000,
- -1000, 236, 230, 54610, 53885, 920, -1000, -1000, -1000, -1000,
- -1000, -507, 1734, 508, 238, 325, 55335, 55335, 55335, 55335,
- 55335, 55335, 826, -1000, -1000, 49, -1000, -1000, 214, -1000,
- -1000, -1000, -1000, -1000, 214, -1000, -1000, -1000, -1000, -1000,
- 255, 474, -1000, 55335, 55335, 930, -1000, -1000, -1000, -1000,
- -1000, 1101, -1000, -1000, 1101, -1000, -1000, -1000, -1000, -1000,
- -1000, -1000, -1000, -1000, -1000, 2301, 55335, 23, -477, -1000,
- -474, 21985, -1000, -1000, -1000, -1000, 1381, 821, 1427, 24160,
- 24160, 1987, 1987, 24160, -1000, -1000, -1000, 350, 350, 33585,
- -1000, 24160, 21985, -1000, -1000, 21985, 21985, 21985, 1001, -1000,
- 21985, 1206, -1000, 21985, -1000, -239, 1580, 1424, 1424, 1424,
- 1424, -239, -239, -239, -239, -239, -239, -239, -239, -239,
- -239, 1912, -1000, 21985, 21985, 21985, 1417, 334, -1000, -1000,
- -1000, -1000, -1000, 2537, -1000, 21985, -1000, 33585, 21985, 21985,
- 21985, -1000, -1000, -1000, 21985, 21985, -1000, -1000, 21985, -1000,
- 21985, -1000, -1000, -1000, -1000, -1000, -1000, 21985, -1000, 21985,
- -1000, -1000, -1000, 21985, -1000, 21985, -1000, -1000, 21985, -1000,
- 21985, -1000, 21985, -1000, 21985, -1000, 21985, -1000, 21985, -1000,
- 21985, -1000, 21985, -1000, 21985, -1000, 21985, -1000, 21985, -1000,
- 21985, -1000, 21985, -1000, 21985, -1000, 21985, -1000, 21985, -1000,
- 21985, -1000, 21985, -1000, -1000, -1000, 21985, -1000, 21985, -1000,
- 21985, -1000, -1000, 21985, -1000, 21985, -1000, 21985, -1000, 21985,
- 21985, -1000, 21985, 21985, 21985, -1000, 21985, 21985, 21985, 21985,
- -1000, -1000, -1000, -1000, 21985, 21985, 21985, 21985, 21985, 21985,
- 21985, 21985, 21985, 21985, -1000, -1000, -1000, -1000, -1000, -1000,
- 21985, -1000, 39385, 15, -239, 1258, 15, 1258, 23435, 837,
- 809, 22710, -1000, 21985, 16173, -1000, -1000, -1000, -1000, -1000,
- 21985, 21985, 21985, 21985, 21985, 21985, -1000, -1000, -1000, 21985,
- 21985, -1000, 21985, -1000, 21985, -1000, -1000, -1000, -1000, -1000,
- 958, -1000, 862, 855, 908, 53885, -1000, -1000, -1000, -1000,
- 1888, -1000, 2437, -1000, 2211, 2210, 2532, 2514, 21260, -1000,
- 29960, -1000, -1000, 53885, -426, -1000, 2233, 2237, 905, 905,
- -1000, -1000, -1000, -1000, -1000, -1000, -1000, 13249, 2406, 21985,
- 2112, 54610, 248, -1000, 29235, 53885, 54610, 29960, 29960, 29960,
- 29960, 29960, -1000, 2155, 2152, -1000, 2143, 2142, 2247, 55335,
- -1000, 1469, 1731, -1000, 21985, 32135, 1851, 29960, -1000, -1000,
- 29960, 55335, 12518, -1000, -1000, 14, 8, -1000, -1000, -1000,
- -1000, 360, -1000, -1000, 1130, 2366, 2251, -1000, -1000, -1000,
- -1000, -1000, 1729, -1000, 1716, 1886, 1714, 1710, 281, -1000,
- 2053, 2285, 987, 987, -1000, 1232, -1000, 1353, 1627, 1583,
- -1000, -1000, -1000, 504, -1000, 2344, 55335, 2110, 2108, 2105,
- -1000, -525, 1199, 2008, 2050, 21985, 2003, 2491, 1866, 53885,
- -1000, -1000, 54610, -1000, 279, -1000, 430, 53885, -1000, -1000,
- -1000, 365, 55335, -1000, 8873, -1000, -1000, -1000, 230, -1000,
- -1000, -1000, -1000, -1000, -1000, -1000, 55335, 300, -1000, 1999,
- 1337, -1000, -1000, 2041, -1000, -1000, -1000, -1000, -1000, 223,
- 222, 1564, 212, 1558, 212, -1000, 55335, 927, 2115, 55335,
- -1000, -1000, -1000, 1129, 1129, -1000, -1000, 2281, -1000, 1353,
- 1424, 24160, 24160, -1000, 928, -1000, -1000, 449, -217, 1993,
- 1993, -1000, 1993, 1996, -1000, 1993, 179, 1993, 166, 1993,
- -1000, -1000, 1417, 1417, -1000, 1580, 2135, 2095, 2899, -1000,
- 1420, 21985, 2887, -1000, -1000, -239, -239, -239, -239, -239,
+ -1000, -1000, -1000, -1000, 1911, 2607, 1373, 1607, 1607, 1607,
+ 1607, 1607, 21576, 1205, -1000, -1000, -1000, 1524, 3531, 1423,
+ 3519, 1607, 1607, -1000, 1607, 3472, 3453, 1520, 2792, 2767,
+ 1607, 1607, 1607, 1607, 1607, 2755, 2749, 1607, 1607, 2725,
+ 1607, 3448, 1607, 2721, 2705, 2662, 2656, 2612, 2598, 2589,
+ 2561, 2525, 2510, 2502, 2496, 2490, 2483, 2477, 2453, 2419,
+ 2415, 1607, 1607, 1607, 3444, 1607, 3427, 1607, 3423, 1607,
+ 1607, 3418, 2406, 2402, 1520, 1909, -1000, 3410, 1607, 3402,
+ 3385, 3380, 2327, 3376, 3369, 3358, 1607, 1607, 1607, 2319,
+ 3353, 3344, 3339, 3322, 3318, 3301, 3296, 3232, 3084, 1607,
+ 1550, 1550, 1550, 1550, 1550, 3069, -243, 1607, 1520, -1000,
+ -1000, -1000, -1000, -1000, 3034, 2310, 3027, 3023, 3012, 3002,
+ 1520, 1976, 825, -1000, -1000, 1550, 1520, 1520, 1550, 1550,
+ 2987, 2948, 2936, 2926, 2921, 2916, 1607, 1607, -1000, 1607,
+ 2906, 2901, 2306, 2276, 1520, -1000, 1550, 54972, -1000, -404,
+ -1000, 6, 954, 1976, -1000, 37548, 1520, -1000, 4078, -1000,
+ 1184, -1000, -1000, -1000, -1000, -1000, 34644, 1779, -1000, -1000,
+ -1000, -1000, 1976, 1765, -1000, -1000, -1000, -1000, 363, 95,
+ 33918, 868, 868, 125, 1177, 1177, 21576, -1000, -1000, -1000,
+ -1000, -1000, -1000, 823, 2535, 380, 1976, -1000, 1905, 3349,
+ -1000, -1000, -1000, 2426, 27384, -1000, -1000, 1976, 1976, 54972,
+ 1740, 1657, -1000, 821, -1000, 1346, 1896, 33, 23, -1000,
+ -1000, -1000, -1000, 1177, -1000, 1363, 373, 358, -1000, 454,
+ -1000, -1000, -1000, -1000, 2325, 109, -1000, -1000, -1000, 335,
+ 363, -1000, -1000, -1000, -1000, -1000, -1000, 1577, 1577, -1000,
+ -1000, -1000, -1000, -1000, 1276, -1000, -1000, -1000, -1000, 1273,
+ -1000, -1000, 1271, -1000, -1000, 2566, 2133, 425, -1000, -1000,
+ 939, 1553, -1000, -1000, 2311, 939, 939, 53520, -1000, -1000,
+ 1811, 2445, 236, 54972, 982, 2157, -1000, 2095, 2095, 2095,
+ 54972, -1000, -1000, -1000, -1000, -1000, -1000, -504, 167, 567,
+ -1000, -1000, -1000, 5057, 53520, 1763, -1000, 229, -1000, 1803,
+ -1000, 53520, -1000, 1737, 2035, 53520, 53520, -1000, -1000, -1000,
+ 53520, 1976, -1000, -1000, -1000, -1000, 504, 2361, 340, -1000,
+ -1000, -264, -1000, -1000, 231, 229, 54246, 53520, 882, -1000,
+ -1000, -1000, -1000, -1000, -505, 1733, 489, 233, 512, 54972,
+ 54972, 54972, 54972, 54972, 54972, 804, -1000, -1000, 45, -1000,
+ -1000, 214, -1000, -1000, -1000, -1000, -1000, 214, -1000, -1000,
+ -1000, -1000, -1000, 287, 473, -1000, 54972, 54972, 936, -1000,
+ -1000, -1000, -1000, -1000, 1063, -1000, -1000, 1063, -1000, -1000,
+ -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 2349, 54972,
+ 18, -471, -1000, -466, 21576, -1000, -1000, -1000, -1000, 1314,
+ 503, 1672, 23754, 23754, 1984, 1984, 23754, -1000, -1000, -1000,
+ 343, 343, 33192, -1000, 23754, 21576, -1000, -1000, 21576, 21576,
+ 21576, 971, -1000, 21576, 1195, -1000, 21576, -1000, -243, 1550,
+ 1607, 1607, 1607, 1607, -243, -243, -243, -243, -243, -243,
+ -243, -243, -243, -243, 1894, -1000, 21576, 21576, 21576, 1520,
+ 312, -1000, -1000, -1000, -1000, -1000, 2602, -1000, 21576, -1000,
+ 33192, 21576, 21576, 21576, -1000, -1000, -1000, 21576, 21576, -1000,
+ -1000, 21576, -1000, 21576, -1000, -1000, -1000, -1000, -1000, -1000,
+ 21576, -1000, 21576, -1000, -1000, -1000, 21576, -1000, 21576, -1000,
+ -1000, 21576, -1000, 21576, -1000, 21576, -1000, 21576, -1000, 21576,
+ -1000, 21576, -1000, 21576, -1000, 21576, -1000, 21576, -1000, 21576,
+ -1000, 21576, -1000, 21576, -1000, 21576, -1000, 21576, -1000, 21576,
+ -1000, 21576, -1000, 21576, -1000, 21576, -1000, -1000, -1000, 21576,
+ -1000, 21576, -1000, 21576, -1000, -1000, 21576, -1000, 21576, -1000,
+ 21576, -1000, 21576, 21576, -1000, 21576, 21576, 21576, -1000, 21576,
+ 21576, 21576, 21576, -1000, -1000, -1000, -1000, 21576, 21576, 21576,
+ 21576, 21576, 21576, 21576, 21576, 21576, 21576, -1000, -1000, -1000,
+ -1000, -1000, -1000, 21576, -1000, 39000, 58, -243, 1481, 58,
+ 1481, 23028, 835, 833, 22302, -1000, 21576, 15756, -1000, -1000,
+ -1000, -1000, -1000, 21576, 21576, 21576, 21576, 21576, 21576, -1000,
+ -1000, -1000, 21576, 21576, -1000, 21576, -1000, 21576, -1000, -1000,
+ -1000, -1000, -1000, 954, -1000, 877, 853, 880, 53520, -1000,
+ -1000, -1000, -1000, 1891, -1000, 2469, -1000, 2242, 2235, 2580,
+ 2535, 20850, -1000, 29562, -1000, -1000, 53520, -390, -1000, 2288,
+ 2240, 868, 868, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
+ 12828, 2489, 21576, 2155, 54246, 253, -1000, 28836, 53520, 54246,
+ 29562, 29562, 29562, 29562, 29562, -1000, 2171, 2132, -1000, 2211,
+ 2203, 2229, 54972, -1000, 1669, 1727, -1000, 21576, 31740, 1821,
+ 29562, -1000, -1000, 29562, 54972, 12096, -1000, -1000, 11, 1,
+ -1000, -1000, -1000, -1000, 1332, -1000, -1000, 1145, 2422, 2302,
+ -1000, -1000, -1000, -1000, -1000, 1711, -1000, 1704, 1885, 1700,
+ 1698, 300, -1000, 2063, 2346, 939, 939, -1000, 1265, -1000,
+ 1343, 1531, 1528, -1000, -1000, -1000, 487, -1000, 2383, 54972,
+ 2148, 2146, 2136, -1000, -519, 1262, 2032, 2060, 21576, 2029,
+ 2548, 1855, 53520, -1000, -1000, 54246, -1000, 251, -1000, 425,
+ 53520, -1000, -1000, -1000, 348, 54972, -1000, 7071, -1000, -1000,
+ -1000, 229, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 54972,
+ 248, -1000, 2028, 1199, -1000, -1000, 2014, -1000, -1000, -1000,
+ -1000, -1000, 228, 223, 1494, 210, 1489, 210, -1000, 54972,
+ 934, 2133, 54972, -1000, -1000, -1000, 1075, 1075, -1000, -1000,
+ 2344, -1000, 1343, 1607, 23754, 23754, -1000, 895, -1000, -1000,
+ 408, -212, 2022, 2022, -1000, 2022, 2024, -1000, 2022, 169,
+ 2022, 164, 2022, -1000, -1000, 1520, 1520, -1000, 1550, 2270,
+ 1227, 2888, -1000, 1177, 21576, 2837, -1000, -1000, -243, -243,
+ -243, -243, -243, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
+ -1000, -1000, -1000, -56, 2830, 2641, 1607, -1000, 2020, 2019,
+ 21576, 1607, 1520, 2226, 1607, 1607, 1607, 1607, 1607, 1607,
+ 1607, 1607, 1607, 1607, 1607, 1607, 2219, 2206, 2202, 2198,
+ 2193, 2180, 2122, 2118, 2114, 2105, 2101, 2092, 2087, 2083,
+ 2077, 2073, 1607, 1607, 2005, 1607, 2000, 1989, -1000, 1177,
+ 1550, 2632, 1550, 1607, 1607, 2531, 296, 1607, 1694, 1694,
+ 1694, 1694, 1694, 1550, 1550, 1550, 1550, 1607, 53520, -1000,
+ -243, -1000, -1000, -292, -307, -1000, 1520, -243, 1880, 23754,
+ 1607, 23754, 23754, 23754, 1607, 1520, -1000, 1969, 1927, 2379,
+ 1907, 1607, 2371, 1607, 1607, 1607, 1807, -1000, 2446, 1976,
+ 2446, 1976, 2446, 1681, 1184, 54972, -1000, -1000, -1000, -1000,
+ 2535, 2544, -1000, 1861, -1000, 95, 638, -1000, 2255, 2240,
+ -1000, 2534, 2282, 2528, -1000, -1000, -1000, -1000, -1000, 1177,
+ -1000, 2369, 1820, -1000, 943, 1879, -1000, -1000, 20124, 1683,
+ 2234, 818, 1681, 1913, 3349, 2120, 2135, 3323, -1000, -1000,
+ -1000, -1000, 2128, -1000, 2015, -1000, -1000, 1994, -1000, 1995,
+ 360, 29562, 1899, 1899, -1000, 817, -1000, -1000, -1000, -1000,
+ -1000, -1000, -1000, 1094, 7071, 2635, -1000, 1485, -1000, 1341,
+ 205, 1258, -1000, -1000, 939, 939, -1000, 1033, 1030, -1000,
+ 54972, 2018, -1000, 363, 1478, 363, 1239, -1000, -1000, 1236,
+ -1000, -1000, -1000, -1000, 1990, 2495, -1000, -1000, -1000, -1000,
+ 54972, -1000, -1000, 54972, 54972, 54972, 2011, 2519, -1000, 21576,
+ 2010, 940, 2175, 53520, 53520, -1000, -1000, -1000, -1000, -1000,
+ -1000, -1000, -1000, -1000, -1000, -1000, 452, 939, -483, 305,
+ 302, 939, 939, 939, -520, -1000, -1000, 1664, 1654, -1000,
+ -190, -1000, 21576, -1000, -1000, -1000, -1000, -1000, 1287, 1287,
+ 1476, 1471, 1469, -1000, 1994, -1000, -1000, -1000, 1795, -1000,
+ -1000, -171, 53520, 53520, 53520, 53520, -1000, -1000, -1000, 1173,
-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
- -63, 2875, 2849, 1424, -1000, 1992, 1991, 21985, 1424, 1417,
- 2123, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424,
- 1424, 1424, 1424, 2119, 2107, 2090, 2078, 2058, 2048, 2032,
- 1961, 1954, 1949, 1945, 1932, 1927, 1923, 1913, 1882, 1424,
- 1424, 1867, 1424, 1855, 1839, -1000, 1420, 1580, 2843, 1580,
- 1424, 1424, 2834, 294, 1424, 1694, 1694, 1694, 1694, 1694,
- 1580, 1580, 1580, 1580, 1424, 53885, -1000, -239, -1000, -1000,
- -368, -373, -1000, 1417, -239, 1881, 24160, 1424, 24160, 24160,
- 24160, 1424, 1417, -1000, 1823, 1818, 2827, 1759, 1424, 2745,
- 1424, 1424, 1424, 1744, -1000, 2426, 1957, 2426, 1957, 2426,
- 1677, 1168, 55335, -1000, -1000, -1000, -1000, 2514, 2511, -1000,
- 1879, -1000, 95, 619, -1000, 2254, 2237, -1000, 2482, 2229,
- 2481, -1000, -1000, -1000, -1000, -1000, 1420, -1000, 2316, 1861,
- -1000, 990, 1871, -1000, -1000, 20535, 1680, 2206, 856, 1677,
- 1929, 2927, 2073, 2104, 3343, -1000, -1000, -1000, -1000, 2146,
- -1000, 2106, -1000, -1000, 1975, -1000, 2696, 377, 29960, 1926,
- 1926, -1000, 854, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
- 1096, 8873, 2561, -1000, 1556, -1000, 1345, 211, 1198, -1000,
- -1000, 987, 987, -1000, 1031, 1030, -1000, 55335, 1990, -1000,
- 357, 1548, 357, 1195, -1000, -1000, 1186, -1000, -1000, -1000,
- -1000, 2109, 2216, -1000, -1000, -1000, -1000, 55335, -1000, -1000,
- 55335, 55335, 55335, 1989, 2477, -1000, 21985, 1986, 989, 2634,
- 53885, 53885, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
- -1000, -1000, -1000, 808, 987, -489, 320, 319, 987, 987,
- 987, -526, -1000, -1000, 1663, 1660, -1000, -199, -1000, 21985,
- -1000, -1000, -1000, -1000, -1000, 1245, 1245, 1546, 1490, 1444,
- -1000, 1975, -1000, -1000, -1000, 1726, -1000, -1000, -176, 53885,
- 53885, 53885, 53885, -1000, -1000, -1000, 1264, -1000, -1000, -1000,
- -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 928,
- 1417, 374, -179, 1417, -1000, -1000, 357, -1000, -1000, -1000,
- -1000, -1000, -1000, -1000, -1000, -1000, -1000, 21985, -1000, 21985,
- -1000, 21985, 1420, 21985, -1000, -1000, -1000, -1000, -1000, 2406,
- 1437, 21985, 21985, -1000, 1173, 1165, 1424, -1000, -1000, -1000,
- 21985, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
- -1000, -1000, -1000, -1000, 21985, -1000, 21985, -1000, 21985, -1000,
- 21985, -1000, 21985, -1000, 21985, -1000, 21985, -1000, 21985, -1000,
- 21985, -1000, 21985, -1000, 21985, -1000, 21985, -1000, 21985, -1000,
- 21985, -1000, 21985, -1000, 21985, -1000, -1000, 21985, -1000, -1000,
- -1000, 21985, -1000, 21985, -1000, 21985, -1000, -1000, -1000, 21985,
- 272, 350, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
- -1000, -1000, -1000, 1417, 370, -1000, -1000, -1000, 2521, -1000,
- 1417, 21985, 1987, -1000, 1987, 1987, 1987, -1000, -1000, -1000,
- 21985, -1000, 21985, 21985, -1000, 21985, -1000, 21985, -1000, -1000,
- -1000, -1000, 21985, 1957, 2209, 38660, 1957, 38660, 1957, 32135,
- -1000, -1000, 2511, 2506, 2476, 2218, 2221, 2221, 2254, -1000,
- 2465, 2458, -1000, 1433, 2457, 1429, 1028, -1000, 54610, 21985,
- -1000, 248, 37935, -1000, 415, 53885, 248, 53885, -1000, 2508,
- -1000, -1000, 21985, 1981, -1000, 21985, -1000, -1000, -1000, -1000,
- 5601, 2514, 1926, -1000, -1000, 938, -1000, 21985, -1000, 10283,
- -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 1425, 1414,
- -1000, -1000, 1977, 21985, -1000, -1000, -1000, 1635, 1625, -1000,
- -1000, -1000, -1000, -1000, -1000, -1000, -1000, 1975, -1000, -1000,
- -1000, -1000, 365, -519, 2625, 53885, 1155, -1000, 1652, 1866,
- 359, 248, 1399, 987, 987, 987, 1151, 1139, 37935, 1648,
- -1000, 53885, 438, -1000, 365, -1000, -205, -214, 1424, -1000,
- -1000, 2363, -1000, -1000, 16173, -1000, -1000, 1970, 2062, -1000,
- -1000, -1000, -1000, 2171, -169, -187, -1000, -1000, 1424, 1424,
- 1424, 2240, 1417, -1000, 1424, 1424, 1563, 1532, -1000, 1424,
- 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424,
- 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1580,
- 1740, -1000, 272, 1417, 2100, -1000, -1000, 5601, -1000, -1000,
- 2508, 2450, 15, -1000, -1000, 232, 15, 1420, 1023, 1417,
- 1417, 1023, 1725, 1424, 1650, 1644, 1424, 1424, 32860, -1000,
- 2449, 2447, 1624, -1000, -1000, 38660, 1624, 38660, 958, 2506,
- -246, 21985, 21985, 2215, 1137, -1000, -1000, -1000, -1000, 1393,
- 1391, -1000, 1389, -1000, 2546, -1000, 1420, -1000, 1957, 248,
- -1000, 852, 1871, -1000, 2406, 1420, 53885, 1420, 88, 2508,
- -1000, 1424, -1000, 1957, 1957, 1957, 1957, 1957, 1957, 1957,
- 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957,
- 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957,
- 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957,
- 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957,
- 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957,
- 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957,
- 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957,
- 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957,
- 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957,
- 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957,
- 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957,
- 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957,
- 1957, 1957, -1000, -1000, 53885, 2403, -1000, -1000, 2360, 1646,
- 162, -1000, 1428, 1866, -1000, -1000, 247, -1000, 21985, -1000,
- 37935, 1386, 1369, -1000, -1000, -1000, -1000, -526, -1000, -1000,
- -1000, -1000, -1000, -1000, 409, 1865, -1000, 981, 53885, 55335,
- -1000, 2168, -1000, -1000, -1000, -1000, 21985, -1000, -1000, -1000,
+ -1000, -1000, 895, 1520, 345, -173, 1520, -1000, -1000, 363,
-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
+ 21576, -1000, 21576, -1000, 21576, 1177, 21576, -1000, -1000, -1000,
+ -1000, -1000, 2489, 1442, 21576, 21576, -1000, 1232, 1226, 1607,
+ -1000, -1000, -1000, 21576, -1000, -1000, -1000, -1000, -1000, -1000,
+ -1000, -1000, -1000, -1000, -1000, -1000, -1000, 21576, -1000, 21576,
+ -1000, 21576, -1000, 21576, -1000, 21576, -1000, 21576, -1000, 21576,
+ -1000, 21576, -1000, 21576, -1000, 21576, -1000, 21576, -1000, 21576,
+ -1000, 21576, -1000, 21576, -1000, 21576, -1000, 21576, -1000, -1000,
+ 21576, -1000, -1000, -1000, 21576, -1000, 21576, -1000, 21576, -1000,
+ -1000, -1000, 21576, 307, 343, -1000, -1000, -1000, -1000, -1000,
+ -1000, -1000, -1000, -1000, -1000, -1000, 1520, 353, -1000, -1000,
+ -1000, 2567, -1000, 1520, 21576, 1984, -1000, 1984, 1984, 1984,
+ -1000, -1000, -1000, 21576, -1000, 21576, 21576, -1000, 21576, -1000,
+ 21576, -1000, -1000, -1000, -1000, 21576, 1976, 2354, 38274, 1976,
+ 38274, 1976, 31740, -1000, -1000, 2544, 2498, 2518, 2256, 2272,
+ 2272, 2255, -1000, 2515, 2509, -1000, 1440, 2501, 1433, 1029,
+ -1000, 54246, 21576, -1000, 253, 37548, -1000, 390, 53520, 253,
+ 53520, -1000, 2511, -1000, -1000, 21576, 2009, -1000, 21576, -1000,
+ -1000, -1000, -1000, 5973, 2535, 1899, -1000, -1000, 905, -1000,
+ 21576, -1000, 10484, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
+ -1000, 1428, 1425, -1000, -1000, 2004, 21576, -1000, -1000, -1000,
+ 1734, 1712, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
+ 1994, -1000, -1000, -1000, -1000, 348, -509, 2161, 53520, 1202,
+ -1000, 1642, 1855, 328, 253, 1417, 939, 939, 939, 1182,
+ 1167, 37548, 1640, -1000, 53520, 398, -1000, 348, -1000, -207,
+ -208, 1607, -1000, -1000, 2420, -1000, -1000, 15756, -1000, -1000,
+ 1992, 2090, -1000, -1000, -1000, -1000, 2204, -164, -185, -1000,
+ -1000, 1607, 1607, 1607, 1718, 1520, -1000, 1607, 1607, 1614,
+ 1604, -1000, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607,
+ 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607,
+ 1607, 1607, 1550, 1801, -1000, 307, 1520, 2127, -1000, -1000,
+ 5973, -1000, -1000, 2511, 2499, 58, -1000, -1000, 227, 58,
+ 1177, 994, 1520, 1520, 994, 1731, 1607, 1691, 1686, 1607,
+ 1607, 32466, -1000, 2497, 2491, 1617, -1000, -1000, 38274, 1617,
+ 38274, 954, 2498, -250, 21576, 21576, 2262, 1137, -1000, -1000,
+ -1000, -1000, 1414, 1412, -1000, 1369, -1000, 2629, -1000, 1177,
+ -1000, 1976, 253, -1000, 812, 1879, -1000, 2489, 1177, 53520,
+ 1177, 89, 2511, -1000, 1607, -1000, 1976, 1976, 1976, 1976,
+ 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976,
+ 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976,
+ 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976,
+ 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976,
+ 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976,
+ 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976,
+ 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976,
+ 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976,
+ 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976,
+ 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976,
+ 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976,
+ 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976,
+ 1976, 1976, 1976, 1976, 1976, -1000, -1000, 53520, 2096, -1000,
+ -1000, 2397, 1628, 165, -1000, 1572, 1855, -1000, -1000, 246,
+ -1000, 21576, -1000, 37548, 1365, 1359, -1000, -1000, -1000, -1000,
+ -520, -1000, -1000, -1000, -1000, -1000, -1000, 392, 1851, -1000,
+ 937, 53520, 54972, -1000, 2197, -1000, -1000, -1000, -1000, 21576,
-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
- -1000, -1000, -1000, -1000, 21985, -1000, 1417, 2099, -1000, -365,
- -1000, -493, 21985, -239, -1000, -1000, -239, -1000, -1000, -1000,
- -1000, -1000, 21985, -1000, -1000, 21985, -1000, 21985, -1000, -1000,
- 1624, -1000, -1000, -1000, 37210, -1000, 1624, -1000, 1624, -1000,
- -246, -1000, 1863, -1000, 53885, 1420, 1858, -1000, 1135, -1000,
- -1000, -1000, -1000, -1000, 54610, 53885, 1871, 53885, -1000, -1000,
- 1619, 1417, 1957, 2406, -1000, 1604, -1000, 409, -1000, 1967,
- 2050, -1000, -1000, -1000, 19810, -1000, -1000, -1000, -1000, -1000,
- 270, -173, 16173, 11787, 1582, -1000, -172, 1424, 1580, -1000,
- -464, -1000, -1000, -1000, -1000, 252, -1000, -1000, 1858, -1000,
- -1000, 1638, 1634, 1602, -1000, -1000, -1000, -1000, -1000, -1000,
- -246, -1000, -1000, 2352, -1000, -1000, 1846, 1573, -1000, -1000,
- -1000, 32135, 53160, -1000, -164, 348, -173, 21985, 1965, 1417,
- -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -37, -1000,
- -1000, 824, -1000, -1000, -1000, 2041, -185, -1000, -1000, -1000,
- 276, -481, -264, -265, 24160, -1000, 21985, -1000, 21985, -1000,
- 21985, -1000, 53885, 1957, -1000, -1000, 1554, -1000, 4228, -386,
- 2093, -1000, -134, -1000, -1000, -1000, 1094, 1364, -1000, -1000,
- -1000, -1000, -1000, -1000, 1905, 53885, -1000, 448, -1000, -1000,
- 15442, -176, -189, 1018, -1000, -1000, -1000, -1000, -1000, 1987,
- 1576, 1562, 1424, -1000, 53885, -1000, 53160, -378, 920, 5601,
- -1000, 2092, 2087, 2544, -1000, -1000, -1000, -1000, -1000, -1000,
- -529, 1531, 260, -1000, -1000, -1000, 276, -305, -1000, 21985,
- -1000, 21985, -1000, 1417, -1000, -1000, 2341, 88, -1000, 2527,
- -1000, 2536, 1045, 1045, -1000, 1125, -529, -1000, -1000, -1000,
- -1000, 1424, 1424, -1000, -387, -1000, -1000, -1000, -1000, -1000,
- 457, 1188, -1000, -1000, -1000, -1000, -1000, 5601, -1000, -1000,
- -1000, 266, 266, -1000, -1000,
+ -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
+ -1000, -1000, -1000, -1000, -1000, -1000, -1000, 21576, -1000, 1520,
+ 2115, -1000, -352, -1000, -486, 21576, -243, -1000, -1000, -243,
+ -1000, -1000, -1000, -1000, -1000, 21576, -1000, -1000, 21576, -1000,
+ 21576, -1000, -1000, 1617, -1000, -1000, -1000, 36822, -1000, 1617,
+ -1000, 1617, -1000, -250, -1000, 1848, -1000, 53520, 1177, 1835,
+ -1000, 1124, -1000, -1000, -1000, -1000, -1000, 54246, 53520, 1879,
+ 53520, -1000, -1000, 1598, 1520, 1976, 2489, -1000, 1571, -1000,
+ 392, -1000, 1985, 2060, -1000, -1000, -1000, 19398, -1000, -1000,
+ -1000, -1000, -1000, 245, -170, 15756, 11364, 1552, -1000, -169,
+ 1607, 1550, -1000, -459, -1000, -1000, -1000, -1000, 284, -1000,
+ -1000, 1835, -1000, -1000, 1613, 1603, 1582, -1000, -1000, -1000,
+ -1000, -1000, -1000, -250, -1000, -1000, 2380, -1000, -1000, 1826,
+ 1519, -1000, -1000, -1000, 31740, 52794, -1000, -157, 416, -170,
+ 21576, 1978, 1520, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
+ -1000, -8, -1000, -1000, 797, -1000, -1000, -1000, 2014, -175,
+ -1000, -1000, -1000, 289, -475, -260, -281, 23754, -1000, 21576,
+ -1000, 21576, -1000, 21576, -1000, 53520, 1976, -1000, -1000, 1475,
+ -1000, 4170, -326, 2111, -1000, -97, -1000, -1000, -1000, 1078,
+ 1355, -1000, -1000, -1000, -1000, -1000, -1000, 1923, 53520, -1000,
+ 444, -1000, -1000, 15024, -171, -188, 1017, -1000, -1000, -1000,
+ -1000, -1000, 1984, 1362, 1212, 1607, -1000, 53520, -1000, 52794,
+ -320, 882, 5973, -1000, 2109, 2102, 2595, -1000, -1000, -1000,
+ -1000, -1000, -1000, -522, 1439, 243, -1000, -1000, -1000, 289,
+ -305, -1000, 21576, -1000, 21576, -1000, 1520, -1000, -1000, 2374,
+ 89, -1000, 2599, -1000, 2618, 1010, 1010, -1000, 1153, -522,
+ -1000, -1000, -1000, -1000, 1607, 1607, -1000, -330, -1000, -1000,
+ -1000, -1000, -1000, 434, 1180, -1000, -1000, -1000, -1000, -1000,
+ 5973, -1000, -1000, -1000, 281, 281, -1000, -1000,
}
var yyPgo = [...]int{
- 0, 3176, 3174, 47, 7, 35, 34, 3173, 3170, 3163,
- 169, 3160, 3158, 3155, 3154, 3152, 3149, 2632, 2618, 2614,
- 3147, 3145, 3144, 3143, 3142, 3141, 3140, 3130, 3129, 49,
- 103, 91, 105, 209, 195, 3128, 170, 159, 196, 3127,
- 3126, 3120, 117, 187, 78, 80, 189, 3115, 3113, 72,
- 3112, 3111, 3107, 186, 185, 182, 1091, 3105, 183, 115,
- 46, 3104, 3103, 3101, 3099, 3097, 3094, 3091, 3090, 3084,
- 3083, 3082, 3081, 3080, 3078, 3075, 3072, 3069, 3068, 274,
- 3067, 3066, 11, 3065, 74, 3063, 3060, 3057, 3056, 3055,
- 9, 3050, 3047, 23, 38, 59, 3046, 3045, 40, 3041,
- 3039, 3037, 3036, 3035, 45, 3034, 28, 3033, 29, 3032,
- 3027, 123, 3026, 3023, 3021, 39, 3020, 3017, 3012, 12,
- 163, 3003, 3000, 136, 2991, 2989, 2982, 165, 208, 2973,
- 2187, 2972, 102, 2966, 2965, 2963, 161, 190, 2961, 120,
- 2960, 2956, 2949, 143, 2934, 3287, 2929, 2928, 61, 71,
- 200, 2925, 2924, 164, 70, 16, 2920, 17, 19, 2919,
- 2913, 63, 66, 2907, 109, 2904, 2902, 98, 87, 2896,
- 96, 81, 2895, 2894, 6, 8, 2893, 1, 4, 2,
- 99, 2890, 2885, 114, 2884, 2883, 2881, 93, 2880, 2876,
- 7262, 2873, 82, 129, 104, 65, 2872, 168, 156, 2870,
- 2869, 2867, 2866, 2865, 51, 2864, 2862, 2861, 134, 1259,
- 108, 2855, 144, 353, 53, 146, 2854, 202, 75, 197,
- 162, 2846, 2844, 133, 131, 2842, 2836, 56, 166, 192,
- 2835, 95, 128, 119, 171, 89, 135, 2833, 2828, 57,
- 68, 2826, 2825, 2823, 2822, 167, 2820, 2819, 62, 2818,
- 55, 2816, 160, 2814, 333, 83, 2813, 176, 158, 2812,
- 64, 2810, 2809, 90, 100, 60, 31, 2808, 152, 155,
- 127, 180, 2806, 2805, 54, 2804, 2799, 2797, 194, 303,
- 2796, 2795, 248, 174, 139, 148, 84, 2793, 339, 2790,
- 2788, 14, 4432, 6386, 184, 36, 154, 2780, 2776, 7753,
- 41, 43, 26, 2765, 205, 2764, 181, 2762, 2761, 2754,
- 223, 203, 112, 153, 58, 2751, 2748, 2744, 37, 2742,
- 2741, 2740, 2739, 2736, 2735, 33, 32, 30, 92, 212,
- 67, 22, 97, 172, 150, 69, 2734, 2731, 2730, 124,
- 79, 2729, 151, 149, 125, 106, 2718, 175, 140, 116,
- 2717, 101, 27, 2708, 2706, 2702, 2701, 85, 2697, 2696,
- 2695, 2694, 145, 141, 121, 76, 2693, 77, 118, 147,
- 142, 48, 2680, 44, 2675, 2674, 25, 188, 24, 2664,
- 42, 111, 110, 2662, 5713, 2650, 10, 324, 157, 2645,
- 2636, 5, 13, 18, 2633, 2626, 2608, 2607, 130, 2603,
- 2602, 2601, 2597, 21, 50, 20, 15, 113, 73, 2596,
- 2592, 137, 2591, 2587, 2581, 0, 1029, 126, 2579, 199,
+ 0, 3334, 3333, 27, 7, 40, 39, 3332, 3331, 3329,
+ 173, 3324, 3323, 3303, 3235, 3230, 3224, 2712, 2681, 2677,
+ 3216, 3212, 3210, 3207, 3205, 3204, 3201, 3200, 3199, 50,
+ 103, 91, 101, 206, 201, 3198, 182, 164, 196, 3196,
+ 3195, 3182, 117, 195, 78, 82, 194, 3181, 3180, 73,
+ 3177, 3166, 3163, 188, 187, 186, 1063, 3161, 184, 116,
+ 48, 3160, 3159, 3155, 3153, 3151, 3150, 3149, 3148, 3143,
+ 3141, 3137, 3136, 3134, 3133, 3130, 3128, 3127, 3126, 278,
+ 3125, 3122, 11, 3121, 75, 3119, 3118, 3117, 3114, 3110,
+ 9, 3109, 3107, 23, 34, 66, 3104, 3103, 51, 3102,
+ 3100, 3094, 3089, 3087, 45, 3086, 28, 3085, 33, 3084,
+ 3083, 126, 3082, 3079, 3077, 43, 3075, 3072, 3069, 12,
+ 170, 3064, 3062, 139, 3059, 3057, 3053, 165, 204, 3049,
+ 2183, 3044, 96, 3042, 3041, 3040, 163, 199, 3039, 121,
+ 3036, 3035, 3034, 151, 3029, 3274, 3028, 3024, 61, 79,
+ 167, 3023, 3021, 197, 71, 16, 3014, 17, 19, 3012,
+ 3011, 70, 72, 3008, 106, 3007, 3004, 104, 93, 3002,
+ 112, 105, 3001, 3000, 6, 8, 2999, 1, 4, 2,
+ 63, 2998, 2997, 111, 2996, 2994, 2993, 92, 2992, 2985,
+ 6420, 2984, 84, 131, 97, 65, 2980, 168, 157, 2976,
+ 2973, 2971, 2961, 2956, 49, 2953, 2941, 2935, 135, 24,
+ 108, 2933, 144, 351, 54, 146, 2932, 202, 74, 210,
+ 172, 2931, 2929, 137, 136, 2923, 2922, 59, 166, 192,
+ 2921, 90, 130, 120, 171, 85, 132, 2916, 2914, 58,
+ 69, 2913, 2908, 2906, 2904, 183, 2903, 2902, 62, 2898,
+ 56, 2896, 178, 2889, 337, 83, 2888, 176, 159, 2887,
+ 64, 2886, 2884, 100, 98, 60, 29, 2883, 155, 160,
+ 129, 158, 2880, 2878, 55, 2876, 2873, 2868, 200, 306,
+ 2842, 2840, 332, 174, 141, 147, 87, 2837, 318, 2836,
+ 2831, 14, 4375, 6767, 190, 31, 161, 2829, 2828, 7327,
+ 41, 44, 26, 2826, 205, 2825, 181, 2823, 2820, 2819,
+ 207, 203, 114, 156, 57, 2818, 2817, 2816, 37, 2813,
+ 2812, 2808, 2805, 2803, 2799, 38, 36, 35, 102, 215,
+ 68, 22, 95, 169, 152, 67, 2797, 2793, 2787, 125,
+ 89, 2784, 154, 153, 124, 162, 2782, 180, 142, 115,
+ 2775, 81, 32, 2769, 2768, 2767, 2761, 118, 2755, 2750,
+ 2747, 2744, 150, 143, 123, 77, 2741, 80, 119, 149,
+ 148, 52, 2739, 46, 2738, 2737, 30, 193, 25, 2736,
+ 42, 110, 109, 2735, 5931, 2732, 10, 317, 145, 2728,
+ 2727, 5, 13, 18, 2726, 2724, 2716, 2714, 134, 2713,
+ 2690, 2689, 2682, 21, 47, 20, 15, 113, 138, 76,
+ 2672, 2671, 140, 2664, 2663, 2662, 0, 1029, 127, 2653,
+ 208,
}
-//line sql.y:8634
+//line sql.y:8643
type yySymType struct {
union any
empty struct{}
@@ -8436,7 +8403,7 @@ func (st *yySymType) withUnion() *With {
}
var yyR1 = [...]int{
- 0, 413, 414, 414, 7, 7, 7, 7, 7, 7,
+ 0, 414, 415, 415, 7, 7, 7, 7, 7, 7,
7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
@@ -8445,7 +8412,7 @@ var yyR1 = [...]int{
32, 32, 32, 32, 32, 33, 33, 33, 33, 33,
29, 29, 29, 29, 30, 30, 30, 30, 30, 15,
16, 34, 34, 17, 17, 109, 109, 18, 19, 19,
- 19, 19, 417, 417, 185, 185, 183, 183, 184, 184,
+ 19, 19, 418, 418, 185, 185, 183, 183, 184, 184,
263, 263, 20, 267, 267, 269, 269, 269, 269, 259,
259, 259, 21, 21, 268, 268, 270, 270, 270, 273,
273, 273, 273, 313, 313, 313, 22, 22, 22, 22,
@@ -8488,7 +8455,7 @@ var yyR1 = [...]int{
357, 357, 357, 357, 357, 357, 281, 281, 281, 390,
390, 390, 390, 390, 390, 389, 389, 389, 356, 356,
356, 356, 388, 388, 59, 59, 218, 218, 407, 407,
- 408, 408, 408, 47, 47, 47, 47, 47, 47, 46,
+ 409, 409, 409, 47, 47, 47, 47, 47, 47, 46,
46, 46, 42, 42, 42, 42, 42, 42, 42, 42,
42, 42, 42, 42, 42, 42, 42, 42, 42, 42,
42, 42, 42, 42, 42, 42, 42, 42, 42, 42,
@@ -8516,15 +8483,15 @@ var yyR1 = [...]int{
65, 65, 65, 65, 65, 65, 65, 280, 280, 289,
289, 279, 279, 304, 304, 304, 282, 282, 282, 283,
283, 400, 400, 400, 276, 276, 66, 66, 66, 305,
- 305, 305, 305, 69, 69, 409, 409, 410, 410, 411,
- 411, 411, 70, 71, 71, 308, 308, 309, 309, 72,
+ 305, 305, 305, 69, 69, 410, 410, 411, 411, 412,
+ 412, 412, 70, 71, 71, 308, 308, 309, 309, 72,
73, 85, 85, 85, 85, 85, 86, 86, 86, 86,
110, 110, 110, 10, 10, 10, 10, 81, 81, 81,
9, 9, 11, 68, 68, 75, 397, 397, 398, 399,
399, 399, 399, 76, 78, 27, 27, 27, 27, 27,
27, 135, 135, 123, 123, 123, 123, 123, 123, 123,
123, 123, 123, 123, 123, 130, 130, 130, 124, 124,
- 418, 79, 80, 80, 128, 128, 128, 121, 121, 121,
+ 419, 79, 80, 80, 128, 128, 128, 121, 121, 121,
127, 127, 127, 12, 12, 13, 262, 262, 14, 14,
134, 134, 133, 133, 136, 136, 136, 136, 136, 136,
136, 131, 131, 132, 132, 132, 132, 297, 297, 297,
@@ -8536,21 +8503,22 @@ var yyR1 = [...]int{
186, 188, 187, 187, 187, 187, 189, 189, 191, 191,
190, 190, 192, 197, 197, 196, 196, 194, 194, 194,
194, 194, 194, 195, 195, 195, 195, 198, 198, 145,
- 145, 145, 145, 145, 145, 145, 145, 159, 159, 159,
- 159, 162, 162, 162, 162, 162, 162, 162, 162, 162,
- 162, 162, 245, 245, 150, 150, 150, 150, 150, 150,
- 150, 150, 150, 150, 150, 150, 150, 150, 150, 153,
- 153, 153, 153, 153, 153, 153, 153, 153, 153, 153,
+ 145, 145, 145, 145, 145, 145, 145, 408, 408, 159,
+ 159, 159, 159, 162, 162, 162, 162, 162, 162, 162,
+ 162, 162, 162, 162, 245, 245, 150, 150, 150, 150,
+ 150, 150, 150, 150, 150, 150, 150, 150, 150, 150,
+ 150, 153, 153, 153, 153, 153, 153, 153, 153, 153,
153, 153, 153, 153, 153, 153, 153, 153, 153, 153,
- 153, 153, 153, 153, 221, 221, 220, 220, 87, 87,
- 87, 88, 88, 89, 89, 89, 89, 89, 90, 90,
- 90, 90, 90, 90, 90, 92, 92, 91, 91, 211,
- 211, 294, 294, 93, 94, 94, 95, 95, 98, 98,
- 97, 96, 96, 102, 102, 99, 99, 101, 101, 100,
- 103, 103, 104, 105, 105, 277, 277, 199, 199, 207,
- 207, 207, 207, 200, 200, 200, 200, 200, 200, 200,
- 208, 208, 208, 215, 209, 209, 205, 205, 203, 203,
- 203, 203, 203, 203, 203, 203, 203, 203, 203, 204,
+ 153, 153, 153, 153, 153, 153, 221, 221, 220, 220,
+ 87, 87, 87, 88, 88, 89, 89, 89, 89, 89,
+ 90, 90, 90, 90, 90, 90, 90, 92, 92, 91,
+ 91, 211, 211, 294, 294, 93, 94, 94, 95, 95,
+ 98, 98, 97, 96, 96, 102, 102, 99, 99, 101,
+ 101, 100, 103, 103, 104, 105, 105, 277, 277, 199,
+ 199, 207, 207, 207, 207, 200, 200, 200, 200, 200,
+ 200, 200, 208, 208, 208, 215, 209, 209, 205, 205,
+ 203, 203, 203, 203, 203, 203, 203, 203, 203, 203,
+ 203, 204, 204, 204, 204, 204, 204, 204, 204, 204,
204, 204, 204, 204, 204, 204, 204, 204, 204, 204,
204, 204, 204, 204, 204, 204, 204, 204, 204, 204,
204, 204, 204, 204, 204, 204, 204, 204, 204, 204,
@@ -8569,36 +8537,36 @@ var yyR1 = [...]int{
204, 204, 204, 204, 204, 204, 204, 204, 204, 204,
204, 204, 204, 204, 204, 204, 204, 204, 204, 204,
204, 204, 204, 204, 204, 204, 204, 204, 204, 204,
- 204, 204, 204, 204, 204, 204, 204, 204, 204, 204,
- 164, 164, 164, 164, 226, 226, 151, 151, 151, 151,
+ 204, 204, 164, 164, 164, 164, 226, 226, 151, 151,
151, 151, 151, 151, 151, 151, 151, 151, 151, 151,
- 151, 152, 152, 165, 165, 165, 165, 166, 166, 166,
- 166, 166, 166, 166, 315, 315, 119, 119, 119, 119,
+ 151, 151, 151, 152, 152, 165, 165, 165, 165, 166,
+ 166, 166, 166, 166, 166, 166, 315, 315, 119, 119,
119, 119, 119, 119, 119, 119, 119, 119, 119, 119,
- 119, 119, 119, 119, 119, 119, 120, 120, 120, 120,
+ 119, 119, 119, 119, 119, 119, 119, 119, 120, 120,
120, 120, 120, 120, 120, 120, 120, 120, 120, 120,
- 120, 120, 120, 120, 419, 419, 329, 329, 329, 206,
- 206, 206, 206, 206, 126, 126, 126, 126, 126, 312,
- 312, 312, 316, 316, 316, 314, 314, 314, 314, 314,
+ 120, 120, 120, 120, 120, 120, 420, 420, 329, 329,
+ 329, 206, 206, 206, 206, 206, 126, 126, 126, 126,
+ 126, 312, 312, 312, 316, 316, 316, 314, 314, 314,
314, 314, 314, 314, 314, 314, 314, 314, 314, 314,
- 317, 317, 224, 224, 122, 122, 222, 222, 223, 225,
- 225, 217, 217, 217, 217, 219, 219, 202, 202, 202,
- 227, 227, 228, 228, 106, 107, 107, 108, 108, 229,
- 229, 231, 230, 230, 232, 233, 233, 233, 234, 234,
- 235, 235, 235, 49, 49, 49, 49, 49, 44, 44,
- 44, 44, 45, 45, 45, 45, 137, 137, 137, 137,
- 139, 139, 138, 138, 82, 82, 83, 83, 83, 143,
- 143, 144, 144, 144, 141, 141, 142, 142, 252, 252,
- 252, 252, 252, 252, 252, 236, 236, 236, 243, 243,
- 243, 239, 239, 241, 241, 241, 242, 242, 242, 240,
- 249, 249, 251, 251, 250, 250, 246, 246, 247, 247,
- 248, 248, 248, 244, 244, 201, 201, 201, 201, 201,
- 253, 253, 253, 253, 306, 306, 306, 265, 265, 212,
- 212, 214, 214, 213, 213, 163, 266, 266, 274, 271,
- 271, 272, 272, 298, 298, 298, 275, 275, 288, 288,
- 284, 284, 285, 285, 278, 278, 290, 290, 290, 77,
- 210, 210, 368, 368, 365, 293, 293, 295, 295, 299,
- 299, 303, 303, 300, 300, 8, 412, 412, 412, 291,
+ 314, 314, 317, 317, 224, 224, 122, 122, 222, 222,
+ 223, 225, 225, 217, 217, 217, 217, 219, 219, 202,
+ 202, 202, 227, 227, 228, 228, 106, 107, 107, 108,
+ 108, 229, 229, 231, 230, 230, 232, 233, 233, 233,
+ 234, 234, 235, 235, 235, 49, 49, 49, 49, 49,
+ 44, 44, 44, 44, 45, 45, 45, 45, 137, 137,
+ 137, 137, 139, 139, 138, 138, 82, 82, 83, 83,
+ 83, 143, 143, 144, 144, 144, 141, 141, 142, 142,
+ 252, 252, 252, 252, 252, 252, 252, 236, 236, 236,
+ 243, 243, 243, 239, 239, 241, 241, 241, 242, 242,
+ 242, 240, 249, 249, 251, 251, 250, 250, 246, 246,
+ 247, 247, 248, 248, 248, 244, 244, 201, 201, 201,
+ 201, 201, 253, 253, 253, 253, 306, 306, 306, 265,
+ 265, 212, 212, 214, 214, 213, 213, 163, 266, 266,
+ 274, 271, 271, 272, 272, 298, 298, 298, 275, 275,
+ 288, 288, 284, 284, 285, 285, 278, 278, 290, 290,
+ 290, 77, 210, 210, 368, 368, 365, 293, 293, 295,
+ 295, 299, 299, 303, 303, 300, 300, 8, 413, 413,
+ 413, 291, 291, 291, 291, 291, 291, 291, 291, 291,
291, 291, 291, 291, 291, 291, 291, 291, 291, 291,
291, 291, 291, 291, 291, 291, 291, 291, 291, 291,
291, 291, 291, 291, 291, 291, 291, 291, 291, 291,
@@ -8613,8 +8581,7 @@ var yyR1 = [...]int{
291, 291, 291, 291, 291, 291, 291, 291, 291, 291,
291, 291, 291, 291, 291, 291, 291, 291, 291, 291,
291, 291, 291, 291, 291, 291, 291, 291, 291, 291,
- 291, 291, 291, 291, 291, 291, 291, 291, 291, 292,
- 292, 292, 292, 292, 292, 292, 292, 292, 292, 292,
+ 291, 292, 292, 292, 292, 292, 292, 292, 292, 292,
292, 292, 292, 292, 292, 292, 292, 292, 292, 292,
292, 292, 292, 292, 292, 292, 292, 292, 292, 292,
292, 292, 292, 292, 292, 292, 292, 292, 292, 292,
@@ -8660,8 +8627,8 @@ var yyR1 = [...]int{
292, 292, 292, 292, 292, 292, 292, 292, 292, 292,
292, 292, 292, 292, 292, 292, 292, 292, 292, 292,
292, 292, 292, 292, 292, 292, 292, 292, 292, 292,
- 292, 292, 292, 292, 292, 415, 416, 310, 311, 311,
- 311,
+ 292, 292, 292, 292, 292, 292, 292, 292, 416, 417,
+ 310, 311, 311, 311,
}
var yyR2 = [...]int{
@@ -8765,69 +8732,70 @@ var yyR2 = [...]int{
2, 1, 2, 3, 2, 3, 2, 2, 2, 1,
1, 3, 3, 0, 1, 1, 2, 6, 5, 6,
6, 5, 5, 0, 2, 3, 3, 0, 2, 3,
- 3, 3, 2, 3, 1, 3, 6, 3, 4, 3,
- 1, 3, 4, 5, 6, 3, 4, 5, 6, 3,
- 4, 1, 1, 1, 3, 3, 3, 3, 3, 3,
- 5, 5, 3, 3, 3, 3, 3, 3, 1, 1,
- 1, 1, 1, 3, 1, 1, 1, 2, 2, 2,
- 2, 1, 1, 2, 7, 7, 6, 6, 2, 2,
- 5, 6, 3, 3, 1, 3, 1, 3, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 2, 2,
- 2, 2, 4, 2, 4, 0, 1, 2, 5, 0,
- 3, 0, 1, 4, 4, 2, 1, 0, 0, 1,
- 1, 2, 2, 1, 1, 2, 2, 0, 1, 1,
- 1, 1, 5, 1, 3, 0, 3, 1, 1, 1,
- 2, 1, 2, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 3, 4, 6, 4, 4,
- 8, 8, 6, 8, 6, 5, 4, 10, 2, 2,
- 1, 2, 2, 2, 2, 2, 5, 6, 6, 6,
- 6, 6, 5, 5, 5, 5, 5, 5, 5, 5,
- 5, 5, 8, 4, 8, 8, 6, 5, 4, 4,
- 4, 4, 4, 7, 4, 4, 6, 6, 6, 8,
- 6, 6, 4, 4, 3, 4, 6, 6, 4, 4,
- 6, 4, 6, 4, 4, 4, 4, 4, 4, 6,
- 4, 6, 4, 4, 4, 6, 4, 6, 4, 4,
- 6, 4, 6, 4, 6, 8, 4, 6, 8, 4,
- 6, 8, 4, 6, 8, 4, 6, 8, 4, 6,
+ 3, 3, 2, 3, 1, 3, 6, 1, 1, 3,
+ 4, 3, 1, 3, 4, 5, 6, 3, 4, 5,
+ 6, 3, 4, 1, 1, 1, 3, 3, 3, 3,
+ 3, 3, 5, 5, 3, 3, 3, 3, 3, 3,
+ 1, 1, 1, 1, 1, 3, 1, 1, 1, 2,
+ 2, 2, 2, 1, 1, 2, 7, 7, 6, 6,
+ 2, 2, 5, 6, 3, 3, 1, 3, 1, 3,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 2, 2, 2, 2, 4, 2, 4, 0, 1, 2,
+ 5, 0, 3, 0, 1, 4, 4, 2, 1, 0,
+ 0, 1, 1, 2, 2, 1, 1, 2, 2, 0,
+ 1, 1, 1, 1, 5, 1, 3, 0, 3, 1,
+ 1, 1, 2, 1, 2, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 3, 4, 6,
+ 4, 4, 8, 8, 6, 8, 6, 5, 4, 10,
+ 2, 2, 1, 2, 2, 2, 2, 2, 5, 6,
+ 6, 6, 6, 6, 5, 5, 5, 5, 5, 5,
+ 5, 5, 5, 5, 8, 4, 8, 8, 6, 5,
+ 4, 4, 4, 4, 4, 7, 4, 4, 6, 6,
+ 6, 8, 6, 6, 4, 4, 3, 4, 6, 6,
+ 4, 4, 6, 4, 6, 4, 4, 4, 4, 4,
+ 4, 6, 4, 6, 4, 4, 4, 6, 4, 6,
+ 4, 4, 6, 4, 6, 4, 6, 8, 4, 6,
8, 4, 6, 8, 4, 6, 8, 4, 6, 8,
4, 6, 8, 4, 6, 8, 4, 6, 8, 4,
6, 8, 4, 6, 8, 4, 6, 8, 4, 6,
- 8, 4, 4, 4, 6, 4, 6, 4, 8, 6,
- 4, 4, 6, 4, 6, 8, 4, 6, 8, 4,
- 4, 6, 8, 6, 4, 6, 6, 8, 10, 7,
- 8, 8, 9, 4, 4, 4, 4, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 4, 4, 4,
- 4, 4, 4, 6, 4, 6, 5, 9, 6, 9,
- 8, 6, 8, 8, 8, 6, 1, 1, 1, 1,
- 1, 1, 1, 1, 0, 2, 6, 8, 10, 12,
- 14, 6, 8, 8, 10, 12, 14, 6, 8, 10,
- 12, 6, 8, 4, 4, 3, 4, 6, 6, 4,
- 6, 4, 6, 8, 0, 2, 1, 1, 1, 1,
+ 8, 4, 6, 8, 4, 6, 8, 4, 6, 8,
+ 4, 6, 8, 4, 4, 4, 6, 4, 6, 4,
+ 8, 6, 4, 4, 6, 4, 6, 8, 4, 6,
+ 8, 4, 4, 6, 8, 6, 4, 6, 6, 8,
+ 10, 7, 8, 8, 9, 4, 4, 4, 4, 6,
+ 6, 6, 6, 6, 6, 6, 6, 6, 6, 4,
+ 4, 4, 4, 4, 4, 6, 4, 6, 5, 9,
+ 6, 9, 8, 6, 8, 8, 8, 6, 1, 1,
+ 1, 1, 1, 1, 1, 1, 0, 2, 6, 8,
+ 10, 12, 14, 6, 8, 8, 10, 12, 14, 6,
+ 8, 10, 12, 6, 8, 4, 4, 3, 4, 6,
+ 6, 4, 6, 4, 6, 8, 0, 2, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 0, 2, 0, 2,
+ 3, 4, 4, 4, 4, 4, 0, 3, 4, 7,
+ 3, 1, 1, 1, 0, 5, 5, 2, 3, 1,
+ 2, 2, 1, 2, 1, 2, 2, 1, 2, 2,
+ 1, 1, 0, 1, 0, 1, 0, 2, 1, 2,
+ 4, 0, 2, 1, 1, 3, 5, 1, 1, 1,
+ 2, 2, 0, 3, 0, 2, 2, 1, 3, 0,
+ 1, 0, 1, 3, 1, 3, 2, 0, 1, 1,
+ 0, 1, 2, 4, 4, 0, 2, 2, 1, 1,
+ 3, 3, 3, 3, 3, 3, 3, 3, 0, 3,
+ 3, 3, 0, 3, 1, 1, 0, 4, 0, 1,
+ 1, 0, 3, 1, 3, 2, 1, 1, 0, 1,
+ 2, 3, 4, 2, 3, 4, 4, 9, 3, 5,
+ 0, 3, 3, 0, 1, 0, 2, 2, 0, 2,
+ 2, 2, 0, 2, 1, 2, 3, 3, 0, 2,
+ 1, 2, 3, 4, 3, 0, 1, 3, 1, 6,
+ 5, 4, 1, 3, 3, 5, 0, 2, 5, 0,
+ 5, 1, 3, 1, 2, 3, 4, 1, 1, 3,
+ 3, 1, 2, 1, 1, 1, 1, 1, 1, 1,
+ 0, 1, 0, 2, 0, 3, 0, 1, 0, 1,
+ 1, 5, 0, 1, 0, 1, 2, 1, 1, 1,
+ 1, 1, 1, 0, 1, 1, 1, 3, 0, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 0, 2, 0, 2, 3, 4,
- 4, 4, 4, 4, 0, 3, 4, 7, 3, 1,
- 1, 1, 0, 5, 5, 2, 3, 1, 2, 2,
- 1, 2, 1, 2, 2, 1, 2, 2, 1, 1,
- 0, 1, 0, 1, 0, 2, 1, 2, 4, 0,
- 2, 1, 1, 3, 5, 1, 1, 1, 2, 2,
- 0, 3, 0, 2, 2, 1, 3, 0, 1, 0,
- 1, 3, 1, 3, 2, 0, 1, 1, 0, 1,
- 2, 4, 4, 0, 2, 2, 1, 1, 3, 3,
- 3, 3, 3, 3, 3, 3, 0, 3, 3, 3,
- 0, 3, 1, 1, 0, 4, 0, 1, 1, 0,
- 3, 1, 3, 2, 1, 1, 0, 1, 2, 3,
- 4, 2, 3, 4, 4, 9, 3, 5, 0, 3,
- 3, 0, 1, 0, 2, 2, 0, 2, 2, 2,
- 0, 2, 1, 2, 3, 3, 0, 2, 1, 2,
- 3, 4, 3, 0, 1, 3, 1, 6, 5, 4,
- 1, 3, 3, 5, 0, 2, 5, 0, 5, 1,
- 3, 1, 2, 3, 4, 1, 1, 3, 3, 1,
- 2, 1, 1, 1, 1, 1, 1, 1, 0, 1,
- 0, 2, 0, 3, 0, 1, 0, 1, 1, 5,
- 0, 1, 0, 1, 2, 1, 1, 1, 1, 1,
- 1, 0, 1, 1, 1, 3, 0, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
@@ -8889,430 +8857,429 @@ var yyR2 = [...]int{
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 0, 0, 1,
- 1,
+ 0, 0, 1, 1,
}
var yyChk = [...]int{
- -1000, -413, -79, -418, -7, -29, -15, -16, -17, -18,
+ -1000, -414, -79, -419, -7, -29, -15, -16, -17, -18,
-19, -20, -21, -22, -23, -24, -25, -26, -64, -67,
-65, -66, -69, -70, -71, -72, -73, -9, -11, -68,
-27, -28, -74, -75, -76, -77, -78, -12, -13, -14,
-8, -32, -31, -30, 11, 12, -109, -35, 34, -40,
- -50, 228, -51, -41, 229, -52, 231, 230, 268, 232,
- 381, 261, 76, 317, 318, 320, 321, 322, 323, -110,
- 687, 266, 267, 234, 38, 47, 35, 36, 39, 238,
- 274, 275, 237, 134, -33, -36, 10, -415, 13, 471,
- 263, 262, 30, -34, 581, 88, -80, -414, 735, -252,
+ -50, 229, -51, -41, 230, -52, 232, 231, 269, 233,
+ 382, 262, 76, 318, 319, 321, 322, 323, 324, -110,
+ 688, 267, 268, 235, 38, 47, 35, 36, 39, 239,
+ 275, 276, 238, 135, -33, -36, 10, -416, 13, 472,
+ 264, 263, 30, -34, 582, 88, -80, -415, 736, -252,
-236, 24, 35, 31, -235, -231, -128, -236, 22, 20,
9, -79, -79, -79, 14, 15, -79, -353, -355, 88,
- 161, 88, -79, -57, -56, -54, -53, -55, -58, 33,
- -47, -48, -377, -46, -43, 233, 230, 278, 124, 125,
- 268, 269, 270, 232, 252, 267, 271, 266, 287, -42,
- 83, 35, 581, 584, -360, 229, 235, 236, 231, 472,
- 127, 126, 77, -357, 376, 614, 705, -58, 707, 102,
- 105, 706, 46, 242, 708, 709, 710, 621, 711, 251,
- 712, 713, 714, 715, 721, 662, 722, 723, 724, 128,
- 9, -79, -303, -299, 92, -292, 578, 254, 612, 425,
- 613, 303, 83, 43, 517, 587, 373, 376, 614, 502,
- 705, 382, 317, 333, 327, 507, 508, 509, 356, 348,
- 579, 615, 588, 306, 255, 291, 699, 346, 137, 707,
- 310, 616, 269, 383, 384, 617, 385, 102, 320, 422,
- 720, 309, 618, 718, 105, 706, 325, 81, 501, 53,
- 702, 46, 264, 430, 431, 344, 237, 340, 708, 292,
- 619, 590, 285, 127, 124, 727, 38, 336, 52, 32,
- 717, 126, 51, 709, 152, 620, 710, 621, 387, 363,
- 693, 50, 388, 270, 622, 86, 275, 583, 314, 701,
- 389, 522, 337, 390, 302, 716, 234, 623, 313, 682,
- 674, 675, 391, 392, 694, 368, 364, 369, 524, 624,
- 414, 506, 393, 678, 679, 734, 54, 625, 626, 695,
- 125, 627, 80, 711, 82, 331, 332, 628, 300, 253,
- 527, 528, 416, 360, 484, 491, 492, 112, 113, 487,
- 114, 493, 115, 494, 495, 496, 485, 116, 109, 486,
- 497, 498, 361, 362, 117, 499, 111, 110, 488, 490,
- 118, 500, 251, 37, 394, 580, 304, 60, 308, 279,
- 417, 48, 366, 731, 47, 689, 529, 629, 692, 359,
- 355, 481, 55, 630, 631, 632, 633, 503, 712, 358,
- 330, 354, 726, 4, 297, 476, 504, 713, 64, 236,
- 371, 370, 372, 286, 413, 351, 634, 635, 636, 258,
- 84, 637, 341, 23, 638, 639, 395, 293, 640, 58,
- 641, 642, 420, 267, 643, 56, 714, 41, 644, 272,
- 728, 715, 645, 646, 647, 688, 648, 274, 649, 397,
- 650, 676, 677, 396, 365, 367, 530, 281, 398, 381,
- 239, 582, 651, 315, 335, 271, 719, 652, 259, 518,
- 519, 520, 521, 700, 526, 525, 273, 278, 266, 421,
- 260, 653, 654, 655, 656, 657, 307, 673, 658, 659,
- 321, 721, 482, 45, 660, 661, 662, 663, 664, 301,
- 296, 415, 424, 63, 85, 378, 665, 666, 698, 329,
- 326, 294, 462, 464, 465, 466, 467, 468, 463, 470,
- 667, 318, 57, 722, 723, 724, 288, 725, 510, 511,
- 512, 513, 11, 564, 547, 575, 548, 565, 549, 558,
- 550, 566, 574, 576, 531, 539, 532, 540, 570, 553,
- 567, 559, 552, 551, 573, 556, 560, 533, 541, 571,
- 557, 534, 542, 535, 543, 536, 544, 569, 568, 561,
- 572, 537, 545, 563, 538, 546, 562, 554, 555, 433,
- 732, 733, 505, 400, 128, 298, 299, 49, 352, 280,
- 668, 311, 669, 342, 343, 478, 479, 357, 328, 353,
- 685, 319, 683, 282, 401, 483, 268, 670, 423, 295,
- 374, 379, 312, 586, 523, 287, 402, 697, 585, 514,
- 515, 350, 347, 289, 516, 671, 687, 403, 243, 283,
- 284, 672, 684, 404, 405, 305, 406, 407, 408, 409,
- 410, 412, 316, 411, 686, 680, 681, 290, 461, 584,
- 324, 345, 380, 443, 444, 445, 446, 447, 448, 449,
+ 162, 88, -79, -57, -56, -54, -53, -55, -58, 33,
+ -47, -48, -377, -46, -43, 234, 231, 279, 125, 126,
+ 269, 270, 271, 233, 253, 268, 272, 267, 288, -42,
+ 83, 35, 582, 585, -360, 230, 236, 237, 232, 473,
+ 128, 127, 77, -357, 377, 615, 706, -58, 708, 102,
+ 105, 707, 46, 243, 709, 710, 711, 622, 712, 252,
+ 713, 714, 715, 716, 722, 663, 723, 724, 725, 129,
+ 9, -79, -303, -299, 92, -292, 579, 255, 613, 426,
+ 614, 304, 83, 43, 518, 588, 374, 377, 615, 503,
+ 706, 383, 318, 334, 328, 508, 509, 510, 357, 349,
+ 580, 616, 589, 307, 256, 292, 700, 347, 138, 708,
+ 311, 617, 270, 384, 385, 618, 386, 102, 321, 423,
+ 721, 310, 619, 719, 105, 707, 326, 81, 502, 53,
+ 703, 46, 265, 431, 432, 345, 238, 341, 709, 293,
+ 620, 591, 286, 128, 125, 728, 38, 337, 52, 32,
+ 718, 127, 51, 710, 153, 621, 711, 622, 388, 364,
+ 694, 50, 389, 271, 623, 86, 276, 584, 315, 702,
+ 390, 523, 338, 391, 303, 717, 235, 624, 314, 683,
+ 675, 676, 392, 393, 695, 369, 365, 370, 525, 625,
+ 415, 507, 394, 679, 680, 735, 54, 626, 627, 696,
+ 126, 628, 80, 712, 82, 332, 333, 629, 301, 254,
+ 528, 529, 417, 361, 485, 492, 493, 112, 113, 488,
+ 114, 494, 115, 495, 496, 497, 486, 116, 109, 487,
+ 498, 499, 362, 363, 117, 500, 111, 110, 489, 491,
+ 118, 501, 252, 37, 395, 581, 305, 60, 309, 280,
+ 418, 48, 367, 732, 47, 690, 530, 630, 693, 360,
+ 356, 482, 55, 631, 632, 633, 634, 504, 713, 359,
+ 331, 355, 727, 4, 298, 477, 505, 714, 64, 237,
+ 372, 371, 373, 287, 414, 352, 635, 636, 637, 259,
+ 84, 638, 342, 23, 639, 640, 396, 294, 641, 58,
+ 642, 643, 421, 268, 644, 56, 715, 41, 645, 273,
+ 729, 716, 646, 647, 648, 689, 649, 275, 650, 398,
+ 651, 677, 678, 397, 366, 368, 531, 282, 399, 382,
+ 240, 583, 652, 316, 336, 272, 720, 653, 260, 519,
+ 520, 521, 522, 701, 527, 526, 274, 279, 267, 422,
+ 261, 654, 655, 656, 657, 658, 308, 674, 659, 660,
+ 322, 722, 483, 45, 661, 662, 663, 664, 665, 302,
+ 297, 416, 425, 63, 85, 379, 666, 667, 699, 330,
+ 327, 295, 463, 465, 466, 467, 468, 469, 464, 471,
+ 668, 319, 57, 723, 724, 725, 289, 726, 511, 512,
+ 513, 514, 11, 565, 548, 576, 549, 566, 550, 559,
+ 551, 567, 575, 577, 532, 540, 533, 541, 571, 554,
+ 568, 560, 553, 552, 574, 557, 561, 534, 542, 572,
+ 558, 535, 543, 536, 544, 537, 545, 570, 569, 562,
+ 573, 538, 546, 564, 539, 547, 563, 555, 556, 434,
+ 733, 734, 506, 401, 129, 299, 300, 49, 353, 281,
+ 669, 312, 670, 343, 344, 479, 480, 358, 329, 354,
+ 686, 320, 684, 283, 402, 484, 269, 671, 424, 296,
+ 375, 121, 380, 313, 587, 524, 288, 403, 698, 586,
+ 515, 516, 351, 348, 290, 517, 672, 688, 404, 244,
+ 284, 285, 673, 685, 405, 406, 306, 407, 408, 409,
+ 410, 411, 413, 317, 412, 687, 681, 682, 291, 462,
+ 585, 325, 346, 381, 444, 445, 446, 447, 448, 449,
450, 451, 452, 453, 454, 455, 456, 457, 458, 459,
- 460, 480, 241, -79, 241, -190, -299, -130, 689, 691,
- 180, -271, 384, -289, 386, 399, 394, 404, 392, -280,
- 395, 397, 281, -400, 414, 241, 401, 228, 387, 396,
- 405, 406, 305, 412, 407, 316, 411, 290, 408, 409,
- 410, -384, 180, 710, 725, 137, 349, 391, 389, 415,
- 689, 92, -305, 92, 93, 94, -292, 319, -308, 324,
- -293, -384, -292, 322, -79, -79, -310, -310, -130, -209,
- -145, 145, -159, -260, -162, 93, -150, -153, -203, -204,
- -205, -206, -160, -219, -258, 169, 170, 177, 146, -215,
- -163, 28, 577, 473, 472, 180, 33, 223, 70, 71,
- 475, 476, 148, 59, 13, 438, 439, -161, 428, 429,
- 440, 434, 435, 501, 503, 504, 505, 502, 507, 508,
- 509, 510, 511, 512, 513, 514, 515, 516, 506, 517,
- 478, 479, 119, 480, 109, 111, 110, 481, 482, 483,
- 346, 529, 530, 524, 527, 528, 526, 525, 361, 362,
- 484, 547, 548, 552, 551, 549, 550, 553, 556, 557,
- 558, 559, 560, 561, 563, 562, 554, 555, 532, 531,
- 533, 534, 535, 536, 537, 538, 540, 539, 541, 542,
- 543, 544, 545, 546, 564, 565, 566, 567, 568, 570,
- 569, 574, 573, 571, 572, 576, 575, 485, 486, 112,
- 113, 114, 115, 116, 117, 118, 487, 490, 488, 489,
- 491, 492, 493, 498, 499, 494, 495, 496, 497, 500,
- 372, 370, 371, 367, 366, 365, -89, -102, 603, 602,
- -103, 425, 430, 431, 433, -151, -152, -165, -166, -293,
- -299, 246, 427, 240, 175, 471, -154, -148, -217, 108,
- 94, -31, -213, 426, 436, 437, 441, 432, 442, 589,
- 591, 606, 607, 609, 594, 599, 598, 601, 518, 519,
- 520, 521, 522, 523, 674, 675, 676, 677, 678, 679,
- 680, 681, -384, -292, 92, -157, -155, -199, 95, 100,
- 103, 104, 106, -406, 264, 342, 343, 120, -415, 703,
- -156, 97, 98, 99, 121, 122, 181, 182, 183, 184,
+ 460, 461, 481, 242, -79, 242, -190, -299, -130, 690,
+ 692, 181, -271, 385, -289, 387, 400, 395, 405, 393,
+ -280, 396, 398, 282, -400, 415, 242, 402, 229, 388,
+ 397, 406, 407, 306, 413, 408, 317, 412, 291, 409,
+ 410, 411, -384, 181, 711, 726, 138, 350, 392, 390,
+ 416, 690, 92, -305, 92, 93, 94, -292, 320, -308,
+ 325, -293, -384, -292, 323, -79, -79, -310, -310, -130,
+ -209, -145, 146, -159, -260, -162, 93, -150, -153, -203,
+ -204, -205, -206, -160, -219, -258, 170, 171, 178, 147,
+ -215, -163, 28, 578, 474, 473, 181, 33, 224, 70,
+ 71, 476, 477, 149, 59, 13, 439, 440, -161, 429,
+ 430, 441, 435, 436, 502, 504, 505, 506, 503, 508,
+ 509, 510, 511, 512, 513, 514, 515, 516, 517, 507,
+ 518, 479, 480, 119, 481, 109, 111, 110, 482, 483,
+ 484, 347, 530, 531, 525, 528, 529, 527, 526, 362,
+ 363, 485, 548, 549, 553, 552, 550, 551, 554, 557,
+ 558, 559, 560, 561, 562, 564, 563, 555, 556, 533,
+ 532, 534, 535, 536, 537, 538, 539, 541, 540, 542,
+ 543, 544, 545, 546, 547, 565, 566, 567, 568, 569,
+ 571, 570, 575, 574, 572, 573, 577, 576, 486, 487,
+ 112, 113, 114, 115, 116, 117, 118, 488, 491, 489,
+ 490, 492, 493, 494, 499, 500, 495, 496, 497, 498,
+ 501, 373, 371, 372, 368, 367, 366, -89, -102, 604,
+ 603, -103, 426, 431, 432, 434, -151, -152, -165, -166,
+ -293, -299, 247, 428, 241, 176, 472, -154, -148, -217,
+ 108, 94, -31, -213, 427, 437, 438, 442, 433, 443,
+ 590, 592, 607, 608, 610, 595, 600, 599, 602, 519,
+ 520, 521, 522, 523, 524, 675, 676, 677, 678, 679,
+ 680, 681, 682, -384, -292, 92, -157, -155, -199, 95,
+ 100, 103, 104, 106, -406, 265, 343, 344, 120, -416,
+ 704, -156, 97, 98, 99, 122, 123, 182, 183, 184,
185, 186, 187, 188, 189, 190, 191, 192, 193, 194,
195, 196, 197, 198, 199, 200, 201, 202, 203, 204,
205, 206, 207, 208, 209, 210, 211, 212, 213, 214,
- 215, 216, 217, 218, 219, 220, 221, 222, 91, 96,
- 46, 400, 400, -190, -79, -79, -79, -79, -412, 706,
- 582, -229, -128, -231, -33, -31, -415, 10, -79, -31,
- -32, -30, -36, -38, 608, -37, -299, 101, -236, -252,
- 14, 63, 164, 44, 52, -234, -235, -34, -31, -145,
- 21, 25, 26, -132, 171, -145, -299, -132, -278, 245,
- -79, -79, -267, -313, 319, -269, 415, 689, 414, -259,
- -272, 92, -258, -271, 413, 93, -354, 161, -340, -344,
- -293, 256, -370, 252, -190, -363, -362, -293, -415, -129,
- -288, 242, 250, 249, 138, -387, 141, 298, 427, 240,
- -53, -54, -55, -271, 179, 709, -111, 273, 277, 89,
- 89, -344, -343, -342, -388, 277, 256, -369, -361, 248,
- 257, -350, 249, 250, -345, 242, 139, -388, -345, 247,
- 257, 252, 256, 277, 277, 128, 277, 128, 277, 277,
- 277, 277, 277, 277, 277, 277, 277, 272, -351, 153,
- -351, 585, 585, -357, -388, 252, 242, -388, -388, 248,
- -290, -345, 244, 27, 244, 37, 37, -351, -351, -351,
- -271, 179, -351, -351, -351, -351, 285, 285, -351, -351,
+ 215, 216, 217, 218, 219, 220, 221, 222, 223, 91,
+ 96, 46, 401, 401, -190, -79, -79, -79, -79, -413,
+ 707, 583, -229, -128, -231, -33, -31, -416, 10, -79,
+ -31, -32, -30, -36, -38, 609, -37, -299, 101, -236,
+ -252, 14, 63, 165, 44, 52, -234, -235, -34, -31,
+ -145, 21, 25, 26, -132, 172, -145, -299, -132, -278,
+ 246, -79, -79, -267, -313, 320, -269, 416, 690, 415,
+ -259, -272, 92, -258, -271, 414, 93, -354, 162, -340,
+ -344, -293, 257, -370, 253, -190, -363, -362, -293, -416,
+ -129, -288, 243, 251, 250, 139, -387, 142, 299, 428,
+ 241, -53, -54, -55, -271, 180, 710, -111, 274, 278,
+ 89, 89, -344, -343, -342, -388, 278, 257, -369, -361,
+ 249, 258, -350, 250, 251, -345, 243, 140, -388, -345,
+ 248, 258, 253, 257, 278, 278, 129, 278, 129, 278,
+ 278, 278, 278, 278, 278, 278, 278, 278, 273, -351,
+ 154, -351, 586, 586, -357, -388, 253, 243, -388, -388,
+ 249, -290, -345, 245, 27, 245, 37, 37, -351, -351,
+ -351, -271, 180, -351, -351, -351, -351, 286, 286, -351,
-351, -351, -351, -351, -351, -351, -351, -351, -351, -351,
- -351, -351, -351, -351, -351, 241, -387, -137, 411, 305,
- 83, -56, 287, -39, -190, -288, 242, 243, -387, 274,
- -190, 224, 241, 692, -282, 161, 17, -282, -279, 400,
- 398, 385, 390, -282, -282, -282, -282, 288, 383, -346,
- 242, 37, 253, 400, 288, 383, 288, 289, 288, 289,
- 393, 403, 288, -304, 16, 164, 427, 388, 392, 281,
- 241, 282, 243, 402, 289, -304, 91, -283, 161, 288,
- 400, 394, 284, -282, -282, -311, -415, -295, -293, -291,
- 233, 25, 144, 27, 29, 147, 180, 131, 21, 148,
- 39, 235, 349, 252, 179, 248, 472, 228, 74, 589,
- 428, 435, 426, 434, 438, 474, 475, 427, 386, 33,
- 15, 591, 30, 262, 26, 40, 173, 230, 151, 592,
- 265, 28, 263, 119, 122, 594, 24, 77, 257, 16,
- 250, 42, 18, 595, 596, 19, 246, 245, 164, 242,
- 72, 13, 223, 31, 160, 68, 597, 139, 134, 598,
- 599, 600, 601, 132, 70, 161, 22, 729, 436, 437,
- 35, 690, 577, 276, 175, 75, 61, 691, 145, 432,
- 602, 603, 120, 604, 123, 78, 696, 141, 20, 73,
- 44, 605, 277, 606, 247, 730, 607, 418, 608, 162,
- 231, 471, 71, 163, 703, 609, 704, 240, 399, 10,
- 477, 34, 261, 249, 130, 69, 442, 610, 241, 150,
- 244, 133, 121, 9, 138, 36, 14, 76, 79, 439,
- 440, 441, 59, 129, 581, 149, 17, 611, 419, 143,
- -384, 692, -311, -311, 34, 93, -409, -410, -411, 581,
- 418, 244, -293, -190, -85, 682, 232, -86, 688, 25,
- 239, -135, 400, -123, 180, 710, 693, 694, 695, 692,
- 397, 700, 698, 696, 288, 697, 89, 141, 143, 144,
- 4, -145, 160, -200, 153, 154, 155, 156, 157, 158,
- 159, 165, 164, 145, 147, 161, -245, 142, 166, 167,
- 168, 169, 170, 171, 172, 174, 173, 175, 176, 162,
- 163, 179, 226, 227, -153, -153, -153, -153, -215, -221,
- -220, -415, -217, -384, -292, -299, -415, -415, -153, -277,
- -415, -150, -415, -415, -415, -415, -415, -224, -145, -415,
- -415, -419, -415, -419, -419, -419, -329, -415, -329, -329,
- -415, -415, -415, -415, -415, -415, -415, -415, -415, -415,
- -415, -415, -415, -415, -415, -415, -415, -415, -415, -415,
- -415, -415, -415, -415, -415, -415, -415, -415, -415, -415,
- -415, -415, -415, -415, -415, -415, -415, -415, -415, -415,
- -415, -415, -415, -415, -415, -415, -415, -415, -415, -415,
- -415, -415, -415, -415, -415, -415, -415, -415, -415, -415,
- -415, -415, -415, -415, -415, -415, -415, -415, -415, -415,
- -415, -415, -415, -415, -415, -415, -415, -415, -415, -415,
- -415, -415, -415, -415, -415, -415, -415, -415, -415, -415,
- -415, -415, -415, -415, -415, -415, -415, -415, -415, -415,
- -415, -415, -415, -415, -415, -415, -415, -415, -415, -415,
- -415, -415, -415, -415, -415, -415, -415, -415, -415, -415,
- -415, -415, -415, 224, -415, -415, -415, -415, -415, -329,
- -329, -329, -329, -329, -329, -415, -415, -415, -415, -415,
- -415, -415, -415, -415, -415, -415, -415, -415, -415, 91,
- 104, 100, 103, 95, -219, 106, 91, 91, 91, 91,
- -31, -32, -209, -415, -310, -397, -398, -193, -190, -415,
- 305, -293, -293, 274, 97, -234, -34, -31, -229, -235,
- -231, -31, -79, -121, -134, 65, 66, -133, -136, 26,
- 40, 69, 67, 25, -416, 90, -416, -252, -416, 89,
- -38, -255, 88, 636, 666, 636, 666, 63, 45, 91,
- 91, 89, 23, -230, -232, -145, 16, -297, 4, -296,
- 27, -293, 91, 224, 16, -191, 31, -190, -278, -278,
- 89, 92, 319, -268, -270, 416, 418, 153, -298, -293,
- 91, 33, 90, 89, -190, -318, -321, -323, -322, -324,
- -319, -320, 346, 347, 180, 350, 352, 353, 354, 355,
- 356, 357, 358, 359, 360, 363, 34, 264, 342, 343,
- 344, 345, 364, 365, 366, 367, 369, 370, 371, 372,
- 327, 348, 579, 328, 329, 330, 331, 332, 333, 335,
- 336, 339, 337, 338, 340, 341, -294, -293, 88, 90,
- 89, -328, 88, -145, -137, 241, -293, 242, 242, 242,
- -79, 471, -351, -351, -351, 272, 21, -46, -43, -377,
- 20, -42, -43, 233, 124, 125, 230, 88, -340, 88,
- -349, -294, -293, 88, 139, 247, 138, -348, -345, -348,
- -349, -293, -217, -293, 139, 139, -293, -293, -264, -293,
- -264, -264, 25, -264, 25, -264, 25, 97, -293, -264,
- 25, -264, 25, -264, 25, -264, 25, -264, 25, 33,
- 80, 81, 82, 33, 84, 85, 86, -217, -293, -293,
- -217, -340, -217, -190, -293, -271, 97, 97, 97, -351,
- -351, 97, 91, 91, 91, -351, -351, 97, 91, -301,
- -299, 91, 91, -389, 258, 302, 304, 97, 97, 97,
- 97, 33, 91, -390, 33, 717, 716, 718, 719, 720,
- 91, 97, 33, 97, 33, 97, -293, 88, -190, -143,
- 292, 228, 230, 233, 78, 91, 308, 309, 306, 311,
- 312, 313, 153, 46, 89, 244, 241, -293, -284, 246,
- -284, -293, -300, -299, -291, -190, 244, 382, 91, -145,
- -347, 16, 164, -304, -304, -282, -190, -347, -304, -282,
- -190, -282, -282, -282, -282, -304, -304, -304, -282, -299,
- -299, -190, -190, -190, -190, -190, -190, -190, -311, -283,
- -282, 692, 91, -276, 16, 78, -311, -311, 89, 325,
- 419, 420, -309, 322, -81, -293, 91, -10, -29, -18,
- -17, -19, 153, -10, 89, 581, -183, -190, 692, 692,
- 692, 692, 692, 692, -145, -145, -145, -145, 604, -207,
- 120, 145, 121, 122, -162, -145, -208, -213, -215, 107,
- 164, 147, 161, -245, -150, -153, -150, -150, -150, -150,
- -150, -150, 223, -150, 223, -150, -150, -150, -150, -150,
- -150, -312, -293, 91, 180, -158, -157, 106, -406, -158,
- 578, 89, -220, 224, -145, -145, -384, -119, 444, 445,
- 446, 447, 449, 450, 451, 454, 455, 459, 460, 443,
- 461, 448, 453, 456, 457, 458, 452, 345, -145, -210,
- -209, -210, -145, -145, -222, -223, 149, -217, -145, -416,
- -416, 97, 171, -127, 26, 40, -127, -127, -127, -127,
- -145, -145, -145, -145, -145, -145, -145, -145, -145, -145,
- -127, -145, -120, 443, 461, 448, 453, 456, 457, 458,
- 452, 345, 462, 463, 464, 465, 466, 467, 468, 469,
- 470, -120, -119, -145, -145, -145, -145, -145, -145, -87,
- -145, 131, 132, 133, -209, -145, -150, -145, -145, -145,
- -416, -145, -145, -145, -210, -145, -145, -145, -145, -145,
+ -351, -351, -351, -351, -351, -351, 242, -387, -137, 412,
+ 306, 83, -56, 288, -39, -190, -288, 243, 244, -387,
+ 275, -190, 225, 242, 693, -282, 162, 17, -282, -279,
+ 401, 399, 386, 391, -282, -282, -282, -282, 289, 384,
+ -346, 243, 37, 254, 401, 289, 384, 289, 290, 289,
+ 290, 394, 404, 289, -304, 16, 165, 428, 389, 393,
+ 282, 242, 283, 244, 403, 290, -304, 91, -283, 162,
+ 289, 401, 395, 285, -282, -282, -311, -416, -295, -293,
+ -291, 234, 25, 145, 27, 29, 148, 181, 132, 21,
+ 149, 39, 236, 350, 253, 180, 249, 473, 229, 74,
+ 590, 429, 436, 427, 435, 439, 475, 476, 428, 387,
+ 33, 15, 592, 30, 263, 26, 40, 174, 231, 152,
+ 593, 266, 28, 264, 119, 123, 595, 24, 77, 258,
+ 16, 251, 42, 18, 596, 597, 19, 247, 246, 165,
+ 243, 72, 13, 224, 31, 161, 68, 598, 140, 135,
+ 599, 600, 601, 602, 133, 70, 162, 22, 730, 437,
+ 438, 35, 691, 578, 277, 176, 75, 61, 692, 146,
+ 433, 603, 604, 120, 605, 124, 78, 697, 142, 20,
+ 73, 44, 606, 278, 607, 248, 731, 608, 419, 609,
+ 163, 232, 472, 71, 164, 704, 610, 705, 241, 400,
+ 10, 478, 34, 262, 250, 131, 69, 443, 611, 242,
+ 151, 245, 134, 122, 9, 139, 36, 14, 76, 79,
+ 440, 441, 442, 59, 130, 582, 150, 17, 612, 420,
+ 144, -384, 693, -311, -311, 34, 93, -410, -411, -412,
+ 582, 419, 245, -293, -190, -85, 683, 233, -86, 689,
+ 25, 240, -135, 401, -123, 181, 711, 694, 695, 696,
+ 693, 398, 701, 699, 697, 289, 698, 89, 142, 144,
+ 145, 4, -145, 161, -200, 154, 155, 156, 157, 158,
+ 159, 160, 166, 165, 146, 148, 162, -245, 143, 167,
+ 168, 169, 170, 171, 172, 173, 175, 174, 176, 177,
+ 163, 164, 180, 227, 228, -153, -153, -153, -153, -215,
+ -221, -220, -416, -217, -384, -292, -299, -416, -416, -153,
+ -277, -416, -150, -416, -416, -416, -416, -416, -224, -145,
+ -416, -416, -420, -416, -420, -420, -420, -329, -416, -329,
+ -329, -416, -416, -416, -416, -416, -416, -416, -416, -416,
+ -416, -416, -416, -416, -416, -416, -416, -416, -416, -416,
+ -416, -416, -416, -416, -416, -416, -416, -416, -416, -416,
+ -416, -416, -416, -416, -416, -416, -416, -416, -416, -416,
+ -416, -416, -416, -416, -416, -416, -416, -416, -416, -416,
+ -416, -416, -416, -416, -416, -416, -416, -416, -416, -416,
+ -416, -416, -416, -416, -416, -416, -416, -416, -416, -416,
+ -416, -416, -416, -416, -416, -416, -416, -416, -416, -416,
+ -416, -416, -416, -416, -416, -416, -416, -416, -416, -416,
+ -416, -416, -416, -416, -416, -416, -416, -416, -416, -416,
+ -416, -416, -416, -416, -416, -416, -416, -416, -416, -416,
+ -416, -416, -416, -416, -416, -416, -416, -416, -416, -416,
+ -416, -416, -416, -416, 225, -416, -416, -416, -416, -416,
+ -329, -329, -329, -329, -329, -329, -416, -416, -416, -416,
+ -416, -416, -416, -416, -416, -416, -416, -416, -416, -416,
+ 91, 104, 100, 103, 95, -219, 106, 91, 91, 91,
+ 91, -31, -32, -209, -416, -310, -397, -398, -193, -190,
+ -416, 306, -293, -293, 275, 97, -234, -34, -31, -229,
+ -235, -231, -31, -79, -121, -134, 65, 66, -133, -136,
+ 26, 40, 69, 67, 25, -417, 90, -417, -252, -417,
+ 89, -38, -255, 88, 637, 667, 637, 667, 63, 45,
+ 91, 91, 89, 23, -230, -232, -145, 16, -297, 4,
+ -296, 27, -293, 91, 225, 16, -191, 31, -190, -278,
+ -278, 89, 92, 320, -268, -270, 417, 419, 154, -298,
+ -293, 91, 33, 90, 89, -190, -318, -321, -323, -322,
+ -324, -319, -320, 347, 348, 181, 351, 353, 354, 355,
+ 356, 357, 358, 359, 360, 361, 364, 34, 265, 343,
+ 344, 345, 346, 365, 366, 367, 368, 370, 371, 372,
+ 373, 328, 349, 580, 329, 330, 331, 332, 333, 334,
+ 336, 337, 340, 338, 339, 341, 342, -294, -293, 88,
+ 90, 89, -328, 88, -145, -137, 242, -293, 243, 243,
+ 243, -79, 472, -351, -351, -351, 273, 21, -46, -43,
+ -377, 20, -42, -43, 234, 125, 126, 231, 88, -340,
+ 88, -349, -294, -293, 88, 140, 248, 139, -348, -345,
+ -348, -349, -293, -217, -293, 140, 140, -293, -293, -264,
+ -293, -264, -264, 25, -264, 25, -264, 25, 97, -293,
+ -264, 25, -264, 25, -264, 25, -264, 25, -264, 25,
+ 33, 80, 81, 82, 33, 84, 85, 86, -217, -293,
+ -293, -217, -340, -217, -190, -293, -271, 97, 97, 97,
+ -351, -351, 97, 91, 91, 91, -351, -351, 97, 91,
+ -301, -299, 91, 91, -389, 259, 303, 305, 97, 97,
+ 97, 97, 33, 91, -390, 33, 718, 717, 719, 720,
+ 721, 91, 97, 33, 97, 33, 97, -293, 88, -190,
+ -143, 293, 229, 231, 234, 78, 91, 309, 310, 307,
+ 312, 313, 314, 154, 46, 89, 245, 242, -293, -284,
+ 247, -284, -293, -300, -299, -291, -190, 245, 383, 91,
+ -145, -347, 16, 165, -304, -304, -282, -190, -347, -304,
+ -282, -190, -282, -282, -282, -282, -304, -304, -304, -282,
+ -299, -299, -190, -190, -190, -190, -190, -190, -190, -311,
+ -283, -282, 693, 91, -276, 16, 78, -311, -311, 89,
+ 326, 420, 421, -309, 323, -81, -293, 91, -10, -29,
+ -18, -17, -19, 154, -10, 89, 582, -183, -190, 693,
+ 693, 693, 693, 693, 693, -145, -145, -145, -145, 605,
+ -207, -408, 146, 122, 123, 120, 121, -162, -145, -208,
+ -213, -215, 107, 165, 148, 162, -245, -150, -153, -150,
+ -150, -150, -150, -150, -150, 224, -150, 224, -150, -150,
+ -150, -150, -150, -150, -312, -293, 91, 181, -158, -157,
+ 106, -406, -158, 579, 89, -220, 225, -145, -145, -384,
+ -119, 445, 446, 447, 448, 450, 451, 452, 455, 456,
+ 460, 461, 444, 462, 449, 454, 457, 458, 459, 453,
+ 346, -145, -210, -209, -210, -145, -145, -222, -223, 150,
+ -217, -145, -417, -417, 97, 172, -127, 26, 40, -127,
+ -127, -127, -127, -145, -145, -145, -145, -145, -145, -145,
+ -145, -145, -145, -127, -145, -120, 444, 462, 449, 454,
+ 457, 458, 459, 453, 346, 463, 464, 465, 466, 467,
+ 468, 469, 470, 471, -120, -119, -145, -145, -145, -145,
+ -145, -145, -87, -145, 132, 133, 134, -209, -145, -150,
+ -145, -145, -145, -417, -145, -145, -145, -210, -145, -145,
-145, -145, -145, -145, -145, -145, -145, -145, -145, -145,
-145, -145, -145, -145, -145, -145, -145, -145, -145, -145,
-145, -145, -145, -145, -145, -145, -145, -145, -145, -145,
-145, -145, -145, -145, -145, -145, -145, -145, -145, -145,
- -145, -383, -382, -381, -145, -145, -145, -145, -145, -145,
+ -145, -145, -145, -145, -383, -382, -381, -145, -145, -145,
-145, -145, -145, -145, -145, -145, -145, -145, -145, -145,
- -145, -145, -145, -145, -145, -145, -145, -209, -209, -209,
- -209, -209, -145, -416, -145, -164, -148, 97, -260, 106,
- 93, -145, -145, -145, -145, -145, -145, -210, -295, -300,
- -291, -292, -209, -210, -210, -209, -209, -145, -145, -145,
- -145, -145, -145, -145, -145, -416, -145, -145, -145, -145,
- -145, -252, -416, -209, 89, -399, 418, 419, 690, -302,
- 277, -301, 27, -210, 91, 16, -262, 79, -293, -234,
- -234, 65, 66, 61, -131, -132, -136, -416, -37, 27,
- -254, -293, 629, 629, 64, 91, -330, -271, 373, 374,
- 180, -145, -145, 89, -233, 29, 30, -190, -296, 171,
- -300, -190, -263, 277, -190, -168, -170, -171, -172, -193,
- -216, -415, -173, -31, 600, 597, 16, -183, -184, -192,
- -299, -269, -313, -268, 89, 417, 419, 420, 78, 123,
- -145, -331, 179, -359, -358, -357, -340, -342, -343, -344,
- 90, -331, -336, 379, 378, -328, -328, -328, -328, -328,
- -330, -330, -330, -330, 88, 88, -328, -328, -328, -328,
- -333, 88, -333, -333, -334, -333, 88, -334, -335, 88,
- -335, -370, -145, -367, -366, -364, -365, 251, 102, 672,
- 628, 581, 621, 662, 79, -362, -233, 97, -416, -143,
- -285, 246, -368, -365, -293, -293, -293, -285, 92, 91,
- 92, 91, 92, 91, -112, -60, -1, 729, 730, 731,
- 89, 21, -341, -340, -59, 302, -373, -374, 277, -369,
- -363, -349, 139, -348, -349, -349, -293, 89, 31, 128,
- 128, 128, 128, 581, 230, 34, -286, 620, 145, 672,
- 628, -340, -59, 244, 244, -312, -312, -312, 91, 91,
- -281, 725, -183, -139, 294, 153, 283, 283, 241, 296,
- 241, 296, -190, 307, 310, 308, 309, 306, 311, 312,
- 313, 25, 25, 25, 25, 25, 25, 295, 297, 299,
- 285, -190, -190, -284, 78, -185, -190, 28, -299, 91,
- 91, -190, -282, -282, -190, -282, -282, -190, -411, 326,
- -293, 360, 683, 685, -123, 418, 89, 581, 24, -124,
- 24, -415, 120, 121, 122, -208, -150, -153, -150, 144,
- 265, -150, -150, -415, -217, -416, -295, 27, 89, 79,
- -416, 169, 89, -416, -416, 89, 16, 89, -225, -223,
- 151, -145, -416, 89, -416, -416, -209, -145, -145, -145,
- -145, -416, -416, -416, -416, -416, -416, -416, -416, -416,
- -416, -209, -416, 89, 89, 16, -316, 27, -416, -416,
- -416, -416, -416, -224, -416, 16, -416, 79, 89, 164,
- 89, -416, -416, -416, 89, 89, -416, -416, 89, -416,
- 89, -416, -416, -416, -416, -416, -416, 89, -416, 89,
- -416, -416, -416, 89, -416, 89, -416, -416, 89, -416,
- 89, -416, 89, -416, 89, -416, 89, -416, 89, -416,
- 89, -416, 89, -416, 89, -416, 89, -416, 89, -416,
- 89, -416, 89, -416, 89, -416, 89, -416, 89, -416,
- 89, -416, 89, -416, -416, -416, 89, -416, 89, -416,
- 89, -416, -416, 89, -416, 89, -416, 89, -416, 89,
- 89, -416, 89, 89, 89, -416, 89, 89, 89, 89,
- -416, -416, -416, -416, 89, 89, 89, 89, 89, 89,
- 89, 89, 89, 89, -416, -416, -416, -416, -416, -416,
- 89, -94, 605, -416, -416, 89, -416, 89, 89, 89,
- 89, 89, -416, -415, 224, -416, -416, -416, -416, -416,
- 89, 89, 89, 89, 89, 89, -416, -416, -416, 89,
- 89, -416, 89, -416, 89, -416, -398, 689, 419, -197,
- -196, -194, 76, 245, 77, -415, -301, -416, -158, -260,
- -261, -260, -202, -293, 97, 106, -236, -167, 89, -169,
- 16, -215, 90, 89, -330, -240, -246, -279, -293, 91,
- 180, -332, 180, -332, 373, 374, -232, 224, -198, 17,
- -201, 34, 59, -29, -415, -415, 34, 89, -186, -188,
- -187, -189, 68, 72, 74, 69, 70, 71, 75, -307,
- 27, -31, -168, -31, -415, -190, -183, -417, 16, 79,
- -417, 89, 224, -270, -273, 421, 418, 424, -384, 91,
- -111, 89, -357, -344, -237, -140, 42, -337, 380, -330,
- 588, -330, -339, 91, -339, 97, 97, 97, 90, -49,
- -44, -45, 35, 83, -364, -351, 91, 41, -351, -351,
- -293, 90, -233, -139, -190, 145, 78, -368, -368, -368,
- -299, -2, 728, 734, 139, 88, 385, 20, -254, 89,
- 90, -218, 303, 90, -113, -293, 90, 88, -349, -349,
- -293, -415, 241, 33, 33, 672, 628, 620, -59, -218,
- -217, -293, -331, 727, 726, 90, 243, 301, -144, 438,
- -141, 91, 92, -190, -190, -190, -190, -190, -190, 233,
- 230, 408, -407, 314, -407, 286, 244, -183, -190, 89,
- -84, 260, 255, -304, -304, 35, -190, 418, 701, 699,
- -145, 144, 265, -162, -153, -119, -119, -150, -314, 180,
- 346, 264, 344, 340, 360, 351, 378, 342, 379, 337,
- 336, 335, -314, -312, -150, -209, -145, -145, -145, 152,
- -145, 150, -145, -95, -94, -416, -416, -416, -416, -416,
- -95, -95, -95, -95, -95, -95, -95, -95, -95, -95,
- -229, -145, -145, -145, -416, 180, 346, 16, -145, -312,
-145, -145, -145, -145, -145, -145, -145, -145, -145, -145,
+ -209, -209, -209, -209, -209, -145, -417, -145, -164, -148,
+ 97, -260, 106, 93, -145, -145, -145, -145, -145, -145,
+ -210, -295, -300, -291, -292, -209, -210, -210, -209, -209,
+ -145, -145, -145, -145, -145, -145, -145, -145, -417, -145,
+ -145, -145, -145, -145, -252, -417, -209, 89, -399, 419,
+ 420, 691, -302, 278, -301, 27, -210, 91, 16, -262,
+ 79, -293, -234, -234, 65, 66, 61, -131, -132, -136,
+ -417, -37, 27, -254, -293, 630, 630, 64, 91, -330,
+ -271, 374, 375, 181, -145, -145, 89, -233, 29, 30,
+ -190, -296, 172, -300, -190, -263, 278, -190, -168, -170,
+ -171, -172, -193, -216, -416, -173, -31, 601, 598, 16,
+ -183, -184, -192, -299, -269, -313, -268, 89, 418, 420,
+ 421, 78, 124, -145, -331, 180, -359, -358, -357, -340,
+ -342, -343, -344, 90, -331, -336, 380, 379, -328, -328,
+ -328, -328, -328, -330, -330, -330, -330, 88, 88, -328,
+ -328, -328, -328, -333, 88, -333, -333, -334, -333, 88,
+ -334, -335, 88, -335, -370, -145, -367, -366, -364, -365,
+ 252, 102, 673, 629, 582, 622, 663, 79, -362, -233,
+ 97, -417, -143, -285, 247, -368, -365, -293, -293, -293,
+ -285, 92, 91, 92, 91, 92, 91, -112, -60, -1,
+ 730, 731, 732, 89, 21, -341, -340, -59, 303, -373,
+ -374, 278, -369, -363, -349, 140, -348, -349, -349, -293,
+ 89, 31, 129, 129, 129, 129, 582, 231, 34, -286,
+ 621, 146, 673, 629, -340, -59, 245, 245, -312, -312,
+ -312, 91, 91, -281, 726, -183, -139, 295, 154, 284,
+ 284, 242, 297, 242, 297, -190, 308, 311, 309, 310,
+ 307, 312, 313, 314, 25, 25, 25, 25, 25, 25,
+ 296, 298, 300, 286, -190, -190, -284, 78, -185, -190,
+ 28, -299, 91, 91, -190, -282, -282, -190, -282, -282,
+ -190, -412, 327, -293, 361, 684, 686, -123, 419, 89,
+ 582, 24, -124, 24, -416, -408, 122, 123, -208, -150,
+ -153, -150, 145, 266, -150, -150, -416, -217, -417, -295,
+ 27, 89, 79, -417, 170, 89, -417, -417, 89, 16,
+ 89, -225, -223, 152, -145, -417, 89, -417, -417, -209,
+ -145, -145, -145, -145, -417, -417, -417, -417, -417, -417,
+ -417, -417, -417, -417, -209, -417, 89, 89, 16, -316,
+ 27, -417, -417, -417, -417, -417, -224, -417, 16, -417,
+ 79, 89, 165, 89, -417, -417, -417, 89, 89, -417,
+ -417, 89, -417, 89, -417, -417, -417, -417, -417, -417,
+ 89, -417, 89, -417, -417, -417, 89, -417, 89, -417,
+ -417, 89, -417, 89, -417, 89, -417, 89, -417, 89,
+ -417, 89, -417, 89, -417, 89, -417, 89, -417, 89,
+ -417, 89, -417, 89, -417, 89, -417, 89, -417, 89,
+ -417, 89, -417, 89, -417, 89, -417, -417, -417, 89,
+ -417, 89, -417, 89, -417, -417, 89, -417, 89, -417,
+ 89, -417, 89, 89, -417, 89, 89, 89, -417, 89,
+ 89, 89, 89, -417, -417, -417, -417, 89, 89, 89,
+ 89, 89, 89, 89, 89, 89, 89, -417, -417, -417,
+ -417, -417, -417, 89, -94, 606, -417, -417, 89, -417,
+ 89, 89, 89, 89, 89, -417, -416, 225, -417, -417,
+ -417, -417, -417, 89, 89, 89, 89, 89, 89, -417,
+ -417, -417, 89, 89, -417, 89, -417, 89, -417, -398,
+ 690, 420, -197, -196, -194, 76, 246, 77, -416, -301,
+ -417, -158, -260, -261, -260, -202, -293, 97, 106, -236,
+ -167, 89, -169, 16, -215, 90, 89, -330, -240, -246,
+ -279, -293, 91, 181, -332, 181, -332, 374, 375, -232,
+ 225, -198, 17, -201, 34, 59, -29, -416, -416, 34,
+ 89, -186, -188, -187, -189, 68, 72, 74, 69, 70,
+ 71, 75, -307, 27, -31, -168, -31, -416, -190, -183,
+ -418, 16, 79, -418, 89, 225, -270, -273, 422, 419,
+ 425, -384, 91, -111, 89, -357, -344, -237, -140, 42,
+ -337, 381, -330, 589, -330, -339, 91, -339, 97, 97,
+ 97, 90, -49, -44, -45, 35, 83, -364, -351, 91,
+ 41, -351, -351, -293, 90, -233, -139, -190, 146, 78,
+ -368, -368, -368, -299, -2, 729, 735, 140, 88, 386,
+ 20, -254, 89, 90, -218, 304, 90, -113, -293, 90,
+ 88, -349, -349, -293, -416, 242, 33, 33, 673, 629,
+ 621, -59, -218, -217, -293, -331, 728, 727, 90, 244,
+ 302, -144, 439, -141, 91, 92, -190, -190, -190, -190,
+ -190, -190, 234, 231, 409, -407, 315, -407, 287, 245,
+ -183, -190, 89, -84, 261, 256, -304, -304, 35, -190,
+ 419, 702, 700, -145, 145, 266, -162, -153, -119, -119,
+ -150, -314, 181, 347, 265, 345, 341, 361, 352, 379,
+ 343, 380, 338, 337, 336, -314, -312, -150, -209, -145,
+ -145, -145, 153, -145, 151, -145, -95, -94, -417, -417,
+ -417, -417, -417, -95, -95, -95, -95, -95, -95, -95,
+ -95, -95, -95, -229, -145, -145, -145, -417, 181, 347,
+ 16, -145, -312, -145, -145, -145, -145, -145, -145, -145,
-145, -145, -145, -145, -145, -145, -145, -145, -145, -145,
-145, -145, -145, -145, -145, -145, -145, -145, -145, -145,
- -145, -145, -145, -145, -145, -381, -145, -209, -145, -209,
- -145, -145, -145, -145, -145, -382, -382, -382, -382, -382,
- -209, -209, -209, -209, -145, -415, -293, -98, -97, -96,
- 655, 245, -94, -164, -98, -164, 223, -145, 223, 223,
- 223, -145, -210, -295, -145, -145, -145, -145, -145, -145,
- -145, -145, -145, -145, -194, -345, 283, -345, 283, -345,
- -264, 89, -275, 24, 16, 59, 59, -167, -198, -132,
- -168, -293, -243, 682, -249, 48, -247, -248, 49, -244,
- 50, 58, -332, -332, 171, -234, -145, -265, 78, -266,
- -274, -217, -212, -214, -213, -415, -253, -416, -293, -264,
- -266, -170, -171, -171, -170, -171, 68, 68, 68, 73,
- 68, 73, 68, -187, -299, -416, -145, -302, 79, -168,
- -168, -192, -299, 171, 418, 422, 423, -357, -405, 120,
- 145, 33, 78, 376, 102, -403, 179, 617, 667, 672,
- 628, 621, 662, -404, 247, 138, 139, 259, 27, 43,
- 90, 89, 90, 89, 90, 90, 89, -287, -286, -45,
- -44, -351, -351, 97, -384, 91, 91, 243, 28, -190,
- 78, 78, 78, -114, 732, 97, 88, -3, 83, -145,
- 88, 21, -340, -217, -375, -325, -376, -326, -327, -5,
- -6, -352, -117, 59, 102, -63, 46, 242, 712, 713,
- 128, -415, 725, -367, -254, -371, -373, -190, -149, -415,
- -161, -147, -146, -148, -154, 169, 170, 264, 342, 343,
- -218, -190, -138, 292, 300, 88, -142, 93, -386, 79,
- 283, 376, 283, 376, 91, -408, 315, 91, -408, -190,
- -84, -49, -190, -282, -282, 35, -384, -416, -162, -153,
- -126, 164, 581, -317, 587, -328, -328, -328, -335, -328,
- 332, -328, 332, -328, -416, -416, -416, 89, -416, 24,
- -416, 89, -145, 89, -95, -95, -95, -95, -95, -122,
- 477, 89, 89, -416, 88, 88, -145, -416, -416, -416,
- 89, -416, -416, -416, -416, -416, -416, -416, -416, -416,
- -416, -416, -416, -416, 89, -416, 89, -416, 89, -416,
- 89, -416, 89, -416, 89, -416, 89, -416, 89, -416,
- 89, -416, 89, -416, 89, -416, 89, -416, 89, -416,
- 89, -416, 89, -416, 89, -416, -416, 89, -416, -416,
- -416, 89, -416, 89, -416, 89, -416, -416, -416, 89,
- -315, 673, -416, -416, -416, -416, -416, -416, -416, -416,
- -416, -416, -416, -93, -294, -94, 637, 637, -416, -94,
- -226, 89, -150, -416, -150, -150, -150, -416, -416, -416,
- 89, -416, 89, 89, -416, 89, -416, 89, -416, -416,
- -416, -416, 89, -195, 24, -415, -195, -415, -195, -416,
- -260, -190, -198, -227, 18, -240, 53, 352, -251, -250,
- 57, 49, -248, 21, 51, 21, 32, -265, 89, 153,
- -306, 89, 27, -416, -416, 89, 59, 224, -416, -198,
- -181, -180, 78, 79, -182, 78, -180, 68, 68, -255,
- 89, -263, -168, -198, -198, 224, 120, -415, -149, 14,
- 91, 91, -384, -402, 716, 717, 33, 97, -351, -351,
- 139, 139, -190, 88, -330, 91, -330, 97, 97, 33,
- 84, 85, 86, 33, 80, 81, 82, -190, -190, -190,
- -190, -372, 88, 21, -145, 88, 153, 90, -254, -254,
- 279, 164, -351, 710, 285, 285, -351, -351, -351, -116,
- -115, 732, 90, -416, 89, -338, 581, 584, -145, -155,
- -155, -255, 90, -380, 581, -385, -293, -293, -293, -293,
- 97, 99, -416, 579, 75, 582, -416, -330, -145, -145,
- -145, -145, -234, 91, -145, -145, 97, 97, -416, -145,
+ -145, -145, -145, -145, -145, -145, -145, -145, -381, -145,
+ -209, -145, -209, -145, -145, -145, -145, -145, -382, -382,
+ -382, -382, -382, -209, -209, -209, -209, -145, -416, -293,
+ -98, -97, -96, 656, 246, -94, -164, -98, -164, 224,
+ -145, 224, 224, 224, -145, -210, -295, -145, -145, -145,
+ -145, -145, -145, -145, -145, -145, -145, -194, -345, 284,
+ -345, 284, -345, -264, 89, -275, 24, 16, 59, 59,
+ -167, -198, -132, -168, -293, -243, 683, -249, 48, -247,
+ -248, 49, -244, 50, 58, -332, -332, 172, -234, -145,
+ -265, 78, -266, -274, -217, -212, -214, -213, -416, -253,
+ -417, -293, -264, -266, -170, -171, -171, -170, -171, 68,
+ 68, 68, 73, 68, 73, 68, -187, -299, -417, -145,
+ -302, 79, -168, -168, -192, -299, 172, 419, 423, 424,
+ -357, -405, 120, 146, 33, 78, 377, 102, -403, 180,
+ 618, 668, 673, 629, 622, 663, -404, 248, 139, 140,
+ 260, 27, 43, 90, 89, 90, 89, 90, 90, 89,
+ -287, -286, -45, -44, -351, -351, 97, -384, 91, 91,
+ 244, 28, -190, 78, 78, 78, -114, 733, 97, 88,
+ -3, 83, -145, 88, 21, -340, -217, -375, -325, -376,
+ -326, -327, -5, -6, -352, -117, 59, 102, -63, 46,
+ 243, 713, 714, 129, -416, 726, -367, -254, -371, -373,
+ -190, -149, -416, -161, -147, -146, -148, -154, 170, 171,
+ 265, 343, 344, -218, -190, -138, 293, 301, 88, -142,
+ 93, -386, 79, 284, 377, 284, 377, 91, -409, 316,
+ 91, -409, -190, -84, -49, -190, -282, -282, 35, -384,
+ -417, -162, -153, -126, 165, 582, -317, 588, -328, -328,
+ -328, -335, -328, 333, -328, 333, -328, -417, -417, -417,
+ 89, -417, 24, -417, 89, -145, 89, -95, -95, -95,
+ -95, -95, -122, 478, 89, 89, -417, 88, 88, -145,
+ -417, -417, -417, 89, -417, -417, -417, -417, -417, -417,
+ -417, -417, -417, -417, -417, -417, -417, 89, -417, 89,
+ -417, 89, -417, 89, -417, 89, -417, 89, -417, 89,
+ -417, 89, -417, 89, -417, 89, -417, 89, -417, 89,
+ -417, 89, -417, 89, -417, 89, -417, 89, -417, -417,
+ 89, -417, -417, -417, 89, -417, 89, -417, 89, -417,
+ -417, -417, 89, -315, 674, -417, -417, -417, -417, -417,
+ -417, -417, -417, -417, -417, -417, -93, -294, -94, 638,
+ 638, -417, -94, -226, 89, -150, -417, -150, -150, -150,
+ -417, -417, -417, 89, -417, 89, 89, -417, 89, -417,
+ 89, -417, -417, -417, -417, 89, -195, 24, -416, -195,
+ -416, -195, -417, -260, -190, -198, -227, 18, -240, 53,
+ 353, -251, -250, 57, 49, -248, 21, 51, 21, 32,
+ -265, 89, 154, -306, 89, 27, -417, -417, 89, 59,
+ 225, -417, -198, -181, -180, 78, 79, -182, 78, -180,
+ 68, 68, -255, 89, -263, -168, -198, -198, 225, 120,
+ -416, -149, 14, 91, 91, -384, -402, 717, 718, 33,
+ 97, -351, -351, 140, 140, -190, 88, -330, 91, -330,
+ 97, 97, 33, 84, 85, 86, 33, 80, 81, 82,
+ -190, -190, -190, -190, -372, 88, 21, -145, 88, 154,
+ 90, -254, -254, 280, 165, -351, 711, 286, 286, -351,
+ -351, -351, -116, -115, 733, 90, -417, 89, -338, 582,
+ 585, -145, -155, -155, -255, 90, -380, 582, -385, -293,
+ -293, -293, -293, 97, 99, -417, 580, 75, 583, -417,
+ -330, -145, -145, -145, -145, -234, 91, -145, -145, 97,
+ 97, -417, -145, -145, -145, -145, -145, -145, -145, -145,
-145, -145, -145, -145, -145, -145, -145, -145, -145, -145,
- -145, -145, -145, -145, -145, -145, -145, -145, -145, -209,
- -145, -416, -178, -177, -179, 693, 120, 33, -314, -416,
- -211, 277, -101, -100, -99, 16, -416, -145, -119, -119,
- -119, -119, -145, -145, -145, -145, -145, -145, -415, 68,
- 20, 18, -257, -293, 247, -415, -257, -415, -302, -227,
- -228, 19, 21, -241, 55, -239, 54, -239, -250, 21,
- 21, 91, 21, 91, 139, -274, -145, -214, -301, 59,
- -29, -293, -212, -293, -229, -145, 88, -145, -158, -198,
- -198, -145, -204, 501, 503, 504, 505, 502, 507, 508,
- 509, 510, 511, 512, 513, 514, 515, 516, 506, 517,
- 478, 479, 480, 109, 111, 110, 481, 482, 483, 346,
- 529, 530, 524, 527, 528, 526, 525, 361, 362, 484,
- 547, 548, 552, 551, 549, 550, 553, 556, 557, 558,
- 559, 560, 561, 563, 562, 554, 555, 532, 531, 533,
- 534, 535, 536, 537, 538, 540, 539, 541, 542, 543,
- 544, 545, 546, 564, 565, 566, 567, 568, 570, 569,
- 574, 573, 571, 572, 576, 575, 485, 486, 112, 113,
- 114, 115, 116, 117, 118, 487, 490, 488, 491, 492,
- 493, 498, 499, 494, 495, 496, 497, 500, 372, 370,
- 371, 367, 366, 365, 425, 430, 431, 433, 518, 519,
- 520, 521, 522, 523, 674, 675, 676, 677, 678, 679,
- 680, 681, 91, 91, 88, -145, 90, 90, -255, -371,
- -60, 90, -256, -254, 97, 90, 280, -213, -415, 91,
- -351, -351, -351, 97, 97, -301, -416, 89, -293, -404,
- -373, 585, 585, -416, 27, -379, -378, -295, 88, 79,
- 64, 580, 583, -416, -416, -416, 89, -416, -416, -416,
- 90, 90, -416, -416, -416, -416, -416, -416, -416, -416,
- -416, -416, -416, -416, -416, -416, -416, -416, -416, -416,
- -416, -416, -416, -416, 89, -416, -177, -179, -416, 78,
- -158, -229, 21, -98, 302, 304, -98, -416, -416, -416,
- -416, -416, 89, -416, -416, 89, -416, 89, -416, -416,
- -257, -416, 21, 21, 89, -416, -257, -416, -257, -197,
- -228, -108, -107, -106, 611, -145, -209, -242, 56, 78,
- 123, 91, 91, 91, 14, -415, -212, 224, -306, -234,
- -254, -175, 385, -229, -416, -254, 90, 27, 90, 734,
- 139, 90, -213, -125, -415, 276, -301, 91, 91, -115,
- -118, -29, 89, 153, -254, -190, 64, -145, -209, -416,
- 78, 592, 693, -92, -91, -88, 704, 730, -209, -94,
- -94, -145, -145, -145, -416, -293, 247, -416, -416, -108,
- 89, -105, -104, -293, 78, 123, -266, -254, -306, -293,
- 90, -416, -415, -234, 90, -238, -29, 88, -3, 276,
- -325, -376, -326, -327, -5, -6, -352, -82, 581, -378,
- -356, -299, -295, 91, 97, 90, 581, -416, -416, -90,
- 147, 702, 670, -155, 223, -416, 89, -416, 89, -416,
- 89, -106, 89, 27, -416, -302, -176, -174, -293, 634,
- -395, -394, 577, -405, -401, 120, 145, 102, -403, 672,
- 628, 129, 130, -82, -145, 88, -416, -83, 291, 689,
- 224, -386, 582, -90, 703, 648, 623, 648, 623, -150,
- -145, -145, -145, -104, -415, -416, 89, 24, -318, -62,
- 645, -392, -393, 78, -396, 391, 644, 665, 120, 91,
- 90, -254, 252, -300, -380, 583, 144, -119, -416, 89,
- -416, 89, -416, -93, -174, 641, -331, -158, -393, 78,
- -392, 78, 15, 14, -4, 733, 90, 293, -90, 648,
- 623, -145, -145, -416, -61, 28, -175, -391, 260, 255,
- 258, 34, -391, 97, -4, -416, -416, 645, 254, 33,
- 120, -158, -178, -177, -177,
+ -145, -145, -209, -145, -417, -178, -177, -179, 694, 120,
+ 33, -314, -417, -211, 278, -101, -100, -99, 16, -417,
+ -145, -119, -119, -119, -119, -145, -145, -145, -145, -145,
+ -145, -416, 68, 20, 18, -257, -293, 248, -416, -257,
+ -416, -302, -227, -228, 19, 21, -241, 55, -239, 54,
+ -239, -250, 21, 21, 91, 21, 91, 140, -274, -145,
+ -214, -301, 59, -29, -293, -212, -293, -229, -145, 88,
+ -145, -158, -198, -198, -145, -204, 502, 504, 505, 506,
+ 503, 508, 509, 510, 511, 512, 513, 514, 515, 516,
+ 517, 507, 518, 479, 480, 481, 109, 111, 110, 482,
+ 483, 484, 347, 530, 531, 525, 528, 529, 527, 526,
+ 362, 363, 485, 548, 549, 553, 552, 550, 551, 554,
+ 557, 558, 559, 560, 561, 562, 564, 563, 555, 556,
+ 533, 532, 534, 535, 536, 537, 538, 539, 541, 540,
+ 542, 543, 544, 545, 546, 547, 565, 566, 567, 568,
+ 569, 571, 570, 575, 574, 572, 573, 577, 576, 486,
+ 487, 112, 113, 114, 115, 116, 117, 118, 488, 491,
+ 489, 492, 493, 494, 499, 500, 495, 496, 497, 498,
+ 501, 373, 371, 372, 368, 367, 366, 426, 431, 432,
+ 434, 519, 520, 521, 522, 523, 524, 675, 676, 677,
+ 678, 679, 680, 681, 682, 91, 91, 88, -145, 90,
+ 90, -255, -371, -60, 90, -256, -254, 97, 90, 281,
+ -213, -416, 91, -351, -351, -351, 97, 97, -301, -417,
+ 89, -293, -404, -373, 586, 586, -417, 27, -379, -378,
+ -295, 88, 79, 64, 581, 584, -417, -417, -417, 89,
+ -417, -417, -417, 90, 90, -417, -417, -417, -417, -417,
+ -417, -417, -417, -417, -417, -417, -417, -417, -417, -417,
+ -417, -417, -417, -417, -417, -417, -417, 89, -417, -177,
+ -179, -417, 78, -158, -229, 21, -98, 303, 305, -98,
+ -417, -417, -417, -417, -417, 89, -417, -417, 89, -417,
+ 89, -417, -417, -257, -417, 21, 21, 89, -417, -257,
+ -417, -257, -197, -228, -108, -107, -106, 612, -145, -209,
+ -242, 56, 78, 124, 91, 91, 91, 14, -416, -212,
+ 225, -306, -234, -254, -175, 386, -229, -417, -254, 90,
+ 27, 90, 735, 140, 90, -213, -125, -416, 277, -301,
+ 91, 91, -115, -118, -29, 89, 154, -254, -190, 64,
+ -145, -209, -417, 78, 593, 694, -92, -91, -88, 705,
+ 731, -209, -94, -94, -145, -145, -145, -417, -293, 248,
+ -417, -417, -108, 89, -105, -104, -293, 78, 124, -266,
+ -254, -306, -293, 90, -417, -416, -234, 90, -238, -29,
+ 88, -3, 277, -325, -376, -326, -327, -5, -6, -352,
+ -82, 582, -378, -356, -299, -295, 91, 97, 90, 582,
+ -417, -417, -90, 148, 703, 671, -155, 224, -417, 89,
+ -417, 89, -417, 89, -106, 89, 27, -417, -302, -176,
+ -174, -293, 635, -395, -394, 578, -405, -401, 120, 146,
+ 102, -403, 673, 629, 130, 131, -82, -145, 88, -417,
+ -83, 292, 690, 225, -386, 583, -90, 704, 649, 624,
+ 649, 624, -150, -145, -145, -145, -104, -416, -417, 89,
+ 24, -318, -62, 646, -392, -393, 78, -396, 392, 645,
+ 666, 120, 91, 90, -254, 253, -300, -380, 584, 145,
+ -119, -417, 89, -417, 89, -417, -93, -174, 642, -331,
+ -158, -393, 78, -392, 78, 15, 14, -4, 734, 90,
+ 294, -90, 649, 624, -145, -145, -417, -61, 28, -175,
+ -391, 261, 256, 259, 34, -391, 97, -4, -417, -417,
+ 646, 255, 33, 120, -158, -178, -177, -177,
}
var yyDef = [...]int{
@@ -9321,436 +9288,436 @@ var yyDef = [...]int{
19, 20, 21, 22, 23, 24, 25, 26, 27, 28,
29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
39, 70, 72, 73, 880, 880, 880, 0, 880, 0,
- 0, 880, -2, -2, 880, 1621, 0, 880, 0, 875,
+ 0, 880, -2, -2, 880, 1623, 0, 880, 0, 875,
0, -2, 797, 803, 0, 812, -2, 0, 0, 880,
- 880, 2247, 2247, 875, 0, 0, 0, 0, 0, 880,
- 880, 880, 880, 1626, 1479, 50, 880, 0, 85, 86,
- 830, 831, 832, 65, 0, 2245, 881, 1, 3, 71,
- 75, 0, 0, 0, 58, 1488, 0, 78, 0, 0,
- 884, 0, 0, 1604, 880, 880, 0, 126, 127, 0,
+ 880, 2250, 2250, 875, 0, 0, 0, 0, 0, 880,
+ 880, 880, 880, 1628, 1481, 50, 880, 0, 85, 86,
+ 830, 831, 832, 65, 0, 2248, 881, 1, 3, 71,
+ 75, 0, 0, 0, 58, 1490, 0, 78, 0, 0,
+ 884, 0, 0, 1606, 880, 880, 0, 126, 127, 0,
0, 0, -2, 130, -2, 159, 160, 161, 0, 166,
607, 526, 578, 524, 563, -2, 512, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 529,
- 401, 401, 0, 0, -2, 512, 512, 512, 1606, 0,
+ 401, 401, 0, 0, -2, 512, 512, 512, 1608, 0,
0, 0, 560, 463, 401, 401, 401, 0, 401, 401,
401, 401, 0, 0, 401, 401, 401, 401, 401, 401,
401, 401, 401, 401, 401, 401, 401, 401, 401, 401,
- 401, 1506, 165, 1622, 1619, 1620, 1779, 1780, 1781, 1782,
- 1783, 1784, 1785, 1786, 1787, 1788, 1789, 1790, 1791, 1792,
- 1793, 1794, 1795, 1796, 1797, 1798, 1799, 1800, 1801, 1802,
- 1803, 1804, 1805, 1806, 1807, 1808, 1809, 1810, 1811, 1812,
- 1813, 1814, 1815, 1816, 1817, 1818, 1819, 1820, 1821, 1822,
- 1823, 1824, 1825, 1826, 1827, 1828, 1829, 1830, 1831, 1832,
- 1833, 1834, 1835, 1836, 1837, 1838, 1839, 1840, 1841, 1842,
- 1843, 1844, 1845, 1846, 1847, 1848, 1849, 1850, 1851, 1852,
- 1853, 1854, 1855, 1856, 1857, 1858, 1859, 1860, 1861, 1862,
- 1863, 1864, 1865, 1866, 1867, 1868, 1869, 1870, 1871, 1872,
- 1873, 1874, 1875, 1876, 1877, 1878, 1879, 1880, 1881, 1882,
- 1883, 1884, 1885, 1886, 1887, 1888, 1889, 1890, 1891, 1892,
- 1893, 1894, 1895, 1896, 1897, 1898, 1899, 1900, 1901, 1902,
- 1903, 1904, 1905, 1906, 1907, 1908, 1909, 1910, 1911, 1912,
- 1913, 1914, 1915, 1916, 1917, 1918, 1919, 1920, 1921, 1922,
- 1923, 1924, 1925, 1926, 1927, 1928, 1929, 1930, 1931, 1932,
- 1933, 1934, 1935, 1936, 1937, 1938, 1939, 1940, 1941, 1942,
- 1943, 1944, 1945, 1946, 1947, 1948, 1949, 1950, 1951, 1952,
- 1953, 1954, 1955, 1956, 1957, 1958, 1959, 1960, 1961, 1962,
- 1963, 1964, 1965, 1966, 1967, 1968, 1969, 1970, 1971, 1972,
- 1973, 1974, 1975, 1976, 1977, 1978, 1979, 1980, 1981, 1982,
- 1983, 1984, 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1992,
- 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
- 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012,
- 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022,
- 2023, 2024, 2025, 2026, 2027, 2028, 2029, 2030, 2031, 2032,
- 2033, 2034, 2035, 2036, 2037, 2038, 2039, 2040, 2041, 2042,
- 2043, 2044, 2045, 2046, 2047, 2048, 2049, 2050, 2051, 2052,
- 2053, 2054, 2055, 2056, 2057, 2058, 2059, 2060, 2061, 2062,
- 2063, 2064, 2065, 2066, 2067, 2068, 2069, 2070, 2071, 2072,
- 2073, 2074, 2075, 2076, 2077, 2078, 2079, 2080, 2081, 2082,
- 2083, 2084, 2085, 2086, 2087, 2088, 2089, 2090, 2091, 2092,
- 2093, 2094, 2095, 2096, 2097, 2098, 2099, 2100, 2101, 2102,
- 2103, 2104, 2105, 2106, 2107, 2108, 2109, 2110, 2111, 2112,
- 2113, 2114, 2115, 2116, 2117, 2118, 2119, 2120, 2121, 2122,
- 2123, 2124, 2125, 2126, 2127, 2128, 2129, 2130, 2131, 2132,
- 2133, 2134, 2135, 2136, 2137, 2138, 2139, 2140, 2141, 2142,
- 2143, 2144, 2145, 2146, 2147, 2148, 2149, 2150, 2151, 2152,
- 2153, 2154, 2155, 2156, 2157, 2158, 2159, 2160, 2161, 2162,
- 2163, 2164, 2165, 2166, 2167, 2168, 2169, 2170, 2171, 2172,
- 2173, 2174, 2175, 2176, 2177, 2178, 2179, 2180, 2181, 2182,
- 2183, 2184, 2185, 2186, 2187, 2188, 2189, 2190, 2191, 2192,
- 2193, 2194, 2195, 2196, 2197, 2198, 2199, 2200, 2201, 2202,
- 2203, 2204, 2205, 2206, 2207, 2208, 2209, 2210, 2211, 2212,
- 2213, 2214, 2215, 2216, 2217, 2218, 2219, 2220, 2221, 2222,
- 2223, 2224, 2225, 2226, 2227, 2228, 2229, 2230, 2231, 2232,
- 2233, 2234, 2235, 2236, 2237, 2238, 2239, 2240, 2241, 2242,
- 2243, 2244, 0, 1598, 0, 720, 980, 0, 876, 877,
- 0, 786, 786, 0, 786, 786, 786, 786, 0, 0,
- 0, 734, 0, 0, 0, 0, 783, 0, 750, 751,
- 0, 783, 0, 757, 789, 0, 0, 764, 786, 786,
- 767, 2248, 0, 2248, 2248, 1589, 0, 780, 778, 792,
- 793, 42, 796, 799, 800, 801, 802, 805, 0, 816,
- 819, 1615, 1616, 0, 821, 826, 843, 844, 0, 45,
- 1134, 0, 1004, 0, 1010, -2, 1021, 1038, 1039, 1040,
- 1041, 1042, 1044, 1045, 1046, 0, 0, 0, 0, 1051,
- 1052, 0, 0, 0, 0, 0, 1115, 0, 0, 0,
- 0, 1978, 1452, 0, 0, 1414, 1414, 1150, 1414, 1414,
- 1416, 1416, 1416, 1831, 1970, 1979, 2155, 1792, 1798, 1799,
- 1800, 2101, 2102, 2103, 2104, 2192, 2193, 2197, 1894, 1787,
- 2168, 2169, 0, 2244, 1931, 1939, 1940, 1964, 2065, 2178,
- 1810, 1959, 2029, 1891, 1913, 1914, 2047, 2048, 1935, 1936,
- 1917, 2107, 2109, 2125, 2126, 2111, 2113, 2122, 2128, 2133,
- 2112, 2124, 2129, 2142, 2146, 2149, 2150, 2151, 2119, 2117,
- 2130, 2134, 2136, 2138, 2144, 2147, 2120, 2118, 2131, 2135,
- 2137, 2139, 2145, 2148, 2106, 2110, 2114, 2123, 2141, 2121,
- 2140, 2115, 2127, 2132, 2143, 2116, 2108, 1929, 1932, 1920,
- 1921, 1923, 1925, 1930, 1937, 1943, 1922, 1942, 1941, 0,
- 1918, 1919, 1924, 1934, 1938, 1926, 1927, 1928, 1933, 1944,
- 1985, 1984, 1983, 2028, 1955, 2027, 0, 0, 0, 0,
- 0, 1782, 1836, 1837, 2152, 1336, 1337, 1338, 1339, 0,
- 0, 0, 0, 0, 0, 0, 291, 292, 1465, 1466,
- 44, 1133, 1585, 1416, 1416, 1416, 1416, 1416, 1416, 1073,
- 1074, 1075, 1076, 1077, 1103, 1104, 1110, 1111, 2042, 2043,
- 2044, 2045, 1874, 2187, 1883, 1884, 2024, 2025, 1896, 1897,
- 2218, 2219, -2, -2, -2, 232, 233, 234, 235, 236,
- 237, 238, 239, 0, 1835, 2166, 2167, 228, 0, 0,
- 296, 293, 294, 295, 1117, 1118, 249, 250, 251, 252,
- 253, 254, 255, 256, 257, 258, 259, 260, 261, 262,
- 263, 264, 265, 266, 267, 268, 269, 270, 271, 272,
- 273, 274, 275, 276, 277, 278, 279, 280, 281, 282,
- 283, 284, 285, 286, 287, 288, 289, 290, 298, 299,
- 2247, 0, 853, 0, 0, 0, 0, 0, 0, 1627,
- 1628, 1488, 0, 1480, 1479, 63, 0, 880, -2, 0,
- 0, 0, 0, 47, 0, 52, 937, 883, 77, 76,
- 1528, 1531, 0, 0, 0, 59, 1489, 67, 69, 1490,
- 0, 885, 886, 0, 913, 917, 0, 0, 0, 1605,
- 1604, 1604, 102, 0, 0, 103, 123, 124, 125, 0,
- 0, 109, 110, 1591, 1592, 43, 0, 0, 177, 178,
- 0, 1091, 428, 0, 173, 0, 421, 360, 0, 1506,
- 0, 0, 0, 0, 0, 880, 0, 1599, 154, 155,
- 162, 163, 164, 401, 401, 401, 575, 0, 0, 165,
- 165, 533, 534, 535, 0, 0, -2, 426, 0, 513,
- 0, 0, 415, 415, 419, 417, 418, 0, 0, 0,
- 0, 0, 0, 0, 0, 552, 0, 553, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 668, 0, 402,
- 0, 573, 574, 464, 0, 0, 0, 0, 0, 0,
- 0, 0, 1607, 1608, 0, 550, 551, 0, 0, 0,
- 401, 401, 0, 0, 0, 0, 401, 401, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 153, 1519, 0, 0,
- 0, -2, 0, 712, 0, 0, 0, 1600, 1600, 0,
- 719, 0, 0, 0, 724, 0, 0, 725, 0, 783,
- 783, 781, 782, 727, 728, 729, 730, 786, 0, 0,
- 410, 411, 412, 783, 786, 0, 786, 786, 786, 786,
- 783, 783, 783, 786, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 2248, 789, 786, 0, 758, 0, 759,
- 760, 761, 762, 765, 766, 768, 2249, 2250, 1617, 1618,
- 1629, 1630, 1631, 1632, 1633, 1634, 1635, 1636, 1637, 1638,
- 1639, 1640, 1641, 1642, 1643, 1644, 1645, 1646, 1647, 1648,
- 1649, 1650, 1651, 1652, 1653, 1654, 1655, 1656, 1657, 1658,
- 1659, 1660, 1661, 1662, 1663, 1664, 1665, 1666, 1667, 1668,
- 1669, 1670, 1671, 1672, 1673, 1674, 1675, 1676, 1677, 1678,
- 1679, 1680, 1681, 1682, 1683, 1684, 1685, 1686, 1687, 1688,
- 1689, 1690, 1691, 1692, 1693, 1694, 1695, 1696, 1697, 1698,
- 1699, 1700, 1701, 1702, 1703, 1704, 1705, 1706, 1707, 1708,
- 1709, 1710, 1711, 1712, 1713, 1714, 1715, 1716, 1717, 1718,
- 1719, 1720, 1721, 1722, 1723, 1724, 1725, 1726, 1727, 1728,
- 1729, 1730, 1731, 1732, 1733, 1734, 1735, 1736, 1737, 1738,
- 1739, 1740, 1741, 1742, 1743, 1744, 1745, 1746, 1747, 1748,
- 1749, 1750, 1751, 1752, 1753, 1754, 1755, 1756, 1757, 1758,
- 1759, 1760, 1761, 1762, 1763, 1764, 1765, 1766, 1767, 1768,
- 1769, 1770, 1771, 1772, 1773, 1774, 1775, 1776, 1777, 1778,
- 2248, 2248, 772, 776, 1590, 798, 804, 806, 807, 0,
- 0, 817, 820, 837, 49, 1882, 825, 49, 827, 828,
- 829, 855, 856, 861, 0, 0, 0, 0, 867, 868,
- 869, 0, 0, 872, 873, 874, 0, 0, 0, 0,
- 0, 1002, 0, 0, 1123, 1124, 1125, 1126, 1127, 1128,
- 1129, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 1022,
- 1023, 0, 0, 0, 1047, 1048, 1049, 1050, 1053, 0,
- 1064, 0, 1066, 1461, -2, 0, 0, 0, 1058, 1059,
- 0, 0, 0, 1610, 1610, 0, 0, 0, 1453, 0,
- 0, 1148, 0, 1149, 1151, 1152, 1153, 0, 1154, 1155,
- 890, 890, 890, 890, 890, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 890, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 1610, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 141, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 1610, 0, 0, 1610, 1610, 0, 0, 220,
- 221, 222, 223, 224, 225, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 297,
- 240, 241, 242, 243, 244, 245, 300, 246, 247, 248,
- 1133, 0, 0, 0, 46, 845, 846, 0, 963, 1610,
- 0, 0, 896, 0, 1625, 57, 66, 68, 1488, 61,
- 1488, 0, 900, 0, 0, -2, -2, 901, 902, 906,
- 907, 908, 909, 910, 54, 2246, 55, 0, 74, 0,
- 48, 0, 0, 1529, 0, 1532, 0, 0, 0, 374,
- 1536, 0, 0, 1481, 1482, 1485, 0, 914, 1976, 918,
- 0, 920, 921, 0, 0, 100, 0, 979, 0, 0,
- 0, 111, 0, 113, 114, 0, 0, 0, 385, 1593,
- 1594, 1595, -2, 408, 0, 385, 369, 308, 309, 310,
- 360, 312, 360, 360, 360, 360, 374, 374, 374, 374,
- 343, 344, 345, 346, 347, 0, 0, 329, 360, 360,
- 360, 360, 350, 351, 352, 353, 354, 355, 356, 357,
- 313, 314, 315, 316, 317, 318, 319, 320, 321, 362,
- 362, 362, 362, 362, 366, 366, 0, 1092, 0, 389,
- 0, 1485, 0, 0, 1519, 1602, 1612, 0, 0, 0,
- 1602, 132, 0, 0, 0, 576, 618, 527, 564, 577,
- 0, 530, 531, -2, 0, 0, 512, 0, 514, 0,
- 409, 0, -2, 0, 419, 0, 415, 419, 416, 419,
- 407, 420, 554, 555, 556, 0, 558, 559, 648, 949,
- 0, 0, 0, 0, 0, 654, 655, 656, 0, 658,
- 659, 660, 661, 662, 663, 664, 665, 666, 667, 565,
- 566, 567, 568, 569, 570, 571, 572, 0, 0, 0,
- 0, 514, 0, 561, 0, 0, 465, 466, 467, 0,
- 0, 470, 471, 472, 473, 0, 0, 476, 477, 478,
- 966, 967, 479, 480, 505, 506, 507, 481, 482, 483,
- 484, 485, 486, 487, 499, 500, 501, 502, 503, 504,
- 488, 489, 490, 491, 492, 493, 496, 0, 147, 1510,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 1600, 0, 0, 0,
- 0, 899, 981, 1623, 1624, 721, 0, 0, 787, 788,
- 0, 413, 414, 786, 786, 731, 773, 0, 786, 735,
- 774, 736, 738, 737, 739, 752, 753, 786, 742, 784,
- 785, 743, 744, 745, 746, 747, 748, 749, 769, 754,
- 755, 756, 790, 0, 794, 795, 770, 771, 0, 0,
- 810, 811, 0, 818, 840, 838, 839, 841, 833, 834,
- 835, 836, 0, 842, 0, 0, 858, 96, 863, 864,
- 865, 866, 878, 871, 1135, 999, 1000, 1001, 0, 1003,
- 1007, 0, 1119, 1121, 1009, 1005, 1011, 1130, 1131, 1132,
- 0, 0, 0, 0, 0, 1015, 1019, 1024, 1025, 1026,
- 1027, 1028, 0, 1029, 0, 1032, 1033, 1034, 1035, 1036,
- 1037, 1043, 1429, 1430, 1431, 1062, 301, 302, 0, 1063,
- 0, 0, 0, 0, 0, 0, 0, 0, 1376, 1377,
- 1378, 1379, 1380, 1381, 1382, 1383, 1384, 1385, 1386, 1387,
- 1388, 1389, 1390, 1391, 1392, 1393, 1394, 1395, 1134, 0,
- 1611, 0, 0, 0, 1459, 1456, 0, 0, 0, 1415,
- 1417, 0, 0, 0, 891, 892, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 1396, 1397, 1398, 1399, 1400, 1401, 1402,
- 1403, 1404, 1405, 1406, 1407, 1408, 1409, 1410, 1411, 1412,
- 1413, 0, 0, 1432, 0, 0, 0, 0, 0, 1452,
- 0, 1068, 1069, 1070, 0, 0, 0, 0, 0, 0,
- 1194, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 142, 143, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 1340, 1341, 1342, 1343,
- 41, 0, 0, 0, 0, 0, 0, 0, 1463, 0,
- -2, -2, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 1365, 0, 0, 0, 0,
- 0, 0, 1583, 0, 0, 848, 849, 851, 0, 983,
- 0, 964, 0, 0, 854, 0, 895, 0, 898, 60,
- 62, 904, 905, 0, 922, 911, 903, 56, 51, 0,
- 0, 941, 1530, 1533, 1534, 374, 1556, 0, 383, 383,
- 380, 1491, 1492, 0, 1484, 1486, 1487, 79, 919, 915,
- 0, 997, 0, 0, 978, 0, 925, 927, 928, 929,
- 961, 0, 932, 933, 0, 0, 0, 0, 0, 98,
- 980, 104, 0, 112, 0, 0, 117, 118, 105, 106,
- 107, 108, 0, 607, -2, 460, 179, 181, 182, 183,
- 174, -2, 372, 370, 371, 311, 374, 374, 337, 338,
- 339, 340, 341, 342, 0, 0, 330, 331, 332, 333,
- 322, 0, 323, 324, 325, 364, 0, 326, 327, 0,
- 328, 427, 0, 1493, 390, 391, 393, 401, 0, 396,
- 397, 0, 401, 401, 0, 422, 423, 0, 1485, 1510,
- 0, 0, 0, 1613, 1612, 1612, 1612, 0, 167, 168,
- 169, 170, 171, 172, 643, 0, 0, 619, 641, 642,
- 165, 0, 0, 175, 516, 515, 0, 675, 0, 425,
- 0, 0, 419, 419, 404, 405, 557, 0, 0, 650,
- 651, 652, 653, 0, 0, 0, 543, 454, 0, 544,
- 545, 514, 516, 0, 0, 385, 468, 469, 474, 475,
- 494, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 592, 593, 594, 597, 599, 518, 603,
- 605, 596, 598, 600, 518, 604, 606, 1507, 1508, 1509,
- 0, 0, 713, 0, 0, 451, 94, 1601, 718, 722,
- 723, 783, 741, 775, 783, 733, 740, 763, 808, 809,
- 814, 822, 823, 824, 862, 0, 0, 0, 0, 870,
- 0, 0, 1008, 1120, 1122, 1012, 0, 1016, 1020, 0,
- 0, 0, 0, 0, 1067, 1065, 1463, 0, 0, 0,
- 1116, 0, 0, 1138, 1139, 0, 0, 0, 0, 1457,
- 0, 0, 1146, 0, 1418, 1097, 0, 0, 0, 0,
- 0, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097,
- 1097, 1479, 1173, 0, 0, 0, 0, 0, 1178, 1179,
- 1180, 1181, 1182, 0, 1184, 0, 1185, 0, 0, 0,
- 0, 1192, 1193, 1195, 0, 0, 1198, 1199, 0, 1201,
- 0, 1203, 1204, 1205, 1206, 1207, 1208, 0, 1210, 0,
- 1212, 1213, 1214, 0, 1216, 0, 1218, 1219, 0, 1221,
- 0, 1223, 0, 1226, 0, 1229, 0, 1232, 0, 1235,
- 0, 1238, 0, 1241, 0, 1244, 0, 1247, 0, 1250,
- 0, 1253, 0, 1256, 0, 1259, 0, 1262, 0, 1265,
- 0, 1268, 0, 1271, 1272, 1273, 0, 1275, 0, 1277,
- 0, 1280, 1281, 0, 1283, 0, 1286, 0, 1289, 0,
- 0, 1290, 0, 0, 0, 1294, 0, 0, 0, 0,
- 1303, 1304, 1305, 1306, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 1317, 1318, 1319, 1320, 1321, 1322,
- 0, 1324, 0, 1098, 0, 0, 1098, 0, 0, 0,
- 0, 0, 1136, 1610, 0, 1419, 1420, 1421, 1422, 1423,
- 0, 0, 0, 0, 0, 0, 1363, 1364, 1366, 0,
- 0, 1369, 0, 1371, 0, 1584, 847, 850, 852, 935,
- 984, 985, 0, 0, 0, 0, 965, 1609, 893, 894,
- 897, 943, 0, 1467, 0, 0, 922, 997, 0, 923,
- 0, 53, 938, 0, 1538, 1537, 1550, 1563, 383, 383,
- 377, 378, 384, 379, 381, 382, 1483, 0, 1488, 0,
- 1577, 0, 0, 1566, 0, 0, 0, 0, 0, 0,
- 0, 0, 968, 0, 0, 971, 0, 0, 0, 0,
- 962, 933, 0, 934, 0, -2, 0, 0, 92, 93,
- 0, 0, 0, 115, 116, 0, 0, 122, 386, 387,
- 156, 165, 462, 180, 435, 0, 0, 307, 373, 334,
- 335, 336, 0, 358, 0, 0, 0, 0, 456, 128,
- 1497, 1496, 401, 401, 392, 0, 395, 0, 0, 0,
- 1614, 361, 424, 0, 146, 0, 0, 0, 0, 0,
- 152, 613, 0, 0, 620, 0, 0, 0, 525, 0,
- 536, 537, 0, 647, -2, 709, 389, 0, 403, 406,
- 950, 0, 0, 538, 0, 541, 542, 455, 516, 547,
- 548, 562, 549, 497, 498, 495, 0, 0, 1520, 1521,
- 1526, 1524, 1525, 133, 583, 585, 589, 584, 588, 0,
- 0, 0, 520, 0, 520, 581, 0, 451, 1493, 0,
- 717, 452, 453, 786, 786, 857, 97, 0, 860, 0,
- 0, 0, 0, 1013, 1017, 1030, 1031, 1424, 1450, 360,
- 360, 1437, 360, 366, 1440, 360, 1442, 360, 1445, 360,
- 1448, 1449, 0, 0, 1060, 0, 0, 0, 0, 1145,
- 1460, 0, 0, 1156, 1096, 1097, 1097, 1097, 1097, 1097,
- 1162, 1163, 1164, 1165, 1166, 1167, 1168, 1169, 1170, 1171,
- 1454, 0, 0, 0, 1177, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 144, 145, 0, 0, 0,
- 0, 0, 0, 1374, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 1091, 1095, 0, 1099, 1100,
- 0, 0, 1326, 0, 0, 1344, 0, 0, 0, 0,
- 0, 0, 0, 1464, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 986, 993, 0, 993, 0, 993,
- 0, 0, 0, 1596, 1597, 1468, 1469, 997, 1470, 912,
- 924, 942, 1556, 0, 1549, 0, -2, 1558, 0, 0,
- 0, 1564, 375, 376, 916, 80, 998, 83, 0, 1577,
- 1586, 0, 1574, 1579, 1581, 0, 0, 0, 1570, 0,
- 997, 926, 957, 959, 0, 954, 969, 970, 972, 0,
- 974, 0, 976, 977, 937, 931, 0, 100, 0, 997,
- 997, 99, 0, 982, 119, 120, 121, 461, 184, 189,
- 0, 0, 0, 194, 0, 196, 0, 0, 0, 201,
- 202, 401, 401, 436, 0, 304, 306, 0, 0, 187,
- 374, 0, 374, 0, 365, 367, 0, 437, 457, 1494,
- 1495, 0, 0, 394, 398, 399, 400, 0, 1603, 148,
- 0, 0, 0, 616, 0, 644, 0, 0, 0, 0,
- 0, 0, 176, 517, 676, 677, 678, 679, 680, 681,
- 682, 683, 684, 0, 401, 0, 0, 0, 401, 401,
- 401, 0, 701, 388, 0, 0, 672, 669, 539, 0,
- 218, 219, 226, 227, 229, 0, 0, 0, 0, 0,
- 546, 937, 1511, 1512, 1513, 0, 1523, 1527, 136, 0,
- 0, 0, 0, 591, 595, 601, 0, 519, 602, 714,
- 715, 716, 95, 726, 732, 859, 879, 1006, 1014, 1018,
- 0, 0, 0, 0, 1451, 1435, 374, 1438, 1439, 1441,
- 1443, 1444, 1446, 1447, 1056, 1057, 1061, 0, 1142, 0,
- 1144, 0, 1458, 0, 1157, 1158, 1159, 1160, 1161, 1488,
- 0, 0, 0, 1176, 0, 0, 0, 1187, 1186, 1188,
- 0, 1190, 1191, 1196, 1197, 1200, 1202, 1209, 1211, 1215,
- 1217, 1220, 1222, 1224, 0, 1227, 0, 1230, 0, 1233,
- 0, 1236, 0, 1239, 0, 1242, 0, 1245, 0, 1248,
- 0, 1251, 0, 1254, 0, 1257, 0, 1260, 0, 1263,
- 0, 1266, 0, 1269, 0, 1274, 1276, 0, 1279, 1282,
- 1284, 0, 1287, 0, 1291, 0, 1293, 1295, 1296, 0,
- 0, 0, 1307, 1308, 1309, 1310, 1311, 1312, 1313, 1314,
- 1315, 1316, 1323, 0, 1089, 1325, 1101, 1102, 1107, 1328,
- 0, 0, 0, 1331, 0, 0, 0, 1335, 1137, 1346,
- 0, 1351, 0, 0, 1357, 0, 1361, 0, 1367, 1368,
- 1370, 1372, 0, 0, 0, 0, 0, 0, 0, 963,
- 944, 64, 1470, 1472, 0, 1543, 1541, 1541, 1551, 1552,
- 0, 0, 1559, 0, 0, 0, 0, 84, 0, 0,
- 1565, 0, 0, 1582, 0, 0, 0, 0, 101, 1479,
- 951, 958, 0, 0, 952, 0, 953, 973, 975, 930,
- 0, 997, 997, 90, 91, 0, 190, 0, 192, 0,
- 195, 197, 198, 199, 205, 206, 207, 200, 0, 0,
- 303, 305, 0, 0, 348, 359, 349, 0, 0, 1498,
- 1499, 1500, 1501, 1502, 1503, 1504, 1505, 937, 149, 150,
- 151, 608, 0, 618, 0, 939, 0, 611, 0, 528,
- 0, 0, 0, 401, 401, 401, 0, 0, 0, 0,
- 686, 0, 0, 649, 0, 657, 0, 0, 0, 230,
- 231, 0, 1522, 582, 0, 134, 135, 0, 0, 587,
- 521, 522, 1054, 0, 0, 0, 1055, 1436, 0, 0,
- 0, 0, 0, 1455, 0, 0, 0, 0, 1183, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 1299, 0, 0, 0, 638, 639, 0, 1375, 1094,
- 1479, 0, 1098, 1108, 1109, 0, 1098, 1345, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 994,
- 0, 0, 0, 945, 946, 0, 0, 0, 983, 1472,
- 1477, 0, 0, 1546, 0, 1539, 1542, 1540, 1553, 0,
- 0, 1560, 0, 1562, 0, 1587, 1588, 1580, 1575, 0,
- 1569, 1572, 1574, 1571, 1488, 955, 0, 960, 0, 1479,
- 89, 0, 193, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 203, 204, 0, 0, 363, 368, 0, 0,
- 0, 609, 0, 940, 621, 612, 0, 699, 0, 703,
- 0, 0, 0, 706, 707, 708, 685, 0, 689, 429,
- 673, 670, 671, 540, 0, 137, 138, 0, 0, 0,
- 1425, 0, 1428, 1140, 1143, 1141, 0, 1172, 1174, 1175,
- 1433, 1434, 1189, 1225, 1228, 1231, 1234, 1237, 1240, 1243,
- 1246, 1249, 1252, 1255, 1258, 1261, 1264, 1267, 1270, 1278,
- 1285, 1288, 1292, 1297, 0, 1300, 0, 0, 1301, 0,
- 640, 1085, 0, 0, 1105, 1106, 0, 1330, 1332, 1333,
- 1334, 1347, 0, 1352, 1353, 0, 1358, 0, 1362, 1373,
- 0, 988, 995, 996, 0, 991, 0, 992, 0, 936,
- 1477, 82, 1478, 1475, 0, 1473, 1471, 1535, 0, 1544,
- 1545, 1554, 1555, 1561, 0, 0, 1574, 0, 1568, 87,
- 0, 0, 0, 1488, 191, 0, 210, 0, 617, 0,
- 620, 610, 697, 698, 0, 710, 702, 704, 705, 687,
- -2, 1514, 0, 0, 0, 590, 1426, 0, 0, 1302,
- 0, 636, 637, 1093, 1086, 0, 1071, 1072, 1090, 1327,
- 1329, 0, 0, 0, 987, 947, 948, 989, 990, 81,
- 0, 1474, 1113, 0, 1547, 1548, 1578, 0, 1567, 1573,
- 956, 963, 0, 88, 442, 435, 1514, 0, 0, 0,
- 690, 691, 692, 693, 694, 695, 696, 579, 1516, 139,
- 140, 0, 509, 510, 511, 133, 0, 1147, 1298, 1087,
- 0, 0, 0, 0, 0, 1348, 0, 1354, 0, 1359,
- 0, 1476, 0, 0, 1576, 622, 0, 624, 0, -2,
- 430, 443, 0, 185, 211, 212, 0, 0, 215, 216,
- 217, 208, 209, 129, 0, 0, 711, 0, 1517, 1518,
- 0, 136, 0, 0, 1078, 1079, 1080, 1081, 1083, 0,
- 0, 0, 0, 1114, 1091, 623, 0, 0, 385, 0,
- 633, 431, 432, 0, 438, 439, 440, 441, 213, 214,
- 645, 0, 0, 508, 586, 1427, 0, 0, 1349, 0,
- 1355, 0, 1360, 0, 625, 626, 634, 0, 433, 0,
- 434, 0, 0, 0, 614, 0, 645, 1515, 1088, 1082,
- 1084, 0, 0, 1112, 0, 635, 631, 444, 446, 447,
- 0, 0, 445, 646, 615, 1350, 1356, 0, 448, 449,
- 450, 627, 628, 629, 630,
+ 401, 1508, 165, 1624, 1621, 1622, 1781, 1782, 1783, 1784,
+ 1785, 1786, 1787, 1788, 1789, 1790, 1791, 1792, 1793, 1794,
+ 1795, 1796, 1797, 1798, 1799, 1800, 1801, 1802, 1803, 1804,
+ 1805, 1806, 1807, 1808, 1809, 1810, 1811, 1812, 1813, 1814,
+ 1815, 1816, 1817, 1818, 1819, 1820, 1821, 1822, 1823, 1824,
+ 1825, 1826, 1827, 1828, 1829, 1830, 1831, 1832, 1833, 1834,
+ 1835, 1836, 1837, 1838, 1839, 1840, 1841, 1842, 1843, 1844,
+ 1845, 1846, 1847, 1848, 1849, 1850, 1851, 1852, 1853, 1854,
+ 1855, 1856, 1857, 1858, 1859, 1860, 1861, 1862, 1863, 1864,
+ 1865, 1866, 1867, 1868, 1869, 1870, 1871, 1872, 1873, 1874,
+ 1875, 1876, 1877, 1878, 1879, 1880, 1881, 1882, 1883, 1884,
+ 1885, 1886, 1887, 1888, 1889, 1890, 1891, 1892, 1893, 1894,
+ 1895, 1896, 1897, 1898, 1899, 1900, 1901, 1902, 1903, 1904,
+ 1905, 1906, 1907, 1908, 1909, 1910, 1911, 1912, 1913, 1914,
+ 1915, 1916, 1917, 1918, 1919, 1920, 1921, 1922, 1923, 1924,
+ 1925, 1926, 1927, 1928, 1929, 1930, 1931, 1932, 1933, 1934,
+ 1935, 1936, 1937, 1938, 1939, 1940, 1941, 1942, 1943, 1944,
+ 1945, 1946, 1947, 1948, 1949, 1950, 1951, 1952, 1953, 1954,
+ 1955, 1956, 1957, 1958, 1959, 1960, 1961, 1962, 1963, 1964,
+ 1965, 1966, 1967, 1968, 1969, 1970, 1971, 1972, 1973, 1974,
+ 1975, 1976, 1977, 1978, 1979, 1980, 1981, 1982, 1983, 1984,
+ 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994,
+ 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
+ 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014,
+ 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024,
+ 2025, 2026, 2027, 2028, 2029, 2030, 2031, 2032, 2033, 2034,
+ 2035, 2036, 2037, 2038, 2039, 2040, 2041, 2042, 2043, 2044,
+ 2045, 2046, 2047, 2048, 2049, 2050, 2051, 2052, 2053, 2054,
+ 2055, 2056, 2057, 2058, 2059, 2060, 2061, 2062, 2063, 2064,
+ 2065, 2066, 2067, 2068, 2069, 2070, 2071, 2072, 2073, 2074,
+ 2075, 2076, 2077, 2078, 2079, 2080, 2081, 2082, 2083, 2084,
+ 2085, 2086, 2087, 2088, 2089, 2090, 2091, 2092, 2093, 2094,
+ 2095, 2096, 2097, 2098, 2099, 2100, 2101, 2102, 2103, 2104,
+ 2105, 2106, 2107, 2108, 2109, 2110, 2111, 2112, 2113, 2114,
+ 2115, 2116, 2117, 2118, 2119, 2120, 2121, 2122, 2123, 2124,
+ 2125, 2126, 2127, 2128, 2129, 2130, 2131, 2132, 2133, 2134,
+ 2135, 2136, 2137, 2138, 2139, 2140, 2141, 2142, 2143, 2144,
+ 2145, 2146, 2147, 2148, 2149, 2150, 2151, 2152, 2153, 2154,
+ 2155, 2156, 2157, 2158, 2159, 2160, 2161, 2162, 2163, 2164,
+ 2165, 2166, 2167, 2168, 2169, 2170, 2171, 2172, 2173, 2174,
+ 2175, 2176, 2177, 2178, 2179, 2180, 2181, 2182, 2183, 2184,
+ 2185, 2186, 2187, 2188, 2189, 2190, 2191, 2192, 2193, 2194,
+ 2195, 2196, 2197, 2198, 2199, 2200, 2201, 2202, 2203, 2204,
+ 2205, 2206, 2207, 2208, 2209, 2210, 2211, 2212, 2213, 2214,
+ 2215, 2216, 2217, 2218, 2219, 2220, 2221, 2222, 2223, 2224,
+ 2225, 2226, 2227, 2228, 2229, 2230, 2231, 2232, 2233, 2234,
+ 2235, 2236, 2237, 2238, 2239, 2240, 2241, 2242, 2243, 2244,
+ 2245, 2246, 2247, 0, 1600, 0, 720, 980, 0, 876,
+ 877, 0, 786, 786, 0, 786, 786, 786, 786, 0,
+ 0, 0, 734, 0, 0, 0, 0, 783, 0, 750,
+ 751, 0, 783, 0, 757, 789, 0, 0, 764, 786,
+ 786, 767, 2251, 0, 2251, 2251, 1591, 0, 780, 778,
+ 792, 793, 42, 796, 799, 800, 801, 802, 805, 0,
+ 816, 819, 1617, 1618, 0, 821, 826, 843, 844, 0,
+ 45, 1136, 0, 1004, 0, 1012, -2, 1023, 1040, 1041,
+ 1042, 1043, 1044, 1046, 1047, 1048, 0, 0, 0, 0,
+ 1053, 1054, 0, 0, 0, 0, 0, 1117, 0, 0,
+ 0, 0, 1980, 1454, 0, 0, 1416, 1416, 1152, 1416,
+ 1416, 1418, 1418, 1418, 1833, 1972, 1981, 2157, 1794, 1800,
+ 1801, 1802, 2103, 2104, 2105, 2106, 2195, 2196, 2200, 1896,
+ 1789, 2170, 2171, 0, 2247, 1933, 1941, 1942, 1966, 2067,
+ 2180, 1812, 1961, 2031, 1893, 1915, 1916, 2049, 2050, 1937,
+ 1938, 1919, 2109, 2111, 2127, 2128, 2113, 2115, 2124, 2130,
+ 2135, 2114, 2126, 2131, 2144, 2148, 2151, 2152, 2153, 2121,
+ 2119, 2132, 2136, 2138, 2140, 2146, 2149, 2122, 2120, 2133,
+ 2137, 2139, 2141, 2147, 2150, 2108, 2112, 2116, 2125, 2143,
+ 2123, 2142, 2117, 2129, 2134, 2145, 2118, 2110, 1931, 1934,
+ 1922, 1923, 1925, 1927, 1932, 1939, 1945, 1924, 1944, 1943,
+ 0, 1920, 1921, 1926, 1936, 1940, 1928, 1929, 1930, 1935,
+ 1946, 1987, 1986, 1985, 2030, 1957, 2029, 0, 0, 0,
+ 0, 0, 1784, 1838, 1839, 2154, 1338, 1339, 1340, 1341,
+ 0, 0, 0, 0, 0, 0, 0, 291, 292, 1467,
+ 1468, 44, 1135, 1587, 1418, 1418, 1418, 1418, 1418, 1418,
+ 1075, 1076, 1077, 1078, 1079, 1105, 1106, 1112, 1113, 2044,
+ 2045, 2046, 2047, 1876, 2190, 1885, 1886, 2026, 2027, 1898,
+ 1899, 2221, 2222, -2, -2, -2, 232, 233, 234, 235,
+ 236, 237, 238, 239, 0, 1837, 2168, 2169, 228, 0,
+ 0, 296, 293, 294, 295, 1119, 1120, 249, 250, 251,
+ 252, 253, 254, 255, 256, 257, 258, 259, 260, 261,
+ 262, 263, 264, 265, 266, 267, 268, 269, 270, 271,
+ 272, 273, 274, 275, 276, 277, 278, 279, 280, 281,
+ 282, 283, 284, 285, 286, 287, 288, 289, 290, 298,
+ 299, 2250, 0, 853, 0, 0, 0, 0, 0, 0,
+ 1629, 1630, 1490, 0, 1482, 1481, 63, 0, 880, -2,
+ 0, 0, 0, 0, 47, 0, 52, 937, 883, 77,
+ 76, 1530, 1533, 0, 0, 0, 59, 1491, 67, 69,
+ 1492, 0, 885, 886, 0, 913, 917, 0, 0, 0,
+ 1607, 1606, 1606, 102, 0, 0, 103, 123, 124, 125,
+ 0, 0, 109, 110, 1593, 1594, 43, 0, 0, 177,
+ 178, 0, 1093, 428, 0, 173, 0, 421, 360, 0,
+ 1508, 0, 0, 0, 0, 0, 880, 0, 1601, 154,
+ 155, 162, 163, 164, 401, 401, 401, 575, 0, 0,
+ 165, 165, 533, 534, 535, 0, 0, -2, 426, 0,
+ 513, 0, 0, 415, 415, 419, 417, 418, 0, 0,
+ 0, 0, 0, 0, 0, 0, 552, 0, 553, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 668, 0,
+ 402, 0, 573, 574, 464, 0, 0, 0, 0, 0,
+ 0, 0, 0, 1609, 1610, 0, 550, 551, 0, 0,
+ 0, 401, 401, 0, 0, 0, 0, 401, 401, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 153, 1521, 0,
+ 0, 0, -2, 0, 712, 0, 0, 0, 1602, 1602,
+ 0, 719, 0, 0, 0, 724, 0, 0, 725, 0,
+ 783, 783, 781, 782, 727, 728, 729, 730, 786, 0,
+ 0, 410, 411, 412, 783, 786, 0, 786, 786, 786,
+ 786, 783, 783, 783, 786, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 2251, 789, 786, 0, 758, 0,
+ 759, 760, 761, 762, 765, 766, 768, 2252, 2253, 1619,
+ 1620, 1631, 1632, 1633, 1634, 1635, 1636, 1637, 1638, 1639,
+ 1640, 1641, 1642, 1643, 1644, 1645, 1646, 1647, 1648, 1649,
+ 1650, 1651, 1652, 1653, 1654, 1655, 1656, 1657, 1658, 1659,
+ 1660, 1661, 1662, 1663, 1664, 1665, 1666, 1667, 1668, 1669,
+ 1670, 1671, 1672, 1673, 1674, 1675, 1676, 1677, 1678, 1679,
+ 1680, 1681, 1682, 1683, 1684, 1685, 1686, 1687, 1688, 1689,
+ 1690, 1691, 1692, 1693, 1694, 1695, 1696, 1697, 1698, 1699,
+ 1700, 1701, 1702, 1703, 1704, 1705, 1706, 1707, 1708, 1709,
+ 1710, 1711, 1712, 1713, 1714, 1715, 1716, 1717, 1718, 1719,
+ 1720, 1721, 1722, 1723, 1724, 1725, 1726, 1727, 1728, 1729,
+ 1730, 1731, 1732, 1733, 1734, 1735, 1736, 1737, 1738, 1739,
+ 1740, 1741, 1742, 1743, 1744, 1745, 1746, 1747, 1748, 1749,
+ 1750, 1751, 1752, 1753, 1754, 1755, 1756, 1757, 1758, 1759,
+ 1760, 1761, 1762, 1763, 1764, 1765, 1766, 1767, 1768, 1769,
+ 1770, 1771, 1772, 1773, 1774, 1775, 1776, 1777, 1778, 1779,
+ 1780, 2251, 2251, 772, 776, 1592, 798, 804, 806, 807,
+ 0, 0, 817, 820, 837, 49, 1884, 825, 49, 827,
+ 828, 829, 855, 856, 861, 0, 0, 0, 0, 867,
+ 868, 869, 0, 0, 872, 873, 874, 0, 0, 0,
+ 0, 0, 1002, 0, 0, 1125, 1126, 1127, 1128, 1129,
+ 1130, 1131, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1024, 1025, 0, 0, 0, 1049, 1050, 1051, 1052, 1055,
+ 0, 1066, 0, 1068, 1463, -2, 0, 0, 0, 1060,
+ 1061, 0, 0, 0, 1612, 1612, 0, 0, 0, 1455,
+ 0, 0, 1150, 0, 1151, 1153, 1154, 1155, 0, 1156,
+ 1157, 890, 890, 890, 890, 890, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 890, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 1612, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 141, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 1612, 0, 0, 1612, 1612, 0, 0,
+ 220, 221, 222, 223, 224, 225, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 297, 240, 241, 242, 243, 244, 245, 300, 246, 247,
+ 248, 1135, 0, 0, 0, 46, 845, 846, 0, 963,
+ 1612, 0, 0, 896, 0, 1627, 57, 66, 68, 1490,
+ 61, 1490, 0, 900, 0, 0, -2, -2, 901, 902,
+ 906, 907, 908, 909, 910, 54, 2249, 55, 0, 74,
+ 0, 48, 0, 0, 1531, 0, 1534, 0, 0, 0,
+ 374, 1538, 0, 0, 1483, 1484, 1487, 0, 914, 1978,
+ 918, 0, 920, 921, 0, 0, 100, 0, 979, 0,
+ 0, 0, 111, 0, 113, 114, 0, 0, 0, 385,
+ 1595, 1596, 1597, -2, 408, 0, 385, 369, 308, 309,
+ 310, 360, 312, 360, 360, 360, 360, 374, 374, 374,
+ 374, 343, 344, 345, 346, 347, 0, 0, 329, 360,
+ 360, 360, 360, 350, 351, 352, 353, 354, 355, 356,
+ 357, 313, 314, 315, 316, 317, 318, 319, 320, 321,
+ 362, 362, 362, 362, 362, 366, 366, 0, 1094, 0,
+ 389, 0, 1487, 0, 0, 1521, 1604, 1614, 0, 0,
+ 0, 1604, 132, 0, 0, 0, 576, 618, 527, 564,
+ 577, 0, 530, 531, -2, 0, 0, 512, 0, 514,
+ 0, 409, 0, -2, 0, 419, 0, 415, 419, 416,
+ 419, 407, 420, 554, 555, 556, 0, 558, 559, 648,
+ 949, 0, 0, 0, 0, 0, 654, 655, 656, 0,
+ 658, 659, 660, 661, 662, 663, 664, 665, 666, 667,
+ 565, 566, 567, 568, 569, 570, 571, 572, 0, 0,
+ 0, 0, 514, 0, 561, 0, 0, 465, 466, 467,
+ 0, 0, 470, 471, 472, 473, 0, 0, 476, 477,
+ 478, 966, 967, 479, 480, 505, 506, 507, 481, 482,
+ 483, 484, 485, 486, 487, 499, 500, 501, 502, 503,
+ 504, 488, 489, 490, 491, 492, 493, 496, 0, 147,
+ 1512, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 1602, 0, 0,
+ 0, 0, 899, 981, 1625, 1626, 721, 0, 0, 787,
+ 788, 0, 413, 414, 786, 786, 731, 773, 0, 786,
+ 735, 774, 736, 738, 737, 739, 752, 753, 786, 742,
+ 784, 785, 743, 744, 745, 746, 747, 748, 749, 769,
+ 754, 755, 756, 790, 0, 794, 795, 770, 771, 0,
+ 0, 810, 811, 0, 818, 840, 838, 839, 841, 833,
+ 834, 835, 836, 0, 842, 0, 0, 858, 96, 863,
+ 864, 865, 866, 878, 871, 1137, 999, 1000, 1001, 0,
+ 1003, 1009, 0, 1121, 1123, 1007, 1008, 1011, 1005, 1013,
+ 1132, 1133, 1134, 0, 0, 0, 0, 0, 1017, 1021,
+ 1026, 1027, 1028, 1029, 1030, 0, 1031, 0, 1034, 1035,
+ 1036, 1037, 1038, 1039, 1045, 1431, 1432, 1433, 1064, 301,
+ 302, 0, 1065, 0, 0, 0, 0, 0, 0, 0,
+ 0, 1378, 1379, 1380, 1381, 1382, 1383, 1384, 1385, 1386,
+ 1387, 1388, 1389, 1390, 1391, 1392, 1393, 1394, 1395, 1396,
+ 1397, 1136, 0, 1613, 0, 0, 0, 1461, 1458, 0,
+ 0, 0, 1417, 1419, 0, 0, 0, 891, 892, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 1398, 1399, 1400, 1401,
+ 1402, 1403, 1404, 1405, 1406, 1407, 1408, 1409, 1410, 1411,
+ 1412, 1413, 1414, 1415, 0, 0, 1434, 0, 0, 0,
+ 0, 0, 1454, 0, 1070, 1071, 1072, 0, 0, 0,
+ 0, 0, 0, 1196, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 142, 143, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 1342,
+ 1343, 1344, 1345, 41, 0, 0, 0, 0, 0, 0,
+ 0, 1465, 0, -2, -2, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 1367, 0,
+ 0, 0, 0, 0, 0, 1585, 0, 0, 848, 849,
+ 851, 0, 983, 0, 964, 0, 0, 854, 0, 895,
+ 0, 898, 60, 62, 904, 905, 0, 922, 911, 903,
+ 56, 51, 0, 0, 941, 1532, 1535, 1536, 374, 1558,
+ 0, 383, 383, 380, 1493, 1494, 0, 1486, 1488, 1489,
+ 79, 919, 915, 0, 997, 0, 0, 978, 0, 925,
+ 927, 928, 929, 961, 0, 932, 933, 0, 0, 0,
+ 0, 0, 98, 980, 104, 0, 112, 0, 0, 117,
+ 118, 105, 106, 107, 108, 0, 607, -2, 460, 179,
+ 181, 182, 183, 174, -2, 372, 370, 371, 311, 374,
+ 374, 337, 338, 339, 340, 341, 342, 0, 0, 330,
+ 331, 332, 333, 322, 0, 323, 324, 325, 364, 0,
+ 326, 327, 0, 328, 427, 0, 1495, 390, 391, 393,
+ 401, 0, 396, 397, 0, 401, 401, 0, 422, 423,
+ 0, 1487, 1512, 0, 0, 0, 1615, 1614, 1614, 1614,
+ 0, 167, 168, 169, 170, 171, 172, 643, 0, 0,
+ 619, 641, 642, 165, 0, 0, 175, 516, 515, 0,
+ 675, 0, 425, 0, 0, 419, 419, 404, 405, 557,
+ 0, 0, 650, 651, 652, 653, 0, 0, 0, 543,
+ 454, 0, 544, 545, 514, 516, 0, 0, 385, 468,
+ 469, 474, 475, 494, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 592, 593, 594, 597,
+ 599, 518, 603, 605, 596, 598, 600, 518, 604, 606,
+ 1509, 1510, 1511, 0, 0, 713, 0, 0, 451, 94,
+ 1603, 718, 722, 723, 783, 741, 775, 783, 733, 740,
+ 763, 808, 809, 814, 822, 823, 824, 862, 0, 0,
+ 0, 0, 870, 0, 0, 1010, 1122, 1124, 1014, 0,
+ 1018, 1022, 0, 0, 0, 0, 0, 1069, 1067, 1465,
+ 0, 0, 0, 1118, 0, 0, 1140, 1141, 0, 0,
+ 0, 0, 1459, 0, 0, 1148, 0, 1420, 1099, 0,
+ 0, 0, 0, 0, 1099, 1099, 1099, 1099, 1099, 1099,
+ 1099, 1099, 1099, 1099, 1481, 1175, 0, 0, 0, 0,
+ 0, 1180, 1181, 1182, 1183, 1184, 0, 1186, 0, 1187,
+ 0, 0, 0, 0, 1194, 1195, 1197, 0, 0, 1200,
+ 1201, 0, 1203, 0, 1205, 1206, 1207, 1208, 1209, 1210,
+ 0, 1212, 0, 1214, 1215, 1216, 0, 1218, 0, 1220,
+ 1221, 0, 1223, 0, 1225, 0, 1228, 0, 1231, 0,
+ 1234, 0, 1237, 0, 1240, 0, 1243, 0, 1246, 0,
+ 1249, 0, 1252, 0, 1255, 0, 1258, 0, 1261, 0,
+ 1264, 0, 1267, 0, 1270, 0, 1273, 1274, 1275, 0,
+ 1277, 0, 1279, 0, 1282, 1283, 0, 1285, 0, 1288,
+ 0, 1291, 0, 0, 1292, 0, 0, 0, 1296, 0,
+ 0, 0, 0, 1305, 1306, 1307, 1308, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 1319, 1320, 1321,
+ 1322, 1323, 1324, 0, 1326, 0, 1100, 0, 0, 1100,
+ 0, 0, 0, 0, 0, 1138, 1612, 0, 1421, 1422,
+ 1423, 1424, 1425, 0, 0, 0, 0, 0, 0, 1365,
+ 1366, 1368, 0, 0, 1371, 0, 1373, 0, 1586, 847,
+ 850, 852, 935, 984, 985, 0, 0, 0, 0, 965,
+ 1611, 893, 894, 897, 943, 0, 1469, 0, 0, 922,
+ 997, 0, 923, 0, 53, 938, 0, 1540, 1539, 1552,
+ 1565, 383, 383, 377, 378, 384, 379, 381, 382, 1485,
+ 0, 1490, 0, 1579, 0, 0, 1568, 0, 0, 0,
+ 0, 0, 0, 0, 0, 968, 0, 0, 971, 0,
+ 0, 0, 0, 962, 933, 0, 934, 0, -2, 0,
+ 0, 92, 93, 0, 0, 0, 115, 116, 0, 0,
+ 122, 386, 387, 156, 165, 462, 180, 435, 0, 0,
+ 307, 373, 334, 335, 336, 0, 358, 0, 0, 0,
+ 0, 456, 128, 1499, 1498, 401, 401, 392, 0, 395,
+ 0, 0, 0, 1616, 361, 424, 0, 146, 0, 0,
+ 0, 0, 0, 152, 613, 0, 0, 620, 0, 0,
+ 0, 525, 0, 536, 537, 0, 647, -2, 709, 389,
+ 0, 403, 406, 950, 0, 0, 538, 0, 541, 542,
+ 455, 516, 547, 548, 562, 549, 497, 498, 495, 0,
+ 0, 1522, 1523, 1528, 1526, 1527, 133, 583, 585, 589,
+ 584, 588, 0, 0, 0, 520, 0, 520, 581, 0,
+ 451, 1495, 0, 717, 452, 453, 786, 786, 857, 97,
+ 0, 860, 0, 0, 0, 0, 1015, 1019, 1032, 1033,
+ 1426, 1452, 360, 360, 1439, 360, 366, 1442, 360, 1444,
+ 360, 1447, 360, 1450, 1451, 0, 0, 1062, 0, 0,
+ 0, 0, 1147, 1462, 0, 0, 1158, 1098, 1099, 1099,
+ 1099, 1099, 1099, 1164, 1165, 1166, 1167, 1168, 1169, 1170,
+ 1171, 1172, 1173, 1456, 0, 0, 0, 1179, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 144, 145,
+ 0, 0, 0, 0, 0, 0, 1376, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 1093, 1097,
+ 0, 1101, 1102, 0, 0, 1328, 0, 0, 1346, 0,
+ 0, 0, 0, 0, 0, 0, 1466, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 986, 993, 0,
+ 993, 0, 993, 0, 0, 0, 1598, 1599, 1470, 1471,
+ 997, 1472, 912, 924, 942, 1558, 0, 1551, 0, -2,
+ 1560, 0, 0, 0, 1566, 375, 376, 916, 80, 998,
+ 83, 0, 1579, 1588, 0, 1576, 1581, 1583, 0, 0,
+ 0, 1572, 0, 997, 926, 957, 959, 0, 954, 969,
+ 970, 972, 0, 974, 0, 976, 977, 937, 931, 0,
+ 100, 0, 997, 997, 99, 0, 982, 119, 120, 121,
+ 461, 184, 189, 0, 0, 0, 194, 0, 196, 0,
+ 0, 0, 201, 202, 401, 401, 436, 0, 304, 306,
+ 0, 0, 187, 374, 0, 374, 0, 365, 367, 0,
+ 437, 457, 1496, 1497, 0, 0, 394, 398, 399, 400,
+ 0, 1605, 148, 0, 0, 0, 616, 0, 644, 0,
+ 0, 0, 0, 0, 0, 176, 517, 676, 677, 678,
+ 679, 680, 681, 682, 683, 684, 0, 401, 0, 0,
+ 0, 401, 401, 401, 0, 701, 388, 0, 0, 672,
+ 669, 539, 0, 218, 219, 226, 227, 229, 0, 0,
+ 0, 0, 0, 546, 937, 1513, 1514, 1515, 0, 1525,
+ 1529, 136, 0, 0, 0, 0, 591, 595, 601, 0,
+ 519, 602, 714, 715, 716, 95, 726, 732, 859, 879,
+ 1006, 1016, 1020, 0, 0, 0, 0, 1453, 1437, 374,
+ 1440, 1441, 1443, 1445, 1446, 1448, 1449, 1058, 1059, 1063,
+ 0, 1144, 0, 1146, 0, 1460, 0, 1159, 1160, 1161,
+ 1162, 1163, 1490, 0, 0, 0, 1178, 0, 0, 0,
+ 1189, 1188, 1190, 0, 1192, 1193, 1198, 1199, 1202, 1204,
+ 1211, 1213, 1217, 1219, 1222, 1224, 1226, 0, 1229, 0,
+ 1232, 0, 1235, 0, 1238, 0, 1241, 0, 1244, 0,
+ 1247, 0, 1250, 0, 1253, 0, 1256, 0, 1259, 0,
+ 1262, 0, 1265, 0, 1268, 0, 1271, 0, 1276, 1278,
+ 0, 1281, 1284, 1286, 0, 1289, 0, 1293, 0, 1295,
+ 1297, 1298, 0, 0, 0, 1309, 1310, 1311, 1312, 1313,
+ 1314, 1315, 1316, 1317, 1318, 1325, 0, 1091, 1327, 1103,
+ 1104, 1109, 1330, 0, 0, 0, 1333, 0, 0, 0,
+ 1337, 1139, 1348, 0, 1353, 0, 0, 1359, 0, 1363,
+ 0, 1369, 1370, 1372, 1374, 0, 0, 0, 0, 0,
+ 0, 0, 963, 944, 64, 1472, 1474, 0, 1545, 1543,
+ 1543, 1553, 1554, 0, 0, 1561, 0, 0, 0, 0,
+ 84, 0, 0, 1567, 0, 0, 1584, 0, 0, 0,
+ 0, 101, 1481, 951, 958, 0, 0, 952, 0, 953,
+ 973, 975, 930, 0, 997, 997, 90, 91, 0, 190,
+ 0, 192, 0, 195, 197, 198, 199, 205, 206, 207,
+ 200, 0, 0, 303, 305, 0, 0, 348, 359, 349,
+ 0, 0, 1500, 1501, 1502, 1503, 1504, 1505, 1506, 1507,
+ 937, 149, 150, 151, 608, 0, 618, 0, 939, 0,
+ 611, 0, 528, 0, 0, 0, 401, 401, 401, 0,
+ 0, 0, 0, 686, 0, 0, 649, 0, 657, 0,
+ 0, 0, 230, 231, 0, 1524, 582, 0, 134, 135,
+ 0, 0, 587, 521, 522, 1056, 0, 0, 0, 1057,
+ 1438, 0, 0, 0, 0, 0, 1457, 0, 0, 0,
+ 0, 1185, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 1301, 0, 0, 0, 638, 639,
+ 0, 1377, 1096, 1481, 0, 1100, 1110, 1111, 0, 1100,
+ 1347, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 994, 0, 0, 0, 945, 946, 0, 0,
+ 0, 983, 1474, 1479, 0, 0, 1548, 0, 1541, 1544,
+ 1542, 1555, 0, 0, 1562, 0, 1564, 0, 1589, 1590,
+ 1582, 1577, 0, 1571, 1574, 1576, 1573, 1490, 955, 0,
+ 960, 0, 1481, 89, 0, 193, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 203, 204, 0, 0, 363,
+ 368, 0, 0, 0, 609, 0, 940, 621, 612, 0,
+ 699, 0, 703, 0, 0, 0, 706, 707, 708, 685,
+ 0, 689, 429, 673, 670, 671, 540, 0, 137, 138,
+ 0, 0, 0, 1427, 0, 1430, 1142, 1145, 1143, 0,
+ 1174, 1176, 1177, 1435, 1436, 1191, 1227, 1230, 1233, 1236,
+ 1239, 1242, 1245, 1248, 1251, 1254, 1257, 1260, 1263, 1266,
+ 1269, 1272, 1280, 1287, 1290, 1294, 1299, 0, 1302, 0,
+ 0, 1303, 0, 640, 1087, 0, 0, 1107, 1108, 0,
+ 1332, 1334, 1335, 1336, 1349, 0, 1354, 1355, 0, 1360,
+ 0, 1364, 1375, 0, 988, 995, 996, 0, 991, 0,
+ 992, 0, 936, 1479, 82, 1480, 1477, 0, 1475, 1473,
+ 1537, 0, 1546, 1547, 1556, 1557, 1563, 0, 0, 1576,
+ 0, 1570, 87, 0, 0, 0, 1490, 191, 0, 210,
+ 0, 617, 0, 620, 610, 697, 698, 0, 710, 702,
+ 704, 705, 687, -2, 1516, 0, 0, 0, 590, 1428,
+ 0, 0, 1304, 0, 636, 637, 1095, 1088, 0, 1073,
+ 1074, 1092, 1329, 1331, 0, 0, 0, 987, 947, 948,
+ 989, 990, 81, 0, 1476, 1115, 0, 1549, 1550, 1580,
+ 0, 1569, 1575, 956, 963, 0, 88, 442, 435, 1516,
+ 0, 0, 0, 690, 691, 692, 693, 694, 695, 696,
+ 579, 1518, 139, 140, 0, 509, 510, 511, 133, 0,
+ 1149, 1300, 1089, 0, 0, 0, 0, 0, 1350, 0,
+ 1356, 0, 1361, 0, 1478, 0, 0, 1578, 622, 0,
+ 624, 0, -2, 430, 443, 0, 185, 211, 212, 0,
+ 0, 215, 216, 217, 208, 209, 129, 0, 0, 711,
+ 0, 1519, 1520, 0, 136, 0, 0, 1080, 1081, 1082,
+ 1083, 1085, 0, 0, 0, 0, 1116, 1093, 623, 0,
+ 0, 385, 0, 633, 431, 432, 0, 438, 439, 440,
+ 441, 213, 214, 645, 0, 0, 508, 586, 1429, 0,
+ 0, 1351, 0, 1357, 0, 1362, 0, 625, 626, 634,
+ 0, 433, 0, 434, 0, 0, 0, 614, 0, 645,
+ 1517, 1090, 1084, 1086, 0, 0, 1114, 0, 635, 631,
+ 444, 446, 447, 0, 0, 445, 646, 615, 1352, 1358,
+ 0, 448, 449, 450, 627, 628, 629, 630,
}
var yyTok1 = [...]int{
1, 3, 3, 3, 3, 3, 3, 3, 3, 3,
3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 146, 3, 3, 3, 174, 166, 3,
- 88, 90, 171, 169, 89, 170, 224, 172, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 735,
- 154, 153, 155, 3, 3, 3, 3, 3, 3, 3,
+ 3, 3, 3, 147, 3, 3, 3, 175, 167, 3,
+ 88, 90, 172, 170, 89, 171, 225, 173, 3, 3,
+ 3, 3, 3, 3, 3, 3, 3, 3, 3, 736,
+ 155, 154, 156, 3, 3, 3, 3, 3, 3, 3,
3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 176, 3, 3, 3, 3, 3,
+ 3, 3, 3, 3, 177, 3, 3, 3, 3, 3,
3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 142, 3, 177,
+ 3, 3, 3, 3, 143, 3, 178,
}
var yyTok2 = [...]int{
@@ -9767,14 +9734,14 @@ var yyTok2 = [...]int{
105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
115, 116, 117, 118, 119, 120, 121, 122, 123, 124,
125, 126, 127, 128, 129, 130, 131, 132, 133, 134,
- 135, 136, 137, 138, 139, 140, 141, 143, 144, 145,
- 147, 148, 149, 150, 151, 152, 156, 157, 158, 159,
- 160, 161, 162, 163, 164, 165, 167, 168, 173, 175,
- 178, 179, 180, 181, 182, 183, 184, 185, 186, 187,
+ 135, 136, 137, 138, 139, 140, 141, 142, 144, 145,
+ 146, 148, 149, 150, 151, 152, 153, 157, 158, 159,
+ 160, 161, 162, 163, 164, 165, 166, 168, 169, 174,
+ 176, 179, 180, 181, 182, 183, 184, 185, 186, 187,
188, 189, 190, 191, 192, 193, 194, 195, 196, 197,
198, 199, 200, 201, 202, 203, 204, 205, 206, 207,
208, 209, 210, 211, 212, 213, 214, 215, 216, 217,
- 218, 219, 220, 221, 222, 223, 225, 226, 227, 228,
+ 218, 219, 220, 221, 222, 223, 224, 226, 227, 228,
229, 230, 231, 232, 233, 234, 235, 236, 237, 238,
239, 240, 241, 242, 243, 244, 245, 246, 247, 248,
249, 250, 251, 252, 253, 254, 255, 256, 257, 258,
@@ -9875,7 +9842,7 @@ var yyTok3 = [...]int{
58045, 720, 58046, 721, 58047, 722, 58048, 723, 58049, 724,
58050, 725, 58051, 726, 58052, 727, 58053, 728, 58054, 729,
58055, 730, 58056, 731, 58057, 732, 58058, 733, 58059, 734,
- 0,
+ 58060, 735, 0,
}
var yyErrorMessages = [...]struct {
@@ -17549,157 +17516,151 @@ yydefault:
}
yyVAL.union = yyLOCAL
case 1007:
- yyDollar = yyS[yypt-3 : yypt+1]
- var yyLOCAL Expr
+ yyDollar = yyS[yypt-1 : yypt+1]
//line sql.y:5275
{
- yyLOCAL = &IsExpr{Left: yyDollar[1].exprUnion(), Right: IsNullOp}
}
- yyVAL.union = yyLOCAL
case 1008:
- yyDollar = yyS[yypt-4 : yypt+1]
- var yyLOCAL Expr
-//line sql.y:5279
+ yyDollar = yyS[yypt-1 : yypt+1]
+//line sql.y:5278
{
- yyLOCAL = &IsExpr{Left: yyDollar[1].exprUnion(), Right: IsNotNullOp}
}
- yyVAL.union = yyLOCAL
case 1009:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL Expr
//line sql.y:5283
{
- yyLOCAL = &ComparisonExpr{Left: yyDollar[1].exprUnion(), Operator: yyDollar[2].comparisonExprOperatorUnion(), Right: yyDollar[3].exprUnion()}
+ yyLOCAL = &IsExpr{Left: yyDollar[1].exprUnion(), Right: IsNullOp}
}
yyVAL.union = yyLOCAL
case 1010:
- yyDollar = yyS[yypt-1 : yypt+1]
+ yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
//line sql.y:5287
{
- yyLOCAL = yyDollar[1].exprUnion()
+ yyLOCAL = &IsExpr{Left: yyDollar[1].exprUnion(), Right: IsNotNullOp}
}
yyVAL.union = yyLOCAL
case 1011:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL Expr
-//line sql.y:5293
+//line sql.y:5291
{
- yyLOCAL = &ComparisonExpr{Left: yyDollar[1].exprUnion(), Operator: InOp, Right: yyDollar[3].colTupleUnion()}
+ yyLOCAL = &ComparisonExpr{Left: yyDollar[1].exprUnion(), Operator: yyDollar[2].comparisonExprOperatorUnion(), Right: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
case 1012:
- yyDollar = yyS[yypt-4 : yypt+1]
+ yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL Expr
-//line sql.y:5297
+//line sql.y:5295
{
- yyLOCAL = &ComparisonExpr{Left: yyDollar[1].exprUnion(), Operator: NotInOp, Right: yyDollar[4].colTupleUnion()}
+ yyLOCAL = yyDollar[1].exprUnion()
}
yyVAL.union = yyLOCAL
case 1013:
- yyDollar = yyS[yypt-5 : yypt+1]
+ yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL Expr
//line sql.y:5301
{
- yyLOCAL = &BetweenExpr{Left: yyDollar[1].exprUnion(), IsBetween: true, From: yyDollar[3].exprUnion(), To: yyDollar[5].exprUnion()}
+ yyLOCAL = &ComparisonExpr{Left: yyDollar[1].exprUnion(), Operator: InOp, Right: yyDollar[3].colTupleUnion()}
}
yyVAL.union = yyLOCAL
case 1014:
- yyDollar = yyS[yypt-6 : yypt+1]
+ yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
//line sql.y:5305
{
- yyLOCAL = &BetweenExpr{Left: yyDollar[1].exprUnion(), IsBetween: false, From: yyDollar[4].exprUnion(), To: yyDollar[6].exprUnion()}
+ yyLOCAL = &ComparisonExpr{Left: yyDollar[1].exprUnion(), Operator: NotInOp, Right: yyDollar[4].colTupleUnion()}
}
yyVAL.union = yyLOCAL
case 1015:
- yyDollar = yyS[yypt-3 : yypt+1]
+ yyDollar = yyS[yypt-5 : yypt+1]
var yyLOCAL Expr
//line sql.y:5309
{
- yyLOCAL = &ComparisonExpr{Left: yyDollar[1].exprUnion(), Operator: LikeOp, Right: yyDollar[3].exprUnion()}
+ yyLOCAL = &BetweenExpr{Left: yyDollar[1].exprUnion(), IsBetween: true, From: yyDollar[3].exprUnion(), To: yyDollar[5].exprUnion()}
}
yyVAL.union = yyLOCAL
case 1016:
- yyDollar = yyS[yypt-4 : yypt+1]
+ yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
//line sql.y:5313
{
- yyLOCAL = &ComparisonExpr{Left: yyDollar[1].exprUnion(), Operator: NotLikeOp, Right: yyDollar[4].exprUnion()}
+ yyLOCAL = &BetweenExpr{Left: yyDollar[1].exprUnion(), IsBetween: false, From: yyDollar[4].exprUnion(), To: yyDollar[6].exprUnion()}
}
yyVAL.union = yyLOCAL
case 1017:
- yyDollar = yyS[yypt-5 : yypt+1]
+ yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL Expr
//line sql.y:5317
{
- yyLOCAL = &ComparisonExpr{Left: yyDollar[1].exprUnion(), Operator: LikeOp, Right: yyDollar[3].exprUnion(), Escape: yyDollar[5].exprUnion()}
+ yyLOCAL = &ComparisonExpr{Left: yyDollar[1].exprUnion(), Operator: LikeOp, Right: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
case 1018:
- yyDollar = yyS[yypt-6 : yypt+1]
+ yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
//line sql.y:5321
{
- yyLOCAL = &ComparisonExpr{Left: yyDollar[1].exprUnion(), Operator: NotLikeOp, Right: yyDollar[4].exprUnion(), Escape: yyDollar[6].exprUnion()}
+ yyLOCAL = &ComparisonExpr{Left: yyDollar[1].exprUnion(), Operator: NotLikeOp, Right: yyDollar[4].exprUnion()}
}
yyVAL.union = yyLOCAL
case 1019:
- yyDollar = yyS[yypt-3 : yypt+1]
+ yyDollar = yyS[yypt-5 : yypt+1]
var yyLOCAL Expr
//line sql.y:5325
{
- yyLOCAL = &ComparisonExpr{Left: yyDollar[1].exprUnion(), Operator: RegexpOp, Right: yyDollar[3].exprUnion()}
+ yyLOCAL = &ComparisonExpr{Left: yyDollar[1].exprUnion(), Operator: LikeOp, Right: yyDollar[3].exprUnion(), Escape: yyDollar[5].exprUnion()}
}
yyVAL.union = yyLOCAL
case 1020:
- yyDollar = yyS[yypt-4 : yypt+1]
+ yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
//line sql.y:5329
{
- yyLOCAL = &ComparisonExpr{Left: yyDollar[1].exprUnion(), Operator: NotRegexpOp, Right: yyDollar[4].exprUnion()}
+ yyLOCAL = &ComparisonExpr{Left: yyDollar[1].exprUnion(), Operator: NotLikeOp, Right: yyDollar[4].exprUnion(), Escape: yyDollar[6].exprUnion()}
}
yyVAL.union = yyLOCAL
case 1021:
- yyDollar = yyS[yypt-1 : yypt+1]
+ yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL Expr
//line sql.y:5333
{
- yyLOCAL = yyDollar[1].exprUnion()
+ yyLOCAL = &ComparisonExpr{Left: yyDollar[1].exprUnion(), Operator: RegexpOp, Right: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
case 1022:
- yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:5339
+ yyDollar = yyS[yypt-4 : yypt+1]
+ var yyLOCAL Expr
+//line sql.y:5337
{
+ yyLOCAL = &ComparisonExpr{Left: yyDollar[1].exprUnion(), Operator: NotRegexpOp, Right: yyDollar[4].exprUnion()}
}
+ yyVAL.union = yyLOCAL
case 1023:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:5342
+ var yyLOCAL Expr
+//line sql.y:5341
{
+ yyLOCAL = yyDollar[1].exprUnion()
}
+ yyVAL.union = yyLOCAL
case 1024:
- yyDollar = yyS[yypt-3 : yypt+1]
- var yyLOCAL Expr
-//line sql.y:5348
+ yyDollar = yyS[yypt-1 : yypt+1]
+//line sql.y:5347
{
- yyLOCAL = &BinaryExpr{Left: yyDollar[1].exprUnion(), Operator: BitOrOp, Right: yyDollar[3].exprUnion()}
}
- yyVAL.union = yyLOCAL
case 1025:
- yyDollar = yyS[yypt-3 : yypt+1]
- var yyLOCAL Expr
-//line sql.y:5352
+ yyDollar = yyS[yypt-1 : yypt+1]
+//line sql.y:5350
{
- yyLOCAL = &BinaryExpr{Left: yyDollar[1].exprUnion(), Operator: BitAndOp, Right: yyDollar[3].exprUnion()}
}
- yyVAL.union = yyLOCAL
case 1026:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL Expr
//line sql.y:5356
{
- yyLOCAL = &BinaryExpr{Left: yyDollar[1].exprUnion(), Operator: ShiftLeftOp, Right: yyDollar[3].exprUnion()}
+ yyLOCAL = &BinaryExpr{Left: yyDollar[1].exprUnion(), Operator: BitOrOp, Right: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
case 1027:
@@ -17707,7 +17668,7 @@ yydefault:
var yyLOCAL Expr
//line sql.y:5360
{
- yyLOCAL = &BinaryExpr{Left: yyDollar[1].exprUnion(), Operator: ShiftRightOp, Right: yyDollar[3].exprUnion()}
+ yyLOCAL = &BinaryExpr{Left: yyDollar[1].exprUnion(), Operator: BitAndOp, Right: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
case 1028:
@@ -17715,7 +17676,7 @@ yydefault:
var yyLOCAL Expr
//line sql.y:5364
{
- yyLOCAL = &BinaryExpr{Left: yyDollar[1].exprUnion(), Operator: PlusOp, Right: yyDollar[3].exprUnion()}
+ yyLOCAL = &BinaryExpr{Left: yyDollar[1].exprUnion(), Operator: ShiftLeftOp, Right: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
case 1029:
@@ -17723,39 +17684,39 @@ yydefault:
var yyLOCAL Expr
//line sql.y:5368
{
- yyLOCAL = &BinaryExpr{Left: yyDollar[1].exprUnion(), Operator: MinusOp, Right: yyDollar[3].exprUnion()}
+ yyLOCAL = &BinaryExpr{Left: yyDollar[1].exprUnion(), Operator: ShiftRightOp, Right: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
case 1030:
- yyDollar = yyS[yypt-5 : yypt+1]
+ yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL Expr
//line sql.y:5372
{
- yyLOCAL = &IntervalDateExpr{Syntax: IntervalDateExprBinaryAdd, Date: yyDollar[1].exprUnion(), Unit: yyDollar[5].intervalTypeUnion(), Interval: yyDollar[4].exprUnion()}
+ yyLOCAL = &BinaryExpr{Left: yyDollar[1].exprUnion(), Operator: PlusOp, Right: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
case 1031:
- yyDollar = yyS[yypt-5 : yypt+1]
+ yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL Expr
//line sql.y:5376
{
- yyLOCAL = &IntervalDateExpr{Syntax: IntervalDateExprBinarySub, Date: yyDollar[1].exprUnion(), Unit: yyDollar[5].intervalTypeUnion(), Interval: yyDollar[4].exprUnion()}
+ yyLOCAL = &BinaryExpr{Left: yyDollar[1].exprUnion(), Operator: MinusOp, Right: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
case 1032:
- yyDollar = yyS[yypt-3 : yypt+1]
+ yyDollar = yyS[yypt-5 : yypt+1]
var yyLOCAL Expr
//line sql.y:5380
{
- yyLOCAL = &BinaryExpr{Left: yyDollar[1].exprUnion(), Operator: MultOp, Right: yyDollar[3].exprUnion()}
+ yyLOCAL = &IntervalDateExpr{Syntax: IntervalDateExprBinaryAdd, Date: yyDollar[1].exprUnion(), Unit: yyDollar[5].intervalTypeUnion(), Interval: yyDollar[4].exprUnion()}
}
yyVAL.union = yyLOCAL
case 1033:
- yyDollar = yyS[yypt-3 : yypt+1]
+ yyDollar = yyS[yypt-5 : yypt+1]
var yyLOCAL Expr
//line sql.y:5384
{
- yyLOCAL = &BinaryExpr{Left: yyDollar[1].exprUnion(), Operator: DivOp, Right: yyDollar[3].exprUnion()}
+ yyLOCAL = &IntervalDateExpr{Syntax: IntervalDateExprBinarySub, Date: yyDollar[1].exprUnion(), Unit: yyDollar[5].intervalTypeUnion(), Interval: yyDollar[4].exprUnion()}
}
yyVAL.union = yyLOCAL
case 1034:
@@ -17763,7 +17724,7 @@ yydefault:
var yyLOCAL Expr
//line sql.y:5388
{
- yyLOCAL = &BinaryExpr{Left: yyDollar[1].exprUnion(), Operator: ModOp, Right: yyDollar[3].exprUnion()}
+ yyLOCAL = &BinaryExpr{Left: yyDollar[1].exprUnion(), Operator: MultOp, Right: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
case 1035:
@@ -17771,7 +17732,7 @@ yydefault:
var yyLOCAL Expr
//line sql.y:5392
{
- yyLOCAL = &BinaryExpr{Left: yyDollar[1].exprUnion(), Operator: IntDivOp, Right: yyDollar[3].exprUnion()}
+ yyLOCAL = &BinaryExpr{Left: yyDollar[1].exprUnion(), Operator: DivOp, Right: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
case 1036:
@@ -17787,29 +17748,29 @@ yydefault:
var yyLOCAL Expr
//line sql.y:5400
{
- yyLOCAL = &BinaryExpr{Left: yyDollar[1].exprUnion(), Operator: BitXorOp, Right: yyDollar[3].exprUnion()}
+ yyLOCAL = &BinaryExpr{Left: yyDollar[1].exprUnion(), Operator: IntDivOp, Right: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
case 1038:
- yyDollar = yyS[yypt-1 : yypt+1]
+ yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL Expr
//line sql.y:5404
{
- yyLOCAL = yyDollar[1].exprUnion()
+ yyLOCAL = &BinaryExpr{Left: yyDollar[1].exprUnion(), Operator: ModOp, Right: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
case 1039:
- yyDollar = yyS[yypt-1 : yypt+1]
+ yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL Expr
-//line sql.y:5410
+//line sql.y:5408
{
- yyLOCAL = yyDollar[1].exprUnion()
+ yyLOCAL = &BinaryExpr{Left: yyDollar[1].exprUnion(), Operator: BitXorOp, Right: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
case 1040:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL Expr
-//line sql.y:5414
+//line sql.y:5412
{
yyLOCAL = yyDollar[1].exprUnion()
}
@@ -17831,11 +17792,11 @@ yydefault:
}
yyVAL.union = yyLOCAL
case 1043:
- yyDollar = yyS[yypt-3 : yypt+1]
+ yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL Expr
//line sql.y:5426
{
- yyLOCAL = &CollateExpr{Expr: yyDollar[1].exprUnion(), Collation: yyDollar[3].str}
+ yyLOCAL = yyDollar[1].exprUnion()
}
yyVAL.union = yyLOCAL
case 1044:
@@ -17847,11 +17808,11 @@ yydefault:
}
yyVAL.union = yyLOCAL
case 1045:
- yyDollar = yyS[yypt-1 : yypt+1]
+ yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL Expr
//line sql.y:5434
{
- yyLOCAL = yyDollar[1].exprUnion()
+ yyLOCAL = &CollateExpr{Expr: yyDollar[1].exprUnion(), Collation: yyDollar[3].str}
}
yyVAL.union = yyLOCAL
case 1046:
@@ -17859,23 +17820,23 @@ yydefault:
var yyLOCAL Expr
//line sql.y:5438
{
- yyLOCAL = yyDollar[1].variableUnion()
+ yyLOCAL = yyDollar[1].exprUnion()
}
yyVAL.union = yyLOCAL
case 1047:
- yyDollar = yyS[yypt-2 : yypt+1]
+ yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL Expr
//line sql.y:5442
{
- yyLOCAL = yyDollar[2].exprUnion() // TODO: do we really want to ignore unary '+' before any kind of literals?
+ yyLOCAL = yyDollar[1].exprUnion()
}
yyVAL.union = yyLOCAL
case 1048:
- yyDollar = yyS[yypt-2 : yypt+1]
+ yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL Expr
//line sql.y:5446
{
- yyLOCAL = &UnaryExpr{Operator: UMinusOp, Expr: yyDollar[2].exprUnion()}
+ yyLOCAL = yyDollar[1].variableUnion()
}
yyVAL.union = yyLOCAL
case 1049:
@@ -17883,7 +17844,7 @@ yydefault:
var yyLOCAL Expr
//line sql.y:5450
{
- yyLOCAL = &UnaryExpr{Operator: TildaOp, Expr: yyDollar[2].exprUnion()}
+ yyLOCAL = yyDollar[2].exprUnion() // TODO: do we really want to ignore unary '+' before any kind of literals?
}
yyVAL.union = yyLOCAL
case 1050:
@@ -17891,69 +17852,85 @@ yydefault:
var yyLOCAL Expr
//line sql.y:5454
{
- yyLOCAL = &UnaryExpr{Operator: BangOp, Expr: yyDollar[2].exprUnion()}
+ yyLOCAL = &UnaryExpr{Operator: UMinusOp, Expr: yyDollar[2].exprUnion()}
}
yyVAL.union = yyLOCAL
case 1051:
- yyDollar = yyS[yypt-1 : yypt+1]
+ yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL Expr
//line sql.y:5458
{
- yyLOCAL = yyDollar[1].subqueryUnion()
+ yyLOCAL = &UnaryExpr{Operator: TildaOp, Expr: yyDollar[2].exprUnion()}
}
yyVAL.union = yyLOCAL
case 1052:
- yyDollar = yyS[yypt-1 : yypt+1]
+ yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL Expr
//line sql.y:5462
{
- yyLOCAL = yyDollar[1].exprUnion()
+ yyLOCAL = &UnaryExpr{Operator: BangOp, Expr: yyDollar[2].exprUnion()}
}
yyVAL.union = yyLOCAL
case 1053:
- yyDollar = yyS[yypt-2 : yypt+1]
+ yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL Expr
//line sql.y:5466
{
- yyLOCAL = &ExistsExpr{Subquery: yyDollar[2].subqueryUnion()}
+ yyLOCAL = yyDollar[1].subqueryUnion()
}
yyVAL.union = yyLOCAL
case 1054:
- yyDollar = yyS[yypt-7 : yypt+1]
+ yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL Expr
//line sql.y:5470
{
- yyLOCAL = &MatchExpr{Columns: yyDollar[2].colNamesUnion(), Expr: yyDollar[5].exprUnion(), Option: yyDollar[6].matchExprOptionUnion()}
+ yyLOCAL = yyDollar[1].exprUnion()
}
yyVAL.union = yyLOCAL
case 1055:
- yyDollar = yyS[yypt-7 : yypt+1]
+ yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL Expr
//line sql.y:5474
{
- yyLOCAL = &CastExpr{Expr: yyDollar[3].exprUnion(), Type: yyDollar[5].convertTypeUnion(), Array: yyDollar[6].booleanUnion()}
+ yyLOCAL = &ExistsExpr{Subquery: yyDollar[2].subqueryUnion()}
}
yyVAL.union = yyLOCAL
case 1056:
- yyDollar = yyS[yypt-6 : yypt+1]
+ yyDollar = yyS[yypt-7 : yypt+1]
var yyLOCAL Expr
//line sql.y:5478
{
- yyLOCAL = &ConvertExpr{Expr: yyDollar[3].exprUnion(), Type: yyDollar[5].convertTypeUnion()}
+ yyLOCAL = &MatchExpr{Columns: yyDollar[2].colNamesUnion(), Expr: yyDollar[5].exprUnion(), Option: yyDollar[6].matchExprOptionUnion()}
}
yyVAL.union = yyLOCAL
case 1057:
- yyDollar = yyS[yypt-6 : yypt+1]
+ yyDollar = yyS[yypt-7 : yypt+1]
var yyLOCAL Expr
//line sql.y:5482
{
- yyLOCAL = &ConvertUsingExpr{Expr: yyDollar[3].exprUnion(), Type: yyDollar[5].str}
+ yyLOCAL = &CastExpr{Expr: yyDollar[3].exprUnion(), Type: yyDollar[5].convertTypeUnion(), Array: yyDollar[6].booleanUnion()}
}
yyVAL.union = yyLOCAL
case 1058:
- yyDollar = yyS[yypt-2 : yypt+1]
+ yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
//line sql.y:5486
+ {
+ yyLOCAL = &ConvertExpr{Expr: yyDollar[3].exprUnion(), Type: yyDollar[5].convertTypeUnion()}
+ }
+ yyVAL.union = yyLOCAL
+ case 1059:
+ yyDollar = yyS[yypt-6 : yypt+1]
+ var yyLOCAL Expr
+//line sql.y:5490
+ {
+ yyLOCAL = &ConvertUsingExpr{Expr: yyDollar[3].exprUnion(), Type: yyDollar[5].str}
+ }
+ yyVAL.union = yyLOCAL
+ case 1060:
+ yyDollar = yyS[yypt-2 : yypt+1]
+ var yyLOCAL Expr
+//line sql.y:5494
{
// From: https://dev.mysql.com/doc/refman/8.0/en/cast-functions.html#operator_binary
// To convert a string expression to a binary string, these constructs are equivalent:
@@ -17962,649 +17939,633 @@ yydefault:
yyLOCAL = &ConvertExpr{Expr: yyDollar[2].exprUnion(), Type: &ConvertType{Type: yyDollar[1].str}}
}
yyVAL.union = yyLOCAL
- case 1059:
+ case 1061:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL Expr
-//line sql.y:5494
+//line sql.y:5502
{
yyLOCAL = &Default{ColName: yyDollar[2].str}
}
yyVAL.union = yyLOCAL
- case 1060:
+ case 1062:
yyDollar = yyS[yypt-5 : yypt+1]
var yyLOCAL Expr
-//line sql.y:5498
+//line sql.y:5506
{
yyLOCAL = &IntervalDateExpr{Syntax: IntervalDateExprBinaryAddLeft, Date: yyDollar[5].exprUnion(), Unit: yyDollar[3].intervalTypeUnion(), Interval: yyDollar[2].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1061:
+ case 1063:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
-//line sql.y:5502
+//line sql.y:5510
{
yyLOCAL = &IntervalFuncExpr{Expr: yyDollar[3].exprUnion(), Exprs: yyDollar[5].exprsUnion()}
}
yyVAL.union = yyLOCAL
- case 1062:
+ case 1064:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL Expr
-//line sql.y:5506
+//line sql.y:5514
{
yyLOCAL = &BinaryExpr{Left: yyDollar[1].exprUnion(), Operator: JSONExtractOp, Right: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1063:
+ case 1065:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL Expr
-//line sql.y:5510
+//line sql.y:5518
{
yyLOCAL = &BinaryExpr{Left: yyDollar[1].exprUnion(), Operator: JSONUnquoteExtractOp, Right: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1064:
+ case 1066:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL []*ColName
-//line sql.y:5516
+//line sql.y:5524
{
yyLOCAL = yyDollar[1].colNamesUnion()
}
yyVAL.union = yyLOCAL
- case 1065:
+ case 1067:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL []*ColName
-//line sql.y:5520
+//line sql.y:5528
{
yyLOCAL = yyDollar[2].colNamesUnion()
}
yyVAL.union = yyLOCAL
- case 1066:
+ case 1068:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL []*ColName
-//line sql.y:5526
+//line sql.y:5534
{
yyLOCAL = []*ColName{yyDollar[1].colNameUnion()}
}
yyVAL.union = yyLOCAL
- case 1067:
+ case 1069:
yyDollar = yyS[yypt-3 : yypt+1]
-//line sql.y:5530
+//line sql.y:5538
{
yySLICE := (*[]*ColName)(yyIaddr(yyVAL.union))
*yySLICE = append(*yySLICE, yyDollar[3].colNameUnion())
}
- case 1068:
+ case 1070:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL TrimType
-//line sql.y:5536
+//line sql.y:5544
{
yyLOCAL = BothTrimType
}
yyVAL.union = yyLOCAL
- case 1069:
+ case 1071:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL TrimType
-//line sql.y:5540
+//line sql.y:5548
{
yyLOCAL = LeadingTrimType
}
yyVAL.union = yyLOCAL
- case 1070:
+ case 1072:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL TrimType
-//line sql.y:5544
+//line sql.y:5552
{
yyLOCAL = TrailingTrimType
}
yyVAL.union = yyLOCAL
- case 1071:
+ case 1073:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL FrameUnitType
-//line sql.y:5550
+//line sql.y:5558
{
yyLOCAL = FrameRowsType
}
yyVAL.union = yyLOCAL
- case 1072:
+ case 1074:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL FrameUnitType
-//line sql.y:5554
+//line sql.y:5562
{
yyLOCAL = FrameRangeType
}
yyVAL.union = yyLOCAL
- case 1073:
+ case 1075:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL ArgumentLessWindowExprType
-//line sql.y:5561
+//line sql.y:5569
{
yyLOCAL = CumeDistExprType
}
yyVAL.union = yyLOCAL
- case 1074:
+ case 1076:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL ArgumentLessWindowExprType
-//line sql.y:5565
+//line sql.y:5573
{
yyLOCAL = DenseRankExprType
}
yyVAL.union = yyLOCAL
- case 1075:
+ case 1077:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL ArgumentLessWindowExprType
-//line sql.y:5569
+//line sql.y:5577
{
yyLOCAL = PercentRankExprType
}
yyVAL.union = yyLOCAL
- case 1076:
+ case 1078:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL ArgumentLessWindowExprType
-//line sql.y:5573
+//line sql.y:5581
{
yyLOCAL = RankExprType
}
yyVAL.union = yyLOCAL
- case 1077:
+ case 1079:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL ArgumentLessWindowExprType
-//line sql.y:5577
+//line sql.y:5585
{
yyLOCAL = RowNumberExprType
}
yyVAL.union = yyLOCAL
- case 1078:
+ case 1080:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL *FramePoint
-//line sql.y:5583
+//line sql.y:5591
{
yyLOCAL = &FramePoint{Type: CurrentRowType}
}
yyVAL.union = yyLOCAL
- case 1079:
+ case 1081:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL *FramePoint
-//line sql.y:5587
+//line sql.y:5595
{
yyLOCAL = &FramePoint{Type: UnboundedPrecedingType}
}
yyVAL.union = yyLOCAL
- case 1080:
+ case 1082:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL *FramePoint
-//line sql.y:5591
+//line sql.y:5599
{
yyLOCAL = &FramePoint{Type: UnboundedFollowingType}
}
yyVAL.union = yyLOCAL
- case 1081:
+ case 1083:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL *FramePoint
-//line sql.y:5595
+//line sql.y:5603
{
yyLOCAL = &FramePoint{Type: ExprPrecedingType, Expr: yyDollar[1].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1082:
+ case 1084:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL *FramePoint
-//line sql.y:5599
+//line sql.y:5607
{
yyLOCAL = &FramePoint{Type: ExprPrecedingType, Expr: yyDollar[2].exprUnion(), Unit: yyDollar[3].intervalTypeUnion()}
}
yyVAL.union = yyLOCAL
- case 1083:
+ case 1085:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL *FramePoint
-//line sql.y:5603
+//line sql.y:5611
{
yyLOCAL = &FramePoint{Type: ExprFollowingType, Expr: yyDollar[1].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1084:
+ case 1086:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL *FramePoint
-//line sql.y:5607
+//line sql.y:5615
{
yyLOCAL = &FramePoint{Type: ExprFollowingType, Expr: yyDollar[2].exprUnion(), Unit: yyDollar[3].intervalTypeUnion()}
}
yyVAL.union = yyLOCAL
- case 1085:
+ case 1087:
yyDollar = yyS[yypt-0 : yypt+1]
var yyLOCAL *FrameClause
-//line sql.y:5612
+//line sql.y:5620
{
yyLOCAL = nil
}
yyVAL.union = yyLOCAL
- case 1086:
+ case 1088:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL *FrameClause
-//line sql.y:5616
+//line sql.y:5624
{
yyLOCAL = yyDollar[1].frameClauseUnion()
}
yyVAL.union = yyLOCAL
- case 1087:
+ case 1089:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL *FrameClause
-//line sql.y:5622
+//line sql.y:5630
{
yyLOCAL = &FrameClause{Unit: yyDollar[1].frameUnitTypeUnion(), Start: yyDollar[2].framePointUnion()}
}
yyVAL.union = yyLOCAL
- case 1088:
+ case 1090:
yyDollar = yyS[yypt-5 : yypt+1]
var yyLOCAL *FrameClause
-//line sql.y:5626
+//line sql.y:5634
{
yyLOCAL = &FrameClause{Unit: yyDollar[1].frameUnitTypeUnion(), Start: yyDollar[3].framePointUnion(), End: yyDollar[5].framePointUnion()}
}
yyVAL.union = yyLOCAL
- case 1089:
+ case 1091:
yyDollar = yyS[yypt-0 : yypt+1]
var yyLOCAL Exprs
-//line sql.y:5631
+//line sql.y:5639
{
yyLOCAL = nil
}
yyVAL.union = yyLOCAL
- case 1090:
+ case 1092:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL Exprs
-//line sql.y:5635
+//line sql.y:5643
{
yyLOCAL = yyDollar[3].exprsUnion()
}
yyVAL.union = yyLOCAL
- case 1091:
+ case 1093:
yyDollar = yyS[yypt-0 : yypt+1]
-//line sql.y:5640
+//line sql.y:5648
{
}
- case 1092:
+ case 1094:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:5643
+//line sql.y:5651
{
yyVAL.identifierCI = yyDollar[1].identifierCI
}
- case 1093:
+ case 1095:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL *WindowSpecification
-//line sql.y:5649
+//line sql.y:5657
{
yyLOCAL = &WindowSpecification{Name: yyDollar[1].identifierCI, PartitionClause: yyDollar[2].exprsUnion(), OrderClause: yyDollar[3].orderByUnion(), FrameClause: yyDollar[4].frameClauseUnion()}
}
yyVAL.union = yyLOCAL
- case 1094:
+ case 1096:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL *OverClause
-//line sql.y:5655
+//line sql.y:5663
{
yyLOCAL = &OverClause{WindowSpec: yyDollar[3].windowSpecificationUnion()}
}
yyVAL.union = yyLOCAL
- case 1095:
+ case 1097:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL *OverClause
-//line sql.y:5659
+//line sql.y:5667
{
yyLOCAL = &OverClause{WindowName: yyDollar[2].identifierCI}
}
yyVAL.union = yyLOCAL
- case 1096:
+ case 1098:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL *OverClause
-//line sql.y:5665
+//line sql.y:5673
{
yyLOCAL = yyDollar[1].overClauseUnion()
}
yyVAL.union = yyLOCAL
- case 1097:
+ case 1099:
yyDollar = yyS[yypt-0 : yypt+1]
var yyLOCAL *OverClause
-//line sql.y:5669
+//line sql.y:5677
{
yyLOCAL = nil
}
yyVAL.union = yyLOCAL
- case 1098:
+ case 1100:
yyDollar = yyS[yypt-0 : yypt+1]
var yyLOCAL *NullTreatmentClause
-//line sql.y:5675
+//line sql.y:5683
{
yyLOCAL = nil
}
yyVAL.union = yyLOCAL
- case 1100:
+ case 1102:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL *NullTreatmentClause
-//line sql.y:5682
+//line sql.y:5690
{
yyLOCAL = &NullTreatmentClause{yyDollar[1].nullTreatmentTypeUnion()}
}
yyVAL.union = yyLOCAL
- case 1101:
+ case 1103:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL NullTreatmentType
-//line sql.y:5688
+//line sql.y:5696
{
yyLOCAL = RespectNullsType
}
yyVAL.union = yyLOCAL
- case 1102:
+ case 1104:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL NullTreatmentType
-//line sql.y:5692
+//line sql.y:5700
{
yyLOCAL = IgnoreNullsType
}
yyVAL.union = yyLOCAL
- case 1103:
+ case 1105:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL FirstOrLastValueExprType
-//line sql.y:5698
+//line sql.y:5706
{
yyLOCAL = FirstValueExprType
}
yyVAL.union = yyLOCAL
- case 1104:
+ case 1106:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL FirstOrLastValueExprType
-//line sql.y:5702
+//line sql.y:5710
{
yyLOCAL = LastValueExprType
}
yyVAL.union = yyLOCAL
- case 1105:
+ case 1107:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL FromFirstLastType
-//line sql.y:5708
+//line sql.y:5716
{
yyLOCAL = FromFirstType
}
yyVAL.union = yyLOCAL
- case 1106:
+ case 1108:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL FromFirstLastType
-//line sql.y:5712
+//line sql.y:5720
{
yyLOCAL = FromLastType
}
yyVAL.union = yyLOCAL
- case 1107:
+ case 1109:
yyDollar = yyS[yypt-0 : yypt+1]
var yyLOCAL *FromFirstLastClause
-//line sql.y:5717
+//line sql.y:5725
{
yyLOCAL = nil
}
yyVAL.union = yyLOCAL
- case 1109:
+ case 1111:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL *FromFirstLastClause
-//line sql.y:5724
+//line sql.y:5732
{
yyLOCAL = &FromFirstLastClause{yyDollar[1].fromFirstLastTypeUnion()}
}
yyVAL.union = yyLOCAL
- case 1110:
+ case 1112:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL LagLeadExprType
-//line sql.y:5730
+//line sql.y:5738
{
yyLOCAL = LagExprType
}
yyVAL.union = yyLOCAL
- case 1111:
+ case 1113:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL LagLeadExprType
-//line sql.y:5734
+//line sql.y:5742
{
yyLOCAL = LeadExprType
}
yyVAL.union = yyLOCAL
- case 1112:
+ case 1114:
yyDollar = yyS[yypt-5 : yypt+1]
var yyLOCAL *WindowDefinition
-//line sql.y:5740
+//line sql.y:5748
{
yyLOCAL = &WindowDefinition{Name: yyDollar[1].identifierCI, WindowSpec: yyDollar[4].windowSpecificationUnion()}
}
yyVAL.union = yyLOCAL
- case 1113:
+ case 1115:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL WindowDefinitions
-//line sql.y:5746
+//line sql.y:5754
{
yyLOCAL = WindowDefinitions{yyDollar[1].windowDefinitionUnion()}
}
yyVAL.union = yyLOCAL
- case 1114:
+ case 1116:
yyDollar = yyS[yypt-3 : yypt+1]
-//line sql.y:5750
+//line sql.y:5758
{
yySLICE := (*WindowDefinitions)(yyIaddr(yyVAL.union))
*yySLICE = append(*yySLICE, yyDollar[3].windowDefinitionUnion())
}
- case 1115:
+ case 1117:
yyDollar = yyS[yypt-0 : yypt+1]
-//line sql.y:5756
+//line sql.y:5764
{
yyVAL.str = ""
}
- case 1116:
+ case 1118:
yyDollar = yyS[yypt-3 : yypt+1]
-//line sql.y:5760
+//line sql.y:5768
{
yyVAL.str = string(yyDollar[2].identifierCI.String())
}
- case 1117:
+ case 1119:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL BoolVal
-//line sql.y:5766
+//line sql.y:5774
{
yyLOCAL = BoolVal(true)
}
yyVAL.union = yyLOCAL
- case 1118:
+ case 1120:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL BoolVal
-//line sql.y:5770
+//line sql.y:5778
{
yyLOCAL = BoolVal(false)
}
yyVAL.union = yyLOCAL
- case 1119:
+ case 1121:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL IsExprOperator
-//line sql.y:5777
+//line sql.y:5785
{
yyLOCAL = IsTrueOp
}
yyVAL.union = yyLOCAL
- case 1120:
+ case 1122:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL IsExprOperator
-//line sql.y:5781
+//line sql.y:5789
{
yyLOCAL = IsNotTrueOp
}
yyVAL.union = yyLOCAL
- case 1121:
+ case 1123:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL IsExprOperator
-//line sql.y:5785
+//line sql.y:5793
{
yyLOCAL = IsFalseOp
}
yyVAL.union = yyLOCAL
- case 1122:
+ case 1124:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL IsExprOperator
-//line sql.y:5789
+//line sql.y:5797
{
yyLOCAL = IsNotFalseOp
}
yyVAL.union = yyLOCAL
- case 1123:
+ case 1125:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL ComparisonExprOperator
-//line sql.y:5795
+//line sql.y:5803
{
yyLOCAL = EqualOp
}
yyVAL.union = yyLOCAL
- case 1124:
+ case 1126:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL ComparisonExprOperator
-//line sql.y:5799
+//line sql.y:5807
{
yyLOCAL = LessThanOp
}
yyVAL.union = yyLOCAL
- case 1125:
+ case 1127:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL ComparisonExprOperator
-//line sql.y:5803
+//line sql.y:5811
{
yyLOCAL = GreaterThanOp
}
yyVAL.union = yyLOCAL
- case 1126:
+ case 1128:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL ComparisonExprOperator
-//line sql.y:5807
+//line sql.y:5815
{
yyLOCAL = LessEqualOp
}
yyVAL.union = yyLOCAL
- case 1127:
+ case 1129:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL ComparisonExprOperator
-//line sql.y:5811
+//line sql.y:5819
{
yyLOCAL = GreaterEqualOp
}
yyVAL.union = yyLOCAL
- case 1128:
+ case 1130:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL ComparisonExprOperator
-//line sql.y:5815
+//line sql.y:5823
{
yyLOCAL = NotEqualOp
}
yyVAL.union = yyLOCAL
- case 1129:
+ case 1131:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL ComparisonExprOperator
-//line sql.y:5819
+//line sql.y:5827
{
yyLOCAL = NullSafeEqualOp
}
yyVAL.union = yyLOCAL
- case 1130:
+ case 1132:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL ColTuple
-//line sql.y:5825
+//line sql.y:5833
{
yyLOCAL = yyDollar[1].valTupleUnion()
}
yyVAL.union = yyLOCAL
- case 1131:
+ case 1133:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL ColTuple
-//line sql.y:5829
+//line sql.y:5837
{
yyLOCAL = yyDollar[1].subqueryUnion()
}
yyVAL.union = yyLOCAL
- case 1132:
+ case 1134:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL ColTuple
-//line sql.y:5833
+//line sql.y:5841
{
yyLOCAL = ListArg(yyDollar[1].str[2:])
markBindVariable(yylex, yyDollar[1].str[2:])
}
yyVAL.union = yyLOCAL
- case 1133:
+ case 1135:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL *Subquery
-//line sql.y:5840
+//line sql.y:5848
{
yyLOCAL = &Subquery{yyDollar[1].selStmtUnion()}
}
yyVAL.union = yyLOCAL
- case 1134:
+ case 1136:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL Exprs
-//line sql.y:5846
+//line sql.y:5854
{
yyLOCAL = Exprs{yyDollar[1].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1135:
+ case 1137:
yyDollar = yyS[yypt-3 : yypt+1]
-//line sql.y:5850
+//line sql.y:5858
{
yySLICE := (*Exprs)(yyIaddr(yyVAL.union))
*yySLICE = append(*yySLICE, yyDollar[3].exprUnion())
}
- case 1136:
+ case 1138:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:5860
+//line sql.y:5868
{
yyLOCAL = &FuncExpr{Name: yyDollar[1].identifierCI, Exprs: yyDollar[3].exprsUnion()}
}
yyVAL.union = yyLOCAL
- case 1137:
+ case 1139:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
-//line sql.y:5864
+//line sql.y:5872
{
yyLOCAL = &FuncExpr{Qualifier: yyDollar[1].identifierCS, Name: yyDollar[3].identifierCI, Exprs: yyDollar[5].exprsUnion()}
}
yyVAL.union = yyLOCAL
- case 1138:
- yyDollar = yyS[yypt-4 : yypt+1]
- var yyLOCAL Expr
-//line sql.y:5874
- {
- yyLOCAL = &FuncExpr{Name: NewIdentifierCI("left"), Exprs: yyDollar[3].exprsUnion()}
- }
- yyVAL.union = yyLOCAL
- case 1139:
- yyDollar = yyS[yypt-4 : yypt+1]
- var yyLOCAL Expr
-//line sql.y:5878
- {
- yyLOCAL = &FuncExpr{Name: NewIdentifierCI("right"), Exprs: yyDollar[3].exprsUnion()}
- }
- yyVAL.union = yyLOCAL
case 1140:
- yyDollar = yyS[yypt-8 : yypt+1]
+ yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
//line sql.y:5882
{
- yyLOCAL = &SubstrExpr{Name: yyDollar[3].exprUnion(), From: yyDollar[5].exprUnion(), To: yyDollar[7].exprUnion()}
+ yyLOCAL = &FuncExpr{Name: NewIdentifierCI("left"), Exprs: yyDollar[3].exprsUnion()}
}
yyVAL.union = yyLOCAL
case 1141:
- yyDollar = yyS[yypt-8 : yypt+1]
+ yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
//line sql.y:5886
{
- yyLOCAL = &SubstrExpr{Name: yyDollar[3].exprUnion(), From: yyDollar[5].exprUnion(), To: yyDollar[7].exprUnion()}
+ yyLOCAL = &FuncExpr{Name: NewIdentifierCI("right"), Exprs: yyDollar[3].exprsUnion()}
}
yyVAL.union = yyLOCAL
case 1142:
- yyDollar = yyS[yypt-6 : yypt+1]
+ yyDollar = yyS[yypt-8 : yypt+1]
var yyLOCAL Expr
//line sql.y:5890
{
- yyLOCAL = &SubstrExpr{Name: yyDollar[3].exprUnion(), From: yyDollar[5].exprUnion()}
+ yyLOCAL = &SubstrExpr{Name: yyDollar[3].exprUnion(), From: yyDollar[5].exprUnion(), To: yyDollar[7].exprUnion()}
}
yyVAL.union = yyLOCAL
case 1143:
@@ -18624,67 +18585,67 @@ yydefault:
}
yyVAL.union = yyLOCAL
case 1145:
- yyDollar = yyS[yypt-5 : yypt+1]
+ yyDollar = yyS[yypt-8 : yypt+1]
var yyLOCAL Expr
//line sql.y:5902
{
- yyLOCAL = &CaseExpr{Expr: yyDollar[2].exprUnion(), Whens: yyDollar[3].whensUnion(), Else: yyDollar[4].exprUnion()}
+ yyLOCAL = &SubstrExpr{Name: yyDollar[3].exprUnion(), From: yyDollar[5].exprUnion(), To: yyDollar[7].exprUnion()}
}
yyVAL.union = yyLOCAL
case 1146:
- yyDollar = yyS[yypt-4 : yypt+1]
+ yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
//line sql.y:5906
{
- yyLOCAL = &ValuesFuncExpr{Name: yyDollar[3].colNameUnion()}
+ yyLOCAL = &SubstrExpr{Name: yyDollar[3].exprUnion(), From: yyDollar[5].exprUnion()}
}
yyVAL.union = yyLOCAL
case 1147:
- yyDollar = yyS[yypt-10 : yypt+1]
+ yyDollar = yyS[yypt-5 : yypt+1]
var yyLOCAL Expr
//line sql.y:5910
{
- yyLOCAL = &InsertExpr{Str: yyDollar[3].exprUnion(), Pos: yyDollar[5].exprUnion(), Len: yyDollar[7].exprUnion(), NewStr: yyDollar[9].exprUnion()}
+ yyLOCAL = &CaseExpr{Expr: yyDollar[2].exprUnion(), Whens: yyDollar[3].whensUnion(), Else: yyDollar[4].exprUnion()}
}
yyVAL.union = yyLOCAL
case 1148:
- yyDollar = yyS[yypt-2 : yypt+1]
+ yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
//line sql.y:5914
{
- yyLOCAL = &FuncExpr{Name: NewIdentifierCI(yyDollar[1].str)}
+ yyLOCAL = &ValuesFuncExpr{Name: yyDollar[3].colNameUnion()}
}
yyVAL.union = yyLOCAL
case 1149:
- yyDollar = yyS[yypt-2 : yypt+1]
+ yyDollar = yyS[yypt-10 : yypt+1]
var yyLOCAL Expr
-//line sql.y:5925
+//line sql.y:5918
{
- yyLOCAL = &FuncExpr{Name: NewIdentifierCI("utc_date")}
+ yyLOCAL = &InsertExpr{Str: yyDollar[3].exprUnion(), Pos: yyDollar[5].exprUnion(), Len: yyDollar[7].exprUnion(), NewStr: yyDollar[9].exprUnion()}
}
yyVAL.union = yyLOCAL
case 1150:
- yyDollar = yyS[yypt-1 : yypt+1]
+ yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL Expr
-//line sql.y:5929
+//line sql.y:5922
{
- yyLOCAL = yyDollar[1].exprUnion()
+ yyLOCAL = &FuncExpr{Name: NewIdentifierCI(yyDollar[1].str)}
}
yyVAL.union = yyLOCAL
case 1151:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL Expr
-//line sql.y:5935
+//line sql.y:5933
{
- yyLOCAL = &FuncExpr{Name: NewIdentifierCI("current_date")}
+ yyLOCAL = &FuncExpr{Name: NewIdentifierCI("utc_date")}
}
yyVAL.union = yyLOCAL
case 1152:
- yyDollar = yyS[yypt-2 : yypt+1]
+ yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL Expr
-//line sql.y:5939
+//line sql.y:5937
{
- yyLOCAL = &FuncExpr{Name: NewIdentifierCI("curdate")}
+ yyLOCAL = yyDollar[1].exprUnion()
}
yyVAL.union = yyLOCAL
case 1153:
@@ -18692,47 +18653,47 @@ yydefault:
var yyLOCAL Expr
//line sql.y:5943
{
- yyLOCAL = &CurTimeFuncExpr{Name: NewIdentifierCI("utc_time"), Fsp: yyDollar[2].integerUnion()}
+ yyLOCAL = &FuncExpr{Name: NewIdentifierCI("current_date")}
}
yyVAL.union = yyLOCAL
case 1154:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL Expr
-//line sql.y:5948
+//line sql.y:5947
{
- yyLOCAL = &CurTimeFuncExpr{Name: NewIdentifierCI("curtime"), Fsp: yyDollar[2].integerUnion()}
+ yyLOCAL = &FuncExpr{Name: NewIdentifierCI("curdate")}
}
yyVAL.union = yyLOCAL
case 1155:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL Expr
-//line sql.y:5953
+//line sql.y:5951
{
- yyLOCAL = &CurTimeFuncExpr{Name: NewIdentifierCI("current_time"), Fsp: yyDollar[2].integerUnion()}
+ yyLOCAL = &CurTimeFuncExpr{Name: NewIdentifierCI("utc_time"), Fsp: yyDollar[2].integerUnion()}
}
yyVAL.union = yyLOCAL
case 1156:
- yyDollar = yyS[yypt-5 : yypt+1]
+ yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL Expr
-//line sql.y:5957
+//line sql.y:5956
{
- yyLOCAL = &CountStar{OverClause: yyDollar[5].overClauseUnion()}
+ yyLOCAL = &CurTimeFuncExpr{Name: NewIdentifierCI("curtime"), Fsp: yyDollar[2].integerUnion()}
}
yyVAL.union = yyLOCAL
case 1157:
- yyDollar = yyS[yypt-6 : yypt+1]
+ yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL Expr
//line sql.y:5961
{
- yyLOCAL = &Count{Distinct: yyDollar[3].booleanUnion(), Args: yyDollar[4].exprsUnion(), OverClause: yyDollar[6].overClauseUnion()}
+ yyLOCAL = &CurTimeFuncExpr{Name: NewIdentifierCI("current_time"), Fsp: yyDollar[2].integerUnion()}
}
yyVAL.union = yyLOCAL
case 1158:
- yyDollar = yyS[yypt-6 : yypt+1]
+ yyDollar = yyS[yypt-5 : yypt+1]
var yyLOCAL Expr
//line sql.y:5965
{
- yyLOCAL = &Max{Distinct: yyDollar[3].booleanUnion(), Arg: yyDollar[4].exprUnion(), OverClause: yyDollar[6].overClauseUnion()}
+ yyLOCAL = &CountStar{OverClause: yyDollar[5].overClauseUnion()}
}
yyVAL.union = yyLOCAL
case 1159:
@@ -18740,7 +18701,7 @@ yydefault:
var yyLOCAL Expr
//line sql.y:5969
{
- yyLOCAL = &Min{Distinct: yyDollar[3].booleanUnion(), Arg: yyDollar[4].exprUnion(), OverClause: yyDollar[6].overClauseUnion()}
+ yyLOCAL = &Count{Distinct: yyDollar[3].booleanUnion(), Args: yyDollar[4].exprsUnion(), OverClause: yyDollar[6].overClauseUnion()}
}
yyVAL.union = yyLOCAL
case 1160:
@@ -18748,7 +18709,7 @@ yydefault:
var yyLOCAL Expr
//line sql.y:5973
{
- yyLOCAL = &Sum{Distinct: yyDollar[3].booleanUnion(), Arg: yyDollar[4].exprUnion(), OverClause: yyDollar[6].overClauseUnion()}
+ yyLOCAL = &Max{Distinct: yyDollar[3].booleanUnion(), Arg: yyDollar[4].exprUnion(), OverClause: yyDollar[6].overClauseUnion()}
}
yyVAL.union = yyLOCAL
case 1161:
@@ -18756,23 +18717,23 @@ yydefault:
var yyLOCAL Expr
//line sql.y:5977
{
- yyLOCAL = &Avg{Distinct: yyDollar[3].booleanUnion(), Arg: yyDollar[4].exprUnion(), OverClause: yyDollar[6].overClauseUnion()}
+ yyLOCAL = &Min{Distinct: yyDollar[3].booleanUnion(), Arg: yyDollar[4].exprUnion(), OverClause: yyDollar[6].overClauseUnion()}
}
yyVAL.union = yyLOCAL
case 1162:
- yyDollar = yyS[yypt-5 : yypt+1]
+ yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
//line sql.y:5981
{
- yyLOCAL = &BitAnd{Arg: yyDollar[3].exprUnion(), OverClause: yyDollar[5].overClauseUnion()}
+ yyLOCAL = &Sum{Distinct: yyDollar[3].booleanUnion(), Arg: yyDollar[4].exprUnion(), OverClause: yyDollar[6].overClauseUnion()}
}
yyVAL.union = yyLOCAL
case 1163:
- yyDollar = yyS[yypt-5 : yypt+1]
+ yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
//line sql.y:5985
{
- yyLOCAL = &BitOr{Arg: yyDollar[3].exprUnion(), OverClause: yyDollar[5].overClauseUnion()}
+ yyLOCAL = &Avg{Distinct: yyDollar[3].booleanUnion(), Arg: yyDollar[4].exprUnion(), OverClause: yyDollar[6].overClauseUnion()}
}
yyVAL.union = yyLOCAL
case 1164:
@@ -18780,7 +18741,7 @@ yydefault:
var yyLOCAL Expr
//line sql.y:5989
{
- yyLOCAL = &BitXor{Arg: yyDollar[3].exprUnion(), OverClause: yyDollar[5].overClauseUnion()}
+ yyLOCAL = &BitAnd{Arg: yyDollar[3].exprUnion(), OverClause: yyDollar[5].overClauseUnion()}
}
yyVAL.union = yyLOCAL
case 1165:
@@ -18788,7 +18749,7 @@ yydefault:
var yyLOCAL Expr
//line sql.y:5993
{
- yyLOCAL = &Std{Arg: yyDollar[3].exprUnion(), OverClause: yyDollar[5].overClauseUnion()}
+ yyLOCAL = &BitOr{Arg: yyDollar[3].exprUnion(), OverClause: yyDollar[5].overClauseUnion()}
}
yyVAL.union = yyLOCAL
case 1166:
@@ -18796,7 +18757,7 @@ yydefault:
var yyLOCAL Expr
//line sql.y:5997
{
- yyLOCAL = &StdDev{Arg: yyDollar[3].exprUnion(), OverClause: yyDollar[5].overClauseUnion()}
+ yyLOCAL = &BitXor{Arg: yyDollar[3].exprUnion(), OverClause: yyDollar[5].overClauseUnion()}
}
yyVAL.union = yyLOCAL
case 1167:
@@ -18804,7 +18765,7 @@ yydefault:
var yyLOCAL Expr
//line sql.y:6001
{
- yyLOCAL = &StdPop{Arg: yyDollar[3].exprUnion(), OverClause: yyDollar[5].overClauseUnion()}
+ yyLOCAL = &Std{Arg: yyDollar[3].exprUnion(), OverClause: yyDollar[5].overClauseUnion()}
}
yyVAL.union = yyLOCAL
case 1168:
@@ -18812,7 +18773,7 @@ yydefault:
var yyLOCAL Expr
//line sql.y:6005
{
- yyLOCAL = &StdSamp{Arg: yyDollar[3].exprUnion(), OverClause: yyDollar[5].overClauseUnion()}
+ yyLOCAL = &StdDev{Arg: yyDollar[3].exprUnion(), OverClause: yyDollar[5].overClauseUnion()}
}
yyVAL.union = yyLOCAL
case 1169:
@@ -18820,7 +18781,7 @@ yydefault:
var yyLOCAL Expr
//line sql.y:6009
{
- yyLOCAL = &VarPop{Arg: yyDollar[3].exprUnion(), OverClause: yyDollar[5].overClauseUnion()}
+ yyLOCAL = &StdPop{Arg: yyDollar[3].exprUnion(), OverClause: yyDollar[5].overClauseUnion()}
}
yyVAL.union = yyLOCAL
case 1170:
@@ -18828,7 +18789,7 @@ yydefault:
var yyLOCAL Expr
//line sql.y:6013
{
- yyLOCAL = &VarSamp{Arg: yyDollar[3].exprUnion(), OverClause: yyDollar[5].overClauseUnion()}
+ yyLOCAL = &StdSamp{Arg: yyDollar[3].exprUnion(), OverClause: yyDollar[5].overClauseUnion()}
}
yyVAL.union = yyLOCAL
case 1171:
@@ -18836,23 +18797,23 @@ yydefault:
var yyLOCAL Expr
//line sql.y:6017
{
- yyLOCAL = &Variance{Arg: yyDollar[3].exprUnion(), OverClause: yyDollar[5].overClauseUnion()}
+ yyLOCAL = &VarPop{Arg: yyDollar[3].exprUnion(), OverClause: yyDollar[5].overClauseUnion()}
}
yyVAL.union = yyLOCAL
case 1172:
- yyDollar = yyS[yypt-8 : yypt+1]
+ yyDollar = yyS[yypt-5 : yypt+1]
var yyLOCAL Expr
//line sql.y:6021
{
- yyLOCAL = &GroupConcatExpr{Distinct: yyDollar[3].booleanUnion(), Exprs: yyDollar[4].exprsUnion(), OrderBy: yyDollar[5].orderByUnion(), Separator: yyDollar[6].str, Limit: yyDollar[7].limitUnion()}
+ yyLOCAL = &VarSamp{Arg: yyDollar[3].exprUnion(), OverClause: yyDollar[5].overClauseUnion()}
}
yyVAL.union = yyLOCAL
case 1173:
- yyDollar = yyS[yypt-4 : yypt+1]
+ yyDollar = yyS[yypt-5 : yypt+1]
var yyLOCAL Expr
//line sql.y:6025
{
- yyLOCAL = &AnyValue{Arg: yyDollar[3].exprUnion()}
+ yyLOCAL = &Variance{Arg: yyDollar[3].exprUnion(), OverClause: yyDollar[5].overClauseUnion()}
}
yyVAL.union = yyLOCAL
case 1174:
@@ -18860,47 +18821,47 @@ yydefault:
var yyLOCAL Expr
//line sql.y:6029
{
- yyLOCAL = &IntervalDateExpr{Syntax: IntervalDateExprTimestampadd, Date: yyDollar[7].exprUnion(), Interval: yyDollar[5].exprUnion(), Unit: yyDollar[3].intervalTypeUnion()}
+ yyLOCAL = &GroupConcatExpr{Distinct: yyDollar[3].booleanUnion(), Exprs: yyDollar[4].exprsUnion(), OrderBy: yyDollar[5].orderByUnion(), Separator: yyDollar[6].str, Limit: yyDollar[7].limitUnion()}
}
yyVAL.union = yyLOCAL
case 1175:
- yyDollar = yyS[yypt-8 : yypt+1]
+ yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
//line sql.y:6033
{
- yyLOCAL = &TimestampDiffExpr{Unit: yyDollar[3].intervalTypeUnion(), Expr1: yyDollar[5].exprUnion(), Expr2: yyDollar[7].exprUnion()}
+ yyLOCAL = &AnyValue{Arg: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
case 1176:
- yyDollar = yyS[yypt-6 : yypt+1]
+ yyDollar = yyS[yypt-8 : yypt+1]
var yyLOCAL Expr
//line sql.y:6037
{
- yyLOCAL = &ExtractFuncExpr{IntervalType: yyDollar[3].intervalTypeUnion(), Expr: yyDollar[5].exprUnion()}
+ yyLOCAL = &IntervalDateExpr{Syntax: IntervalDateExprTimestampadd, Date: yyDollar[7].exprUnion(), Interval: yyDollar[5].exprUnion(), Unit: yyDollar[3].intervalTypeUnion()}
}
yyVAL.union = yyLOCAL
case 1177:
- yyDollar = yyS[yypt-5 : yypt+1]
+ yyDollar = yyS[yypt-8 : yypt+1]
var yyLOCAL Expr
//line sql.y:6041
{
- yyLOCAL = &WeightStringFuncExpr{Expr: yyDollar[3].exprUnion(), As: yyDollar[4].convertTypeUnion()}
+ yyLOCAL = &TimestampDiffExpr{Unit: yyDollar[3].intervalTypeUnion(), Expr1: yyDollar[5].exprUnion(), Expr2: yyDollar[7].exprUnion()}
}
yyVAL.union = yyLOCAL
case 1178:
- yyDollar = yyS[yypt-4 : yypt+1]
+ yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
//line sql.y:6045
{
- yyLOCAL = &JSONPrettyExpr{JSONVal: yyDollar[3].exprUnion()}
+ yyLOCAL = &ExtractFuncExpr{IntervalType: yyDollar[3].intervalTypeUnion(), Expr: yyDollar[5].exprUnion()}
}
yyVAL.union = yyLOCAL
case 1179:
- yyDollar = yyS[yypt-4 : yypt+1]
+ yyDollar = yyS[yypt-5 : yypt+1]
var yyLOCAL Expr
//line sql.y:6049
{
- yyLOCAL = &JSONStorageFreeExpr{JSONVal: yyDollar[3].exprUnion()}
+ yyLOCAL = &WeightStringFuncExpr{Expr: yyDollar[3].exprUnion(), As: yyDollar[4].convertTypeUnion()}
}
yyVAL.union = yyLOCAL
case 1180:
@@ -18908,7 +18869,7 @@ yydefault:
var yyLOCAL Expr
//line sql.y:6053
{
- yyLOCAL = &JSONStorageSizeExpr{JSONVal: yyDollar[3].exprUnion()}
+ yyLOCAL = &JSONPrettyExpr{JSONVal: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
case 1181:
@@ -18916,7 +18877,7 @@ yydefault:
var yyLOCAL Expr
//line sql.y:6057
{
- yyLOCAL = &TrimFuncExpr{TrimFuncType: LTrimType, Type: LeadingTrimType, StringArg: yyDollar[3].exprUnion()}
+ yyLOCAL = &JSONStorageFreeExpr{JSONVal: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
case 1182:
@@ -18924,15 +18885,15 @@ yydefault:
var yyLOCAL Expr
//line sql.y:6061
{
- yyLOCAL = &TrimFuncExpr{TrimFuncType: RTrimType, Type: TrailingTrimType, StringArg: yyDollar[3].exprUnion()}
+ yyLOCAL = &JSONStorageSizeExpr{JSONVal: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
case 1183:
- yyDollar = yyS[yypt-7 : yypt+1]
+ yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
//line sql.y:6065
{
- yyLOCAL = &TrimFuncExpr{Type: yyDollar[3].trimTypeUnion(), TrimArg: yyDollar[4].exprUnion(), StringArg: yyDollar[6].exprUnion()}
+ yyLOCAL = &TrimFuncExpr{TrimFuncType: LTrimType, Type: LeadingTrimType, StringArg: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
case 1184:
@@ -18940,31 +18901,31 @@ yydefault:
var yyLOCAL Expr
//line sql.y:6069
{
- yyLOCAL = &TrimFuncExpr{StringArg: yyDollar[3].exprUnion()}
+ yyLOCAL = &TrimFuncExpr{TrimFuncType: RTrimType, Type: TrailingTrimType, StringArg: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
case 1185:
- yyDollar = yyS[yypt-4 : yypt+1]
+ yyDollar = yyS[yypt-7 : yypt+1]
var yyLOCAL Expr
//line sql.y:6073
{
- yyLOCAL = &CharExpr{Exprs: yyDollar[3].exprsUnion()}
+ yyLOCAL = &TrimFuncExpr{Type: yyDollar[3].trimTypeUnion(), TrimArg: yyDollar[4].exprUnion(), StringArg: yyDollar[6].exprUnion()}
}
yyVAL.union = yyLOCAL
case 1186:
- yyDollar = yyS[yypt-6 : yypt+1]
+ yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
//line sql.y:6077
{
- yyLOCAL = &CharExpr{Exprs: yyDollar[3].exprsUnion(), Charset: yyDollar[5].str}
+ yyLOCAL = &TrimFuncExpr{StringArg: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
case 1187:
- yyDollar = yyS[yypt-6 : yypt+1]
+ yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
//line sql.y:6081
{
- yyLOCAL = &TrimFuncExpr{TrimArg: yyDollar[3].exprUnion(), StringArg: yyDollar[5].exprUnion()}
+ yyLOCAL = &CharExpr{Exprs: yyDollar[3].exprsUnion()}
}
yyVAL.union = yyLOCAL
case 1188:
@@ -18972,15 +18933,15 @@ yydefault:
var yyLOCAL Expr
//line sql.y:6085
{
- yyLOCAL = &LocateExpr{SubStr: yyDollar[3].exprUnion(), Str: yyDollar[5].exprUnion()}
+ yyLOCAL = &CharExpr{Exprs: yyDollar[3].exprsUnion(), Charset: yyDollar[5].str}
}
yyVAL.union = yyLOCAL
case 1189:
- yyDollar = yyS[yypt-8 : yypt+1]
+ yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
//line sql.y:6089
{
- yyLOCAL = &LocateExpr{SubStr: yyDollar[3].exprUnion(), Str: yyDollar[5].exprUnion(), Pos: yyDollar[7].exprUnion()}
+ yyLOCAL = &TrimFuncExpr{TrimArg: yyDollar[3].exprUnion(), StringArg: yyDollar[5].exprUnion()}
}
yyVAL.union = yyLOCAL
case 1190:
@@ -18992,35 +18953,35 @@ yydefault:
}
yyVAL.union = yyLOCAL
case 1191:
- yyDollar = yyS[yypt-6 : yypt+1]
+ yyDollar = yyS[yypt-8 : yypt+1]
var yyLOCAL Expr
//line sql.y:6097
{
- yyLOCAL = &LockingFunc{Type: GetLock, Name: yyDollar[3].exprUnion(), Timeout: yyDollar[5].exprUnion()}
+ yyLOCAL = &LocateExpr{SubStr: yyDollar[3].exprUnion(), Str: yyDollar[5].exprUnion(), Pos: yyDollar[7].exprUnion()}
}
yyVAL.union = yyLOCAL
case 1192:
- yyDollar = yyS[yypt-4 : yypt+1]
+ yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
//line sql.y:6101
{
- yyLOCAL = &LockingFunc{Type: IsFreeLock, Name: yyDollar[3].exprUnion()}
+ yyLOCAL = &LocateExpr{SubStr: yyDollar[3].exprUnion(), Str: yyDollar[5].exprUnion()}
}
yyVAL.union = yyLOCAL
case 1193:
- yyDollar = yyS[yypt-4 : yypt+1]
+ yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
//line sql.y:6105
{
- yyLOCAL = &LockingFunc{Type: IsUsedLock, Name: yyDollar[3].exprUnion()}
+ yyLOCAL = &LockingFunc{Type: GetLock, Name: yyDollar[3].exprUnion(), Timeout: yyDollar[5].exprUnion()}
}
yyVAL.union = yyLOCAL
case 1194:
- yyDollar = yyS[yypt-3 : yypt+1]
+ yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
//line sql.y:6109
{
- yyLOCAL = &LockingFunc{Type: ReleaseAllLocks}
+ yyLOCAL = &LockingFunc{Type: IsFreeLock, Name: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
case 1195:
@@ -19028,47 +18989,47 @@ yydefault:
var yyLOCAL Expr
//line sql.y:6113
{
- yyLOCAL = &LockingFunc{Type: ReleaseLock, Name: yyDollar[3].exprUnion()}
+ yyLOCAL = &LockingFunc{Type: IsUsedLock, Name: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
case 1196:
- yyDollar = yyS[yypt-6 : yypt+1]
+ yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL Expr
//line sql.y:6117
{
- yyLOCAL = &JSONSchemaValidFuncExpr{Schema: yyDollar[3].exprUnion(), Document: yyDollar[5].exprUnion()}
+ yyLOCAL = &LockingFunc{Type: ReleaseAllLocks}
}
yyVAL.union = yyLOCAL
case 1197:
- yyDollar = yyS[yypt-6 : yypt+1]
+ yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
//line sql.y:6121
{
- yyLOCAL = &JSONSchemaValidationReportFuncExpr{Schema: yyDollar[3].exprUnion(), Document: yyDollar[5].exprUnion()}
+ yyLOCAL = &LockingFunc{Type: ReleaseLock, Name: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
case 1198:
- yyDollar = yyS[yypt-4 : yypt+1]
+ yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
//line sql.y:6125
{
- yyLOCAL = &JSONArrayExpr{Params: yyDollar[3].exprsUnion()}
+ yyLOCAL = &JSONSchemaValidFuncExpr{Schema: yyDollar[3].exprUnion(), Document: yyDollar[5].exprUnion()}
}
yyVAL.union = yyLOCAL
case 1199:
- yyDollar = yyS[yypt-4 : yypt+1]
+ yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
//line sql.y:6129
{
- yyLOCAL = &GeomFormatExpr{FormatType: BinaryFormat, Geom: yyDollar[3].exprUnion()}
+ yyLOCAL = &JSONSchemaValidationReportFuncExpr{Schema: yyDollar[3].exprUnion(), Document: yyDollar[5].exprUnion()}
}
yyVAL.union = yyLOCAL
case 1200:
- yyDollar = yyS[yypt-6 : yypt+1]
+ yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
//line sql.y:6133
{
- yyLOCAL = &GeomFormatExpr{FormatType: BinaryFormat, Geom: yyDollar[3].exprUnion(), AxisOrderOpt: yyDollar[5].exprUnion()}
+ yyLOCAL = &JSONArrayExpr{Params: yyDollar[3].exprsUnion()}
}
yyVAL.union = yyLOCAL
case 1201:
@@ -19076,7 +19037,7 @@ yydefault:
var yyLOCAL Expr
//line sql.y:6137
{
- yyLOCAL = &GeomFormatExpr{FormatType: TextFormat, Geom: yyDollar[3].exprUnion()}
+ yyLOCAL = &GeomFormatExpr{FormatType: BinaryFormat, Geom: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
case 1202:
@@ -19084,7 +19045,7 @@ yydefault:
var yyLOCAL Expr
//line sql.y:6141
{
- yyLOCAL = &GeomFormatExpr{FormatType: TextFormat, Geom: yyDollar[3].exprUnion(), AxisOrderOpt: yyDollar[5].exprUnion()}
+ yyLOCAL = &GeomFormatExpr{FormatType: BinaryFormat, Geom: yyDollar[3].exprUnion(), AxisOrderOpt: yyDollar[5].exprUnion()}
}
yyVAL.union = yyLOCAL
case 1203:
@@ -19092,15 +19053,15 @@ yydefault:
var yyLOCAL Expr
//line sql.y:6145
{
- yyLOCAL = &GeomPropertyFuncExpr{Property: IsEmpty, Geom: yyDollar[3].exprUnion()}
+ yyLOCAL = &GeomFormatExpr{FormatType: TextFormat, Geom: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
case 1204:
- yyDollar = yyS[yypt-4 : yypt+1]
+ yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
//line sql.y:6149
{
- yyLOCAL = &GeomPropertyFuncExpr{Property: IsSimple, Geom: yyDollar[3].exprUnion()}
+ yyLOCAL = &GeomFormatExpr{FormatType: TextFormat, Geom: yyDollar[3].exprUnion(), AxisOrderOpt: yyDollar[5].exprUnion()}
}
yyVAL.union = yyLOCAL
case 1205:
@@ -19108,7 +19069,7 @@ yydefault:
var yyLOCAL Expr
//line sql.y:6153
{
- yyLOCAL = &GeomPropertyFuncExpr{Property: Dimension, Geom: yyDollar[3].exprUnion()}
+ yyLOCAL = &GeomPropertyFuncExpr{Property: IsEmpty, Geom: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
case 1206:
@@ -19116,7 +19077,7 @@ yydefault:
var yyLOCAL Expr
//line sql.y:6157
{
- yyLOCAL = &GeomPropertyFuncExpr{Property: Envelope, Geom: yyDollar[3].exprUnion()}
+ yyLOCAL = &GeomPropertyFuncExpr{Property: IsSimple, Geom: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
case 1207:
@@ -19124,7 +19085,7 @@ yydefault:
var yyLOCAL Expr
//line sql.y:6161
{
- yyLOCAL = &GeomPropertyFuncExpr{Property: GeometryType, Geom: yyDollar[3].exprUnion()}
+ yyLOCAL = &GeomPropertyFuncExpr{Property: Dimension, Geom: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
case 1208:
@@ -19132,15 +19093,15 @@ yydefault:
var yyLOCAL Expr
//line sql.y:6165
{
- yyLOCAL = &PointPropertyFuncExpr{Property: Latitude, Point: yyDollar[3].exprUnion()}
+ yyLOCAL = &GeomPropertyFuncExpr{Property: Envelope, Geom: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
case 1209:
- yyDollar = yyS[yypt-6 : yypt+1]
+ yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
//line sql.y:6169
{
- yyLOCAL = &PointPropertyFuncExpr{Property: Latitude, Point: yyDollar[3].exprUnion(), ValueToSet: yyDollar[5].exprUnion()}
+ yyLOCAL = &GeomPropertyFuncExpr{Property: GeometryType, Geom: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
case 1210:
@@ -19148,7 +19109,7 @@ yydefault:
var yyLOCAL Expr
//line sql.y:6173
{
- yyLOCAL = &PointPropertyFuncExpr{Property: Longitude, Point: yyDollar[3].exprUnion()}
+ yyLOCAL = &PointPropertyFuncExpr{Property: Latitude, Point: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
case 1211:
@@ -19156,7 +19117,7 @@ yydefault:
var yyLOCAL Expr
//line sql.y:6177
{
- yyLOCAL = &PointPropertyFuncExpr{Property: Longitude, Point: yyDollar[3].exprUnion(), ValueToSet: yyDollar[5].exprUnion()}
+ yyLOCAL = &PointPropertyFuncExpr{Property: Latitude, Point: yyDollar[3].exprUnion(), ValueToSet: yyDollar[5].exprUnion()}
}
yyVAL.union = yyLOCAL
case 1212:
@@ -19164,15 +19125,15 @@ yydefault:
var yyLOCAL Expr
//line sql.y:6181
{
- yyLOCAL = &LinestrPropertyFuncExpr{Property: EndPoint, Linestring: yyDollar[3].exprUnion()}
+ yyLOCAL = &PointPropertyFuncExpr{Property: Longitude, Point: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
case 1213:
- yyDollar = yyS[yypt-4 : yypt+1]
+ yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
//line sql.y:6185
{
- yyLOCAL = &LinestrPropertyFuncExpr{Property: IsClosed, Linestring: yyDollar[3].exprUnion()}
+ yyLOCAL = &PointPropertyFuncExpr{Property: Longitude, Point: yyDollar[3].exprUnion(), ValueToSet: yyDollar[5].exprUnion()}
}
yyVAL.union = yyLOCAL
case 1214:
@@ -19180,15 +19141,15 @@ yydefault:
var yyLOCAL Expr
//line sql.y:6189
{
- yyLOCAL = &LinestrPropertyFuncExpr{Property: Length, Linestring: yyDollar[3].exprUnion()}
+ yyLOCAL = &LinestrPropertyFuncExpr{Property: EndPoint, Linestring: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
case 1215:
- yyDollar = yyS[yypt-6 : yypt+1]
+ yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
//line sql.y:6193
{
- yyLOCAL = &LinestrPropertyFuncExpr{Property: Length, Linestring: yyDollar[3].exprUnion(), PropertyDefArg: yyDollar[5].exprUnion()}
+ yyLOCAL = &LinestrPropertyFuncExpr{Property: IsClosed, Linestring: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
case 1216:
@@ -19196,7 +19157,7 @@ yydefault:
var yyLOCAL Expr
//line sql.y:6197
{
- yyLOCAL = &LinestrPropertyFuncExpr{Property: NumPoints, Linestring: yyDollar[3].exprUnion()}
+ yyLOCAL = &LinestrPropertyFuncExpr{Property: Length, Linestring: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
case 1217:
@@ -19204,7 +19165,7 @@ yydefault:
var yyLOCAL Expr
//line sql.y:6201
{
- yyLOCAL = &LinestrPropertyFuncExpr{Property: PointN, Linestring: yyDollar[3].exprUnion(), PropertyDefArg: yyDollar[5].exprUnion()}
+ yyLOCAL = &LinestrPropertyFuncExpr{Property: Length, Linestring: yyDollar[3].exprUnion(), PropertyDefArg: yyDollar[5].exprUnion()}
}
yyVAL.union = yyLOCAL
case 1218:
@@ -19212,23 +19173,23 @@ yydefault:
var yyLOCAL Expr
//line sql.y:6205
{
- yyLOCAL = &LinestrPropertyFuncExpr{Property: StartPoint, Linestring: yyDollar[3].exprUnion()}
+ yyLOCAL = &LinestrPropertyFuncExpr{Property: NumPoints, Linestring: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
case 1219:
- yyDollar = yyS[yypt-4 : yypt+1]
+ yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
//line sql.y:6209
{
- yyLOCAL = &PointPropertyFuncExpr{Property: XCordinate, Point: yyDollar[3].exprUnion()}
+ yyLOCAL = &LinestrPropertyFuncExpr{Property: PointN, Linestring: yyDollar[3].exprUnion(), PropertyDefArg: yyDollar[5].exprUnion()}
}
yyVAL.union = yyLOCAL
case 1220:
- yyDollar = yyS[yypt-6 : yypt+1]
+ yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
//line sql.y:6213
{
- yyLOCAL = &PointPropertyFuncExpr{Property: XCordinate, Point: yyDollar[3].exprUnion(), ValueToSet: yyDollar[5].exprUnion()}
+ yyLOCAL = &LinestrPropertyFuncExpr{Property: StartPoint, Linestring: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
case 1221:
@@ -19236,7 +19197,7 @@ yydefault:
var yyLOCAL Expr
//line sql.y:6217
{
- yyLOCAL = &PointPropertyFuncExpr{Property: YCordinate, Point: yyDollar[3].exprUnion()}
+ yyLOCAL = &PointPropertyFuncExpr{Property: XCordinate, Point: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
case 1222:
@@ -19244,7 +19205,7 @@ yydefault:
var yyLOCAL Expr
//line sql.y:6221
{
- yyLOCAL = &PointPropertyFuncExpr{Property: YCordinate, Point: yyDollar[3].exprUnion(), ValueToSet: yyDollar[5].exprUnion()}
+ yyLOCAL = &PointPropertyFuncExpr{Property: XCordinate, Point: yyDollar[3].exprUnion(), ValueToSet: yyDollar[5].exprUnion()}
}
yyVAL.union = yyLOCAL
case 1223:
@@ -19252,7 +19213,7 @@ yydefault:
var yyLOCAL Expr
//line sql.y:6225
{
- yyLOCAL = &GeomFromTextExpr{Type: GeometryFromText, WktText: yyDollar[3].exprUnion()}
+ yyLOCAL = &PointPropertyFuncExpr{Property: YCordinate, Point: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
case 1224:
@@ -19260,391 +19221,391 @@ yydefault:
var yyLOCAL Expr
//line sql.y:6229
{
- yyLOCAL = &GeomFromTextExpr{Type: GeometryFromText, WktText: yyDollar[3].exprUnion(), Srid: yyDollar[5].exprUnion()}
+ yyLOCAL = &PointPropertyFuncExpr{Property: YCordinate, Point: yyDollar[3].exprUnion(), ValueToSet: yyDollar[5].exprUnion()}
}
yyVAL.union = yyLOCAL
case 1225:
- yyDollar = yyS[yypt-8 : yypt+1]
+ yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
//line sql.y:6233
{
- yyLOCAL = &GeomFromTextExpr{Type: GeometryFromText, WktText: yyDollar[3].exprUnion(), Srid: yyDollar[5].exprUnion(), AxisOrderOpt: yyDollar[7].exprUnion()}
+ yyLOCAL = &GeomFromTextExpr{Type: GeometryFromText, WktText: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
case 1226:
- yyDollar = yyS[yypt-4 : yypt+1]
+ yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
//line sql.y:6237
{
- yyLOCAL = &GeomFromTextExpr{Type: GeometryCollectionFromText, WktText: yyDollar[3].exprUnion()}
+ yyLOCAL = &GeomFromTextExpr{Type: GeometryFromText, WktText: yyDollar[3].exprUnion(), Srid: yyDollar[5].exprUnion()}
}
yyVAL.union = yyLOCAL
case 1227:
- yyDollar = yyS[yypt-6 : yypt+1]
+ yyDollar = yyS[yypt-8 : yypt+1]
var yyLOCAL Expr
//line sql.y:6241
{
- yyLOCAL = &GeomFromTextExpr{Type: GeometryCollectionFromText, WktText: yyDollar[3].exprUnion(), Srid: yyDollar[5].exprUnion()}
+ yyLOCAL = &GeomFromTextExpr{Type: GeometryFromText, WktText: yyDollar[3].exprUnion(), Srid: yyDollar[5].exprUnion(), AxisOrderOpt: yyDollar[7].exprUnion()}
}
yyVAL.union = yyLOCAL
case 1228:
- yyDollar = yyS[yypt-8 : yypt+1]
+ yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
//line sql.y:6245
{
- yyLOCAL = &GeomFromTextExpr{Type: GeometryCollectionFromText, WktText: yyDollar[3].exprUnion(), Srid: yyDollar[5].exprUnion(), AxisOrderOpt: yyDollar[7].exprUnion()}
+ yyLOCAL = &GeomFromTextExpr{Type: GeometryCollectionFromText, WktText: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
case 1229:
- yyDollar = yyS[yypt-4 : yypt+1]
+ yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
//line sql.y:6249
{
- yyLOCAL = &GeomFromTextExpr{Type: LineStringFromText, WktText: yyDollar[3].exprUnion()}
+ yyLOCAL = &GeomFromTextExpr{Type: GeometryCollectionFromText, WktText: yyDollar[3].exprUnion(), Srid: yyDollar[5].exprUnion()}
}
yyVAL.union = yyLOCAL
case 1230:
- yyDollar = yyS[yypt-6 : yypt+1]
+ yyDollar = yyS[yypt-8 : yypt+1]
var yyLOCAL Expr
//line sql.y:6253
{
- yyLOCAL = &GeomFromTextExpr{Type: LineStringFromText, WktText: yyDollar[3].exprUnion(), Srid: yyDollar[5].exprUnion()}
+ yyLOCAL = &GeomFromTextExpr{Type: GeometryCollectionFromText, WktText: yyDollar[3].exprUnion(), Srid: yyDollar[5].exprUnion(), AxisOrderOpt: yyDollar[7].exprUnion()}
}
yyVAL.union = yyLOCAL
case 1231:
- yyDollar = yyS[yypt-8 : yypt+1]
+ yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
//line sql.y:6257
{
- yyLOCAL = &GeomFromTextExpr{Type: LineStringFromText, WktText: yyDollar[3].exprUnion(), Srid: yyDollar[5].exprUnion(), AxisOrderOpt: yyDollar[7].exprUnion()}
+ yyLOCAL = &GeomFromTextExpr{Type: LineStringFromText, WktText: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
case 1232:
- yyDollar = yyS[yypt-4 : yypt+1]
+ yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
//line sql.y:6261
{
- yyLOCAL = &GeomFromTextExpr{Type: MultiLinestringFromText, WktText: yyDollar[3].exprUnion()}
+ yyLOCAL = &GeomFromTextExpr{Type: LineStringFromText, WktText: yyDollar[3].exprUnion(), Srid: yyDollar[5].exprUnion()}
}
yyVAL.union = yyLOCAL
case 1233:
- yyDollar = yyS[yypt-6 : yypt+1]
+ yyDollar = yyS[yypt-8 : yypt+1]
var yyLOCAL Expr
//line sql.y:6265
{
- yyLOCAL = &GeomFromTextExpr{Type: MultiLinestringFromText, WktText: yyDollar[3].exprUnion(), Srid: yyDollar[5].exprUnion()}
+ yyLOCAL = &GeomFromTextExpr{Type: LineStringFromText, WktText: yyDollar[3].exprUnion(), Srid: yyDollar[5].exprUnion(), AxisOrderOpt: yyDollar[7].exprUnion()}
}
yyVAL.union = yyLOCAL
case 1234:
- yyDollar = yyS[yypt-8 : yypt+1]
+ yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
//line sql.y:6269
{
- yyLOCAL = &GeomFromTextExpr{Type: MultiLinestringFromText, WktText: yyDollar[3].exprUnion(), Srid: yyDollar[5].exprUnion(), AxisOrderOpt: yyDollar[7].exprUnion()}
+ yyLOCAL = &GeomFromTextExpr{Type: MultiLinestringFromText, WktText: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
case 1235:
- yyDollar = yyS[yypt-4 : yypt+1]
+ yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
//line sql.y:6273
{
- yyLOCAL = &GeomFromTextExpr{Type: MultiPointFromText, WktText: yyDollar[3].exprUnion()}
+ yyLOCAL = &GeomFromTextExpr{Type: MultiLinestringFromText, WktText: yyDollar[3].exprUnion(), Srid: yyDollar[5].exprUnion()}
}
yyVAL.union = yyLOCAL
case 1236:
- yyDollar = yyS[yypt-6 : yypt+1]
+ yyDollar = yyS[yypt-8 : yypt+1]
var yyLOCAL Expr
//line sql.y:6277
{
- yyLOCAL = &GeomFromTextExpr{Type: MultiPointFromText, WktText: yyDollar[3].exprUnion(), Srid: yyDollar[5].exprUnion()}
+ yyLOCAL = &GeomFromTextExpr{Type: MultiLinestringFromText, WktText: yyDollar[3].exprUnion(), Srid: yyDollar[5].exprUnion(), AxisOrderOpt: yyDollar[7].exprUnion()}
}
yyVAL.union = yyLOCAL
case 1237:
- yyDollar = yyS[yypt-8 : yypt+1]
+ yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
//line sql.y:6281
{
- yyLOCAL = &GeomFromTextExpr{Type: MultiPointFromText, WktText: yyDollar[3].exprUnion(), Srid: yyDollar[5].exprUnion(), AxisOrderOpt: yyDollar[7].exprUnion()}
+ yyLOCAL = &GeomFromTextExpr{Type: MultiPointFromText, WktText: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
case 1238:
- yyDollar = yyS[yypt-4 : yypt+1]
+ yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
//line sql.y:6285
{
- yyLOCAL = &GeomFromTextExpr{Type: MultiPolygonFromText, WktText: yyDollar[3].exprUnion()}
+ yyLOCAL = &GeomFromTextExpr{Type: MultiPointFromText, WktText: yyDollar[3].exprUnion(), Srid: yyDollar[5].exprUnion()}
}
yyVAL.union = yyLOCAL
case 1239:
- yyDollar = yyS[yypt-6 : yypt+1]
+ yyDollar = yyS[yypt-8 : yypt+1]
var yyLOCAL Expr
//line sql.y:6289
{
- yyLOCAL = &GeomFromTextExpr{Type: MultiPolygonFromText, WktText: yyDollar[3].exprUnion(), Srid: yyDollar[5].exprUnion()}
+ yyLOCAL = &GeomFromTextExpr{Type: MultiPointFromText, WktText: yyDollar[3].exprUnion(), Srid: yyDollar[5].exprUnion(), AxisOrderOpt: yyDollar[7].exprUnion()}
}
yyVAL.union = yyLOCAL
case 1240:
- yyDollar = yyS[yypt-8 : yypt+1]
+ yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
//line sql.y:6293
{
- yyLOCAL = &GeomFromTextExpr{Type: MultiPolygonFromText, WktText: yyDollar[3].exprUnion(), Srid: yyDollar[5].exprUnion(), AxisOrderOpt: yyDollar[7].exprUnion()}
+ yyLOCAL = &GeomFromTextExpr{Type: MultiPolygonFromText, WktText: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
case 1241:
- yyDollar = yyS[yypt-4 : yypt+1]
+ yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
//line sql.y:6297
{
- yyLOCAL = &GeomFromTextExpr{Type: PointFromText, WktText: yyDollar[3].exprUnion()}
+ yyLOCAL = &GeomFromTextExpr{Type: MultiPolygonFromText, WktText: yyDollar[3].exprUnion(), Srid: yyDollar[5].exprUnion()}
}
yyVAL.union = yyLOCAL
case 1242:
- yyDollar = yyS[yypt-6 : yypt+1]
+ yyDollar = yyS[yypt-8 : yypt+1]
var yyLOCAL Expr
//line sql.y:6301
{
- yyLOCAL = &GeomFromTextExpr{Type: PointFromText, WktText: yyDollar[3].exprUnion(), Srid: yyDollar[5].exprUnion()}
+ yyLOCAL = &GeomFromTextExpr{Type: MultiPolygonFromText, WktText: yyDollar[3].exprUnion(), Srid: yyDollar[5].exprUnion(), AxisOrderOpt: yyDollar[7].exprUnion()}
}
yyVAL.union = yyLOCAL
case 1243:
- yyDollar = yyS[yypt-8 : yypt+1]
+ yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
//line sql.y:6305
{
- yyLOCAL = &GeomFromTextExpr{Type: PointFromText, WktText: yyDollar[3].exprUnion(), Srid: yyDollar[5].exprUnion(), AxisOrderOpt: yyDollar[7].exprUnion()}
+ yyLOCAL = &GeomFromTextExpr{Type: PointFromText, WktText: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
case 1244:
- yyDollar = yyS[yypt-4 : yypt+1]
+ yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
//line sql.y:6309
{
- yyLOCAL = &GeomFromTextExpr{Type: PolygonFromText, WktText: yyDollar[3].exprUnion()}
+ yyLOCAL = &GeomFromTextExpr{Type: PointFromText, WktText: yyDollar[3].exprUnion(), Srid: yyDollar[5].exprUnion()}
}
yyVAL.union = yyLOCAL
case 1245:
- yyDollar = yyS[yypt-6 : yypt+1]
+ yyDollar = yyS[yypt-8 : yypt+1]
var yyLOCAL Expr
//line sql.y:6313
{
- yyLOCAL = &GeomFromTextExpr{Type: PolygonFromText, WktText: yyDollar[3].exprUnion(), Srid: yyDollar[5].exprUnion()}
+ yyLOCAL = &GeomFromTextExpr{Type: PointFromText, WktText: yyDollar[3].exprUnion(), Srid: yyDollar[5].exprUnion(), AxisOrderOpt: yyDollar[7].exprUnion()}
}
yyVAL.union = yyLOCAL
case 1246:
- yyDollar = yyS[yypt-8 : yypt+1]
+ yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
//line sql.y:6317
{
- yyLOCAL = &GeomFromTextExpr{Type: PolygonFromText, WktText: yyDollar[3].exprUnion(), Srid: yyDollar[5].exprUnion(), AxisOrderOpt: yyDollar[7].exprUnion()}
+ yyLOCAL = &GeomFromTextExpr{Type: PolygonFromText, WktText: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
case 1247:
- yyDollar = yyS[yypt-4 : yypt+1]
+ yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
//line sql.y:6321
{
- yyLOCAL = &GeomFromWKBExpr{Type: GeometryFromWKB, WkbBlob: yyDollar[3].exprUnion()}
+ yyLOCAL = &GeomFromTextExpr{Type: PolygonFromText, WktText: yyDollar[3].exprUnion(), Srid: yyDollar[5].exprUnion()}
}
yyVAL.union = yyLOCAL
case 1248:
- yyDollar = yyS[yypt-6 : yypt+1]
+ yyDollar = yyS[yypt-8 : yypt+1]
var yyLOCAL Expr
//line sql.y:6325
{
- yyLOCAL = &GeomFromWKBExpr{Type: GeometryFromWKB, WkbBlob: yyDollar[3].exprUnion(), Srid: yyDollar[5].exprUnion()}
+ yyLOCAL = &GeomFromTextExpr{Type: PolygonFromText, WktText: yyDollar[3].exprUnion(), Srid: yyDollar[5].exprUnion(), AxisOrderOpt: yyDollar[7].exprUnion()}
}
yyVAL.union = yyLOCAL
case 1249:
- yyDollar = yyS[yypt-8 : yypt+1]
+ yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
//line sql.y:6329
{
- yyLOCAL = &GeomFromWKBExpr{Type: GeometryFromWKB, WkbBlob: yyDollar[3].exprUnion(), Srid: yyDollar[5].exprUnion(), AxisOrderOpt: yyDollar[7].exprUnion()}
+ yyLOCAL = &GeomFromWKBExpr{Type: GeometryFromWKB, WkbBlob: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
case 1250:
- yyDollar = yyS[yypt-4 : yypt+1]
+ yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
//line sql.y:6333
{
- yyLOCAL = &GeomFromWKBExpr{Type: GeometryCollectionFromWKB, WkbBlob: yyDollar[3].exprUnion()}
+ yyLOCAL = &GeomFromWKBExpr{Type: GeometryFromWKB, WkbBlob: yyDollar[3].exprUnion(), Srid: yyDollar[5].exprUnion()}
}
yyVAL.union = yyLOCAL
case 1251:
- yyDollar = yyS[yypt-6 : yypt+1]
+ yyDollar = yyS[yypt-8 : yypt+1]
var yyLOCAL Expr
//line sql.y:6337
{
- yyLOCAL = &GeomFromWKBExpr{Type: GeometryCollectionFromWKB, WkbBlob: yyDollar[3].exprUnion(), Srid: yyDollar[5].exprUnion()}
+ yyLOCAL = &GeomFromWKBExpr{Type: GeometryFromWKB, WkbBlob: yyDollar[3].exprUnion(), Srid: yyDollar[5].exprUnion(), AxisOrderOpt: yyDollar[7].exprUnion()}
}
yyVAL.union = yyLOCAL
case 1252:
- yyDollar = yyS[yypt-8 : yypt+1]
+ yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
//line sql.y:6341
{
- yyLOCAL = &GeomFromWKBExpr{Type: GeometryCollectionFromWKB, WkbBlob: yyDollar[3].exprUnion(), Srid: yyDollar[5].exprUnion(), AxisOrderOpt: yyDollar[7].exprUnion()}
+ yyLOCAL = &GeomFromWKBExpr{Type: GeometryCollectionFromWKB, WkbBlob: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
case 1253:
- yyDollar = yyS[yypt-4 : yypt+1]
+ yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
//line sql.y:6345
{
- yyLOCAL = &GeomFromWKBExpr{Type: LineStringFromWKB, WkbBlob: yyDollar[3].exprUnion()}
+ yyLOCAL = &GeomFromWKBExpr{Type: GeometryCollectionFromWKB, WkbBlob: yyDollar[3].exprUnion(), Srid: yyDollar[5].exprUnion()}
}
yyVAL.union = yyLOCAL
case 1254:
- yyDollar = yyS[yypt-6 : yypt+1]
+ yyDollar = yyS[yypt-8 : yypt+1]
var yyLOCAL Expr
//line sql.y:6349
{
- yyLOCAL = &GeomFromWKBExpr{Type: LineStringFromWKB, WkbBlob: yyDollar[3].exprUnion(), Srid: yyDollar[5].exprUnion()}
+ yyLOCAL = &GeomFromWKBExpr{Type: GeometryCollectionFromWKB, WkbBlob: yyDollar[3].exprUnion(), Srid: yyDollar[5].exprUnion(), AxisOrderOpt: yyDollar[7].exprUnion()}
}
yyVAL.union = yyLOCAL
case 1255:
- yyDollar = yyS[yypt-8 : yypt+1]
+ yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
//line sql.y:6353
{
- yyLOCAL = &GeomFromWKBExpr{Type: LineStringFromWKB, WkbBlob: yyDollar[3].exprUnion(), Srid: yyDollar[5].exprUnion(), AxisOrderOpt: yyDollar[7].exprUnion()}
+ yyLOCAL = &GeomFromWKBExpr{Type: LineStringFromWKB, WkbBlob: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
case 1256:
- yyDollar = yyS[yypt-4 : yypt+1]
+ yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
//line sql.y:6357
{
- yyLOCAL = &GeomFromWKBExpr{Type: MultiLinestringFromWKB, WkbBlob: yyDollar[3].exprUnion()}
+ yyLOCAL = &GeomFromWKBExpr{Type: LineStringFromWKB, WkbBlob: yyDollar[3].exprUnion(), Srid: yyDollar[5].exprUnion()}
}
yyVAL.union = yyLOCAL
case 1257:
- yyDollar = yyS[yypt-6 : yypt+1]
+ yyDollar = yyS[yypt-8 : yypt+1]
var yyLOCAL Expr
//line sql.y:6361
{
- yyLOCAL = &GeomFromWKBExpr{Type: MultiLinestringFromWKB, WkbBlob: yyDollar[3].exprUnion(), Srid: yyDollar[5].exprUnion()}
+ yyLOCAL = &GeomFromWKBExpr{Type: LineStringFromWKB, WkbBlob: yyDollar[3].exprUnion(), Srid: yyDollar[5].exprUnion(), AxisOrderOpt: yyDollar[7].exprUnion()}
}
yyVAL.union = yyLOCAL
case 1258:
- yyDollar = yyS[yypt-8 : yypt+1]
+ yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
//line sql.y:6365
{
- yyLOCAL = &GeomFromWKBExpr{Type: MultiLinestringFromWKB, WkbBlob: yyDollar[3].exprUnion(), Srid: yyDollar[5].exprUnion(), AxisOrderOpt: yyDollar[7].exprUnion()}
+ yyLOCAL = &GeomFromWKBExpr{Type: MultiLinestringFromWKB, WkbBlob: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
case 1259:
- yyDollar = yyS[yypt-4 : yypt+1]
+ yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
//line sql.y:6369
{
- yyLOCAL = &GeomFromWKBExpr{Type: MultiPointFromWKB, WkbBlob: yyDollar[3].exprUnion()}
+ yyLOCAL = &GeomFromWKBExpr{Type: MultiLinestringFromWKB, WkbBlob: yyDollar[3].exprUnion(), Srid: yyDollar[5].exprUnion()}
}
yyVAL.union = yyLOCAL
case 1260:
- yyDollar = yyS[yypt-6 : yypt+1]
+ yyDollar = yyS[yypt-8 : yypt+1]
var yyLOCAL Expr
//line sql.y:6373
{
- yyLOCAL = &GeomFromWKBExpr{Type: MultiPointFromWKB, WkbBlob: yyDollar[3].exprUnion(), Srid: yyDollar[5].exprUnion()}
+ yyLOCAL = &GeomFromWKBExpr{Type: MultiLinestringFromWKB, WkbBlob: yyDollar[3].exprUnion(), Srid: yyDollar[5].exprUnion(), AxisOrderOpt: yyDollar[7].exprUnion()}
}
yyVAL.union = yyLOCAL
case 1261:
- yyDollar = yyS[yypt-8 : yypt+1]
+ yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
//line sql.y:6377
{
- yyLOCAL = &GeomFromWKBExpr{Type: MultiPointFromWKB, WkbBlob: yyDollar[3].exprUnion(), Srid: yyDollar[5].exprUnion(), AxisOrderOpt: yyDollar[7].exprUnion()}
+ yyLOCAL = &GeomFromWKBExpr{Type: MultiPointFromWKB, WkbBlob: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
case 1262:
- yyDollar = yyS[yypt-4 : yypt+1]
+ yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
//line sql.y:6381
{
- yyLOCAL = &GeomFromWKBExpr{Type: MultiPolygonFromWKB, WkbBlob: yyDollar[3].exprUnion()}
+ yyLOCAL = &GeomFromWKBExpr{Type: MultiPointFromWKB, WkbBlob: yyDollar[3].exprUnion(), Srid: yyDollar[5].exprUnion()}
}
yyVAL.union = yyLOCAL
case 1263:
- yyDollar = yyS[yypt-6 : yypt+1]
+ yyDollar = yyS[yypt-8 : yypt+1]
var yyLOCAL Expr
//line sql.y:6385
{
- yyLOCAL = &GeomFromWKBExpr{Type: MultiPolygonFromWKB, WkbBlob: yyDollar[3].exprUnion(), Srid: yyDollar[5].exprUnion()}
+ yyLOCAL = &GeomFromWKBExpr{Type: MultiPointFromWKB, WkbBlob: yyDollar[3].exprUnion(), Srid: yyDollar[5].exprUnion(), AxisOrderOpt: yyDollar[7].exprUnion()}
}
yyVAL.union = yyLOCAL
case 1264:
- yyDollar = yyS[yypt-8 : yypt+1]
+ yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
//line sql.y:6389
{
- yyLOCAL = &GeomFromWKBExpr{Type: MultiPolygonFromWKB, WkbBlob: yyDollar[3].exprUnion(), Srid: yyDollar[5].exprUnion(), AxisOrderOpt: yyDollar[7].exprUnion()}
+ yyLOCAL = &GeomFromWKBExpr{Type: MultiPolygonFromWKB, WkbBlob: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
case 1265:
- yyDollar = yyS[yypt-4 : yypt+1]
+ yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
//line sql.y:6393
{
- yyLOCAL = &GeomFromWKBExpr{Type: PointFromWKB, WkbBlob: yyDollar[3].exprUnion()}
+ yyLOCAL = &GeomFromWKBExpr{Type: MultiPolygonFromWKB, WkbBlob: yyDollar[3].exprUnion(), Srid: yyDollar[5].exprUnion()}
}
yyVAL.union = yyLOCAL
case 1266:
- yyDollar = yyS[yypt-6 : yypt+1]
+ yyDollar = yyS[yypt-8 : yypt+1]
var yyLOCAL Expr
//line sql.y:6397
{
- yyLOCAL = &GeomFromWKBExpr{Type: PointFromWKB, WkbBlob: yyDollar[3].exprUnion(), Srid: yyDollar[5].exprUnion()}
+ yyLOCAL = &GeomFromWKBExpr{Type: MultiPolygonFromWKB, WkbBlob: yyDollar[3].exprUnion(), Srid: yyDollar[5].exprUnion(), AxisOrderOpt: yyDollar[7].exprUnion()}
}
yyVAL.union = yyLOCAL
case 1267:
- yyDollar = yyS[yypt-8 : yypt+1]
+ yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
//line sql.y:6401
{
- yyLOCAL = &GeomFromWKBExpr{Type: PointFromWKB, WkbBlob: yyDollar[3].exprUnion(), Srid: yyDollar[5].exprUnion(), AxisOrderOpt: yyDollar[7].exprUnion()}
+ yyLOCAL = &GeomFromWKBExpr{Type: PointFromWKB, WkbBlob: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
case 1268:
- yyDollar = yyS[yypt-4 : yypt+1]
+ yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
//line sql.y:6405
{
- yyLOCAL = &GeomFromWKBExpr{Type: PolygonFromWKB, WkbBlob: yyDollar[3].exprUnion()}
+ yyLOCAL = &GeomFromWKBExpr{Type: PointFromWKB, WkbBlob: yyDollar[3].exprUnion(), Srid: yyDollar[5].exprUnion()}
}
yyVAL.union = yyLOCAL
case 1269:
- yyDollar = yyS[yypt-6 : yypt+1]
+ yyDollar = yyS[yypt-8 : yypt+1]
var yyLOCAL Expr
//line sql.y:6409
{
- yyLOCAL = &GeomFromWKBExpr{Type: PolygonFromWKB, WkbBlob: yyDollar[3].exprUnion(), Srid: yyDollar[5].exprUnion()}
+ yyLOCAL = &GeomFromWKBExpr{Type: PointFromWKB, WkbBlob: yyDollar[3].exprUnion(), Srid: yyDollar[5].exprUnion(), AxisOrderOpt: yyDollar[7].exprUnion()}
}
yyVAL.union = yyLOCAL
case 1270:
- yyDollar = yyS[yypt-8 : yypt+1]
+ yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
//line sql.y:6413
{
- yyLOCAL = &GeomFromWKBExpr{Type: PolygonFromWKB, WkbBlob: yyDollar[3].exprUnion(), Srid: yyDollar[5].exprUnion(), AxisOrderOpt: yyDollar[7].exprUnion()}
+ yyLOCAL = &GeomFromWKBExpr{Type: PolygonFromWKB, WkbBlob: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
case 1271:
- yyDollar = yyS[yypt-4 : yypt+1]
+ yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
//line sql.y:6417
{
- yyLOCAL = &PolygonPropertyFuncExpr{Property: Area, Polygon: yyDollar[3].exprUnion()}
+ yyLOCAL = &GeomFromWKBExpr{Type: PolygonFromWKB, WkbBlob: yyDollar[3].exprUnion(), Srid: yyDollar[5].exprUnion()}
}
yyVAL.union = yyLOCAL
case 1272:
- yyDollar = yyS[yypt-4 : yypt+1]
+ yyDollar = yyS[yypt-8 : yypt+1]
var yyLOCAL Expr
//line sql.y:6421
{
- yyLOCAL = &PolygonPropertyFuncExpr{Property: Centroid, Polygon: yyDollar[3].exprUnion()}
+ yyLOCAL = &GeomFromWKBExpr{Type: PolygonFromWKB, WkbBlob: yyDollar[3].exprUnion(), Srid: yyDollar[5].exprUnion(), AxisOrderOpt: yyDollar[7].exprUnion()}
}
yyVAL.union = yyLOCAL
case 1273:
@@ -19652,15 +19613,15 @@ yydefault:
var yyLOCAL Expr
//line sql.y:6425
{
- yyLOCAL = &PolygonPropertyFuncExpr{Property: ExteriorRing, Polygon: yyDollar[3].exprUnion()}
+ yyLOCAL = &PolygonPropertyFuncExpr{Property: Area, Polygon: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
case 1274:
- yyDollar = yyS[yypt-6 : yypt+1]
+ yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
//line sql.y:6429
{
- yyLOCAL = &PolygonPropertyFuncExpr{Property: InteriorRingN, Polygon: yyDollar[3].exprUnion(), PropertyDefArg: yyDollar[5].exprUnion()}
+ yyLOCAL = &PolygonPropertyFuncExpr{Property: Centroid, Polygon: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
case 1275:
@@ -19668,7 +19629,7 @@ yydefault:
var yyLOCAL Expr
//line sql.y:6433
{
- yyLOCAL = &PolygonPropertyFuncExpr{Property: NumInteriorRings, Polygon: yyDollar[3].exprUnion()}
+ yyLOCAL = &PolygonPropertyFuncExpr{Property: ExteriorRing, Polygon: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
case 1276:
@@ -19676,7 +19637,7 @@ yydefault:
var yyLOCAL Expr
//line sql.y:6437
{
- yyLOCAL = &GeomCollPropertyFuncExpr{Property: GeometryN, GeomColl: yyDollar[3].exprUnion(), PropertyDefArg: yyDollar[5].exprUnion()}
+ yyLOCAL = &PolygonPropertyFuncExpr{Property: InteriorRingN, Polygon: yyDollar[3].exprUnion(), PropertyDefArg: yyDollar[5].exprUnion()}
}
yyVAL.union = yyLOCAL
case 1277:
@@ -19684,47 +19645,47 @@ yydefault:
var yyLOCAL Expr
//line sql.y:6441
{
- yyLOCAL = &GeomCollPropertyFuncExpr{Property: NumGeometries, GeomColl: yyDollar[3].exprUnion()}
+ yyLOCAL = &PolygonPropertyFuncExpr{Property: NumInteriorRings, Polygon: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
case 1278:
- yyDollar = yyS[yypt-8 : yypt+1]
+ yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
//line sql.y:6445
{
- yyLOCAL = &GeoHashFromLatLongExpr{Longitude: yyDollar[3].exprUnion(), Latitude: yyDollar[5].exprUnion(), MaxLength: yyDollar[7].exprUnion()}
+ yyLOCAL = &GeomCollPropertyFuncExpr{Property: GeometryN, GeomColl: yyDollar[3].exprUnion(), PropertyDefArg: yyDollar[5].exprUnion()}
}
yyVAL.union = yyLOCAL
case 1279:
- yyDollar = yyS[yypt-6 : yypt+1]
+ yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
//line sql.y:6449
{
- yyLOCAL = &GeoHashFromPointExpr{Point: yyDollar[3].exprUnion(), MaxLength: yyDollar[5].exprUnion()}
+ yyLOCAL = &GeomCollPropertyFuncExpr{Property: NumGeometries, GeomColl: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
case 1280:
- yyDollar = yyS[yypt-4 : yypt+1]
+ yyDollar = yyS[yypt-8 : yypt+1]
var yyLOCAL Expr
//line sql.y:6453
{
- yyLOCAL = &GeomFromGeoHashExpr{GeomType: LatitudeFromHash, GeoHash: yyDollar[3].exprUnion()}
+ yyLOCAL = &GeoHashFromLatLongExpr{Longitude: yyDollar[3].exprUnion(), Latitude: yyDollar[5].exprUnion(), MaxLength: yyDollar[7].exprUnion()}
}
yyVAL.union = yyLOCAL
case 1281:
- yyDollar = yyS[yypt-4 : yypt+1]
+ yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
//line sql.y:6457
{
- yyLOCAL = &GeomFromGeoHashExpr{GeomType: LongitudeFromHash, GeoHash: yyDollar[3].exprUnion()}
+ yyLOCAL = &GeoHashFromPointExpr{Point: yyDollar[3].exprUnion(), MaxLength: yyDollar[5].exprUnion()}
}
yyVAL.union = yyLOCAL
case 1282:
- yyDollar = yyS[yypt-6 : yypt+1]
+ yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
//line sql.y:6461
{
- yyLOCAL = &GeomFromGeoHashExpr{GeomType: PointFromHash, GeoHash: yyDollar[3].exprUnion(), SridOpt: yyDollar[5].exprUnion()}
+ yyLOCAL = &GeomFromGeoHashExpr{GeomType: LatitudeFromHash, GeoHash: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
case 1283:
@@ -19732,7 +19693,7 @@ yydefault:
var yyLOCAL Expr
//line sql.y:6465
{
- yyLOCAL = &GeomFromGeoJSONExpr{GeoJSON: yyDollar[3].exprUnion()}
+ yyLOCAL = &GeomFromGeoHashExpr{GeomType: LongitudeFromHash, GeoHash: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
case 1284:
@@ -19740,71 +19701,71 @@ yydefault:
var yyLOCAL Expr
//line sql.y:6469
{
- yyLOCAL = &GeomFromGeoJSONExpr{GeoJSON: yyDollar[3].exprUnion(), HigherDimHandlerOpt: yyDollar[5].exprUnion()}
+ yyLOCAL = &GeomFromGeoHashExpr{GeomType: PointFromHash, GeoHash: yyDollar[3].exprUnion(), SridOpt: yyDollar[5].exprUnion()}
}
yyVAL.union = yyLOCAL
case 1285:
- yyDollar = yyS[yypt-8 : yypt+1]
+ yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
//line sql.y:6473
{
- yyLOCAL = &GeomFromGeoJSONExpr{GeoJSON: yyDollar[3].exprUnion(), HigherDimHandlerOpt: yyDollar[5].exprUnion(), Srid: yyDollar[7].exprUnion()}
+ yyLOCAL = &GeomFromGeoJSONExpr{GeoJSON: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
case 1286:
- yyDollar = yyS[yypt-4 : yypt+1]
+ yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
//line sql.y:6477
{
- yyLOCAL = &GeoJSONFromGeomExpr{Geom: yyDollar[3].exprUnion()}
+ yyLOCAL = &GeomFromGeoJSONExpr{GeoJSON: yyDollar[3].exprUnion(), HigherDimHandlerOpt: yyDollar[5].exprUnion()}
}
yyVAL.union = yyLOCAL
case 1287:
- yyDollar = yyS[yypt-6 : yypt+1]
+ yyDollar = yyS[yypt-8 : yypt+1]
var yyLOCAL Expr
//line sql.y:6481
{
- yyLOCAL = &GeoJSONFromGeomExpr{Geom: yyDollar[3].exprUnion(), MaxDecimalDigits: yyDollar[5].exprUnion()}
+ yyLOCAL = &GeomFromGeoJSONExpr{GeoJSON: yyDollar[3].exprUnion(), HigherDimHandlerOpt: yyDollar[5].exprUnion(), Srid: yyDollar[7].exprUnion()}
}
yyVAL.union = yyLOCAL
case 1288:
- yyDollar = yyS[yypt-8 : yypt+1]
+ yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
//line sql.y:6485
{
- yyLOCAL = &GeoJSONFromGeomExpr{Geom: yyDollar[3].exprUnion(), MaxDecimalDigits: yyDollar[5].exprUnion(), Bitmask: yyDollar[7].exprUnion()}
+ yyLOCAL = &GeoJSONFromGeomExpr{Geom: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
case 1289:
- yyDollar = yyS[yypt-4 : yypt+1]
+ yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
//line sql.y:6489
{
- yyLOCAL = &JSONObjectExpr{Params: yyDollar[3].jsonObjectParamsUnion()}
+ yyLOCAL = &GeoJSONFromGeomExpr{Geom: yyDollar[3].exprUnion(), MaxDecimalDigits: yyDollar[5].exprUnion()}
}
yyVAL.union = yyLOCAL
case 1290:
- yyDollar = yyS[yypt-4 : yypt+1]
+ yyDollar = yyS[yypt-8 : yypt+1]
var yyLOCAL Expr
//line sql.y:6493
{
- yyLOCAL = &JSONQuoteExpr{StringArg: yyDollar[3].exprUnion()}
+ yyLOCAL = &GeoJSONFromGeomExpr{Geom: yyDollar[3].exprUnion(), MaxDecimalDigits: yyDollar[5].exprUnion(), Bitmask: yyDollar[7].exprUnion()}
}
yyVAL.union = yyLOCAL
case 1291:
- yyDollar = yyS[yypt-6 : yypt+1]
+ yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
//line sql.y:6497
{
- yyLOCAL = &JSONContainsExpr{Target: yyDollar[3].exprUnion(), Candidate: yyDollar[5].exprsUnion()[0], PathList: yyDollar[5].exprsUnion()[1:]}
+ yyLOCAL = &JSONObjectExpr{Params: yyDollar[3].jsonObjectParamsUnion()}
}
yyVAL.union = yyLOCAL
case 1292:
- yyDollar = yyS[yypt-8 : yypt+1]
+ yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
//line sql.y:6501
{
- yyLOCAL = &JSONContainsPathExpr{JSONDoc: yyDollar[3].exprUnion(), OneOrAll: yyDollar[5].exprUnion(), PathList: yyDollar[7].exprsUnion()}
+ yyLOCAL = &JSONQuoteExpr{StringArg: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
case 1293:
@@ -19812,15 +19773,15 @@ yydefault:
var yyLOCAL Expr
//line sql.y:6505
{
- yyLOCAL = &JSONExtractExpr{JSONDoc: yyDollar[3].exprUnion(), PathList: yyDollar[5].exprsUnion()}
+ yyLOCAL = &JSONContainsExpr{Target: yyDollar[3].exprUnion(), Candidate: yyDollar[5].exprsUnion()[0], PathList: yyDollar[5].exprsUnion()[1:]}
}
yyVAL.union = yyLOCAL
case 1294:
- yyDollar = yyS[yypt-4 : yypt+1]
+ yyDollar = yyS[yypt-8 : yypt+1]
var yyLOCAL Expr
//line sql.y:6509
{
- yyLOCAL = &JSONKeysExpr{JSONDoc: yyDollar[3].exprUnion()}
+ yyLOCAL = &JSONContainsPathExpr{JSONDoc: yyDollar[3].exprUnion(), OneOrAll: yyDollar[5].exprUnion(), PathList: yyDollar[7].exprsUnion()}
}
yyVAL.union = yyLOCAL
case 1295:
@@ -19828,79 +19789,79 @@ yydefault:
var yyLOCAL Expr
//line sql.y:6513
{
- yyLOCAL = &JSONKeysExpr{JSONDoc: yyDollar[3].exprUnion(), Path: yyDollar[5].exprUnion()}
+ yyLOCAL = &JSONExtractExpr{JSONDoc: yyDollar[3].exprUnion(), PathList: yyDollar[5].exprsUnion()}
}
yyVAL.union = yyLOCAL
case 1296:
- yyDollar = yyS[yypt-6 : yypt+1]
+ yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
//line sql.y:6517
{
- yyLOCAL = &JSONOverlapsExpr{JSONDoc1: yyDollar[3].exprUnion(), JSONDoc2: yyDollar[5].exprUnion()}
+ yyLOCAL = &JSONKeysExpr{JSONDoc: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
case 1297:
- yyDollar = yyS[yypt-8 : yypt+1]
+ yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
//line sql.y:6521
{
- yyLOCAL = &JSONSearchExpr{JSONDoc: yyDollar[3].exprUnion(), OneOrAll: yyDollar[5].exprUnion(), SearchStr: yyDollar[7].exprUnion()}
+ yyLOCAL = &JSONKeysExpr{JSONDoc: yyDollar[3].exprUnion(), Path: yyDollar[5].exprUnion()}
}
yyVAL.union = yyLOCAL
case 1298:
- yyDollar = yyS[yypt-10 : yypt+1]
+ yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
//line sql.y:6525
{
- yyLOCAL = &JSONSearchExpr{JSONDoc: yyDollar[3].exprUnion(), OneOrAll: yyDollar[5].exprUnion(), SearchStr: yyDollar[7].exprUnion(), EscapeChar: yyDollar[9].exprsUnion()[0], PathList: yyDollar[9].exprsUnion()[1:]}
+ yyLOCAL = &JSONOverlapsExpr{JSONDoc1: yyDollar[3].exprUnion(), JSONDoc2: yyDollar[5].exprUnion()}
}
yyVAL.union = yyLOCAL
case 1299:
- yyDollar = yyS[yypt-7 : yypt+1]
+ yyDollar = yyS[yypt-8 : yypt+1]
var yyLOCAL Expr
//line sql.y:6529
{
- yyLOCAL = &JSONValueExpr{JSONDoc: yyDollar[3].exprUnion(), Path: yyDollar[5].exprUnion(), ReturningType: yyDollar[6].convertTypeUnion()}
+ yyLOCAL = &JSONSearchExpr{JSONDoc: yyDollar[3].exprUnion(), OneOrAll: yyDollar[5].exprUnion(), SearchStr: yyDollar[7].exprUnion()}
}
yyVAL.union = yyLOCAL
case 1300:
- yyDollar = yyS[yypt-8 : yypt+1]
+ yyDollar = yyS[yypt-10 : yypt+1]
var yyLOCAL Expr
//line sql.y:6533
{
- yyLOCAL = &JSONValueExpr{JSONDoc: yyDollar[3].exprUnion(), Path: yyDollar[5].exprUnion(), ReturningType: yyDollar[6].convertTypeUnion(), EmptyOnResponse: yyDollar[7].jtOnResponseUnion()}
+ yyLOCAL = &JSONSearchExpr{JSONDoc: yyDollar[3].exprUnion(), OneOrAll: yyDollar[5].exprUnion(), SearchStr: yyDollar[7].exprUnion(), EscapeChar: yyDollar[9].exprsUnion()[0], PathList: yyDollar[9].exprsUnion()[1:]}
}
yyVAL.union = yyLOCAL
case 1301:
- yyDollar = yyS[yypt-8 : yypt+1]
+ yyDollar = yyS[yypt-7 : yypt+1]
var yyLOCAL Expr
//line sql.y:6537
{
- yyLOCAL = &JSONValueExpr{JSONDoc: yyDollar[3].exprUnion(), Path: yyDollar[5].exprUnion(), ReturningType: yyDollar[6].convertTypeUnion(), ErrorOnResponse: yyDollar[7].jtOnResponseUnion()}
+ yyLOCAL = &JSONValueExpr{JSONDoc: yyDollar[3].exprUnion(), Path: yyDollar[5].exprUnion(), ReturningType: yyDollar[6].convertTypeUnion()}
}
yyVAL.union = yyLOCAL
case 1302:
- yyDollar = yyS[yypt-9 : yypt+1]
+ yyDollar = yyS[yypt-8 : yypt+1]
var yyLOCAL Expr
//line sql.y:6541
{
- yyLOCAL = &JSONValueExpr{JSONDoc: yyDollar[3].exprUnion(), Path: yyDollar[5].exprUnion(), ReturningType: yyDollar[6].convertTypeUnion(), EmptyOnResponse: yyDollar[7].jtOnResponseUnion(), ErrorOnResponse: yyDollar[8].jtOnResponseUnion()}
+ yyLOCAL = &JSONValueExpr{JSONDoc: yyDollar[3].exprUnion(), Path: yyDollar[5].exprUnion(), ReturningType: yyDollar[6].convertTypeUnion(), EmptyOnResponse: yyDollar[7].jtOnResponseUnion()}
}
yyVAL.union = yyLOCAL
case 1303:
- yyDollar = yyS[yypt-4 : yypt+1]
+ yyDollar = yyS[yypt-8 : yypt+1]
var yyLOCAL Expr
//line sql.y:6545
{
- yyLOCAL = &JSONAttributesExpr{Type: DepthAttributeType, JSONDoc: yyDollar[3].exprUnion()}
+ yyLOCAL = &JSONValueExpr{JSONDoc: yyDollar[3].exprUnion(), Path: yyDollar[5].exprUnion(), ReturningType: yyDollar[6].convertTypeUnion(), ErrorOnResponse: yyDollar[7].jtOnResponseUnion()}
}
yyVAL.union = yyLOCAL
case 1304:
- yyDollar = yyS[yypt-4 : yypt+1]
+ yyDollar = yyS[yypt-9 : yypt+1]
var yyLOCAL Expr
//line sql.y:6549
{
- yyLOCAL = &JSONAttributesExpr{Type: ValidAttributeType, JSONDoc: yyDollar[3].exprUnion()}
+ yyLOCAL = &JSONValueExpr{JSONDoc: yyDollar[3].exprUnion(), Path: yyDollar[5].exprUnion(), ReturningType: yyDollar[6].convertTypeUnion(), EmptyOnResponse: yyDollar[7].jtOnResponseUnion(), ErrorOnResponse: yyDollar[8].jtOnResponseUnion()}
}
yyVAL.union = yyLOCAL
case 1305:
@@ -19908,7 +19869,7 @@ yydefault:
var yyLOCAL Expr
//line sql.y:6553
{
- yyLOCAL = &JSONAttributesExpr{Type: TypeAttributeType, JSONDoc: yyDollar[3].exprUnion()}
+ yyLOCAL = &JSONAttributesExpr{Type: DepthAttributeType, JSONDoc: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
case 1306:
@@ -19916,23 +19877,23 @@ yydefault:
var yyLOCAL Expr
//line sql.y:6557
{
- yyLOCAL = &JSONAttributesExpr{Type: LengthAttributeType, JSONDoc: yyDollar[3].exprUnion()}
+ yyLOCAL = &JSONAttributesExpr{Type: ValidAttributeType, JSONDoc: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
case 1307:
- yyDollar = yyS[yypt-6 : yypt+1]
+ yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
//line sql.y:6561
{
- yyLOCAL = &JSONAttributesExpr{Type: LengthAttributeType, JSONDoc: yyDollar[3].exprUnion(), Path: yyDollar[5].exprUnion()}
+ yyLOCAL = &JSONAttributesExpr{Type: TypeAttributeType, JSONDoc: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
case 1308:
- yyDollar = yyS[yypt-6 : yypt+1]
+ yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
//line sql.y:6565
{
- yyLOCAL = &JSONValueModifierExpr{Type: JSONArrayAppendType, JSONDoc: yyDollar[3].exprUnion(), Params: yyDollar[5].jsonObjectParamsUnion()}
+ yyLOCAL = &JSONAttributesExpr{Type: LengthAttributeType, JSONDoc: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
case 1309:
@@ -19940,7 +19901,7 @@ yydefault:
var yyLOCAL Expr
//line sql.y:6569
{
- yyLOCAL = &JSONValueModifierExpr{Type: JSONArrayInsertType, JSONDoc: yyDollar[3].exprUnion(), Params: yyDollar[5].jsonObjectParamsUnion()}
+ yyLOCAL = &JSONAttributesExpr{Type: LengthAttributeType, JSONDoc: yyDollar[3].exprUnion(), Path: yyDollar[5].exprUnion()}
}
yyVAL.union = yyLOCAL
case 1310:
@@ -19948,7 +19909,7 @@ yydefault:
var yyLOCAL Expr
//line sql.y:6573
{
- yyLOCAL = &JSONValueModifierExpr{Type: JSONInsertType, JSONDoc: yyDollar[3].exprUnion(), Params: yyDollar[5].jsonObjectParamsUnion()}
+ yyLOCAL = &JSONValueModifierExpr{Type: JSONArrayAppendType, JSONDoc: yyDollar[3].exprUnion(), Params: yyDollar[5].jsonObjectParamsUnion()}
}
yyVAL.union = yyLOCAL
case 1311:
@@ -19956,7 +19917,7 @@ yydefault:
var yyLOCAL Expr
//line sql.y:6577
{
- yyLOCAL = &JSONValueModifierExpr{Type: JSONReplaceType, JSONDoc: yyDollar[3].exprUnion(), Params: yyDollar[5].jsonObjectParamsUnion()}
+ yyLOCAL = &JSONValueModifierExpr{Type: JSONArrayInsertType, JSONDoc: yyDollar[3].exprUnion(), Params: yyDollar[5].jsonObjectParamsUnion()}
}
yyVAL.union = yyLOCAL
case 1312:
@@ -19964,7 +19925,7 @@ yydefault:
var yyLOCAL Expr
//line sql.y:6581
{
- yyLOCAL = &JSONValueModifierExpr{Type: JSONSetType, JSONDoc: yyDollar[3].exprUnion(), Params: yyDollar[5].jsonObjectParamsUnion()}
+ yyLOCAL = &JSONValueModifierExpr{Type: JSONInsertType, JSONDoc: yyDollar[3].exprUnion(), Params: yyDollar[5].jsonObjectParamsUnion()}
}
yyVAL.union = yyLOCAL
case 1313:
@@ -19972,7 +19933,7 @@ yydefault:
var yyLOCAL Expr
//line sql.y:6585
{
- yyLOCAL = &JSONValueMergeExpr{Type: JSONMergeType, JSONDoc: yyDollar[3].exprUnion(), JSONDocList: yyDollar[5].exprsUnion()}
+ yyLOCAL = &JSONValueModifierExpr{Type: JSONReplaceType, JSONDoc: yyDollar[3].exprUnion(), Params: yyDollar[5].jsonObjectParamsUnion()}
}
yyVAL.union = yyLOCAL
case 1314:
@@ -19980,7 +19941,7 @@ yydefault:
var yyLOCAL Expr
//line sql.y:6589
{
- yyLOCAL = &JSONValueMergeExpr{Type: JSONMergePatchType, JSONDoc: yyDollar[3].exprUnion(), JSONDocList: yyDollar[5].exprsUnion()}
+ yyLOCAL = &JSONValueModifierExpr{Type: JSONSetType, JSONDoc: yyDollar[3].exprUnion(), Params: yyDollar[5].jsonObjectParamsUnion()}
}
yyVAL.union = yyLOCAL
case 1315:
@@ -19988,7 +19949,7 @@ yydefault:
var yyLOCAL Expr
//line sql.y:6593
{
- yyLOCAL = &JSONValueMergeExpr{Type: JSONMergePreserveType, JSONDoc: yyDollar[3].exprUnion(), JSONDocList: yyDollar[5].exprsUnion()}
+ yyLOCAL = &JSONValueMergeExpr{Type: JSONMergeType, JSONDoc: yyDollar[3].exprUnion(), JSONDocList: yyDollar[5].exprsUnion()}
}
yyVAL.union = yyLOCAL
case 1316:
@@ -19996,23 +19957,23 @@ yydefault:
var yyLOCAL Expr
//line sql.y:6597
{
- yyLOCAL = &JSONRemoveExpr{JSONDoc: yyDollar[3].exprUnion(), PathList: yyDollar[5].exprsUnion()}
+ yyLOCAL = &JSONValueMergeExpr{Type: JSONMergePatchType, JSONDoc: yyDollar[3].exprUnion(), JSONDocList: yyDollar[5].exprsUnion()}
}
yyVAL.union = yyLOCAL
case 1317:
- yyDollar = yyS[yypt-4 : yypt+1]
+ yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
//line sql.y:6601
{
- yyLOCAL = &JSONUnquoteExpr{JSONValue: yyDollar[3].exprUnion()}
+ yyLOCAL = &JSONValueMergeExpr{Type: JSONMergePreserveType, JSONDoc: yyDollar[3].exprUnion(), JSONDocList: yyDollar[5].exprsUnion()}
}
yyVAL.union = yyLOCAL
case 1318:
- yyDollar = yyS[yypt-4 : yypt+1]
+ yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
//line sql.y:6605
{
- yyLOCAL = &MultiPolygonExpr{PolygonParams: yyDollar[3].exprsUnion()}
+ yyLOCAL = &JSONRemoveExpr{JSONDoc: yyDollar[3].exprUnion(), PathList: yyDollar[5].exprsUnion()}
}
yyVAL.union = yyLOCAL
case 1319:
@@ -20020,7 +19981,7 @@ yydefault:
var yyLOCAL Expr
//line sql.y:6609
{
- yyLOCAL = &MultiPointExpr{PointParams: yyDollar[3].exprsUnion()}
+ yyLOCAL = &JSONUnquoteExpr{JSONValue: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
case 1320:
@@ -20028,7 +19989,7 @@ yydefault:
var yyLOCAL Expr
//line sql.y:6613
{
- yyLOCAL = &MultiLinestringExpr{LinestringParams: yyDollar[3].exprsUnion()}
+ yyLOCAL = &MultiPolygonExpr{PolygonParams: yyDollar[3].exprsUnion()}
}
yyVAL.union = yyLOCAL
case 1321:
@@ -20036,7 +19997,7 @@ yydefault:
var yyLOCAL Expr
//line sql.y:6617
{
- yyLOCAL = &PolygonExpr{LinestringParams: yyDollar[3].exprsUnion()}
+ yyLOCAL = &MultiPointExpr{PointParams: yyDollar[3].exprsUnion()}
}
yyVAL.union = yyLOCAL
case 1322:
@@ -20044,426 +20005,426 @@ yydefault:
var yyLOCAL Expr
//line sql.y:6621
{
- yyLOCAL = &LineStringExpr{PointParams: yyDollar[3].exprsUnion()}
+ yyLOCAL = &MultiLinestringExpr{LinestringParams: yyDollar[3].exprsUnion()}
}
yyVAL.union = yyLOCAL
case 1323:
+ yyDollar = yyS[yypt-4 : yypt+1]
+ var yyLOCAL Expr
+//line sql.y:6625
+ {
+ yyLOCAL = &PolygonExpr{LinestringParams: yyDollar[3].exprsUnion()}
+ }
+ yyVAL.union = yyLOCAL
+ case 1324:
+ yyDollar = yyS[yypt-4 : yypt+1]
+ var yyLOCAL Expr
+//line sql.y:6629
+ {
+ yyLOCAL = &LineStringExpr{PointParams: yyDollar[3].exprsUnion()}
+ }
+ yyVAL.union = yyLOCAL
+ case 1325:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6625
+//line sql.y:6633
{
yyLOCAL = &PointExpr{XCordinate: yyDollar[3].exprUnion(), YCordinate: yyDollar[5].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1324:
+ case 1326:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6629
+//line sql.y:6637
{
yyLOCAL = &ArgumentLessWindowExpr{Type: yyDollar[1].argumentLessWindowExprTypeUnion(), OverClause: yyDollar[4].overClauseUnion()}
}
yyVAL.union = yyLOCAL
- case 1325:
+ case 1327:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6633
+//line sql.y:6641
{
yyLOCAL = &FirstOrLastValueExpr{Type: yyDollar[1].firstOrLastValueExprTypeUnion(), Expr: yyDollar[3].exprUnion(), NullTreatmentClause: yyDollar[5].nullTreatmentClauseUnion(), OverClause: yyDollar[6].overClauseUnion()}
}
yyVAL.union = yyLOCAL
- case 1326:
+ case 1328:
yyDollar = yyS[yypt-5 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6637
+//line sql.y:6645
{
yyLOCAL = &NtileExpr{N: yyDollar[3].exprUnion(), OverClause: yyDollar[5].overClauseUnion()}
}
yyVAL.union = yyLOCAL
- case 1327:
+ case 1329:
yyDollar = yyS[yypt-9 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6641
+//line sql.y:6649
{
yyLOCAL = &NTHValueExpr{Expr: yyDollar[3].exprUnion(), N: yyDollar[5].exprUnion(), FromFirstLastClause: yyDollar[7].fromFirstLastClauseUnion(), NullTreatmentClause: yyDollar[8].nullTreatmentClauseUnion(), OverClause: yyDollar[9].overClauseUnion()}
}
yyVAL.union = yyLOCAL
- case 1328:
+ case 1330:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6645
+//line sql.y:6653
{
yyLOCAL = &LagLeadExpr{Type: yyDollar[1].lagLeadExprTypeUnion(), Expr: yyDollar[3].exprUnion(), NullTreatmentClause: yyDollar[5].nullTreatmentClauseUnion(), OverClause: yyDollar[6].overClauseUnion()}
}
yyVAL.union = yyLOCAL
- case 1329:
+ case 1331:
yyDollar = yyS[yypt-9 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6649
+//line sql.y:6657
{
yyLOCAL = &LagLeadExpr{Type: yyDollar[1].lagLeadExprTypeUnion(), Expr: yyDollar[3].exprUnion(), N: yyDollar[5].exprUnion(), Default: yyDollar[6].exprUnion(), NullTreatmentClause: yyDollar[8].nullTreatmentClauseUnion(), OverClause: yyDollar[9].overClauseUnion()}
}
yyVAL.union = yyLOCAL
- case 1330:
+ case 1332:
yyDollar = yyS[yypt-8 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6653
+//line sql.y:6661
{
yyLOCAL = &IntervalDateExpr{Syntax: IntervalDateExprAdddate, Date: yyDollar[3].exprUnion(), Interval: yyDollar[6].exprUnion(), Unit: yyDollar[7].intervalTypeUnion()}
}
yyVAL.union = yyLOCAL
- case 1331:
+ case 1333:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6657
+//line sql.y:6665
{
yyLOCAL = &IntervalDateExpr{Syntax: IntervalDateExprAdddate, Date: yyDollar[3].exprUnion(), Interval: yyDollar[5].exprUnion(), Unit: IntervalNone}
}
yyVAL.union = yyLOCAL
- case 1332:
+ case 1334:
yyDollar = yyS[yypt-8 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6661
+//line sql.y:6669
{
yyLOCAL = &IntervalDateExpr{Syntax: IntervalDateExprDateAdd, Date: yyDollar[3].exprUnion(), Interval: yyDollar[6].exprUnion(), Unit: yyDollar[7].intervalTypeUnion()}
}
yyVAL.union = yyLOCAL
- case 1333:
+ case 1335:
yyDollar = yyS[yypt-8 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6665
+//line sql.y:6673
{
yyLOCAL = &IntervalDateExpr{Syntax: IntervalDateExprDateSub, Date: yyDollar[3].exprUnion(), Interval: yyDollar[6].exprUnion(), Unit: yyDollar[7].intervalTypeUnion()}
}
yyVAL.union = yyLOCAL
- case 1334:
+ case 1336:
yyDollar = yyS[yypt-8 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6669
+//line sql.y:6677
{
yyLOCAL = &IntervalDateExpr{Syntax: IntervalDateExprSubdate, Date: yyDollar[3].exprUnion(), Interval: yyDollar[6].exprUnion(), Unit: yyDollar[7].intervalTypeUnion()}
}
yyVAL.union = yyLOCAL
- case 1335:
+ case 1337:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6673
+//line sql.y:6681
{
yyLOCAL = &IntervalDateExpr{Syntax: IntervalDateExprSubdate, Date: yyDollar[3].exprUnion(), Interval: yyDollar[5].exprUnion(), Unit: IntervalNone}
}
yyVAL.union = yyLOCAL
- case 1340:
+ case 1342:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6683
+//line sql.y:6691
{
yyLOCAL = yyDollar[1].exprUnion()
}
yyVAL.union = yyLOCAL
- case 1341:
+ case 1343:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6687
+//line sql.y:6695
{
yyLOCAL = NewIntLiteral(yyDollar[1].str)
}
yyVAL.union = yyLOCAL
- case 1342:
+ case 1344:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6691
+//line sql.y:6699
{
yyLOCAL = yyDollar[1].variableUnion()
}
yyVAL.union = yyLOCAL
- case 1343:
+ case 1345:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6695
+//line sql.y:6703
{
yyLOCAL = parseBindVariable(yylex, yyDollar[1].str[1:])
}
yyVAL.union = yyLOCAL
- case 1344:
+ case 1346:
yyDollar = yyS[yypt-0 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6700
+//line sql.y:6708
{
yyLOCAL = nil
}
yyVAL.union = yyLOCAL
- case 1345:
+ case 1347:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6704
+//line sql.y:6712
{
yyLOCAL = yyDollar[2].exprUnion()
}
yyVAL.union = yyLOCAL
- case 1346:
+ case 1348:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6710
+//line sql.y:6718
{
yyLOCAL = &RegexpInstrExpr{Expr: yyDollar[3].exprUnion(), Pattern: yyDollar[5].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1347:
+ case 1349:
yyDollar = yyS[yypt-8 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6714
+//line sql.y:6722
{
yyLOCAL = &RegexpInstrExpr{Expr: yyDollar[3].exprUnion(), Pattern: yyDollar[5].exprUnion(), Position: yyDollar[7].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1348:
+ case 1350:
yyDollar = yyS[yypt-10 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6718
+//line sql.y:6726
{
yyLOCAL = &RegexpInstrExpr{Expr: yyDollar[3].exprUnion(), Pattern: yyDollar[5].exprUnion(), Position: yyDollar[7].exprUnion(), Occurrence: yyDollar[9].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1349:
+ case 1351:
yyDollar = yyS[yypt-12 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6722
+//line sql.y:6730
{
yyLOCAL = &RegexpInstrExpr{Expr: yyDollar[3].exprUnion(), Pattern: yyDollar[5].exprUnion(), Position: yyDollar[7].exprUnion(), Occurrence: yyDollar[9].exprUnion(), ReturnOption: yyDollar[11].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1350:
+ case 1352:
yyDollar = yyS[yypt-14 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6726
+//line sql.y:6734
{
// Match type is kept expression as TRIM( ' m ') is accepted
yyLOCAL = &RegexpInstrExpr{Expr: yyDollar[3].exprUnion(), Pattern: yyDollar[5].exprUnion(), Position: yyDollar[7].exprUnion(), Occurrence: yyDollar[9].exprUnion(), ReturnOption: yyDollar[11].exprUnion(), MatchType: yyDollar[13].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1351:
+ case 1353:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6731
+//line sql.y:6739
{
yyLOCAL = &RegexpLikeExpr{Expr: yyDollar[3].exprUnion(), Pattern: yyDollar[5].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1352:
+ case 1354:
yyDollar = yyS[yypt-8 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6735
+//line sql.y:6743
{
yyLOCAL = &RegexpLikeExpr{Expr: yyDollar[3].exprUnion(), Pattern: yyDollar[5].exprUnion(), MatchType: yyDollar[7].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1353:
+ case 1355:
yyDollar = yyS[yypt-8 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6739
+//line sql.y:6747
{
yyLOCAL = &RegexpReplaceExpr{Expr: yyDollar[3].exprUnion(), Pattern: yyDollar[5].exprUnion(), Repl: yyDollar[7].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1354:
+ case 1356:
yyDollar = yyS[yypt-10 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6743
+//line sql.y:6751
{
yyLOCAL = &RegexpReplaceExpr{Expr: yyDollar[3].exprUnion(), Pattern: yyDollar[5].exprUnion(), Repl: yyDollar[7].exprUnion(), Position: yyDollar[9].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1355:
+ case 1357:
yyDollar = yyS[yypt-12 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6747
+//line sql.y:6755
{
yyLOCAL = &RegexpReplaceExpr{Expr: yyDollar[3].exprUnion(), Pattern: yyDollar[5].exprUnion(), Repl: yyDollar[7].exprUnion(), Position: yyDollar[9].exprUnion(), Occurrence: yyDollar[11].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1356:
+ case 1358:
yyDollar = yyS[yypt-14 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6751
+//line sql.y:6759
{
// Match type is kept expression as TRIM( ' m ') is accepted
yyLOCAL = &RegexpReplaceExpr{Expr: yyDollar[3].exprUnion(), Pattern: yyDollar[5].exprUnion(), Repl: yyDollar[7].exprUnion(), Position: yyDollar[9].exprUnion(), Occurrence: yyDollar[11].exprUnion(), MatchType: yyDollar[13].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1357:
+ case 1359:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6756
+//line sql.y:6764
{
yyLOCAL = &RegexpSubstrExpr{Expr: yyDollar[3].exprUnion(), Pattern: yyDollar[5].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1358:
+ case 1360:
yyDollar = yyS[yypt-8 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6760
+//line sql.y:6768
{
yyLOCAL = &RegexpSubstrExpr{Expr: yyDollar[3].exprUnion(), Pattern: yyDollar[5].exprUnion(), Position: yyDollar[7].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1359:
+ case 1361:
yyDollar = yyS[yypt-10 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6764
+//line sql.y:6772
{
yyLOCAL = &RegexpSubstrExpr{Expr: yyDollar[3].exprUnion(), Pattern: yyDollar[5].exprUnion(), Position: yyDollar[7].exprUnion(), Occurrence: yyDollar[9].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1360:
+ case 1362:
yyDollar = yyS[yypt-12 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6768
+//line sql.y:6776
{
// Match type is kept expression as TRIM( ' m ') is accepted
yyLOCAL = &RegexpSubstrExpr{Expr: yyDollar[3].exprUnion(), Pattern: yyDollar[5].exprUnion(), Position: yyDollar[7].exprUnion(), Occurrence: yyDollar[9].exprUnion(), MatchType: yyDollar[11].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1361:
+ case 1363:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6775
+//line sql.y:6783
{
yyLOCAL = &ExtractValueExpr{Fragment: yyDollar[3].exprUnion(), XPathExpr: yyDollar[5].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1362:
+ case 1364:
yyDollar = yyS[yypt-8 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6779
+//line sql.y:6787
{
yyLOCAL = &UpdateXMLExpr{Target: yyDollar[3].exprUnion(), XPathExpr: yyDollar[5].exprUnion(), NewXML: yyDollar[7].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1363:
+ case 1365:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6785
+//line sql.y:6793
{
yyLOCAL = &PerformanceSchemaFuncExpr{Type: FormatBytesType, Argument: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1364:
+ case 1366:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6789
+//line sql.y:6797
{
yyLOCAL = &PerformanceSchemaFuncExpr{Type: FormatPicoTimeType, Argument: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1365:
+ case 1367:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6793
+//line sql.y:6801
{
yyLOCAL = &PerformanceSchemaFuncExpr{Type: PsCurrentThreadIDType}
}
yyVAL.union = yyLOCAL
- case 1366:
+ case 1368:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6797
+//line sql.y:6805
{
yyLOCAL = &PerformanceSchemaFuncExpr{Type: PsThreadIDType, Argument: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1367:
+ case 1369:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6803
+//line sql.y:6811
{
yyLOCAL = >IDFuncExpr{Type: GTIDSubsetType, Set1: yyDollar[3].exprUnion(), Set2: yyDollar[5].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1368:
+ case 1370:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6807
+//line sql.y:6815
{
yyLOCAL = >IDFuncExpr{Type: GTIDSubtractType, Set1: yyDollar[3].exprUnion(), Set2: yyDollar[5].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1369:
+ case 1371:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6811
+//line sql.y:6819
{
yyLOCAL = >IDFuncExpr{Type: WaitForExecutedGTIDSetType, Set1: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1370:
+ case 1372:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6815
+//line sql.y:6823
{
yyLOCAL = >IDFuncExpr{Type: WaitForExecutedGTIDSetType, Set1: yyDollar[3].exprUnion(), Timeout: yyDollar[5].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1371:
+ case 1373:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6819
+//line sql.y:6827
{
yyLOCAL = >IDFuncExpr{Type: WaitUntilSQLThreadAfterGTIDSType, Set1: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1372:
+ case 1374:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6823
+//line sql.y:6831
{
yyLOCAL = >IDFuncExpr{Type: WaitUntilSQLThreadAfterGTIDSType, Set1: yyDollar[3].exprUnion(), Timeout: yyDollar[5].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1373:
+ case 1375:
yyDollar = yyS[yypt-8 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6827
+//line sql.y:6835
{
yyLOCAL = >IDFuncExpr{Type: WaitUntilSQLThreadAfterGTIDSType, Set1: yyDollar[3].exprUnion(), Timeout: yyDollar[5].exprUnion(), Channel: yyDollar[7].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1374:
+ case 1376:
yyDollar = yyS[yypt-0 : yypt+1]
var yyLOCAL *ConvertType
-//line sql.y:6832
+//line sql.y:6840
{
yyLOCAL = nil
}
yyVAL.union = yyLOCAL
- case 1375:
+ case 1377:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL *ConvertType
-//line sql.y:6836
+//line sql.y:6844
{
yyLOCAL = yyDollar[2].convertTypeUnion()
}
yyVAL.union = yyLOCAL
- case 1376:
- yyDollar = yyS[yypt-1 : yypt+1]
- var yyLOCAL IntervalType
-//line sql.y:6842
- {
- yyLOCAL = IntervalDayHour
- }
- yyVAL.union = yyLOCAL
- case 1377:
- yyDollar = yyS[yypt-1 : yypt+1]
- var yyLOCAL IntervalType
-//line sql.y:6846
- {
- yyLOCAL = IntervalDayMicrosecond
- }
- yyVAL.union = yyLOCAL
case 1378:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL IntervalType
//line sql.y:6850
{
- yyLOCAL = IntervalDayMinute
+ yyLOCAL = IntervalDayHour
}
yyVAL.union = yyLOCAL
case 1379:
@@ -20471,7 +20432,7 @@ yydefault:
var yyLOCAL IntervalType
//line sql.y:6854
{
- yyLOCAL = IntervalDaySecond
+ yyLOCAL = IntervalDayMicrosecond
}
yyVAL.union = yyLOCAL
case 1380:
@@ -20479,7 +20440,7 @@ yydefault:
var yyLOCAL IntervalType
//line sql.y:6858
{
- yyLOCAL = IntervalHourMicrosecond
+ yyLOCAL = IntervalDayMinute
}
yyVAL.union = yyLOCAL
case 1381:
@@ -20487,7 +20448,7 @@ yydefault:
var yyLOCAL IntervalType
//line sql.y:6862
{
- yyLOCAL = IntervalHourMinute
+ yyLOCAL = IntervalDaySecond
}
yyVAL.union = yyLOCAL
case 1382:
@@ -20495,7 +20456,7 @@ yydefault:
var yyLOCAL IntervalType
//line sql.y:6866
{
- yyLOCAL = IntervalHourSecond
+ yyLOCAL = IntervalHourMicrosecond
}
yyVAL.union = yyLOCAL
case 1383:
@@ -20503,7 +20464,7 @@ yydefault:
var yyLOCAL IntervalType
//line sql.y:6870
{
- yyLOCAL = IntervalMinuteMicrosecond
+ yyLOCAL = IntervalHourMinute
}
yyVAL.union = yyLOCAL
case 1384:
@@ -20511,7 +20472,7 @@ yydefault:
var yyLOCAL IntervalType
//line sql.y:6874
{
- yyLOCAL = IntervalMinuteSecond
+ yyLOCAL = IntervalHourSecond
}
yyVAL.union = yyLOCAL
case 1385:
@@ -20519,7 +20480,7 @@ yydefault:
var yyLOCAL IntervalType
//line sql.y:6878
{
- yyLOCAL = IntervalSecondMicrosecond
+ yyLOCAL = IntervalMinuteMicrosecond
}
yyVAL.union = yyLOCAL
case 1386:
@@ -20527,7 +20488,7 @@ yydefault:
var yyLOCAL IntervalType
//line sql.y:6882
{
- yyLOCAL = IntervalYearMonth
+ yyLOCAL = IntervalMinuteSecond
}
yyVAL.union = yyLOCAL
case 1387:
@@ -20535,7 +20496,7 @@ yydefault:
var yyLOCAL IntervalType
//line sql.y:6886
{
- yyLOCAL = IntervalDay
+ yyLOCAL = IntervalSecondMicrosecond
}
yyVAL.union = yyLOCAL
case 1388:
@@ -20543,7 +20504,7 @@ yydefault:
var yyLOCAL IntervalType
//line sql.y:6890
{
- yyLOCAL = IntervalWeek
+ yyLOCAL = IntervalYearMonth
}
yyVAL.union = yyLOCAL
case 1389:
@@ -20551,7 +20512,7 @@ yydefault:
var yyLOCAL IntervalType
//line sql.y:6894
{
- yyLOCAL = IntervalHour
+ yyLOCAL = IntervalDay
}
yyVAL.union = yyLOCAL
case 1390:
@@ -20559,7 +20520,7 @@ yydefault:
var yyLOCAL IntervalType
//line sql.y:6898
{
- yyLOCAL = IntervalMinute
+ yyLOCAL = IntervalWeek
}
yyVAL.union = yyLOCAL
case 1391:
@@ -20567,7 +20528,7 @@ yydefault:
var yyLOCAL IntervalType
//line sql.y:6902
{
- yyLOCAL = IntervalMonth
+ yyLOCAL = IntervalHour
}
yyVAL.union = yyLOCAL
case 1392:
@@ -20575,7 +20536,7 @@ yydefault:
var yyLOCAL IntervalType
//line sql.y:6906
{
- yyLOCAL = IntervalQuarter
+ yyLOCAL = IntervalMinute
}
yyVAL.union = yyLOCAL
case 1393:
@@ -20583,7 +20544,7 @@ yydefault:
var yyLOCAL IntervalType
//line sql.y:6910
{
- yyLOCAL = IntervalSecond
+ yyLOCAL = IntervalMonth
}
yyVAL.union = yyLOCAL
case 1394:
@@ -20591,7 +20552,7 @@ yydefault:
var yyLOCAL IntervalType
//line sql.y:6914
{
- yyLOCAL = IntervalMicrosecond
+ yyLOCAL = IntervalQuarter
}
yyVAL.union = yyLOCAL
case 1395:
@@ -20599,23 +20560,23 @@ yydefault:
var yyLOCAL IntervalType
//line sql.y:6918
{
- yyLOCAL = IntervalYear
+ yyLOCAL = IntervalSecond
}
yyVAL.union = yyLOCAL
case 1396:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL IntervalType
-//line sql.y:6924
+//line sql.y:6922
{
- yyLOCAL = IntervalDay
+ yyLOCAL = IntervalMicrosecond
}
yyVAL.union = yyLOCAL
case 1397:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL IntervalType
-//line sql.y:6928
+//line sql.y:6926
{
- yyLOCAL = IntervalWeek
+ yyLOCAL = IntervalYear
}
yyVAL.union = yyLOCAL
case 1398:
@@ -20623,7 +20584,7 @@ yydefault:
var yyLOCAL IntervalType
//line sql.y:6932
{
- yyLOCAL = IntervalHour
+ yyLOCAL = IntervalDay
}
yyVAL.union = yyLOCAL
case 1399:
@@ -20631,7 +20592,7 @@ yydefault:
var yyLOCAL IntervalType
//line sql.y:6936
{
- yyLOCAL = IntervalMinute
+ yyLOCAL = IntervalWeek
}
yyVAL.union = yyLOCAL
case 1400:
@@ -20639,7 +20600,7 @@ yydefault:
var yyLOCAL IntervalType
//line sql.y:6940
{
- yyLOCAL = IntervalMonth
+ yyLOCAL = IntervalHour
}
yyVAL.union = yyLOCAL
case 1401:
@@ -20647,7 +20608,7 @@ yydefault:
var yyLOCAL IntervalType
//line sql.y:6944
{
- yyLOCAL = IntervalQuarter
+ yyLOCAL = IntervalMinute
}
yyVAL.union = yyLOCAL
case 1402:
@@ -20655,7 +20616,7 @@ yydefault:
var yyLOCAL IntervalType
//line sql.y:6948
{
- yyLOCAL = IntervalSecond
+ yyLOCAL = IntervalMonth
}
yyVAL.union = yyLOCAL
case 1403:
@@ -20663,7 +20624,7 @@ yydefault:
var yyLOCAL IntervalType
//line sql.y:6952
{
- yyLOCAL = IntervalMicrosecond
+ yyLOCAL = IntervalQuarter
}
yyVAL.union = yyLOCAL
case 1404:
@@ -20671,7 +20632,7 @@ yydefault:
var yyLOCAL IntervalType
//line sql.y:6956
{
- yyLOCAL = IntervalYear
+ yyLOCAL = IntervalSecond
}
yyVAL.union = yyLOCAL
case 1405:
@@ -20679,7 +20640,7 @@ yydefault:
var yyLOCAL IntervalType
//line sql.y:6960
{
- yyLOCAL = IntervalDay
+ yyLOCAL = IntervalMicrosecond
}
yyVAL.union = yyLOCAL
case 1406:
@@ -20687,7 +20648,7 @@ yydefault:
var yyLOCAL IntervalType
//line sql.y:6964
{
- yyLOCAL = IntervalWeek
+ yyLOCAL = IntervalYear
}
yyVAL.union = yyLOCAL
case 1407:
@@ -20695,7 +20656,7 @@ yydefault:
var yyLOCAL IntervalType
//line sql.y:6968
{
- yyLOCAL = IntervalHour
+ yyLOCAL = IntervalDay
}
yyVAL.union = yyLOCAL
case 1408:
@@ -20703,7 +20664,7 @@ yydefault:
var yyLOCAL IntervalType
//line sql.y:6972
{
- yyLOCAL = IntervalMinute
+ yyLOCAL = IntervalWeek
}
yyVAL.union = yyLOCAL
case 1409:
@@ -20711,7 +20672,7 @@ yydefault:
var yyLOCAL IntervalType
//line sql.y:6976
{
- yyLOCAL = IntervalMonth
+ yyLOCAL = IntervalHour
}
yyVAL.union = yyLOCAL
case 1410:
@@ -20719,7 +20680,7 @@ yydefault:
var yyLOCAL IntervalType
//line sql.y:6980
{
- yyLOCAL = IntervalQuarter
+ yyLOCAL = IntervalMinute
}
yyVAL.union = yyLOCAL
case 1411:
@@ -20727,7 +20688,7 @@ yydefault:
var yyLOCAL IntervalType
//line sql.y:6984
{
- yyLOCAL = IntervalSecond
+ yyLOCAL = IntervalMonth
}
yyVAL.union = yyLOCAL
case 1412:
@@ -20735,420 +20696,436 @@ yydefault:
var yyLOCAL IntervalType
//line sql.y:6988
{
- yyLOCAL = IntervalMicrosecond
+ yyLOCAL = IntervalQuarter
}
yyVAL.union = yyLOCAL
case 1413:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL IntervalType
//line sql.y:6992
+ {
+ yyLOCAL = IntervalSecond
+ }
+ yyVAL.union = yyLOCAL
+ case 1414:
+ yyDollar = yyS[yypt-1 : yypt+1]
+ var yyLOCAL IntervalType
+//line sql.y:6996
+ {
+ yyLOCAL = IntervalMicrosecond
+ }
+ yyVAL.union = yyLOCAL
+ case 1415:
+ yyDollar = yyS[yypt-1 : yypt+1]
+ var yyLOCAL IntervalType
+//line sql.y:7000
{
yyLOCAL = IntervalYear
}
yyVAL.union = yyLOCAL
- case 1416:
+ case 1418:
yyDollar = yyS[yypt-0 : yypt+1]
var yyLOCAL int
-//line sql.y:7002
+//line sql.y:7010
{
yyLOCAL = 0
}
yyVAL.union = yyLOCAL
- case 1417:
+ case 1419:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL int
-//line sql.y:7006
+//line sql.y:7014
{
yyLOCAL = 0
}
yyVAL.union = yyLOCAL
- case 1418:
+ case 1420:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL int
-//line sql.y:7010
+//line sql.y:7018
{
yyLOCAL = convertStringToInt(yyDollar[2].str)
}
yyVAL.union = yyLOCAL
- case 1419:
+ case 1421:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:7020
+//line sql.y:7028
{
yyLOCAL = &FuncExpr{Name: NewIdentifierCI("if"), Exprs: yyDollar[3].exprsUnion()}
}
yyVAL.union = yyLOCAL
- case 1420:
+ case 1422:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:7024
+//line sql.y:7032
{
yyLOCAL = &FuncExpr{Name: NewIdentifierCI("database"), Exprs: yyDollar[3].exprsUnion()}
}
yyVAL.union = yyLOCAL
- case 1421:
+ case 1423:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:7028
+//line sql.y:7036
{
yyLOCAL = &FuncExpr{Name: NewIdentifierCI("schema"), Exprs: yyDollar[3].exprsUnion()}
}
yyVAL.union = yyLOCAL
- case 1422:
+ case 1424:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:7032
+//line sql.y:7040
{
yyLOCAL = &FuncExpr{Name: NewIdentifierCI("mod"), Exprs: yyDollar[3].exprsUnion()}
}
yyVAL.union = yyLOCAL
- case 1423:
+ case 1425:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:7036
+//line sql.y:7044
{
yyLOCAL = &FuncExpr{Name: NewIdentifierCI("replace"), Exprs: yyDollar[3].exprsUnion()}
}
yyVAL.union = yyLOCAL
- case 1424:
+ case 1426:
yyDollar = yyS[yypt-0 : yypt+1]
var yyLOCAL MatchExprOption
-//line sql.y:7042
+//line sql.y:7050
{
yyLOCAL = NoOption
}
yyVAL.union = yyLOCAL
- case 1425:
+ case 1427:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL MatchExprOption
-//line sql.y:7046
+//line sql.y:7054
{
yyLOCAL = BooleanModeOpt
}
yyVAL.union = yyLOCAL
- case 1426:
+ case 1428:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL MatchExprOption
-//line sql.y:7050
+//line sql.y:7058
{
yyLOCAL = NaturalLanguageModeOpt
}
yyVAL.union = yyLOCAL
- case 1427:
+ case 1429:
yyDollar = yyS[yypt-7 : yypt+1]
var yyLOCAL MatchExprOption
-//line sql.y:7054
+//line sql.y:7062
{
yyLOCAL = NaturalLanguageModeWithQueryExpansionOpt
}
yyVAL.union = yyLOCAL
- case 1428:
+ case 1430:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL MatchExprOption
-//line sql.y:7058
+//line sql.y:7066
{
yyLOCAL = QueryExpansionOpt
}
yyVAL.union = yyLOCAL
- case 1429:
+ case 1431:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:7064
+//line sql.y:7072
{
yyVAL.str = string(yyDollar[1].identifierCI.String())
}
- case 1430:
+ case 1432:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:7068
+//line sql.y:7076
{
yyVAL.str = string(yyDollar[1].str)
}
- case 1431:
+ case 1433:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:7072
+//line sql.y:7080
{
yyVAL.str = string(yyDollar[1].str)
}
- case 1432:
+ case 1434:
yyDollar = yyS[yypt-0 : yypt+1]
var yyLOCAL *ConvertType
-//line sql.y:7078
+//line sql.y:7086
{
yyLOCAL = nil
}
yyVAL.union = yyLOCAL
- case 1433:
+ case 1435:
yyDollar = yyS[yypt-5 : yypt+1]
var yyLOCAL *ConvertType
-//line sql.y:7082
+//line sql.y:7090
{
yyLOCAL = &ConvertType{Type: string(yyDollar[2].str), Length: ptr.Of(convertStringToInt(yyDollar[4].str))}
}
yyVAL.union = yyLOCAL
- case 1434:
+ case 1436:
yyDollar = yyS[yypt-5 : yypt+1]
var yyLOCAL *ConvertType
-//line sql.y:7086
+//line sql.y:7094
{
yyLOCAL = &ConvertType{Type: string(yyDollar[2].str), Length: ptr.Of(convertStringToInt(yyDollar[4].str))}
}
yyVAL.union = yyLOCAL
- case 1435:
+ case 1437:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL *ConvertType
-//line sql.y:7092
+//line sql.y:7100
{
yyLOCAL = &ConvertType{Type: string(yyDollar[1].str), Length: yyDollar[2].intPtrUnion()}
}
yyVAL.union = yyLOCAL
- case 1436:
+ case 1438:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL *ConvertType
-//line sql.y:7096
+//line sql.y:7104
{
yyLOCAL = &ConvertType{Type: string(yyDollar[1].str), Length: yyDollar[2].intPtrUnion(), Charset: yyDollar[3].columnCharset}
}
yyVAL.union = yyLOCAL
- case 1437:
+ case 1439:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL *ConvertType
-//line sql.y:7100
+//line sql.y:7108
{
yyLOCAL = &ConvertType{Type: string(yyDollar[1].str)}
}
yyVAL.union = yyLOCAL
- case 1438:
+ case 1440:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL *ConvertType
-//line sql.y:7104
+//line sql.y:7112
{
yyLOCAL = &ConvertType{Type: string(yyDollar[1].str), Length: yyDollar[2].intPtrUnion()}
}
yyVAL.union = yyLOCAL
- case 1439:
+ case 1441:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL *ConvertType
-//line sql.y:7108
+//line sql.y:7116
{
yyLOCAL = &ConvertType{Type: string(yyDollar[1].str)}
yyLOCAL.Length = yyDollar[2].LengthScaleOption.Length
yyLOCAL.Scale = yyDollar[2].LengthScaleOption.Scale
}
yyVAL.union = yyLOCAL
- case 1440:
+ case 1442:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL *ConvertType
-//line sql.y:7114
+//line sql.y:7122
{
yyLOCAL = &ConvertType{Type: string(yyDollar[1].str)}
}
yyVAL.union = yyLOCAL
- case 1441:
+ case 1443:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL *ConvertType
-//line sql.y:7118
+//line sql.y:7126
{
yyLOCAL = &ConvertType{Type: string(yyDollar[1].str), Length: yyDollar[2].intPtrUnion()}
}
yyVAL.union = yyLOCAL
- case 1442:
+ case 1444:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL *ConvertType
-//line sql.y:7122
+//line sql.y:7130
{
yyLOCAL = &ConvertType{Type: string(yyDollar[1].str)}
}
yyVAL.union = yyLOCAL
- case 1443:
+ case 1445:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL *ConvertType
-//line sql.y:7126
+//line sql.y:7134
{
yyLOCAL = &ConvertType{Type: string(yyDollar[1].str)}
}
yyVAL.union = yyLOCAL
- case 1444:
+ case 1446:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL *ConvertType
-//line sql.y:7130
+//line sql.y:7138
{
yyLOCAL = &ConvertType{Type: string(yyDollar[1].str), Length: yyDollar[2].intPtrUnion()}
}
yyVAL.union = yyLOCAL
- case 1445:
+ case 1447:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL *ConvertType
-//line sql.y:7134
+//line sql.y:7142
{
yyLOCAL = &ConvertType{Type: string(yyDollar[1].str)}
}
yyVAL.union = yyLOCAL
- case 1446:
+ case 1448:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL *ConvertType
-//line sql.y:7138
+//line sql.y:7146
{
yyLOCAL = &ConvertType{Type: string(yyDollar[1].str)}
}
yyVAL.union = yyLOCAL
- case 1447:
+ case 1449:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL *ConvertType
-//line sql.y:7142
+//line sql.y:7150
{
yyLOCAL = &ConvertType{Type: string(yyDollar[1].str), Length: yyDollar[2].intPtrUnion()}
}
yyVAL.union = yyLOCAL
- case 1448:
+ case 1450:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL *ConvertType
-//line sql.y:7146
+//line sql.y:7154
{
yyLOCAL = &ConvertType{Type: string(yyDollar[1].str)}
}
yyVAL.union = yyLOCAL
- case 1449:
+ case 1451:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL *ConvertType
-//line sql.y:7150
+//line sql.y:7158
{
yyLOCAL = &ConvertType{Type: string(yyDollar[1].str)}
}
yyVAL.union = yyLOCAL
- case 1450:
+ case 1452:
yyDollar = yyS[yypt-0 : yypt+1]
var yyLOCAL bool
-//line sql.y:7156
+//line sql.y:7164
{
yyLOCAL = false
}
yyVAL.union = yyLOCAL
- case 1451:
+ case 1453:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL bool
-//line sql.y:7160
+//line sql.y:7168
{
yyLOCAL = true
}
yyVAL.union = yyLOCAL
- case 1452:
+ case 1454:
yyDollar = yyS[yypt-0 : yypt+1]
var yyLOCAL Expr
-//line sql.y:7165
+//line sql.y:7173
{
yyLOCAL = nil
}
yyVAL.union = yyLOCAL
- case 1453:
+ case 1455:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL Expr
-//line sql.y:7169
+//line sql.y:7177
{
yyLOCAL = yyDollar[1].exprUnion()
}
yyVAL.union = yyLOCAL
- case 1454:
+ case 1456:
yyDollar = yyS[yypt-0 : yypt+1]
-//line sql.y:7174
+//line sql.y:7182
{
yyVAL.str = string("")
}
- case 1455:
+ case 1457:
yyDollar = yyS[yypt-2 : yypt+1]
-//line sql.y:7178
+//line sql.y:7186
{
yyVAL.str = encodeSQLString(yyDollar[2].str)
}
- case 1456:
+ case 1458:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL []*When
-//line sql.y:7184
+//line sql.y:7192
{
yyLOCAL = []*When{yyDollar[1].whenUnion()}
}
yyVAL.union = yyLOCAL
- case 1457:
+ case 1459:
yyDollar = yyS[yypt-2 : yypt+1]
-//line sql.y:7188
+//line sql.y:7196
{
yySLICE := (*[]*When)(yyIaddr(yyVAL.union))
*yySLICE = append(*yySLICE, yyDollar[2].whenUnion())
}
- case 1458:
+ case 1460:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL *When
-//line sql.y:7194
+//line sql.y:7202
{
yyLOCAL = &When{Cond: yyDollar[2].exprUnion(), Val: yyDollar[4].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1459:
+ case 1461:
yyDollar = yyS[yypt-0 : yypt+1]
var yyLOCAL Expr
-//line sql.y:7199
+//line sql.y:7207
{
yyLOCAL = nil
}
yyVAL.union = yyLOCAL
- case 1460:
+ case 1462:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL Expr
-//line sql.y:7203
+//line sql.y:7211
{
yyLOCAL = yyDollar[2].exprUnion()
}
yyVAL.union = yyLOCAL
- case 1461:
+ case 1463:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL *ColName
-//line sql.y:7209
+//line sql.y:7217
{
yyLOCAL = &ColName{Name: yyDollar[1].identifierCI}
}
yyVAL.union = yyLOCAL
- case 1462:
+ case 1464:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL *ColName
-//line sql.y:7213
+//line sql.y:7221
{
yyLOCAL = &ColName{Name: NewIdentifierCI(string(yyDollar[1].str))}
}
yyVAL.union = yyLOCAL
- case 1463:
+ case 1465:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL *ColName
-//line sql.y:7217
+//line sql.y:7225
{
yyLOCAL = &ColName{Qualifier: TableName{Name: yyDollar[1].identifierCS}, Name: yyDollar[3].identifierCI}
}
yyVAL.union = yyLOCAL
- case 1464:
+ case 1466:
yyDollar = yyS[yypt-5 : yypt+1]
var yyLOCAL *ColName
-//line sql.y:7221
+//line sql.y:7229
{
yyLOCAL = &ColName{Qualifier: TableName{Qualifier: yyDollar[1].identifierCS, Name: yyDollar[3].identifierCS}, Name: yyDollar[5].identifierCI}
}
yyVAL.union = yyLOCAL
- case 1465:
+ case 1467:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL Expr
-//line sql.y:7227
+//line sql.y:7235
{
yyLOCAL = yyDollar[1].colNameUnion()
}
yyVAL.union = yyLOCAL
- case 1466:
+ case 1468:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL Expr
-//line sql.y:7231
+//line sql.y:7239
{
yyLOCAL = &Offset{V: convertStringToInt(yyDollar[1].str)}
}
yyVAL.union = yyLOCAL
- case 1467:
+ case 1469:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL Expr
-//line sql.y:7237
+//line sql.y:7245
{
// TODO(sougou): Deprecate this construct.
if yyDollar[1].identifierCI.Lowered() != "value" {
@@ -21158,426 +21135,426 @@ yydefault:
yyLOCAL = NewIntLiteral("1")
}
yyVAL.union = yyLOCAL
- case 1468:
+ case 1470:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL Expr
-//line sql.y:7246
+//line sql.y:7254
{
yyLOCAL = NewIntLiteral(yyDollar[1].str)
}
yyVAL.union = yyLOCAL
- case 1469:
+ case 1471:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL Expr
-//line sql.y:7250
+//line sql.y:7258
{
yyLOCAL = parseBindVariable(yylex, yyDollar[1].str[1:])
}
yyVAL.union = yyLOCAL
- case 1470:
+ case 1472:
yyDollar = yyS[yypt-0 : yypt+1]
var yyLOCAL Exprs
-//line sql.y:7255
+//line sql.y:7263
{
yyLOCAL = nil
}
yyVAL.union = yyLOCAL
- case 1471:
+ case 1473:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL Exprs
-//line sql.y:7259
+//line sql.y:7267
{
yyLOCAL = yyDollar[3].exprsUnion()
}
yyVAL.union = yyLOCAL
- case 1472:
+ case 1474:
yyDollar = yyS[yypt-0 : yypt+1]
var yyLOCAL Expr
-//line sql.y:7264
+//line sql.y:7272
{
yyLOCAL = nil
}
yyVAL.union = yyLOCAL
- case 1473:
+ case 1475:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL Expr
-//line sql.y:7268
+//line sql.y:7276
{
yyLOCAL = yyDollar[2].exprUnion()
}
yyVAL.union = yyLOCAL
- case 1474:
+ case 1476:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL *NamedWindow
-//line sql.y:7274
+//line sql.y:7282
{
yyLOCAL = &NamedWindow{yyDollar[2].windowDefinitionsUnion()}
}
yyVAL.union = yyLOCAL
- case 1475:
+ case 1477:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL NamedWindows
-//line sql.y:7280
+//line sql.y:7288
{
yyLOCAL = NamedWindows{yyDollar[1].namedWindowUnion()}
}
yyVAL.union = yyLOCAL
- case 1476:
+ case 1478:
yyDollar = yyS[yypt-3 : yypt+1]
-//line sql.y:7284
+//line sql.y:7292
{
yySLICE := (*NamedWindows)(yyIaddr(yyVAL.union))
*yySLICE = append(*yySLICE, yyDollar[3].namedWindowUnion())
}
- case 1477:
+ case 1479:
yyDollar = yyS[yypt-0 : yypt+1]
var yyLOCAL NamedWindows
-//line sql.y:7289
+//line sql.y:7297
{
yyLOCAL = nil
}
yyVAL.union = yyLOCAL
- case 1478:
+ case 1480:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL NamedWindows
-//line sql.y:7293
+//line sql.y:7301
{
yyLOCAL = yyDollar[1].namedWindowsUnion()
}
yyVAL.union = yyLOCAL
- case 1479:
+ case 1481:
yyDollar = yyS[yypt-0 : yypt+1]
var yyLOCAL OrderBy
-//line sql.y:7298
+//line sql.y:7306
{
yyLOCAL = nil
}
yyVAL.union = yyLOCAL
- case 1480:
+ case 1482:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL OrderBy
-//line sql.y:7302
+//line sql.y:7310
{
yyLOCAL = yyDollar[1].orderByUnion()
}
yyVAL.union = yyLOCAL
- case 1481:
+ case 1483:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL OrderBy
-//line sql.y:7308
+//line sql.y:7316
{
yyLOCAL = yyDollar[3].orderByUnion()
}
yyVAL.union = yyLOCAL
- case 1482:
+ case 1484:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL OrderBy
-//line sql.y:7314
+//line sql.y:7322
{
yyLOCAL = OrderBy{yyDollar[1].orderUnion()}
}
yyVAL.union = yyLOCAL
- case 1483:
+ case 1485:
yyDollar = yyS[yypt-3 : yypt+1]
-//line sql.y:7318
+//line sql.y:7326
{
yySLICE := (*OrderBy)(yyIaddr(yyVAL.union))
*yySLICE = append(*yySLICE, yyDollar[3].orderUnion())
}
- case 1484:
+ case 1486:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL *Order
-//line sql.y:7324
+//line sql.y:7332
{
yyLOCAL = &Order{Expr: yyDollar[1].exprUnion(), Direction: yyDollar[2].orderDirectionUnion()}
}
yyVAL.union = yyLOCAL
- case 1485:
+ case 1487:
yyDollar = yyS[yypt-0 : yypt+1]
var yyLOCAL OrderDirection
-//line sql.y:7329
+//line sql.y:7337
{
yyLOCAL = AscOrder
}
yyVAL.union = yyLOCAL
- case 1486:
+ case 1488:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL OrderDirection
-//line sql.y:7333
+//line sql.y:7341
{
yyLOCAL = AscOrder
}
yyVAL.union = yyLOCAL
- case 1487:
+ case 1489:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL OrderDirection
-//line sql.y:7337
+//line sql.y:7345
{
yyLOCAL = DescOrder
}
yyVAL.union = yyLOCAL
- case 1488:
+ case 1490:
yyDollar = yyS[yypt-0 : yypt+1]
var yyLOCAL *Limit
-//line sql.y:7342
+//line sql.y:7350
{
yyLOCAL = nil
}
yyVAL.union = yyLOCAL
- case 1489:
+ case 1491:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL *Limit
-//line sql.y:7346
+//line sql.y:7354
{
yyLOCAL = yyDollar[1].limitUnion()
}
yyVAL.union = yyLOCAL
- case 1490:
+ case 1492:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL *Limit
-//line sql.y:7352
+//line sql.y:7360
{
yyLOCAL = &Limit{Rowcount: yyDollar[2].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1491:
+ case 1493:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL *Limit
-//line sql.y:7356
+//line sql.y:7364
{
yyLOCAL = &Limit{Offset: yyDollar[2].exprUnion(), Rowcount: yyDollar[4].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1492:
+ case 1494:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL *Limit
-//line sql.y:7360
+//line sql.y:7368
{
yyLOCAL = &Limit{Offset: yyDollar[4].exprUnion(), Rowcount: yyDollar[2].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1493:
+ case 1495:
yyDollar = yyS[yypt-0 : yypt+1]
var yyLOCAL []AlterOption
-//line sql.y:7365
+//line sql.y:7373
{
yyLOCAL = nil
}
yyVAL.union = yyLOCAL
- case 1494:
+ case 1496:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL []AlterOption
-//line sql.y:7369
+//line sql.y:7377
{
yyLOCAL = []AlterOption{yyDollar[1].alterOptionUnion(), yyDollar[2].alterOptionUnion()}
}
yyVAL.union = yyLOCAL
- case 1495:
+ case 1497:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL []AlterOption
-//line sql.y:7373
+//line sql.y:7381
{
yyLOCAL = []AlterOption{yyDollar[1].alterOptionUnion(), yyDollar[2].alterOptionUnion()}
}
yyVAL.union = yyLOCAL
- case 1496:
+ case 1498:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL []AlterOption
-//line sql.y:7377
+//line sql.y:7385
{
yyLOCAL = []AlterOption{yyDollar[1].alterOptionUnion()}
}
yyVAL.union = yyLOCAL
- case 1497:
+ case 1499:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL []AlterOption
-//line sql.y:7381
+//line sql.y:7389
{
yyLOCAL = []AlterOption{yyDollar[1].alterOptionUnion()}
}
yyVAL.union = yyLOCAL
- case 1498:
+ case 1500:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL AlterOption
-//line sql.y:7388
+//line sql.y:7396
{
yyLOCAL = &LockOption{Type: DefaultType}
}
yyVAL.union = yyLOCAL
- case 1499:
+ case 1501:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL AlterOption
-//line sql.y:7392
+//line sql.y:7400
{
yyLOCAL = &LockOption{Type: NoneType}
}
yyVAL.union = yyLOCAL
- case 1500:
+ case 1502:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL AlterOption
-//line sql.y:7396
+//line sql.y:7404
{
yyLOCAL = &LockOption{Type: SharedType}
}
yyVAL.union = yyLOCAL
- case 1501:
+ case 1503:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL AlterOption
-//line sql.y:7400
+//line sql.y:7408
{
yyLOCAL = &LockOption{Type: ExclusiveType}
}
yyVAL.union = yyLOCAL
- case 1502:
+ case 1504:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL AlterOption
-//line sql.y:7406
+//line sql.y:7414
{
yyLOCAL = AlgorithmValue(yyDollar[3].str)
}
yyVAL.union = yyLOCAL
- case 1503:
+ case 1505:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL AlterOption
-//line sql.y:7410
+//line sql.y:7418
{
yyLOCAL = AlgorithmValue(yyDollar[3].str)
}
yyVAL.union = yyLOCAL
- case 1504:
+ case 1506:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL AlterOption
-//line sql.y:7414
+//line sql.y:7422
{
yyLOCAL = AlgorithmValue(yyDollar[3].str)
}
yyVAL.union = yyLOCAL
- case 1505:
+ case 1507:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL AlterOption
-//line sql.y:7418
+//line sql.y:7426
{
yyLOCAL = AlgorithmValue(yyDollar[3].str)
}
yyVAL.union = yyLOCAL
- case 1506:
+ case 1508:
yyDollar = yyS[yypt-0 : yypt+1]
-//line sql.y:7423
+//line sql.y:7431
{
yyVAL.str = ""
}
- case 1507:
+ case 1509:
yyDollar = yyS[yypt-3 : yypt+1]
-//line sql.y:7427
+//line sql.y:7435
{
yyVAL.str = string(yyDollar[3].str)
}
- case 1508:
+ case 1510:
yyDollar = yyS[yypt-3 : yypt+1]
-//line sql.y:7431
+//line sql.y:7439
{
yyVAL.str = string(yyDollar[3].str)
}
- case 1509:
+ case 1511:
yyDollar = yyS[yypt-3 : yypt+1]
-//line sql.y:7435
+//line sql.y:7443
{
yyVAL.str = string(yyDollar[3].str)
}
- case 1510:
+ case 1512:
yyDollar = yyS[yypt-0 : yypt+1]
-//line sql.y:7440
+//line sql.y:7448
{
yyVAL.str = ""
}
- case 1511:
+ case 1513:
yyDollar = yyS[yypt-3 : yypt+1]
-//line sql.y:7444
+//line sql.y:7452
{
yyVAL.str = yyDollar[3].str
}
- case 1512:
+ case 1514:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:7450
+//line sql.y:7458
{
yyVAL.str = string(yyDollar[1].str)
}
- case 1513:
+ case 1515:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:7454
+//line sql.y:7462
{
yyVAL.str = string(yyDollar[1].str)
}
- case 1514:
+ case 1516:
yyDollar = yyS[yypt-0 : yypt+1]
-//line sql.y:7459
+//line sql.y:7467
{
yyVAL.str = ""
}
- case 1515:
+ case 1517:
yyDollar = yyS[yypt-4 : yypt+1]
-//line sql.y:7463
+//line sql.y:7471
{
yyVAL.str = yyDollar[2].str
}
- case 1516:
+ case 1518:
yyDollar = yyS[yypt-0 : yypt+1]
-//line sql.y:7468
+//line sql.y:7476
{
yyVAL.str = "cascaded"
}
- case 1517:
+ case 1519:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:7472
+//line sql.y:7480
{
yyVAL.str = string(yyDollar[1].str)
}
- case 1518:
+ case 1520:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:7476
+//line sql.y:7484
{
yyVAL.str = string(yyDollar[1].str)
}
- case 1519:
+ case 1521:
yyDollar = yyS[yypt-0 : yypt+1]
var yyLOCAL *Definer
-//line sql.y:7481
+//line sql.y:7489
{
yyLOCAL = nil
}
yyVAL.union = yyLOCAL
- case 1520:
+ case 1522:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL *Definer
-//line sql.y:7485
+//line sql.y:7493
{
yyLOCAL = yyDollar[3].definerUnion()
}
yyVAL.union = yyLOCAL
- case 1521:
+ case 1523:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL *Definer
-//line sql.y:7491
+//line sql.y:7499
{
yyLOCAL = &Definer{
Name: string(yyDollar[1].str),
}
}
yyVAL.union = yyLOCAL
- case 1522:
+ case 1524:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL *Definer
-//line sql.y:7497
+//line sql.y:7505
{
yyLOCAL = &Definer{
Name: string(yyDollar[1].str),
}
}
yyVAL.union = yyLOCAL
- case 1523:
+ case 1525:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL *Definer
-//line sql.y:7503
+//line sql.y:7511
{
yyLOCAL = &Definer{
Name: yyDollar[1].str,
@@ -21585,433 +21562,433 @@ yydefault:
}
}
yyVAL.union = yyLOCAL
- case 1524:
+ case 1526:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:7512
+//line sql.y:7520
{
yyVAL.str = encodeSQLString(yyDollar[1].str)
}
- case 1525:
+ case 1527:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:7516
+//line sql.y:7524
{
yyVAL.str = formatIdentifier(yyDollar[1].str)
}
- case 1526:
+ case 1528:
yyDollar = yyS[yypt-0 : yypt+1]
-//line sql.y:7521
+//line sql.y:7529
{
yyVAL.str = ""
}
- case 1527:
+ case 1529:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:7525
+//line sql.y:7533
{
yyVAL.str = formatAddress(yyDollar[1].str)
}
- case 1528:
+ case 1530:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL Lock
-//line sql.y:7531
+//line sql.y:7539
{
yyLOCAL = ForUpdateLock
}
yyVAL.union = yyLOCAL
- case 1529:
+ case 1531:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL Lock
-//line sql.y:7535
+//line sql.y:7543
{
yyLOCAL = ForUpdateLockNoWait
}
yyVAL.union = yyLOCAL
- case 1530:
+ case 1532:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Lock
-//line sql.y:7539
+//line sql.y:7547
{
yyLOCAL = ForUpdateLockSkipLocked
}
yyVAL.union = yyLOCAL
- case 1531:
+ case 1533:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL Lock
-//line sql.y:7543
+//line sql.y:7551
{
yyLOCAL = ForShareLock
}
yyVAL.union = yyLOCAL
- case 1532:
+ case 1534:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL Lock
-//line sql.y:7547
+//line sql.y:7555
{
yyLOCAL = ForShareLockNoWait
}
yyVAL.union = yyLOCAL
- case 1533:
+ case 1535:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Lock
-//line sql.y:7551
+//line sql.y:7559
{
yyLOCAL = ForShareLockSkipLocked
}
yyVAL.union = yyLOCAL
- case 1534:
+ case 1536:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Lock
-//line sql.y:7555
+//line sql.y:7563
{
yyLOCAL = ShareModeLock
}
yyVAL.union = yyLOCAL
- case 1535:
+ case 1537:
yyDollar = yyS[yypt-9 : yypt+1]
var yyLOCAL *SelectInto
-//line sql.y:7561
+//line sql.y:7569
{
yyLOCAL = &SelectInto{Type: IntoOutfileS3, FileName: encodeSQLString(yyDollar[4].str), Charset: yyDollar[5].columnCharset, FormatOption: yyDollar[6].str, ExportOption: yyDollar[7].str, Manifest: yyDollar[8].str, Overwrite: yyDollar[9].str}
}
yyVAL.union = yyLOCAL
- case 1536:
+ case 1538:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL *SelectInto
-//line sql.y:7565
+//line sql.y:7573
{
yyLOCAL = &SelectInto{Type: IntoDumpfile, FileName: encodeSQLString(yyDollar[3].str), Charset: ColumnCharset{}, FormatOption: "", ExportOption: "", Manifest: "", Overwrite: ""}
}
yyVAL.union = yyLOCAL
- case 1537:
+ case 1539:
yyDollar = yyS[yypt-5 : yypt+1]
var yyLOCAL *SelectInto
-//line sql.y:7569
+//line sql.y:7577
{
yyLOCAL = &SelectInto{Type: IntoOutfile, FileName: encodeSQLString(yyDollar[3].str), Charset: yyDollar[4].columnCharset, FormatOption: "", ExportOption: yyDollar[5].str, Manifest: "", Overwrite: ""}
}
yyVAL.union = yyLOCAL
- case 1538:
+ case 1540:
yyDollar = yyS[yypt-0 : yypt+1]
-//line sql.y:7574
+//line sql.y:7582
{
yyVAL.str = ""
}
- case 1539:
+ case 1541:
yyDollar = yyS[yypt-3 : yypt+1]
-//line sql.y:7578
+//line sql.y:7586
{
yyVAL.str = " format csv" + yyDollar[3].str
}
- case 1540:
+ case 1542:
yyDollar = yyS[yypt-3 : yypt+1]
-//line sql.y:7582
+//line sql.y:7590
{
yyVAL.str = " format text" + yyDollar[3].str
}
- case 1541:
+ case 1543:
yyDollar = yyS[yypt-0 : yypt+1]
-//line sql.y:7587
+//line sql.y:7595
{
yyVAL.str = ""
}
- case 1542:
+ case 1544:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:7591
+//line sql.y:7599
{
yyVAL.str = " header"
}
- case 1543:
+ case 1545:
yyDollar = yyS[yypt-0 : yypt+1]
-//line sql.y:7596
+//line sql.y:7604
{
yyVAL.str = ""
}
- case 1544:
+ case 1546:
yyDollar = yyS[yypt-2 : yypt+1]
-//line sql.y:7600
+//line sql.y:7608
{
yyVAL.str = " manifest on"
}
- case 1545:
+ case 1547:
yyDollar = yyS[yypt-2 : yypt+1]
-//line sql.y:7604
+//line sql.y:7612
{
yyVAL.str = " manifest off"
}
- case 1546:
+ case 1548:
yyDollar = yyS[yypt-0 : yypt+1]
-//line sql.y:7609
+//line sql.y:7617
{
yyVAL.str = ""
}
- case 1547:
+ case 1549:
yyDollar = yyS[yypt-2 : yypt+1]
-//line sql.y:7613
+//line sql.y:7621
{
yyVAL.str = " overwrite on"
}
- case 1548:
+ case 1550:
yyDollar = yyS[yypt-2 : yypt+1]
-//line sql.y:7617
+//line sql.y:7625
{
yyVAL.str = " overwrite off"
}
- case 1549:
+ case 1551:
yyDollar = yyS[yypt-2 : yypt+1]
-//line sql.y:7623
+//line sql.y:7631
{
yyVAL.str = yyDollar[1].str + yyDollar[2].str
}
- case 1550:
+ case 1552:
yyDollar = yyS[yypt-0 : yypt+1]
-//line sql.y:7628
+//line sql.y:7636
{
yyVAL.str = ""
}
- case 1551:
+ case 1553:
yyDollar = yyS[yypt-2 : yypt+1]
-//line sql.y:7632
+//line sql.y:7640
{
yyVAL.str = " lines" + yyDollar[2].str
}
- case 1552:
+ case 1554:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:7638
+//line sql.y:7646
{
yyVAL.str = yyDollar[1].str
}
- case 1553:
+ case 1555:
yyDollar = yyS[yypt-2 : yypt+1]
-//line sql.y:7642
+//line sql.y:7650
{
yyVAL.str = yyDollar[1].str + yyDollar[2].str
}
- case 1554:
+ case 1556:
yyDollar = yyS[yypt-3 : yypt+1]
-//line sql.y:7648
+//line sql.y:7656
{
yyVAL.str = " starting by " + encodeSQLString(yyDollar[3].str)
}
- case 1555:
+ case 1557:
yyDollar = yyS[yypt-3 : yypt+1]
-//line sql.y:7652
+//line sql.y:7660
{
yyVAL.str = " terminated by " + encodeSQLString(yyDollar[3].str)
}
- case 1556:
+ case 1558:
yyDollar = yyS[yypt-0 : yypt+1]
-//line sql.y:7657
+//line sql.y:7665
{
yyVAL.str = ""
}
- case 1557:
+ case 1559:
yyDollar = yyS[yypt-2 : yypt+1]
-//line sql.y:7661
+//line sql.y:7669
{
yyVAL.str = " " + yyDollar[1].str + yyDollar[2].str
}
- case 1558:
+ case 1560:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:7667
+//line sql.y:7675
{
yyVAL.str = yyDollar[1].str
}
- case 1559:
+ case 1561:
yyDollar = yyS[yypt-2 : yypt+1]
-//line sql.y:7671
+//line sql.y:7679
{
yyVAL.str = yyDollar[1].str + yyDollar[2].str
}
- case 1560:
+ case 1562:
yyDollar = yyS[yypt-3 : yypt+1]
-//line sql.y:7677
+//line sql.y:7685
{
yyVAL.str = " terminated by " + encodeSQLString(yyDollar[3].str)
}
- case 1561:
+ case 1563:
yyDollar = yyS[yypt-4 : yypt+1]
-//line sql.y:7681
+//line sql.y:7689
{
yyVAL.str = yyDollar[1].str + " enclosed by " + encodeSQLString(yyDollar[4].str)
}
- case 1562:
+ case 1564:
yyDollar = yyS[yypt-3 : yypt+1]
-//line sql.y:7685
+//line sql.y:7693
{
yyVAL.str = " escaped by " + encodeSQLString(yyDollar[3].str)
}
- case 1563:
+ case 1565:
yyDollar = yyS[yypt-0 : yypt+1]
-//line sql.y:7690
+//line sql.y:7698
{
yyVAL.str = ""
}
- case 1564:
+ case 1566:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:7694
+//line sql.y:7702
{
yyVAL.str = " optionally"
}
- case 1565:
+ case 1567:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL *Insert
-//line sql.y:7707
+//line sql.y:7715
{
yyLOCAL = &Insert{Rows: yyDollar[2].valuesUnion(), RowAlias: yyDollar[3].rowAliasUnion()}
}
yyVAL.union = yyLOCAL
- case 1566:
+ case 1568:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL *Insert
-//line sql.y:7711
+//line sql.y:7719
{
yyLOCAL = &Insert{Rows: yyDollar[1].selStmtUnion()}
}
yyVAL.union = yyLOCAL
- case 1567:
+ case 1569:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL *Insert
-//line sql.y:7715
+//line sql.y:7723
{
yyLOCAL = &Insert{Columns: yyDollar[2].columnsUnion(), Rows: yyDollar[5].valuesUnion(), RowAlias: yyDollar[6].rowAliasUnion()}
}
yyVAL.union = yyLOCAL
- case 1568:
+ case 1570:
yyDollar = yyS[yypt-5 : yypt+1]
var yyLOCAL *Insert
-//line sql.y:7719
+//line sql.y:7727
{
yyLOCAL = &Insert{Columns: []IdentifierCI{}, Rows: yyDollar[4].valuesUnion(), RowAlias: yyDollar[5].rowAliasUnion()}
}
yyVAL.union = yyLOCAL
- case 1569:
+ case 1571:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL *Insert
-//line sql.y:7723
+//line sql.y:7731
{
yyLOCAL = &Insert{Columns: yyDollar[2].columnsUnion(), Rows: yyDollar[4].selStmtUnion()}
}
yyVAL.union = yyLOCAL
- case 1570:
+ case 1572:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL Columns
-//line sql.y:7729
+//line sql.y:7737
{
yyLOCAL = Columns{yyDollar[1].identifierCI}
}
yyVAL.union = yyLOCAL
- case 1571:
+ case 1573:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL Columns
-//line sql.y:7733
+//line sql.y:7741
{
yyLOCAL = Columns{yyDollar[3].identifierCI}
}
yyVAL.union = yyLOCAL
- case 1572:
+ case 1574:
yyDollar = yyS[yypt-3 : yypt+1]
-//line sql.y:7737
+//line sql.y:7745
{
yySLICE := (*Columns)(yyIaddr(yyVAL.union))
*yySLICE = append(*yySLICE, yyDollar[3].identifierCI)
}
- case 1573:
+ case 1575:
yyDollar = yyS[yypt-5 : yypt+1]
-//line sql.y:7741
+//line sql.y:7749
{
yySLICE := (*Columns)(yyIaddr(yyVAL.union))
*yySLICE = append(*yySLICE, yyDollar[5].identifierCI)
}
- case 1574:
+ case 1576:
yyDollar = yyS[yypt-0 : yypt+1]
var yyLOCAL *RowAlias
-//line sql.y:7746
+//line sql.y:7754
{
yyLOCAL = nil
}
yyVAL.union = yyLOCAL
- case 1575:
+ case 1577:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL *RowAlias
-//line sql.y:7750
+//line sql.y:7758
{
yyLOCAL = &RowAlias{TableName: yyDollar[2].identifierCS}
}
yyVAL.union = yyLOCAL
- case 1576:
+ case 1578:
yyDollar = yyS[yypt-5 : yypt+1]
var yyLOCAL *RowAlias
-//line sql.y:7754
+//line sql.y:7762
{
yyLOCAL = &RowAlias{TableName: yyDollar[2].identifierCS, Columns: yyDollar[4].columnsUnion()}
}
yyVAL.union = yyLOCAL
- case 1577:
+ case 1579:
yyDollar = yyS[yypt-0 : yypt+1]
var yyLOCAL UpdateExprs
-//line sql.y:7759
+//line sql.y:7767
{
yyLOCAL = nil
}
yyVAL.union = yyLOCAL
- case 1578:
+ case 1580:
yyDollar = yyS[yypt-5 : yypt+1]
var yyLOCAL UpdateExprs
-//line sql.y:7763
+//line sql.y:7771
{
yyLOCAL = yyDollar[5].updateExprsUnion()
}
yyVAL.union = yyLOCAL
- case 1579:
+ case 1581:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL Values
-//line sql.y:7769
+//line sql.y:7777
{
yyLOCAL = Values{yyDollar[1].valTupleUnion()}
}
yyVAL.union = yyLOCAL
- case 1580:
+ case 1582:
yyDollar = yyS[yypt-3 : yypt+1]
-//line sql.y:7773
+//line sql.y:7781
{
yySLICE := (*Values)(yyIaddr(yyVAL.union))
*yySLICE = append(*yySLICE, yyDollar[3].valTupleUnion())
}
- case 1581:
+ case 1583:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL ValTuple
-//line sql.y:7779
+//line sql.y:7787
{
yyLOCAL = yyDollar[1].valTupleUnion()
}
yyVAL.union = yyLOCAL
- case 1582:
+ case 1584:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL ValTuple
-//line sql.y:7783
+//line sql.y:7791
{
yyLOCAL = ValTuple{}
}
yyVAL.union = yyLOCAL
- case 1583:
+ case 1585:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL ValTuple
-//line sql.y:7789
+//line sql.y:7797
{
yyLOCAL = ValTuple(yyDollar[2].exprsUnion())
}
yyVAL.union = yyLOCAL
- case 1584:
+ case 1586:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL ValTuple
-//line sql.y:7793
+//line sql.y:7801
{
yyLOCAL = ValTuple(yyDollar[3].exprsUnion())
}
yyVAL.union = yyLOCAL
- case 1585:
+ case 1587:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL Expr
-//line sql.y:7798
+//line sql.y:7806
{
if len(yyDollar[1].valTupleUnion()) == 1 {
yyLOCAL = yyDollar[1].valTupleUnion()[0]
@@ -22020,300 +21997,300 @@ yydefault:
}
}
yyVAL.union = yyLOCAL
- case 1586:
+ case 1588:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL UpdateExprs
-//line sql.y:7808
+//line sql.y:7816
{
yyLOCAL = UpdateExprs{yyDollar[1].updateExprUnion()}
}
yyVAL.union = yyLOCAL
- case 1587:
+ case 1589:
yyDollar = yyS[yypt-3 : yypt+1]
-//line sql.y:7812
+//line sql.y:7820
{
yySLICE := (*UpdateExprs)(yyIaddr(yyVAL.union))
*yySLICE = append(*yySLICE, yyDollar[3].updateExprUnion())
}
- case 1588:
+ case 1590:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL *UpdateExpr
-//line sql.y:7818
+//line sql.y:7826
{
yyLOCAL = &UpdateExpr{Name: yyDollar[1].colNameUnion(), Expr: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1590:
+ case 1592:
yyDollar = yyS[yypt-2 : yypt+1]
-//line sql.y:7825
+//line sql.y:7833
{
yyVAL.str = "charset"
}
- case 1593:
+ case 1595:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL Expr
-//line sql.y:7835
+//line sql.y:7843
{
yyLOCAL = NewStrLiteral(yyDollar[1].identifierCI.String())
}
yyVAL.union = yyLOCAL
- case 1594:
+ case 1596:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL Expr
-//line sql.y:7839
+//line sql.y:7847
{
yyLOCAL = NewStrLiteral(yyDollar[1].str)
}
yyVAL.union = yyLOCAL
- case 1595:
+ case 1597:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL Expr
-//line sql.y:7843
+//line sql.y:7851
{
yyLOCAL = &Default{}
}
yyVAL.union = yyLOCAL
- case 1598:
+ case 1600:
yyDollar = yyS[yypt-0 : yypt+1]
var yyLOCAL bool
-//line sql.y:7852
+//line sql.y:7860
{
yyLOCAL = false
}
yyVAL.union = yyLOCAL
- case 1599:
+ case 1601:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL bool
-//line sql.y:7854
+//line sql.y:7862
{
yyLOCAL = true
}
yyVAL.union = yyLOCAL
- case 1600:
+ case 1602:
yyDollar = yyS[yypt-0 : yypt+1]
var yyLOCAL bool
-//line sql.y:7857
+//line sql.y:7865
{
yyLOCAL = false
}
yyVAL.union = yyLOCAL
- case 1601:
+ case 1603:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL bool
-//line sql.y:7859
+//line sql.y:7867
{
yyLOCAL = true
}
yyVAL.union = yyLOCAL
- case 1602:
+ case 1604:
yyDollar = yyS[yypt-0 : yypt+1]
var yyLOCAL bool
-//line sql.y:7862
+//line sql.y:7870
{
yyLOCAL = false
}
yyVAL.union = yyLOCAL
- case 1603:
+ case 1605:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL bool
-//line sql.y:7864
+//line sql.y:7872
{
yyLOCAL = true
}
yyVAL.union = yyLOCAL
- case 1604:
+ case 1606:
yyDollar = yyS[yypt-0 : yypt+1]
var yyLOCAL Ignore
-//line sql.y:7867
+//line sql.y:7875
{
yyLOCAL = false
}
yyVAL.union = yyLOCAL
- case 1605:
+ case 1607:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL Ignore
-//line sql.y:7869
+//line sql.y:7877
{
yyLOCAL = true
}
yyVAL.union = yyLOCAL
- case 1606:
+ case 1608:
yyDollar = yyS[yypt-0 : yypt+1]
-//line sql.y:7872
+//line sql.y:7880
{
yyVAL.empty = struct{}{}
}
- case 1607:
+ case 1609:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:7874
+//line sql.y:7882
{
yyVAL.empty = struct{}{}
}
- case 1608:
+ case 1610:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:7876
+//line sql.y:7884
{
yyVAL.empty = struct{}{}
}
- case 1609:
+ case 1611:
yyDollar = yyS[yypt-5 : yypt+1]
var yyLOCAL Statement
-//line sql.y:7880
+//line sql.y:7888
{
yyLOCAL = &CallProc{Name: yyDollar[2].tableName, Params: yyDollar[4].exprsUnion()}
}
yyVAL.union = yyLOCAL
- case 1610:
+ case 1612:
yyDollar = yyS[yypt-0 : yypt+1]
var yyLOCAL Exprs
-//line sql.y:7885
+//line sql.y:7893
{
yyLOCAL = nil
}
yyVAL.union = yyLOCAL
- case 1611:
+ case 1613:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL Exprs
-//line sql.y:7889
+//line sql.y:7897
{
yyLOCAL = yyDollar[1].exprsUnion()
}
yyVAL.union = yyLOCAL
- case 1612:
+ case 1614:
yyDollar = yyS[yypt-0 : yypt+1]
var yyLOCAL []*IndexOption
-//line sql.y:7894
+//line sql.y:7902
{
yyLOCAL = nil
}
yyVAL.union = yyLOCAL
- case 1613:
+ case 1615:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL []*IndexOption
-//line sql.y:7896
+//line sql.y:7904
{
yyLOCAL = []*IndexOption{yyDollar[1].indexOptionUnion()}
}
yyVAL.union = yyLOCAL
- case 1614:
+ case 1616:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL *IndexOption
-//line sql.y:7900
+//line sql.y:7908
{
yyLOCAL = &IndexOption{Name: string(yyDollar[1].str), String: string(yyDollar[2].identifierCI.String())}
}
yyVAL.union = yyLOCAL
- case 1615:
+ case 1617:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:7906
+//line sql.y:7914
{
yyVAL.identifierCI = yyDollar[1].identifierCI
}
- case 1616:
+ case 1618:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:7910
+//line sql.y:7918
{
yyVAL.identifierCI = NewIdentifierCI(string(yyDollar[1].str))
}
- case 1618:
+ case 1620:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:7917
+//line sql.y:7925
{
yyVAL.identifierCI = NewIdentifierCI(string(yyDollar[1].str))
}
- case 1619:
+ case 1621:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:7923
+//line sql.y:7931
{
yyVAL.identifierCS = NewIdentifierCS(string(yyDollar[1].str))
}
- case 1620:
+ case 1622:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:7927
+//line sql.y:7935
{
yyVAL.identifierCS = NewIdentifierCS(string(yyDollar[1].str))
}
- case 1621:
+ case 1623:
yyDollar = yyS[yypt-0 : yypt+1]
-//line sql.y:7933
+//line sql.y:7941
{
yyVAL.identifierCS = NewIdentifierCS("")
}
- case 1622:
+ case 1624:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:7937
+//line sql.y:7945
{
yyVAL.identifierCS = yyDollar[1].identifierCS
}
- case 1624:
+ case 1626:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:7944
+//line sql.y:7952
{
yyVAL.identifierCS = NewIdentifierCS(string(yyDollar[1].str))
}
- case 1625:
+ case 1627:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL Statement
-//line sql.y:7950
+//line sql.y:7958
{
yyLOCAL = &Kill{Type: yyDollar[2].killTypeUnion(), ProcesslistID: convertStringToUInt64(yyDollar[3].str)}
}
yyVAL.union = yyLOCAL
- case 1626:
+ case 1628:
yyDollar = yyS[yypt-0 : yypt+1]
var yyLOCAL KillType
-//line sql.y:7956
+//line sql.y:7964
{
yyLOCAL = ConnectionType
}
yyVAL.union = yyLOCAL
- case 1627:
+ case 1629:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL KillType
-//line sql.y:7960
+//line sql.y:7968
{
yyLOCAL = ConnectionType
}
yyVAL.union = yyLOCAL
- case 1628:
+ case 1630:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL KillType
-//line sql.y:7964
+//line sql.y:7972
{
yyLOCAL = QueryType
}
yyVAL.union = yyLOCAL
- case 2245:
+ case 2248:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:8609
+//line sql.y:8618
{
}
- case 2246:
+ case 2249:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:8614
+//line sql.y:8623
{
}
- case 2247:
+ case 2250:
yyDollar = yyS[yypt-0 : yypt+1]
-//line sql.y:8618
+//line sql.y:8627
{
skipToEnd(yylex)
}
- case 2248:
+ case 2251:
yyDollar = yyS[yypt-0 : yypt+1]
-//line sql.y:8623
+//line sql.y:8632
{
skipToEnd(yylex)
}
- case 2249:
+ case 2252:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:8627
+//line sql.y:8636
{
skipToEnd(yylex)
}
- case 2250:
+ case 2253:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:8631
+//line sql.y:8640
{
skipToEnd(yylex)
}
diff --git a/go/vt/sqlparser/sql.y b/go/vt/sqlparser/sql.y
index 5cf189a7ab3..0b04136d4b5 100644
--- a/go/vt/sqlparser/sql.y
+++ b/go/vt/sqlparser/sql.y
@@ -257,7 +257,7 @@ func markBindVariable(yylex yyLexer, bvar string) {
%token VALUE_ARG LIST_ARG OFFSET_ARG
%token JSON_PRETTY JSON_STORAGE_SIZE JSON_STORAGE_FREE JSON_CONTAINS JSON_CONTAINS_PATH JSON_EXTRACT JSON_KEYS JSON_OVERLAPS JSON_SEARCH JSON_VALUE
%token EXTRACT
-%token NULL TRUE FALSE OFF
+%token NULL UNKNOWN TRUE FALSE OFF
%token DISCARD IMPORT ENABLE DISABLE TABLESPACE
%token VIRTUAL STORED
%token BOTH LEADING TRAILING
@@ -601,7 +601,7 @@ func markBindVariable(yylex yyLexer, bvar string) {
%type keys
%type reference_definition reference_definition_opt
%type underscore_charsets
-%type expire_opt
+%type expire_opt null_or_unknown
%type ratio_opt
%type tx_chacteristics_opt tx_chars
%type tx_char
@@ -5270,12 +5270,20 @@ expression:
$$ = &MemberOfExpr{Value: $1, JSONArr:$5 }
}
+null_or_unknown:
+ NULL
+ {
+ }
+| UNKNOWN
+ {
+ }
+
bool_pri:
-bool_pri IS NULL %prec IS
+bool_pri IS null_or_unknown %prec IS
{
$$ = &IsExpr{Left: $1, Right: IsNullOp}
}
-| bool_pri IS NOT NULL %prec IS
+| bool_pri IS NOT null_or_unknown %prec IS
{
$$ = &IsExpr{Left: $1, Right: IsNotNullOp}
}
@@ -8540,6 +8548,7 @@ non_reserved_keyword:
| UNCOMMITTED
| UNDEFINED
| UNICODE
+| UNKNOWN
| UNSIGNED
| UNTHROTTLE
| UNUSED
diff --git a/go/vt/sqlparser/testdata/select_cases.txt b/go/vt/sqlparser/testdata/select_cases.txt
index e602eb1ec32..ad2fa8ec5a7 100644
--- a/go/vt/sqlparser/testdata/select_cases.txt
+++ b/go/vt/sqlparser/testdata/select_cases.txt
@@ -7597,8 +7597,8 @@ END
INPUT
select a, a is not false, a is not true, a is not unknown from t1;
END
-ERROR
-syntax error at position 58 near 'unknown'
+OUTPUT
+select a, a is not false, a is not true, a is not null from t1
END
INPUT
select cast(NULL as signed), cast(1/0 as signed);
@@ -8671,8 +8671,8 @@ END
INPUT
select a, a is false, a is true, a is unknown from t1;
END
-ERROR
-syntax error at position 46 near 'unknown'
+OUTPUT
+select a, a is false, a is true, a is null from t1
END
INPUT
select std(e) from bug22555 group by i;
diff --git a/go/vt/topo/keyspace_external_test.go b/go/vt/topo/keyspace_external_test.go
index 38ff1c8ce7b..4edb45a411d 100644
--- a/go/vt/topo/keyspace_external_test.go
+++ b/go/vt/topo/keyspace_external_test.go
@@ -142,7 +142,7 @@ func TestServerGetServingShards(t *testing.T) {
require.NotNil(t, stats)
if tt.fallback {
- factory.SetListError(errNoListImpl)
+ factory.AddOperationError(memorytopo.List, ".*", errNoListImpl)
}
err := ts.CreateKeyspace(ctx, keyspace, &topodatapb.Keyspace{})
diff --git a/go/vt/topo/memorytopo/directory.go b/go/vt/topo/memorytopo/directory.go
index 8e673f474a6..b8fa11a9d52 100644
--- a/go/vt/topo/memorytopo/directory.go
+++ b/go/vt/topo/memorytopo/directory.go
@@ -39,6 +39,9 @@ func (c *Conn) ListDir(ctx context.Context, dirPath string, full bool) ([]topo.D
if c.factory.err != nil {
return nil, c.factory.err
}
+ if err := c.factory.getOperationError(ListDir, dirPath); err != nil {
+ return nil, err
+ }
isRoot := false
if dirPath == "" || dirPath == "/" {
diff --git a/go/vt/topo/memorytopo/election.go b/go/vt/topo/memorytopo/election.go
index 0a76c202de2..1b6d2292f5c 100644
--- a/go/vt/topo/memorytopo/election.go
+++ b/go/vt/topo/memorytopo/election.go
@@ -35,6 +35,10 @@ func (c *Conn) NewLeaderParticipation(name, id string) (topo.LeaderParticipation
c.factory.mu.Lock()
defer c.factory.mu.Unlock()
+ if err := c.factory.getOperationError(NewLeaderParticipation, id); err != nil {
+ return nil, err
+ }
+
// Make sure the global path exists.
electionPath := path.Join(electionsPath, name)
if n := c.factory.getOrCreatePath(c.cell, electionPath); n == nil {
diff --git a/go/vt/topo/memorytopo/file.go b/go/vt/topo/memorytopo/file.go
index 800e7791afa..86722477e53 100644
--- a/go/vt/topo/memorytopo/file.go
+++ b/go/vt/topo/memorytopo/file.go
@@ -46,6 +46,9 @@ func (c *Conn) Create(ctx context.Context, filePath string, contents []byte) (to
if c.factory.err != nil {
return nil, c.factory.err
}
+ if err := c.factory.getOperationError(Create, filePath); err != nil {
+ return nil, err
+ }
// Get the parent dir.
dir, file := path.Split(filePath)
@@ -92,6 +95,9 @@ func (c *Conn) Update(ctx context.Context, filePath string, contents []byte, ver
if c.factory.err != nil {
return nil, c.factory.err
}
+ if err := c.factory.getOperationError(Update, filePath); err != nil {
+ return nil, err
+ }
// Get the parent dir, we'll need it in case of creation.
dir, file := path.Split(filePath)
@@ -168,6 +174,9 @@ func (c *Conn) Get(ctx context.Context, filePath string) ([]byte, topo.Version,
if c.factory.err != nil {
return nil, nil, c.factory.err
}
+ if err := c.factory.getOperationError(Get, filePath); err != nil {
+ return nil, nil, err
+ }
// Get the node.
n := c.factory.nodeByPath(c.cell, filePath)
@@ -195,8 +204,8 @@ func (c *Conn) List(ctx context.Context, filePathPrefix string) ([]topo.KVInfo,
if c.factory.err != nil {
return nil, c.factory.err
}
- if c.factory.listErr != nil {
- return nil, c.factory.listErr
+ if err := c.factory.getOperationError(List, filePathPrefix); err != nil {
+ return nil, err
}
dir, file := path.Split(filePathPrefix)
@@ -259,6 +268,9 @@ func (c *Conn) Delete(ctx context.Context, filePath string, version topo.Version
if c.factory.err != nil {
return c.factory.err
}
+ if err := c.factory.getOperationError(Delete, filePath); err != nil {
+ return err
+ }
// Get the parent dir.
dir, file := path.Split(filePath)
diff --git a/go/vt/topo/memorytopo/lock.go b/go/vt/topo/memorytopo/lock.go
index afce7868469..d0943c7058d 100644
--- a/go/vt/topo/memorytopo/lock.go
+++ b/go/vt/topo/memorytopo/lock.go
@@ -44,6 +44,13 @@ type memoryTopoLockDescriptor struct {
func (c *Conn) TryLock(ctx context.Context, dirPath, contents string) (topo.LockDescriptor, error) {
c.factory.callstats.Add([]string{"TryLock"}, 1)
+ c.factory.mu.Lock()
+ err := c.factory.getOperationError(TryLock, dirPath)
+ c.factory.mu.Unlock()
+ if err != nil {
+ return nil, err
+ }
+
return c.Lock(ctx, dirPath, contents)
}
@@ -51,6 +58,13 @@ func (c *Conn) TryLock(ctx context.Context, dirPath, contents string) (topo.Lock
func (c *Conn) Lock(ctx context.Context, dirPath, contents string) (topo.LockDescriptor, error) {
c.factory.callstats.Add([]string{"Lock"}, 1)
+ c.factory.mu.Lock()
+ err := c.factory.getOperationError(Lock, dirPath)
+ c.factory.mu.Unlock()
+ if err != nil {
+ return nil, err
+ }
+
return c.lock(ctx, dirPath, contents)
}
diff --git a/go/vt/topo/memorytopo/memorytopo.go b/go/vt/topo/memorytopo/memorytopo.go
index 2b5385d8e28..9d703a2869a 100644
--- a/go/vt/topo/memorytopo/memorytopo.go
+++ b/go/vt/topo/memorytopo/memorytopo.go
@@ -23,6 +23,7 @@ import (
"context"
"errors"
"math/rand/v2"
+ "regexp"
"strings"
"sync"
"sync/atomic"
@@ -50,6 +51,25 @@ const (
UnreachableServerAddr = "unreachable"
)
+// Operation is one of the operations defined by topo.Conn
+type Operation int
+
+// The following is the list of topo.Conn operations
+const (
+ ListDir = Operation(iota)
+ Create
+ Update
+ Get
+ List
+ Delete
+ Lock
+ TryLock
+ Watch
+ WatchRecursive
+ NewLeaderParticipation
+ Close
+)
+
// Factory is a memory-based implementation of topo.Factory. It
// takes a file-system like approach, with directories at each level
// being an actual directory node. This is meant to be closer to
@@ -72,14 +92,20 @@ type Factory struct {
// err is used for testing purposes to force queries / watches
// to return the given error
err error
- // listErr is used for testing purposed to fake errors from
- // calls to List.
- listErr error
+ // operationErrors is used for testing purposes to fake errors from
+ // operations and paths matching the spec
+ operationErrors map[Operation][]errorSpec
// callstats allows us to keep track of how many topo.Conn calls
// we make (Create, Get, Update, Delete, List, ListDir, etc).
callstats *stats.CountersWithMultiLabels
}
+type errorSpec struct {
+ op Operation
+ pathPattern *regexp.Regexp
+ err error
+}
+
// HasGlobalReadOnlyCell is part of the topo.Factory interface.
func (f *Factory) HasGlobalReadOnlyCell(serverAddr, root string) bool {
return false
@@ -248,9 +274,10 @@ func (n *node) PropagateWatchError(err error) {
// in case of a problem.
func NewServerAndFactory(ctx context.Context, cells ...string) (*topo.Server, *Factory) {
f := &Factory{
- cells: make(map[string]*node),
- generation: uint64(rand.Int64N(1 << 60)),
- callstats: stats.NewCountersWithMultiLabels("", "", []string{"Call"}),
+ cells: make(map[string]*node),
+ generation: uint64(rand.Int64N(1 << 60)),
+ callstats: stats.NewCountersWithMultiLabels("", "", []string{"Call"}),
+ operationErrors: make(map[Operation][]errorSpec),
}
f.cells[topo.GlobalCell] = f.newDirectory(topo.GlobalCell, nil)
@@ -363,9 +390,23 @@ func (f *Factory) recursiveDelete(n *node) {
}
}
-func (f *Factory) SetListError(err error) {
+func (f *Factory) AddOperationError(op Operation, pathPattern string, err error) {
f.mu.Lock()
defer f.mu.Unlock()
- f.listErr = err
+ f.operationErrors[op] = append(f.operationErrors[op], errorSpec{
+ op: op,
+ pathPattern: regexp.MustCompile(pathPattern),
+ err: err,
+ })
+}
+
+func (f *Factory) getOperationError(op Operation, path string) error {
+ specs := f.operationErrors[op]
+ for _, spec := range specs {
+ if spec.pathPattern.MatchString(path) {
+ return spec.err
+ }
+ }
+ return nil
}
diff --git a/go/vt/topo/memorytopo/watch.go b/go/vt/topo/memorytopo/watch.go
index 3651bcca9ce..dcb90a8f0ef 100644
--- a/go/vt/topo/memorytopo/watch.go
+++ b/go/vt/topo/memorytopo/watch.go
@@ -37,6 +37,9 @@ func (c *Conn) Watch(ctx context.Context, filePath string) (*topo.WatchData, <-c
if c.factory.err != nil {
return nil, nil, c.factory.err
}
+ if err := c.factory.getOperationError(Watch, filePath); err != nil {
+ return nil, nil, err
+ }
n := c.factory.nodeByPath(c.cell, filePath)
if n == nil {
@@ -89,6 +92,9 @@ func (c *Conn) WatchRecursive(ctx context.Context, dirpath string) ([]*topo.Watc
if c.factory.err != nil {
return nil, nil, c.factory.err
}
+ if err := c.factory.getOperationError(WatchRecursive, dirpath); err != nil {
+ return nil, nil, err
+ }
n := c.factory.getOrCreatePath(c.cell, dirpath)
if n == nil {
diff --git a/go/vt/topo/tablet.go b/go/vt/topo/tablet.go
index 493e448752b..671a0f43905 100644
--- a/go/vt/topo/tablet.go
+++ b/go/vt/topo/tablet.go
@@ -240,6 +240,7 @@ type GetTabletsByCellOptions struct {
// GetTabletsByCell returns all the tablets in the cell.
// It returns ErrNoNode if the cell doesn't exist.
+// It returns ErrPartialResult if some tablets couldn't be read. The results in the slice are incomplete.
// It returns (nil, nil) if the cell exists, but there are no tablets in it.
func (ts *Server) GetTabletsByCell(ctx context.Context, cellAlias string, opt *GetTabletsByCellOptions) ([]*TabletInfo, error) {
// If the cell doesn't exist, this will return ErrNoNode.
@@ -277,6 +278,7 @@ func (ts *Server) GetTabletsByCell(ctx context.Context, cellAlias string, opt *G
// GetTabletsIndividuallyByCell returns a sorted list of tablets for topo servers that do not
// directly support the topoConn.List() functionality.
// It returns ErrNoNode if the cell doesn't exist.
+// It returns ErrPartialResult if some tablets couldn't be read. The results in the slice are incomplete.
// It returns (nil, nil) if the cell exists, but there are no tablets in it.
func (ts *Server) GetTabletsIndividuallyByCell(ctx context.Context, cell string, opt *GetTabletsByCellOptions) ([]*TabletInfo, error) {
// If the cell doesn't exist, this will return ErrNoNode.
@@ -286,10 +288,14 @@ func (ts *Server) GetTabletsIndividuallyByCell(ctx context.Context, cell string,
}
sort.Sort(topoproto.TabletAliasList(aliases))
+ var partialResultErr error
tabletMap, err := ts.GetTabletMap(ctx, aliases, opt)
if err != nil {
- // we got another error than topo.ErrNoNode
- return nil, err
+ if IsErrType(err, PartialResult) {
+ partialResultErr = err
+ } else {
+ return nil, err
+ }
}
tablets := make([]*TabletInfo, 0, len(aliases))
for _, tabletAlias := range aliases {
@@ -303,7 +309,7 @@ func (ts *Server) GetTabletsIndividuallyByCell(ctx context.Context, cell string,
}
}
- return tablets, nil
+ return tablets, partialResultErr
}
// UpdateTablet updates the tablet data only - not associated replication paths.
diff --git a/go/vt/topo/tablet_test.go b/go/vt/topo/tablet_test.go
index 04eea71a8a2..3a0153a11b5 100644
--- a/go/vt/topo/tablet_test.go
+++ b/go/vt/topo/tablet_test.go
@@ -18,9 +18,12 @@ package topo_test
import (
"context"
+ "errors"
"testing"
+ "github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
+ "google.golang.org/protobuf/proto"
topodatapb "vitess.io/vitess/go/vt/proto/topodata"
"vitess.io/vitess/go/vt/topo"
@@ -76,7 +79,7 @@ func TestServerGetTabletsByCell(t *testing.T) {
ts, factory := memorytopo.NewServerAndFactory(ctx, cell)
defer ts.Close()
if tt.listError != nil {
- factory.SetListError(tt.listError)
+ factory.AddOperationError(memorytopo.List, ".*", tt.listError)
}
// Create an ephemeral keyspace and generate shard records within
@@ -116,3 +119,55 @@ func TestServerGetTabletsByCell(t *testing.T) {
})
}
}
+
+func TestServerGetTabletsByCellPartialResults(t *testing.T) {
+ const cell = "zone1"
+ const keyspace = "keyspace"
+ const shard = "shard"
+
+ ctx, cancel := context.WithCancel(context.Background())
+ defer cancel()
+
+ ts, factory := memorytopo.NewServerAndFactory(ctx, cell)
+ defer ts.Close()
+
+ // Create an ephemeral keyspace and generate shard records within
+ // the keyspace to fetch later.
+ require.NoError(t, ts.CreateKeyspace(ctx, keyspace, &topodatapb.Keyspace{}))
+ require.NoError(t, ts.CreateShard(ctx, keyspace, shard))
+
+ tablets := make([]*topo.TabletInfo, 3)
+
+ for i := 0; i < len(tablets); i++ {
+ tablet := &topodatapb.Tablet{
+ Alias: &topodatapb.TabletAlias{
+ Cell: cell,
+ Uid: uint32(i),
+ },
+ Hostname: "host1",
+ PortMap: map[string]int32{
+ "vt": int32(i),
+ },
+ Keyspace: keyspace,
+ Shard: shard,
+ }
+ tInfo := &topo.TabletInfo{Tablet: tablet}
+ tablets[i] = tInfo
+ require.NoError(t, ts.CreateTablet(ctx, tablet))
+ }
+
+ // Force fallback to getting tablets individually.
+ factory.AddOperationError(memorytopo.List, ".*", topo.NewError(topo.NoImplementation, "List not supported"))
+
+ // Cause the Get for the second tablet to fail.
+ factory.AddOperationError(memorytopo.Get, "tablets/zone1-0000000001/Tablet", errors.New("fake error"))
+
+ // Verify that we return a partial list of tablets and that each
+ // tablet matches what we expect.
+ out, err := ts.GetTabletsByCell(ctx, cell, nil)
+ assert.Error(t, err)
+ assert.True(t, topo.IsErrType(err, topo.PartialResult), "Not a partial result: %v", err)
+ assert.Len(t, out, 2)
+ assert.True(t, proto.Equal(tablets[0].Tablet, out[0].Tablet), "Got: %v, want %v", tablets[0].Tablet, out[0].Tablet)
+ assert.True(t, proto.Equal(tablets[2].Tablet, out[1].Tablet), "Got: %v, want %v", tablets[2].Tablet, out[1].Tablet)
+}
diff --git a/go/vt/vtctl/workflow/materializer.go b/go/vt/vtctl/workflow/materializer.go
index 93eb7bd9327..bf93b55a374 100644
--- a/go/vt/vtctl/workflow/materializer.go
+++ b/go/vt/vtctl/workflow/materializer.go
@@ -257,6 +257,20 @@ func (mz *materializer) deploySchema() error {
var sourceDDLs map[string]string
var mu sync.Mutex
+ // Auto-increment columns are typically used with unsharded MySQL tables
+ // but should not generally be used with sharded ones. Because it's common
+ // to use MoveTables to move table(s) from an unsharded keyspace to a
+ // sharded one we automatically remove the clauses by default to prevent
+ // accidents and avoid having to later do a costly ALTER TABLE operation
+ // to remove them.
+ // We do, however, allow the user to override this behavior and retain them.
+ removeAutoInc := false
+ if mz.workflowType == binlogdatapb.VReplicationWorkflowType_MoveTables &&
+ (mz.targetVSchema != nil && mz.targetVSchema.Keyspace != nil && mz.targetVSchema.Keyspace.Sharded) &&
+ (mz.ms != nil && mz.ms.GetWorkflowOptions().GetStripShardedAutoIncrement()) {
+ removeAutoInc = true
+ }
+
return forAllShards(mz.targetShards, func(target *topo.ShardInfo) error {
allTables := []string{"/.*/"}
@@ -301,7 +315,8 @@ func (mz *materializer) deploySchema() error {
}
createDDL := ts.CreateDdl
- if createDDL == createDDLAsCopy || createDDL == createDDLAsCopyDropConstraint || createDDL == createDDLAsCopyDropForeignKeys {
+ // Make any necessary adjustments to the create DDL.
+ if removeAutoInc || createDDL == createDDLAsCopy || createDDL == createDDLAsCopyDropConstraint || createDDL == createDDLAsCopyDropForeignKeys {
if ts.SourceExpression != "" {
// Check for table if non-empty SourceExpression.
sourceTableName, err := mz.env.Parser().TableFromStatement(ts.SourceExpression)
@@ -336,6 +351,14 @@ func (mz *materializer) deploySchema() error {
ddl = strippedDDL
}
+
+ if removeAutoInc {
+ ddl, err = stripAutoIncrement(ddl, mz.env.Parser())
+ if err != nil {
+ return err
+ }
+ }
+
createDDL = ddl
}
diff --git a/go/vt/vtctl/workflow/materializer_test.go b/go/vt/vtctl/workflow/materializer_test.go
index 0041c2fa515..9a43ea5ed7e 100644
--- a/go/vt/vtctl/workflow/materializer_test.go
+++ b/go/vt/vtctl/workflow/materializer_test.go
@@ -195,6 +195,94 @@ func TestStripConstraints(t *testing.T) {
}
}
+func TestStripAutoIncrement(t *testing.T) {
+ parser := sqlparser.NewTestParser()
+
+ tcs := []struct {
+ desc string
+ ddl string
+ want string
+ expectErr bool
+ }{
+ {
+ desc: "invalid DDL",
+ ddl: "CREATE TABLE `table1` (\n" +
+ "`id` massiveint NOT NULL,\n" +
+ "PRIMARY KEY (`id`)\n" +
+ ") ENGINE=InnoDB DEFAULT CHARSET=latin1;",
+ expectErr: true,
+ },
+ {
+ desc: "has auto increment",
+ ddl: "CREATE TABLE `table1` (\n" +
+ "`id` int NOT NULL AUTO_INCREMENT,\n" +
+ "`c1` varchar(128),\n" +
+ "PRIMARY KEY (`id`)\n" +
+ ") ENGINE=InnoDB DEFAULT CHARSET=latin1;",
+ want: "create table table1 (\n" +
+ "\tid int not null,\n" +
+ "\tc1 varchar(128),\n" +
+ "\tprimary key (id)\n" +
+ ") ENGINE InnoDB,\n" +
+ " CHARSET latin1",
+ },
+ {
+ desc: "has no auto increment",
+ ddl: "CREATE TABLE `table1` (\n" +
+ "`id` int NOT NULL,\n" +
+ "`c1` varchar(128),\n" +
+ "PRIMARY KEY (`id`)\n" +
+ ") ENGINE=InnoDB DEFAULT CHARSET=latin1;",
+ want: "create table table1 (\n" +
+ "\tid int not null,\n" +
+ "\tc1 varchar(128),\n" +
+ "\tprimary key (id)\n" +
+ ") ENGINE InnoDB,\n" +
+ " CHARSET latin1",
+ },
+ {
+ desc: "has auto increment with secondary key",
+ ddl: "CREATE TABLE `table1` (\n" +
+ "`id` int NOT NULL auto_increment,\n" +
+ "`c1` varchar(128),\n" +
+ "`c2` varchar(128),\n" +
+ "UNIQUE KEY `c1` (`c1`),\n" +
+ "PRIMARY KEY (`id`)\n" +
+ ") ENGINE=InnoDB DEFAULT CHARSET=latin1;",
+ want: "create table table1 (\n" +
+ "\tid int not null,\n" +
+ "\tc1 varchar(128),\n" +
+ "\tc2 varchar(128),\n" +
+ "\tunique key c1 (c1),\n" +
+ "\tprimary key (id)\n" +
+ ") ENGINE InnoDB,\n" +
+ " CHARSET latin1",
+ },
+ {
+ desc: "has auto increment with multi-col PK",
+ ddl: "CREATE TABLE `table1` (\n" +
+ "`id` int NOT NULL auto_increment,\n" +
+ "`c1` varchar(128) NOT NULL,\n" +
+ "`c2` varchar(128),\n" +
+ "PRIMARY KEY (`id`, `c2`)\n" +
+ ") ENGINE=InnoDB DEFAULT CHARSET=latin1;",
+ want: "create table table1 (\n" +
+ "\tid int not null,\n" +
+ "\tc1 varchar(128) not null,\n" +
+ "\tc2 varchar(128),\n" +
+ "\tprimary key (id, c2)\n" +
+ ") ENGINE InnoDB,\n" +
+ " CHARSET latin1",
+ },
+ }
+
+ for _, tc := range tcs {
+ strippedDDL, err := stripAutoIncrement(tc.ddl, parser)
+ require.Equal(t, tc.expectErr, (err != nil), "unexpected error result", "expected error %t, got: %v", tc.expectErr, err)
+ require.Equal(t, tc.want, strippedDDL, fmt.Sprintf("stripped DDL %q does not match our expected result: %q", strippedDDL, tc.want))
+ }
+}
+
func TestAddTablesToVSchema(t *testing.T) {
ctx, cancel := context.WithCancel(context.Background())
defer cancel()
diff --git a/go/vt/vtctl/workflow/server.go b/go/vt/vtctl/workflow/server.go
index 53ca966d026..4197269feb6 100644
--- a/go/vt/vtctl/workflow/server.go
+++ b/go/vt/vtctl/workflow/server.go
@@ -1792,6 +1792,16 @@ func (s *Server) VDiffCreate(ctx context.Context, req *vtctldatapb.VDiffCreateRe
req.TargetKeyspace, req.Workflow)
}
+ workflowStatus, err := s.getWorkflowStatus(ctx, req.TargetKeyspace, req.Workflow)
+ if err != nil {
+ return nil, err
+ }
+ if workflowStatus != binlogdatapb.VReplicationWorkflowState_Running {
+ log.Infof("Workflow %s.%s is not running, cannot start VDiff in state %s", req.TargetKeyspace, req.Workflow, workflowStatus)
+ return nil, vterrors.Errorf(vtrpcpb.Code_FAILED_PRECONDITION,
+ "not all streams are running in workflow %s.%s", req.TargetKeyspace, req.Workflow)
+ }
+
err = ts.ForAllTargets(func(target *MigrationTarget) error {
_, err := s.tmc.VDiff(ctx, target.GetPrimary().Tablet, tabletreq)
return err
@@ -3949,3 +3959,27 @@ func (s *Server) MigrateCreate(ctx context.Context, req *vtctldatapb.MigrateCrea
}
return s.moveTablesCreate(ctx, moveTablesCreateRequest, binlogdatapb.VReplicationWorkflowType_Migrate)
}
+
+// getWorkflowStatus gets the overall status of the workflow by checking the status of all the streams. If all streams are not
+// in the same state, it returns the unknown state.
+func (s *Server) getWorkflowStatus(ctx context.Context, keyspace string, workflow string) (binlogdatapb.VReplicationWorkflowState, error) {
+ workflowStatus := binlogdatapb.VReplicationWorkflowState_Unknown
+ wf, err := s.GetWorkflow(ctx, keyspace, workflow, false, nil)
+ if err != nil {
+ return workflowStatus, err
+ }
+ for _, shardStream := range wf.GetShardStreams() {
+ for _, stream := range shardStream.GetStreams() {
+ state, ok := binlogdatapb.VReplicationWorkflowState_value[stream.State]
+ if !ok {
+ return workflowStatus, fmt.Errorf("invalid state for stream %s of workflow %s.%s", stream.State, keyspace, workflow)
+ }
+ currentStatus := binlogdatapb.VReplicationWorkflowState(state)
+ if workflowStatus != binlogdatapb.VReplicationWorkflowState_Unknown && currentStatus != workflowStatus {
+ return binlogdatapb.VReplicationWorkflowState_Unknown, nil
+ }
+ workflowStatus = currentStatus
+ }
+ }
+ return workflowStatus, nil
+}
diff --git a/go/vt/vtctl/workflow/utils.go b/go/vt/vtctl/workflow/utils.go
index 609a3d59f9f..b88552eaa5a 100644
--- a/go/vt/vtctl/workflow/utils.go
+++ b/go/vt/vtctl/workflow/utils.go
@@ -217,6 +217,25 @@ func stripTableForeignKeys(ddl string, parser *sqlparser.Parser) (string, error)
return newDDL, nil
}
+func stripAutoIncrement(ddl string, parser *sqlparser.Parser) (string, error) {
+ newDDL, err := parser.ParseStrictDDL(ddl)
+ if err != nil {
+ return "", err
+ }
+
+ _ = sqlparser.Walk(func(node sqlparser.SQLNode) (kontinue bool, err error) {
+ switch node := node.(type) {
+ case *sqlparser.ColumnDefinition:
+ if node.Type.Options.Autoincrement {
+ node.Type.Options.Autoincrement = false
+ }
+ }
+ return true, nil
+ }, newDDL)
+
+ return sqlparser.String(newDDL), nil
+}
+
func getSourceTableDDLs(ctx context.Context, ts *topo.Server, tmc tmclient.TabletManagerClient, shards []*topo.ShardInfo) (map[string]string, error) {
sourceDDLs := make(map[string]string)
allTables := []string{"/.*/"}
diff --git a/go/vt/vtgate/executor_test.go b/go/vt/vtgate/executor_test.go
index cc4092c7a00..0154da92657 100644
--- a/go/vt/vtgate/executor_test.go
+++ b/go/vt/vtgate/executor_test.go
@@ -588,14 +588,14 @@ func TestExecutorShow(t *testing.T) {
_, err = executor.Execute(ctx, nil, "TestExecute", session, fmt.Sprintf("show create table %v.unknown", KsTestUnsharded), nil)
require.NoError(t, err)
lastQuery = sbclookup.Queries[len(sbclookup.Queries)-1].Sql
- wantQuery = "show create table unknown"
+ wantQuery = "show create table `unknown`"
assert.Equal(t, wantQuery, lastQuery, "Got: %v. Want: %v", lastQuery, wantQuery)
// SHOW KEYS with two different syntax
_, err = executor.Execute(ctx, nil, "TestExecute", session, fmt.Sprintf("show keys from %v.unknown", KsTestUnsharded), nil)
require.NoError(t, err)
lastQuery = sbclookup.Queries[len(sbclookup.Queries)-1].Sql
- wantQuery = "show indexes from unknown"
+ wantQuery = "show indexes from `unknown`"
assert.Equal(t, wantQuery, lastQuery, "Got: %v. Want: %v", lastQuery, wantQuery)
_, err = executor.Execute(ctx, nil, "TestExecute", session, fmt.Sprintf("show keys from unknown from %v", KsTestUnsharded), nil)
diff --git a/go/vt/vtgate/planbuilder/operators/SQL_builder.go b/go/vt/vtgate/planbuilder/operators/SQL_builder.go
index 5fc8f36c646..062f5b7303d 100644
--- a/go/vt/vtgate/planbuilder/operators/SQL_builder.go
+++ b/go/vt/vtgate/planbuilder/operators/SQL_builder.go
@@ -603,6 +603,7 @@ func buildDerivedSelect(op *Horizon, qb *queryBuilder, sel *sqlparser.Select) {
sel.GroupBy = opQuery.GroupBy
sel.Having = mergeHaving(sel.Having, opQuery.Having)
sel.SelectExprs = opQuery.SelectExprs
+ sel.Distinct = opQuery.Distinct
qb.addTableExpr(op.Alias, op.Alias, TableID(op), &sqlparser.DerivedTable{
Select: sel,
}, nil, op.ColumnAliases)
diff --git a/go/vt/vtgate/planbuilder/testdata/ddl_cases.json b/go/vt/vtgate/planbuilder/testdata/ddl_cases.json
index 307a1ac64be..1ae7578854b 100644
--- a/go/vt/vtgate/planbuilder/testdata/ddl_cases.json
+++ b/go/vt/vtgate/planbuilder/testdata/ddl_cases.json
@@ -241,7 +241,7 @@
"Name": "main",
"Sharded": false
},
- "Query": "alter table unknown add key a (id)"
+ "Query": "alter table `unknown` add key a (id)"
},
"TablesUsed": [
"main.unknown"
diff --git a/go/vt/vtgate/planbuilder/testdata/from_cases.json b/go/vt/vtgate/planbuilder/testdata/from_cases.json
index 491d2d526a8..aa0f1699db1 100644
--- a/go/vt/vtgate/planbuilder/testdata/from_cases.json
+++ b/go/vt/vtgate/planbuilder/testdata/from_cases.json
@@ -409,6 +409,28 @@
]
}
},
+ {
+ "comment": "DISTINCT inside derived table",
+ "query": "select * from (select distinct name from user) as t",
+ "plan": {
+ "QueryType": "SELECT",
+ "Original": "select * from (select distinct name from user) as t",
+ "Instructions": {
+ "OperatorType": "Route",
+ "Variant": "Scatter",
+ "Keyspace": {
+ "Name": "user",
+ "Sharded": true
+ },
+ "FieldQuery": "select `name` from (select `name` from `user` where 1 != 1) as t where 1 != 1",
+ "Query": "select `name` from (select distinct `name` from `user`) as t",
+ "Table": "`user`"
+ },
+ "TablesUsed": [
+ "user.user"
+ ]
+ }
+ },
{
"comment": "',' join unsharded",
"query": "select u1.a, u2.a from unsharded u1, unsharded u2",
diff --git a/go/vt/vtgate/planbuilder/testdata/show_cases.json b/go/vt/vtgate/planbuilder/testdata/show_cases.json
index e7a810bb42f..45ad277677c 100644
--- a/go/vt/vtgate/planbuilder/testdata/show_cases.json
+++ b/go/vt/vtgate/planbuilder/testdata/show_cases.json
@@ -407,7 +407,7 @@
"Sharded": false
},
"TargetDestination": "AnyShard()",
- "Query": "show create table unknown",
+ "Query": "show create table `unknown`",
"SingleShardOnly": true
}
}
diff --git a/go/vt/vttablet/onlineddl/executor.go b/go/vt/vttablet/onlineddl/executor.go
index 57033f43b30..308df78fd51 100644
--- a/go/vt/vttablet/onlineddl/executor.go
+++ b/go/vt/vttablet/onlineddl/executor.go
@@ -89,8 +89,8 @@ var acceptableDropTableIfExistsErrorCodes = []sqlerror.ErrorCode{sqlerror.ERCant
var copyAlgorithm = sqlparser.AlgorithmValue(sqlparser.CopyStr)
var (
- ghostOverridePath string
- ptOSCOverridePath string
+ ghostBinaryPath = "gh-ost"
+ ptOSCBinaryPath = "/usr/bin/pt-online-schema-change"
migrationCheckInterval = 1 * time.Minute
retainOnlineDDLTables = 24 * time.Hour
defaultCutOverThreshold = 10 * time.Second
@@ -107,8 +107,8 @@ func init() {
}
func registerOnlineDDLFlags(fs *pflag.FlagSet) {
- fs.StringVar(&ghostOverridePath, "gh-ost-path", ghostOverridePath, "override default gh-ost binary full path")
- fs.StringVar(&ptOSCOverridePath, "pt-osc-path", ptOSCOverridePath, "override default pt-online-schema-change binary full path")
+ fs.StringVar(&ghostBinaryPath, "gh-ost-path", ghostBinaryPath, "override default gh-ost binary full path")
+ fs.StringVar(&ptOSCBinaryPath, "pt-osc-path", ptOSCBinaryPath, "override default pt-online-schema-change binary full path")
fs.DurationVar(&migrationCheckInterval, "migration_check_interval", migrationCheckInterval, "Interval between migration checks")
fs.DurationVar(&retainOnlineDDLTables, "retain_online_ddl_tables", retainOnlineDDLTables, "How long should vttablet keep an old migrated table before purging it")
fs.IntVar(&maxConcurrentOnlineDDLs, "max_concurrent_online_ddl", maxConcurrentOnlineDDLs, "Maximum number of online DDL changes that may run concurrently")
@@ -218,23 +218,6 @@ func newCancellableMigration(uuid string, message string) *cancellableMigration
return &cancellableMigration{uuid: uuid, message: message}
}
-// GhostBinaryFileName returns the full path+name of the gh-ost binary
-func GhostBinaryFileName() (fileName string, isOverride bool) {
- if ghostOverridePath != "" {
- return ghostOverridePath, true
- }
- return path.Join(os.TempDir(), "vt-gh-ost"), false
-}
-
-// PTOSCFileName returns the full path+name of the pt-online-schema-change binary
-// Note that vttablet does not include pt-online-schema-change
-func PTOSCFileName() (fileName string, isOverride bool) {
- if ptOSCOverridePath != "" {
- return ptOSCOverridePath, true
- }
- return "/usr/bin/pt-online-schema-change", false
-}
-
// newGCTableRetainTime returns the time until which a new GC table is to be retained
func newGCTableRetainTime() time.Time {
return time.Now().UTC().Add(retainOnlineDDLTables)
@@ -1698,7 +1681,6 @@ func (e *Executor) ExecuteWithGhost(ctx context.Context, onlineDDL *schema.Onlin
log.Errorf("Error creating temporary directory: %+v", err)
return err
}
- binaryFileName, _ := GhostBinaryFileName()
credentialsConfigFileContent := fmt.Sprintf(`[client]
user=%s
password=${ONLINE_DDL_PASSWORD}
@@ -1720,7 +1702,7 @@ export ONLINE_DDL_PASSWORD
exit_code=$?
grep -o '\bFATAL\b.*' "$ghost_log_path/$ghost_log_file" | tail -1 > "$ghost_log_path/$ghost_log_failure_file"
exit $exit_code
- `, tempDir, migrationLogFileName, migrationFailureFileName, binaryFileName,
+ `, tempDir, migrationLogFileName, migrationFailureFileName, ghostBinaryPath,
)
wrapperScriptFileName, err := createTempScript(tempDir, "gh-ost-wrapper.sh", wrapperScriptContent)
if err != nil {
@@ -1913,7 +1895,6 @@ func (e *Executor) ExecuteWithPTOSC(ctx context.Context, onlineDDL *schema.Onlin
return err
}
- binaryFileName, _ := PTOSCFileName()
wrapperScriptContent := fmt.Sprintf(`#!/bin/bash
pt_log_path="%s"
pt_log_file="%s"
@@ -1922,7 +1903,7 @@ mkdir -p "$pt_log_path"
export MYSQL_PWD
%s "$@" > "$pt_log_path/$pt_log_file" 2>&1
- `, tempDir, migrationLogFileName, binaryFileName,
+ `, tempDir, migrationLogFileName, ptOSCBinaryPath,
)
wrapperScriptFileName, err := createTempScript(tempDir, "pt-online-schema-change-wrapper.sh", wrapperScriptContent)
if err != nil {
diff --git a/go/vt/vttablet/tabletmanager/restore.go b/go/vt/vttablet/tabletmanager/restore.go
index 6b37edb5244..3e4b4a89555 100644
--- a/go/vt/vttablet/tabletmanager/restore.go
+++ b/go/vt/vttablet/tabletmanager/restore.go
@@ -237,7 +237,7 @@ func (tm *TabletManager) restoreDataLocked(ctx context.Context, logger logutil.L
return vterrors.Errorf(vtrpcpb.Code_INVALID_ARGUMENT, "--restore-to-pos and --restore-to-timestamp are mutually exclusive")
}
if request.RestoreToPos != "" {
- pos, err := replication.DecodePosition(request.RestoreToPos)
+ pos, _, err := replication.DecodePositionMySQL56(request.RestoreToPos)
if err != nil {
return vterrors.Wrapf(err, "restore failed: unable to decode --restore-to-pos: %s", request.RestoreToPos)
}
diff --git a/go/vt/vttablet/tabletmanager/vdiff/workflow_differ.go b/go/vt/vttablet/tabletmanager/vdiff/workflow_differ.go
index 97d2bd387cb..56b8d663a3c 100644
--- a/go/vt/vttablet/tabletmanager/vdiff/workflow_differ.go
+++ b/go/vt/vttablet/tabletmanager/vdiff/workflow_differ.go
@@ -24,6 +24,8 @@ import (
"strings"
"time"
+ "vitess.io/vitess/go/vt/schema"
+
"google.golang.org/protobuf/encoding/prototext"
"vitess.io/vitess/go/mysql/collations"
@@ -31,7 +33,6 @@ import (
"vitess.io/vitess/go/vt/binlog/binlogplayer"
"vitess.io/vitess/go/vt/key"
"vitess.io/vitess/go/vt/log"
- "vitess.io/vitess/go/vt/schema"
"vitess.io/vitess/go/vt/sqlparser"
"vitess.io/vitess/go/vt/vtctl/schematools"
"vitess.io/vitess/go/vt/vterrors"
@@ -343,7 +344,7 @@ func (wd *workflowDiffer) buildPlan(dbClient binlogplayer.DBClient, filter *binl
if len(specifiedTables) != 0 && !stringListContains(specifiedTables, table.Name) {
continue
}
- if schema.IsInternalOperationTableName(table.Name) {
+ if schema.IsInternalOperationTableName(table.Name) && !schema.IsOnlineDDLTableName(table.Name) {
continue
}
rule, err := vreplication.MatchTable(table.Name, filter)
diff --git a/go/vt/vttablet/tabletmanager/vreplication/vreplicator_test.go b/go/vt/vttablet/tabletmanager/vreplication/vreplicator_test.go
index 355df8fdd66..e4f55cc2384 100644
--- a/go/vt/vttablet/tabletmanager/vreplication/vreplicator_test.go
+++ b/go/vt/vttablet/tabletmanager/vreplication/vreplicator_test.go
@@ -187,10 +187,7 @@ func TestPrimaryKeyEquivalentColumns(t *testing.T) {
require.NoError(t, err, "could not connect to mysqld: %v", err)
defer conn.Close()
cols, indexName, err := mysqlctl.GetPrimaryKeyEquivalentColumns(ctx, conn.ExecuteFetch, env.Dbcfgs.DBName, tt.table)
- if (err != nil) != tt.wantErr {
- t.Errorf("Mysqld.GetPrimaryKeyEquivalentColumns() error = %v, wantErr %v", err, tt.wantErr)
- return
- }
+ assert.NoError(t, err)
require.Equalf(t, cols, tt.wantCols, "Mysqld.GetPrimaryKeyEquivalentColumns() columns = %v, want %v", cols, tt.wantCols)
require.Equalf(t, indexName, tt.wantIndex, "Mysqld.GetPrimaryKeyEquivalentColumns() index = %v, want %v", indexName, tt.wantIndex)
})
diff --git a/go/vt/vttablet/tabletserver/vstreamer/snapshot_conn.go b/go/vt/vttablet/tabletserver/vstreamer/snapshot_conn.go
index 1510dbb53ef..bf49ca46618 100644
--- a/go/vt/vttablet/tabletserver/vstreamer/snapshot_conn.go
+++ b/go/vt/vttablet/tabletserver/vstreamer/snapshot_conn.go
@@ -136,7 +136,7 @@ func (conn *snapshotConn) startSnapshot(ctx context.Context, table string) (gtid
if _, err := conn.ExecuteFetch("set transaction isolation level repeatable read", 1, false); err != nil {
return "", err
}
- if _, err := conn.ExecuteFetch("start transaction with consistent snapshot", 1, false); err != nil {
+ if _, err := conn.ExecuteFetch("start transaction with consistent snapshot, read only", 1, false); err != nil {
return "", err
}
if _, err := conn.ExecuteFetch("set @@session.time_zone = '+00:00'", 1, false); err != nil {
@@ -152,7 +152,7 @@ func (conn *snapshotConn) startSnapshotWithConsistentGTID(ctx context.Context) (
if _, err := conn.ExecuteFetch("set transaction isolation level repeatable read", 1, false); err != nil {
return "", err
}
- result, err := conn.ExecuteFetch("start transaction with consistent snapshot", 1, false)
+ result, err := conn.ExecuteFetch("start transaction with consistent snapshot, read only", 1, false)
if err != nil {
return "", err
}
@@ -290,7 +290,7 @@ func (conn *snapshotConn) startSnapshotAllTables(ctx context.Context) (gtid stri
if _, err := conn.ExecuteFetch("set transaction isolation level repeatable read", 1, false); err != nil {
return "", err
}
- if _, err := conn.ExecuteFetch("start transaction with consistent snapshot", 1, false); err != nil {
+ if _, err := conn.ExecuteFetch("start transaction with consistent snapshot, read only", 1, false); err != nil {
return "", err
}
if _, err := conn.ExecuteFetch("set @@session.time_zone = '+00:00'", 1, false); err != nil {
diff --git a/go/vt/vttablet/tabletserver/vstreamer/snapshot_conn_test.go b/go/vt/vttablet/tabletserver/vstreamer/snapshot_conn_test.go
index eca56797db5..cc0899bc14b 100644
--- a/go/vt/vttablet/tabletserver/vstreamer/snapshot_conn_test.go
+++ b/go/vt/vttablet/tabletserver/vstreamer/snapshot_conn_test.go
@@ -53,7 +53,7 @@ func TestStartSnapshot(t *testing.T) {
Rows: [][]sqltypes.Value{
{sqltypes.NewInt32(1), sqltypes.NewVarBinary("aaa")},
},
- StatusFlags: sqltypes.ServerStatusNoIndexUsed | sqltypes.ServerStatusAutocommit | sqltypes.ServerStatusInTrans,
+ StatusFlags: sqltypes.ServerStatusInTransReadonly | sqltypes.ServerStatusNoIndexUsed | sqltypes.ServerStatusAutocommit | sqltypes.ServerStatusInTrans,
}
qr, err := conn.ExecuteFetch("select * from t1", 10, false)
require.NoError(t, err)
diff --git a/go/vt/vttest/local_cluster.go b/go/vt/vttest/local_cluster.go
index da19d1c6fb8..3c65f7de1eb 100644
--- a/go/vt/vttest/local_cluster.go
+++ b/go/vt/vttest/local_cluster.go
@@ -156,6 +156,9 @@ type Config struct {
ExternalTopoGlobalRoot string
VtgateTabletRefreshInterval time.Duration
+
+ // Set the planner to fail on scatter queries
+ NoScatter bool
}
// InitSchemas is a shortcut for tests that just want to setup a single
diff --git a/go/vt/vttest/vtprocess.go b/go/vt/vttest/vtprocess.go
index 808a9510cbe..2d2c9116c6d 100644
--- a/go/vt/vttest/vtprocess.go
+++ b/go/vt/vttest/vtprocess.go
@@ -235,6 +235,7 @@ func VtcomboProcess(environment Environment, args *Config, mysql MySQLManager) (
fmt.Sprintf("--enable_online_ddl=%t", args.EnableOnlineDDL),
fmt.Sprintf("--enable_direct_ddl=%t", args.EnableDirectDDL),
fmt.Sprintf("--enable_system_settings=%t", args.EnableSystemSettings),
+ fmt.Sprintf("--no_scatter=%t", args.NoScatter),
}...)
// If topo tablet refresh interval is not defined then we will give it value of 10s. Please note
diff --git a/proto/vtctldata.proto b/proto/vtctldata.proto
index 3feb1d45dfd..7b98b7db996 100644
--- a/proto/vtctldata.proto
+++ b/proto/vtctldata.proto
@@ -209,6 +209,9 @@ message Shard {
message WorkflowOptions {
string tenant_id = 1;
string source_keyspace_alias = 2;
+ // Remove auto_increment clauses on tables when moving them to a sharded
+ // keyspace.
+ bool strip_sharded_auto_increment = 3;
}
// TODO: comment the hell out of this.
diff --git a/resources/bin/gh-ost b/resources/bin/gh-ost
deleted file mode 100644
index 24d63c753fc..00000000000
Binary files a/resources/bin/gh-ost and /dev/null differ
diff --git a/resources/embed.go b/resources/embed.go
deleted file mode 100644
index 5b9ed344664..00000000000
--- a/resources/embed.go
+++ /dev/null
@@ -1,6 +0,0 @@
-package resources
-
-import _ "embed"
-
-//go:embed bin/gh-ost
-var GhostBinary []byte
diff --git a/test/ci_workflow_gen.go b/test/ci_workflow_gen.go
index fd890df6c32..7e2bb338ed2 100644
--- a/test/ci_workflow_gen.go
+++ b/test/ci_workflow_gen.go
@@ -81,7 +81,6 @@ var (
"22",
"mysql_server_vault",
"vstream",
- "onlineddl_ghost",
"onlineddl_vrepl",
"onlineddl_vrepl_stress",
"onlineddl_vrepl_stress_suite",
diff --git a/test/config.json b/test/config.json
index 26efdee1f36..9cce5851225 100644
--- a/test/config.json
+++ b/test/config.json
@@ -259,15 +259,6 @@
"site_test"
]
},
- "onlineddl_ghost": {
- "File": "unused.go",
- "Args": ["vitess.io/vitess/go/test/endtoend/onlineddl/ghost", "-timeout", "30m"],
- "Command": [],
- "Manual": false,
- "Shard": "onlineddl_ghost",
- "RetryMax": 2,
- "Tags": []
- },
"onlineddl_vrepl": {
"File": "unused.go",
"Args": ["vitess.io/vitess/go/test/endtoend/onlineddl/vrepl", "-timeout", "30m"],
@@ -1076,6 +1067,15 @@
"RetryMax": 0,
"Tags": []
},
+ "vreplication_onlineddl_vdiff": {
+ "File": "unused.go",
+ "Args": ["vitess.io/vitess/go/test/endtoend/vreplication", "-run", "TestOnlineDDLVDiff"],
+ "Command": [],
+ "Manual": false,
+ "Shard": "vreplication_cellalias",
+ "RetryMax": 2,
+ "Tags": []
+ },
"vreplication_vschema_load": {
"File": "unused.go",
"Args": ["vitess.io/vitess/go/test/endtoend/vreplication", "-run", "TestVSchemaChangesUnderLoad"],
diff --git a/tools/unit_test_race.sh b/tools/unit_test_race.sh
index 4cec1f365a9..b1c59e9ea2e 100755
--- a/tools/unit_test_race.sh
+++ b/tools/unit_test_race.sh
@@ -36,7 +36,7 @@ all_except_flaky_tests=$(echo "$packages_with_tests" | grep -vE ".+ .+_flaky_tes
flaky_tests=$(echo "$packages_with_tests" | grep -E ".+ .+_flaky_test\.go" | cut -d" " -f1)
# Run non-flaky tests.
-echo "$all_except_flaky_tests" | xargs go test $VT_GO_PARALLEL -race -count=1
+echo "$all_except_flaky_tests" | xargs go test $VT_GO_PARALLEL -v -race -count=1
if [ $? -ne 0 ]; then
echo "ERROR: Go unit tests failed. See above for errors."
echo
@@ -52,7 +52,7 @@ for pkg in $flaky_tests; do
max_attempts=3
attempt=1
# Set a timeout because some tests may deadlock when they flake.
- until go test -timeout 2m $VT_GO_PARALLEL $pkg -race -count=1; do
+ until go test -timeout 2m $VT_GO_PARALLEL $pkg -v -race -count=1; do
echo "FAILED (try $attempt/$max_attempts) in $pkg (return code $?). See above for errors."
if [ $((++attempt)) -gt $max_attempts ]; then
echo "ERROR: Flaky Go unit tests in package $pkg failed too often (after $max_attempts retries). Please reduce the flakiness."
diff --git a/web/vtadmin/src/proto/vtadmin.d.ts b/web/vtadmin/src/proto/vtadmin.d.ts
index a2e53ae52a3..1dac3e4cac5 100644
--- a/web/vtadmin/src/proto/vtadmin.d.ts
+++ b/web/vtadmin/src/proto/vtadmin.d.ts
@@ -45388,6 +45388,9 @@ export namespace vtctldata {
/** WorkflowOptions source_keyspace_alias */
source_keyspace_alias?: (string|null);
+
+ /** WorkflowOptions strip_sharded_auto_increment */
+ strip_sharded_auto_increment?: (boolean|null);
}
/** Represents a WorkflowOptions. */
@@ -45405,6 +45408,9 @@ export namespace vtctldata {
/** WorkflowOptions source_keyspace_alias. */
public source_keyspace_alias: string;
+ /** WorkflowOptions strip_sharded_auto_increment. */
+ public strip_sharded_auto_increment: boolean;
+
/**
* Creates a new WorkflowOptions instance using the specified properties.
* @param [properties] Properties to set
diff --git a/web/vtadmin/src/proto/vtadmin.js b/web/vtadmin/src/proto/vtadmin.js
index 6193252fda7..35e7ffc5eae 100644
--- a/web/vtadmin/src/proto/vtadmin.js
+++ b/web/vtadmin/src/proto/vtadmin.js
@@ -111496,6 +111496,7 @@ export const vtctldata = $root.vtctldata = (() => {
* @interface IWorkflowOptions
* @property {string|null} [tenant_id] WorkflowOptions tenant_id
* @property {string|null} [source_keyspace_alias] WorkflowOptions source_keyspace_alias
+ * @property {boolean|null} [strip_sharded_auto_increment] WorkflowOptions strip_sharded_auto_increment
*/
/**
@@ -111529,6 +111530,14 @@ export const vtctldata = $root.vtctldata = (() => {
*/
WorkflowOptions.prototype.source_keyspace_alias = "";
+ /**
+ * WorkflowOptions strip_sharded_auto_increment.
+ * @member {boolean} strip_sharded_auto_increment
+ * @memberof vtctldata.WorkflowOptions
+ * @instance
+ */
+ WorkflowOptions.prototype.strip_sharded_auto_increment = false;
+
/**
* Creates a new WorkflowOptions instance using the specified properties.
* @function create
@@ -111557,6 +111566,8 @@ export const vtctldata = $root.vtctldata = (() => {
writer.uint32(/* id 1, wireType 2 =*/10).string(message.tenant_id);
if (message.source_keyspace_alias != null && Object.hasOwnProperty.call(message, "source_keyspace_alias"))
writer.uint32(/* id 2, wireType 2 =*/18).string(message.source_keyspace_alias);
+ if (message.strip_sharded_auto_increment != null && Object.hasOwnProperty.call(message, "strip_sharded_auto_increment"))
+ writer.uint32(/* id 3, wireType 0 =*/24).bool(message.strip_sharded_auto_increment);
return writer;
};
@@ -111599,6 +111610,10 @@ export const vtctldata = $root.vtctldata = (() => {
message.source_keyspace_alias = reader.string();
break;
}
+ case 3: {
+ message.strip_sharded_auto_increment = reader.bool();
+ break;
+ }
default:
reader.skipType(tag & 7);
break;
@@ -111640,6 +111655,9 @@ export const vtctldata = $root.vtctldata = (() => {
if (message.source_keyspace_alias != null && message.hasOwnProperty("source_keyspace_alias"))
if (!$util.isString(message.source_keyspace_alias))
return "source_keyspace_alias: string expected";
+ if (message.strip_sharded_auto_increment != null && message.hasOwnProperty("strip_sharded_auto_increment"))
+ if (typeof message.strip_sharded_auto_increment !== "boolean")
+ return "strip_sharded_auto_increment: boolean expected";
return null;
};
@@ -111659,6 +111677,8 @@ export const vtctldata = $root.vtctldata = (() => {
message.tenant_id = String(object.tenant_id);
if (object.source_keyspace_alias != null)
message.source_keyspace_alias = String(object.source_keyspace_alias);
+ if (object.strip_sharded_auto_increment != null)
+ message.strip_sharded_auto_increment = Boolean(object.strip_sharded_auto_increment);
return message;
};
@@ -111678,11 +111698,14 @@ export const vtctldata = $root.vtctldata = (() => {
if (options.defaults) {
object.tenant_id = "";
object.source_keyspace_alias = "";
+ object.strip_sharded_auto_increment = false;
}
if (message.tenant_id != null && message.hasOwnProperty("tenant_id"))
object.tenant_id = message.tenant_id;
if (message.source_keyspace_alias != null && message.hasOwnProperty("source_keyspace_alias"))
object.source_keyspace_alias = message.source_keyspace_alias;
+ if (message.strip_sharded_auto_increment != null && message.hasOwnProperty("strip_sharded_auto_increment"))
+ object.strip_sharded_auto_increment = message.strip_sharded_auto_increment;
return object;
};